2026-01-27 18:09:54 [scrapy.utils.log] (PID: 133) INFO: Scrapy 2.12.0 started (bot: catalog_extraction) 2026-01-27 18:09:54 [scrapy.utils.log] (PID: 133) INFO: Versions: lxml 5.3.1.0, libxml2 2.12.9, cssselect 1.3.0, parsel 1.10.0, w3lib 2.3.1, Twisted 24.11.0, Python 3.11.13 (main, Jun 10 2025, 23:54:42) [GCC 12.2.0], pyOpenSSL 25.0.0 (OpenSSL 3.4.1 11 Feb 2025), cryptography 44.0.2, Platform Linux-6.9.12-x86_64-with-glibc2.36 2026-01-27 18:09:54 [global_industrial] (PID: 133) INFO: Starting extraction spider global_industrial... 2026-01-27 18:09:54 [scrapy.addons] (PID: 133) INFO: Enabled addons: [] 2026-01-27 18:09:54 [py.warnings] (PID: 133) WARNING: /usr/local/lib/python3.11/site-packages/scrapy/utils/request.py:120: ScrapyDeprecationWarning: 'REQUEST_FINGERPRINTER_IMPLEMENTATION' is a deprecated setting. It will be removed in a future version of Scrapy. return cls(crawler) 2026-01-27 18:09:54 [scrapy.extensions.telnet] (PID: 133) INFO: Telnet Password: 933eb138b000610a 2026-01-27 18:09:54 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 18:09:55 [scrapy.middleware] (PID: 133) INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.memusage.MemoryUsage', 'scrapy.extensions.closespider.CloseSpider', 'scrapy.extensions.feedexport.FeedExporter', 'scrapy.extensions.logstats.LogStats', 'spidermon.contrib.scrapy.extensions.Spidermon'] 2026-01-27 18:09:55 [scrapy.crawler] (PID: 133) INFO: Overridden settings: {'BOT_NAME': 'catalog_extraction', 'CONCURRENT_ITEMS': 250, 'DOWNLOAD_DELAY': 0.5, 'FEED_EXPORT_ENCODING': 'utf-8', 'LOG_FILE': '/var/lib/scrapyd/logs/catalog_extraction/global_industrial/5f198464fbab11f0a5d64200a9fe0102.log', 'LOG_FORMAT': '%(asctime)s [%(name)s] (PID: %(process)d) %(levelname)s: ' '%(message)s', 'LOG_LEVEL': 'INFO', 'NEWSPIDER_MODULE': 'catalog_extraction.spiders', 'REQUEST_FINGERPRINTER_CLASS': 'scrapy_poet.ScrapyPoetRequestFingerprinter', 'REQUEST_FINGERPRINTER_IMPLEMENTATION': '2.7', 'SPIDER_MODULES': ['catalog_extraction.spiders'], 'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor', 'USER_AGENT': None} 2026-01-27 18:09:55 [scrapy_poet.injection] (PID: 133) INFO: Loading providers: [, , , , , , ] 2026-01-27 18:09:55 [scrapy.middleware] (PID: 133) INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware', 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scraping_utils.middlewares.downloaders.ProxyManagerDownloaderMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware', 'scraping_utils.middlewares.downloaders.HeadersSpooferDownloaderMiddleware', 'scrapy_poet.InjectionMiddleware', 'scrapy.downloadermiddlewares.retry.RetryMiddleware', 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware', 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware', 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware', 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware', 'scrapy_poet.DownloaderStatsMiddleware'] 2026-01-27 18:09:55 [NotFoundHandlerSpiderMiddleware] (PID: 133) INFO: NotFoundHandlerSpiderMiddleware running in DRYRUN mode. 2026-01-27 18:09:55 [scrapy.middleware] (PID: 133) INFO: Enabled spider middlewares: ['catalog_extraction.middlewares.NotFoundHandlerSpiderMiddleware', 'catalog_extraction.middlewares.FixtureSavingMiddleware', 'scrapy_poet.RetryMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2026-01-27 18:09:55 [scrapy.middleware] (PID: 133) INFO: Enabled item pipelines: ['catalog_extraction.pipelines.DuplicatedSKUsFilterPipeline', 'catalog_extraction.pipelines.DiscontinuedProductsAdjustmentPipeline', 'catalog_extraction.pipelines.PriceRoundingPipeline', 'scraping_utils.pipelines.AttachSupplierPipeline', 'spidermon.contrib.scrapy.pipelines.ItemValidationPipeline'] 2026-01-27 18:09:55 [scrapy.core.engine] (PID: 133) INFO: Spider opened 2026-01-27 18:09:55 [scrapy.extensions.closespider] (PID: 133) INFO: Spider will stop when no items are produced after 1800 seconds. 2026-01-27 18:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2026-01-27 18:09:55 [scrapy.extensions.telnet] (PID: 133) INFO: Telnet console listening on 127.0.0.1:6023 2026-01-27 18:10:00 [ProxyManagerDownloaderMiddleware] (PID: 133) INFO: Using brd-customer-hl_13cda1e4-zone-main_datacenter_proxy as the default proxy for ProxyManagerDownloaderMiddleware. 2026-01-27 18:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-back-guest-chair-black>: HTTP status code is not handled or not allowed 2026-01-27 18:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galveston-star-rosette-ros02x02glal-234w-x-234h-x-12d>: HTTP status code is not handled or not allowed 2026-01-27 18:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stiebel-eltron-dhc-e-12-12-kw-point-of-use-tankless-electric-water-heater-240v>: HTTP status code is not handled or not allowed 2026-01-27 18:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9in-x-3-8in-100-polyester-roller-cover-with-a-14in-cage-frame-24-case-914-ap038>: HTTP status code is not handled or not allowed 2026-01-27 18:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-nylon-hard-floor-brush-accessory-for-ex40-part-56265177>: HTTP status code is not handled or not allowed 2026-01-27 18:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-part-reeved-cross-parallel-mount-assembly-model-9561nhut>: HTTP status code is not handled or not allowed 2026-01-27 18:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kenda-super-turf-tire-16x650-8-4pr>: HTTP status code is not handled or not allowed 2026-01-27 18:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-head-pad-seal-fits-8-x-9-door-with-12-projection-12-header-drop-curtain>: HTTP status code is not handled or not allowed 2026-01-27 18:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-forged-wire-rope-clip-3-16-package-of-2>: HTTP status code is not handled or not allowed 2026-01-27 18:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7000-blk-everlast-polyurethane-chair-black-nylon-base-mushroom-glides>: HTTP status code is not handled or not allowed 2026-01-27 18:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Stainless-Steel-Flat-Post-Cap-for-SPA-P001-Posts>: HTTP status code is not handled or not allowed 2026-01-27 18:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-28-x-1-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-27 18:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8a-x-1-one-way-sheet-metal-screw-round-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 18:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-9-balldriver-screwdrivers-15-10mm-10699>: HTTP status code is not handled or not allowed 2026-01-27 18:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-3-4-security-machine-screw-flat-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 18:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polypropylene-felt-7-1-8-d-x-32-l-1-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-27 18:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-2-security-machine-screw-flat-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 18:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-7-8-x-15-1-4-x-12-7-16-clear-heavy-duty-giant-stack-container>: HTTP status code is not handled or not allowed 2026-01-27 18:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-2-spanner-machine-screw-oval-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 18:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-raceway-36-1-4w-x-47-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:10:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-30-tamperproof-torx-power-bit>: HTTP status code is not handled or not allowed 2026-01-27 18:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-tamperproof-spanner-bit-5-16-hex-shank>: HTTP status code is not handled or not allowed 2026-01-27 18:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-elbow-metal-release-collet-4mm-tube-x-m5-male-bspt>: HTTP status code is not handled or not allowed 2026-01-27 18:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-60w-x-24d-x-14h-1-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 18:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k15fs-36h-snap-in-baso-thermocouple>: HTTP status code is not handled or not allowed 2026-01-27 18:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k16ra-36c-36-husky-high-performance-thermocouple-nickel-plated>: HTTP status code is not handled or not allowed 2026-01-27 18:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tripod-stand-dt15s25t43-for-15-oaw-skatewheel-adj-25-to-43h>: HTTP status code is not handled or not allowed 2026-01-27 18:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-48w-x-18d-x-14h-1-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 18:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-y-manifold-6mm-tube-x-1-4-swift-fit>: HTTP status code is not handled or not allowed 2026-01-27 18:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks>: HTTP status code is not handled or not allowed 2026-01-27 18:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelf-level-30w-x-14d-chrome>: HTTP status code is not handled or not allowed 2026-01-27 18:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gm-80-complete-hose-with-steel-wand>: HTTP status code is not handled or not allowed 2026-01-27 18:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-fl-ctrl-6mm-tube-x-m5-metal-release-collet-flow-out-knob-adjustment>: HTTP status code is not handled or not allowed 2026-01-27 18:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-30w-x-18d-x-34h-2-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 18:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/komet-stir-bar-15-round-9mm-dia-x-15mm-l-1-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-equipment-cover-clear-case-packed-16w-36l>: HTTP status code is not handled or not allowed 2026-01-27 18:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dirty-equipment-tag-red-2-5-16w-4-3-4l>: HTTP status code is not handled or not allowed 2026-01-27 18:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/karcher-9-807-723-0-2700psi-3gpm-gas-pressure-washer>: HTTP status code is not handled or not allowed 2026-01-27 18:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wall-reclosable-seal-top-specimen-trans-bag-pink-tint-12w-15l>: HTTP status code is not handled or not allowed 2026-01-27 18:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purell-hand-sanitizer-refill-adx-advanced-green-certified-gel-1200ml-3-refills-case-8803-03>: HTTP status code is not handled or not allowed 2026-01-27 18:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-panels-powdercoat-silver-16-x-32-2-pc>: HTTP status code is not handled or not allowed 2026-01-27 18:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-tool-cart-galvanized-48-x-16>: HTTP status code is not handled or not allowed 2026-01-27 18:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1791500-pm1500-3hp-1ph-230v-bandsaw>: HTTP status code is not handled or not allowed 2026-01-27 18:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-clamp-starter-kit-30129-for-use-with-maxq-shaker-platforms>: HTTP status code is not handled or not allowed 2026-01-27 18:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87 pages (at 87 pages/min), scraped 43 items (at 43 items/min) 2026-01-27 18:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-block-set-with-cover-for-88880027-48-x-0-5ml-tubes>: HTTP status code is not handled or not allowed 2026-01-27 18:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-800-series-storage-cabinet-36w-x-24d-x-78h-midnight-ebony-single-tier-knockdown>: HTTP status code is not handled or not allowed 2026-01-27 18:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-coil-thread-repair-kit-for-metal-m8-10-x-15d>: HTTP status code is not handled or not allowed 2026-01-27 18:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octagonal-dry-erase-sign-stand-16w-x-16h-sign-sig08070101>: HTTP status code is not handled or not allowed 2026-01-27 18:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-stand-up-2-storage-cabinet-lateral-file-desk-quad-with-bookcase-end-ash-grey>: HTTP status code is not handled or not allowed 2026-01-27 18:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-24-d-x-87-h-725-hallowell-gray-add-on-unit-29-bins>: HTTP status code is not handled or not allowed 2026-01-27 18:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1181032-belt-pulley-ax25>: HTTP status code is not handled or not allowed 2026-01-27 18:11:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263184-fry-left-hand-scoop-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-27 18:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roval-automatic-soap-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 18:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-120-h-starter-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 18:11:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kimberly-clark-34955-wypall-x60-wipersjumbo-roll12-12-x-13-251100roll1carton>: HTTP status code is not handled or not allowed 2026-01-27 18:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-120-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl-c-lamp-cfq26wg24q841-21w-4100k>: HTTP status code is not handled or not allowed 2026-01-27 18:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lx315-liner-lock-folder-knife>: HTTP status code is not handled or not allowed 2026-01-27 18:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-27 18:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fx175-frame-lock-folder-knife>: HTTP status code is not handled or not allowed 2026-01-27 18:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-75-Open-folio-storage-folkstone>: HTTP status code is not handled or not allowed 2026-01-27 18:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2721312-motor-brushless-24vdc-for-nieco-corp>: HTTP status code is not handled or not allowed 2026-01-27 18:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-navy-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-27 18:11:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-27 18:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-120-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-84-h-starter-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imh100-advanced-protocol-microbiological-incubator-3-67-cu-ft-120v>: HTTP status code is not handled or not allowed 2026-01-27 18:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-jacketed-co2-incubator-with-tc-sensor-120v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-27 18:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51-1180-pilot-head-3-16-inch-cct>: HTTP status code is not handled or not allowed 2026-01-27 18:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-navy-flag-4x6-nylon>: HTTP status code is not handled or not allowed 2026-01-27 18:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241106-screw-blade-assembly-ez-wedger-for-nemco>: HTTP status code is not handled or not allowed 2026-01-27 18:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-48-w-x-36-d-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-x-50-foot-pvc-lay-flat-discharge-hose-coupled-with-mxf-aluminum-short-shanks>: HTTP status code is not handled or not allowed 2026-01-27 18:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1841119-screw-door-handle-10-24thd-for-bakers-pride>: HTTP status code is not handled or not allowed 2026-01-27 18:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ton-side-pump-bottle-jack-10065b>: HTTP status code is not handled or not allowed 2026-01-27 18:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet-4-drawer-24-compart-classic-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-27 18:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet-7-drawers-94-compart-light-gray-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-27 18:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet-5-drawer-51-compart-bright-blue-master-keyed>: HTTP status code is not handled or not allowed 2026-01-27 18:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2171134-pin-hinge-for-server-products>: HTTP status code is not handled or not allowed 2026-01-27 18:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet-8-drawers-129-compart-bright-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-27 18:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ad821b-black-epoxy-divider-21d-x-8h-for-wire-shelves>: HTTP status code is not handled or not allowed 2026-01-27 18:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1591118-brush-hand-black-w-scraper>: HTTP status code is not handled or not allowed 2026-01-27 18:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-tubing-blue-25-roll-box>: HTTP status code is not handled or not allowed 2026-01-27 18:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971096-coupler-6-x-6-rj12-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 18:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010703-heat-lamp-quartz-for-hatco-corp>: HTTP status code is not handled or not allowed 2026-01-27 18:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1201177-caster-boot-2-inch-f-1-inch-od-w-brk>: HTTP status code is not handled or not allowed 2026-01-27 18:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-exerciser-full-body-set-14-22-30-tan-3-set>: HTTP status code is not handled or not allowed 2026-01-27 18:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-navy-cotton-polyester-fashion-blend-reversible-set-in-sleeve-scrub-shirt-size-l>: HTTP status code is not handled or not allowed 2026-01-27 18:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garden-tractor-terminal-protector-5709-050r-red-50-pcs>: HTTP status code is not handled or not allowed 2026-01-27 18:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garden-tractor-terminal-protector-5710-050b-black-50-pcs>: HTTP status code is not handled or not allowed 2026-01-27 18:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-tubing-5-tubing-light-yellow-red-green-retail-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a123-portable-dissolved-oxygen-meter-stara1230>: HTTP status code is not handled or not allowed 2026-01-27 18:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-wellness-center-gray-vinyl-int-ext-12-x-12-4-wall-3-window>: HTTP status code is not handled or not allowed 2026-01-27 18:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-2-compartment-wardrobe-storage-cabinet-solid-door-cactus-star-color>: HTTP status code is not handled or not allowed 2026-01-27 18:11:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-tubing-tan-100-roll-box>: HTTP status code is not handled or not allowed 2026-01-27 18:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 184 pages (at 97 pages/min), scraped 89 items (at 46 items/min) 2026-01-27 18:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-23351-medium-bi-pin-standard-fluorescent-lampholder-white>: HTTP status code is not handled or not allowed 2026-01-27 18:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoco-adjustable-2-way-ballet-rack-psbbadj-41w-x-44-72h-x-22d-anthracite-grey>: HTTP status code is not handled or not allowed 2026-01-27 18:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-band-yellow-50-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-27 18:12:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-27 18:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hager-5100-series-door-closer3>: HTTP status code is not handled or not allowed 2026-01-27 18:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huot-toolscoot-40-taper-cnc-holders>: HTTP status code is not handled or not allowed 2026-01-27 18:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1911013-stud-center-plate-berkel>: HTTP status code is not handled or not allowed 2026-01-27 18:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741345-door-gasket-22-1-2-inch-x-58-5-16-inch-for-delfield>: HTTP status code is not handled or not allowed 2026-01-27 18:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fieldpro-purofort-full-safety-boots-steel-toe-size-12-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 18:12:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-3-prong-mop-broom-holder-24-w>: HTTP status code is not handled or not allowed 2026-01-27 18:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-delineator-post-49-in-h-black>: HTTP status code is not handled or not allowed 2026-01-27 18:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263835-cap-end-round-tubing>: HTTP status code is not handled or not allowed 2026-01-27 18:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/luxor-174-ec111hd-e-series-black-3-shelf-tub-cart-35-1-4-x-18-500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 18:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/621156-stick-and-stayrefrig-freezer-thermomet-for-comark-instruments>: HTTP status code is not handled or not allowed 2026-01-27 18:12:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 18:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-machine-screw-flat-head-slotted-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 18:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-1210-packing-seal-kit>: HTTP status code is not handled or not allowed 2026-01-27 18:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-42w-x-18d-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-3-machine-screw-flat-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 18:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-1071-3-1-16-inch-x-3-1-16-inch-gasket-for-low-water-cutoff-float-assembly>: HTTP status code is not handled or not allowed 2026-01-27 18:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-asphalt-installation-blue-cover-red-tapes>: HTTP status code is not handled or not allowed 2026-01-27 18:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-production-workbench-maple-butcher-block-square-edge-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29605-51-ultra-hygiene-handle-white>: HTTP status code is not handled or not allowed 2026-01-27 18:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polyester-filter-14-w-x-25-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-27 18:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-36x24x69-1200-pound-capacity-with-brakes-1>: HTTP status code is not handled or not allowed 2026-01-27 18:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-42w-x-30d-black>: HTTP status code is not handled or not allowed 2026-01-27 18:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/innovera-compatible-remanufactured-ch562wn-61-ink-165-page-yield-tri-color>: HTTP status code is not handled or not allowed 2026-01-27 18:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-45176-flat-elbow-5-14l-x-4-14w-x-3h-white>: HTTP status code is not handled or not allowed 2026-01-27 18:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cortech-usa-vm1824-mirror-18-x-24-ventura-pkg-qty-1>: HTTP status code is not handled or not allowed 2026-01-27 18:12:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/janitorial_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duct-access-door-with-no-hinge-18-x-18>: HTTP status code is not handled or not allowed 2026-01-27 18:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29109-stainless-steel-floor-scraper-black>: HTTP status code is not handled or not allowed 2026-01-27 18:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2051270-washer-worm-wheel-shaft-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 18:12:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-folding-table-5>: HTTP status code is not handled or not allowed 2026-01-27 18:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recessed-valve-box-steel-12-x-12-x-4>: HTTP status code is not handled or not allowed 2026-01-27 18:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-access-door-8-x-8>: HTTP status code is not handled or not allowed 2026-01-27 18:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/janitorial_cabinets>: HTTP status code is not handled or not allowed 2026-01-27 18:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-fenwick-insulated-bowl-5-oz-48-cs-sage-dx520084>: HTTP status code is not handled or not allowed 2026-01-27 18:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium34-22-59-collapsible-inside-34l-x-22w-x-59>: HTTP status code is not handled or not allowed 2026-01-27 18:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 277 pages (at 93 pages/min), scraped 143 items (at 54 items/min) 2026-01-27 18:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29587-50-basic-aluminum-handle-orange>: HTTP status code is not handled or not allowed 2026-01-27 18:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-19-fan-blade-assembly-for-apex153-1200-portable-evaporative-coolers>: HTTP status code is not handled or not allowed 2026-01-27 18:12:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets landed on page that is not a product page. 2026-01-27 18:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxcmla3706056-37-rhp-single-stage-piston-compressor-60-gal-vert-155-psi-1-phase-240v>: HTTP status code is not handled or not allowed 2026-01-27 18:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29004-food-hoe-red>: HTTP status code is not handled or not allowed 2026-01-27 18:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-cube-ice-machine-356lb>: HTTP status code is not handled or not allowed 2026-01-27 18:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40122-nylon-scraper-with-threaded-handle-green>: HTTP status code is not handled or not allowed 2026-01-27 18:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-add-on-120inw-x-48ind-x-96inh-5630-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-27 18:13:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-indoor-outdoor-stackable-chair-yellow>: HTTP status code is not handled or not allowed 2026-01-27 18:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-wrist-and-ankle-weight-2-lb-white>: HTTP status code is not handled or not allowed 2026-01-27 18:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-able-shipping-container-with-lid-42-x-42-4>: HTTP status code is not handled or not allowed 2026-01-27 18:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aerospec-ss-nsf-wall-shelf-20>: HTTP status code is not handled or not allowed 2026-01-27 18:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263106-brass-nipple-1-2-inch-x-close>: HTTP status code is not handled or not allowed 2026-01-27 18:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits>: HTTP status code is not handled or not allowed 2026-01-27 18:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euro-wire-security-truck-60-x-30-2400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-fry-natural-with-trivent-silicone-handle>: HTTP status code is not handled or not allowed 2026-01-27 18:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdc03025-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-27 18:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46000-series-looper-tube-with-18-lb-hexagonal-base--3-reflective-bands-42h-orange>: HTTP status code is not handled or not allowed 2026-01-27 18:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-75-quart-sauce-pan-black-handle>: HTTP status code is not handled or not allowed 2026-01-27 18:13:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/custom_logo_mats/logo_rugs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261378-sleeve-7-16-cct-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-27 18:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-48-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-27 18:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-add-on-36-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-27 18:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tbsp-long-handle-measuring-spoon>: HTTP status code is not handled or not allowed 2026-01-27 18:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-tube-15-x-050-x-4-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firm-medicine-ball-4-lb-8-diameter-red>: HTTP status code is not handled or not allowed 2026-01-27 18:13:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/custom_logo_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263775-ferrule-breakaway-3-16-inch-15-p>: HTTP status code is not handled or not allowed 2026-01-27 18:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-bar-yellow-12l>: HTTP status code is not handled or not allowed 2026-01-27 18:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-6-5-8-w-x-11-5-8-d-x-4-h-beige>: HTTP status code is not handled or not allowed 2026-01-27 18:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2151179-screw-blade-block-for-redco-slicers>: HTTP status code is not handled or not allowed 2026-01-27 18:13:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/custom_logo_mats/logo_rugs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-spouted-transfer-bowl-8-oz>: HTTP status code is not handled or not allowed 2026-01-27 18:13:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/custom_logo_mats/custom_art_logo_mats?token=null already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-safety-coverall-s-black>: HTTP status code is not handled or not allowed 2026-01-27 18:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-7-foot-rail-kit-2-tube-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:13:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-steel-bookcase-28-h-sand>: HTTP status code is not handled or not allowed 2026-01-27 18:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-36l-x-18w-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 18:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-stretch-waist-flex-twill-cargo-pants-30l-inseam-x-36-37-waist-navy>: HTTP status code is not handled or not allowed 2026-01-27 18:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-for-12-gauge-heavy-duty-cabinet-36-wx24-d>: HTTP status code is not handled or not allowed 2026-01-27 18:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/custom_logo_mats/custom_art_logo_mats?token=null>: HTTP status code is not handled or not allowed 2026-01-27 18:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72l-flip-top-training-table-cherry-finish>: HTTP status code is not handled or not allowed 2026-01-27 18:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Toggle-Switch-Double-Pole-Double-Throw-30A-120-277V-AC-Brown>: HTTP status code is not handled or not allowed 2026-01-27 18:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421393-brush-counter-horsehair-for-carlisle-foodservice-products>: HTTP status code is not handled or not allowed 2026-01-27 18:13:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/custom_logo_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/formula-50-cleaner-degreaser-55-gallon-drum>: HTTP status code is not handled or not allowed 2026-01-27 18:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors>: HTTP status code is not handled or not allowed 2026-01-27 18:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-stool-pneumatic-height-adjustment-2>: HTTP status code is not handled or not allowed 2026-01-27 18:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-3-drawer-roller-bearing-brown>: HTTP status code is not handled or not allowed 2026-01-27 18:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-24-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-27 18:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1411047-knob-set-inside-outside>: HTTP status code is not handled or not allowed 2026-01-27 18:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-manila-folders-one-fastener-13-tab-letter-50box>: HTTP status code is not handled or not allowed 2026-01-27 18:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 367 pages (at 90 pages/min), scraped 187 items (at 44 items/min) 2026-01-27 18:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/performance-gravity-hvlp-atomizing-head-refill-kit-26716-1-6mm-purple-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-27 18:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-48-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-27 18:13:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/custom_logo_mats/custom_art_logo_mats?token=null already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cp100d-5-watt-160-channel-analog-and-digital-vhf-136-174-mhz-display-with-limited-keypad>: HTTP status code is not handled or not allowed 2026-01-27 18:14:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-premium-5-14-accordion-expansion-wallets-poly-letter-black>: HTTP status code is not handled or not allowed 2026-01-27 18:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-34l-inseam-x-32-waist-navy>: HTTP status code is not handled or not allowed 2026-01-27 18:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/passive-filter-427-replacement-lens-polycarbonate-shade-11-black-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 18:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-insulated-quilted-jacket-s-olive>: HTTP status code is not handled or not allowed 2026-01-27 18:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barr8-fl-wh-crowdmaster-1000-barricade-100-by-43-flat-feet-white>: HTTP status code is not handled or not allowed 2026-01-27 18:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-30-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-27 18:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-commercial-14-3-20>: HTTP status code is not handled or not allowed 2026-01-27 18:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-commercial-14-4-20>: HTTP status code is not handled or not allowed 2026-01-27 18:14:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/custom_logo_mats/custom_art_logo_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-punched-steel-strapping-coil-in-self-dispensing-carton-3-4-x-020-x-300>: HTTP status code is not handled or not allowed 2026-01-27 18:14:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/head_face_protection/welding_helmets_lenses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-guard-rails-standing-risers-4-level>: HTTP status code is not handled or not allowed 2026-01-27 18:14:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders landed on page that is not a product page. 2026-01-27 18:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-supertab-colored-file-folders-13-cut-letter-yellow-100box>: HTTP status code is not handled or not allowed 2026-01-27 18:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-850mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 18:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireproof-3-drawer-vertical-safe-in-file-legal-31-9-16-lx20-13-16-wx40-1-4-h-brown>: HTTP status code is not handled or not allowed 2026-01-27 18:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-poly-oxford-3-in-1-waterproof-parka-jacket-3xl-black>: HTTP status code is not handled or not allowed 2026-01-27 18:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/custom_logo_mats/custom_art_logo_mats>: HTTP status code is not handled or not allowed 2026-01-27 18:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/head_face_protection/welding_helmets_lenses>: HTTP status code is not handled or not allowed 2026-01-27 18:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-36-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-27 18:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-hanging-file-folders-15-tab-11-point-stock-letter-lavender-25box>: HTTP status code is not handled or not allowed 2026-01-27 18:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-surveyor-safety-vest-snap-s-green-sv59-2zgd-s>: HTTP status code is not handled or not allowed 2026-01-27 18:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-surveyor-safety-vest-zipper-xl-green-sv59z-2zgd-xl>: HTTP status code is not handled or not allowed 2026-01-27 18:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-surveyor-safety-vest-zipper-2xl-green-sv59z-2zgd-2x>: HTTP status code is not handled or not allowed 2026-01-27 18:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-shoulder-cuff-with-gravity-feed-cooler>: HTTP status code is not handled or not allowed 2026-01-27 18:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-125mm-bore-x-45mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 18:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-800mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 18:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-27 18:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reusable-blue-vinyl-cold-pack-standard-11-x-14-12-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2171086-collar-locking-cp1-3-1-4-1-6-for-server-products>: HTTP status code is not handled or not allowed 2026-01-27 18:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aristocrat-floor-lectern-medium-oak>: HTTP status code is not handled or not allowed 2026-01-27 18:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelf-truck-72x24x92-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-type-r-class-3-economy-solid-vest-3xl-green-sv92e-3vgsfr-3x>: HTTP status code is not handled or not allowed 2026-01-27 18:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-3-lb-beads-in-bucket-lavender-fragrance>: HTTP status code is not handled or not allowed 2026-01-27 18:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-coverall-xl-black>: HTTP status code is not handled or not allowed 2026-01-27 18:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-safety-parka-jacket-3xlt-black>: HTTP status code is not handled or not allowed 2026-01-27 18:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-cover-all-terry-microfiber-half-size-12-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glove-31-shoulder-length-one-size-fits-all>: HTTP status code is not handled or not allowed 2026-01-27 18:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-card-holders-3-w-x-2-h-25-per-package>: HTTP status code is not handled or not allowed 2026-01-27 18:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-60x36x96-with-3-shelves-wood-deck-1200-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-27 18:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-1436-toaster-element-120v-860w-11-1-4-inch-x-6-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-27 18:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-vinyl-reusable-cold-pack-throat-3-x-11-12-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481008-track-v-true-33-inch-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 18:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-replacement-cable>: HTTP status code is not handled or not allowed 2026-01-27 18:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-320-amp-pipe-thawing>: HTTP status code is not handled or not allowed 2026-01-27 18:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-10>: HTTP status code is not handled or not allowed 2026-01-27 18:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 462 pages (at 95 pages/min), scraped 235 items (at 48 items/min) 2026-01-27 18:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-85968-04-04-knob-adj-14-tube-x-14-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 18:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-shadow-board-20-padlock-capacity-23w-x-316d-x-22h-red>: HTTP status code is not handled or not allowed 2026-01-27 18:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-xl-dark-brown>: HTTP status code is not handled or not allowed 2026-01-27 18:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centering-pin-for-6-centering-head>: HTTP status code is not handled or not allowed 2026-01-27 18:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-3xl-navy>: HTTP status code is not handled or not allowed 2026-01-27 18:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-id-x-1-12-inch-od-steel-arbor-spacer-assortment>: HTTP status code is not handled or not allowed 2026-01-27 18:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x24x63-galvanized-steel-solid-shelving-add-on>: HTTP status code is not handled or not allowed 2026-01-27 18:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2261142-fry-skimmer-inch-fine-mesh-inch>: HTTP status code is not handled or not allowed 2026-01-27 18:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-xlt-dark-brown>: HTTP status code is not handled or not allowed 2026-01-27 18:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-drum-cover-closed-head-accessory>: HTTP status code is not handled or not allowed 2026-01-27 18:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-16mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 18:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-type-i-safety-can-1-gallon-funnel-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-60210-6-14-6mm-tube-x-14-male-bspt-thread-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-60215-8-14-8mm-tube-x-14-male-bspp-thread-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finish-thompson-wall-mounting-bracket-pf-tt-pumps>: HTTP status code is not handled or not allowed 2026-01-27 18:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finish-thompson-40-drum-pump-kit-econo-pump-tube-ss-shaft-odp-motor>: HTTP status code is not handled or not allowed 2026-01-27 18:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blending-hand-pad-7446b-6-inch-x-9-inch-med-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-27 18:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-diamond-deck-truck-48-x-30-1400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421469-brush-hot-dog-roller-for-carlisle-foodservice-products>: HTTP status code is not handled or not allowed 2026-01-27 18:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-36-wx30-dx73-h-open-clip-style-4-shelf>: HTTP status code is not handled or not allowed 2026-01-27 18:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/artificial-christmas-tree-65-ft-flocked-snowy-pine>: HTTP status code is not handled or not allowed 2026-01-27 18:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/025mm-steel-shim-stock-150mm-x-25m-roll>: HTTP status code is not handled or not allowed 2026-01-27 18:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-nk-1-series-submersible-multi-purpose-pump>: HTTP status code is not handled or not allowed 2026-01-27 18:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-wrs-series-water-removal-system-115v-integral-4-7-level>: HTTP status code is not handled or not allowed 2026-01-27 18:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-6-series-submersible-sump-pump-25ft-cord>: HTTP status code is not handled or not allowed 2026-01-27 18:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx24-dx85-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-27 18:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30007-p-plastic-barrier-chain-in-a-pail-hdpe-1-5-x300-6-38mm-gold>: HTTP status code is not handled or not allowed 2026-01-27 18:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circuit-breaker-finder>: HTTP status code is not handled or not allowed 2026-01-27 18:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-aluminum-shim-0062-inch-thick-0002-inch-laminations-24-inch-x-24-inch-sheet>: HTTP status code is not handled or not allowed 2026-01-27 18:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0702320-4-408-osy-epoxy-coated-gate-valve>: HTTP status code is not handled or not allowed 2026-01-27 18:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/440-series-premium-high-back-seat-with-lumber-support--slide-rails-vinyl-black>: HTTP status code is not handled or not allowed 2026-01-27 18:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51066-500-heavy-duty-plastic-barrier-chain-hdpe-2-x500-54mm-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0004-inch-brass-shim-stock-6-inch-x-60-inch-roll>: HTTP status code is not handled or not allowed 2026-01-27 18:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011335-gasket-22-inch-x-26-1-2-inch-for-turbo-air-refrigeration>: HTTP status code is not handled or not allowed 2026-01-27 18:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/440-series-premium-high-back-seat-with-arm-rests-cordura174-fabric-black>: HTTP status code is not handled or not allowed 2026-01-27 18:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51036-100-alternating-heavy-duty-plastic-barrier-chain-hdpe-2-x100-54mm-black-red>: HTTP status code is not handled or not allowed 2026-01-27 18:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-1ph-1725rpm-m6c17fb66jj>: HTTP status code is not handled or not allowed 2026-01-27 18:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-55130-10-10mm-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 18:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-weld-140-fc-i-mig-welder-140a-120v-14>: HTTP status code is not handled or not allowed 2026-01-27 18:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-epfc-3ph-3450-2850rpm-a>: HTTP status code is not handled or not allowed 2026-01-27 18:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341138-strip-heater120v-250w-12-inch-x-1-1-2>: HTTP status code is not handled or not allowed 2026-01-27 18:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51026-100-heavy-duty-plastic-barrier-chain-hdpe-2-x100-54mm-traffic-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-rack-mobile-double-sided-rack-1>: HTTP status code is not handled or not allowed 2026-01-27 18:15:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53002-100-gothic-plastic-barrier-chain-hdpe-2-x100-yellow>: HTTP status code is not handled or not allowed 2026-01-27 18:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-145-tefc-1ph-1740rpm-p145k17fk10ee>: HTTP status code is not handled or not allowed 2026-01-27 18:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bantam-switch-self-retracting-lifeline-twin-leg-steel-rebar-hook-6l>: HTTP status code is not handled or not allowed 2026-01-27 18:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 557 pages (at 95 pages/min), scraped 283 items (at 48 items/min) 2026-01-27 18:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-truck-hoisting-swivel-hook-2>: HTTP status code is not handled or not allowed 2026-01-27 18:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors>: HTTP status code is not handled or not allowed 2026-01-27 18:15:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/anti_fatigue_mats/wet_area_anti_fatigue_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-60130-8-8mm-tube-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-insulated-foam-food-container-white-32oz-25bag>: HTTP status code is not handled or not allowed 2026-01-27 18:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-locker-triple-tier-12x12x24-9-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m16-x-2-0-x-35mm-socket-head-cap-screw-304-stainless-steel-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-27 18:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tex-classic-kinesiology-tape-2-x-4-4-yds-beige-6-rolls>: HTTP status code is not handled or not allowed 2026-01-27 18:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cs32h-collared-screw-worm-gear-hose-clamp-1-916-inch-2-12-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-27 18:16:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/anti_fatigue_mats/wet_area_anti_fatigue_mats landed on page that is not a product page. 2026-01-27 18:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241150-blade-flower-onion-24-section-for-nemco>: HTTP status code is not handled or not allowed 2026-01-27 18:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-cup-company-impress-heavyweight-full-length-polystyrene-cutlery-knife-white-1000>: HTTP status code is not handled or not allowed 2026-01-27 18:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-gallon-square-receptacle-with-ashtray-lid-gray-with-riverstone-panels>: HTTP status code is not handled or not allowed 2026-01-27 18:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b16hs-all-ss-worm-gear-hose-clamp-1116-inch-1-12-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 18:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1082-18-compartment-clear-plastic-storage-box>: HTTP status code is not handled or not allowed 2026-01-27 18:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd16s-916-inch-band-heavy-duty-3-pc-hose-clamp-1116-inch-1-12-inch-clampingdiam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-27 18:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481035-trunnion-lid-rail-center-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 18:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-filtering-cordless-cellular-shade-36-wide-x-48-drop-cloud-white>: HTTP status code is not handled or not allowed 2026-01-27 18:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dixie-pathways-paper-hot-cups-12-oz-50pk>: HTTP status code is not handled or not allowed 2026-01-27 18:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1261528-caster-utility-cart-4-inch-metro-for-intermetro-industries>: HTTP status code is not handled or not allowed 2026-01-27 18:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b80hs-all-ss-worm-gear-hose-clamp-4-58-inch-5-12-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 18:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b88h-part-ss-worm-gear-hose-clamp-4-332-inch-6-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 18:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011659-contactor-for-lincoln-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 18:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kickspace-heater-114-1500750w-240120v-white>: HTTP status code is not handled or not allowed 2026-01-27 18:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conical-sleeve-tube-steel-3-h>: HTTP status code is not handled or not allowed 2026-01-27 18:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241162-handle-assembly-easy-chickn-slcr-for-nemco>: HTTP status code is not handled or not allowed 2026-01-27 18:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boardwalk-mediumweight-polypropylene-cutlery-fork-white-1000carton>: HTTP status code is not handled or not allowed 2026-01-27 18:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-commercial-cooks-scraper-13-12-white>: HTTP status code is not handled or not allowed 2026-01-27 18:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-4-inch-x-0075-inch-stainless-steel-slotted-shim-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-27 18:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9495-65w-mr16-led-40-beam-spread-gu53-base-2700k-12v>: HTTP status code is not handled or not allowed 2026-01-27 18:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-magnetic-nail-sweeper-with-release-11-w>: HTTP status code is not handled or not allowed 2026-01-27 18:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-insert-assortment-kit-for-soft-wood-flush-8-32-to-5-16-18-ez-a800>: HTTP status code is not handled or not allowed 2026-01-27 18:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-transparent-clip-on-sign-holder-with-spring-loaded-4-long>: HTTP status code is not handled or not allowed 2026-01-27 18:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-s-hook-with-2-clamp-white>: HTTP status code is not handled or not allowed 2026-01-27 18:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9170-14w-led-s14-ceramic-red-medium-base>: HTTP status code is not handled or not allowed 2026-01-27 18:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-tray-truck-38x24x67-2500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-gantry-crane-adjustable-height-2000-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-27 18:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-eyewear-display-4-tier>: HTTP status code is not handled or not allowed 2026-01-27 18:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-gantry-crane-adjustable-height-6000-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-27 18:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-coverall-5xl-tall-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2251055-basket-fry-11-x-4-1-2-inch-fh-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-27 18:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-tagging-gun>: HTTP status code is not handled or not allowed 2026-01-27 18:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-piece-cribbing-set-100-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-inch-plastic-classroom-chair-set-of-five-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anchor-extension-8l-o-ring-snaphook>: HTTP status code is not handled or not allowed 2026-01-27 18:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-light-phenolic-threaded-candelabra-harness-set-6-in-centers>: HTTP status code is not handled or not allowed 2026-01-27 18:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 653 pages (at 96 pages/min), scraped 335 items (at 52 items/min) 2026-01-27 18:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-lampholder-threaded-socket-w-ring>: HTTP status code is not handled or not allowed 2026-01-27 18:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/socket-bro-centrifugal-3-piece-automotive-socket-set-12-drive>: HTTP status code is not handled or not allowed 2026-01-27 18:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evhc12i-06l-led-high-lumen-emergency-unit-white-546-lumens-high-mounts-self-diagnostics>: HTTP status code is not handled or not allowed 2026-01-27 18:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06560-1-4-x-5-x-5-plastic-masonry-shim-5514-125pc>: HTTP status code is not handled or not allowed 2026-01-27 18:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-inch-x-10-inch-plexiglass-window>: HTTP status code is not handled or not allowed 2026-01-27 18:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262917-caster-w-brake3-inch>: HTTP status code is not handled or not allowed 2026-01-27 18:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyn12-dynamo-industrial-led-emergency-unit-wet-rated-3w-led-lamps>: HTTP status code is not handled or not allowed 2026-01-27 18:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retro-stock-pot-kettle-rethermalizer-7217755-7-quart-fire-engine-red-finish>: HTTP status code is not handled or not allowed 2026-01-27 18:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-powdered-painted-metal-panel-lock-for-3-panel>: HTTP status code is not handled or not allowed 2026-01-27 18:17:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/lubrication_tools_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-esd-safety-edge-work-bench-adjustable-height-1-1-4-top>: HTTP status code is not handled or not allowed 2026-01-27 18:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-light-bent-glass-fixture-holder-w-pull-chain-switch-white-finish>: HTTP status code is not handled or not allowed 2026-01-27 18:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bariatric-guest-chairs-fabric-dark-blue-seat-steel-frame>: HTTP status code is not handled or not allowed 2026-01-27 18:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-panel-display-tower-5-ft-9-inch-high-fabric-cranberry>: HTTP status code is not handled or not allowed 2026-01-27 18:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hartford-4-bench-without-back-in-ground-mount-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264602-grease-filter-aluminum-16-x-16-x-2>: HTTP status code is not handled or not allowed 2026-01-27 18:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-straight-adapter-38-tube-od-x-14-npt-male>: HTTP status code is not handled or not allowed 2026-01-27 18:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wooden-coat-hanger>: HTTP status code is not handled or not allowed 2026-01-27 18:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-display-tower-6-ft-5-inch-high-fabric-mallard>: HTTP status code is not handled or not allowed 2026-01-27 18:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/lubrication_tools_accessories>: HTTP status code is not handled or not allowed 2026-01-27 18:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-straight-adapter-12-tube-od-x-12-npt-female>: HTTP status code is not handled or not allowed 2026-01-27 18:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-gloves-11-mil-latex-12-inch-and-powder-free-medical-grade-xl>: HTTP status code is not handled or not allowed 2026-01-27 18:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxford-96-rectangular-picnic-table-with-umbrella-hole-surface-mount-black>: HTTP status code is not handled or not allowed 2026-01-27 18:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-4-in-fitterbrass-finish>: HTTP status code is not handled or not allowed 2026-01-27 18:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bayonet-base-double-contact-socket-8-in-leads>: HTTP status code is not handled or not allowed 2026-01-27 18:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-way-ceiling-fan-switch>: HTTP status code is not handled or not allowed 2026-01-27 18:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/on-off-canopy-switch-nickel-finish>: HTTP status code is not handled or not allowed 2026-01-27 18:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-x-profile-o-ring-dash-005-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 18:17:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/deep_fryers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-90-degree-elbow-adapter-6mm-tube-od-x-14-npt-male>: HTTP status code is not handled or not allowed 2026-01-27 18:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tractor-style-stool-black-no-tilt-no-foot-ring>: HTTP status code is not handled or not allowed 2026-01-27 18:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-flat-washer-sae-7-32-i-d-steel-zinc-grade-2-pkg-of-1-lb>: HTTP status code is not handled or not allowed 2026-01-27 18:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-spill-grate-for-spill-pallets-workstations>: HTTP status code is not handled or not allowed 2026-01-27 18:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-transfer-ladles-and-dippers-5332-64-oz-13-5-8-long>: HTTP status code is not handled or not allowed 2026-01-27 18:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/deep_fryers>: HTTP status code is not handled or not allowed 2026-01-27 18:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55ml-polystyrene-reagent-reservoir-bulk-packed-sterile-white-200-case>: HTTP status code is not handled or not allowed 2026-01-27 18:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bend-glass-14-in-square-white>: HTTP status code is not handled or not allowed 2026-01-27 18:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000ml-filter-system-0-22um-pes-filter-90mm-diameter-sterile-12-case>: HTTP status code is not handled or not allowed 2026-01-27 18:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madison-4-ipe-wood-flat-bench-without-back-with-armrests-brown>: HTTP status code is not handled or not allowed 2026-01-27 18:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-30-x-63>: HTTP status code is not handled or not allowed 2026-01-27 18:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-flat-washer-sae-9-32-i-d-steel-yellow-zinc-grade-8-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 18:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprayed-glossy-white-ball-6-in-diameter>: HTTP status code is not handled or not allowed 2026-01-27 18:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-2hp-230v-2-speed>: HTTP status code is not handled or not allowed 2026-01-27 18:17:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/dispensers_organizers/condiment_caddies_sugar_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-table-with-2-imme-armless-barstools-coral-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-27 18:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iec-metric-motor-132m-ip55-3ph-c132t11fz2cc>: HTTP status code is not handled or not allowed 2026-01-27 18:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-high-pressure-clear-pvc-tubing-14id-x-38od-x-10-ft>: HTTP status code is not handled or not allowed 2026-01-27 18:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009639-caster-5-inch-black-wheel-inch-no-inch-brake-l-new-style>: HTTP status code is not handled or not allowed 2026-01-27 18:17:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/food_holding_warming_equipment/steam_tables_accessories/steam_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/dispensers_organizers/condiment_caddies_sugar_holders>: HTTP status code is not handled or not allowed 2026-01-27 18:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-chairs-white-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-27 18:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-barstools-black-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-27 18:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 750 pages (at 97 pages/min), scraped 384 items (at 49 items/min) 2026-01-27 18:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-barstools-navy-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-27 18:17:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2691021-shelf-left-21-inch-x-15-3-4-inch-for-perlick-refrigeration>: HTTP status code is not handled or not allowed 2026-01-27 18:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optio-sauce-pan-3802-4-1-4-depth-21-gauge>: HTTP status code is not handled or not allowed 2026-01-27 18:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-procross-xf-800-sno-pro-limited-794cc-replacement-battery-2013>: HTTP status code is not handled or not allowed 2026-01-27 18:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-caster-chairs-black-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-27 18:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321575-gh-2280zx-large-spindle-bore-lathe-w-taper-attachment-collet-closer-10-hp>: HTTP status code is not handled or not allowed 2026-01-27 18:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wire-shelving-with-25-conductive-4-h-bins-black-6-shelves-36-w-x-12-d-x-36-h>: HTTP status code is not handled or not allowed 2026-01-27 18:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-vg-bulk-rack-60-w-x-36-d-x-84-h-add-on-with-corrugated-steel-decking-textured-black>: HTTP status code is not handled or not allowed 2026-01-27 18:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-portable-vehicle-axle-scale-pads-40000-lb-x-5-lb-4-pads>: HTTP status code is not handled or not allowed 2026-01-27 18:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-caster-chairs-sky-blue-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-27 18:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mtm-hydro-3200-psi-m407-gun-kit-hobby-hose-spray-wand>: HTTP status code is not handled or not allowed 2026-01-27 18:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/lathes>: HTTP status code is not handled or not allowed 2026-01-27 18:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-navy-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-27 18:18:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/food_holding_warming_equipment/steam_tables_accessories/steam_tables landed on page that is not a product page. 2026-01-27 18:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-96x24x84-with-3-levels-wood-deck-800-lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-sky-blue-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-27 18:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-caster-chairs-sky-blue-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-27 18:18:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/glass_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-72x36x96-with-3-levels-wood-deck-1000-lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluted-double-wall-insulated-serving-bowls-47685-0-75-quart-round>: HTTP status code is not handled or not allowed 2026-01-27 18:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690089-jtm-2-vertical-milling-machine-2-hp-115-230v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 18:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-tie-14-75-lb-8-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-chairs-light-gray-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-27 18:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/glass_cleaners>: HTTP status code is not handled or not allowed 2026-01-27 18:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-insulated-disconnect-f-12-10-awg-yellow-250-tab-50-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:18:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=690177-jvm-836-1-milling-machine-w-acu-rite-200s-dro-1-1-2-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-one-plastic-stock-utility-procart-40-l-x-19-1-2-w-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6121232-screw-sm-th-ss-100>: HTTP status code is not handled or not allowed 2026-01-27 18:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series153-laminate-bookcase-36w-x-13d-x-43-34h-kingswood-walnut>: HTTP status code is not handled or not allowed 2026-01-27 18:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-housing-die-grinder>: HTTP status code is not handled or not allowed 2026-01-27 18:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/115-degree-angle-die-grinder>: HTTP status code is not handled or not allowed 2026-01-27 18:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-wall-bin-stackable-8>: HTTP status code is not handled or not allowed 2026-01-27 18:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=690177-jvm-836-1-milling-machine-w-acu-rite-200s-dro-1-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 18:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66252842202-gemini-right-angle-cut-off-wheel-6-inch-x-047-inch-x-7-8-inch-24-grit-aluminum-oxide-type-27>: HTTP status code is not handled or not allowed 2026-01-27 18:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-blade-assembly-only-15065-4-section-wedge-tabletop-wall-mount>: HTTP status code is not handled or not allowed 2026-01-27 18:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901237-dispenser-iced-tea-w-brw-lid-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 18:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-only-520-fr-first-responder-kit-large-158-piece-bag>: HTTP status code is not handled or not allowed 2026-01-27 18:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-1>: HTTP status code is not handled or not allowed 2026-01-27 18:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1899-10-inch-x-5-1-2-inch-reversible-cam-lift-door-hinge-with-flush-offset>: HTTP status code is not handled or not allowed 2026-01-27 18:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12ft-fiberglass-leansafe-ladder-w-plastic-tool-tray-375-lb-capacity-l7312>: HTTP status code is not handled or not allowed 2026-01-27 18:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-pets-shoes-shirt-required-sign-4523-3-x-9>: HTTP status code is not handled or not allowed 2026-01-27 18:18:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/food_holding_warming_equipment/food_warmers_hot_food_display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signature-universal-recessed-dish-box-cover-52424-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:18:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_controls/disconnect_switches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-7-16-inch-hex-utility-high-torque-impact-wrench-w-one-key-kit>: HTTP status code is not handled or not allowed 2026-01-27 18:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261773-baffle-filter-16-x-20-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sign-no-parking-unauthorized-vehicles-08mm-thick-1>: HTTP status code is not handled or not allowed 2026-01-27 18:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-ul2043-white-cone-diffuser-for-10-duct-str-c-10w-fr>: HTTP status code is not handled or not allowed 2026-01-27 18:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 844 pages (at 94 pages/min), scraped 433 items (at 49 items/min) 2026-01-27 18:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexion153-task-chair-mid-back-14-1316-19-1116h-seat-24h-back-black>: HTTP status code is not handled or not allowed 2026-01-27 18:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-barstools-white-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-27 18:18:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_controls/disconnect_switches landed on page that is not a product page. 2026-01-27 18:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-s56c-tenv-1750rpm-c4d17vk10c>: HTTP status code is not handled or not allowed 2026-01-27 18:19:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/food_holding_warming_equipment/food_warmers_hot_food_display_cases landed on page that is not a product page. 2026-01-27 18:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcslhegvsp-gas-cylinder-shoulder-label>: HTTP status code is not handled or not allowed 2026-01-27 18:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcslperxve-gas-cylinder-shoulder-label>: HTTP status code is not handled or not allowed 2026-01-27 18:19:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/revel-fidget-stool-with-adjustable-height-backless-plastic-seat-black>: HTTP status code is not handled or not allowed 2026-01-27 18:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-straight-coupling-1>: HTTP status code is not handled or not allowed 2026-01-27 18:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gml101rd-gauge-marking-decal>: HTTP status code is not handled or not allowed 2026-01-27 18:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-stainless-steel-lug-cart-capacity-1-lug>: HTTP status code is not handled or not allowed 2026-01-27 18:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x4-4-mil-parts-bags-w-hang-holes>: HTTP status code is not handled or not allowed 2026-01-27 18:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-two-socket-cross-4>: HTTP status code is not handled or not allowed 2026-01-27 18:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pizza-dough-box-dolly>: HTTP status code is not handled or not allowed 2026-01-27 18:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs>: HTTP status code is not handled or not allowed 2026-01-27 18:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-gravity-flow-rack-27602-starter-4-level-72w-x-48d-x-72h>: HTTP status code is not handled or not allowed 2026-01-27 18:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-w-x-18-d-x-6-h-hopper-box-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp214-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-27 18:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locbin-3-240r-14-3-4l-x-8-1-4w-x-7h-red-6-pc>: HTTP status code is not handled or not allowed 2026-01-27 18:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-two-socket-tee-90-1>: HTTP status code is not handled or not allowed 2026-01-27 18:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2311020-grid-top-w-hndl-22-1-4x24-5-8-for-magikitchen-products>: HTTP status code is not handled or not allowed 2026-01-27 18:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-hard-hat-green>: HTTP status code is not handled or not allowed 2026-01-27 18:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-42-x-18-white>: HTTP status code is not handled or not allowed 2026-01-27 18:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bristol-ridge-scraper-carpet-mat-4-ft-x-6-ft-midnight>: HTTP status code is not handled or not allowed 2026-01-27 18:19:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridge-scraper-mat-3-ft-x-5-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 18:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x18x18-double-wall-boxes>: HTTP status code is not handled or not allowed 2026-01-27 18:19:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superflow-mat-4-ft-x-6-ft-red>: HTTP status code is not handled or not allowed 2026-01-27 18:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-mat-ii-reversible-drainage-mat-2-ft-x-60-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 18:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergo-mat-3-ft-x-5-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 18:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-task-light-pivoting-head-40-degree-flood-3x3-watt-led-24v-ac-dc-w-out-transformer>: HTTP status code is not handled or not allowed 2026-01-27 18:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits>: HTTP status code is not handled or not allowed 2026-01-27 18:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-stanchion-safety-orange>: HTTP status code is not handled or not allowed 2026-01-27 18:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-27 18:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-eye-rigging-hook-latch-kit-5000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-wide-boltless-shelving-starter-60in-w-x-36in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-36-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packard-contactor-3-pole-60-208240>: HTTP status code is not handled or not allowed 2026-01-27 18:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flipak-attached-lid-container-12>: HTTP status code is not handled or not allowed 2026-01-27 18:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upholstery-cleaning-tool-kit-with-8-ft-hose-for-fivestar-and-comet-models-357ac>: HTTP status code is not handled or not allowed 2026-01-27 18:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-low-speed-high-torque-hydraulic-motor-2-bolt-sae-a-mount-880-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 938 pages (at 94 pages/min), scraped 487 items (at 54 items/min) 2026-01-27 18:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/39-in-corner-unit-69-wide-49-deep-39-high-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-military-switchboard-matting-gray-3-16in-x-3ft-x-75ft-full-roll>: HTTP status code is not handled or not allowed 2026-01-27 18:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-in-adjustable-bookcase-36-wide-11-deep-47-high-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-60in-w-x-24in-d-x-84in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262286-upper-bearing-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 18:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-bookcase-shelf-34-wide-11-deep-1-high-medium-oak>: HTTP status code is not handled or not allowed 2026-01-27 18:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-60in-w-x-36in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-2x10-documents-enclosed-transportation-envelopes-pl496>: HTTP status code is not handled or not allowed 2026-01-27 18:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-30-x-48-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011656-low-pressure-control>: HTTP status code is not handled or not allowed 2026-01-27 18:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economical-torque-gauge-50inlb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pennsylvania-heavy-duty-counting-scale-2lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-hi-vis-rain-bib-overall-ansi-class-e-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-27 18:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-7in-regular-cut>: HTTP status code is not handled or not allowed 2026-01-27 18:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chefs-6-str-blk-fibrox>: HTTP status code is not handled or not allowed 2026-01-27 18:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-36inw-x-24ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-48inw-x-18ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-72-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-foot-pedal-operated-work-positioner-1>: HTTP status code is not handled or not allowed 2026-01-27 18:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-30ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-battery-operated-work-positioner-3>: HTTP status code is not handled or not allowed 2026-01-27 18:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-quilted-cotton-moving-blanket-pads>: HTTP status code is not handled or not allowed 2026-01-27 18:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snaplocs-with-fasteners-e-track-single-strap-anchors-slcsz4fa-zinc-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-60inw-x-36ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2sc11xl08-12-cal-arc-flash-kit-w-short-coat-bib-overall-in-ultrasoft-xl-sz-08>: HTTP status code is not handled or not allowed 2026-01-27 18:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421136-switch>: HTTP status code is not handled or not allowed 2026-01-27 18:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-extra-heavy-duty-boltless-shelving-starter-96inwx-36ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1156-3-4-inch-fpt-union-x-3-4-inch-fpt-water-pressure-reducing-valve-10-to-35-lb-range>: HTTP status code is not handled or not allowed 2026-01-27 18:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-steel-decking-60x24x120-starter>: HTTP status code is not handled or not allowed 2026-01-27 18:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-steel-decking-96x36x120-starter>: HTTP status code is not handled or not allowed 2026-01-27 18:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakeside-drop-in-tray-and-glass-dispenser-6-racks>: HTTP status code is not handled or not allowed 2026-01-27 18:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakeside-poly-top-work-height-can-rack-5410-725>: HTTP status code is not handled or not allowed 2026-01-27 18:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-42-x-18-light-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/turbo-air-tbb-4sg-back-bar-cooler-90-3-8-w-x-27-1-4-d-x-37-1-8-h>: HTTP status code is not handled or not allowed 2026-01-27 18:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2281202-support-basket-115-x-135>: HTTP status code is not handled or not allowed 2026-01-27 18:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tffn-18-gauge-building-wire-stranded-type-white>: HTTP status code is not handled or not allowed 2026-01-27 18:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-12ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-24ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2301052-spacer-bearing-support-for-groen>: HTTP status code is not handled or not allowed 2026-01-27 18:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-18-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-round-10-led-clear-backup-light>: HTTP status code is not handled or not allowed 2026-01-27 18:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561184-brace-kit-leg-left-right-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-27 18:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metromax-4-42-w-x-24-d-x-63-h-mobile-unit>: HTTP status code is not handled or not allowed 2026-01-27 18:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv08bxl11-8-cal-cm2-arc-flash-kit-w-fr-coverall-w-balaclava-xl-glove-size-11>: HTTP status code is not handled or not allowed 2026-01-27 18:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amana-06-cu-ft-1800-watt-hd-commercial-microwave-1>: HTTP status code is not handled or not allowed 2026-01-27 18:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-powered-c-clamp-mount-agitator-2-4-one-half-inch-propeller>: HTTP status code is not handled or not allowed 2026-01-27 18:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-ext-pilot-1-8-nptf-220v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 18:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11b3x12-12-cal-ultrasoft-arc-flash-kit-coverall-balaclava-3xl-glove-size-12>: HTTP status code is not handled or not allowed 2026-01-27 18:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8067-34-elbow-fitting>: HTTP status code is not handled or not allowed 2026-01-27 18:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1036 pages (at 98 pages/min), scraped 537 items (at 50 items/min) 2026-01-27 18:20:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-14049-nba-chicago-bulls-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-27 18:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-36inw-x-24ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:20:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staples already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-1-phillips-pan-head-tapping-screw-pkg-of-100-fra21032>: HTTP status code is not handled or not allowed 2026-01-27 18:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-1-4-phillips-flat-head-machine-screw-pkg-of-100-dwa66008>: HTTP status code is not handled or not allowed 2026-01-27 18:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pressure-cntr-g1-4-dbl-solenoid-valve-pilot-spr-cntred-220v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 18:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-control-2-0-long-underwear-xl-desert-sand>: HTTP status code is not handled or not allowed 2026-01-27 18:21:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners landed on page that is not a product page. 2026-01-27 18:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-female-male-reducer-adapter-369-1521011-1-1-2-nh-x-1-npsh-brass>: HTTP status code is not handled or not allowed 2026-01-27 18:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-of-3-adjustable-dividers>: HTTP status code is not handled or not allowed 2026-01-27 18:21:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staples landed on page that is not a product page. 2026-01-27 18:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-high-three-way-kit-for-two-46-in-low-panel-with-cable>: HTTP status code is not handled or not allowed 2026-01-27 18:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelving-66x16x72-adjustable>: HTTP status code is not handled or not allowed 2026-01-27 18:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-screw-anchor-w-setting-tool-1-4-20-steel-zinc-cone-lead-sleeve-100-pk-275502>: HTTP status code is not handled or not allowed 2026-01-27 18:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-closed-cntr-spr-cntred-1-8-nptf-24v-dc-2w-coil-led>: HTTP status code is not handled or not allowed 2026-01-27 18:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-wedge-anchor-1-2-13-x-4-1-4-steel-zinc-pkg-of-25-279120>: HTTP status code is not handled or not allowed 2026-01-27 18:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-storz-spanner-wrench-845-1530-1-1-2-3-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 18:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-basket-with-lid-1062001-38-stainless-steel-10-1-4l-x-5-5-8w-x-2-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 18:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-work-shirt-2xl-light-blue-tcgsswn001192xlrg00>: HTTP status code is not handled or not allowed 2026-01-27 18:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/doghouse-hotdog-cooker>: HTTP status code is not handled or not allowed 2026-01-27 18:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pressure-cntr-g1-4-dbl-solenoid-valve-pilot-spr-cntred-24v-dc-3w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-27 18:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-in-x24-in-aluminum-frame-vinyl-tackboard-navy>: HTTP status code is not handled or not allowed 2026-01-27 18:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-task-chair-with-perforated-back-lime-green>: HTTP status code is not handled or not allowed 2026-01-27 18:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-cal-compliance-bib-overalls-m-navy-c45uquq40md32>: HTTP status code is not handled or not allowed 2026-01-27 18:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polyester-mesh-wristlet-xl-black-s01mc9xxl>: HTTP status code is not handled or not allowed 2026-01-27 18:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-pres-cntr-spr-cntred-1-4-npt-24v-ac-5va-coil-blk>: HTTP status code is not handled or not allowed 2026-01-27 18:21:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/sign_light_combination_units already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-drawcord-cotton-duck-natural-straight>: HTTP status code is not handled or not allowed 2026-01-27 18:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wax-thermal-transfer-ribbon-110mm-x-74m-awfxh-outside-ink-premium-wax>: HTTP status code is not handled or not allowed 2026-01-27 18:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-sided-wire-exchange-truck-five-wire-shelves-800-lb-cap-3>: HTTP status code is not handled or not allowed 2026-01-27 18:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardner-bender-repl-leads-gdt-292a-gdt-293a>: HTTP status code is not handled or not allowed 2026-01-27 18:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/sign_light_combination_units>: HTTP status code is not handled or not allowed 2026-01-27 18:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-cal-ultrasoft-flame-resistant-coverall-2xl-x-32-navy-c88up2xl32>: HTTP status code is not handled or not allowed 2026-01-27 18:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-dunnage-rack-36-w-x-18-d-1>: HTTP status code is not handled or not allowed 2026-01-27 18:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-dunnage-rack-60-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-27 18:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-1-4-nptf-24v-dc-3w-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-27 18:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-purification-printer-120v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-27 18:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx18-dx73-h-open-clip-style-4-shelf>: HTTP status code is not handled or not allowed 2026-01-27 18:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-18ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haws-ceilingmounted-drench-shower-pulldown-lever-ball-valve-mounted-in-recessed-ss-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 18:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262835-bearing-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 18:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jrs-16w-1-3-8-dia-gal-steel-roller-for-18-roller-conveyors>: HTTP status code is not handled or not allowed 2026-01-27 18:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shaft-1550rpm-115v-110-115-125hp>: HTTP status code is not handled or not allowed 2026-01-27 18:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-3-amp-208-230v-1075rpm-reversible>: HTTP status code is not handled or not allowed 2026-01-27 18:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-18ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/68507-disc-frnch-fry-65mm-1-4-for-robot-coupe>: HTTP status code is not handled or not allowed 2026-01-27 18:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1132 pages (at 96 pages/min), scraped 589 items (at 52 items/min) 2026-01-27 18:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ton-air-hydraulic-bottle-jack>: HTTP status code is not handled or not allowed 2026-01-27 18:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-buddy-manual-bead-breaker-71600>: HTTP status code is not handled or not allowed 2026-01-27 18:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xerox-bold-digital-carbonless-paper-xer3r12437-8-1-2-11-canary-500-sheets>: HTTP status code is not handled or not allowed 2026-01-27 18:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx30-dx97-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-27 18:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-locker-single-tier-15x18x72-1-assembled-putty>: HTTP status code is not handled or not allowed 2026-01-27 18:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-flame-resistant-t-shirt-s-desert-sand-df2-cm-446ts-ds-sm>: HTTP status code is not handled or not allowed 2026-01-27 18:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-locker-double-tier-12x12x36-6-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-work-shirt-m-light-blue-tcgsswn00119mdrg00>: HTTP status code is not handled or not allowed 2026-01-27 18:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010965-screw-carrier-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 18:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-48ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-flame-resistant-coverall-m-navy-blue-df2-450c-ca-nb-md>: HTTP status code is not handled or not allowed 2026-01-27 18:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-open-cntr-spr-cntred-g1-4-24v-ac-5va-coil-black>: HTTP status code is not handled or not allowed 2026-01-27 18:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-hobby-craft-organizer-storage-kit-blue-32-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 18:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-replacement-westinghouse-208-230v-1075rpm-15hp>: HTTP status code is not handled or not allowed 2026-01-27 18:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264726-disconnect-3-8-inch-male>: HTTP status code is not handled or not allowed 2026-01-27 18:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-enclosed-outdoor-ball-fan-230460v-1075rpm-34hp>: HTTP status code is not handled or not allowed 2026-01-27 18:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-outdoor-ball-fan-115v-825rpm-13hp>: HTTP status code is not handled or not allowed 2026-01-27 18:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-hobby-craft-organizer-storage-kit-gray-red-32-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 18:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-pilot-spr-return-1-8-nptf-24v-ac-5va-coil-led-connect>: HTTP status code is not handled or not allowed 2026-01-27 18:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-60inw-x-48ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:22:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dishes_plates already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-unassembled-storage-cabinet-recessed-handle36w-x-24d-x-72h-medium-grey>: HTTP status code is not handled or not allowed 2026-01-27 18:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-pilot-spr-return-1-8-nptf-220v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 18:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-cabinet-shelf-for-24-deep-combination-cabinet-putty>: HTTP status code is not handled or not allowed 2026-01-27 18:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-24ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:22:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-48ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holders-5-in-7-in-clear-magnetic-side-load>: HTTP status code is not handled or not allowed 2026-01-27 18:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dishes_plates>: HTTP status code is not handled or not allowed 2026-01-27 18:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-buna-n-foam-sheet-with-acrylic-adhesive-1-16-x-12-x-24>: HTTP status code is not handled or not allowed 2026-01-27 18:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-shelf-truck-36x24x80-1200-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:22:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets landed on page that is not a product page. 2026-01-27 18:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-1-2-security-machine-screw-button-torx-head-alloy-steel-black-oxide-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-foam-strip-with-high-temp-adhesive-1-8-x-1-2-x-56>: HTTP status code is not handled or not allowed 2026-01-27 18:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-clip-label-holder-1-1-8-in-6-in-clear-1-in-width-shelving>: HTTP status code is not handled or not allowed 2026-01-27 18:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262849-spring-pk-10-850-id-x-115-od-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 18:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-master-workbench-kit-blue-black-96-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 18:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-36inw-x-18ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-in-c-in-design-7-8-in-6-in-self-adheres>: HTTP status code is not handled or not allowed 2026-01-27 18:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-x-1-1-4-security-machine-screw-button-torx-head-alloy-steel-black-oxide-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-double-solenoid-valve-ext-pilot-g-1-4-110v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 18:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-garden-tool-board-organizer-blue-black-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 18:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-garden-tool-board-organizer-blue-red-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 18:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-double-solenoid-valve-ext-pilot-1-4-nptf-12v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 18:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-garden-tool-board-organizer-gray-black-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 18:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24-x-1-2-security-machine-screw-button-hex-socket-head-alloy-steel-black-oxide-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixing-paddle-4-75x9-75-paddle-42x1-tubular-handle>: HTTP status code is not handled or not allowed 2026-01-27 18:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g-1-4-dbl-solenoid-valve-pilot-spring-cntred-24v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-27 18:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-womens-safety-work-boots-alloy-toe-8h-size-9-desert-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-886-central-park-1-light-wall-lantern-w-clear-beveled-glass-old-bronze-6w-x-20h>: HTTP status code is not handled or not allowed 2026-01-27 18:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-371-3-light-pendant-alabaster-bowl-old-bronze-22-5w-x-17-5h>: HTTP status code is not handled or not allowed 2026-01-27 18:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-swivel-plate-caster-4-polyolefin-wheel-1>: HTTP status code is not handled or not allowed 2026-01-27 18:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-stepladder-also-functions-as-a-hand-truck-2>: HTTP status code is not handled or not allowed 2026-01-27 18:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-3171-empire-9-light-chandelier-frosted-white-mahogany-bronze-32w-x-18h>: HTTP status code is not handled or not allowed 2026-01-27 18:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-unit-12v-24w-lead-calcium12w-heads>: HTTP status code is not handled or not allowed 2026-01-27 18:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-60x24x96-with-3-shelves-wood-deck-1200-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-27 18:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1233 pages (at 101 pages/min), scraped 636 items (at 47 items/min) 2026-01-27 18:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009880-screw-for-slide-board-for-nemco>: HTTP status code is not handled or not allowed 2026-01-27 18:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spice-womens-safety-work-boots-steel-toe-7h-size-95w-mystic-dune-brown>: HTTP status code is not handled or not allowed 2026-01-27 18:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010928-shaft-upper-wheel-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 18:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-c-polypropylene-cam-and-groove-coupler-x-hose-shank>: HTTP status code is not handled or not allowed 2026-01-27 18:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badger-neoprene-boots-plain-toe-upper-rubber-sole-steel-shank-12-h-blk-size-12>: HTTP status code is not handled or not allowed 2026-01-27 18:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-2-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-500-add-on-motion-sensor-white>: HTTP status code is not handled or not allowed 2026-01-27 18:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-edge-work-bench-top-shop-top-72-w-x-36-d-x-1-3-4-thick>: HTTP status code is not handled or not allowed 2026-01-27 18:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-30-plastic-square-edge-work-bench-fixed-height-1-5-8-top>: HTTP status code is not handled or not allowed 2026-01-27 18:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-green-epoxy-wire-shelving-add-on-48w-x-12-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-27 18:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-10-cognac-brown>: HTTP status code is not handled or not allowed 2026-01-27 18:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-536-1-light-die-cast-glass-lens-frosted-textured-black-11-375w-x-h>: HTTP status code is not handled or not allowed 2026-01-27 18:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-x-1-2-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unf-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-steel-hose-mender>: HTTP status code is not handled or not allowed 2026-01-27 18:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-t-shirt-long-sleeve-1-pocket-silver-tape-type-r-class-3-fl-lime-xl>: HTTP status code is not handled or not allowed 2026-01-27 18:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-539-1-light-die-cast-linen-acrylic-lens-white-acrylic-textured-black-7-75w-x-9-75h>: HTTP status code is not handled or not allowed 2026-01-27 18:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nova-eh-20-womens-safety-work-boots-steel-toe-18h-size-95w-black>: HTTP status code is not handled or not allowed 2026-01-27 18:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8in-angle-drill-with-led-light>: HTTP status code is not handled or not allowed 2026-01-27 18:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-3-station-with-electronic-faucets-wall-brackets-72l-x20wx8d>: HTTP status code is not handled or not allowed 2026-01-27 18:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppe-safety-kit-erb-safety-18526-white>: HTTP status code is not handled or not allowed 2026-01-27 18:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-488-2-light-flood-light-w-adjust-swivel-white-15w-x-8h>: HTTP status code is not handled or not allowed 2026-01-27 18:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signs-with-safety-message-legend-danger-electrical-hazard-2>: HTTP status code is not handled or not allowed 2026-01-27 18:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-t-shirt-short-sleeve-1-pocket-fl-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-27 18:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sgna030gv-self-closing-safety-gate-28-5-inch-to-32-inch-length-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 18:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-666-2-light-mounting-plate-dark-bronze-4-5w-x-1h>: HTTP status code is not handled or not allowed 2026-01-27 18:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009895-spring-guide-vct2010-gen-3-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-27 18:23:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/vacuum_hoses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vis-i-rack-vrw85-high-capacity-blueprint-storage-roll-file-wall-rack-8-openings>: HTTP status code is not handled or not allowed 2026-01-27 18:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-2-economy-mesh-vest-61659-orange>: HTTP status code is not handled or not allowed 2026-01-27 18:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-level-boltless-wire-deck-10>: HTTP status code is not handled or not allowed 2026-01-27 18:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x12x96-with-5-shelves-wire-deck-2>: HTTP status code is not handled or not allowed 2026-01-27 18:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-600-1-light-ceiling-flush-mount-small-white-mushroom-old-bronze-7-5w-x-5h>: HTTP status code is not handled or not allowed 2026-01-27 18:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-stem-caster-4-dia-stainless-disc-with-tech-lock-1-1-2-h-stem>: HTTP status code is not handled or not allowed 2026-01-27 18:23:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/vacuum_hoses landed on page that is not a product page. 2026-01-27 18:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwcfl-replacement-carbon-filters-3-pack-for-kuhl-sl-el-and-yl-models>: HTTP status code is not handled or not allowed 2026-01-27 18:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-jewelers-saw-3-inch-dia-x-018-inch-face-x-1-inch-hole-x-230-teeth>: HTTP status code is not handled or not allowed 2026-01-27 18:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-4-x-6-light-duty-2-9-oz-tarp-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-shank-straight-flute-tmx-chucking-reamer-decimal-size-249-6-flute>: HTTP status code is not handled or not allowed 2026-01-27 18:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3d-protective-safety-corner-guards-pu-foam-adhesive-backed-black-1-each>: HTTP status code is not handled or not allowed 2026-01-27 18:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-stainless-steel-mobile-scissor-li-table-27-x-17-400-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 18:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266191-treadle-foot-flush-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 18:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009541-thermometer-led-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 18:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1329 pages (at 96 pages/min), scraped 690 items (at 54 items/min) 2026-01-27 18:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-3-step-steel-rolling-ladder-10-d-top-step-1>: HTTP status code is not handled or not allowed 2026-01-27 18:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-824-2-light-ceiling-fixt-white-square-white-11-75w-x-4-75h>: HTTP status code is not handled or not allowed 2026-01-27 18:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8762-ultra-containment-wall-2-feet-high-yellow>: HTTP status code is not handled or not allowed 2026-01-27 18:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8760-ultra-containment-wall-1-foot-high-yellow>: HTTP status code is not handled or not allowed 2026-01-27 18:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-back-conductive-fabric-stool-w-aluminum-base-esd-casters-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-floor-mount-vibration-isolator-3-long-2wide-green>: HTTP status code is not handled or not allowed 2026-01-27 18:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-copper-fitting-x-mpt-w-male-adapter>: HTTP status code is not handled or not allowed 2026-01-27 18:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-copper-press-x-fpt-w-female-adapter>: HTTP status code is not handled or not allowed 2026-01-27 18:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rac-line-aluminum-straight-leg-dunnage-rack-48-lx24-wx12-h-6009>: HTTP status code is not handled or not allowed 2026-01-27 18:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009707-goodyear-84220-belt>: HTTP status code is not handled or not allowed 2026-01-27 18:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3200-series-safe-t-alert-back-up-alarm-107-db-12-24-volts-standard>: HTTP status code is not handled or not allowed 2026-01-27 18:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-24v-10a-battery-charger-641411>: HTTP status code is not handled or not allowed 2026-01-27 18:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271218-speaker-assy-hp-timer-31153-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-27 18:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-divider-with-square-corners-48-w-x-60-l-opal>: HTTP status code is not handled or not allowed 2026-01-27 18:24:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-48inw-x-18ind-x-48inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-food-grade-electric-chain-hoist-w-chain-container-1-2-ton-20-ft-lift-230-460v>: HTTP status code is not handled or not allowed 2026-01-27 18:24:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/hand_sanitizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-wireguard-ksm27-2-f>: HTTP status code is not handled or not allowed 2026-01-27 18:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-emergency-unit-sq-heads-remote-capacity-self-diagnostics-nicad-battery120-277v>: HTTP status code is not handled or not allowed 2026-01-27 18:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-series-platform-truck-e-98-q-3060-poe-hardwood-30-x-60-8-wheels-1400-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 18:24:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers landed on page that is not a product page. 2026-01-27 18:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tilt-master-12v-dc-pallet-container-tilter-2200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-curtain-wall-partition-with-clear-vision-strip-12-x-10>: HTTP status code is not handled or not allowed 2026-01-27 18:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/angle-iron-dolly-ai-1830-4hr-18-x-30-4-hard-rubber-wheels-1600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:24:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/hand_sanitizers landed on page that is not a product page. 2026-01-27 18:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hand-chain-hoist-1-ton-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 18:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-low-headroom-plain-trolley-3-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 18:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-upholstered-shop-stool-steel-frame-1>: HTTP status code is not handled or not allowed 2026-01-27 18:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/free-standing-plastic-top-locker-bench-6>: HTTP status code is not handled or not allowed 2026-01-27 18:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881467-valve-body-expansion-valve-for-parker-hannifin>: HTTP status code is not handled or not allowed 2026-01-27 18:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881469-valve-body-expansion-valve-for-parker-hannifin>: HTTP status code is not handled or not allowed 2026-01-27 18:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-service-door-single-panel-3ft-x-7ft>: HTTP status code is not handled or not allowed 2026-01-27 18:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ft-square-outdoor-tree-bench-expanded-metal-surface-mount-black>: HTTP status code is not handled or not allowed 2026-01-27 18:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strapping-attachment-for-hvac-hand-truck>: HTTP status code is not handled or not allowed 2026-01-27 18:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/59803-premium-resin-fibre-discs-4-1-2-inch-x-7-8-inch-60-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-27 18:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caged-walk-through-fixed-access-ladder-yellow-9>: HTTP status code is not handled or not allowed 2026-01-27 18:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcd105blk-32-60-low-profile-monitor-wall-mount-black>: HTTP status code is not handled or not allowed 2026-01-27 18:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-nsf-plastic-bus-tub-21-1-2-l-x-17-3-4-w-x-7-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:24:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62-1020-pressure-gauge-0-200-psi-1-4-inch-mpt-bottom-mount>: HTTP status code is not handled or not allowed 2026-01-27 18:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/621148-beverage-and-frothingthermometer>: HTTP status code is not handled or not allowed 2026-01-27 18:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fb32t8-841-u6-env-32w-fluorescent-w-medium-bi-pin-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-27 18:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lower-shelf-96>: HTTP status code is not handled or not allowed 2026-01-27 18:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x5-diamond-sof-tred-mat-black-yellow-1>: HTTP status code is not handled or not allowed 2026-01-27 18:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-extension-1-2-drive-150-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-27 18:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x3-arrow-trax-mat-charcoal-black>: HTTP status code is not handled or not allowed 2026-01-27 18:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x5-heritage-rib-mat-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 18:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461635-main-pcb-for-turbo-air-refrigeration>: HTTP status code is not handled or not allowed 2026-01-27 18:24:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-27 18:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metallocene-ice-bag-with-drawstring-closure-printed-pkg-qty-500>: HTTP status code is not handled or not allowed 2026-01-27 18:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1427 pages (at 98 pages/min), scraped 741 items (at 51 items/min) 2026-01-27 18:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuf-r-standard-lldpe-flat-bag-7in-x-24in-1-mil-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-27 18:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8915-clean-removal-filament-tape-1-x-60-yds-6-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 18:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-8l-x-5w-x-3h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 18:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/federal-signal-explosion-proof-strobe-light-24-green>: HTTP status code is not handled or not allowed 2026-01-27 18:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-floor-crane-500-lb-capacity-9>: HTTP status code is not handled or not allowed 2026-01-27 18:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats>: HTTP status code is not handled or not allowed 2026-01-27 18:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cf5ds-e-841-5w-compact-fluorescent-w-2g7-base-coolwhite>: HTTP status code is not handled or not allowed 2026-01-27 18:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-mobile-workbench-shop-top-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-jack-2-ton-low-profile>: HTTP status code is not handled or not allowed 2026-01-27 18:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-iron-horse-2300-48-w-x-18-d-x-72-h-5-shelf-storage-rack-black>: HTTP status code is not handled or not allowed 2026-01-27 18:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-og02072120-rs-pro-series-71-1-2-w-x-23-1-2-d-x-23-3-8-h-12-drawer-orange-tool-chest>: HTTP status code is not handled or not allowed 2026-01-27 18:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-plastic-laminate-square-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-27 18:25:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-locker-number-plate-kit-pkg-of-200-numbered-1900-2099>: HTTP status code is not handled or not allowed 2026-01-27 18:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-steel-table-1-shelf-72x36-1200-lb-capacity-unassembled-1>: HTTP status code is not handled or not allowed 2026-01-27 18:25:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series-10500-series-bookcase-two-shelf-harvest>: HTTP status code is not handled or not allowed 2026-01-27 18:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tube-cuff-for-sphygmomanometer-adult-5-1-2w-x-20l>: HTTP status code is not handled or not allowed 2026-01-27 18:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-1078-on-off-on-rocker-switch-20a-250v>: HTTP status code is not handled or not allowed 2026-01-27 18:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-1443-defrost-control-timer-208-240v>: HTTP status code is not handled or not allowed 2026-01-27 18:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/girl-power-at-works721-fitted-non-ansi-safety-vest-hi-viz-pink-4xl-61924>: HTTP status code is not handled or not allowed 2026-01-27 18:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kleengard-a40-cvrll-xl-zip-25>: HTTP status code is not handled or not allowed 2026-01-27 18:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8015071-temperature-control-kit>: HTTP status code is not handled or not allowed 2026-01-27 18:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-hour-task-chair-fabric-black>: HTTP status code is not handled or not allowed 2026-01-27 18:25:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-27 18:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250q-cl-mc-250w-halogen-w-mini-can-base>: HTTP status code is not handled or not allowed 2026-01-27 18:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 18:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461898-temperature-controlboard-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-27 18:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-accessory-bin-cup-2>: HTTP status code is not handled or not allowed 2026-01-27 18:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500q-cl-500w-halogen-w-mini-can-base>: HTTP status code is not handled or not allowed 2026-01-27 18:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-decontamination-shower-16-nozzle-porta300-16e>: HTTP status code is not handled or not allowed 2026-01-27 18:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/separable-roller-follower-metric-nast30zzr-crowned-od-double-shielded-30-mm-bore-62-mm-od>: HTTP status code is not handled or not allowed 2026-01-27 18:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-follower-full-comp-inch-cry56vuu-double-sealed-3-12-od>: HTTP status code is not handled or not allowed 2026-01-27 18:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waste-oil-drain-w-pump-18-gallon-low-profile-plastic>: HTTP status code is not handled or not allowed 2026-01-27 18:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-6>: HTTP status code is not handled or not allowed 2026-01-27 18:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-easy-fold-mailers-17-14l-x-11-14w-x-2h-white-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 18:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-nitrile-gloves-medium-powder-free>: HTTP status code is not handled or not allowed 2026-01-27 18:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266279-release-inside-f-doors-to-4-inch>: HTTP status code is not handled or not allowed 2026-01-27 18:25:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/laundry_detergent already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/282400-breaker-strip-for-perlick-refrigeration>: HTTP status code is not handled or not allowed 2026-01-27 18:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e57-3-36w-miniatures-w-minature-bayonet-base>: HTTP status code is not handled or not allowed 2026-01-27 18:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1-long-sleeve-pullover-hoodie-with-uv-protection-class-3-xl-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-27 18:25:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max001t-waterproof-tackle-box-4-compartments-6-78l-x-4-1732w-x-1-2732h>: HTTP status code is not handled or not allowed 2026-01-27 18:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergotec-pro-wndw-squge-rplcemnt-rbr-12-soft>: HTTP status code is not handled or not allowed 2026-01-27 18:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loom-clamps-stainless-steel-2>: HTTP status code is not handled or not allowed 2026-01-27 18:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krp-150fr-fire-rated-access-door-for-wall-ceil-paddle-handle-48wx48h-krpp4848ph>: HTTP status code is not handled or not allowed 2026-01-27 18:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strain-relief-cord-connectors-10>: HTTP status code is not handled or not allowed 2026-01-27 18:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines>: HTTP status code is not handled or not allowed 2026-01-27 18:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-leg-workbench-with-fixed-height-legs-14>: HTTP status code is not handled or not allowed 2026-01-27 18:25:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/laundry_detergent landed on page that is not a product page. 2026-01-27 18:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x7-2t5-f-7-2w-miniature-sealed-beams-w-mini-wedge-base>: HTTP status code is not handled or not allowed 2026-01-27 18:25:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5rlx-5w-miniature-sealed-beams-w-rigid-loop-base-24v>: HTTP status code is not handled or not allowed 2026-01-27 18:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-strip-door-curtain-6-w-x-13-h>: HTTP status code is not handled or not allowed 2026-01-27 18:25:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010565-control-panelconversion-kit-gas-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-27 18:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-30-computer-workstation-single-sided>: HTTP status code is not handled or not allowed 2026-01-27 18:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x30-maple-butcher-block-square-edge-workbench-with-drawer-riser>: HTTP status code is not handled or not allowed 2026-01-27 18:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings>: HTTP status code is not handled or not allowed 2026-01-27 18:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1522 pages (at 95 pages/min), scraped 782 items (at 41 items/min) 2026-01-27 18:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-stairway-slope-work-platform-24in-x-60in-platform>: HTTP status code is not handled or not allowed 2026-01-27 18:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hipower-ii-classical-section-wrapped-vbelt-gates-a46>: HTTP status code is not handled or not allowed 2026-01-27 18:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010638-potentiometer-kit-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-27 18:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-duck-pond-mini-berm-containment-3-x-3-x-6-5633-ye-f>: HTTP status code is not handled or not allowed 2026-01-27 18:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50r20-r-50w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-27 18:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-mltss-32>: HTTP status code is not handled or not allowed 2026-01-27 18:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-spill-pad-with-grate-24-x-24-x-2-5600-ye>: HTTP status code is not handled or not allowed 2026-01-27 18:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-8-thick-x-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 18:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50r20-a-50w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-27 18:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-3-16-diameter-7x7-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-27 18:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-wood-wardrobe-cabinet-wlocks-solid-door-48w-x-22-14d-x-72h-natural-oakbrown>: HTTP status code is not handled or not allowed 2026-01-27 18:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-basket-vented-wall-red-2>: HTTP status code is not handled or not allowed 2026-01-27 18:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/respirator-cartridge-accessory-vapor-particulates-filter-3>: HTTP status code is not handled or not allowed 2026-01-27 18:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csg15-5in-concrete-surfacing-grinder>: HTTP status code is not handled or not allowed 2026-01-27 18:26:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-flush-mount-ceiling-light-fixture-15w-1120-lumens-12-dia-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-27 18:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1285-locking-plug-nema-l5-20p>: HTTP status code is not handled or not allowed 2026-01-27 18:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010699-hi-limit-for-hatco-corp>: HTTP status code is not handled or not allowed 2026-01-27 18:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-mat-chemical-resistant-2>: HTTP status code is not handled or not allowed 2026-01-27 18:26:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010707-potentiometer-for-hatco-corp>: HTTP status code is not handled or not allowed 2026-01-27 18:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-4-thick-x-1-1-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 18:26:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-1837w-h-style-industrial-plug-3-8-mnpt>: HTTP status code is not handled or not allowed 2026-01-27 18:26:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-metal-174-speedy-loop-153-headband-blue-fully-adjustable-plastic>: HTTP status code is not handled or not allowed 2026-01-27 18:26:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-jc6v-30w-g4>: HTTP status code is not handled or not allowed 2026-01-27 18:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-gm1c-08-b>: HTTP status code is not handled or not allowed 2026-01-27 18:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eyesaline-refill-model-829007>: HTTP status code is not handled or not allowed 2026-01-27 18:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-012-ss>: HTTP status code is not handled or not allowed 2026-01-27 18:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-slide-door-8w-x-10h-10-5-1-4-overall-height>: HTTP status code is not handled or not allowed 2026-01-27 18:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-plastic-sheet-3-8-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 18:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 18:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-777-a-style-aro-plug-1-4-mnpt-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 18:26:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012357-electric-thermostat250-500f-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-27 18:26:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels landed on page that is not a product page. 2026-01-27 18:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/feeding-chair-5-inch-seat-height>: HTTP status code is not handled or not allowed 2026-01-27 18:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x36-maple-safety-edge-mobile-power-apron-production-bench-tan-32313651>: HTTP status code is not handled or not allowed 2026-01-27 18:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/photoluminescent-green-exit-peel-and-stick-self-adhesive-sign>: HTTP status code is not handled or not allowed 2026-01-27 18:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/photoluminescent-man-right-arrow-right-down-nyc-mea-listed-aluminum-sign>: HTTP status code is not handled or not allowed 2026-01-27 18:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-angled-broom-red-flagged-polypropylene-with-steel-handle>: HTTP status code is not handled or not allowed 2026-01-27 18:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-112-ss>: HTTP status code is not handled or not allowed 2026-01-27 18:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-speed-squeegymoss-rubber-with-steel-straight-frame>: HTTP status code is not handled or not allowed 2026-01-27 18:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010390-electrode-assembly-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-27 18:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-12-step-steel-rolling-ladder-10-d-top-step>: HTTP status code is not handled or not allowed 2026-01-27 18:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x30-shop-top-safety-edge-mobile-power-apron-production-bench-blue-32313759>: HTTP status code is not handled or not allowed 2026-01-27 18:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fiberglass-handle-with-compression-lock-60-l-x-1-d>: HTTP status code is not handled or not allowed 2026-01-27 18:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gallon-self-evacuating-oil-drain>: HTTP status code is not handled or not allowed 2026-01-27 18:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1615 pages (at 93 pages/min), scraped 828 items (at 46 items/min) 2026-01-27 18:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-recessed-downlight-fixture-11w-1100-lumens-7-58dia-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 18:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-218-ss>: HTTP status code is not handled or not allowed 2026-01-27 18:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-300-z>: HTTP status code is not handled or not allowed 2026-01-27 18:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-pld-light-bulb-g24q-4-pin-base-9w-950-lumens-3500k-neutral-white-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 18:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009510-temperature-controller>: HTTP status code is not handled or not allowed 2026-01-27 18:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x36-maple-square-edge-power-apron-production-bench-blue-32313832>: HTTP status code is not handled or not allowed 2026-01-27 18:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/talia-quad-cluster-pendant-light-fixture-e26-base-40w-black>: HTTP status code is not handled or not allowed 2026-01-27 18:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-162-b>: HTTP status code is not handled or not allowed 2026-01-27 18:27:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/std050324-10-hp-oil-less-scroll-comp-80-gal-horiz-116-psi-3-phase-208v-refrigerated-dryer>: HTTP status code is not handled or not allowed 2026-01-27 18:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fold-store-service-cart-350-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5x-5-hss-iso-metric-tmx-round-adjustable-die-fine-thread-1-inch-od>: HTTP status code is not handled or not allowed 2026-01-27 18:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-3-piece-cabinet-set-83w-x-21d-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-27 18:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-solenoid-1-8-nptf-3-port-2-pos-normally-clsd-240vac-free-to-atmosphere-exh>: HTTP status code is not handled or not allowed 2026-01-27 18:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-132w-sunbrella-1a-cocoa-fabric>: HTTP status code is not handled or not allowed 2026-01-27 18:27:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-27 18:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761462-replacement-cartridge-7fc5-for-everpure-filter>: HTTP status code is not handled or not allowed 2026-01-27 18:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solid-galvanized-shelf-72x18>: HTTP status code is not handled or not allowed 2026-01-27 18:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-363013-l-grn-bookcase-all-welded-36-wx13-dx30-h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-27 18:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-sngl-acting-4-bore-2-stroke-dbl-side-lug-mount>: HTTP status code is not handled or not allowed 2026-01-27 18:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-steel-stock-picking-ladder-serrated-tread-w-cal-osha-handrail-cal-spl-9-14g>: HTTP status code is not handled or not allowed 2026-01-27 18:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-056-b>: HTTP status code is not handled or not allowed 2026-01-27 18:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-linear-bar-vanity-light-fixture-15w-1200-lumens-18-34l-black>: HTTP status code is not handled or not allowed 2026-01-27 18:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/465-adhesive-transfer-tape-4-x-60-yds-2-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 18:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010353-dual-worklight>: HTTP status code is not handled or not allowed 2026-01-27 18:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-park-avenue-bench-recycled-plastic-6-ft-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia5017-groundbreaker-6-external-met-guard-work-boot-steel-toe-men-s-sz-9-5-w-wide-brown>: HTTP status code is not handled or not allowed 2026-01-27 18:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-table-recycled-plastic-6-ft-black-frame-cedar-ada>: HTTP status code is not handled or not allowed 2026-01-27 18:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia5017-groundbreaker-6-external-met-guard-work-boot-steel-toe-men-s-sz-10-m-wide-brown>: HTTP status code is not handled or not allowed 2026-01-27 18:27:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heritage-bench-recycled-plastic-6-ft-black-frame-green>: HTTP status code is not handled or not allowed 2026-01-27 18:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bussing-tub-22-l-x-16-1-2-w-x-3-4-h-bus-box-lid-for-use-w-fsb-20155r-polypropylene-black>: HTTP status code is not handled or not allowed 2026-01-27 18:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-natural-cable-ties-100-pieces>: HTTP status code is not handled or not allowed 2026-01-27 18:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24-wx83-d-stainless-steel-rolling-safety-ladder-serrated-grating-w-cal-osha-handrail-cal-ss103221g>: HTTP status code is not handled or not allowed 2026-01-27 18:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/materials-handling-safety-booklets>: HTTP status code is not handled or not allowed 2026-01-27 18:27:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-27 18:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-plastic-shopping-basket-22-liter-with-black-plastic-handle-pkg-qty-12>: HTTP status code is not handled or not allowed 2026-01-27 18:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-30rb-ts-storage-cabinet-all-welded-30-wx18-dx72-h-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-27 18:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-w-x-16-h-x-1-d-pleated-merv-8-standard-capacity-air-filter-wire-back-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 18:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-24-h-x-4-d-mini-pleated-merv-15-air-filter-single-header-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 18:27:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondolashelving-baseshelf36x22-796514>: HTTP status code is not handled or not allowed 2026-01-27 18:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-md450mbab42a-12-npt-5-0200-psig-170-scfm>: HTTP status code is not handled or not allowed 2026-01-27 18:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-20-h-x-1-d-pleated-merv-8-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 18:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rl136-portion-control-scale-12-inches-x-12-inches-platform-13-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-24-w-perf-step-w-cal-osha-handrail-cal-wa-sw123214p>: HTTP status code is not handled or not allowed 2026-01-27 18:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-tv-wall-mount-with-built-in-level-for-17-in-42-in-tvs>: HTTP status code is not handled or not allowed 2026-01-27 18:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-jaw-cast-iron-scroll-chuck-plain-back-5-hard-jaws-internal-external-6>: HTTP status code is not handled or not allowed 2026-01-27 18:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-stock-picking-ladder-grip-step>: HTTP status code is not handled or not allowed 2026-01-27 18:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-1-series-type-101-heavy-duty-acetylene-cutting-tip-size-3>: HTTP status code is not handled or not allowed 2026-01-27 18:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1712 pages (at 97 pages/min), scraped 878 items (at 50 items/min) 2026-01-27 18:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-w-x-20-h-x-2-d-pleated-merv-8-standard-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 18:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-357-n-storage-cabinet-all-welded-30-wx15-dx72-h-navy>: HTTP status code is not handled or not allowed 2026-01-27 18:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-flammable-drum-storage-cabinet-58-x-30-x-72>: HTTP status code is not handled or not allowed 2026-01-27 18:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24-w-steel-safety-angle-rolling-ladder-w-handrails-grip-tread-w-cal-osha-handrail-cal-sw1032g>: HTTP status code is not handled or not allowed 2026-01-27 18:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-line-striper-spray-paint>: HTTP status code is not handled or not allowed 2026-01-27 18:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-48722rb-wr-mobile-cabinet-all-welded-48-wx24-dx72-h-wine-red>: HTTP status code is not handled or not allowed 2026-01-27 18:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-steel-safety-rolling-ladder-w-weight-actuated-lock-16-w-serrated-step-orange-w-cal-osha-handrail-cal-wa082414g-o>: HTTP status code is not handled or not allowed 2026-01-27 18:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1385101-pro-web-positioning-lanyard-6l-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-27 18:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-electrodes-for-tens-unit-replacement-electrode-pads>: HTTP status code is not handled or not allowed 2026-01-27 18:28:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-27 18:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-steel-stock-picking-ladder-expanded-tread-w-cal-osha-handrail-cal-spl-7-14nx>: HTTP status code is not handled or not allowed 2026-01-27 18:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-3624rb-wal-mobile-cabinet-all-welded-36-wx24-dx60-h-walnut>: HTTP status code is not handled or not allowed 2026-01-27 18:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-24-w-steel-safety-angle-orange-rolling-ladder-w-handrails-perforated-tread-w-cal-osha-handrail-cal-sw630p-o>: HTTP status code is not handled or not allowed 2026-01-27 18:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelchair-seat-belt-auto-type-closure-60-inch>: HTTP status code is not handled or not allowed 2026-01-27 18:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-single-tier-12x18x72-with-legs-3-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-double-tier-12x18x36-with-legs-2-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr240-submersible-vhf-marine-handheld-portable-radio>: HTTP status code is not handled or not allowed 2026-01-27 18:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vectra174-floor-finish-ammonia-scent-5-gallon-box>: HTTP status code is not handled or not allowed 2026-01-27 18:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-inch-fan-shroud-merv-6-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 18:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axle-bracket-kit-with-one-1-2-diameter-48-long-axle>: HTTP status code is not handled or not allowed 2026-01-27 18:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slip-strip-self-adhesive-label-holder-strip-48l-x-1-14h-clearblack-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 18:28:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radios already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:28:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/packaged_terminal_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-set-urethane-for-nilfisk-advance-56115335-nilfisk-advance-56112252>: HTTP status code is not handled or not allowed 2026-01-27 18:28:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/takeout_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-inward-swing-partition-door-w-hardware-24w-almond>: HTTP status code is not handled or not allowed 2026-01-27 18:28:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s102055-wire-rope-sling-1-2-x-16-eye-and-eye-3800-5000-10000-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 18:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-showerhoriz-drench-s19-120a>: HTTP status code is not handled or not allowed 2026-01-27 18:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-eye-wash-station-s19-210b>: HTTP status code is not handled or not allowed 2026-01-27 18:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-magnetic-roll-stock-100l-x-3h-x-003-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 18:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/packaged_terminal_air_conditioners>: HTTP status code is not handled or not allowed 2026-01-27 18:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b152001-3-quad-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-27 18:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/foodservice_disposables/takeout_containers>: HTTP status code is not handled or not allowed 2026-01-27 18:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151140-16-double-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-27 18:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-27 18:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151053-3-single-leg-chain-sling-w-grab-hook>: HTTP status code is not handled or not allowed 2026-01-27 18:28:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radios landed on page that is not a product page. 2026-01-27 18:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bishamon-mobilift-double-scissor-lift-table-660lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-18w-x-82h-royal-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duraline-economy-tubular-dunnage-rack-24-inch-w-36-inch-l-12-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 18:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-dunnage-rack-24-inch-w-60-inch-l-12-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 18:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-squeegee-set-for-nilfisk-advance-56409413>: HTTP status code is not handled or not allowed 2026-01-27 18:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-nilfisk-advance-56393285>: HTTP status code is not handled or not allowed 2026-01-27 18:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warehouse-safety-employee-booklet>: HTTP status code is not handled or not allowed 2026-01-27 18:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tracmat-12l-x-3w-for-12-x-12-containment-berm-2-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152066-3-poly-web-sling-endless-4900-6200-12400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 18:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151088-12-double-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-27 18:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-danger-no-smoking-rigid-plastic-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-27 18:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1874-1-8-1-2-x-1-32-hss-heavy-duty-bright-118-step-drill>: HTTP status code is not handled or not allowed 2026-01-27 18:28:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1805 pages (at 93 pages/min), scraped 924 items (at 46 items/min) 2026-01-27 18:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-056-s>: HTTP status code is not handled or not allowed 2026-01-27 18:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn63363-hand-knob-26102-8433-m8-x-125-8nx44>: HTTP status code is not handled or not allowed 2026-01-27 18:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7111-02-flexrist-wrist-support-black-x-large>: HTTP status code is not handled or not allowed 2026-01-27 18:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/post-floor-glide-package-of-4>: HTTP status code is not handled or not allowed 2026-01-27 18:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-skirt-set-apex-for-nilfisk-advance-56510374>: HTTP status code is not handled or not allowed 2026-01-27 18:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-with-keyway-2c-kw-series-climax-2c-100-kw>: HTTP status code is not handled or not allowed 2026-01-27 18:29:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions landed on page that is not a product page. 2026-01-27 18:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cluster-box-unit-16-a-size-doors-type-iii-black-usps-access>: HTTP status code is not handled or not allowed 2026-01-27 18:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-hdpe-carboy-with-steel-handle-20-liter-case-of-4>: HTTP status code is not handled or not allowed 2026-01-27 18:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-brush-stainless-steel-set-3-nozzles-hard-bristles-for-sgv-6-5-2-863-007-0>: HTTP status code is not handled or not allowed 2026-01-27 18:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-mouth-hdpe-ip2-bottles-125ml-case-of-72>: HTTP status code is not handled or not allowed 2026-01-27 18:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/letter-size-21-compartment-steel-literature-sorter-putty>: HTTP status code is not handled or not allowed 2026-01-27 18:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arrow-shed-steel-woodridge-10-x-8>: HTTP status code is not handled or not allowed 2026-01-27 18:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-table-with-book-boxes-casters-phenolic-top-adjustable-height-30-x-60-black-oak>: HTTP status code is not handled or not allowed 2026-01-27 18:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-3w-x-82h-folkstone-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hose-assembly-smooth-for-pacific-steamex-67512690>: HTTP status code is not handled or not allowed 2026-01-27 18:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-137-137-s>: HTTP status code is not handled or not allowed 2026-01-27 18:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-062-s>: HTTP status code is not handled or not allowed 2026-01-27 18:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27017-8140ba-type-o-class-1-breakaway-sash-orange-ml>: HTTP status code is not handled or not allowed 2026-01-27 18:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-iv-series-guest-chairs-2480-x-2283-x-3228-black-2carton>: HTTP status code is not handled or not allowed 2026-01-27 18:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tmt-cdf2-dial-deep-fryer-thermometer>: HTTP status code is not handled or not allowed 2026-01-27 18:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40903-2x-dog-life-vest-yellow-2x-large>: HTTP status code is not handled or not allowed 2026-01-27 18:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-replacement-chin-strap-novent-bivent>: HTTP status code is not handled or not allowed 2026-01-27 18:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5912w-olive>: HTTP status code is not handled or not allowed 2026-01-27 18:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-flame-resistant-safety-coveralls-4xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-27 18:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versasure-cleaner-disinfectant-wipes-1-ply-6-34-x-8-white-85-towelscan>: HTTP status code is not handled or not allowed 2026-01-27 18:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-031-bo>: HTTP status code is not handled or not allowed 2026-01-27 18:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-8-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 18:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-t8t12-15-w-t8-tube-cool-white-6carton>: HTTP status code is not handled or not allowed 2026-01-27 18:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmb-18-magnetic-bar>: HTTP status code is not handled or not allowed 2026-01-27 18:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedcartt-18-60-63-back-to-back-40-cells-13-8-11>: HTTP status code is not handled or not allowed 2026-01-27 18:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-erase-surface-cleaner-1gal-bottle>: HTTP status code is not handled or not allowed 2026-01-27 18:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosion-resistant-set-screw-collar-cr-climax-crc-009>: HTTP status code is not handled or not allowed 2026-01-27 18:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-centrifugal-pump-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 18:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ir-higher-performance-polyolefin-cf-shrink-film-45-ga-18w-x-5830l-clear-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 18:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sct-10-creamer-w-cover-10-oz-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:29:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-padding-set-for-v-gard-h2-safety-helmet-black>: HTTP status code is not handled or not allowed 2026-01-27 18:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-duct-tape-2-88-x-30-yards>: HTTP status code is not handled or not allowed 2026-01-27 18:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-0-015-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-27 18:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-glue-8-ounces>: HTTP status code is not handled or not allowed 2026-01-27 18:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1898 pages (at 93 pages/min), scraped 978 items (at 54 items/min) 2026-01-27 18:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-1-500-thick-36-x-48>: HTTP status code is not handled or not allowed 2026-01-27 18:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx7225st-rx-series-optional-72-w-x-25-d-x-1-h-stainless-steel-top>: HTTP status code is not handled or not allowed 2026-01-27 18:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx412511rcbl-professional-41-1-2-w-x-25-d-x-40-1-2-h-11-drawer-blue-roller-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 18:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-27 18:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-0-250-x-48-000-x-96-000>: HTTP status code is not handled or not allowed 2026-01-27 18:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-series-8-direct-heat-foot-sealer-standing-operation-15mm-meshed-seal-width>: HTTP status code is not handled or not allowed 2026-01-27 18:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-makrofol-de1-1-g-g-pc-film-0-020-x-24-x-48-50-sheet-case>: HTTP status code is not handled or not allowed 2026-01-27 18:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-fluid-level-sight-glass-w-o-reflector-g-1-1-4-pipe-thread-r09-b>: HTTP status code is not handled or not allowed 2026-01-27 18:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx723019rcgnbk-250-professional-72-19-drawer-green-triple-bank-roller-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 18:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-de7-2-velvet-fine-matte-polycarbonate-0-015-x-24-x-48-75-sheet-case>: HTTP status code is not handled or not allowed 2026-01-27 18:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-18wx18dx78h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 18:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-093-a>: HTTP status code is not handled or not allowed 2026-01-27 18:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-forged-brass-pressure-gauge-1-4-npt-0-5000-psi-glycerine-filled-lm-601l-254r>: HTTP status code is not handled or not allowed 2026-01-27 18:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emax-erv0150001-15-hp-rotary-screw-compressor-tankless-145-psi-70-cfm-1ph-208-230v>: HTTP status code is not handled or not allowed 2026-01-27 18:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-1-4-x-11-1-2-x-11-9-7-5-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 18:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tkp-42-turner-4l-blade-8-w-black-polypropylene-handle>: HTTP status code is not handled or not allowed 2026-01-27 18:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16in-high-speed-surfacing-machine-1-5-hp-3450-rpm-496898>: HTTP status code is not handled or not allowed 2026-01-27 18:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-glowear-8289-eco-recycled-hi-vis-t-shirt-class-2-m-lime>: HTTP status code is not handled or not allowed 2026-01-27 18:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-table-24-wide-top-w-turned-up-edge-at-rear-30-long-14-gauge-1-12-rear-splash>: HTTP status code is not handled or not allowed 2026-01-27 18:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-x-30-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-27 18:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-16>: HTTP status code is not handled or not allowed 2026-01-27 18:30:21 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 18:30:22 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:1 2026-01-27 18:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbs-24-silicone-baking-mat-24-1-2l-16-5-8w-rectangular>: HTTP status code is not handled or not allowed 2026-01-27 18:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axap-14-aluminum-sauce-pot>: HTTP status code is not handled or not allowed 2026-01-27 18:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-door-siding-100-silicone-rubber-sealant-9-8-oz-black-7079808642>: HTTP status code is not handled or not allowed 2026-01-27 18:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-aqua-burnish-pad-3100-20-in-5-case>: HTTP status code is not handled or not allowed 2026-01-27 18:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-clamp-with-pin-6-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ahc-6-fry-pan>: HTTP status code is not handled or not allowed 2026-01-27 18:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0385l2-hivis-iron-tuff-high-bib-overall-regular-hivis-orange-5xl>: HTTP status code is not handled or not allowed 2026-01-27 18:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-shelf-truck-mesh-sides-2-adj-shlv-3600-lb-cap-24-48-6-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-27 18:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/doral-task-chair-mid-back-articulating-tilt-21-26h-seat-blackchrome>: HTTP status code is not handled or not allowed 2026-01-27 18:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-3-x-48-225-edge-protectors-cased>: HTTP status code is not handled or not allowed 2026-01-27 18:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-top-sheets-48x48-1-5-mil-600-rl>: HTTP status code is not handled or not allowed 2026-01-27 18:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-w-keyway-climax-2iscc-112-100kw>: HTTP status code is not handled or not allowed 2026-01-27 18:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-24x14>: HTTP status code is not handled or not allowed 2026-01-27 18:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afp-10s-fry-pan>: HTTP status code is not handled or not allowed 2026-01-27 18:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-bxfootlockervented24x18x72grall-welded>: HTTP status code is not handled or not allowed 2026-01-27 18:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f24676-0003-polypropylene-spill-containment-tray-with-grid>: HTTP status code is not handled or not allowed 2026-01-27 18:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vanguard-series-gas-engine-horizontal-shaft-pull-start-5-hp>: HTTP status code is not handled or not allowed 2026-01-27 18:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/132c-ice-logger-boot-regular-tan-6-5>: HTTP status code is not handled or not allowed 2026-01-27 18:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slimline-rectangular-trash-can-23-gal-cap-black>: HTTP status code is not handled or not allowed 2026-01-27 18:30:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/glass_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-34>: HTTP status code is not handled or not allowed 2026-01-27 18:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0021-04-continental-bouillon-spoon>: HTTP status code is not handled or not allowed 2026-01-27 18:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0488-insulated-quilted-sweatshirt-regular-navy-2xl>: HTTP status code is not handled or not allowed 2026-01-27 18:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-lift-standard-scissor-lift-table-hand-operated-2000-lb-capacity-48l-x-24w>: HTTP status code is not handled or not allowed 2026-01-27 18:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s2172s-stainless-steel-wire-shelf-72w-x-21d>: HTTP status code is not handled or not allowed 2026-01-27 18:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-zlink-respirator-with-fr-face-seal>: HTTP status code is not handled or not allowed 2026-01-27 18:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-recessed-screw-climax-tc-087-14>: HTTP status code is not handled or not allowed 2026-01-27 18:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/glass_cleaners>: HTTP status code is not handled or not allowed 2026-01-27 18:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 1997 pages (at 99 pages/min), scraped 1029 items (at 51 items/min) 2026-01-27 18:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-lift-standard-scissor-lift-table-hand-operated-2000-lb-capacity-64l-x-48w>: HTTP status code is not handled or not allowed 2026-01-27 18:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghs-skull-crossbones-pictogram-placard-10-3-4-x-10-3-4>: HTTP status code is not handled or not allowed 2026-01-27 18:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0381r-iron-tuff-minus-50-suit-short-navy-small>: HTTP status code is not handled or not allowed 2026-01-27 18:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-soft-face-sledge-hammer-25-lb-head-12l-unbreakable-steel-core-handle>: HTTP status code is not handled or not allowed 2026-01-27 18:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-laminate-floor-cleaner-gallon-bottle-4-bottles-case-1041692>: HTTP status code is not handled or not allowed 2026-01-27 18:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-l4-light-w-strap-mount-unit>: HTTP status code is not handled or not allowed 2026-01-27 18:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-l-x-30-w-16-gauge-stainless-steel-workbench-w-undershelf-le-sink>: HTTP status code is not handled or not allowed 2026-01-27 18:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-recessed-screw-climax-tc-150-12>: HTTP status code is not handled or not allowed 2026-01-27 18:31:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sstc-60-cover-for-sst-24>: HTTP status code is not handled or not allowed 2026-01-27 18:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fold-in-half-resin-table-38-half-square-top-black>: HTTP status code is not handled or not allowed 2026-01-27 18:31:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legal-size-fireproof-file-cabinet-21-w-x-31-1-2-d-x-28-h-putty>: HTTP status code is not handled or not allowed 2026-01-27 18:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ts300-020-electric-chain-hoist-3-ton-capacity-20-lift-215-fpm-230v>: HTTP status code is not handled or not allowed 2026-01-27 18:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-dividable-plastic-tote-box-22-l-x-17-w-x-10-h-2>: HTTP status code is not handled or not allowed 2026-01-27 18:31:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-sided-street-sign-poster-white-28-9-10-l-x-26-3-4-w-x-44-11-16-h>: HTTP status code is not handled or not allowed 2026-01-27 18:31:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners landed on page that is not a product page. 2026-01-27 18:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z-link-pivot-assembly>: HTTP status code is not handled or not allowed 2026-01-27 18:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-27 18:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-px5-fan-housing>: HTTP status code is not handled or not allowed 2026-01-27 18:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-w-keyway-climax-iscc-200-200skw>: HTTP status code is not handled or not allowed 2026-01-27 18:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems>: HTTP status code is not handled or not allowed 2026-01-27 18:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-inch-x-5-yards-self-adhesive-bandage-non-latex-orange-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-27 18:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bstop-08wm-bleed-stop-active-shooter-wall-mount-system-multi-use-multi-injury>: HTTP status code is not handled or not allowed 2026-01-27 18:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-5-yards-self-adhesive-bandage-non-latex-tan-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 18:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-100-s>: HTTP status code is not handled or not allowed 2026-01-27 18:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorola-cls-series-2-way-radio-4-channel>: HTTP status code is not handled or not allowed 2026-01-27 18:31:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glc-01010-pre-cleaned-clean-glass-screw-thread-sample-vials-8-dram-30ml-case-of-144>: HTTP status code is not handled or not allowed 2026-01-27 18:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-single-sided-upright-43>: HTTP status code is not handled or not allowed 2026-01-27 18:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-picnic-table-polished-gray-limestone-top-tan-river-rock-leg>: HTTP status code is not handled or not allowed 2026-01-27 18:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hbs-916-9-x-16-horizontal-bandsaw-1-12-hp-1-phase-115230v>: HTTP status code is not handled or not allowed 2026-01-27 18:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-outdoor-steel-picnic-bench-with-backrest-perforated-metal-green>: HTTP status code is not handled or not allowed 2026-01-27 18:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1306317-western-solenoid-56131k-1>: HTTP status code is not handled or not allowed 2026-01-27 18:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1114-regulator-38-npt-250-psi-gauge-not-included>: HTTP status code is not handled or not allowed 2026-01-27 18:31:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems landed on page that is not a product page. 2026-01-27 18:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1496505-universal-spreader-hold-down>: HTTP status code is not handled or not allowed 2026-01-27 18:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-12-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d126rb-osha-sign-danger-flammable-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-27 18:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-square-platter-led-flush-mount-light-30w-120v-3000k-brush-nickle>: HTTP status code is not handled or not allowed 2026-01-27 18:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-with-keyway-c-kw-series-climax-c-150-kw>: HTTP status code is not handled or not allowed 2026-01-27 18:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-12-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-156>: HTTP status code is not handled or not allowed 2026-01-27 18:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-12-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1457120-swenson-conveyor-chain-04043-043-00>: HTTP status code is not handled or not allowed 2026-01-27 18:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24050-cut-off-wheel-type-1-stud-king-14-inch-x-3-32-inch-x-1-inch-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 18:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-add-on-unit-30-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 18:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1440-3-geared-head-engine-lathe-with-newall-dp700-dro-collet-closer-3-hp-3ph-460v>: HTTP status code is not handled or not allowed 2026-01-27 18:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-starter-unit-solid-galvanized-steel-54w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 18:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 2092 pages (at 95 pages/min), scraped 1077 items (at 48 items/min) 2026-01-27 18:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-gauging-table-kit-for-oversize-punch-120t-ironworkers-older-100t-dlx>: HTTP status code is not handled or not allowed 2026-01-27 18:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-able-shipping-container-with-lid-41-x-29-9>: HTTP status code is not handled or not allowed 2026-01-27 18:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mas-4r-round-ashtray-4d-red-plastic>: HTTP status code is not handled or not allowed 2026-01-27 18:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dandux-vinyl-basket-truck-bulk-truck-24-bushel-red>: HTTP status code is not handled or not allowed 2026-01-27 18:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0005-05-dots-dinner-fork>: HTTP status code is not handled or not allowed 2026-01-27 18:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-062-062-s>: HTTP status code is not handled or not allowed 2026-01-27 18:32:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-5-heavy-d-uty-swivel-caster-for-rubbermaid-trademaster-carts>: HTTP status code is not handled or not allowed 2026-01-27 18:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jmd-18-millingdrilling-machine-w-r-8-taper-2hp-115230v-1ph>: HTTP status code is not handled or not allowed 2026-01-27 18:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-hardware-kit-for-rubbermaid-utility-carts>: HTTP status code is not handled or not allowed 2026-01-27 18:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-double-wide-climax-d2c-075>: HTTP status code is not handled or not allowed 2026-01-27 18:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dandux-vinyl-basket-truck-bulk-truck-12-bushel-red>: HTTP status code is not handled or not allowed 2026-01-27 18:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-roll-no-adhesive-75a-14-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-60a-116-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 18:32:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/foodservice_carts/food_transport_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-b-cart-cm-machinist-tool-cart-1500-lb-cap-24w-x-12d-x-12h-blueblack>: HTTP status code is not handled or not allowed 2026-01-27 18:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-stacking-box-green-16-1-2x11-3-8x4-5-8>: HTTP status code is not handled or not allowed 2026-01-27 18:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-20-1-2x12-7-8-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-no-adhesive-50a-116-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-24-3-8x14-7-8-red>: HTTP status code is not handled or not allowed 2026-01-27 18:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cord-spring-rewind-reels-single-industrial-receptacle-35-cord-12-awg>: HTTP status code is not handled or not allowed 2026-01-27 18:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/body-harness-pass-thru-leg-strap>: HTTP status code is not handled or not allowed 2026-01-27 18:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cord-spring-rewind-reels-single-industrial-receptacle-35-cord-16-awg>: HTTP status code is not handled or not allowed 2026-01-27 18:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pcb-8-8-compartment-cutlery-basket-with-handle>: HTTP status code is not handled or not allowed 2026-01-27 18:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-avant-caster-with-swivel-plate-with-total-lock-2-1-2-x-3-5-8-plate-220-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 18:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cord-spring-rewind-reels-100-cord-12-awg-less-accessory>: HTTP status code is not handled or not allowed 2026-01-27 18:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-450-galvanized-clip-drop-forged-5-16>: HTTP status code is not handled or not allowed 2026-01-27 18:32:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/foodservice_carts/food_transport_carts landed on page that is not a product page. 2026-01-27 18:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-322an-alloy-hook-swivel-w-latch-1-5t-wll>: HTTP status code is not handled or not allowed 2026-01-27 18:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-with-acrylic-adhesive-60a-116-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 18:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-row-national-rep-aluminum-bleacher-27-wide-double-footboard>: HTTP status code is not handled or not allowed 2026-01-27 18:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-immersion-heater-tank-4000-240v-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suit-hanger-rubber-white-30-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50198-9s-fiber-disc-4-1-2-inch-x-7-8-inch-80-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-27 18:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-15-s>: HTTP status code is not handled or not allowed 2026-01-27 18:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-450-galvanized-clip-drop-forged-7-8>: HTTP status code is not handled or not allowed 2026-01-27 18:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-plate-for-modular-magnetic-perch-containers-white>: HTTP status code is not handled or not allowed 2026-01-27 18:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-137-dt>: HTTP status code is not handled or not allowed 2026-01-27 18:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22481-cut-off-wheel-type-1-ceramic-5-inch-x-045-inch-x-7-8-inch-ceramic-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 18:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23325-cut-off-wheel-type-1-z-tech-5-inch-x-045-inch-x-7-8-inch-zirconium>: HTTP status code is not handled or not allowed 2026-01-27 18:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/450p-multi-purpose-bench-vise-with-swivel-base-4-12-jaw-width-2-14-throat-depth>: HTTP status code is not handled or not allowed 2026-01-27 18:32:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hammers_mallets/mallets_soft_face_hammers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23150-cut-off-wheel-type-1-saitech-3-inch-x-035-inch-x-3-8-inch-ceramic-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 18:32:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-60a-38-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:32:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ball-pein-hammer-36-oz-head-17l>: HTTP status code is not handled or not allowed 2026-01-27 18:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-1524-swing-bolts-steel-w-extended-thread-length-blackened-m8-2-3-8-l-5-16-i-d>: HTTP status code is not handled or not allowed 2026-01-27 18:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-7328-closet-door-finger-pull-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-1288-sliding-door-handle-set-with-10-inch-pull-white>: HTTP status code is not handled or not allowed 2026-01-27 18:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24-w-perforated-safety-angle-ladder>: HTTP status code is not handled or not allowed 2026-01-27 18:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-7125-mirror-door-roller-1-12-inch-nylon-wheel>: HTTP status code is not handled or not allowed 2026-01-27 18:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-6086-bath-tub-splash-guard-9-in-x-10-34-in-plastic-white>: HTTP status code is not handled or not allowed 2026-01-27 18:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ball-pein-hammer-26-oz-head-17l>: HTTP status code is not handled or not allowed 2026-01-27 18:32:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 18:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars>: HTTP status code is not handled or not allowed 2026-01-27 18:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-bh-61-536f-36-oz-steel-flat-hard-face-hammer-13l-handle>: HTTP status code is not handled or not allowed 2026-01-27 18:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/112-quad-ring-xring-12id-x-1116od-70-duro-round-black-pkg-100>: HTTP status code is not handled or not allowed 2026-01-27 18:32:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/hammers_mallets/mallets_soft_face_hammers landed on page that is not a product page. 2026-01-27 18:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-cart-poly-green-24l-x-24w-x-40h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 18:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/210-quad-ring-xring-34id-x-1od-70-duro-round-black-pkg-100>: HTTP status code is not handled or not allowed 2026-01-27 18:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 2185 pages (at 93 pages/min), scraped 1114 items (at 37 items/min) 2026-01-27 18:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-749-threaded-pipe-plugs-steel-zinc-plated-w-nbr-synthetic-rubber-seal-m-16-x-1-5>: HTTP status code is not handled or not allowed 2026-01-27 18:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-6519-closet-door-roller-1-left-1-right-78-inch-nylon-ball-bearing-wheel>: HTTP status code is not handled or not allowed 2026-01-27 18:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-hook-stake-unpainted>: HTTP status code is not handled or not allowed 2026-01-27 18:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-strength-semiclear-fda-silicone-rubber-sheet-no-adhesive-50a-132-thick-x-36-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-27 18:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l100-150wo-20-hand-chain-hoist-with-overload-protection-1-12-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-27 18:33:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-12x12x60-3-door-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-15x18x72-3-door-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53205-332-ball-end-t-handle>: HTTP status code is not handled or not allowed 2026-01-27 18:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slip-roll-1-hp-single-phase-220v-sr-5016>: HTTP status code is not handled or not allowed 2026-01-27 18:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-bender-110v-rdb-150-as>: HTTP status code is not handled or not allowed 2026-01-27 18:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-sheet-panel-truck-30-x-48>: HTTP status code is not handled or not allowed 2026-01-27 18:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-spillpal-foam-wall-spill-containment-berm-30l-x-12w-x-4h-black>: HTTP status code is not handled or not allowed 2026-01-27 18:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-27 18:33:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-bracket-vehicle-mount-use-for-models-b456-322>: HTTP status code is not handled or not allowed 2026-01-27 18:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-in-1-combination-shear-brake-and-roll-12-bed-width-20-gauge>: HTTP status code is not handled or not allowed 2026-01-27 18:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-manual-metal-shear-12-blade-length-1875-mild-steel-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-explosion-proof-motor-1-5hp-3450rpm-56-epfc-60hz-automatic-1sf-rigid>: HTTP status code is not handled or not allowed 2026-01-27 18:33:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/shrinker_stretchers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-roller-latch-1-11-16-x-2-1-4-strike>: HTTP status code is not handled or not allowed 2026-01-27 18:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 18:33:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-70a-332-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 18:33:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:33:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-25kalj>: HTTP status code is not handled or not allowed 2026-01-27 18:33:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manually-operated-8-open-ended-letter-brake-20-gauge-mild-steel-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-j-trim-in-louvre-granite-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/630-516-516-3-hollow-shaft-nut-driver-w-cushion-grip>: HTTP status code is not handled or not allowed 2026-01-27 18:33:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 18:33:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/shrinker_stretchers landed on page that is not a product page. 2026-01-27 18:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vik-vehicle-wash-brush-w-polyester-bristles-9-1-16-l-x-3-15-16-w>: HTTP status code is not handled or not allowed 2026-01-27 18:33:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-27 18:33:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-27 18:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-50a-38-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:33:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 18:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/numbered-cones-1-20-yellow>: HTTP status code is not handled or not allowed 2026-01-27 18:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ubiz0230-replacement-circuit-breaker-type-ubiz-rc3830-2-pole-30a>: HTTP status code is not handled or not allowed 2026-01-27 18:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-1lf>: HTTP status code is not handled or not allowed 2026-01-27 18:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x20-fall-safety-net-with-debris-liner-black>: HTTP status code is not handled or not allowed 2026-01-27 18:33:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x40-fall-safety-net-with-debris-liner-black>: HTTP status code is not handled or not allowed 2026-01-27 18:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-3-ft-ball-transfer-table-39-inch-between-frame-4-inch-ball-center>: HTTP status code is not handled or not allowed 2026-01-27 18:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x12x39-8>: HTTP status code is not handled or not allowed 2026-01-27 18:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p23122-vision-snap-fly-front-pants-fluorescent-yellowgreen-md>: HTTP status code is not handled or not allowed 2026-01-27 18:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-10-ft-18-inch-w-1-9-inch-dia-galvanized-rollers-15-inch-between-rail-4-5-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-27 18:33:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-27 18:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o22007-iron-eagle-plain-front-overall-gold-snaplock-buckles-4xl>: HTTP status code is not handled or not allowed 2026-01-27 18:33:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-cigarette-receptacle-satin>: HTTP status code is not handled or not allowed 2026-01-27 18:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 2275 pages (at 90 pages/min), scraped 1161 items (at 47 items/min) 2026-01-27 18:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-12x12x72-3-door-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-550-coupling-1-2-female-npt-industrial-interchange-1-2>: HTTP status code is not handled or not allowed 2026-01-27 18:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1300-rubber-hitop-overshoes-black-cleated-outsole-md>: HTTP status code is not handled or not allowed 2026-01-27 18:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-part-carbonless-inventory-tag-pre-wired-4000-4499-8-6-14l-x-3-18w-500pack>: HTTP status code is not handled or not allowed 2026-01-27 18:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j26002-bomber-hooded-jacket-fluorescent-yellowgreenblack-2xl>: HTTP status code is not handled or not allowed 2026-01-27 18:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-0-375-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-27 18:34:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-02f-direct-acting-solenoid-valve-3-2-nc-epdm-seal-1-2-nptf-3mm-220vac-31va>: HTTP status code is not handled or not allowed 2026-01-27 18:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j26002-bomber-hooded-jacket-fluorescent-yellowgreenblack-3xl>: HTTP status code is not handled or not allowed 2026-01-27 18:34:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-27 18:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-rubber-wall-base-4-in-x-48-in-slate>: HTTP status code is not handled or not allowed 2026-01-27 18:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-03f-hung-diaphragm-solenoid-valve-2-2-nc-fkm-seal-1-nptf-25mm-110v-ac-31va>: HTTP status code is not handled or not allowed 2026-01-27 18:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-hot-melt-tape-2-x-55-yds-25-mil-clear-6pack>: HTTP status code is not handled or not allowed 2026-01-27 18:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o23122-vision-snap-fly-front-overall-fluorescent-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-27 18:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireway-husky-tear-drop-pallet-rack-add-on-108x42x120>: HTTP status code is not handled or not allowed 2026-01-27 18:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireway-husky-tear-drop-pallet-rack-108x42x144>: HTTP status code is not handled or not allowed 2026-01-27 18:34:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-27 18:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-38-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-60x24x63-nexelon-finish>: HTTP status code is not handled or not allowed 2026-01-27 18:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-heavy-duty-pegboard-cabinet-12-gauge-36-3-16-w-x-24-1-16-d-x-78-h>: HTTP status code is not handled or not allowed 2026-01-27 18:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-14-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-red-brass-seamless-standard-38-3-npt-male>: HTTP status code is not handled or not allowed 2026-01-27 18:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-wagon-step-down-gas-pressure-regulator-for-heat-wagon-ductable-dual-fuel-heaters>: HTTP status code is not handled or not allowed 2026-01-27 18:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j53129-comfortbrite-jacket-fluorescent-orange-5xl>: HTTP status code is not handled or not allowed 2026-01-27 18:34:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-27 18:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-rod-1-000-dia>: HTTP status code is not handled or not allowed 2026-01-27 18:34:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-048011-27605-6x12-radial-bristle-brsh-50-grit>: HTTP status code is not handled or not allowed 2026-01-27 18:34:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-with-high-temp-adhesive-50a-18-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 18:34:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-316-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:34:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v70642-job-sight-twotone-class-2-vest-fluorescent-lime-lxl>: HTTP status code is not handled or not allowed 2026-01-27 18:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 18:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pac-kit-weatherproof-plastic-ansi-plus-pac-kit-10-first-aid-kit>: HTTP status code is not handled or not allowed 2026-01-27 18:34:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 18:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-7-5-34l-x-2-78w-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:34:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-27 18:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-60a-12-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 18:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 18:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j56207-durascrim-storm-fly-front-jacket-yellow-hood-snaps-sm>: HTTP status code is not handled or not allowed 2026-01-27 18:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-bunan-rubber-strip-with-acrylic-adhesive-50a-14-thick-x-12-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-system-120-lb-w-base>: HTTP status code is not handled or not allowed 2026-01-27 18:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-rubber-sheet-no-adhesive-40a-38-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 18:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-20-bu-blue-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 18:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-72x48x84-gray-with-3-level-wood-deck-750lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 18:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o24129-icon-snap-fly-front-overall-fluorescent-orange-4xl>: HTTP status code is not handled or not allowed 2026-01-27 18:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-nema-4x-thermostat-model-tf115023>: HTTP status code is not handled or not allowed 2026-01-27 18:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-60a-14-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-27 18:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-gsm-sheet-cast-1-750-thick-x-24-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-27 18:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-70a-18-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 18:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-1-2-34l-x-1-38w--fluorescent-yellow-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-starter-rack-36x18x84-gray-with-3-levels-no-deck-1500lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 18:34:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-wall-stop-concave-2-1-2-dia-chromium-plated>: HTTP status code is not handled or not allowed 2026-01-27 18:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-60a-14-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 18:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-wire-truck-40-cu-ft-red-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 18:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-3-a-crs048011-05532>: HTTP status code is not handled or not allowed 2026-01-27 18:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cabinet-1-door-4-drawer-36-inch-w-x-18-inch-d-x-35-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 18:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 2366 pages (at 91 pages/min), scraped 1198 items (at 37 items/min) 2026-01-27 18:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-nsm-sheet-0-375-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-27 18:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-wheeled-floor-brush-17-l>: HTTP status code is not handled or not allowed 2026-01-27 18:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-cone-nozzle-7-3-4-l-yellow>: HTTP status code is not handled or not allowed 2026-01-27 18:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-oil-filled-cast-nylon-tube-1-250-id-x-3-od-x-26-l>: HTTP status code is not handled or not allowed 2026-01-27 18:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c53122-comfortbrite-coat-fluorescent-lime-xl>: HTTP status code is not handled or not allowed 2026-01-27 18:34:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-27 18:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accuglide-2-taping-head-lower-taping-head-2>: HTTP status code is not handled or not allowed 2026-01-27 18:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-ld-free-standing-tool-solutions-jib-crane-4-ft-span-and-10-ft-height-under-boom-150-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-50a-14-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 18:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-8-6-14l-x-3-18w-fluorescent-yellow-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-vacuum-hose-white-30-l>: HTTP status code is not handled or not allowed 2026-01-27 18:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-72x24x84-gray-with-3-shelves-laminated-deck-900-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 18:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-table-3-shelves-18-x-32>: HTTP status code is not handled or not allowed 2026-01-27 18:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o32007-american-plain-front-overall-yellow-sm>: HTTP status code is not handled or not allowed 2026-01-27 18:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usb-wired-optical-quiet-click-mouse-for-mac-pc-space-gray-black-dynamousesg>: HTTP status code is not handled or not allowed 2026-01-27 18:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-ultra-slim-usb-wired-keyboard-for-mac-and-pc-acekeya>: HTTP status code is not handled or not allowed 2026-01-27 18:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-capacity-tablet-charging-cart>: HTTP status code is not handled or not allowed 2026-01-27 18:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ring-master-bathroom-cleaner-quart-bottle-with-angled-neck-12-bottles-case>: HTTP status code is not handled or not allowed 2026-01-27 18:35:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-workbench-w-open-base-24-x-60>: HTTP status code is not handled or not allowed 2026-01-27 18:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-top-machine-table-24-x-36-x-36-w-accessory-drawer>: HTTP status code is not handled or not allowed 2026-01-27 18:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-adjustable-2-shelf-unit-34-x-36-x-13-1-2-9333-3-03>: HTTP status code is not handled or not allowed 2026-01-27 18:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aspect-square-matted-12-x-4-brushed-champagne-metal-decorative-tile-backsplash-a94-51>: HTTP status code is not handled or not allowed 2026-01-27 18:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-niagara-2-x-2-nail-up-tin-ceiling-tile-in-bronze-burst-t54-06>: HTTP status code is not handled or not allowed 2026-01-27 18:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/906-ni-m8x1-a-stainless-threaded-plug-with-m8-x-1-0-tapered-thread>: HTTP status code is not handled or not allowed 2026-01-27 18:35:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners landed on page that is not a product page. 2026-01-27 18:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-serrated-seals-carton-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 18:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-top-machine-table-24-x-48-x-42-swivel-casters-w-brakes>: HTTP status code is not handled or not allowed 2026-01-27 18:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-top-machine-table-24-x-48-x-42-w-accessory-drawer>: HTTP status code is not handled or not allowed 2026-01-27 18:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/361823098s-clip-s3-basic-rack-unit-98-h-x-36-w-x-18-d-6xms230-shelves-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 18:35:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/pressure_washers/electric_pressure_washers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/481823079s-clip-s3-basic-rack-unit-79-h-x-48-w-x-18-d-5xms230-shelves-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 18:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curved-galvanized-guard-rail-10-x-75-1-2-radius>: HTTP status code is not handled or not allowed 2026-01-27 18:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-bike-double-galvanized-1>: HTTP status code is not handled or not allowed 2026-01-27 18:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl300-hk2089-sl300-series-2-to-3-watt-vhf-99-channel-analog-two-way-radio>: HTTP status code is not handled or not allowed 2026-01-27 18:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supreme-sliptech-mat-11-16-thick-36x60-black-w-yellow-border>: HTTP status code is not handled or not allowed 2026-01-27 18:35:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/pressure_washers/electric_pressure_washers landed on page that is not a product page. 2026-01-27 18:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-with-18-shelf-bins-7-shelves-36x18x39-2>: HTTP status code is not handled or not allowed 2026-01-27 18:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-20-7497-installation-kit-sds-plus-7-pc>: HTTP status code is not handled or not allowed 2026-01-27 18:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-chicago-2-x-2-nail-up-tin-ceiling-tile-in-bronze-burst-t60-06>: HTTP status code is not handled or not allowed 2026-01-27 18:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-3w-to-4w-and-66h>: HTTP status code is not handled or not allowed 2026-01-27 18:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020m-washer-m16-5507651>: HTTP status code is not handled or not allowed 2026-01-27 18:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-24wx14dx63h>: HTTP status code is not handled or not allowed 2026-01-27 18:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spitfire-power-cleaner-liquid-32-oz-spray-bottle-fresh-pine-scent-12-case>: HTTP status code is not handled or not allowed 2026-01-27 18:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-orange-finish>: HTTP status code is not handled or not allowed 2026-01-27 18:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-ludington-2-x-2-lay-in-tin-ceiling-tile-in-matte-white-y57-01>: HTTP status code is not handled or not allowed 2026-01-27 18:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-shelving-3-solid-dura-shelves-1>: HTTP status code is not handled or not allowed 2026-01-27 18:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-double-folding-gate-6w-to-8w-and-76h>: HTTP status code is not handled or not allowed 2026-01-27 18:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 2465 pages (at 99 pages/min), scraped 1251 items (at 53 items/min) 2026-01-27 18:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cone-bowl-mop-with-10-handle-2-diameter-head>: HTTP status code is not handled or not allowed 2026-01-27 18:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jamaica-beach-adj-sling-chaise-lounge-orange-sling-white-resin-frame-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 18:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tek-prep-tack-cloth-18-x-18-white-12-box-020009c>: HTTP status code is not handled or not allowed 2026-01-27 18:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cabinet-shop-desk-with-pigeonhole-compartment-riser-34-1-2-w-x-30-d-x-51-1-2-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cabinet-shop-desk-w-pigeonhole-riser-pegboard-upper-cabinet-34-1-2-w-x-30-d-x-80-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4c-horizontal-mailbox-37-1-2h-double-column-9-mb1-2-pl-doors-front-load-bronze-usps>: HTTP status code is not handled or not allowed 2026-01-27 18:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-kit-72-w-workbench-with-18-w-whiteboard-36-w-louver-mounting-rai-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-nylon-cover-3-lug-cart>: HTTP status code is not handled or not allowed 2026-01-27 18:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merion-vented-stack-chairs-with-arms-rests-black>: HTTP status code is not handled or not allowed 2026-01-27 18:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butk0808-8-x-8-exposed-flange-knurled-knob>: HTTP status code is not handled or not allowed 2026-01-27 18:36:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suma-freeze-d2-9-floor-cleaner-liquid-1-gal-4-per-case>: HTTP status code is not handled or not allowed 2026-01-27 18:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-ferrule-1>: HTTP status code is not handled or not allowed 2026-01-27 18:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laundry-sanitizer-liquid-crisp-linen-90-oz-4-case>: HTTP status code is not handled or not allowed 2026-01-27 18:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2232ac-bearing-ball-5510143>: HTTP status code is not handled or not allowed 2026-01-27 18:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-feed-25m-aluminum-case-wire-feeder-40-vdc>: HTTP status code is not handled or not allowed 2026-01-27 18:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rtu-professional-sanitizing-fabric-refresher-light-scent-gallon-bottle-2-case>: HTTP status code is not handled or not allowed 2026-01-27 18:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-drop-leg-drain-w-metal-bowl>: HTTP status code is not handled or not allowed 2026-01-27 18:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-dunnage-rack-30-w-x-18-d-4>: HTTP status code is not handled or not allowed 2026-01-27 18:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reechcraft-pl-x4-powerlift-44-38-platform-height-350-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles>: HTTP status code is not handled or not allowed 2026-01-27 18:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-polypropylene-bouffant-cap-100-latex-free-red-24-100bag-10-bagscase>: HTTP status code is not handled or not allowed 2026-01-27 18:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swa-5070lp-pmo-rf-powered-mast-option-retro-fit-115v-50-x-70>: HTTP status code is not handled or not allowed 2026-01-27 18:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4210-screw-516x1-14-5513061>: HTTP status code is not handled or not allowed 2026-01-27 18:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-coverallbunny-suit-elastic-wrists-attached-hood-boots-zipper-front-xl-25cs>: HTTP status code is not handled or not allowed 2026-01-27 18:36:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ranges/range_hoods_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reechcraft-pl-xm-compact-base-powerlift-145-316-platform-height-350-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eye-bolt-5630411>: HTTP status code is not handled or not allowed 2026-01-27 18:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-straight-grab-bar-peened-stainless-steel-36-w-x-1-1-2-dia>: HTTP status code is not handled or not allowed 2026-01-27 18:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6615-high-performance-dew-rag-camo-one-size>: HTTP status code is not handled or not allowed 2026-01-27 18:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-protractor-vise-block-5712871>: HTTP status code is not handled or not allowed 2026-01-27 18:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ranges/range_hoods_accessories>: HTTP status code is not handled or not allowed 2026-01-27 18:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/474-ergomat153-anti-fatigue-mat-12-thick-2w-x-75l-black>: HTTP status code is not handled or not allowed 2026-01-27 18:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-single-front-door-full-height-rear-panel-36w-x-36d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 18:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-dusters-refill-dust-lock-fiber-yellow-6-box-4-box-case>: HTTP status code is not handled or not allowed 2026-01-27 18:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-8-compartment-1>: HTTP status code is not handled or not allowed 2026-01-27 18:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vss-1000-1-100-gallon-sidewalk-sprayer>: HTTP status code is not handled or not allowed 2026-01-27 18:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-12-compartment-12>: HTTP status code is not handled or not allowed 2026-01-27 18:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40v-charger-for-mpwr-cordless-upright-backpack-vacuums-ch07150>: HTTP status code is not handled or not allowed 2026-01-27 18:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-12-compartment-16>: HTTP status code is not handled or not allowed 2026-01-27 18:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-outdoor-pedestal-bottle-filling-station-black>: HTTP status code is not handled or not allowed 2026-01-27 18:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guide-bl-holder-5631031>: HTTP status code is not handled or not allowed 2026-01-27 18:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-sms-coverall-elastic-wrists-ankles-zipper-front-single-collar-white-3xl-25case>: HTTP status code is not handled or not allowed 2026-01-27 18:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-straight-leg-dunnage-rack-48-lx30-wx8-h>: HTTP status code is not handled or not allowed 2026-01-27 18:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-gravity-flow-rack-1>: HTTP status code is not handled or not allowed 2026-01-27 18:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-bollard-sleeve-6-dia-x-52-h-yellow-with-red-tape>: HTTP status code is not handled or not allowed 2026-01-27 18:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pressure-assit-toilet-left-hand-handle-tec-glaze-feature-1-28gpf>: HTTP status code is not handled or not allowed 2026-01-27 18:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-polyethylene-isolation-gown-with-rear-entry-47l-white-25bag-4-bagcase>: HTTP status code is not handled or not allowed 2026-01-27 18:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-stop-5711321>: HTTP status code is not handled or not allowed 2026-01-27 18:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 2562 pages (at 97 pages/min), scraped 1300 items (at 49 items/min) 2026-01-27 18:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jamaica-beach-folding-chair-orange-sling-w-white-resin-frame-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 18:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodsafe-cfswdm3613t-e-ip69-5hp-3500rpm-3ph-60hz-184tc-3634m-tefc-f1>: HTTP status code is not handled or not allowed 2026-01-27 18:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16oz-clear-safety-coated-glass-straight-sided-round-jar-89-400-neck-finish-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-600-single-layer-neoprene-knee-sleeve-black-small>: HTTP status code is not handled or not allowed 2026-01-27 18:37:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/conductivity_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-heavy-duty-shelf-20-wx42-l>: HTTP status code is not handled or not allowed 2026-01-27 18:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hhcs-m16-x-200-5784551>: HTTP status code is not handled or not allowed 2026-01-27 18:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-5oz-amber-wide-mouth-packer-with-28-400-black-polypropylene-cap-ptfe-disc-48pk>: HTTP status code is not handled or not allowed 2026-01-27 18:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warn-3700-dc-powered-3700-pound-capacity-12v-utility-w>: HTTP status code is not handled or not allowed 2026-01-27 18:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-battery-powered-li-truck-261025-1000-lb-60-h-30-x32-platform>: HTTP status code is not handled or not allowed 2026-01-27 18:37:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-newall-dp700-dro-quill-x-axis-powerfeed-690628 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/316-6-vermont-gage-hss-extra-long-drill-blank>: HTTP status code is not handled or not allowed 2026-01-27 18:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70-400-white-metal-cap-with-pulp-pe-liner-packed-in-bags-of-12-144pk>: HTTP status code is not handled or not allowed 2026-01-27 18:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-high-lift-skid-truck-gwk-272976-lw-fits-model-no-tshl27-33>: HTTP status code is not handled or not allowed 2026-01-27 18:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-heavy-duty-shelf-24-wx36-l>: HTTP status code is not handled or not allowed 2026-01-27 18:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-1050evs2-230-mill-newall-dp700-dro-x-y-and-z-axis-powerfeeds-690641>: HTTP status code is not handled or not allowed 2026-01-27 18:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-20-x-38-sckt-set-scre-6714159>: HTTP status code is not handled or not allowed 2026-01-27 18:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t1b-hss-jobbers-drill-black-oxide-316-12>: HTTP status code is not handled or not allowed 2026-01-27 18:37:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/conductivity_meters landed on page that is not a product page. 2026-01-27 18:37:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-949evs-mill-3-axis-acu-rite-200s-dro-quill-x-y-and-z-axis-powerfeeds-698173 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-4-shelf-rack-20-wx72-hx42-l>: HTTP status code is not handled or not allowed 2026-01-27 18:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-newall-dp700-dro-quill-x-axis-powerfeed-690628>: HTTP status code is not handled or not allowed 2026-01-27 18:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-solid-wallshelf-12-wx48-l-12-ga>: HTTP status code is not handled or not allowed 2026-01-27 18:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-3w-x-3l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:37:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jet-jtm-949evs-mill-3-axis-acu-rite-200s-dro-quill-x-y-and-z-axis-powerfeeds-698173>: HTTP status code is not handled or not allowed 2026-01-27 18:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-300-yellow-post-retracting-belt-barrier-16-ft-yellow-belt>: HTTP status code is not handled or not allowed 2026-01-27 18:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-3w-x-7l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-9w-x-11l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8925-class-e-thermal-pants-lime-4-x-large>: HTTP status code is not handled or not allowed 2026-01-27 18:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-zip-hoodie-sweatshirt-hi-vis-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-27 18:37:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-27 18:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-cover-10-gauge-vinyl-for-18-x-48-x-63-unit-zipper-closure-clear>: HTTP status code is not handled or not allowed 2026-01-27 18:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-75-x-57mm-5-dram-amber-borosilicate-vial-with-24-400-neck-finish-vial-only-144pk>: HTTP status code is not handled or not allowed 2026-01-27 18:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-cable-kit-includes-cable-padlock-3-keys-1>: HTTP status code is not handled or not allowed 2026-01-27 18:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-4000-single-strap-wrist-support-black-small-right>: HTTP status code is not handled or not allowed 2026-01-27 18:37:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/wall_files already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-clear-jug-w-38-400-black-phenolic-solid-pe-cap-4pk>: HTTP status code is not handled or not allowed 2026-01-27 18:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-30w-x-42l-1-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-27 18:37:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/web-sling-1-ply-endless-12-long-4-es-wide>: HTTP status code is not handled or not allowed 2026-01-27 18:37:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-amber-jug-w-38-400-black-phenolic-w-solid-pe-cap-6pk>: HTTP status code is not handled or not allowed 2026-01-27 18:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-18w-x-42l-4-mil-clear-200pack>: HTTP status code is not handled or not allowed 2026-01-27 18:37:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/wall_files landed on page that is not a product page. 2026-01-27 18:37:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-sheet-roll-s2s-3-44850>: HTTP status code is not handled or not allowed 2026-01-27 18:37:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-cfswdm3556-e-ip69-1hp-1155rpm-3ph-60hz-56c-3530m-tefc-f1-n>: HTTP status code is not handled or not allowed 2026-01-27 18:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 2652 pages (at 90 pages/min), scraped 1351 items (at 51 items/min) 2026-01-27 18:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-bushel-yellow-vinyl-basket-truck-bulk-truck>: HTTP status code is not handled or not allowed 2026-01-27 18:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs>: HTTP status code is not handled or not allowed 2026-01-27 18:37:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drywall-cart-18-x-48-deck-with-mold-on-rubber-casters>: HTTP status code is not handled or not allowed 2026-01-27 18:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-16w-x-20l-3-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 18:37:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs landed on page that is not a product page. 2026-01-27 18:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs>: HTTP status code is not handled or not allowed 2026-01-27 18:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs>: HTTP status code is not handled or not allowed 2026-01-27 18:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-fall-protection-required-beyond-this-point-10x14-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-27 18:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-arm-revers-quick-adj-45-ton-capacity-4-3-4-120-mm-open-3-7-8-100-mm-reach>: HTTP status code is not handled or not allowed 2026-01-27 18:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/205570-7-hyflex-ultra-lightweight-assembly-glove-11-800-7>: HTTP status code is not handled or not allowed 2026-01-27 18:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/205571-8-hyflex-ultra-lightweight-assembly-glove-11-800-8>: HTTP status code is not handled or not allowed 2026-01-27 18:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-restricted-area-authorized-employees-only-10x14-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-27 18:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-l-x-30-w-production-bench-maple-square-edge-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kaltprp-safety-padlock-1-12w-x-3h-shackle-purple>: HTTP status code is not handled or not allowed 2026-01-27 18:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/int-extractor-set-wth-counterstay-slide-ha-mmer-1-1-8-28-mm-to-2-3-4-70-mm>: HTTP status code is not handled or not allowed 2026-01-27 18:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-13w-x-28l-3-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 18:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3kas6red-laminated-steel-safety-padlock-1-916w-x-34h-shackle-red-6set>: HTTP status code is not handled or not allowed 2026-01-27 18:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/not-an-exit-7x10-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-27 18:38:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders landed on page that is not a product page. 2026-01-27 18:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-safety-glasses-required-7x10-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 18:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-l-x-36-w-production-bench-maple-safety-edge-blue-2>: HTTP status code is not handled or not allowed 2026-01-27 18:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s33ltprp-snap-lock-safety-padlock-1-38w-x-3h-purple>: HTTP status code is not handled or not allowed 2026-01-27 18:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kagrn-safety-padlock-1-12h-shackle-green>: HTTP status code is not handled or not allowed 2026-01-27 18:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-size-stacking-bin-12-3-8-x20-x-8-red>: HTTP status code is not handled or not allowed 2026-01-27 18:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-joint-extractor-1-5-8-40-mm-opening-11-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-cotton-high-visibility-t-shirt-orange-xl>: HTTP status code is not handled or not allowed 2026-01-27 18:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guider-seat-cos18-429>: HTTP status code is not handled or not allowed 2026-01-27 18:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-filter-retainer-f-dust-mist-paint-spray-501>: HTTP status code is not handled or not allowed 2026-01-27 18:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-fitler-combo-am-map100-7584p100>: HTTP status code is not handled or not allowed 2026-01-27 18:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-plastic-1-1-2-links-on-a-reel-red-200-feet-trade-size-6>: HTTP status code is not handled or not allowed 2026-01-27 18:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-5x5x35-bdb1340-h63>: HTTP status code is not handled or not allowed 2026-01-27 18:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-triple-tier-12x15x24-3-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-exterior-36h-platform-2-rails-spiral-stair-kit-60dia-11-1-4h-alum-handrail>: HTTP status code is not handled or not allowed 2026-01-27 18:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-7x7x55-jdp-20evs-20evs-t20>: HTTP status code is not handled or not allowed 2026-01-27 18:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/probes-44-1235-vul353589-1>: HTTP status code is not handled or not allowed 2026-01-27 18:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-12x15x72-1-door-ready-assemble-parchment>: HTTP status code is not handled or not allowed 2026-01-27 18:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-choker-sling-7x193-8-stainless-steel-w-5900550>: HTTP status code is not handled or not allowed 2026-01-27 18:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluted-rub-bricks-6-l-x-3-w-x-1-h-60-grit-plastic-handle>: HTTP status code is not handled or not allowed 2026-01-27 18:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-65206-superpro-roll-cage-4400psi-389cc-4-0gpm-gas-pressure-washer-w-honda-gx390-engine>: HTTP status code is not handled or not allowed 2026-01-27 18:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-10w-x-13l-2-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-27 18:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/doors-28-2372-man040001717>: HTTP status code is not handled or not allowed 2026-01-27 18:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-24w-x-60l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 18:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-l-x-4-3-8-w-tilesetting-trowel-wood-handles>: HTTP status code is not handled or not allowed 2026-01-27 18:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drainage-matting-standard-tile-12-x-12-36-per-case>: HTTP status code is not handled or not allowed 2026-01-27 18:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5c-collet-3-8-inch-round-tmx>: HTTP status code is not handled or not allowed 2026-01-27 18:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-24w-x-48l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 18:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curved-pick-hammers-156gb>: HTTP status code is not handled or not allowed 2026-01-27 18:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinges-26-1265-dukta-120>: HTTP status code is not handled or not allowed 2026-01-27 18:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinion-for-scroll-chuck-6-inch-chuck>: HTTP status code is not handled or not allowed 2026-01-27 18:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-21w-x-54l-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 18:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-8w-x-4d-x-15h-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 2746 pages (at 94 pages/min), scraped 1394 items (at 43 items/min) 2026-01-27 18:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-step-24in-w-steel-safety-angle-rolling-ladder-grip-strut-safety-yellow-kdec113242-y>: HTTP status code is not handled or not allowed 2026-01-27 18:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-136-forged-hexagonal-steep-ripping-bar-36-inch-long>: HTTP status code is not handled or not allowed 2026-01-27 18:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-steel-caged-walk-through-fixed-access-ladder-safety-yellow-wlfc1111-y>: HTTP status code is not handled or not allowed 2026-01-27 18:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switchs-42-1509-nem45379>: HTTP status code is not handled or not allowed 2026-01-27 18:39:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-jaw-2-piece-scroll-chuck-forged-steel-body-camlock-d-8-inch-d1-6>: HTTP status code is not handled or not allowed 2026-01-27 18:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-5-hp-roof-ventilator>: HTTP status code is not handled or not allowed 2026-01-27 18:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1614nfal-junction-box-type-4x-clamp-cover-1600x1400x600>: HTTP status code is not handled or not allowed 2026-01-27 18:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reel-rack-add-on-unit-24-w-x-24-d-x-120-h>: HTTP status code is not handled or not allowed 2026-01-27 18:39:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_jaws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-green-commercial-31b6-complete-deep-cleaning-formula>: HTTP status code is not handled or not allowed 2026-01-27 18:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-60-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-27 18:39:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks landed on page that is not a product page. 2026-01-27 18:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-1-x-00005-0-001mm-ip65-digimatic-uni-mike-micrometer-w-output-fric-thimble-flat-rod-anvil>: HTTP status code is not handled or not allowed 2026-01-27 18:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-24w-x-24l-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 18:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-5w-x-18l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:39:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24in-w-30in-d-top-step-steel-rolling-ladder-perforated-tread-36in-handrail-kdsr109246-d3>: HTTP status code is not handled or not allowed 2026-01-27 18:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-bolt-sbr30n-27>: HTTP status code is not handled or not allowed 2026-01-27 18:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-od-polyurethane-tubing-natural-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-27 18:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-24w-x-72l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 18:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garden-hoes-h-103fg>: HTTP status code is not handled or not allowed 2026-01-27 18:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-32-od-nylon-tubing-black-color-100-roll-160-500-psi>: HTTP status code is not handled or not allowed 2026-01-27 18:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-six-tier-12x18x12-6-door-assembled-1>: HTTP status code is not handled or not allowed 2026-01-27 18:39:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories landed on page that is not a product page. 2026-01-27 18:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-24w-x-24l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 18:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f66lp-closure-plate-600x600>: HTTP status code is not handled or not allowed 2026-01-27 18:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500-strapping-tape-1-x-60-yds-51-mil-clear-36pack>: HTTP status code is not handled or not allowed 2026-01-27 18:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-flat-poly-bags-4w-x-16l-4-mil-pink-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck16-301-contactor-3-pole-230v>: HTTP status code is not handled or not allowed 2026-01-27 18:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x12x72-with-4-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x24x72-with-4-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 18:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck12-310-contactor-3-pole-230v>: HTTP status code is not handled or not allowed 2026-01-27 18:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-corner-bumper-guard-a-39-inches-long-by-2inches-wide-black-yellow-60-6910>: HTTP status code is not handled or not allowed 2026-01-27 18:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-shipping-floor-scale-22-w-x-42-d>: HTTP status code is not handled or not allowed 2026-01-27 18:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polypropylene-coverall-elastic-wrists-ankles-hood-boots-white-medium-25-case>: HTTP status code is not handled or not allowed 2026-01-27 18:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dial-support-zx-lathes-tl06105>: HTTP status code is not handled or not allowed 2026-01-27 18:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-2-gallon-step-on-trash-can-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms70-b1010-70-shade-cloth-shade-tarp-10-x-10>: HTTP status code is not handled or not allowed 2026-01-27 18:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proto-174-3-8-drive-ratchet-head-repair-kit-torque-wrench-j6064c-cx-cxcert>: HTTP status code is not handled or not allowed 2026-01-27 18:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-cap-style-4-point-ratchet-suspension-hard-hat>: HTTP status code is not handled or not allowed 2026-01-27 18:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-3w-x-6l-8-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-2-strap-wrench-11-34l-1-18-strap-width-5-12-od-tube-capacity1>: HTTP status code is not handled or not allowed 2026-01-27 18:39:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/executive_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-end-stops-48-w-x-30-d-black>: HTTP status code is not handled or not allowed 2026-01-27 18:39:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-nut-bdb-1340-4743>: HTTP status code is not handled or not allowed 2026-01-27 18:39:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/pins_1/dowel_pins already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-oz-tube-anti-corrosion-connector-gel>: HTTP status code is not handled or not allowed 2026-01-27 18:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 2837 pages (at 91 pages/min), scraped 1442 items (at 48 items/min) 2026-01-27 18:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-flat-poly-bags-2w-x-3l-6-mil-pink-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2g-eyewear-5-0-ir-filter-lens-with-black-strap-temples>: HTTP status code is not handled or not allowed 2026-01-27 18:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-ton-aluminum-jack-6in-13121>: HTTP status code is not handled or not allowed 2026-01-27 18:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kneeling-mat-8-x-16-x-1-waterproof-foam-carrying-handle-meets-flammability-standard>: HTTP status code is not handled or not allowed 2026-01-27 18:40:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/executive_chairs landed on page that is not a product page. 2026-01-27 18:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4008-double-sided-foam-tape-2-x-36-yds-125-mil-natural>: HTTP status code is not handled or not allowed 2026-01-27 18:40:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories landed on page that is not a product page. 2026-01-27 18:40:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/index_cards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/pins_1/dowel_pins>: HTTP status code is not handled or not allowed 2026-01-27 18:40:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wiremold-wspc320bk-desktop-power-center-3-tamper-resistant-outlets-2-3a-usb-ports-black>: HTTP status code is not handled or not allowed 2026-01-27 18:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-316-sq-x-1-38-lg-5051571>: HTTP status code is not handled or not allowed 2026-01-27 18:40:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-aluminum-half-pallet-48x24>: HTTP status code is not handled or not allowed 2026-01-27 18:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacing-ring-3-mm-1806241>: HTTP status code is not handled or not allowed 2026-01-27 18:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-gono-go-air-quality-test-kit-3000-psi-lphp-a4k>: HTTP status code is not handled or not allowed 2026-01-27 18:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-maah-3624rb-b-mobile-storage-cabinet-assembled-36x24x66-black>: HTTP status code is not handled or not allowed 2026-01-27 18:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/index_cards>: HTTP status code is not handled or not allowed 2026-01-27 18:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils>: HTTP status code is not handled or not allowed 2026-01-27 18:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-valve-block-jsg-9121ns-729606>: HTTP status code is not handled or not allowed 2026-01-27 18:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-bca-367218-g-bookcase-assembled-36x18x72-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:40:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-27 18:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-100-l-hdpe-silver>: HTTP status code is not handled or not allowed 2026-01-27 18:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-bca-368413-p-bookcase-assembled-36x13x84-putty>: HTTP status code is not handled or not allowed 2026-01-27 18:40:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grommet-repair-kit>: HTTP status code is not handled or not allowed 2026-01-27 18:40:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5915-double-sided-foam-tape-34-x-5-yds-16-mil-black>: HTTP status code is not handled or not allowed 2026-01-27 18:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-31-x-16-x-9-200-ect-32-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-disc-787c-60-4-1-2-x-7-8-in-die-450e-25-per-inner-100-per-case>: HTTP status code is not handled or not allowed 2026-01-27 18:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-disc-782c-36-tr-2-in-die-r200p-50-per-inner-200-per-case>: HTTP status code is not handled or not allowed 2026-01-27 18:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks>: HTTP status code is not handled or not allowed 2026-01-27 18:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usda-fda-rackable-pallet-40-x-48-blue-5000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:40:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets landed on page that is not a product page. 2026-01-27 18:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tilting-scale-5051351>: HTTP status code is not handled or not allowed 2026-01-27 18:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-mobile-packaging-workbench-maple-butcher-block-safety-edge-60-x-30>: HTTP status code is not handled or not allowed 2026-01-27 18:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-pin-jtm-4vs-ha-117>: HTTP status code is not handled or not allowed 2026-01-27 18:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-0913b-10xl-cut-resistant-gloves-smooth-nitrile-coating-a5-e-size-10>: HTTP status code is not handled or not allowed 2026-01-27 18:40:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-polypropylene-bags-9l-x-7w-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-blade-reference-blade-730371-wi-31-2-b-tg>: HTTP status code is not handled or not allowed 2026-01-27 18:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-poly-bags-9w-x-12l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/raptor-led-spot-light-gooseneck-arm-22-26v-dc-10-degree-beam>: HTTP status code is not handled or not allowed 2026-01-27 18:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-crate-with-1-polyethylene-foam-lining-four-way-entry-60-l-x-24-w-x-31-12-h>: HTTP status code is not handled or not allowed 2026-01-27 18:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linuraedge-slim-profile-led-light-22-26v-dc-27w-acrylic-517>: HTTP status code is not handled or not allowed 2026-01-27 18:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40143-air-jet-washers-3-pack-rubber>: HTTP status code is not handled or not allowed 2026-01-27 18:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saddleknee-gib-jtm-4vs-ls-001>: HTTP status code is not handled or not allowed 2026-01-27 18:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-tubing-14w-x-725l-6-mil-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 18:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-75-incline-ladder-24-inch-w-grip-strut>: HTTP status code is not handled or not allowed 2026-01-27 18:40:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands landed on page that is not a product page. 2026-01-27 18:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-turn-platform-24-inch-w-grip-strut>: HTTP status code is not handled or not allowed 2026-01-27 18:40:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/halux-universal-led-treatment-light-n50-1-p-fx-double-arm-floor-stand>: HTTP status code is not handled or not allowed 2026-01-27 18:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 2930 pages (at 93 pages/min), scraped 1489 items (at 47 items/min) 2026-01-27 18:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-crossover-leg-kit>: HTTP status code is not handled or not allowed 2026-01-27 18:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polypropylene-bags-12l-x-5w-15-mil-clear-2000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40081-spot-blaster-round-adapter-rubber>: HTTP status code is not handled or not allowed 2026-01-27 18:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clutch-sleeve-jtm-124vs-la-085>: HTTP status code is not handled or not allowed 2026-01-27 18:41:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unsupported-9-step-40-inch-cantilever-ladder-perforated>: HTTP status code is not handled or not allowed 2026-01-27 18:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-tubing-8w-x-725l-4-mil-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 18:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelves-for-36w-storage-cabinet-tan-1>: HTTP status code is not handled or not allowed 2026-01-27 18:41:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 18:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-psi-quick-connect-nozzle-0-15-25-40-degree-and-6540-soap-nozzle-5-pack-45>: HTTP status code is not handled or not allowed 2026-01-27 18:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hardware-kit-for-761216-outdoor-drinking-fountains>: HTTP status code is not handled or not allowed 2026-01-27 18:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 18:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-tong-6>: HTTP status code is not handled or not allowed 2026-01-27 18:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-6w-x-10l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40121-50-x-1-2-i-d-pressure-hose-kit-rubber>: HTTP status code is not handled or not allowed 2026-01-27 18:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-brake-cable-l-980-641244-floor-scrubber>: HTTP status code is not handled or not allowed 2026-01-27 18:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-bed-board-mattress-support-48-x-60-double-size>: HTTP status code is not handled or not allowed 2026-01-27 18:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knob-708019-104>: HTTP status code is not handled or not allowed 2026-01-27 18:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-fan-with-wall-ceiling-bracket-white>: HTTP status code is not handled or not allowed 2026-01-27 18:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puncture-resistant-insoles-flexible-0163us-size-10-11-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 18:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-clamp-jsg-0416-102139>: HTTP status code is not handled or not allowed 2026-01-27 18:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-push-to-connect-plug>: HTTP status code is not handled or not allowed 2026-01-27 18:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kimtech-science-kimwipes-delicate-task-wipers-4-4-10-x-8-4-10-280-box>: HTTP status code is not handled or not allowed 2026-01-27 18:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-polypropylene-bags-5l-x-4w-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-a-bout-portable-utility-ramp-wabu1230-12l-x-30w-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/method-support-extruder>: HTTP status code is not handled or not allowed 2026-01-27 18:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-workbench-maple-butcher-block-safety-edge-60-x-36-with-riser-kit>: HTTP status code is not handled or not allowed 2026-01-27 18:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-4-1-8-w-x-11-5-8-d-x-6-h-red>: HTTP status code is not handled or not allowed 2026-01-27 18:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-removable-foam-squares-1-x-1-625-mil-white-324roll>: HTTP status code is not handled or not allowed 2026-01-27 18:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-green-scrubbing-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-27 18:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-slip-on-shoes-size-8m-white>: HTTP status code is not handled or not allowed 2026-01-27 18:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-6-5-8-w-x23-5-8-d-x-6-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-sand-screen-disc-120-grit-10-per-case>: HTTP status code is not handled or not allowed 2026-01-27 18:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-rod-jtm-1050-b-103>: HTTP status code is not handled or not allowed 2026-01-27 18:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fuel-level-gauge--fits-fcp250-fcp500>: HTTP status code is not handled or not allowed 2026-01-27 18:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18vx2-36v-lxt-174-li-ion-brushless-couple-shaft-power-head-w-string-trimmer-attachment>: HTTP status code is not handled or not allowed 2026-01-27 18:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-dc-fan-cp48d11n-48-fan-wh-color-downrod-mount-high-performance>: HTTP status code is not handled or not allowed 2026-01-27 18:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a36n24alp-medium-type-1-enclosure-3600x2400x662-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 18:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccs2fclg-flange-coupling-pendant-arm-fits-45x60mm-alumltgray>: HTTP status code is not handled or not allowed 2026-01-27 18:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-steel-stack-on-desk-hutch-60w-black>: HTTP status code is not handled or not allowed 2026-01-27 18:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-barrier-plastic-sheeting-plastic-white-py50>: HTTP status code is not handled or not allowed 2026-01-27 18:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-3-drawer-with-steel-top-workbench>: HTTP status code is not handled or not allowed 2026-01-27 18:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uj304824m2-sectionalizing-cabinet-3000x4800x2400-steelgreen>: HTTP status code is not handled or not allowed 2026-01-27 18:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd24208-concept-wall-mount-encl-2400x2000x800-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 18:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prosegur-spartan-tag-58-khz-white-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 18:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atex74p55-zonex-panel-atex-695x505mm-fits-740x550mm-steelwhite>: HTTP status code is not handled or not allowed 2026-01-27 18:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/janitorial-shadow-board-combo-kit-blue-on-black-general-purpose-composite-sbk101acp>: HTTP status code is not handled or not allowed 2026-01-27 18:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/125-lf-12-14-hex-bushing-npt-male-female>: HTTP status code is not handled or not allowed 2026-01-27 18:41:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/coated_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1614ch-continuous-hinge-wclamps-type-12-1600x1400x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 18:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-enzymatic-chute-dumpster-wash-plus-orange-scent-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-27 18:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3026 pages (at 96 pages/min), scraped 1536 items (at 47 items/min) 2026-01-27 18:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-power-workstation-hutch-roller-cabinet-41w-x-25d-blue-w-black-handles-trim>: HTTP status code is not handled or not allowed 2026-01-27 18:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-316-cast-hex-locknut-34-npt-female>: HTTP status code is not handled or not allowed 2026-01-27 18:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/gloves_sleeves/coated_gloves>: HTTP status code is not handled or not allowed 2026-01-27 18:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-red-black-3-x-5>: HTTP status code is not handled or not allowed 2026-01-27 18:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valley-craft-a-frame-shallow-tray-lip-down>: HTTP status code is not handled or not allowed 2026-01-27 18:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a806chfl-continuous-hinge-wquick-turn-fast-latch-type-4-800x600x350-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 18:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-navy-4-x-12>: HTTP status code is not handled or not allowed 2026-01-27 18:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-mechanical-turnstile-right-free-exit-stainless>: HTTP status code is not handled or not allowed 2026-01-27 18:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-90-175-register-vent-boot-w-adj-hangers-for-hvac-duct-work-6-x-10-x-6>: HTTP status code is not handled or not allowed 2026-01-27 18:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-connector-for-clear-wall-separators>: HTTP status code is not handled or not allowed 2026-01-27 18:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exq-pro-triple-bank-top-chest-72w-x-30d-x-26-14h-green-with-black-drawer-pulls>: HTTP status code is not handled or not allowed 2026-01-27 18:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-42w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 18:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-top-chest-4-drawers-41w-x-25d-x-22-14h-matte-black-with-black-drawer-pulls>: HTTP status code is not handled or not allowed 2026-01-27 18:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/135-176-ss-corner-guard-16-ga-3-8-wings-sq-corners-48-lx2-wx2-h>: HTTP status code is not handled or not allowed 2026-01-27 18:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a16126t1pp-control-box-type-1-w-perf-panel-1600x1200x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 18:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-starter-unit-5-tier-60w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 18:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-manifold-34-npt-inlet-x-34-npt-outlet-4-ports>: HTTP status code is not handled or not allowed 2026-01-27 18:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-176-ss-corner-guard-16-ga-3m-tape-3-8-wings-sq-corners-48-lx2-wx2-h>: HTTP status code is not handled or not allowed 2026-01-27 18:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/135-176-ss-corner-guard-16-ga-3m-tape-3-8-wings-sq-corners-48-x1-5-x1-5h>: HTTP status code is not handled or not allowed 2026-01-27 18:42:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magsquare-holder-165-lbs>: HTTP status code is not handled or not allowed 2026-01-27 18:42:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:42:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15inx2in-2-mil-recloseable-poly-bag-clear-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-27 18:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-male-adapter-1-12-pipe-x-1-12-mnpt-nipple>: HTTP status code is not handled or not allowed 2026-01-27 18:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tubing-90-degree-elbow>: HTTP status code is not handled or not allowed 2026-01-27 18:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-informatics-wall-mount-beige>: HTTP status code is not handled or not allowed 2026-01-27 18:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms>: HTTP status code is not handled or not allowed 2026-01-27 18:42:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-kc-thermaflex-flexible-hvac-duct-6-diameter-r4-2>: HTTP status code is not handled or not allowed 2026-01-27 18:42:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms landed on page that is not a product page. 2026-01-27 18:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms>: HTTP status code is not handled or not allowed 2026-01-27 18:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/holder-limit-switch-6294462>: HTTP status code is not handled or not allowed 2026-01-27 18:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knives-set-of-3-hs-6427001>: HTTP status code is not handled or not allowed 2026-01-27 18:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_machines>: HTTP status code is not handled or not allowed 2026-01-27 18:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulley-cover-jms12scms-241>: HTTP status code is not handled or not allowed 2026-01-27 18:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clp-series-swivel-earpiece-with-inline-push-to-talk-436644>: HTTP status code is not handled or not allowed 2026-01-27 18:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-lh-29-shaper-6292994>: HTTP status code is not handled or not allowed 2026-01-27 18:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-36-l-x-16-w-x-1-2-thick-red>: HTTP status code is not handled or not allowed 2026-01-27 18:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-riser-stair-cover-42-w-black>: HTTP status code is not handled or not allowed 2026-01-27 18:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-riser-stair-cover-60-w-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x48-solar-star-greenhouse-w-solid-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-27 18:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-48w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 18:42:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-model-201planer-6012213>: HTTP status code is not handled or not allowed 2026-01-27 18:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3118 pages (at 92 pages/min), scraped 1588 items (at 52 items/min) 2026-01-27 18:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-b-v-belt-b30>: HTTP status code is not handled or not allowed 2026-01-27 18:42:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090250054-single-stage-vertical-air-compressor-35hp-60-gallon>: HTTP status code is not handled or not allowed 2026-01-27 18:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65375-steel-lockout-hasp-1-jaw-clearance-12pk-steel-1-34w-x-4-12h>: HTTP status code is not handled or not allowed 2026-01-27 18:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51171-extra-large-metal-lock-box-steel-7-38w-x-6h>: HTTP status code is not handled or not allowed 2026-01-27 18:43:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/spray_paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-animal-hut-12w-x-65h-x-16l>: HTTP status code is not handled or not allowed 2026-01-27 18:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_sheets>: HTTP status code is not handled or not allowed 2026-01-27 18:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-b-v-belt-b180>: HTTP status code is not handled or not allowed 2026-01-27 18:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-quik-mark-sb-general-purpose-mkg-paint-asphalt-black>: HTTP status code is not handled or not allowed 2026-01-27 18:43:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-quik-mark-sb-inverted-marking-paint-fluor-neon-green>: HTTP status code is not handled or not allowed 2026-01-27 18:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-30w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 18:43:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/spray_paint_primer landed on page that is not a product page. 2026-01-27 18:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-5-ball-interior-exterior-paint-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-27 18:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-4-w-x-3-16-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 18:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/env810-env-oil-only-absorbent-boom8dia-x-10lbale4>: HTTP status code is not handled or not allowed 2026-01-27 18:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/env510-env-oil-only-absorbent-boom5dia-x-10lbale4>: HTTP status code is not handled or not allowed 2026-01-27 18:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-48-w-x-1-4-thick-yellow-ps-cacc-78>: HTTP status code is not handled or not allowed 2026-01-27 18:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-30w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 18:43:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags>: HTTP status code is not handled or not allowed 2026-01-27 18:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65350-blank-accident-prevention-tag-no-grommet-yellow-polyester-3w-x-5-34h>: HTTP status code is not handled or not allowed 2026-01-27 18:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-20-planer-mdl-208-6292787>: HTTP status code is not handled or not allowed 2026-01-27 18:43:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 18:43:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparta-paddle-scraper-w-handle-60-long>: HTTP status code is not handled or not allowed 2026-01-27 18:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-2dia-x-24l-0060-thick-kraft-6pack>: HTTP status code is not handled or not allowed 2026-01-27 18:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96262-rearview-mirror-hanging-tags-101-200-parking-permits-blue-2-34w-x-4-34h>: HTTP status code is not handled or not allowed 2026-01-27 18:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-greenhouse-kit-30w-x-12h-x-36l-natural-gas>: HTTP status code is not handled or not allowed 2026-01-27 18:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pd524e-bouffant-cap-dispenser-acrylic-12w-x-14h>: HTTP status code is not handled or not allowed 2026-01-27 18:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-10-x-20-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 18:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/document-envelopes-5-12l-x-4-12w-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-buna-n-pvc-roll-120-l-x-12-w-x-1-16-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-27 18:43:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_kits_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags>: HTTP status code is not handled or not allowed 2026-01-27 18:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-1-2-x-12-1-2-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 18:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-box-20-planer-mdl-208-6292759>: HTTP status code is not handled or not allowed 2026-01-27 18:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfp300-re-form-plus-universal-pads15w-x-19lmedium-weightcase100>: HTTP status code is not handled or not allowed 2026-01-27 18:43:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-8-mailboxes-4-parcel-lockers-sandstone>: HTTP status code is not handled or not allowed 2026-01-27 18:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-60w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 18:43:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/hearing_protection/ear_plug_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-versa-tech-wheel-8x2-58-roller>: HTTP status code is not handled or not allowed 2026-01-27 18:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_kits_stations>: HTTP status code is not handled or not allowed 2026-01-27 18:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-16-x-14-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 18:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/op15p-op-oil-only-roll15w-x-150lheavy-weight>: HTTP status code is not handled or not allowed 2026-01-27 18:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-face-envelopes-packing-list-enclosed-print-4-12l-x-5-12w-orange-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 18:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/225512-12-compartment-tray-wpushers-and-tracks-10w-x-125h-x-6d-clr-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 18:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-48w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 18:43:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 18:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-gear-pja-g10-15-planer-6284859>: HTTP status code is not handled or not allowed 2026-01-27 18:43:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/hearing_protection/ear_plug_dispensers landed on page that is not a product page. 2026-01-27 18:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-petg-tube-72-l-x-5-8-id-x-3-4-od-clear>: HTTP status code is not handled or not allowed 2026-01-27 18:43:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/222682-16-compartment-cosmetic-display-12w-x-75h-x-8d-clr-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 18:43:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ldpe-film-96-l-x-6-w-x-0-004-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 18:43:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-60w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 18:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3206 pages (at 88 pages/min), scraped 1625 items (at 37 items/min) 2026-01-27 18:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simonize-think-pink-hand-soap-gallon>: HTTP status code is not handled or not allowed 2026-01-27 18:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-27 18:44:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-27 18:44:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/evaporative_cooler_accessories/evaporative_cooler_hardware_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mdl-pf31-33-41-43locking-handle-6288887>: HTTP status code is not handled or not allowed 2026-01-27 18:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simonize-good-hood-heavy-duty-alkaline-liquid-cleaner-gallon>: HTTP status code is not handled or not allowed 2026-01-27 18:44:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrist-support-with-microban-protection-graphite>: HTTP status code is not handled or not allowed 2026-01-27 18:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-x-17-x-5-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 18:44:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-27 18:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-specialty-labels-caution--lithium-battery-4-58l-x-5w-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 18:44:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/evaporative_cooler_accessories/evaporative_cooler_hardware_parts landed on page that is not a product page. 2026-01-27 18:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/222975-brochure-hlr-9w-x-85h-2-pockets-clr-1pack>: HTTP status code is not handled or not allowed 2026-01-27 18:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-90-degree-angle-12-l-x-1-1-2-w-gray-bulk-pa-pvc-56>: HTTP status code is not handled or not allowed 2026-01-27 18:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-90-degree-angle-24-l-x-1-1-2-w-gray-bulk-pa-pvc-38>: HTTP status code is not handled or not allowed 2026-01-27 18:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-assembly-510l510-3449005>: HTTP status code is not handled or not allowed 2026-01-27 18:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-2-spring-pin-high-carbon-steel-plain-asme-b18-8-2-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-27 18:44:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crowd-control-stanchion-40-in-black-post-blue-belt-10-ft-l>: HTTP status code is not handled or not allowed 2026-01-27 18:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-heavy-duty-standard-threaded-hex-base-warning-whip-w-light-12-x11-orange-w-x-rectangle-flag>: HTTP status code is not handled or not allowed 2026-01-27 18:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-4l-x-4w-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 18:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-braced-wall-mounted-jib-crane-900019-2000-lb-cap-20-span-w-200-deg-rotation>: HTTP status code is not handled or not allowed 2026-01-27 18:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-14-1-2x20-self-seal-kra-bubble-mailers-with-opening-tear-strip>: HTTP status code is not handled or not allowed 2026-01-27 18:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-2-universal-clevis-pin-300-series-stainless-steel-clpus-0250-2000>: HTTP status code is not handled or not allowed 2026-01-27 18:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-1-8-thick-blue-detectable-60a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-27 18:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempered-glass-desk-pad-20-x-36>: HTTP status code is not handled or not allowed 2026-01-27 18:44:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-barcode-scanner-holder-for-use-with-hyperion-1300g>: HTTP status code is not handled or not allowed 2026-01-27 18:44:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-4-x-3-mailers>: HTTP status code is not handled or not allowed 2026-01-27 18:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-4-x-4-mailers>: HTTP status code is not handled or not allowed 2026-01-27 18:44:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-paper-labels-with-partial-print-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 18:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-steel-revolving-curl-bar>: HTTP status code is not handled or not allowed 2026-01-27 18:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-24-l-x-12-w-x-1-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-outdoor-in-ground-steel-flat-bench-perforated-metal-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:44:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 18:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-1-1-2-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-outdoor-in-ground-steel-flat-bench-expanded-metal-red>: HTTP status code is not handled or not allowed 2026-01-27 18:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-27 18:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-3-4-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 18:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-raceway-48-1-4w-x-100h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-27 18:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsi-contractor-bench-seat-mounted-floor-shift-compatible-console-model-33315-in-grey>: HTTP status code is not handled or not allowed 2026-01-27 18:44:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-12-1-2x19-self-seal-kra-padded-mailers>: HTTP status code is not handled or not allowed 2026-01-27 18:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inter-department-envelopes-10w-x-13l-blue-100pack>: HTTP status code is not handled or not allowed 2026-01-27 18:44:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/screw_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-3-4-w-x-1-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-pass-thru-cable-36-1-4w-x-100h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-27 18:44:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-w-partial-window-and-pass-thru-cable-60-1-4wx101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-27 18:44:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoline-storage-building-20w-x-12h-x-35l-white-pony-wall>: HTTP status code is not handled or not allowed 2026-01-27 18:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-48-1-4w-x-101-1-2h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-27 18:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3299 pages (at 93 pages/min), scraped 1671 items (at 46 items/min) 2026-01-27 18:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/anchors_hangers/screw_anchors>: HTTP status code is not handled or not allowed 2026-01-27 18:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matr806va-notice-sign-no-trespassing-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 18:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-21mm-deep>: HTTP status code is not handled or not allowed 2026-01-27 18:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-side-panel-20l-green>: HTTP status code is not handled or not allowed 2026-01-27 18:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-side-panel-30l-white>: HTTP status code is not handled or not allowed 2026-01-27 18:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-48-l-x-48-w-x-3-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoline-storage-building-20w-x-12h-x-25l-white-pony-wall>: HTTP status code is not handled or not allowed 2026-01-27 18:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-4-drive-1-2-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 18:45:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-rubber-tackboard-aluminum-trim-72-1-2w-x-48-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-27 18:45:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-point-combination-wrench-9-16>: HTTP status code is not handled or not allowed 2026-01-27 18:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-60-l-x-1-2-w-x-3-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 18:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-12-l-x-2-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-1-2-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-3-4-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:45:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-lever-dolly-60-plastex-wheels>: HTTP status code is not handled or not allowed 2026-01-27 18:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kst423-heavy-duty-aluminum-big-pocket-lockout-board-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 18:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-bit-7-32>: HTTP status code is not handled or not allowed 2026-01-27 18:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s153-zebra-thermal-transfer-ribbons-4w-x-1476l-wax-black-24-rollscase>: HTTP status code is not handled or not allowed 2026-01-27 18:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mani-kare-bandages-mk0909>: HTTP status code is not handled or not allowed 2026-01-27 18:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-ball-hitch-with-black-towing-balls-2-1-2-inch-receiver>: HTTP status code is not handled or not allowed 2026-01-27 18:45:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-t-clamp-assembly-for-two-hoses-pipe-or-tube-lines>: HTTP status code is not handled or not allowed 2026-01-27 18:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-48-l-x-1-1-2-w-x-1-8-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm2013bt-20-bandsaw-with-armorglide-5-hp-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-27 18:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-inches-open-snap-on-seal-for-steel-5000-per-case>: HTTP status code is not handled or not allowed 2026-01-27 18:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-3-w-x-3-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-19mm-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 18:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-24-l-x-1-2-w-x-1-16-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:45:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-12-l-x-1-1-2-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 18:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gold-film-disc-roll-255l-5-x-nh-p150-125-discsroll-4-rollscase>: HTTP status code is not handled or not allowed 2026-01-27 18:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f6-woven-split-wrappable-sleeve-2-dia-10-black>: HTTP status code is not handled or not allowed 2026-01-27 18:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-36-l-x-3-w-x-1-4-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-12-l-x-12-w-x-1-4-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-27 18:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireflex-silicone-coated-fiberglass-sleeve-63-dia-50-red>: HTTP status code is not handled or not allowed 2026-01-27 18:45:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:45:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd929va-emergency-sign-safety-shower-graphic-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 18:45:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-hanging-scale-1000-lb-x-02-lb>: HTTP status code is not handled or not allowed 2026-01-27 18:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-boltless-shelving-w-steel-industrial-shelves-48-w-x-18-d-x-84-h-add-on-5-shelves>: HTTP status code is not handled or not allowed 2026-01-27 18:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-heavy-duty-snap-on-cover-2000-series-clear>: HTTP status code is not handled or not allowed 2026-01-27 18:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3391 pages (at 92 pages/min), scraped 1722 items (at 51 items/min) 2026-01-27 18:45:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4flexo-pet-general-purpose-sleeving-dia-250-green>: HTTP status code is not handled or not allowed 2026-01-27 18:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x18-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 18:45:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 18:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-portable-security-box-safe-combo-lock-5-15-16w-x-8d-x-2-5-8h-black>: HTTP status code is not handled or not allowed 2026-01-27 18:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g22-125-ff-30hp-oil-injected-rotary-screw-132-gal-tank-mnt-125psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-27 18:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-type-needle-roller-bearing-metric-taf121912-12mm-bore-19mm-od>: HTTP status code is not handled or not allowed 2026-01-27 18:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-type-needle-roller-bearing-metric-double-sealed-45mm-bore-58mm-od>: HTTP status code is not handled or not allowed 2026-01-27 18:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/efp-gen-x-auto-darkening-welding-helmet-10-fixed-shade-black-asp-graphic>: HTTP status code is not handled or not allowed 2026-01-27 18:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meqc720vp-caution-sign-do-not-operate-without-guards-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-27 18:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hoist-and-trolley-combo-geared-3-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-27 18:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-oz-amber-wide-mouth-packer-bottles-with-cone-lined-caps-case-of-24>: HTTP status code is not handled or not allowed 2026-01-27 18:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hoist-and-trolley-combo-geared-1-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-27 18:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-8-x-532-white-2000-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mabr607vs-caution-sign-open-door-slowly-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 18:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfs1717-exit-w-arrow-floor-sign17-diameter-adhesive-vinyl-1each>: HTTP status code is not handled or not allowed 2026-01-27 18:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/journeyman-22-4-passengers-personnel-carrier-800-lbs-capacity-white>: HTTP status code is not handled or not allowed 2026-01-27 18:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x8-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 18:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnimed-utility-basket-6h>: HTTP status code is not handled or not allowed 2026-01-27 18:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-mouth-erlenmeyer-flasks-250ml-case-of-48>: HTTP status code is not handled or not allowed 2026-01-27 18:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-air-compressor-vertical-60-gallon-capacity-115-cfm-3-1116-hp>: HTTP status code is not handled or not allowed 2026-01-27 18:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Sunex-20-ton-shop-press>: HTTP status code is not handled or not allowed 2026-01-27 18:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5550102-flat-file-10-second-cut>: HTTP status code is not handled or not allowed 2026-01-27 18:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20mm-e-z-crimper-standard-seal>: HTTP status code is not handled or not allowed 2026-01-27 18:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-1200-l-x-36-w-x-0-007-thick-clear>: HTTP status code is not handled or not allowed 2026-01-27 18:46:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x8-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 18:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msdbf22-2-semi-automatic-adjustable-side-drive-pack-seal-station-w-2-tape-head>: HTTP status code is not handled or not allowed 2026-01-27 18:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-handle-w-stud-m5-x-0-8-x-16mm-stud-42mm-l-x-33mm-h-die-cast-handle-mh-402>: HTTP status code is not handled or not allowed 2026-01-27 18:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boost-hd-eva-protection-case-lightweight-durable-weather-resistant-gbc014>: HTTP status code is not handled or not allowed 2026-01-27 18:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-31-degree-api-astm-3h-hydrometer>: HTTP status code is not handled or not allowed 2026-01-27 18:46:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 18:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-72-x-12>: HTTP status code is not handled or not allowed 2026-01-27 18:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-18-1-4-triangle-mailing-tubes>: HTTP status code is not handled or not allowed 2026-01-27 18:46:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pn-30011-privacy-netting-wreinforced-hem-92-x-150-black>: HTTP status code is not handled or not allowed 2026-01-27 18:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pn-30004-privacy-netting-wgrommets-68-x-150-green>: HTTP status code is not handled or not allowed 2026-01-27 18:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/singleface-corrugated-roll-b-flute-24w-x-250l-kraft-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 18:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-30605ep-60w-x-30d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 18:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-7-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-27 18:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-bubble-pouches-10w-x-20l-pink-200pack>: HTTP status code is not handled or not allowed 2026-01-27 18:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bt-3040-all-purpose-tarp-30-x-40-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-26-white-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-27 18:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-36726ep-72w-x-36d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 18:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-48-l-x-3-dia-black>: HTTP status code is not handled or not allowed 2026-01-27 18:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-zone-shadow-board-blue-black-68-x-30-aluminum-sb116al>: HTTP status code is not handled or not allowed 2026-01-27 18:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roll-out-extra-shelving-add-on-4-shelf-36x36x85>: HTTP status code is not handled or not allowed 2026-01-27 18:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-36727ep-72w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 18:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-with-shoe-4in-w-x-82in-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-14-npt-high-flow-coupler>: HTTP status code is not handled or not allowed 2026-01-27 18:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-38-1-5-x-18-x-9-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-lazer-palmswitch-12-alum-ext-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-27 18:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-t5-rls-replacement-test-lead-set-t5-600-t5-1000>: HTTP status code is not handled or not allowed 2026-01-27 18:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-36608ep-60w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 18:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bluetooth-thermometer-with-30-day-data-logging-10-50c-14-122f>: HTTP status code is not handled or not allowed 2026-01-27 18:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-add-on-a30728ep-72w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 18:46:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-96-l-x-1-2-dia-black>: HTTP status code is not handled or not allowed 2026-01-27 18:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3486 pages (at 95 pages/min), scraped 1761 items (at 39 items/min) 2026-01-27 18:46:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strong-hold-heavy-duty-maintenance-storage-cabinet-48x24x78-269890>: HTTP status code is not handled or not allowed 2026-01-27 18:46:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2500-2999-wired-inventory-tag-2-part-carbon-style>: HTTP status code is not handled or not allowed 2026-01-27 18:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-depressed-center-grinding-wheel-7-x-1-4-x-5-8-11-t27-ceramic-grain-36-grit>: HTTP status code is not handled or not allowed 2026-01-27 18:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-tp220-suregrip-test-probes-cat-iv-600-v-cat-iii-1000-v-10-a-rating-ul-listed>: HTTP status code is not handled or not allowed 2026-01-27 18:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-depressed-center-grinding-wheel-4-1-2-x-1-4-x-7-8-t27-ceramic-grain>: HTTP status code is not handled or not allowed 2026-01-27 18:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-block-incubator-liquid-in-glass-thermometer-0-to-100c-safety-coated-35mm-immersion>: HTTP status code is not handled or not allowed 2026-01-27 18:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters>: HTTP status code is not handled or not allowed 2026-01-27 18:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-27 18:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-chrome-wire-linen-cart-with-nylon-cover-4-shelves-72-l-x-24-w-x-69-h>: HTTP status code is not handled or not allowed 2026-01-27 18:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-27 18:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-36-l-x-1-2-dia-black>: HTTP status code is not handled or not allowed 2026-01-27 18:47:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-chrome-wire-linen-cart-with-nylon-cover-4-shelves-48-l-x-24-w-x-80-h>: HTTP status code is not handled or not allowed 2026-01-27 18:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-shade-cloth-10-x-10>: HTTP status code is not handled or not allowed 2026-01-27 18:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressurized-26-gallon-used-fluid-evacuation-tank-3624>: HTTP status code is not handled or not allowed 2026-01-27 18:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-grease-pump-assembly-20-50lb-container-4489>: HTTP status code is not handled or not allowed 2026-01-27 18:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-light-green-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-27 18:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-fl-flh-series-touring-1340cc-motorcycle-battery-1980-1996-23a-12v>: HTTP status code is not handled or not allowed 2026-01-27 18:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-can-am-spyder-rs-998cc-motorcycle-battery-2008-2016-23-amps-12v-i-terminals>: HTTP status code is not handled or not allowed 2026-01-27 18:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-csb2-20-20a-120-277v-toggle-double-pole-ac-quiet-switch-commercial-grade-grounding-brown>: HTTP status code is not handled or not allowed 2026-01-27 18:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryo-safe-mini-quick-freeze-cooler-for-05-or-15ml-tubes-12-places-plastic-5-3-4-x-4-x-3>: HTTP status code is not handled or not allowed 2026-01-27 18:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-24-l-x-3-w-x-1-2-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-27 18:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-36-l-x-2-w-x-1-2-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-27 18:47:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/mobile_automotive_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-3-4-x-1-7-8-3-yellow-strung-tag>: HTTP status code is not handled or not allowed 2026-01-27 18:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-2w-14l-1-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-27 18:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-96-l-x-1-3-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-27 18:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-white-strung-tag>: HTTP status code is not handled or not allowed 2026-01-27 18:47:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-27 18:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-1-3-4-dia-white>: HTTP status code is not handled or not allowed 2026-01-27 18:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-1w-16l-endless-poly-roundsling-green>: HTTP status code is not handled or not allowed 2026-01-27 18:47:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-calibrated-dual-zone-elec-verification-thermometer-50-70c-58-158f-and-10-50c>: HTTP status code is not handled or not allowed 2026-01-27 18:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-3w-20l-1-ply-endless-poly-flat-web-sling>: HTTP status code is not handled or not allowed 2026-01-27 18:47:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/mobile_automotive_workbenches landed on page that is not a product page. 2026-01-27 18:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-4-x-1-3-8-1-pink-fluorescent-strung-tag>: HTTP status code is not handled or not allowed 2026-01-27 18:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-4-x-3-1-8-8-orange-fluorescent-tag>: HTTP status code is not handled or not allowed 2026-01-27 18:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-60-x-30-adj-height-workbench-w-drawer-riser-black-shop-top-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-27 18:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ma-9-t-handle-pump>: HTTP status code is not handled or not allowed 2026-01-27 18:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-four-wheel-drum-cart-for-420-lbs-55-gallon-drums>: HTTP status code is not handled or not allowed 2026-01-27 18:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-advanced-classroom-training-table-30-x-48-folkstone>: HTTP status code is not handled or not allowed 2026-01-27 18:47:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-plastic-bin-16-1-4l-x-11-3-4w-x-22h-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:47:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-48-1-2-x-23-x-13-1-2-green>: HTTP status code is not handled or not allowed 2026-01-27 18:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-alloy-latching-j-hook-style-b-1435-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-64-1-2-x-10-x-4-1-2-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slide-dispenser-4-3-8-x-4-7-8-x-5-1-2-72-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-1-5-8-x-7-8-plastic-white-end-cap-p2860-33vy>: HTTP status code is not handled or not allowed 2026-01-27 18:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-welded-brackets-aluminum-underbody-boxes-18x18>: HTTP status code is not handled or not allowed 2026-01-27 18:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-marker-oil-based-medium-purple-ink>: HTTP status code is not handled or not allowed 2026-01-27 18:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/convex-modular-lounge-chair-leather-black-hercules-alon-series>: HTTP status code is not handled or not allowed 2026-01-27 18:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-gel-retractable-gel-ink-pen-0-5mm-blue-ink>: HTTP status code is not handled or not allowed 2026-01-27 18:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-in-glass-oven-thermometer-35-to-200c-organic-liquid-fill-total-immersion>: HTTP status code is not handled or not allowed 2026-01-27 18:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-4-w-x-1-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 18:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-task-office-chair-mesh-mid-back-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palle-rack-upright-frame-36d-x-96h>: HTTP status code is not handled or not allowed 2026-01-27 18:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3579 pages (at 93 pages/min), scraped 1799 items (at 38 items/min) 2026-01-27 18:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-24-l-x-2-w-x-1-2-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 18:47:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-72-l-x-2-1-4-dia-white>: HTTP status code is not handled or not allowed 2026-01-27 18:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mro-industrial-enamel-20-oz-flat-black-6-cans-case-620-1433>: HTTP status code is not handled or not allowed 2026-01-27 18:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-pfa-safety-coated-liquid-in-glass-thermometer-10-to-110c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-27 18:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x9-4-mil-white-block-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 18:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-horizon-solid-half-solid-doors-26w-hr1-1hs>: HTTP status code is not handled or not allowed 2026-01-27 18:48:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pps-mini-size-liners-16348-100-box>: HTTP status code is not handled or not allowed 2026-01-27 18:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-incubator-verification-thermometer-10-to-45c>: HTTP status code is not handled or not allowed 2026-01-27 18:48:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 18:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-2-1-2-w-x-2-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 18:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-36w-x-14d-x-63h-4-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 18:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-6-w-x-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 18:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-1500-waxed-kra-paper>: HTTP status code is not handled or not allowed 2026-01-27 18:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-36w-x-14d-x-54h-3-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 18:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-12-l-x-12-w-x-3-8-thick-black-bulk-ps-acb-1789>: HTTP status code is not handled or not allowed 2026-01-27 18:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-40-basis-weight-white-butcher-paper>: HTTP status code is not handled or not allowed 2026-01-27 18:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-24-l-x-12-w-x-1-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 18:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-30-red-tissue-paper>: HTTP status code is not handled or not allowed 2026-01-27 18:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-jerrican-with-spigot-20-liters-5-gallons-screw-cap-3-4-id-spout>: HTTP status code is not handled or not allowed 2026-01-27 18:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-6-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 18:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-horizon-glass-half-glass-doors-52w-hrps2-1g>: HTTP status code is not handled or not allowed 2026-01-27 18:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-wall-mount-wine-rack-single-wide-chrome-14-d-x-48-w-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 18:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-roof-warning-line-perimeter-vinyl-pennant-42-flags-105-feet-long-yellow-03-405-105>: HTTP status code is not handled or not allowed 2026-01-27 18:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-24-maple-square-edge-double-4-drawer>: HTTP status code is not handled or not allowed 2026-01-27 18:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-60w-x-30d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 18:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dupli-color-automotive-metallic-coating-chrome-11-oz-aerosol>: HTTP status code is not handled or not allowed 2026-01-27 18:48:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/spray_paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-labeled-2-color-lyob-wide-mouth-wash-bottles-1000ml-32oz-pe-w-natural-pp-cap-6pk>: HTTP status code is not handled or not allowed 2026-01-27 18:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/com-12-spherical-plain-bearing-inch-commercial-series>: HTTP status code is not handled or not allowed 2026-01-27 18:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-48-l-x-24-w-x-2-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 18:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-12-l-x-12-w-x-1-4-thick-white-bulk-ps-ac-1219>: HTTP status code is not handled or not allowed 2026-01-27 18:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-washer-for-pipette-pump-yellow-pipettors>: HTTP status code is not handled or not allowed 2026-01-27 18:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-medium-duty-landscape-rake-tractor-attachment-category-1>: HTTP status code is not handled or not allowed 2026-01-27 18:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roto-flo-polystyrene-flow-indicator-for-3-16-to-1-4-id-tubing>: HTTP status code is not handled or not allowed 2026-01-27 18:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-3-w-x-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 18:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bucket-bale-spear-tractor-attachment-2500-lb-capacity-cat-1>: HTTP status code is not handled or not allowed 2026-01-27 18:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-saturated-microscope-optics-cleaning-pads-5x-8-10pk>: HTTP status code is not handled or not allowed 2026-01-27 18:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/painting_supplies/spray_paint_primer>: HTTP status code is not handled or not allowed 2026-01-27 18:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pyrex-magnetic-stirring-bar-glass-encapsulated-22-x-64mm>: HTTP status code is not handled or not allowed 2026-01-27 18:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakeside-mobile-stand-3-shelves-300>: HTTP status code is not handled or not allowed 2026-01-27 18:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gez-212es-2rs-spherical-plain-bearing-inch-sealed>: HTTP status code is not handled or not allowed 2026-01-27 18:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-heavy-duty-polyethylene-rectangular-tank-with-top-flanges-and-faucet-11-x-11-x-10>: HTTP status code is not handled or not allowed 2026-01-27 18:48:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fire_protection/smoke_carbon_monoxide_detectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sv4-class-2-5-pt-breakaway-mesh-vest-hi-viz-green-2xl>: HTTP status code is not handled or not allowed 2026-01-27 18:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-nesting-tote-24-1-2-x-19-x-9-1-2-usda-fda-approved-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-24-l-x-24-w-x-3-16-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-30es-2rs-spherical-plain-bearing-metric-sealed>: HTTP status code is not handled or not allowed 2026-01-27 18:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3672 pages (at 93 pages/min), scraped 1846 items (at 47 items/min) 2026-01-27 18:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-mobile-storage-without-trays>: HTTP status code is not handled or not allowed 2026-01-27 18:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-24-l-x-1-1-2-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 18:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fire_protection/smoke_carbon_monoxide_detectors>: HTTP status code is not handled or not allowed 2026-01-27 18:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twelve-big-cubby-storage>: HTTP status code is not handled or not allowed 2026-01-27 18:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-general-purpose-polyethylene-tray-without-faucet-18-x-22-x-4>: HTTP status code is not handled or not allowed 2026-01-27 18:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-neoprene-roll-720-l-x-12-w-x-1-8-thick-white-food-60a>: HTTP status code is not handled or not allowed 2026-01-27 18:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-2-1-2-w-x-3-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 18:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-vented-labeled-2-color-methanol-wm-wash-bottles-250ml-8oz-pe-w-green-pp-cap-3pk>: HTTP status code is not handled or not allowed 2026-01-27 18:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9534-15-8-inch-axial-ac-metal-com-pax-ial-blower-w-canister-15-ducting>: HTTP status code is not handled or not allowed 2026-01-27 18:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinplus-teflon-magnetic-stirring-bar-254-x-143mm-white>: HTTP status code is not handled or not allowed 2026-01-27 18:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/junior-victorian-greenhouse-12-6l-x-7-9w-x-8-2h>: HTTP status code is not handled or not allowed 2026-01-27 18:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/removable-steel-machinery-rack-guard-42-h-x-36-l>: HTTP status code is not handled or not allowed 2026-01-27 18:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-1-w-x-3-16-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 18:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-30w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 18:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-micro-flea-magnetic-stirring-bar-64-x-3mm-white>: HTTP status code is not handled or not allowed 2026-01-27 18:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-polygon-magnetic-stirring-bar-2-x-3-8-white-without-pivot-ring>: HTTP status code is not handled or not allowed 2026-01-27 18:49:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-welded-steel-locker-double-tier-24x24x74-2-door-gray-1>: HTTP status code is not handled or not allowed 2026-01-27 18:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9558-15-16-inch-axial-explosion-proof-ex-plastic-blower-w-canister-15-ducting>: HTTP status code is not handled or not allowed 2026-01-27 18:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-36w-x-30d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 18:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-large-cylindrical-sampling-scoop-1l-1qt-plastic>: HTTP status code is not handled or not allowed 2026-01-27 18:49:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-24w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 18:49:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-14485b-48w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 18:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-silicone-tube-120-l-x-1-4-id-x-3-4-od-red>: HTTP status code is not handled or not allowed 2026-01-27 18:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-42w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 18:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-18x18x72-3-door-parchment>: HTTP status code is not handled or not allowed 2026-01-27 18:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-mudflaps-1-4-inch-thick-24x36-b36lp>: HTTP status code is not handled or not allowed 2026-01-27 18:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-lab-drawer-4-compartment-tray-14-x-17-1-2-x-2-1-4>: HTTP status code is not handled or not allowed 2026-01-27 18:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-21427b-42w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 18:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-extra-heavy-duty-galvanite-duratough-addl-shelf-36w-x-24d>: HTTP status code is not handled or not allowed 2026-01-27 18:49:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers landed on page that is not a product page. 2026-01-27 18:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/correll-econo-line-flip-top-table-24-x-48-walnut>: HTTP status code is not handled or not allowed 2026-01-27 18:49:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gfobg3017rss-bottom-grid-ss-16lx2812w>: HTTP status code is not handled or not allowed 2026-01-27 18:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-powder-probe-samplers-125ml-4oz-individually-wrapped-20pk>: HTTP status code is not handled or not allowed 2026-01-27 18:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-4-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 18:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24w-x-15d-straight-shelf-w-front-lip-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-27 18:49:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-hook-chrome>: HTTP status code is not handled or not allowed 2026-01-27 18:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x-28-bulletin-sign-holder-w-rectangular-tubing-base-chrome>: HTTP status code is not handled or not allowed 2026-01-27 18:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-60-l-x-36-w-x-1-8-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-27 18:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-240-l-x-36-w-x-1-2-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-27 18:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccl24-5035-center-lens-2x4-troffer-44w-5000l-3500k-0-10v-dim-dlc>: HTTP status code is not handled or not allowed 2026-01-27 18:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x30-safety-maple-pedestal-workbench-with-9-drawers>: HTTP status code is not handled or not allowed 2026-01-27 18:49:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_tubes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/143051-glm-rope-pull-switch-3nc-1no-12npt>: HTTP status code is not handled or not allowed 2026-01-27 18:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/142499-gls-ar-rope-pull-switch-2nc-1no-12npt>: HTTP status code is not handled or not allowed 2026-01-27 18:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/142053-gls-rope-pull-switch-2nc-2no-12npt-die-cast>: HTTP status code is not handled or not allowed 2026-01-27 18:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1w-x-5h-grid-panel-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-27 18:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinge-w-hardware-fg3975l90000>: HTTP status code is not handled or not allowed 2026-01-27 18:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-fiberglass-step-ladder-250-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:49:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-faceout-slatwall-rectangular-tubing-chrome>: HTTP status code is not handled or not allowed 2026-01-27 18:49:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_label_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-mouth-1000ml-32oz-polyethylene-wash-bottles-ylw-polypropylene-cap-53mm-closure-4pk>: HTTP status code is not handled or not allowed 2026-01-27 18:49:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-double-sided-add-on-unit-1>: HTTP status code is not handled or not allowed 2026-01-27 18:49:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_tubes landed on page that is not a product page. 2026-01-27 18:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-double-sided-starter-unit-extra-4>: HTTP status code is not handled or not allowed 2026-01-27 18:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-bedside-cart-1-locking-drawer-white-with-global-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3763 pages (at 91 pages/min), scraped 1881 items (at 35 items/min) 2026-01-27 18:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-4-w-x-1-8-thick-green>: HTTP status code is not handled or not allowed 2026-01-27 18:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 18:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-five-tier-locker-1-wide-12w-x-18d-x-12h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_label_tape>: HTTP status code is not handled or not allowed 2026-01-27 18:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-12-w-x-1-4-thick-green>: HTTP status code is not handled or not allowed 2026-01-27 18:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 18:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-grip-roper-device-stretch-film-dispenser-ep-890-12-20>: HTTP status code is not handled or not allowed 2026-01-27 18:50:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84-heavy-weight-single-slot-w-1-2-slots-on-1-centers-satin-zinc>: HTTP status code is not handled or not allowed 2026-01-27 18:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-head-t-knob-thumb-screw-m5-x-0-8-15mm-thread-35mm-head-dia-18mm-head-h-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-27 18:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-95a-n5-xenon-strobe-with-horn-amber-120v-ac>: HTTP status code is not handled or not allowed 2026-01-27 18:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-1750-13-mission-square-bowl-display-12-inch-w-x-19-inch-d-x-13-1-2-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-27 18:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-j20-251-7425j-153-polypropylene-label-0-5-h-x-1-w-1500-roll-w-second-label>: HTTP status code is not handled or not allowed 2026-01-27 18:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84-heavyweight-single-slot-w-1-slots-on-2-centers-satin-zinc>: HTTP status code is not handled or not allowed 2026-01-27 18:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-anywhere-basket-18-6-8-b>: HTTP status code is not handled or not allowed 2026-01-27 18:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-58c-n5-100wh-rotating-beacon-100wh-clear-120v-ac>: HTTP status code is not handled or not allowed 2026-01-27 18:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-58r-n5-100wh-rotating-beacon-100wh-red-120v-ac>: HTTP status code is not handled or not allowed 2026-01-27 18:50:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30650-spring-pin-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-27 18:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-j20-59-7425j-153-polypropylene-label-1-h-x-0-5-w-2000-roll-white>: HTTP status code is not handled or not allowed 2026-01-27 18:50:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 18:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-150504-riptag-153-safety-tag-roll-do-not-operate-3-w-x-5-75-h-250-roll>: HTTP status code is not handled or not allowed 2026-01-27 18:50:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-odp-motor-3-4-hp-1725-rpm-230-460v-odp-56-frame>: HTTP status code is not handled or not allowed 2026-01-27 18:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-flake-ice-machine-272-lbs-24-hrs-prod-50-lbs-storage-air-cooled>: HTTP status code is not handled or not allowed 2026-01-27 18:50:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55191-internal-muffler-assembly-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-27 18:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels>: HTTP status code is not handled or not allowed 2026-01-27 18:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-150740-inspection-timer-7-day-10-pack-led-lights-abs-plastic-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-fan-motor-1-4-hp-1100-rpm-115-230v-teao>: HTTP status code is not handled or not allowed 2026-01-27 18:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-3267-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-27 18:50:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 18:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-150459-prop-65-regulatory-sign-service-station-10-x-7-polystyrene-black-on-white>: HTTP status code is not handled or not allowed 2026-01-27 18:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fans-motor-1-2-hp-1075-rpm-208-230v-teao-48-frame>: HTTP status code is not handled or not allowed 2026-01-27 18:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cnm3531-25-hp-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels>: HTTP status code is not handled or not allowed 2026-01-27 18:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-hub-sealant-1-qt>: HTTP status code is not handled or not allowed 2026-01-27 18:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-8-bu-navy-blue-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 18:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms90-b0810-90-shade-cloth-shade-tarp-8-x-10>: HTTP status code is not handled or not allowed 2026-01-27 18:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-thick-3-w-corrugated-rubber-runner-full-roll-75-l>: HTTP status code is not handled or not allowed 2026-01-27 18:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrza120a-125xbr-xtra-brite-led-random-flash-pattern-amb-120-vac-0108-amps>: HTTP status code is not handled or not allowed 2026-01-27 18:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-and-blower-1-4-hp-1140-rpm-200-230-460v-tenv>: HTTP status code is not handled or not allowed 2026-01-27 18:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifugal-blower-3200-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-27 18:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-ultra-green-foam-hand-soap-1200ml-refill-6-refills-case>: HTTP status code is not handled or not allowed 2026-01-27 18:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pool-pump-motor-3-4-hp-3450-rpm-208-230-460v-odp-y56y-frame>: HTTP status code is not handled or not allowed 2026-01-27 18:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp2280t-4-5-hp-880-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-yellow-wide-step-stand-2-step-welded-ssa-2w-y>: HTTP status code is not handled or not allowed 2026-01-27 18:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-straight-pattern-tinner-snips>: HTTP status code is not handled or not allowed 2026-01-27 18:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repositionable-double-coated-adhesive-transfer-tape-928-3-4-x-18-yds-2-mil-translucent-white>: HTTP status code is not handled or not allowed 2026-01-27 18:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3774t-5-10-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-105xbrirba24d-chameleon-multi-status-indicator-red-blue-and-amber-24v-dc>: HTTP status code is not handled or not allowed 2026-01-27 18:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chalk-refill-2-5-lbs-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledma240a-smd-multi-mode-led-module-and-light-source-amber-240v-ac>: HTTP status code is not handled or not allowed 2026-01-27 18:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/specialty-molded-dock-bumper-5-wx16-lx2-h-2>: HTTP status code is not handled or not allowed 2026-01-27 18:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-48-inch-w-x-48-inch-d-x-84-inch-h-3-levels-add-on-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-27 18:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-5-clear-self-adhesive-package-qty-25>: HTTP status code is not handled or not allowed 2026-01-27 18:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150-construction-chalk-reel>: HTTP status code is not handled or not allowed 2026-01-27 18:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cem4103t-5-25-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:50:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/general_purpose_hvac_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastek-conductive-fluted-sheet-4mm-x-36-x-48-black>: HTTP status code is not handled or not allowed 2026-01-27 18:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-motor-1-8-hp-1075-rpm-115v-oao-42y-frame>: HTTP status code is not handled or not allowed 2026-01-27 18:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-36-inch-w-x-18-inch-d-x-84-inch-h-8-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laptop-backpack-locker-45w-x-18d-x-78h-3-tier-3-wide-711-platinum-assembled>: HTTP status code is not handled or not allowed 2026-01-27 18:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3854 pages (at 91 pages/min), scraped 1914 items (at 33 items/min) 2026-01-27 18:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-36-inch-w-x-36-inch-d-x-84-inch-h-7-levels-starter-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/general_purpose_hvac_motors>: HTTP status code is not handled or not allowed 2026-01-27 18:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-series-beam-clamp-4400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 18:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-48-inch-w-x-18-inch-d-1-level-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-27 18:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cewdm3555t-2-hp-3490-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-afm3530-1-5-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-and-blower-3-4-hp-1725-rpm-115-208-230v-odp>: HTTP status code is not handled or not allowed 2026-01-27 18:51:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cem2333t-5-15-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:51:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peakworks-srl503026le-selfretracting-lifeline-6l-dyneema-webbing-steel-carabiner>: HTTP status code is not handled or not allowed 2026-01-27 18:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-cabinet-with-single-door-30-w-x-24-d-x-75-h-red>: HTTP status code is not handled or not allowed 2026-01-27 18:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-indus-wrk-shirt-shrt-slv-char-3xl-sp24>: HTTP status code is not handled or not allowed 2026-01-27 18:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shift-industrial-cabinet-60-w-x-24-d-x-75-h-orange>: HTTP status code is not handled or not allowed 2026-01-27 18:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cewdm3615t-5-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:51:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper landed on page that is not a product page. 2026-01-27 18:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-deluxe-denim-shirt-lng-m-sd78-sd78dnlnm>: HTTP status code is not handled or not allowed 2026-01-27 18:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-size-stacking-bin-11x29-7-8x10-red>: HTTP status code is not handled or not allowed 2026-01-27 18:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toolbox-z300-greenx-jumbo-roll-natural-950-sh-roll-1-roll-case-24310>: HTTP status code is not handled or not allowed 2026-01-27 18:51:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper landed on page that is not a product page. 2026-01-27 18:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cesswdm3710t-7-5-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-food-wrap-film-1>: HTTP status code is not handled or not allowed 2026-01-27 18:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-2-67-hp-1500-rpm-115v-teao>: HTTP status code is not handled or not allowed 2026-01-27 18:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvywt-legal-poly-sheet-protector-for-3-or-4-ring-binders-clear-14-x-8-1-2-50-bx>: HTTP status code is not handled or not allowed 2026-01-27 18:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-stackable-shelf-ledge-back-42-w-x-2-h>: HTTP status code is not handled or not allowed 2026-01-27 18:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-jm3112-3-4-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-reducer-1-2-ml-stud-x-3-8-tube-1-2-3-l>: HTTP status code is not handled or not allowed 2026-01-27 18:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-extra-level-with-wood-deck-96-w-x-36-d-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-jm3158-3-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-series-clear-lid-for-qus248-polyethylene>: HTTP status code is not handled or not allowed 2026-01-27 18:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-wire-shelving-spill-tray-48-l-x-24-w-x-2-1-4-d-9-gallon-capacity-textured-regal-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-short-sleeve-work-shirt-light-blue-m-ws20lbssm>: HTTP status code is not handled or not allowed 2026-01-27 18:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-wire-shelving-spill-tray-36-l-x-18-w-x-2-1-4-d-5-gallon-capacity-mirrored-silver>: HTTP status code is not handled or not allowed 2026-01-27 18:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-rack-4-shelves-with-12-span-track-flow-units-48-w-x-48-d-x-72-h-mirrored-silver>: HTTP status code is not handled or not allowed 2026-01-27 18:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-1-4-industrial-coupler-x-1-4-female-nptf-2-1-5-l>: HTTP status code is not handled or not allowed 2026-01-27 18:51:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/boltless_shelving_additional_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-3-8-tube-x-1-8-nptf-1-1-4-l>: HTTP status code is not handled or not allowed 2026-01-27 18:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-piece-primo-cribbing-kit-15254p>: HTTP status code is not handled or not allowed 2026-01-27 18:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twinkle-stainless-steel-cleaner-polish>: HTTP status code is not handled or not allowed 2026-01-27 18:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-ez-deck-decking-36-inch-w-x-24-inch-d-x-3-4-inch-h-for-use-w-double-rivets>: HTTP status code is not handled or not allowed 2026-01-27 18:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-howard-instrument-table-24-l-x-36-w-x-34-h-on-casters-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idm3587t-2te-hp-6000-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-and-100-ton-jack-plate-kit-2-piece-kit-includes-14464-and-14465-14479>: HTTP status code is not handled or not allowed 2026-01-27 18:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-1-4-tube-x-1-8-nptf-1-2-3-l>: HTTP status code is not handled or not allowed 2026-01-27 18:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-metal-handle-w-threads-12-case-97159>: HTTP status code is not handled or not allowed 2026-01-27 18:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/boltless_shelving_additional_shelves>: HTTP status code is not handled or not allowed 2026-01-27 18:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-36-non-reflective-roll-up-vinyl-sign-be-prepared-to-stop>: HTTP status code is not handled or not allowed 2026-01-27 18:51:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-rigid-heavyweight-plastic-name-tent-holder-2-1-2-x-8-1-2-clear-25-bx>: HTTP status code is not handled or not allowed 2026-01-27 18:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-particle-board-decking-96-inch-w-x-18-inch-d-x-5-8-inch>: HTTP status code is not handled or not allowed 2026-01-27 18:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-comp-sink-18x18x12-deep-8-faucet-holes-18r-drainboard-galvanized-legs>: HTTP status code is not handled or not allowed 2026-01-27 18:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-floor-pads-red-16>: HTTP status code is not handled or not allowed 2026-01-27 18:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-floor-pads-black-12>: HTTP status code is not handled or not allowed 2026-01-27 18:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 3944 pages (at 90 pages/min), scraped 1955 items (at 41 items/min) 2026-01-27 18:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3774t-8-10-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-96-w-x-42-d-x-96-h-b2282502n>: HTTP status code is not handled or not allowed 2026-01-27 18:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-smallest-nested-instrument-table-on-casters-stainless-steel-28-l-x-14-w-x-32-h>: HTTP status code is not handled or not allowed 2026-01-27 18:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-3-pos-ball-valve-closed-center-1-8-nptf-1-1-2-l>: HTTP status code is not handled or not allowed 2026-01-27 18:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-rt-angle-ball-valve-3-8-nptf-1-1-2-l>: HTTP status code is not handled or not allowed 2026-01-27 18:52:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-27 18:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-add-on-108-w-x-48-d-x-120-h-b2282524n>: HTTP status code is not handled or not allowed 2026-01-27 18:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em4107t-25-hp-3525-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jwp-208-1-20-3hp-1ph-planer>: HTTP status code is not handled or not allowed 2026-01-27 18:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-valve-flow-knob-adjustment-1-4-tube-x-1-4-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-27 18:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-knob-adjustment-1-4-tube-x-1-8-swift-fit-universal-thread-6-7-l>: HTTP status code is not handled or not allowed 2026-01-27 18:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-size-10-15-h-composite-toe-chevron-plus-outsole-blue-w-red-sole>: HTTP status code is not handled or not allowed 2026-01-27 18:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3586t-2-hp-3490-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atrix-high-capacity-filter-black>: HTTP status code is not handled or not allowed 2026-01-27 18:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-men-s-size-11-15-h-composite-safety-toe-chevron-plus-sole-red>: HTTP status code is not handled or not allowed 2026-01-27 18:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmp21-series-permasleeve-wire-marking-sleeves-1-4-dia-black-white-m21-250-c-342>: HTTP status code is not handled or not allowed 2026-01-27 18:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/87630-blank-valve-tag-25-pkg-aluminum-1-1-2-inches-by-1-1-2-inches-h-green>: HTTP status code is not handled or not allowed 2026-01-27 18:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-cylider-flow-screw-adjustment-10mm-tube-x-1-4-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-27 18:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-reel-wire-unit-36-w-x-18-d-x-63-h-chrome-all-welded-4-shelves>: HTTP status code is not handled or not allowed 2026-01-27 18:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-screw-adjustment-8mm-tube-x-1-4-swift-fit-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-27 18:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3157t-8-2-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-eco-elite-4-wide-5-up-to-60-grey-ash>: HTTP status code is not handled or not allowed 2026-01-27 18:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x72-heat-shield-canister>: HTTP status code is not handled or not allowed 2026-01-27 18:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-fdl3514tm-1-5-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-buckle-ice-traction-12-overshoe-mens-sz-6-waterproof-vulcanized-rubber-blk>: HTTP status code is not handled or not allowed 2026-01-27 18:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-29-1-2-w-x-11-5-8-d-x-72-h-5-shelf-bark-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-d-deo-gard-urinal-mat>: HTTP status code is not handled or not allowed 2026-01-27 18:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp84404t-4-75-hp-1185-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverallzipper-fronthoodelastic-wrist-and-anklestormflapserged-seamyellow2x>: HTTP status code is not handled or not allowed 2026-01-27 18:52:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/sports_drinks_mixes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-3-led-alley-lights-3024642>: HTTP status code is not handled or not allowed 2026-01-27 18:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moisture-barrier-bag-18-x-24-35mm-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-shoe-covers-large-ankle-height-blue-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:52:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-3-pullover-hoodie-polyester-lime-s>: HTTP status code is not handled or not allowed 2026-01-27 18:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-safe-stumpy-pour-spout-lid-dark-green>: HTTP status code is not handled or not allowed 2026-01-27 18:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/sports_drinks_mixes>: HTTP status code is not handled or not allowed 2026-01-27 18:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp844156t-4-150-hp-1190-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:52:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/defibrillator_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xenonsafety-glasses-sg-14g-gray-hc-lens-black-framered-tips>: HTTP status code is not handled or not allowed 2026-01-27 18:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4in-clear-round-backup-light-with-10-led-5624350>: HTTP status code is not handled or not allowed 2026-01-27 18:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-coverall-zipper-front-elastic-wrist-ankle-stormflap-white-md>: HTTP status code is not handled or not allowed 2026-01-27 18:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pacon-easel-pad-50-sheet-unruled-27-x-34-50-pad-white-paper>: HTTP status code is not handled or not allowed 2026-01-27 18:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medicine-cabinet-with-pull-out-shelf-18-w-x-8-d-x-27-h-white-269940>: HTTP status code is not handled or not allowed 2026-01-27 18:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-coverall-zipper-front-elastic-wrist-ankle-stormflap-white-3x>: HTTP status code is not handled or not allowed 2026-01-27 18:52:51 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 18:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ehfm2543t-50-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:52:51 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:2 2026-01-27 18:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jack-air-lift-10-ton-truck-trailers-otc1590>: HTTP status code is not handled or not allowed 2026-01-27 18:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jack-stands-2-ton-pair-kti61201>: HTTP status code is not handled or not allowed 2026-01-27 18:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2508-t-shirt-weight-dress-hanger-17l-plastic-bk-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-27 18:52:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/defibrillator_accessories landed on page that is not a product page. 2026-01-27 18:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4040 pages (at 96 pages/min), scraped 2004 items (at 49 items/min) 2026-01-27 18:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20814rc-pant-hanger-14l-x-12w-wood-bk-rubberized-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-27 18:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-1-4hp-low-profile-air-mover>: HTTP status code is not handled or not allowed 2026-01-27 18:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-sprinkler-fire-5>: HTTP status code is not handled or not allowed 2026-01-27 18:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5in-amber-marker-clearance-light-with-reflex-with-4-led-5622526>: HTTP status code is not handled or not allowed 2026-01-27 18:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-water-9>: HTTP status code is not handled or not allowed 2026-01-27 18:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bpr40-two-way-radio-4-watt-8-channel-analog-uhf-450-470-mhz>: HTTP status code is not handled or not allowed 2026-01-27 18:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/101w-wd-hanger-stacker-metal-wh-pkg-qty-1>: HTTP status code is not handled or not allowed 2026-01-27 18:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jw-winco-zinc-die-cast-stop-lock-flange-red>: HTTP status code is not handled or not allowed 2026-01-27 18:53:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens landed on page that is not a product page. 2026-01-27 18:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5in-clear-surface-mount-marker-light-with-3-led-5622304>: HTTP status code is not handled or not allowed 2026-01-27 18:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fellowes-laminating-pouches-legal-size-3-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ucl345-3-4-5airover-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ucl710-7-5-10airover-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fellowes-designer-suites-premium-keyboard-tray>: HTTP status code is not handled or not allowed 2026-01-27 18:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-rsp2451a-33-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-131-smooth-shank-28-degree-framing-nails-2000-qty>: HTTP status code is not handled or not allowed 2026-01-27 18:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vencp83581t-4-1-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-x-4-welded-pipe-nipple-schedule-40-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-close-welded-pipe-nipple-schedule-40-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-3mm-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-27 18:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-glo-workhorse-80k-btu-kerosene-forced-air-heater-kfa80wh>: HTTP status code is not handled or not allowed 2026-01-27 18:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-1-8-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-27 18:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kneespace-credenza-72-inch-w-x-24-inch-d-x-29-half-inch-h-silver-mesh-and-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:53:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-grain-goatskin-leather-protector-for-novax-gloves-white-size-10>: HTTP status code is not handled or not allowed 2026-01-27 18:53:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-caution-confined-space-use-lockout-entry-procedures>: HTTP status code is not handled or not allowed 2026-01-27 18:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-port-cap-with-plugs-for-glass-bottles-with-gl45-closure>: HTTP status code is not handled or not allowed 2026-01-27 18:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m3454-25-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2004-w-eglr-6-all-plastic-crowd-control-barricade-w-rubber-feet-interlocking-white>: HTTP status code is not handled or not allowed 2026-01-27 18:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torq-set-8-power-bit-x-1-1-4-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-27 18:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m3560-5-hp-850-rpm>: HTTP status code is not handled or not allowed 2026-01-27 18:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bl1500-lifting-magnet-1500-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-caution-floor-load-limit-not-to-exceed>: HTTP status code is not handled or not allowed 2026-01-27 18:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns>: HTTP status code is not handled or not allowed 2026-01-27 18:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-5mm-power-bit-x-6-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-27 18:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-gallon-configure-decorative-waste-container-organic-waste-lid-1961627>: HTTP status code is not handled or not allowed 2026-01-27 18:53:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks landed on page that is not a product page. 2026-01-27 18:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-danger-hard-hats-required-this-area>: HTTP status code is not handled or not allowed 2026-01-27 18:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-20-power-bit-x-2-gunmetal-bronze-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-6-dia-round-floor-drain-wscrews-nickel>: HTTP status code is not handled or not allowed 2026-01-27 18:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-1-power-bit-x-3-1-2-gunmetal-bronze-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interior-semi-gloss-off-white-gallon-pail-1-case-21600-1>: HTTP status code is not handled or not allowed 2026-01-27 18:53:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/outdoor_structures_storage/canopies_carports_utility_tents/utility_work_tents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-starter-unit-48w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 18:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-add-on-unit-24w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 18:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protecta-1161521-vest-style-climbing-harness-back-and-front-d-rings-m-l>: HTTP status code is not handled or not allowed 2026-01-27 18:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-starter-unit-24w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 18:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb3-2d-2448-fl-48-w-mobile-bench-cabinets-center-shelf-2-locking-doors>: HTTP status code is not handled or not allowed 2026-01-27 18:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/95-gallon-spillpack-spill-kit-oil-only-easy-off-lid-yellow-1492-ye>: HTTP status code is not handled or not allowed 2026-01-27 18:53:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1234090-trigger-x-adjustable-rope-positioning-lanyard-6-foot-long-single-mode-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-27 18:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buck-neurological-hammer-7-1-2-l-black-and-chrome>: HTTP status code is not handled or not allowed 2026-01-27 18:53:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/hand_soap_sanitizer_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:53:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/outdoor_structures_storage/canopies_carports_utility_tents/utility_work_tents landed on page that is not a product page. 2026-01-27 18:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-frame-guard-12-h-with-hardware-yellow>: HTTP status code is not handled or not allowed 2026-01-27 18:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gsm50-heavy-duty-f-clamp-20>: HTTP status code is not handled or not allowed 2026-01-27 18:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4131 pages (at 91 pages/min), scraped 2043 items (at 39 items/min) 2026-01-27 18:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-27 18:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-kap-industrial-pant-black-32x32-pt20>: HTTP status code is not handled or not allowed 2026-01-27 18:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v5770170-l-heelstop-anti-slip-heel-traction-aid-intrinsic>: HTTP status code is not handled or not allowed 2026-01-27 18:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexbollard-52h-x-7-14w-w99h-signpost-concrete-yellowred-xl-b528-c-yellowred>: HTTP status code is not handled or not allowed 2026-01-27 18:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-1-0-awg-4-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-27 18:54:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/freezers/ice_cream_freezers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:54:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/hand_soap_sanitizer_dispensers landed on page that is not a product page. 2026-01-27 18:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-80455-w-2-gang-1-duplex-1-decora-gfci-device-combo-standard-white>: HTTP status code is not handled or not allowed 2026-01-27 18:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-heavy-duty-mobile-work-platform-handrails-24-x-60-platform>: HTTP status code is not handled or not allowed 2026-01-27 18:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-262008-1-12-muni-ball-plug-18-bypass-22-psi-50-ft>: HTTP status code is not handled or not allowed 2026-01-27 18:54:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-aluminum-dock-board-with-welded-aluminum-curb-60x60-15-000-lb-capacity-987008>: HTTP status code is not handled or not allowed 2026-01-27 18:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-3-8-ring-terminals-1-0-awg-3-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 18:54:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/freezers/ice_cream_freezers landed on page that is not a product page. 2026-01-27 18:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hc-25686-plumbers-caulk-silicone-clear-cartridge-11-oz>: HTTP status code is not handled or not allowed 2026-01-27 18:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-31193-heavy-duty-wax-bowl-ring-with-sleeve>: HTTP status code is not handled or not allowed 2026-01-27 18:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts>: HTTP status code is not handled or not allowed 2026-01-27 18:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-white-electric-heat-thermostat-electric-baseboard-heat>: HTTP status code is not handled or not allowed 2026-01-27 18:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-w-vogue-traditional-accessories-16-unit-2-parcel-lockers-dark-bronze>: HTTP status code is not handled or not allowed 2026-01-27 18:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-24w-x-36l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 18:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parking-lot-starter-kit-stencil-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-27 18:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-sign-10x7-rigid-plastic-this-water-is-safe-to-drink>: HTTP status code is not handled or not allowed 2026-01-27 18:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-2-shelf-24w-x-24l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 18:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-18w-x-60l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 18:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10666-surf-cond-belt-ls-fd-48-x-6-aluminum-oxide-very-fine>: HTTP status code is not handled or not allowed 2026-01-27 18:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13x3-1-2-hex-cap-screwss>: HTTP status code is not handled or not allowed 2026-01-27 18:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-cart-esd-2-shelf-24w-x-42l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 18:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-inch-x-14-inch-x-8-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 18:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-270253-6-inside-of-pipe-gripper-plug-17-psi-40ft>: HTTP status code is not handled or not allowed 2026-01-27 18:54:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/impact_wrenches_drivers/cordless_impact_wrenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-39140-metal-ice-maker-box-metal-14-turn-copper-hammer-low-lead-standard-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-inch-x-10-inch-x-30-inch-tall-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 18:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-inch-x-24-inch-x-10-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 18:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-36-14-w-x-43-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-36-14-w-x-96-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-x-10-inch-x-6-inch-white-corrugated-cartons>: HTTP status code is not handled or not allowed 2026-01-27 18:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/impact_wrenches_drivers/cordless_impact_wrenches>: HTTP status code is not handled or not allowed 2026-01-27 18:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000v-insulated-long-nose-pliers-6-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-27 18:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-inch-x-16-inch-x-14-inch-doublewall-boxes>: HTTP status code is not handled or not allowed 2026-01-27 18:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goffs-welding-screen-6w-x-8h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 18:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-all-in-one-regular-blade-18-inch>: HTTP status code is not handled or not allowed 2026-01-27 18:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-all-in-one-serrated-blade-40-inch>: HTTP status code is not handled or not allowed 2026-01-27 18:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-mobile-office-partition-panel-with-partial-window-48-14-w-x-96-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-60-14-w-x-73-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4227 pages (at 96 pages/min), scraped 2098 items (at 55 items/min) 2026-01-27 18:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neenah-paper-classic-crest-stationery-writing-paper-4641-8-12-x-11-whitestone-500-sheetsream>: HTTP status code is not handled or not allowed 2026-01-27 18:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-30w-x-72l-x-80h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 18:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16x3-4-indent-hex-washer-head-thread-cutting-screws-type-f-3712FW>: HTTP status code is not handled or not allowed 2026-01-27 18:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-36-letter-i>: HTTP status code is not handled or not allowed 2026-01-27 18:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-strip-no-adhesive-60a-116-thick-x-12-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-4-number-set-0-9>: HTTP status code is not handled or not allowed 2026-01-27 18:55:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/index_cards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-2-truss-head-self-tapping-screws-type-a-b-thread-0808ABPTB>: HTTP status code is not handled or not allowed 2026-01-27 18:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-mobile-office-partition-panel-36-14-w-x-96-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 18:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-21w-x-60l-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 18:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x1-serrated-hex-flanged-washer-indented-undercut-screws-1416MWWB>: HTTP status code is not handled or not allowed 2026-01-27 18:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jdc-510-jet-1500-cfm-industrial-dust-collector-3hp-220v-3phase>: HTTP status code is not handled or not allowed 2026-01-27 18:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pan-a-vue-sign-case-of-fire-use-stairway-exit-do-not-use-elevators>: HTTP status code is not handled or not allowed 2026-01-27 18:55:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/index_cards landed on page that is not a product page. 2026-01-27 18:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32x1-pan-head-machine-screws-1116MPP188>: HTTP status code is not handled or not allowed 2026-01-27 18:55:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/lawn_rollers_aerators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/group-lock-box>: HTTP status code is not handled or not allowed 2026-01-27 18:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x1-1-4-flat-head-self-drilling-screws-1020KPU>: HTTP status code is not handled or not allowed 2026-01-27 18:55:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/mattresses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-twin-size-tufted-upholstered-platform-bed-in-beige>: HTTP status code is not handled or not allowed 2026-01-27 18:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-serrated-flange-lock-nuts-14NRB>: HTTP status code is not handled or not allowed 2026-01-27 18:55:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_kits_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-valve-lockout-3>: HTTP status code is not handled or not allowed 2026-01-27 18:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valve-wheel-lockout-fits-10-to-14-diameter>: HTTP status code is not handled or not allowed 2026-01-27 18:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/lawn_rollers_aerators>: HTTP status code is not handled or not allowed 2026-01-27 18:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/418-2-tubeless-tire-valve>: HTTP status code is not handled or not allowed 2026-01-27 18:55:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/mattresses>: HTTP status code is not handled or not allowed 2026-01-27 18:55:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_kits_stations>: HTTP status code is not handled or not allowed 2026-01-27 18:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rm40-p-industrial-dehumidifier>: HTTP status code is not handled or not allowed 2026-01-27 18:55:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/mattresses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecotones-academic-desk-pad-calendar-18-1-2-x-13-cordovan-corners-2014-2015-hod012573>: HTTP status code is not handled or not allowed 2026-01-27 18:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32x1-2-light-series-cold-forged-wing-screws-full-thread-type-a-1108WA>: HTTP status code is not handled or not allowed 2026-01-27 18:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-composite-air-impact-wrench-1-2-drive-size-1000-max-torque>: HTTP status code is not handled or not allowed 2026-01-27 18:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riverdale-king-tufted-upholstered-platform-bed-light-gray-memory-foam-mattress>: HTTP status code is not handled or not allowed 2026-01-27 18:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-ton-engine-sling-5208a>: HTTP status code is not handled or not allowed 2026-01-27 18:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x1-flat-head-self-drilling-screws-1416KPU>: HTTP status code is not handled or not allowed 2026-01-27 18:55:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-27 18:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-27 18:55:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-3mm-wide-28mm-id-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 18:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-dash-367-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 18:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t5430-stamp-replacement-ink-pad-1-x-1-5-8-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printed-barricade-tape-danger-peligro-2>: HTTP status code is not handled or not allowed 2026-01-27 18:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-fuel-ventless-gas-fireplace-w-mantel-32000-btu-t-stat-control-toasted-almond>: HTTP status code is not handled or not allowed 2026-01-27 18:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-numberer-self-inking-type-size-1-1-2-six-digits-black>: HTTP status code is not handled or not allowed 2026-01-27 18:55:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/mattresses landed on page that is not a product page. 2026-01-27 18:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-fuel-ventless-gas-fireplace-w-mantel-26000-btu-remote-control-walnut>: HTTP status code is not handled or not allowed 2026-01-27 18:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11112-300-psikpa-14-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-27 18:55:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-27 18:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-4-11110-30-psi-14-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-27 18:55:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/titan-solar-light-silver>: HTTP status code is not handled or not allowed 2026-01-27 18:55:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-stabilizing-trailer-jack-stand-100000-lb-static-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frixion-clicker-erasable-retractable-gel-pen-1-mm-blue-ink-barrel-dozen>: HTTP status code is not handled or not allowed 2026-01-27 18:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-solid-steel-deck-46-w-x-36-d-796893>: HTTP status code is not handled or not allowed 2026-01-27 18:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4316 pages (at 89 pages/min), scraped 2139 items (at 41 items/min) 2026-01-27 18:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-extra-hollow-wall-anchors-1805AWHXL>: HTTP status code is not handled or not allowed 2026-01-27 18:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges>: HTTP status code is not handled or not allowed 2026-01-27 18:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes>: HTTP status code is not handled or not allowed 2026-01-27 18:55:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-danger-rigid-plastic-no-smoking>: HTTP status code is not handled or not allowed 2026-01-27 18:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-file-caddy>: HTTP status code is not handled or not allowed 2026-01-27 18:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twist-erase-click-mechanical-pencil-0-7-mm-hb-2-5-black-lead-pink-barrel-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-48-flat-top-pallet-4-way-entry>: HTTP status code is not handled or not allowed 2026-01-27 18:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-nyc-wall-mount-up-le>: HTTP status code is not handled or not allowed 2026-01-27 18:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-retardant-neoprene-foam-with-acrylic-adhesive-12-thick-x-1w-x-10l>: HTTP status code is not handled or not allowed 2026-01-27 18:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contact-block-22mm-1-no-1-nc-screw-terminal>: HTTP status code is not handled or not allowed 2026-01-27 18:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-peel-laser-mailing-labels-1-1-3-x-4-clear-700-box-5662>: HTTP status code is not handled or not allowed 2026-01-27 18:56:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-lockers-4-tier-12-x-15-x-18-4-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-illuminated-push-button-operator-22mm-black-extended-style>: HTTP status code is not handled or not allowed 2026-01-27 18:56:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-27 18:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecofriendly-labels-1-2-x-1-3-4-white-8000-pack-48467>: HTTP status code is not handled or not allowed 2026-01-27 18:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precise-v10rt-retractable-roller-ball-pen-bold-1-mm-black-ink-barrel-dozen>: HTTP status code is not handled or not allowed 2026-01-27 18:56:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-27 18:56:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/color_coding_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extended-reach-tire-inflator-gauge-10-to-160-psi-2ft-hose-517>: HTTP status code is not handled or not allowed 2026-01-27 18:56:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/address_shipping_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges>: HTTP status code is not handled or not allowed 2026-01-27 18:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16x5-toggle-anchors-1080TBCR>: HTTP status code is not handled or not allowed 2026-01-27 18:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6201zznr-double-shielded-wsnap-ring-12mm-bore-32mm-od>: HTTP status code is not handled or not allowed 2026-01-27 18:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/color_coding_labels>: HTTP status code is not handled or not allowed 2026-01-27 18:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-foot-pads-lock-n-stock-ladders-4-pack-pt-hds>: HTTP status code is not handled or not allowed 2026-01-27 18:56:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/address_shipping_labels landed on page that is not a product page. 2026-01-27 18:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmps4121rc-fmpro-stainless-steel-41-wx20-dx66-1-8-h-21-drawer-chest-roller-cabinet-combo>: HTTP status code is not handled or not allowed 2026-01-27 18:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-72-economy-h-beam-adjustable-length-yellow-126-l-x-40-w-x-36-h-765lbs-8000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-x-6-working-length-j-hook-style-c>: HTTP status code is not handled or not allowed 2026-01-27 18:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-column-medical-storage-cabinet-key-lock-glass-doors-42-wx29-3-5-dx76-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-27 18:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-reversible-rain-cap-300d-oxfordpu-coating-orangeblack-one-size>: HTTP status code is not handled or not allowed 2026-01-27 18:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-dia-x-10-working-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-27 18:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-x-14-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-27 18:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmp5421mc-rd-fmpro-54-w-x-20-1-4-d-x-43-1-8-h-21-drawer-red-chest-roller-cabinet-combo>: HTTP status code is not handled or not allowed 2026-01-27 18:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-emergency-crash-cart-6-drawers-36-3-4-w-x-22-l-x-43-h-hammertone-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:56:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/hand_dryers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/style-b-mat-stand-yellow-42-l-x-40-w-x-28-h-160lbs-10-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dino-lite-software-images-capture-pedal>: HTTP status code is not handled or not allowed 2026-01-27 18:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-emergency-crash-cart-6-drawers-36-3-4-w-x-26-l-x-43-h-taupe>: HTTP status code is not handled or not allowed 2026-01-27 18:56:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-portion-control-grinder-1-hopper-lpg-120v-sst>: HTTP status code is not handled or not allowed 2026-01-27 18:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-drawer-parts-cabinet-10124-20w-x-6-3-8d-x-15-13-16h-black-25-drawers>: HTTP status code is not handled or not allowed 2026-01-27 18:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-protection-insulated-hi-vis-terry-glove-latex-coated-41-1420-m>: HTTP status code is not handled or not allowed 2026-01-27 18:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/hand_dryers>: HTTP status code is not handled or not allowed 2026-01-27 18:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/depository-safe-mb2720icxil-electronic-lock-24-1-2w-x-19d-x-27h-black>: HTTP status code is not handled or not allowed 2026-01-27 18:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs>: HTTP status code is not handled or not allowed 2026-01-27 18:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-dia-x-7-working-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-27 18:56:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/security_safes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-11908-1-1-4-inch-1-1-2-inch-thermoplastic-no-calk-roof-flashing-13-inchl-x-9-1-4-inchw-base>: HTTP status code is not handled or not allowed 2026-01-27 18:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/330-volt-start-capacitor-72-88-mfd-72c>: HTTP status code is not handled or not allowed 2026-01-27 18:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6319-open-95mm-bore-200mm-od>: HTTP status code is not handled or not allowed 2026-01-27 18:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-feet-x8-feet-18-oz-heat-treated-fiberglass>: HTTP status code is not handled or not allowed 2026-01-27 18:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4410 pages (at 94 pages/min), scraped 2186 items (at 47 items/min) 2026-01-27 18:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-flammable-solid-2>: HTTP status code is not handled or not allowed 2026-01-27 18:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/security_safes>: HTTP status code is not handled or not allowed 2026-01-27 18:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-mauve>: HTTP status code is not handled or not allowed 2026-01-27 18:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62386-s252c-class-2-mesh-solid-surveyor-vest-hi-vis-lime-lg>: HTTP status code is not handled or not allowed 2026-01-27 18:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19265-americana-full-brim-hard-hat-w-accy-slots-mega-ratchet-4-pt-suspension-hi-viz-org>: HTTP status code is not handled or not allowed 2026-01-27 18:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swf20-114-id-round-flange-type-linear-bearing-steel>: HTTP status code is not handled or not allowed 2026-01-27 18:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-explosives-b1-1>: HTTP status code is not handled or not allowed 2026-01-27 18:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-undercounter-flammable-storage-refrigerator-5-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 18:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-twin-hoist-lift-beam-yellow-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strobe-120vac-pipe-surface-mount-red-fb2pst-120r>: HTTP status code is not handled or not allowed 2026-01-27 18:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-516-38-bullet-piercing-valve-one-quarter-five-sixteenths-three-eighths>: HTTP status code is not handled or not allowed 2026-01-27 18:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-3-shelf-container-rack-bk18305n-30w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 18:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-epoxy-wire-shelf-platform-p1836ep-36w-x-18d>: HTTP status code is not handled or not allowed 2026-01-27 18:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilco-rl-f-rail-system-for-48x48-roof-hatch>: HTTP status code is not handled or not allowed 2026-01-27 18:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siren-electronic-remotely-selectable-multi-tone-multi-voltage-sst3-mv>: HTTP status code is not handled or not allowed 2026-01-27 18:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lsxr-610-fixture-mount-interchangeable-lens-sensor-low-high-bay>: HTTP status code is not handled or not allowed 2026-01-27 18:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-ultra-hi-flow-automatic-nozzle-n100dau13g>: HTTP status code is not handled or not allowed 2026-01-27 18:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-credenza-shell-71-x-24-cherry>: HTTP status code is not handled or not allowed 2026-01-27 18:57:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_cabinets_pedestals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-reception-desk-71w-x-30d-x-42h-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 18:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-direct-flow-circulation-fan-36df-w-mount-1-2-hp-13140-cfm-115-230v>: HTTP status code is not handled or not allowed 2026-01-27 18:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-column-storage-cabinet-electronic-keypad-lock-60-w-x-28-d-x-81-h-teal>: HTTP status code is not handled or not allowed 2026-01-27 18:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-series-120-wide-door-3-motor-unheated-460360-obsidian-black>: HTTP status code is not handled or not allowed 2026-01-27 18:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-mailing-tubes-5-x-5-x-37-200-ect-32-kraft>: HTTP status code is not handled or not allowed 2026-01-27 18:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-series-84-wide-door-unheated-208-230160-obsidian-black>: HTTP status code is not handled or not allowed 2026-01-27 18:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161441-comfort-vest-style-positioning-climbing-harness-tongue-buckle-quick-connect-xl>: HTTP status code is not handled or not allowed 2026-01-27 18:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515-tank-heavy-duty-shipping-case-tube-without-wheels-17l-x-17w-x-40h-blk>: HTTP status code is not handled or not allowed 2026-01-27 18:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-37-1-2-w-x-22-l-x-42-63-100-h-hammertone-red>: HTTP status code is not handled or not allowed 2026-01-27 18:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/355-extra-underpads-23-x-36-blue-150-case>: HTTP status code is not handled or not allowed 2026-01-27 18:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-female-npt-pipe-thread-x-2-hose-barb>: HTTP status code is not handled or not allowed 2026-01-27 18:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/278-expo-ii-telescoping-shipping-case-trade-show-case-51-1-2l-x-31w-x-9-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-27 18:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/850ml-suspension-culture-flask-vent-cap-sterile-18-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515-tank-heavy-duty-shipping-case-tube-with-wheels-10l-x-10w-x-65h-blk>: HTTP status code is not handled or not allowed 2026-01-27 18:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-16-18-carbon-steel-insert-for-metal-329-918>: HTTP status code is not handled or not allowed 2026-01-27 18:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fb-rfb859-motors-and-blowers-1-48-hp-3000-rpm-115v>: HTTP status code is not handled or not allowed 2026-01-27 18:57:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_cabinets_pedestals landed on page that is not a product page. 2026-01-27 18:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-case-276-carrying-case-42l-x-20w-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-27 18:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161442-comfort-vest-style-positioning-climbing-harness-quick-connect-s>: HTTP status code is not handled or not allowed 2026-01-27 18:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-plasteur-174-pasteur-pipet-5-3-4-l-individually-wrapped-sterile-200-pk>: HTTP status code is not handled or not allowed 2026-01-27 18:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-cart-standard-width-tall-cabinet-6-drawers-41-2-5-wx22-lx64-1-10-h-hammertone-black>: HTTP status code is not handled or not allowed 2026-01-27 18:57:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-illinois>: HTTP status code is not handled or not allowed 2026-01-27 18:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suredry-high-volume-16-scope-cabinet-dri-scope-aid-key-lock-44-wx24-dx93-h-navy>: HTTP status code is not handled or not allowed 2026-01-27 18:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4507 pages (at 97 pages/min), scraped 2242 items (at 56 items/min) 2026-01-27 18:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/architectural-sign-authorized-personnel-only>: HTTP status code is not handled or not allowed 2026-01-27 18:57:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rad-usb-outlet-white>: HTTP status code is not handled or not allowed 2026-01-27 18:57:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazardous-location-blower-hadp8-12-hp-1-ph-explosion-proof-cw-top-horizontal>: HTTP status code is not handled or not allowed 2026-01-27 18:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights>: HTTP status code is not handled or not allowed 2026-01-27 18:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-tape-2-width-x-9-ft-length-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 18:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polly-products-deluxe-4-ft-backed-bench-with-arms-brown-bench-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 18:58:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-flanged-press-insert-stainless-260-008-cr>: HTTP status code is not handled or not allowed 2026-01-27 18:58:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/gear_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-ventilated-cabinet-w-3-shelves-dual-locking-48-w-x-24-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-27 18:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-cabinet-with-3-shelves-and-6-halfwidth-drawers-48-w-x-24-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-27 18:58:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-27 18:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-plastic-adjustable-lever-steel-38-16-157-stud-307l>: HTTP status code is not handled or not allowed 2026-01-27 18:58:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports landed on page that is not a product page. 2026-01-27 18:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-ga-double-tier-ventilated-locker-6-compartments-72-w-x-24-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights>: HTTP status code is not handled or not allowed 2026-01-27 18:58:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/gear_lockers landed on page that is not a product page. 2026-01-27 18:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-inch-vertical-charcoal-smoker>: HTTP status code is not handled or not allowed 2026-01-27 18:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a30h2008ss6lp-continuous-hinge-wclamps-type-4x-3000x2000x800in-ss-type-316l>: HTTP status code is not handled or not allowed 2026-01-27 18:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd30308ss-conceptwall-mt-encl-type-4x-3000x3000x800in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-27 18:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-rod-58-diameter-x-2-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 18:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/excavator-hook-5500-lb-load-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-320-compressed-air-hose-kit-314-24-25-l>: HTTP status code is not handled or not allowed 2026-01-27 18:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoist-ring-180-pivot-4400-lb-load-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-bar-1-thick-x-1-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 18:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-steel-round-body-padlock-no-a700>: HTTP status code is not handled or not allowed 2026-01-27 18:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-342-dn-7-4-nipple-w-1-4-male-npt>: HTTP status code is not handled or not allowed 2026-01-27 18:58:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerpoint-hoist-ring-360-pivot-8800-lb-load-capacity>: HTTP status code is not handled or not allowed 2026-01-27 18:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-16in-cast-coupler-w-3-position-channel-0091553>: HTTP status code is not handled or not allowed 2026-01-27 18:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-lift-beam-double-fork-single-swivel-hook-30-000lb>: HTTP status code is not handled or not allowed 2026-01-27 18:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-ss-split-body-ansi-150-flanged-ball-valve-w-nema-4-115vac>: HTTP status code is not handled or not allowed 2026-01-27 18:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-3-pc-ss-sanitary-clamp-end-ball-valve-w-sr-pneumatic>: HTTP status code is not handled or not allowed 2026-01-27 18:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-solid-shank-clevis-ball-mount-9-1-4in-long-1803065>: HTTP status code is not handled or not allowed 2026-01-27 18:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-tubular-shank-clevis-ball-mount-9-1-4in-long-1803060>: HTTP status code is not handled or not allowed 2026-01-27 18:58:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-ton-10-hole-pintle-hook-ph55>: HTTP status code is not handled or not allowed 2026-01-27 18:58:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 18:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-grade-100-250-ft-dr-black>: HTTP status code is not handled or not allowed 2026-01-27 18:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-steel-rectangular-padlock-no-a5260>: HTTP status code is not handled or not allowed 2026-01-27 18:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-caution-this-equipment-starts-stops-automatically>: HTTP status code is not handled or not allowed 2026-01-27 18:58:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-notice-aluminum-all-visitors-must-report-to-security>: HTTP status code is not handled or not allowed 2026-01-27 18:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-34-thick-x-8-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 18:58:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 18:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-light-12-flush-mount-twist-lock-w-alabaster-glass-old-bronze>: HTTP status code is not handled or not allowed 2026-01-27 18:58:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-shelf-with-electrical-blue-2>: HTTP status code is not handled or not allowed 2026-01-27 18:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-general-fitting-p1036eg-3-hole-electro-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 18:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-wing-shape-fitting-p2227eg-electro-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 18:58:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock landed on page that is not a product page. 2026-01-27 18:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-7400-reach-pallet-trucks-ra-632-052-xl>: HTTP status code is not handled or not allowed 2026-01-27 18:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-19-louver-panel-blue-3>: HTTP status code is not handled or not allowed 2026-01-27 18:58:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:58:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4596 pages (at 89 pages/min), scraped 2284 items (at 42 items/min) 2026-01-27 18:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-way-die-cast-metal-trailer-connector-trailer-side-tc2004>: HTTP status code is not handled or not allowed 2026-01-27 18:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-rubber-sheet-no-adhesive-60a-12-thick-x-18-wide-x-18-long>: HTTP status code is not handled or not allowed 2026-01-27 18:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-assembly-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 18:59:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-sheet-18-thick-x-36-long-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 18:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-white-polycombed-cotton-regular-52>: HTTP status code is not handled or not allowed 2026-01-27 18:59:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 18:59:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 18:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-96-rub-rail-040-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 18:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-powered-straddle-stacker-2200-lb-cap-62-lift-987104>: HTTP status code is not handled or not allowed 2026-01-27 18:59:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 18:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-pe-3000-pallet-trucks-cr-154840-201>: HTTP status code is not handled or not allowed 2026-01-27 18:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-24-6-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-27 18:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gemini-valve-brass-ball-valve-w-500-series-double-acting-pneumatic-actuator-3-4-inch>: HTTP status code is not handled or not allowed 2026-01-27 18:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/konnect-letter-tray-24-case-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:59:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combo-lock-ada-compliant-lift-handle-purple>: HTTP status code is not handled or not allowed 2026-01-27 18:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-purple-dial>: HTTP status code is not handled or not allowed 2026-01-27 18:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-power-easy-gel-control-014-oz-clear>: HTTP status code is not handled or not allowed 2026-01-27 18:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fuse-holder-for-wave-pallet-trucks-cr-127037>: HTTP status code is not handled or not allowed 2026-01-27 18:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-130-sheet-heavy-duty-stapler-6-case>: HTTP status code is not handled or not allowed 2026-01-27 18:59:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-18-thick-x-34-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 18:59:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 18:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-spill-pallet-p4-nestable-yellow-with-drain>: HTTP status code is not handled or not allowed 2026-01-27 18:59:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/spill_containment_berms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-winch-lift-truck-350-lbs-165-lift-straddle-legs-987125>: HTTP status code is not handled or not allowed 2026-01-27 18:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recpro-half-rd-sat-alum-2-14-1-2-gal-rec-waste-mw2499sa-sa-b-c>: HTTP status code is not handled or not allowed 2026-01-27 18:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tumbler-clrw-9-5oz-72qty-slate-blue>: HTTP status code is not handled or not allowed 2026-01-27 18:59:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:59:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 18:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-2-20-7>: HTTP status code is not handled or not allowed 2026-01-27 18:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microflex-174-supreno-174-ec-sec-375-nitrile-gloves-powder-free-size-xxl-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 18:59:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-b-60-80-z-pallet-trucks-hy-2047714>: HTTP status code is not handled or not allowed 2026-01-27 18:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-3-20-17>: HTTP status code is not handled or not allowed 2026-01-27 18:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-standard-capacity-xl8-pleated-panel-ext-surface-12-inch-w-x-24-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-27 18:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-compartment-tray-clear-orange-pt152-10-1-2l-x-5-1-2w-x-2-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 18:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 18:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-lb-lever-hoist-2-10-foot-lift>: HTTP status code is not handled or not allowed 2026-01-27 18:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-plastic-bar-18-thick-x-1-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 18:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-11-standard-capacity-xl11-pleated-panel-ext-surface-10-inch-w-x-20-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-27 18:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-tote-tan-t181-4-16l-x-12w-x-4h>: HTTP status code is not handled or not allowed 2026-01-27 18:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-lb-lever-hoist-2-34-15-foot-lift>: HTTP status code is not handled or not allowed 2026-01-27 18:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-lever-hoists-kx075-10-1650-lb-capacity-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 18:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-push-trolley-14-20-14>: HTTP status code is not handled or not allowed 2026-01-27 18:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tumbler-clrw-16oz-72qty-amber>: HTTP status code is not handled or not allowed 2026-01-27 18:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-tote-clear-t183-14l-x-12w-x-4h>: HTTP status code is not handled or not allowed 2026-01-27 18:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-cabinet-w-6-drawers-34-w-x-25-1-4-d-x-41-h-red>: HTTP status code is not handled or not allowed 2026-01-27 18:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-cf-hand-chain-hoist-1-20-lift>: HTTP status code is not handled or not allowed 2026-01-27 18:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-single-arm-shelf-bracket-chrome-pair>: HTTP status code is not handled or not allowed 2026-01-27 18:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-squeeze-desktop-stapler-75-sheet-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 18:59:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 18:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-13-high-capacity-extended-surface-multi-pleat-green-18-inch-w-x-24-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-27 18:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-bank-roller-cabinet-w-7-drawers-27-w-x-22-3-8-d-x-38-1-2-h-red>: HTTP status code is not handled or not allowed 2026-01-27 18:59:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/spill_containment_berms landed on page that is not a product page. 2026-01-27 18:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-18-inch-w-x-24-inch-h-x-4-inch-d>: HTTP status code is not handled or not allowed 2026-01-27 18:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4687 pages (at 91 pages/min), scraped 2323 items (at 39 items/min) 2026-01-27 18:59:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 18:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-12ft-mobile-cafeteria-stool-unit-with-mdf-core-top-protect-edge-gray-top-gray-stool>: HTTP status code is not handled or not allowed 2026-01-27 18:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-z825a2-deck-mounted-gooseneck-lab-faucet>: HTTP status code is not handled or not allowed 2026-01-27 19:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solar-powered-integrated-daylight-ai-smart-1600-lumens-standard-3000k>: HTTP status code is not handled or not allowed 2026-01-27 19:00:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/picnic_tables/metal_picnic_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/southworth-pallet-pal-spring-actuated-pallet-carousel-skid-positioner>: HTTP status code is not handled or not allowed 2026-01-27 19:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stat-red-specimen-transport-bag-6-x-9-zipper-document-pouch-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-plate-for-rr-3000-series-lift-pallet-trucks-cr-121786-001>: HTTP status code is not handled or not allowed 2026-01-27 19:00:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance/tires_wheels/tire_chains already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-55-4-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-27 19:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cook-pants-white-polyestercotton-32-x-36>: HTTP status code is not handled or not allowed 2026-01-27 19:00:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 19:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets>: HTTP status code is not handled or not allowed 2026-01-27 19:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-plastic-bar-1-12-thick-x-4-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 19:00:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/picnic_tables/metal_picnic_tables landed on page that is not a product page. 2026-01-27 19:00:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/garment_supplies/sewing_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-13-step-perforated-cantilever-ladder-28-overhang>: HTTP status code is not handled or not allowed 2026-01-27 19:00:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-for-pe-3000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 19:00:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance/tires_wheels/tire_chains landed on page that is not a product page. 2026-01-27 19:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-recycled-white-cut-rags-25-lb-box>: HTTP status code is not handled or not allowed 2026-01-27 19:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-assembly-for-m-series-stacker-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 19:00:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-1-thick-x-48-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 19:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 19:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-2-thick-x-48-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 19:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-red-polyestercombed-cotton-2xl>: HTTP status code is not handled or not allowed 2026-01-27 19:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-ladder-2-step-aluminum-perforated-21-deep-top-step-with-handrails-24-w-step>: HTTP status code is not handled or not allowed 2026-01-27 19:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barrier-free-cooler-hac-8fs-q-ada-pv>: HTTP status code is not handled or not allowed 2026-01-27 19:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-pocket-counter-top-business-card-holder-medium-oak>: HTTP status code is not handled or not allowed 2026-01-27 19:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stratus-1-4-perforated-plastic-panel-ceiling-t-grid-pk2>: HTTP status code is not handled or not allowed 2026-01-27 19:00:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/garment_supplies/sewing_machines landed on page that is not a product page. 2026-01-27 19:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skull-cap-black-polyestercotton-m>: HTTP status code is not handled or not allowed 2026-01-27 19:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-riser-load-wheel-assembly-for-w-40z-b218-45z-c215-pallet-trucks-hy-2108789>: HTTP status code is not handled or not allowed 2026-01-27 19:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters>: HTTP status code is not handled or not allowed 2026-01-27 19:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-w-40z-b218-45z-c215-pallet-trucks-hy-2046054>: HTTP status code is not handled or not allowed 2026-01-27 19:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-14-thick-x-1-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 19:00:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-14-thick-x-1-14-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 19:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-w40z-lw-xl-fits-hyster-w40z-b218-45z-c215>: HTTP status code is not handled or not allowed 2026-01-27 19:00:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21x24x69-chrome-wire-cart-with-11-3-h-grid-containers-blue-2>: HTTP status code is not handled or not allowed 2026-01-27 19:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-cover-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks-yl-524144502>: HTTP status code is not handled or not allowed 2026-01-27 19:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-or-1-1-2-x-1-1-4-or-1-1-2-sump-pump-check-valve>: HTTP status code is not handled or not allowed 2026-01-27 19:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-drive-tire-assembly-for-mpb-040-e-b827-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 19:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-holder-foam-for-use-w-gvm-series-48-x-6mm-tubes-must-use-w-vm-as-plate-gvm-as-rod>: HTTP status code is not handled or not allowed 2026-01-27 19:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-air-resin-counter-stool-dove-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 19:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-olive-green-3-piece-suit-pvc-size-medium>: HTTP status code is not handled or not allowed 2026-01-27 19:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-5ml-fine-tip-153mm-sterile-400-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x60x74-chrome-wire-shelving-with-118-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 19:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-corded-earplugs-with-iron-ball-embedded-plug>: HTTP status code is not handled or not allowed 2026-01-27 19:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-dipped-latex-gloves-gl401-series-size-small-pkg-qty-12>: HTTP status code is not handled or not allowed 2026-01-27 19:00:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-14-thick-x-1-14-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 19:00:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-12-thick-x-1-14-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 19:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-hppe-liner-a2-cut-premium-cut-resistant-gloves-size-large-pkg-qty-12>: HTTP status code is not handled or not allowed 2026-01-27 19:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-cap-flange-plug-cap-for-ct2-and-cr1-models-13mm-white-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-sds-bit-14-4-6-48-20-7431>: HTTP status code is not handled or not allowed 2026-01-27 19:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-14-thick-x-2-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 19:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-sds-bit-assortment-48-20-7490>: HTTP status code is not handled or not allowed 2026-01-27 19:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-flex-3-black-plain-toe-pvc-size-7>: HTTP status code is not handled or not allowed 2026-01-27 19:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4770 pages (at 83 pages/min), scraped 2352 items (at 29 items/min) 2026-01-27 19:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays>: HTTP status code is not handled or not allowed 2026-01-27 19:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-332-thick-x-8-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 19:00:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/protective_clothing_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:00:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 19:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-kf-300cs-12-portable-direct-heat-sealer>: HTTP status code is not handled or not allowed 2026-01-27 19:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-bristle-brush-tooth-brush-styled-1-1-4>: HTTP status code is not handled or not allowed 2026-01-27 19:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-cap-for-sample-tubes-with-external-threads-s-6030-6059-yellow-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medical-record-drop-box-beige>: HTTP status code is not handled or not allowed 2026-01-27 19:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medical-record-drop-box-grey>: HTTP status code is not handled or not allowed 2026-01-27 19:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m4-x-0-7-x-18mm-steel-zinc-clear-class-8-8-din-933-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:01:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/exhaust_fan_accessories/dampers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-bar-2-thick-x-6-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 19:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-plastic-sheet-1-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 19:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vis-i-rack-8482-high-capacity-blueprint-storage-rack-13-openings>: HTTP status code is not handled or not allowed 2026-01-27 19:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-nut-m5-x-0-8-steel-zinc-yellow-class-10-9-din-934-pkg-of-100-att05>: HTTP status code is not handled or not allowed 2026-01-27 19:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-rod-truck-with-rubber-casters-84-l-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-diamond-glass-25-x-75mm-charged-90-ground-edges-yellow-frosted-72-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intubation-kit-case>: HTTP status code is not handled or not allowed 2026-01-27 19:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2010-pencil-clip-red>: HTTP status code is not handled or not allowed 2026-01-27 19:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-drainage-pipe-d-38x800-641264-641265-641244>: HTTP status code is not handled or not allowed 2026-01-27 19:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/exhaust_fan_accessories/dampers>: HTTP status code is not handled or not allowed 2026-01-27 19:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-vertical-hanger-bar-portable-bin-cart-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-flat-shelf-portable-bin-cart-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-tone-pullover-hooded-sweatshirt-ansi-class-3-lime-black-2x-lbpuhsw-c3-2xl>: HTTP status code is not handled or not allowed 2026-01-27 19:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-steel-padlock-no-3-reinforced-laminate-1-916w-x-34-shackle-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:01:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46in-round-metal-mesh-picnic-table-green>: HTTP status code is not handled or not allowed 2026-01-27 19:01:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/protective_clothing_accessories landed on page that is not a product page. 2026-01-27 19:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-5ml-fine-tip-153mm-sterile-polypropylenes-400-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-132-thick-x-38-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 19:01:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-15ml-fine-tip-104mm-sterile-polypropylenes-400-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 19:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30k-lp-tank-top-heater-csa-246651>: HTTP status code is not handled or not allowed 2026-01-27 19:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-132-thick-x-14-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 19:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-heavy-duty-rainsuit-35-mil-pvcpolyester-snap-closure-yellow-l>: HTTP status code is not handled or not allowed 2026-01-27 19:01:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-bin-cabinet-185-yellow-hook-on-bins-60w-24d-84h>: HTTP status code is not handled or not allowed 2026-01-27 19:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matrix-guard-panel-4-10-w-x-2-h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-12-thick-x-36-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 19:01:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 19:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50g-3-point-hitch-sprayer-pto-7560c-pump-50-12-hose>: HTTP status code is not handled or not allowed 2026-01-27 19:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-inch-npt-brass-thermowell-6-inch-stem>: HTTP status code is not handled or not allowed 2026-01-27 19:01:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/thermometers_temperature_instruments already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-task-chair-seat-slider-fabric-black>: HTTP status code is not handled or not allowed 2026-01-27 19:01:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=e-1440vs-with-collet-closer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254vs-with-newall-dp700-dro-x-y-powerfeeds-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-27 19:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-work-top-refrigerator-2-section-67-14w-32-58d-33-38h-twt-67>: HTTP status code is not handled or not allowed 2026-01-27 19:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters>: HTTP status code is not handled or not allowed 2026-01-27 19:01:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-x-y-powerfeeds-air-power-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/office_machine_accessories/label_maker_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-drawer-cabinet-pdc-12bk-12-drawers-6-1-4-w-x-10-1-2-d-x-10-1-4-h>: HTTP status code is not handled or not allowed 2026-01-27 19:01:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 19:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-counter-high-24-w-cabinet-everest-blue-3>: HTTP status code is not handled or not allowed 2026-01-27 19:01:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/vehicle_flood_utility_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/thermometers_temperature_instruments>: HTTP status code is not handled or not allowed 2026-01-27 19:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=e-1440vs-with-collet-closer>: HTTP status code is not handled or not allowed 2026-01-27 19:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-modular-drawer-cabinet-3-drawers-w-lock-w-o-dividers-30x27x29-1-2-black>: HTTP status code is not handled or not allowed 2026-01-27 19:01:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-modular-drawer-cabinet-7-drawers-w-lock-w-o-dividers-30x27x29-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-ray-construction-paper-9-x-12-purple50-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:01:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-x-y-powerfeeds-air-power-drawbar landed on page that is not a product page. 2026-01-27 19:01:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_machines/office_machine_accessories/label_maker_accessories landed on page that is not a product page. 2026-01-27 19:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghb-1236-geared-head-bench-lathe-with-stand-foot-brake-newall-dp700-dro>: HTTP status code is not handled or not allowed 2026-01-27 19:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4856 pages (at 86 pages/min), scraped 2385 items (at 33 items/min) 2026-01-27 19:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/culture-tube-borosilicate-glass-16-x-150mm-23ml1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:01:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/vehicle_flood_utility_lights landed on page that is not a product page. 2026-01-27 19:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-tabs-repositionable-tabs-1-x-1-1-2-neon-green-pink-yellow-orange-40-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars>: HTTP status code is not handled or not allowed 2026-01-27 19:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-swivel-shackle-dss-m-24>: HTTP status code is not handled or not allowed 2026-01-27 19:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floral-merch-3-section-78-18w-29-78d-79-38h-gdm-72fc>: HTTP status code is not handled or not allowed 2026-01-27 19:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tong-6-scallop-beige>: HTTP status code is not handled or not allowed 2026-01-27 19:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254vs-with-acu-rite-203-3x-k-dro-x-powerfeed-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-27 19:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2924-6000-gooseneck-spring-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-27 19:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-maintenance-platform-48x36-cal-osha>: HTTP status code is not handled or not allowed 2026-01-27 19:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-light-duty-black-trash-bags-33-gal-0-43-mil-500-bags-case>: HTTP status code is not handled or not allowed 2026-01-27 19:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254rvs-with-newall-dp700-3x-q-dro-x-y-powerfeeds-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-27 19:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-quick-coupling-european-high-flow-profile-with-1-4-mnpt-connection>: HTTP status code is not handled or not allowed 2026-01-27 19:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-1-1-2-x-20>: HTTP status code is not handled or not allowed 2026-01-27 19:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949evs-mill-with-2-axis-acu-rite-millpwr-cnc>: HTTP status code is not handled or not allowed 2026-01-27 19:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-mailer-5-x-3-x-3>: HTTP status code is not handled or not allowed 2026-01-27 19:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blockhead-fiberglass-full-brim-hard-hat-non-vented-composite-wrap-4-pt-suspension>: HTTP status code is not handled or not allowed 2026-01-27 19:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-maple-safety-edge-mobile-bench-fixed-height-1-3-4-top>: HTTP status code is not handled or not allowed 2026-01-27 19:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-902-9152-multi-link-asian-interchange-1-4-body-size-safety-esafe-kit-2-out-1-2-fem-inlet>: HTTP status code is not handled or not allowed 2026-01-27 19:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-2-axis-acu-rite-203-dro-and-x-axis-jet-powerfeed>: HTTP status code is not handled or not allowed 2026-01-27 19:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-full-brim-hard-hat-vented-4-pt-ratchet-suspension-white>: HTTP status code is not handled or not allowed 2026-01-27 19:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-3-axis-acu-rite-303-quill-dro-x-axis-jet-powerfeed-usa-pwrd-draw-bar>: HTTP status code is not handled or not allowed 2026-01-27 19:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-gallon-drum-640292>: HTTP status code is not handled or not allowed 2026-01-27 19:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-x-3-8-barbed-reduction-tee-natural-kynar>: HTTP status code is not handled or not allowed 2026-01-27 19:02:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-x-y-axis-jet-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-13-x-100mm-8ml-polystyrene-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-for-05ml-microcentrifuge-tubes-stackable-polycarbonate-pc-24-place-green>: HTTP status code is not handled or not allowed 2026-01-27 19:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locboard-18-x36-2-pc-797004>: HTTP status code is not handled or not allowed 2026-01-27 19:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwikool-portable-water-cooled-air-conditioner-kwib2421-2-ton-23500-btu>: HTTP status code is not handled or not allowed 2026-01-27 19:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kfi-3315b-wl-black-metal-frame-cafe-chair-with-wood-seat-and-back-walnut>: HTTP status code is not handled or not allowed 2026-01-27 19:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-poly-coated-paper-roll-50-lb-12-x-600>: HTTP status code is not handled or not allowed 2026-01-27 19:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-3512-series-esd-w-t-molding-72-w-x-30-d-black>: HTTP status code is not handled or not allowed 2026-01-27 19:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-18x26-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:02:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-x-y-axis-jet-powerfeeds landed on page that is not a product page. 2026-01-27 19:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conveyor-magnet-30in-l>: HTTP status code is not handled or not allowed 2026-01-27 19:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-tip-01-20ul-certified-universal-natural-45mm-extended-length-sterile-960-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-mobile-stainless-steel-square-edge-lab-bench-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-20mm-full-size-40-place-nylon-magenta>: HTTP status code is not handled or not allowed 2026-01-27 19:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-ton-ironworker-3-phase-230-volt-10-inch-brake>: HTTP status code is not handled or not allowed 2026-01-27 19:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfc7240-compact-laser-all-in-one>: HTTP status code is not handled or not allowed 2026-01-27 19:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-stock-picking-ladder-expanded-tread-spl-10-14x>: HTTP status code is not handled or not allowed 2026-01-27 19:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-diamond-essentials-griffin-style-low-form-printed-graduations-pmp-5000ml>: HTTP status code is not handled or not allowed 2026-01-27 19:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-cantilever-144-inch-upright-48-inch-brace-kit-starter>: HTTP status code is not handled or not allowed 2026-01-27 19:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-totally-enclosed-high-pressure-exhaust-fan-1-phase-3-4-hp-1>: HTTP status code is not handled or not allowed 2026-01-27 19:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-30mm-full-size-24-place-nylon-white>: HTTP status code is not handled or not allowed 2026-01-27 19:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1849-sg-43-1-8-x-1-8-double-cut-pointed-tree-bur>: HTTP status code is not handled or not allowed 2026-01-27 19:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-measuring-diamond-essentials-class-a-pmp-molded-graduations-tall-form-10ml>: HTTP status code is not handled or not allowed 2026-01-27 19:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-literature-mailer-10-x-10-x-4>: HTTP status code is not handled or not allowed 2026-01-27 19:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-pmp-tpx-molded-graduations-2000ml>: HTTP status code is not handled or not allowed 2026-01-27 19:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8-x-1-25-x-60mm-machine-screw-phillips-pan-head-class-4-8-steel-zinc-50-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-totally-enclosed-direct-drive-duct-fan-1-phase-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 19:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergo-computer-transport-stand-with-cord-reel>: HTTP status code is not handled or not allowed 2026-01-27 19:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1854-sh-2l6-5-16-x-1-4-standard-cut-flame-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-27 19:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-molded-ring-binder-top-open-seafoam-green>: HTTP status code is not handled or not allowed 2026-01-27 19:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1846-sb-6-5-8-x-1-4-aluminum-cut-cylindrical-bur-w-end-cut>: HTTP status code is not handled or not allowed 2026-01-27 19:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-shutter-mounting-box-30-exhaust-fans>: HTTP status code is not handled or not allowed 2026-01-27 19:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-40-roll-ultimat-rubber-gray-ur-2440g>: HTTP status code is not handled or not allowed 2026-01-27 19:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-pmp-tpx-molded-graduations-250ml>: HTTP status code is not handled or not allowed 2026-01-27 19:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-container-ramp-72in-w-x-48in-l-15-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-stand-4-place-for-diamond-pipettes-acrylic>: HTTP status code is not handled or not allowed 2026-01-27 19:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-n-rack-tube-rack-for-30mm-tubes-24-place-polypropylene-white>: HTTP status code is not handled or not allowed 2026-01-27 19:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-spike-narrow-w-bond-bird-spikes-24-ft-bp-s224>: HTTP status code is not handled or not allowed 2026-01-27 19:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 4956 pages (at 100 pages/min), scraped 2424 items (at 39 items/min) 2026-01-27 19:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-1-4-x-43-1-2-h-deluxe-office-partition-panel-blue-277525bl>: HTTP status code is not handled or not allowed 2026-01-27 19:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-1-3-4-machine-screw-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-1-4-x-47-1-2-h-deluxe-office-partition-panel-with-pass-thru-cable-gray-277549gy>: HTTP status code is not handled or not allowed 2026-01-27 19:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tpb4bk-pegboard-back-panel-jet-black-48-inch-x-24-inch>: HTTP status code is not handled or not allowed 2026-01-27 19:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1-4-x-47-1-2-h-deluxe-office-partition-panel-with-electric-gray-277561gy>: HTTP status code is not handled or not allowed 2026-01-27 19:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p100-respirator-filter-cartridge-7580p100-2-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-z2-dissipative-3-layer-vinyl-roll-blue-0125in-x-24in-x-50ft>: HTTP status code is not handled or not allowed 2026-01-27 19:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-1-4-x-77-1-2-h-deluxe-office-partition-panel-with-electric-blue-277553bl>: HTTP status code is not handled or not allowed 2026-01-27 19:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-station-transportable-jib-crane-6-h-x-6-span>: HTTP status code is not handled or not allowed 2026-01-27 19:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-cord-for-floor-mat-no-resistor-10-mm-stud-6ft-cord-wbanana-plug>: HTTP status code is not handled or not allowed 2026-01-27 19:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combo-tester-x3-tester-only>: HTTP status code is not handled or not allowed 2026-01-27 19:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-mil-acm-cutter-for-5-mil-alumacorr>: HTTP status code is not handled or not allowed 2026-01-27 19:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locking-lid-p-19-for-p-11-or-p-13-14-7-8w-x-14-1-8d-x-7-16h-champagne>: HTTP status code is not handled or not allowed 2026-01-27 19:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ductless-air-conditioner-inverter-split-system-18k-btu-cool-w-heat-wifi-enabled-230v-19-seer>: HTTP status code is not handled or not allowed 2026-01-27 19:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/230l050-standard-timing-belt-l-1-2-x-23-t61-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 19:03:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/drain_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bollard-with-base-removable-plastic-cap-chain-slots-yellow-60-height>: HTTP status code is not handled or not allowed 2026-01-27 19:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tork-elevation-bath-tissue-mini-jumbo-roll-twin-dispenser-5555290>: HTTP status code is not handled or not allowed 2026-01-27 19:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-solid-shelving-96-x-36-x-27>: HTTP status code is not handled or not allowed 2026-01-27 19:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1560h150-standard-timing-belt-h-1-1-2-x-156-t312-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 19:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2700h100-standard-timing-belt-h-1-x-270-t540-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 19:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-clamp-fittings-4l-1-14dia-furniture-grade-abs-white>: HTTP status code is not handled or not allowed 2026-01-27 19:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/drain_parts_accessories>: HTTP status code is not handled or not allowed 2026-01-27 19:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-magnet-1600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-channel-beam-96-w-x-48-d-x-84-h-4-level-add-on-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duty-single-rivet-beam-12-w-x-2-3-d-x-1-1-4-h-14-gauge>: HTTP status code is not handled or not allowed 2026-01-27 19:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-wall-roll-stand-24-width-capacity-48-diameter>: HTTP status code is not handled or not allowed 2026-01-27 19:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-w-x-36-d-x-84-h-3-level-starter-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:03:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-angle-beam-72-w-x-24-d-x-84-h-4-level-add-on-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kac-111nwi-10-21-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-style-satin-aluminum-umbrella-stand-for-up-to-24-full-and-tote-size-umbrellas>: HTTP status code is not handled or not allowed 2026-01-27 19:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-file-folder-with-clear-hinged-lids-20-place-hi-polystyrene-san-white-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrofarm-hgbs600-bonsai-shears-60mm-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:03:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves landed on page that is not a product page. 2026-01-27 19:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrofarm-ck64072-heavy-duty-72-cell-pack-square-plug-flat-insert-seeding-tray>: HTTP status code is not handled or not allowed 2026-01-27 19:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-user-mechanical-lock-3630-for-right-hinged-doors-and-spring-locking>: HTTP status code is not handled or not allowed 2026-01-27 19:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-explosion-proof-heater-6143-btu>: HTTP status code is not handled or not allowed 2026-01-27 19:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-breakglass-explosion-proof-exhaust>: HTTP status code is not handled or not allowed 2026-01-27 19:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs25hx1716-34-pitch-1-716-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drawer-3-h-x-18-d-x-12-w>: HTTP status code is not handled or not allowed 2026-01-27 19:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-lined-bib-overall-class-e-4xl-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs16hx134-1-pitch-1-34-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelf-leg-36in>: HTTP status code is not handled or not allowed 2026-01-27 19:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spark-plug-standard-denso-auto-parts-6022>: HTTP status code is not handled or not allowed 2026-01-27 19:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-8-horizontal-steel-slat-outdoor-park-bench-with-back-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5053 pages (at 97 pages/min), scraped 2477 items (at 53 items/min) 2026-01-27 19:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-52-x-44-x-96-3-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-20-x25-x5-wide-frame-electrostatic-air-filter-merv-8>: HTTP status code is not handled or not allowed 2026-01-27 19:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-round-side-open-trash-can-9-gallon-matte-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evacuation-hardware-kit-for-cribs>: HTTP status code is not handled or not allowed 2026-01-27 19:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-motor-115-volts-1550-rpm-1>: HTTP status code is not handled or not allowed 2026-01-27 19:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-door-gate-48-w-x-81-h-81>: HTTP status code is not handled or not allowed 2026-01-27 19:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-flex-direct-drive-blower-motor-208-230-volts-1075-rpm-3>: HTTP status code is not handled or not allowed 2026-01-27 19:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-with-screwcap-wide-mouth-square-graduated-pe-cap-polypropylene-25ml-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/384-well-pcr-plate-a24-p24-two-notch-design-roche-style-white-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ft-4-gauge-with-500-amp-polar-glo-booster-cable-clamp>: HTTP status code is not handled or not allowed 2026-01-27 19:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-cap-for-microtube-with-o-ring-blue-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-switch-for-6026-tester>: HTTP status code is not handled or not allowed 2026-01-27 19:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-ton-pin-style-jack-stand-single-unit>: HTTP status code is not handled or not allowed 2026-01-27 19:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/01ml-8-strip-tubes-low-profile-with-separate-8-strip-clear-flat-caps-white-125-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-2ml-polypropylene-no-cap-graduated-natural-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/this-side-up-fragile-4-6-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-27 19:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-silver-ep-24w-x-54l-x-63h-4-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-27 19:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-tier-9-door-premium-steel-locker-12-w-x-18-d-x-24-h-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 19:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-split-capacitor-motor-277-volts-1050-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-split-capacitor-motor-230-volts-925-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:04:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-open-motor-230-volts-3000-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qc-passed-2-dia-blue-white>: HTTP status code is not handled or not allowed 2026-01-27 19:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-d-universal-coil-cleaner-granular-1-lbs>: HTTP status code is not handled or not allowed 2026-01-27 19:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purple-3-5>: HTTP status code is not handled or not allowed 2026-01-27 19:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-aluminum-camlock-fitting-dust-cap-thread>: HTTP status code is not handled or not allowed 2026-01-27 19:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-grade-high-adhesion-masking-tape-natural-24mm-x-55m-pack-of-36>: HTTP status code is not handled or not allowed 2026-01-27 19:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fragile-bilingual-3-5-bilingual-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-27 19:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders>: HTTP status code is not handled or not allowed 2026-01-27 19:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-silver-ep-24w-x-60l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-aluminum-camlock-fitting-male-barb-x-female-coupler-thread>: HTTP status code is not handled or not allowed 2026-01-27 19:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-yard-ramp-forkli-dock-ramp-36-l-x-70-w-16-000-cap-lbs-with-ramp-clamps>: HTTP status code is not handled or not allowed 2026-01-27 19:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-blower-208-230-volts-3000-rpm-1>: HTTP status code is not handled or not allowed 2026-01-27 19:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-poly-mailers-0-6-x-9-white-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colorstar-impressions-custom-logo-mat--6--x-12--48-mil-universal-cleated-sbr>: HTTP status code is not handled or not allowed 2026-01-27 19:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16a25-metric-a-plate-1-pitch-24mm-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-chrome-18w-x-48l-x-72h-4-wire-shelves-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hold-do-not-ship-3-5-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-27 19:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquasense-z6915-xl-mv-battery-powered-sensor-faucet-single-hole-mixing-valve>: HTTP status code is not handled or not allowed 2026-01-27 19:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ula-choke-15w-120v-3a-jengyu>: HTTP status code is not handled or not allowed 2026-01-27 19:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mantis-sirius-decorative-discreet-commercial-fly-light-white-4-case>: HTTP status code is not handled or not allowed 2026-01-27 19:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smokers-outpost-wall-mounted-ashtray-locking-with-swivel-black>: HTTP status code is not handled or not allowed 2026-01-27 19:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs17hx11516-1-14-pitch-1-1516-finished-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs19hx48-metric-1-pitch-48mm-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5152 pages (at 99 pages/min), scraped 2533 items (at 56 items/min) 2026-01-27 19:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-piece-phillips-slottedpozidriv-dual-material-screwdriver-set>: HTTP status code is not handled or not allowed 2026-01-27 19:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80b35x138mpb-1-pitch-1-plain-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dec-2-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-27 19:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jelly-belly-50-flavors-jelly-beans-assortment-3-lb-gr>: HTTP status code is not handled or not allowed 2026-01-27 19:05:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-diamond-low-sodium-lightly-salted-almonds-1-5-oz-12-count-gr>: HTTP status code is not handled or not allowed 2026-01-27 19:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-drawer-double-mobile-cabinet-60-wx27-dx45-1-2-h-avalanche-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:05:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-9034-1-6-hp-1-phase-1075-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d2e1a14-2-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valencia-series-mobile-desk-41-3-8-w-x-23-5-8-d-x-30-h-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 19:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-drawer-mobile-multi-drawer-cabinet-48-wx27-dx37-1-2-h-avalanche-blue-2>: HTTP status code is not handled or not allowed 2026-01-27 19:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ec1004b-1-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swrfid-25g-rfid-impact-indicators-25g-range-yellow-100-box>: HTTP status code is not handled or not allowed 2026-01-27 19:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-mobile-medical-privacy-screen-81-w-x-69-h-gray-green-vinyl-panels>: HTTP status code is not handled or not allowed 2026-01-27 19:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee>: HTTP status code is not handled or not allowed 2026-01-27 19:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-collapsible-hamper-steel-electric-blue-vinyl-bag>: HTTP status code is not handled or not allowed 2026-01-27 19:05:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/cookies_pastries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-24-wx46-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-27 19:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-mobile-medical-privacy-screen-81-w-x-69-h-green-vinyl-panels>: HTTP status code is not handled or not allowed 2026-01-27 19:05:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-9034-1-6-hp-1-phase-1075-rpm landed on page that is not a product page. 2026-01-27 19:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-construction-lite-load-lift-winch-operation-with-floor-locks>: HTTP status code is not handled or not allowed 2026-01-27 19:05:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-2867-1-5-hp-1-phase-1050-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-coffee-creamer-hazelnut-0-38-oz-mini-cups-180-carton>: HTTP status code is not handled or not allowed 2026-01-27 19:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t34ca2j-3-4-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-31-4-drawer-legal-fire-and-water-resistant-file-cabinet-putty-lgl4w31p>: HTTP status code is not handled or not allowed 2026-01-27 19:05:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/cookies_pastries landed on page that is not a product page. 2026-01-27 19:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-24-w-stainless-steel-ladder-with-rails-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-27 19:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-24-w-aluminum-tilt-roll-ladder-ribbed-tread>: HTTP status code is not handled or not allowed 2026-01-27 19:05:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-2867-1-5-hp-1-phase-1050-rpm landed on page that is not a product page. 2026-01-27 19:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cp3-pallet-jack-truck-27-x-48-forks-5500-lb-capacity-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-16-w-stainless-steel-fold-store-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-27 19:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wd2e2a14c-2-hp-3-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d10v1b-10-hp-3-phase-3505-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u2v2bc-2-hp-3-phase-1735-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-25-gray-ducting-fire-retardant-gray-w-clamp-for-all-foreman>: HTTP status code is not handled or not allowed 2026-01-27 19:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d3v2b-3-hp-3-phase-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-2910-1-4-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fast-lift-service-jack-3-5-ton>: HTTP status code is not handled or not allowed 2026-01-27 19:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-butcher-block-instrument-riser-shelf-with-back-stop-gray-1>: HTTP status code is not handled or not allowed 2026-01-27 19:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn37-15-1-h-56c-cast-iron-helical-bevel-speed-reducer-56c-input-flange-15-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-27 19:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-shelving-drawer-unit-36x18x75-108-drawers-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-graduated-globe-glass-class-b-to-deliver-td-dual-grads-astm-e1272-10ml-4-box>: HTTP status code is not handled or not allowed 2026-01-27 19:05:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/transmission_jacks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ezbv35-1-1-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u1p2d-1-hp-3-phase-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-72-w-x-30-d-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-84-w-x-18-d-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-72-w-x-36-d-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-x3p2b-3-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5245 pages (at 93 pages/min), scraped 2582 items (at 49 items/min) 2026-01-27 19:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-2-inch-links-on-a-reel-125-feet-trade-size-8-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:05:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/transmission_jacks landed on page that is not a product page. 2026-01-27 19:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-heavy-duty-plastic-chain-100-feet-on-a-reel-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves>: HTTP status code is not handled or not allowed 2026-01-27 19:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-heavy-duty-plastic-chain-500-feet-safety-green>: HTTP status code is not handled or not allowed 2026-01-27 19:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-master-link-1-5-inch-link-safety-green-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-lag-bolts>: HTTP status code is not handled or not allowed 2026-01-27 19:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d32p2h-1-5-hp-3-phase-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gussetted-poly-bag-rolls-8x4x18-2-mil-1000-rl>: HTTP status code is not handled or not allowed 2026-01-27 19:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1693-1-3-1-4-hp-1-phase-1625-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-x10e2b-10-hp-3-phase-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-8675-1-3-hp-1-phase-825-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1390-1-4-hp-1-phase-1050-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-6766-1-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-5464-1-3-1-6-hp-1-phase-825-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan77-15-1-h-213-5tc-cast-iron-helical-bevel-speed-reducer-213-5tc-input-flange-15-1>: HTTP status code is not handled or not allowed 2026-01-27 19:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kan-series-helical-bevel-speed-reducer-b5-output-flg-kit-size-87-b5-output-flg-kit-hardw-incl>: HTTP status code is not handled or not allowed 2026-01-27 19:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-food-bars-work-table-cold-food-72-x-29-low-6-swivel-casters-with-brakes-black>: HTTP status code is not handled or not allowed 2026-01-27 19:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-message-board>: HTTP status code is not handled or not allowed 2026-01-27 19:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermobarrier-21-1-4x13x1-1-2-removable-insulated-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camcart-heated-food-pan-carrier-front-loading-granite-gray-220v-60-1-ph-23-amp>: HTTP status code is not handled or not allowed 2026-01-27 19:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-6-magazine-12-pamphlet-display>: HTTP status code is not handled or not allowed 2026-01-27 19:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-single-tier-1-wide-12-x-15-x-60-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-cold-cart-tall-profile-granite-green-celsius-10-rear-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-thick-24-h-steel-post-protector-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-y-12mm-x-2-8mm-tube>: HTTP status code is not handled or not allowed 2026-01-27 19:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-mobile-shelf-plate-kit-21-w-x-60-l-solid-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-27 19:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-workbench-2-3-4-backsplash-ss-undershelf-48-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-27 19:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bellows-package-for-bishamon-ez-loader-ez-40>: HTTP status code is not handled or not allowed 2026-01-27 19:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manifold-8mm-tube-x-1-4-bspp>: HTTP status code is not handled or not allowed 2026-01-27 19:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l110-5-8-inch-bore-diameter-3-16-x-3-32-keyway>: HTTP status code is not handled or not allowed 2026-01-27 19:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-balldriver-screwdriver-long-10710>: HTTP status code is not handled or not allowed 2026-01-27 19:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-bulkhead-connector-metal-release-collet-5-16-tube-x-1-8-nptf>: HTTP status code is not handled or not allowed 2026-01-27 19:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-10mm-stud-x-6mm-tube>: HTTP status code is not handled or not allowed 2026-01-27 19:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forced-air-circulation-incubator-108-liters-230v>: HTTP status code is not handled or not allowed 2026-01-27 19:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-gage-handle-w-1pc-handle-and-6-pairs-of-collecting-bushes-281-341-inch-range>: HTTP status code is not handled or not allowed 2026-01-27 19:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-24-inch-reach-w-interlock-led-24-inch-l-x-10-inch-w-24-lb>: HTTP status code is not handled or not allowed 2026-01-27 19:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-direct-mount-w-o-interlock-16-inch-l-x-8-inch-w>: HTTP status code is not handled or not allowed 2026-01-27 19:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-direct-mount-w-o-interlock-20-inch-l-x-10-inch-w>: HTTP status code is not handled or not allowed 2026-01-27 19:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-curved-direct-mount-w-interlock-led-28-inch-l-x-10-inch-w>: HTTP status code is not handled or not allowed 2026-01-27 19:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-grade-looped-end-mop-w-acme-thread-connection-blue-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 19:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5342 pages (at 97 pages/min), scraped 2638 items (at 56 items/min) 2026-01-27 19:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-bi-support-stand-w-automatic-slide-cutter-48-inch-l>: HTTP status code is not handled or not allowed 2026-01-27 19:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-bi-support-stand-w-automatic-slide-cutter-24-inch-l>: HTTP status code is not handled or not allowed 2026-01-27 19:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparrow-trap-door-w-audio-module-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-shock-flex-track-lead-out-wire-50l-roll-beige>: HTTP status code is not handled or not allowed 2026-01-27 19:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extension-poles-w-nonslip-safety-grip-12h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 19:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-916-dia-x-175l>: HTTP status code is not handled or not allowed 2026-01-27 19:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faosc-retrofit-grids-for-business-cabinet-w-o-meds-100-persons>: HTTP status code is not handled or not allowed 2026-01-27 19:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sj-21-inch-snow-blower-kit-w-batteries--dual-port-charger-96v-12-amp-hours>: HTTP status code is not handled or not allowed 2026-01-27 19:07:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/snow_blowers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-ups-fedexable-antimicrobial-vinyl-basket-truck-18-bushel-capacity-red>: HTTP status code is not handled or not allowed 2026-01-27 19:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lg-platform-truck-w-floor-lock-3600-lb-capacity-62-inch-l-x-30-inch-w>: HTTP status code is not handled or not allowed 2026-01-27 19:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquaflush-flush-valve-closet>: HTTP status code is not handled or not allowed 2026-01-27 19:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exeter-6-garden-bench-black>: HTTP status code is not handled or not allowed 2026-01-27 19:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exeter-6-garden-bench-whitewash>: HTTP status code is not handled or not allowed 2026-01-27 19:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/muskoka-adirondack-deck-dining-chair-40-12h-white>: HTTP status code is not handled or not allowed 2026-01-27 19:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-dining-height-table-round-nantucket-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/muskoka-adirondack-3-piece-bistro-dining-set-30h-table-whitewash>: HTTP status code is not handled or not allowed 2026-01-27 19:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/largo-silver-lines-slab-door-wood-30w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-27 19:07:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/snow_blowers landed on page that is not a product page. 2026-01-27 19:07:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-jamb-max-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-27 19:07:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tampa-glazed-light-slab-door-wood--glass-28w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-27 19:07:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kissimmee-glazed-light-slab-door-wood--glass-28w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-27 19:07:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-gold-lines-slab-door-wood-30w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-27 19:07:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_plates_braces already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-15l-x-5w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-27 19:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 19:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 19:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-hivis-softshell-insulated-jacket-large-black-lime>: HTTP status code is not handled or not allowed 2026-01-27 19:07:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polarforce-mens-sweatshirt-3xl-black>: HTTP status code is not handled or not allowed 2026-01-27 19:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 19:07:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roast-1-lb-pack-of-6-whole-bean-coffee>: HTTP status code is not handled or not allowed 2026-01-27 19:07:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_plates_braces landed on page that is not a product page. 2026-01-27 19:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-classic-roast-1-2-oz-pack-of-42>: HTTP status code is not handled or not allowed 2026-01-27 19:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartstock-wrapped-refill-knife-polypropylene-series-w-black-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 19:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/renewable-compostable-sugarcane-plates-6-dia-natural-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 19:07:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-coffee-filters-w-flat-bottom-6-gal-pack-of-252>: HTTP status code is not handled or not allowed 2026-01-27 19:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mind-reader-coffee-pod-carousel-fits-30-pods-6-13-16-w-x-6-13-16-d-x-12-5-8-h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:07:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-filters-w-flat-bottom-32-cups-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-27 19:07:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/food_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 19:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pet-cups-w-single-compartment-insert-12-oz-clear-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-27 19:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bun-rack-covers-high-density-80-l-x-52-w-natural-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 19:07:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-27 19:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-lids-for-32-oz-food-container-4-5-8-dia-x-1-1-16-h-white-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-27 19:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-food-container-white-pack-of-250>: HTTP status code is not handled or not allowed 2026-01-27 19:07:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-27 19:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecocraft-food-tray-2-lb-capacity-natural-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 19:07:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-27 19:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-t-sundae-cold-cup-lids-fits-5-oz-to-32-oz-cups-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 19:07:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls landed on page that is not a product page. 2026-01-27 19:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-hot-drink-cups-10-oz-maroon-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 19:07:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/food_wraps landed on page that is not a product page. 2026-01-27 19:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-stacked-lithium-battery-35ah>: HTTP status code is not handled or not allowed 2026-01-27 19:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delphi-x-observer-trinocular-microscope-for-anatomopathology>: HTTP status code is not handled or not allowed 2026-01-27 19:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-compartment-drawer-organizer-30w-x-18-38d-x-1-38h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5423 pages (at 81 pages/min), scraped 2667 items (at 29 items/min) 2026-01-27 19:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-powered-computer-workstation-40ah-battery-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 19:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-post-op-shoe-w-hook-and-loop-closure-mens-medium>: HTTP status code is not handled or not allowed 2026-01-27 19:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/translator-combination-transport-wheelchair-rollator-19w-seat-red-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-top-w-ring-feeding-syringe-iv-pole-bag-60ml-clear-pack-of-30>: HTTP status code is not handled or not allowed 2026-01-27 19:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultralight-aluminium-transport-wheelchair-19w-seat-red-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ring-cutter-round-handle-6-12-l>: HTTP status code is not handled or not allowed 2026-01-27 19:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insert-style-wrist-id-band-12l-clear-pack-of-250>: HTTP status code is not handled or not allowed 2026-01-27 19:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-pipe-moving-truck-steel-3600-lb-capacity-72l-x-36w-x-59-1-8h>: HTTP status code is not handled or not allowed 2026-01-27 19:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-sided-solid-box-truck-steel-1400-lb-capacity-42-1-4l-x-24-1-4w-x-28-3-16h>: HTTP status code is not handled or not allowed 2026-01-27 19:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-stainless-steel-faucet-connector-20l-38-x-12-od-x-fip-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 19:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-stainless-steel-ballcock-connector-16l-38-x-78-od-x-bc-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 19:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavatory-faucet-w-pop-up-two-handle-12-gpm-chrome>: HTTP status code is not handled or not allowed 2026-01-27 19:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-lever-kitchen-faucet-w-side-spray-lever-handle-satin-nickel>: HTTP status code is not handled or not allowed 2026-01-27 19:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-turn-angle-stop-chrome-plated-12-fip-x-38-od-comp-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 19:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advance-sc500-20d-w105-obc-ph-walk-behind-floor-scrubber-20-cleaning-width>: HTTP status code is not handled or not allowed 2026-01-27 19:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vl500-75-ergo-wet-dry-vacuum-cleaner-19-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-dumbbell-rack-28l-x-23w-x-50-12h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:08:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/stretch_bands_tubing already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-loop-kit-all-6-resistances-12l-assorted>: HTTP status code is not handled or not allowed 2026-01-27 19:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-l-shaped-table-desk-w-3-drawers-71w-x-77-3-8d-x-29-7-8h-white>: HTTP status code is not handled or not allowed 2026-01-27 19:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-coventry-u-shaped-sectional-couch-113w-x-87d-x-35-3-4h-beige>: HTTP status code is not handled or not allowed 2026-01-27 19:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-hybrid-file-cabinet-w-2-drawers-36w-x-23-3-8d-x-29-13-16h-storm-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-gymshoe-sport-floor-finish-f-style-w-catalyst-1-gallon-bottle-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 19:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerator-freezer-combo-10-cu-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 19:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-fixed-shelves-assembled-48w-x-24d-x-72h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:08:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/stretch_bands_tubing landed on page that is not a product page. 2026-01-27 19:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-48-g-cabinet-w-fixed-shelves-assembled-48w-x-18d-x-72h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:08:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-13d-x-60h-walnut>: HTTP status code is not handled or not allowed 2026-01-27 19:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-waterproof-flame-resistant-winter-quilted-jacket-class-1-blue-3xl>: HTTP status code is not handled or not allowed 2026-01-27 19:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-quilted-jacket-w-removable-hood-class-3-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-27 19:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/platform-truck-w-end--side-racks-handle-3600-lb-capacity-60l-x-24w-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers>: HTTP status code is not handled or not allowed 2026-01-27 19:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-class-2-hi-vis-safety-vest-2-reflective-strips-poly-mesh-lime-l-xl>: HTTP status code is not handled or not allowed 2026-01-27 19:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8377ev-winter-bomber-jacket-enhanced-visibility-large-black>: HTTP status code is not handled or not allowed 2026-01-27 19:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-leg-gaiters-two-tone-mesh-lime-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 19:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-922cr-cut-resistant-gloves-nitrile-coated-ansi-a3-m-gray-96-pairs>: HTTP status code is not handled or not allowed 2026-01-27 19:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8281bk-hi-vis-performance-long-sleeve-t-shirt-type-r-class-2-xl-lime>: HTTP status code is not handled or not allowed 2026-01-27 19:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7030-cut-resistant-gloves-polyurethane-coated-ansi-a3-l-gray-12-pairs>: HTTP status code is not handled or not allowed 2026-01-27 19:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-5-air-impact-wrench-1770-ft-lbs-torque-d-handle-6-extended-anvil>: HTTP status code is not handled or not allowed 2026-01-27 19:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-2-door-digital-locker-12inwx-18ind-x-78inh-tan-assembled>: HTTP status code is not handled or not allowed 2026-01-27 19:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tier-9-door-digital-locker-36in-w-x-15in-d-x-78in-h-tan-assembled>: HTTP status code is not handled or not allowed 2026-01-27 19:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-horizontal-powdercoated-steel-slat-bench-w-back-surface-mount-6l-black>: HTTP status code is not handled or not allowed 2026-01-27 19:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/procedure-core-bench-w-3-bay-right-side-divider-36l-x-27w-x-78-34h-c3c-pkg>: HTTP status code is not handled or not allowed 2026-01-27 19:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc-board-for-w-series-long-hand-sealers-220v>: HTTP status code is not handled or not allowed 2026-01-27 19:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-belt-2-for-hl-m1120ld-frm-1120c-frm-1010-frm-1120ld>: HTTP status code is not handled or not allowed 2026-01-27 19:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-temp-controller-for-fr-770-hl-m810-frm-1010-b-sealers>: HTTP status code is not handled or not allowed 2026-01-27 19:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90deg-high-raised-curved-guide-for-roller-conveyors-24in-oaw>: HTTP status code is not handled or not allowed 2026-01-27 19:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-angle-grinder-w-lock-on-paddle-switch-10-amp-11000-rpm-4-12-wheel-dia-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5520 pages (at 97 pages/min), scraped 2717 items (at 50 items/min) 2026-01-27 19:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-shaped-bur-double-cut-3l-x-18-shank-dia-18-cut-dia>: HTTP status code is not handled or not allowed 2026-01-27 19:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-tree-shaped-bur-aluma-cut-2l-x-18-shank-dia>: HTTP status code is not handled or not allowed 2026-01-27 19:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bur-box-aluma-cut-sa1-sa3-sc1-sc3-sd1-sd3-sf1-sf3-set-of-8>: HTTP status code is not handled or not allowed 2026-01-27 19:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-shaped-bur-double-cut-6-12l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-27 19:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl-led-light-bulb-4-pin-g24q-base-16w-1850-lumens-4000k-cool-white>: HTTP status code is not handled or not allowed 2026-01-27 19:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotating-mixer-w-rotisseries-230v-5060-hz-1-40-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-15mm-steel-core-grinding-balls>: HTTP status code is not handled or not allowed 2026-01-27 19:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magic-clamp-universal-platform-for-flask-tubes-16x16-12>: HTTP status code is not handled or not allowed 2026-01-27 19:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-for-4x1550ml-tubes-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 19:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/voyager-dc-adaptor-for-20v-dewalt174-batteries>: HTTP status code is not handled or not allowed 2026-01-27 19:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/customizable-mobile-heavy-duty-cabinet-empty-14-gauge-48w-x-24d-x-76h>: HTTP status code is not handled or not allowed 2026-01-27 19:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-round-picnic-table-surface-mount-steel-black-36l>: HTTP status code is not handled or not allowed 2026-01-27 19:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-18w-x-54h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-12w-x-48h-antique-white>: HTTP status code is not handled or not allowed 2026-01-27 19:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-40w-x-72h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-36l-x-12w-x-96h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-40w-x-72h-antique-white>: HTTP status code is not handled or not allowed 2026-01-27 19:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marque-quad-unit-reception-curved-desk-workstation-142w-x-103d-x-45-12h-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 19:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marque-plexi-single-unit-reception-curved-desk-workstation-72w-x-32d-x-45-12h-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 19:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-yb16cl-b-12v-19ah-250-cca-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-osmin-half-frame-safety-glasses-smoke-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthy-soap-0537-pcmx-foam-refill-for-cs4-dispensers-1250-ml-capacity-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 19:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-polypropylene-rope-7200l-x-34w-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-hip-pack-w-guard-logo-first-aid-supply-red>: HTTP status code is not handled or not allowed 2026-01-27 19:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protect-liquid-cooled-standby-generator-150kw-120-240v-3-phase-ng>: HTTP status code is not handled or not allowed 2026-01-27 19:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dryconn-waterproof-wire-connectors-small-aqua-orange-6-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pediatric-head-immobilizer-royal-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scoop-stretcher-head-immobilizer-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs12hx30-metric-1-14-pitch-30mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs11hx35-metric-1-12-pitch-35mm-finished-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-120sf14h-qd-bushed-1-12-pitch-14-teeth-14-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:09:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:09:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-wellington-work-boots-steel-toe-size-6w-10-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs16hx42-metric-1-14-pitch-42mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/select-flat-box-facial-tissue-2-ply-white-100-sheets-box-30-boxes-carton>: HTTP status code is not handled or not allowed 2026-01-27 19:09:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100btl26h-taper-bushed-1-14-pitch-26-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100e23h-qd-bushed-1-14-pitch-23-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:09:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels>: HTTP status code is not handled or not allowed 2026-01-27 19:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-dot-ecg-monitoring-electrodes-pre-wired-2289pal-1-57-inch-x-1-0-inch-5-bg-100-bg-cs>: HTTP status code is not handled or not allowed 2026-01-27 19:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-internal-met-guard-steel-toe-size-6w-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-large-isolation-drape-w-ioban-2-incise-film-and-pouch-6617-126-inch-x83-inch-4bx-cs>: HTTP status code is not handled or not allowed 2026-01-27 19:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/futuro-night-wrist-support-adjustable-2-pk-6-pk-case>: HTTP status code is not handled or not allowed 2026-01-27 19:09:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 19:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5618 pages (at 98 pages/min), scraped 2773 items (at 56 items/min) 2026-01-27 19:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 19:09:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-high-top-sneaker-composite-toe-size-9-5m-black-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:09:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 19:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-orthopaedic-set-up-pack-plastic-u-sheet-mayo-stand-cover-15-pk-bx-2-bx-cs>: HTTP status code is not handled or not allowed 2026-01-27 19:10:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08a23h-metric-a-plate-12-pitch-12mm-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loban-2-antimicrobial-incise-drape-6650ez-23-inch-x-17-inch-10-each-carton-4-cartons-case>: HTTP status code is not handled or not allowed 2026-01-27 19:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs20hx1716-1-14-pitch-1-716-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs32x178-1-pitch-1-78-finished-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-7-5w-wintermoss-whitecap-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-14w-wintermoss-whitecap-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs14hx28-metric-58-pitch-28mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 19:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-screw-cap-macrotube-sterile-bags-of-100-5-ml-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:10:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 19:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-12w-navy-aged-indigo>: HTTP status code is not handled or not allowed 2026-01-27 19:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50btl18h-taper-bushed-58-pitch-18-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-propette-le-8-channel-pipette-30-300ul>: HTTP status code is not handled or not allowed 2026-01-27 19:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-aspir-8-reservoir-for-8-channel-pipettes-non-sterile-10-ml-300-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-pestles-for-flow-tubes--35-um-strainer-caps-sterile-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40a33hx58-a-plate-12-pitch-58-bore-33-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 19:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40sh24h-qd-bushed-12-pitch-24-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mach-1-700cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 19:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-blucher-sneaker-composite-toe-size-10-5w-black-gold>: HTTP status code is not handled or not allowed 2026-01-27 19:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-blucher-sneaker-composite-toe-size-12m-black-gold>: HTTP status code is not handled or not allowed 2026-01-27 19:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs22hx58-12-pitch-58-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-m2-50-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:10:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-14m-blue-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:10:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-10w-black>: HTTP status code is not handled or not allowed 2026-01-27 19:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/best-power-600-ups-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-w-steel-toe-and-internal-met-guard-size-13-5w-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-w-steel-toe-and-internal-met-guard-size-10-5m-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:10:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35a45x58-a-plate-38-pitch-58-bore-45-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 19:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs38x114-1-pitch-1-14-finished-bore-38-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs18hx42-metric-58-pitch-42mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-4-5m-blue-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:10:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 19:10:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marquette-32132-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:10:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 19:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:10:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 19:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-8-x-10-2-mil-black-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:10:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-8-5w-black-seafoam-green-white>: HTTP status code is not handled or not allowed 2026-01-27 19:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs15hx30-metric-34-pitch-30mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 19:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12a19h-metric-a-plate-34-pitch-14mm-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-oxford-shoes-steel-toe-11-5eee-black>: HTTP status code is not handled or not allowed 2026-01-27 19:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elk-12180-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-5-x-5-32-red-candy-stripe-2000-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-10-5m-dark-brown-khaki>: HTTP status code is not handled or not allowed 2026-01-27 19:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5701 pages (at 83 pages/min), scraped 2801 items (at 28 items/min) 2026-01-27 19:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ademco-alarm-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs14hx32-metric-34-pitch-32mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-bags-12-x-23-1-2-150-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs24hx138-12-pitch-1-38-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60sds19h-qd-bushed-34-pitch-19-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100sds11h-qd-bushed-1-14-pitch-11-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adi-pwps1270-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:11:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs11hx138-1-pitch-1-38-finished-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pearl-eraser-medium-24-bx-pink>: HTTP status code is not handled or not allowed 2026-01-27 19:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs25hx30-metric-12-pitch-30mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs30hx1-12-pitch-1-finished-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35a32hx12-a-plate-38-pitch-12-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:11:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/cable_bolt_cutters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs34x1316-34-pitch-1-316-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securitron-xp1f-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-inspection-gloves-uncoated-x-large-12-pairs-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:11:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 19:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bruno-35-wheelchair-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-7w-silver-gray-clay-black>: HTTP status code is not handled or not allowed 2026-01-27 19:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/cable_bolt_cutters>: HTTP status code is not handled or not allowed 2026-01-27 19:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p321-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-green-3-8-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-27 19:11:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs13hx38-metric-1-14-pitch-38mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-10-5w-gray-black>: HTTP status code is not handled or not allowed 2026-01-27 19:11:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-mid-cut-shoes-composite-toe-size-10m-black>: HTTP status code is not handled or not allowed 2026-01-27 19:11:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-women-s-athletic-work-shoes-composite-toe-size-9-5m-black>: HTTP status code is not handled or not allowed 2026-01-27 19:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35a27hx12-a-plate-38-pitch-12-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sears-25780-lawn-and-garden-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-3-5w-triple-black>: HTTP status code is not handled or not allowed 2026-01-27 19:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41b15hx12mpb-12-pitch-12-plain-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41500-food-transport-container-polyethylene-507-qt-insulated-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:11:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-11-44-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:11:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 19:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-20x-20-square-opening-38-od-x-42h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-30-diameter-round-opening-44-od-x-42h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:11:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 19:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40ja15h-qd-bushed-12-pitch-15-teeth>: HTTP status code is not handled or not allowed 2026-01-27 19:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-6-5m-triple-black>: HTTP status code is not handled or not allowed 2026-01-27 19:11:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 19:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-7m-triple-black>: HTTP status code is not handled or not allowed 2026-01-27 19:11:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 19:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-wdryer-200v-140-psi-34-cfm-10hp-3ph>: HTTP status code is not handled or not allowed 2026-01-27 19:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exide-mk-1-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exide-q-101-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-e-a-heavy-duty-aluminum-beam-fe8000-12-for-96-and-102-trailers>: HTTP status code is not handled or not allowed 2026-01-27 19:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/winch-strap-423040-with-chain-anchor-30-x-4-gold>: HTTP status code is not handled or not allowed 2026-01-27 19:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-tapered-roller-bearing-e32017j-85mm-bore-130mm-od>: HTTP status code is not handled or not allowed 2026-01-27 19:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-12w-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ds50-50cc-atv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-9m-black-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-dcp21-16-gy-drawer-pedestal-4-15-12w-x-30d-x-30-14h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5792 pages (at 91 pages/min), scraped 2839 items (at 38 items/min) 2026-01-27 19:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-10-5w-black-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ducati-sport-350cc-motorcycle-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 19:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-9-5w-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfortie-casual-work-shoes-steel-toe-size-5-5m-black-white>: HTTP status code is not handled or not allowed 2026-01-27 19:12:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb4500-high-top-work-sneaker-composite-toe-size-13w-black-white>: HTTP status code is not handled or not allowed 2026-01-27 19:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-gel-pens-blue-ink-gray-barrel-1-each-bl30c>: HTTP status code is not handled or not allowed 2026-01-27 19:12:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/flange_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht30-18-286tc-gp-tefc-rigid-c-3-ph-286tc-364-fla>: HTTP status code is not handled or not allowed 2026-01-27 19:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht150-12-445-7t-f2-gp-tefc-rigid-3-ph-f2-445-7t-rb>: HTTP status code is not handled or not allowed 2026-01-27 19:12:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72630-050-push-plate-6x16-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:12:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-gtx-600-ho-sdi-593cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-industrial-carton-sealing-tape-2-x-110-yds-tan-pack-of-36>: HTTP status code is not handled or not allowed 2026-01-27 19:12:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/flange_kits landed on page that is not a product page. 2026-01-27 19:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-shin-guards-wside-shield-steel-toe-clip-rubber-strap-5-12w-large-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 19:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squeegee-fabric-tool-for-mr-100-steam-cleaner-261562>: HTTP status code is not handled or not allowed 2026-01-27 19:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cotton-cover-for-squeegee-fabric-tool-261563>: HTTP status code is not handled or not allowed 2026-01-27 19:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-smart-ups-sc-620va-sc620-ups-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-backups-350-es350-ups-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30ft-vga-svga-coax-monitor-cable-w-audio-hd15-and-35mm-m-m-30>: HTTP status code is not handled or not allowed 2026-01-27 19:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aed-cabinet-surface-mount-85-db-audible-alarm-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datex-series-37-printer-medical-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:12:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors landed on page that is not a product page. 2026-01-27 19:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-cabinet-solid-door-fully-recessed-55d-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-cabinet-full-acrylic-window-ss>: HTTP status code is not handled or not allowed 2026-01-27 19:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parks-medical-00-mini-lab-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amstron-ap-1222-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built153-2-tier-6-doors-locker-36w-x-18d-x-78h-black-assembled>: HTTP status code is not handled or not allowed 2026-01-27 19:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built153-2-tier-2-doors-locker-12w-x-12d-x-78h-black-assembled>: HTTP status code is not handled or not allowed 2026-01-27 19:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-packing-list-enclosed-2-x-110-yds-redwhite-pack-of-36>: HTTP status code is not handled or not allowed 2026-01-27 19:12:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:12:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-waterfall-deck-shelving-5-shelves-96w-x-24d-x-96h-midnight-ebony>: HTTP status code is not handled or not allowed 2026-01-27 19:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-pediatric-tray-scale-50lb-capacity-emr-connectivity-built-in-measuring-tape>: HTTP status code is not handled or not allowed 2026-01-27 19:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/see-thru-sensory-table-toddler>: HTTP status code is not handled or not allowed 2026-01-27 19:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm40-251-56c-aluminum-worm-gear-reducer-40mm-251-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions>: HTTP status code is not handled or not allowed 2026-01-27 19:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kydz-ladderback-chair-12-height>: HTTP status code is not handled or not allowed 2026-01-27 19:12:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-27 19:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-blocks-starter-set-86-pieces-14-shapes>: HTTP status code is not handled or not allowed 2026-01-27 19:12:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/home_office_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topin-tp12-7-5-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5881 pages (at 89 pages/min), scraped 2889 items (at 50 items/min) 2026-01-27 19:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-heavy-duty-double-entry-work-platform-36w-steps-dep7-3648>: HTTP status code is not handled or not allowed 2026-01-27 19:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-metal-shelving-5-shelves-900-lb-cap-48w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jerry-can-w-spout-adapter-green-10-liter-3014>: HTTP status code is not handled or not allowed 2026-01-27 19:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-flo-pup61-portable-utility-pump>: HTTP status code is not handled or not allowed 2026-01-27 19:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/home_office_fans>: HTTP status code is not handled or not allowed 2026-01-27 19:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilaire-70-pint-per-day-whole-home-hehumidifer-1830>: HTTP status code is not handled or not allowed 2026-01-27 19:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/newmox-fnc-612-sealed-lead-acid-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-in-x-12-in-aluminum-door-louver>: HTTP status code is not handled or not allowed 2026-01-27 19:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-shelving-8-shelves-starter-unit-500-lb-cap-36w-x-18d-x-87h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/casil-ca12100-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-dn-0820-debris-safety-netting-8-x-20>: HTTP status code is not handled or not allowed 2026-01-27 19:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-dn-1212-debris-safety-netting-12-x-12>: HTTP status code is not handled or not allowed 2026-01-27 19:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-dock-storage-box-82119569-small-36-l-x-21-w-x-16-h-white>: HTTP status code is not handled or not allowed 2026-01-27 19:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yuasa-npx-80-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cove-base-pinnacle-rubber-4x18x48-smoke>: HTTP status code is not handled or not allowed 2026-01-27 19:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-cp1290-cp-1290-12v-9ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdo-ot12-12hr-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29438e-spherical-roller-thrust-bearing-extra-capacity-bronze-cage>: HTTP status code is not handled or not allowed 2026-01-27 19:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handheld-drench-hose-for-keg-mounted-eye-wash-1-in-line-nozzle>: HTTP status code is not handled or not allowed 2026-01-27 19:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upsonic-ih-5000-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upsonic-is-1000-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eveleen-indoor-outdoor-rocking-chair-black>: HTTP status code is not handled or not allowed 2026-01-27 19:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al600ulxpd16cb-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryo-coder-for-star-round-base-vials-red-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-230-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/volt153-portable-electric-heater-w-thermostat-240v-1-phase-3000w>: HTTP status code is not handled or not allowed 2026-01-27 19:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-4-1-2-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-27 19:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill2-chillhand-chill-tray-dollies-double-handle-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 19:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-galvanized-malleable-cap-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-27 19:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al600ulpd4cb-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-fed-eyewash-insulated-jacket-for-30-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-piece-peg-hook-set-large-hooks>: HTTP status code is not handled or not allowed 2026-01-27 19:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-cable-assembly-14dia-x-90-l>: HTTP status code is not handled or not allowed 2026-01-27 19:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyno-lever-hoist-3-ton-capacity-5-lift>: HTTP status code is not handled or not allowed 2026-01-27 19:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibmotrin-pain-reliever-50-bx>: HTTP status code is not handled or not allowed 2026-01-27 19:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cotton-balls-absorbent-latex-free-non-sterile-2000bx-wh>: HTTP status code is not handled or not allowed 2026-01-27 19:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hepa-filter-white-4-pack-15-1801>: HTTP status code is not handled or not allowed 2026-01-27 19:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-alarm-systems-ds415-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-lynx-l-3-wheelchair-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tensacone-yellow-75-ft-black-yellow-chevron-belt>: HTTP status code is not handled or not allowed 2026-01-27 19:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-4-flute-7-8-inch-dia-x-1-2-inch-shank-x-3-5-8-inch-oal-hss-single-end-mill>: HTTP status code is not handled or not allowed 2026-01-27 19:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drench-shower-floor-mount-stainless-steel-pipe-nylon-showerhead>: HTTP status code is not handled or not allowed 2026-01-27 19:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10000-lbs-capacity-tow-strap-1-3-4-inch-x-25-ft-forged-hooks>: HTTP status code is not handled or not allowed 2026-01-27 19:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-mp3-junior-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hsm314-shredder-oil-16-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-27 19:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-narrow-mouth-hdpe-500ml-capacity-amber-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 19:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6208zznr-deep-groove-ball-bearing-double-shielded-snap-ring-40mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-27 19:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63062rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-30mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-27 19:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-ldpe-250ml-capacity-white-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 19:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60032rs-p53-deep-groove-ball-bearing-double-sealed-abec-5-17mm-bore-35mm-od>: HTTP status code is not handled or not allowed 2026-01-27 19:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-unitary-ldpe-250ml-capacity-white-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 19:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 5978 pages (at 97 pages/min), scraped 2935 items (at 46 items/min) 2026-01-27 19:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leisure-lift-pediatric-wheelchair-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6302zz-deep-groove-ball-bearing-double-shielded-15mm-bore-42mm-od>: HTTP status code is not handled or not allowed 2026-01-27 19:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-cart-black-epoxy-72l-x-14w-x-40h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplicity-20h-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sears-25710-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440260598-cloth-belt-577f-1-2w-x-18l-120-grit>: HTTP status code is not handled or not allowed 2026-01-27 19:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolens-2027-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-marker-chisel-red-ink-dozen-B785508>: HTTP status code is not handled or not allowed 2026-01-27 19:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500084142-low-stretch-belt-1w-x-42l-med-grit>: HTTP status code is not handled or not allowed 2026-01-27 19:14:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-bearing-double-row-bore-70mm-0010-to-0020-radial-clearance-nn3014m2kc9nap4>: HTTP status code is not handled or not allowed 2026-01-27 19:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-x-back-airflow153-womens-long-sleeve-shirt-class-3-xl-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-3s2448-1r-b-3-sided-steel-mesh-service-truck-48x24-1-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visavis-weterase-overhead-transparency-marker-fine-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 19:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frixion-light-erasable-highlighter-chisel-tip-orangepinkyellow-ink-3pack>: HTTP status code is not handled or not allowed 2026-01-27 19:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sarasa-gel-retractable-pen-fine-05mm-blue-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 19:14:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rsvp-ballpoint-retractable-pen-refillable-medium-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 19:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-womens-short-sleeve-t-shirt-class-2-xl-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-002204-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f301-ballpoint-retractable-pen-stainless-steel-barrel-07mm-black-ink>: HTTP status code is not handled or not allowed 2026-01-27 19:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-dr7477s-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-grade-hand-pump-ez-55o-orange-strap>: HTTP status code is not handled or not allowed 2026-01-27 19:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-dr7497s-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technologies-motorized-platform-truck-mpc-1772-355230-3000-lb-cap-52-x-34-1-2>: HTTP status code is not handled or not allowed 2026-01-27 19:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-wep-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-duty-no-bump-dump-hopper-steel-2-cu-yd-4000-lb-capacity-soda-red>: HTTP status code is not handled or not allowed 2026-01-27 19:14:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-27 19:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elsar-23064-emergency-light-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ans25mdr-25-watt-audio-notification-panel-red>: HTTP status code is not handled or not allowed 2026-01-27 19:14:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_grinder/die_grinders/corded_die_grinders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:14:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 19:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siltron-em50-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperlite-extension-ladder-w-cable-hooks-ratchet-leveler-32-type-iaa-375-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-cage-platform-ladder-w-wheels-8-type-iaa-8-step-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/438d-6n5-vibrating-fire-alarm-bell-6-120-v-60-hz-diode>: HTTP status code is not handled or not allowed 2026-01-27 19:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x3-8-dralon-woven-mini-roller-w-14-frame-12-case-614-wv038>: HTTP status code is not handled or not allowed 2026-01-27 19:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2459-smb-w-surface-mount-box-white>: HTTP status code is not handled or not allowed 2026-01-27 19:14:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/power_grinder/die_grinders/corded_die_grinders landed on page that is not a product page. 2026-01-27 19:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rex-articulated-extendable-ladder-aluminum-4-type-iaa-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/johnlite-2938-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-r6c-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-12v-5ah-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atlite-241002-6v-45ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-nitrile-gloves-powder-free-5-mil-thickness-xx-large-black-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-bin-front-42-inch-w-x-3-inch-h-marine-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a51255a-12v-55ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 6072 pages (at 94 pages/min), scraped 2985 items (at 50 items/min) 2026-01-27 19:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k1800-8-drawer-roller-cabinet-27w-x-18d-x-39h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-12v-18ah-12v-18ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technacell-ep666-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k1800-15-drawer-roller-cabinet-39-38w-x-18d-x-39h-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2000-5-drawer-roller-cabinet-29w-x-20d-x-34-1516h-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-2tc6s50-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-djw610-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enersys-np2412bfr-12v-26ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b1f20-faucet-water-supply-connector-20l>: HTTP status code is not handled or not allowed 2026-01-27 19:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/johnlite-9266ns-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firstpower-fp645-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interstate-6v-14ah-6v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-single-door-panel-class-a-4w-x-12h-white>: HTTP status code is not handled or not allowed 2026-01-27 19:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astral-octagon-umbrella-w-centerpost-sunbrella-awning-196w-x-196d-x-110h-parchment>: HTTP status code is not handled or not allowed 2026-01-27 19:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/memphis-174-clute-pattern-leather-palm-gloves-with-knit-wrist-size-l-1-dozen>: HTTP status code is not handled or not allowed 2026-01-27 19:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13052-40-series-self-aligning-slidein-tnut-wball-spring>: HTTP status code is not handled or not allowed 2026-01-27 19:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm010ld-sd-fg-10-ner-food-grade-hoist-with-motorized-trolley-1-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-dr7375sg-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm112di-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3898-rollin-tnut-wset-screw>: HTTP status code is not handled or not allowed 2026-01-27 19:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5425-single-shaft-predrilled-mounting-plate-1>: HTTP status code is not handled or not allowed 2026-01-27 19:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-jacket-v-neck-knit-cuff-light-blue-small>: HTTP status code is not handled or not allowed 2026-01-27 19:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-light-blue-small>: HTTP status code is not handled or not allowed 2026-01-27 19:15:18 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 19:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-black-x-small>: HTTP status code is not handled or not allowed 2026-01-27 19:15:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/medical_supply_carts/medical_storage_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:15:19 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:3 2026-01-27 19:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-70930s-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-120897-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concealite-30202-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-watt-pure-sine-inverter-charger-picoglf40w12v120v>: HTTP status code is not handled or not allowed 2026-01-27 19:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-watt-inverter-charger-split-phase-120-240vac-picoglf40w12v230vs>: HTTP status code is not handled or not allowed 2026-01-27 19:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/medical_supply_carts/medical_storage_carts>: HTTP status code is not handled or not allowed 2026-01-27 19:15:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/test_indicators_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prescolite-12-829-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13182-dropin-hammer-nut>: HTTP status code is not handled or not allowed 2026-01-27 19:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/johnlite-12-volt-75-ah-battery-12v-75ah-spotlight-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4117-4-hole-joining-strip>: HTTP status code is not handled or not allowed 2026-01-27 19:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5920-double-horizontal-base-1>: HTTP status code is not handled or not allowed 2026-01-27 19:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exit-only-traffic-sign-egp-reflective-aluminum-18-x-18-blackwhite>: HTTP status code is not handled or not allowed 2026-01-27 19:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner010s-15-ner-electric-hoist-hook-suspension-1-ton-15-lift-28-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-27 19:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/measurement_layout_tools/test_indicators_holders>: HTTP status code is not handled or not allowed 2026-01-27 19:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ups-pick-up-delivery-location-sign-aluminum-10-x-14-blackwhite>: HTTP status code is not handled or not allowed 2026-01-27 19:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mojo-remote-control-hw1011-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-contoured-full-zip-hooded-sweatshirt-class-3-xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-handicapped-traffic-safety-sign-egp-aluminum-24-x-24-whiteblue>: HTTP status code is not handled or not allowed 2026-01-27 19:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standing-pilot-gas-valve-24v-three-quarter-x-three-quarter-36c03-400>: HTTP status code is not handled or not allowed 2026-01-27 19:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laverda-gts-750cc-motorcycle-replacement-battery-1947-2004-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrong-way-bicycle-traffic-safety-sign-hip-aluminum-18-x-12-whitered>: HTTP status code is not handled or not allowed 2026-01-27 19:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm-en250f-250cc-motorcycle-replacement-battery-2004-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm-en450f-450cc-motorcycle-replacement-battery-2004-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/betamotor-eikon-150cc-motorcycle-replacement-battery-2000-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-storage-cabinet-with-expanded-metal-door-assembled-36x18x78-black-270021BK>: HTTP status code is not handled or not allowed 2026-01-27 19:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp020c-15-ner-electric-chain-hoist-push-trolley-2-ton-15-lift-7-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-27 19:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7315bmuc3-angular-contact-ball-bearing-flush-ground-75mm-bore-x-160mm-od-x-37mm-w>: HTTP status code is not handled or not allowed 2026-01-27 19:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7043-cut-resistant-gloves-nitrile-coated-ansi-a4-l-gray-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 19:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husqvarna-smr-450cc-motorcycle-replacement-battery-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp020s-15-ner-electric-chain-hoist-push-trolley-2-ton-15-lift-28-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-27 19:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp025s-20-ner-electric-hoist-push-trolley-2-12-ton-20-lift-22-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-27 19:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ft-one153-full-body-3d-belted-harness-quick-connect-chest--tongue-buckle-legs-s>: HTTP status code is not handled or not allowed 2026-01-27 19:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-only-label-w-recycle-sign-plastic-5-x-7>: HTTP status code is not handled or not allowed 2026-01-27 19:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al100-hand-chain-hoist-aluminum-1-12-ton-capacity-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 19:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electra-voy-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-stationary-instrument-table-48-x-30-shelf--backsplash-hydraulic-adj-height>: HTTP status code is not handled or not allowed 2026-01-27 19:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sner005l-20-sner-electric-hoist-hook-suspension-12-ton-20-lift-7-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-27 19:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 6170 pages (at 98 pages/min), scraped 3022 items (at 37 items/min) 2026-01-27 19:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-lifter-top-chine-15-23-dia-rimmed-steel-fiber-or-poly-1000lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-lifting-hook-spark-resistant-1000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-channel-fixed-volume-pipettor-71212122-50ul-volume>: HTTP status code is not handled or not allowed 2026-01-27 19:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-charging-cable-global-industrial-153-portable-power-station-812541>: HTTP status code is not handled or not allowed 2026-01-27 19:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-channel-variable-pipettor-71211109-20-200ul-volume-range>: HTTP status code is not handled or not allowed 2026-01-27 19:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kb-unit-heater-with-bracket-thermostat-5-kw-480v-1-or-3-phase>: HTTP status code is not handled or not allowed 2026-01-27 19:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-series-utility-pump-house-heater-with-thermostat-500125w-240120v-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceramic-rectangular-base-magnets-hmks-d-with-knob-40-lbs-pull-blue-powder-coat>: HTTP status code is not handled or not allowed 2026-01-27 19:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linen-business-paper-8-1-2-inch-x-11-inch-24-lb-linen-white-100-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-tape-individual-strips-with-adhesive-75l-x-34w-white>: HTTP status code is not handled or not allowed 2026-01-27 19:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astrobrights-card-stock-paper-8-1-2-inch-x-11-inch-lunar-blue-250-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loop-tape-individual-dots-with-adhesive-78l-x-78w-white-pack-of-900>: HTTP status code is not handled or not allowed 2026-01-27 19:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-adrenaline-600-ho-sdi-597cc-snowmobile-replacement-battery-2008-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sticky-mat-refill-sheets-white-30-sheets-pad-10-case-sm-white>: HTTP status code is not handled or not allowed 2026-01-27 19:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belkin-residential-gatewaybackup-rev-b-ups-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laerdal-art-1000-training-battery-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laerdal-artstart-training-battery-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snugboot-workpro-full-safety-knee-boots-cleated-outsole-composite-toe-size-8-16h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ferno-ille-125-128-129-lift-chair-medical-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-knee-boots-safety-loc-outsole-plain-toe-size-14-16h-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-outlander-xl-exterior-stairlift-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-colored-tabs-presentation-divider-print-on-85x11-5-tabs-5-sets-white-multicolor>: HTTP status code is not handled or not allowed 2026-01-27 19:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loop-tape-individual-dots-with-adhesive-34l-x-34w-white-pack-of-1028>: HTTP status code is not handled or not allowed 2026-01-27 19:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onestep-printable-toc-divider-printed-a-to-z-9x11-26-tabs-white-white>: HTTP status code is not handled or not allowed 2026-01-27 19:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-top-basket-54-l-x-22-w-for-h-racks-r40-r41-metal-chrome>: HTTP status code is not handled or not allowed 2026-01-27 19:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-aluminum-gantry-crane-2000-lb-capacity-8w-x-8-1116h>: HTTP status code is not handled or not allowed 2026-01-27 19:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worksaver-five-tab-pocket-index-5-tabs-white-multicolor>: HTTP status code is not handled or not allowed 2026-01-27 19:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cream-manila-drawing-paper-50-lbs-12-x-18-500-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-14d-x-74h-with-35-ssb441-stackable-shelf-bins-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:16:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/waterproof_equipment_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-compartment-drawer-organizer-plastic-tray-16-3-4l-x-2-1-4w-x-12-3-4h>: HTTP status code is not handled or not allowed 2026-01-27 19:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optiway-technology-2000-mini-u1-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bare-ground-clamp-direct-burial-bronze-1-14-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/go-go-travel-mobility-elite-traveller-plus-hd-wheelchair-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sweatshirt-hi-vis-lime-medium>: HTTP status code is not handled or not allowed 2026-01-27 19:16:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/waterproof_equipment_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-hanger-w-hex-nut-and-bolt-carbon-steel-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lb-style-threaded-conduit-body-w-cover-and-gasket-1-12-size>: HTTP status code is not handled or not allowed 2026-01-27 19:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/950-0007-950-case-228l-x-183w-x-117h-graphite>: HTTP status code is not handled or not allowed 2026-01-27 19:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickie-targa-16-inch-22nf-agm-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/waterproof_equipment_cases>: HTTP status code is not handled or not allowed 2026-01-27 19:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/950-1003-950-case-w-foam-228l-x-183w-x-117h-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickie-targa-18-inch-22nf-agm-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-electric-aea-200e-aea-200le-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-way-group-bw-12750-it-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:16:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/waterproof_equipment_cases landed on page that is not a product page. 2026-01-27 19:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-screw-hex-nut-grade-2-carbon-steel-12-24-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmx-iiia-flame-resistant-premium-coverall-cnb2-navy-45-oz-size-52-long>: HTTP status code is not handled or not allowed 2026-01-27 19:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-dress-uniform-shirt-slu2-khaki-size-l-long>: HTTP status code is not handled or not allowed 2026-01-27 19:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 6268 pages (at 98 pages/min), scraped 3073 items (at 51 items/min) 2026-01-27 19:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-recycling-container-with-combo-opening36-gallon-capacity-blue-261625BL>: HTTP status code is not handled or not allowed 2026-01-27 19:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dwa-dcs391p1-20v-max-6-12-circular-saw-kit-50-ah>: HTTP status code is not handled or not allowed 2026-01-27 19:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smrtvrmt-handheld-ir-remote-for-smrtv60240-control>: HTTP status code is not handled or not allowed 2026-01-27 19:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-thread-coupling-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-cat-basic-14-inch-or-less-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-95-62-190-sba-wire-rope-cutters-comfort-grip-7-12-oal>: HTTP status code is not handled or not allowed 2026-01-27 19:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-71-21-200-sba-angeled-high-leverage-cobolt-bolt-cutters-8-oal>: HTTP status code is not handled or not allowed 2026-01-27 19:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/howard-price-maverick-620-lawn-and-garden-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobcat-by-textron-zt-227-efi-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1801-standard-class-2-5point-breakaway-vest-lime-large>: HTTP status code is not handled or not allowed 2026-01-27 19:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-8-32-x-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5506-class-3-standard-moisture-wicking-tshirt-with-chest-pocket-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-27 19:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worksurface-4-brushed-16-gage-wrapped-and-polished-corners-pb-core-72-inch-w-x-36-inch-d-x-1-1-2-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 19:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-m84001a5120160g5-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:17:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/conduit_fishing_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oval-head-wall-plate-screw-slotted-brown-6-32-x-516-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-drop-in-anchor-carbon-steel-38-16-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vexilar-edge2-fishinglocator-fish-finder-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-in-knockout-seal-carbon-steel-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perf-24-w-14-step-stl-roll-lad-14-d-top-stp-hndrl-lck-orng-fs144014po>: HTTP status code is not handled or not allowed 2026-01-27 19:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-100-001-137-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-grade-5-carbon-steel-12-13-x-4-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-outlander-max-500-efi-500cc-atv-replacement-battery-2011-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96h-x-48w-slatwall-panelblack-laminate-without-inserts-968340B>: HTTP status code is not handled or not allowed 2026-01-27 19:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/conduit_fishing_tools>: HTTP status code is not handled or not allowed 2026-01-27 19:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48h-x-48w-slatwall-panelgray-laminate-without-inserts-968338G>: HTTP status code is not handled or not allowed 2026-01-27 19:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-grade-5-carbon-steel-38-16-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-bellman-cart-bcf107ss-straight-uprights-gray-carpet-gray-bumper>: HTTP status code is not handled or not allowed 2026-01-27 19:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ehvm1hg-mp3-smart-alert-user-programmable-off-white-dc12v-to-dc24v>: HTTP status code is not handled or not allowed 2026-01-27 19:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardboard-clipboard-9-x-12-1-2-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-insulated-liquid-tight-connector-zinc-die-cast-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-insulated-liquid-tight-connector-zinc-die-cast-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-book-record-ruled-7-1-4-x-12-1-4-granite-cover-300-pages-pad>: HTTP status code is not handled or not allowed 2026-01-27 19:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-uss-carbon-steel-0-516-id-0-34-od-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-phillips-brass-8-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/clipboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs206201l-cast-iron-right-angle-worm-gear-reducer-201-ratio>: HTTP status code is not handled or not allowed 2026-01-27 19:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bands-size-33-3-1-2-x-1-8-natural-1-lb-box>: HTTP status code is not handled or not allowed 2026-01-27 19:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bands-size-32-3x-1-8-natural-1-lb-box>: HTTP status code is not handled or not allowed 2026-01-27 19:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-silicon-bronze-0-316-id-0-916-od-10-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-phillipsslotted-hex-washer-head-6-x-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf20651h56c-cast-iron-right-angle-worm-gear-reducer-51-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/through-hardened-flat-washer-steel-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/clipboards>: HTTP status code is not handled or not allowed 2026-01-27 19:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-phillipsslotted-hex-washer-head-12-x-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf325601de145tc-cast-iron-right-angle-worm-gear-reducer-601-ratio-145t-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads>: HTTP status code is not handled or not allowed 2026-01-27 19:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-heavy-duty-staples-3-8-leg-length-100-per-strip-1000-box>: HTTP status code is not handled or not allowed 2026-01-27 19:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf325301l1824tc-cast-iron-right-angle-worm-gear-reducer-301-ratio-1824t-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bands-7-x-1-8-red-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-pegaso-strada-factory-trail-650cc-motorcycle-battery-2005-2012-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:17:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bourget-bike-works-shredder-1900cc-motorcycle-replacement-battery-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 6363 pages (at 95 pages/min), scraped 3118 items (at 45 items/min) 2026-01-27 19:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-thunderbird-lt-1700cc-motorcycle-replacement-battery-2014-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-low-carbon-steel-14-20-x-5-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-low-carbon-steel-38-16-x-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands>: HTTP status code is not handled or not allowed 2026-01-27 19:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/victory-v92c-deluxe-cruiser-1507cc-motorcycle-replacement-battery-1998-2004-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f71ey10000000003-victor-wall-mount-control-station-yellow-1-hole-momentary-estop>: HTTP status code is not handled or not allowed 2026-01-27 19:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-rsv-1000-mille-r-1000cc-motorcycle-replacement-battery-2001-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f71gy10020000001-victor-wall-mount-control-station-yellow-3-hole-estop-2-function>: HTTP status code is not handled or not allowed 2026-01-27 19:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-lag-screw-carbon-steel-516-x-6-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-low-rider-107-fxlr-1750cc-motorcycle-replacement-battery-2018-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pr-48-two-tone-waterproof-rain-coat-ansi-class-3-lime-black-size-5x>: HTTP status code is not handled or not allowed 2026-01-27 19:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-281sp-pin-handle-hand-truck-semi-pneumatic-500-lb>: HTTP status code is not handled or not allowed 2026-01-27 19:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-super-jet-sj700bm-700cc-personal-watercraft-battery-2009-2014-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-professional-series-popcorn-machine-stand-6-oz-8-oz-19-3-4w-32d-14h>: HTTP status code is not handled or not allowed 2026-01-27 19:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jh750-xi-750cc-personal-watercraft-battery-1992-1999-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jh750-b3-750cc-personal-watercraft-battery-1993-1995-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22212exw33kc3-60mm-bore-110mm-od-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-27 19:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mid-calf-knee-boots-chevron-plus-outsole-composite-safety-toe-size-7-10h-bluered>: HTTP status code is not handled or not allowed 2026-01-27 19:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22308exw33kc3-40mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-27 19:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22317exw33c3-85mm-bore-180mm-od>: HTTP status code is not handled or not allowed 2026-01-27 19:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-24038ew33c3-190mm-bore-290mm-od>: HTTP status code is not handled or not allowed 2026-01-27 19:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jacket-5-channel-cable-protector-42000-lb-capacity-20-x-50-x-1-78-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1505-lowprofile-weight-lifters-back-support-black-xl>: HTTP status code is not handled or not allowed 2026-01-27 19:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-partition-wall-hanging-basket-48w-x-11-78d-x-7-12h-chrome>: HTTP status code is not handled or not allowed 2026-01-27 19:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6705ct-evaporative-cooling-bandana-with-cooling-towel-tie-camo>: HTTP status code is not handled or not allowed 2026-01-27 19:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu218-90mm-bore-160mm-od>: HTTP status code is not handled or not allowed 2026-01-27 19:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-skipper-125-125cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thoratec-laboratories-cs600x-mobility-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenline-es-500-miniharley-electric-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-safety-cabinet-w-rollers-self-close-double-door-55-gal-cap-34w-x-34d-x-65h>: HTTP status code is not handled or not allowed 2026-01-27 19:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-bi-fold-self-close-single-door-90-gal-cap-43w-x-34d-x-65h>: HTTP status code is not handled or not allowed 2026-01-27 19:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub12180-replaces-17ah-mobility-scooter-battery-18ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-starter-osk73-1542-5-42-inch-w-x-15-inch-d-x-73-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/headlight-rh-led-for-global-industrial-utility-vehicle-615162>: HTTP status code is not handled or not allowed 2026-01-27 19:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-research-galaxy-starlight-3-mobility-scooter-replacement-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-starter-24w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 19:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-x-5-1-2-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-27 19:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/para-systems-sx-electric-bicycle-mobility-scooter-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-esd-wire-shelving-unit-starter-72w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 19:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-x-5-1-2-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-27 19:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-304-stainless-steel-90-degree-street-elbow-mnpt-x-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-27 19:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-starter-42w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 19:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-deluxe-cycle-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-starter-ost87-3648-5-48-inch-w-x-36-inch-d-x-87-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 6460 pages (at 97 pages/min), scraped 3171 items (at 53 items/min) 2026-01-27 19:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-bearcat-7000-xt-gs-1050cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-chrome-wire-shelving-unit-add-on-72w-x-12d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 19:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss62022rs-deep-groove-ball-bearing-stainless-steel-double-sealed-od-35mm-bore-15mmmetric>: HTTP status code is not handled or not allowed 2026-01-27 19:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-24w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 19:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-add-on-30w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 19:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-add-on-60w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 19:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-poly-bags-24-x-36-8-mil-clear-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-gtx-550f-550cc-snowmobile-replacement-battery-2005-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-add-on-60w-x-36d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 19:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/certificate-holder-25-x-8-1-2-black-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-summit-adrenaline-600ho-sdi-597cc-snowmobile-battery-2007-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/literature-mailers-12-x-9-x-2-200lb-test-ect-32-white-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-circles-removable-labels-white-500-per-roll>: HTTP status code is not handled or not allowed 2026-01-27 19:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-60w-x-30d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 19:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-renegade-adrenaline-800r-800cc-snowmobile-battery-2014-2016-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardware-bags-8-1-4-x-5-1-4-x-18-kraft-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-expedition-sport-600-ace-600cc-snowmobile-battery-2011-2017-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-54w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 19:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/135-round-radio-controlled-wall-clock-plastic-case-black>: HTTP status code is not handled or not allowed 2026-01-27 19:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/money-receipt-book-3-part-carbonless-2-3-4-x-6-7-8-200-sets-book>: HTTP status code is not handled or not allowed 2026-01-27 19:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-gsx-le-1200-1170cc-snowmobile-replacement-battery-2014-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uvex-genesis-half-frame-safety-glasses-anti-scratch-clear-ultra-dura-lens-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-aircore-stretchable-harness-w-back-hip-d-rings-quick-connect-universal-green>: HTTP status code is not handled or not allowed 2026-01-27 19:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36w-square-pedestal-table-with-grey-nebula-top-round-silver-base-bistro-height>: HTTP status code is not handled or not allowed 2026-01-27 19:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-purple-spring-for-stainless-steel-pallet-carousel-988940>: HTTP status code is not handled or not allowed 2026-01-27 19:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-frame-with-drywall-afterset-curries-hinge-location-left-hand-36w-x-80h>: HTTP status code is not handled or not allowed 2026-01-27 19:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-skandic-wt-ace-600-600cc-snowmobile-replacement-battery-2011-2018-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-gsx-600-ho-sdi-593cc-snowmobile-replacement-battery-2004-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-921215720-double-tier-12-x-15-x-36-1-wide-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 19:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rs10-rs-venture-tf-1049cc-snowmobile-replacement-battery-2013-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-bearcat-widetrack-turbo-articulating-snowmobile-battery-2006-2008-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-blizzard-800-ho-ptek-800cc-snowmobile-replacement-battery-2007-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safetypro-335-belt-barrier-40-red-post-35-redwhite-stripe-belt-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 19:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-skandic-suv-550f-550cc-snowmobile-replacement-battery-2005-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-x-e-tec-800r-800cc-snowmobile-replacement-battery-2011-2016-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-730-2-piece-full-port-ball-valve-carbon-steel-1-12-threaded>: HTTP status code is not handled or not allowed 2026-01-27 19:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-hardened-tang-morse-taper-sleeve-2-3>: HTTP status code is not handled or not allowed 2026-01-27 19:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y566-215thts8038-10hp-230-460v-1800rpm-3ph-215tc-tenv>: HTTP status code is not handled or not allowed 2026-01-27 19:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-710-1-piece-conventional-port-ball-valve-stainless-steel-34-threaded>: HTTP status code is not handled or not allowed 2026-01-27 19:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-physicianscare-antacid-50-x-2-box>: HTTP status code is not handled or not allowed 2026-01-27 19:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-nitrile-exam-gloves-4-box>: HTTP status code is not handled or not allowed 2026-01-27 19:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 6560 pages (at 100 pages/min), scraped 3230 items (at 59 items/min) 2026-01-27 19:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-argos-3-horizontal-rifle-rack-ws-6104-ws23-battleship-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baxter-healthcare-0007mczz-medical-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-w-series-18-double-impulse-foot-sealer-w-5mm-seal>: HTTP status code is not handled or not allowed 2026-01-27 19:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cell-phone-locker-with-access-panel-19158-20ask-surface-mounted-keyed-locks-20-a-doors-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 19:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-diamondcord-3-8-entrance-charcoal-cord-3-x-16>: HTTP status code is not handled or not allowed 2026-01-27 19:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-cg12-17xa-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apex-battery-apx1270f1-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-channel-sign-post-6l-2-lbsft-galvanized-post-with-holes-top-to-bottom>: HTTP status code is not handled or not allowed 2026-01-27 19:20:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g576-056c11f5303-1-3hp-1200rpm-115-208-230v-1ph-56c-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-27 19:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apex-battery-apx12100s-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yuasa-npx25-250fr-sealed-lead-acid-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coopower-cpd12-24-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epact-efficiency-motor-u733-1-1-2hp-3600rpm-230-460v-3ph-143tc-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-27 19:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-classic-black-bottom-t-shirt-with-pocket-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-27 19:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hp-series-high-pressure-heat-exchanger-unit-heater-16-fan-size-120v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 19:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gal-open-top-wastebasket-sat-alum-new-yorker-collection-1523-sa>: HTTP status code is not handled or not allowed 2026-01-27 19:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-step-floor-restorer-lemon-scent-1-gallon-capacity-bottle-4carton>: HTTP status code is not handled or not allowed 2026-01-27 19:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-hg706-5kh37pna569t-1-3-1-8hp-1725-1140rpm-115v-split-ph-56z-fr>: HTTP status code is not handled or not allowed 2026-01-27 19:20:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems landed on page that is not a product page. 2026-01-27 19:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-burner-motor-o011-48c34d2028-1-2hp-3600rpm-115-208-230v-1ph-48nz-dp>: HTTP status code is not handled or not allowed 2026-01-27 19:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orange-traffic-cone-mount-retracting-belt-barrier-10-yellowblack-stripe-belt>: HTTP status code is not handled or not allowed 2026-01-27 19:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2048-2-switch-receptacle-box-2-gang-125v-15a-4-34l>: HTTP status code is not handled or not allowed 2026-01-27 19:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yuasa-np7-5-12-250fr-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lc-x1220p-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wtc-2d-3048-ll-48w-x-30d-work-center-cabinet-with-butcher-block-top>: HTTP status code is not handled or not allowed 2026-01-27 19:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duracell-durhr12-370-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-piller-technology-deluxe-power-chair-22nf-agm-12v-55ah-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironguard-steel-faced-dock-bumper-22-6006-26-w-x-5-1-4-d-x-10-h>: HTTP status code is not handled or not allowed 2026-01-27 19:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-candy-individually-wrapped-465-oz-240box>: HTTP status code is not handled or not allowed 2026-01-27 19:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thirst-quencher-mix-pouch-fruit-punch-21-oz>: HTTP status code is not handled or not allowed 2026-01-27 19:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnyway-sw1240-ii-sealed-lead-acid-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eaglepicher-cf-18-c-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-electric-big-40d-40g-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartcut-easyblade-plus-trimmer-replacement-cartridge>: HTTP status code is not handled or not allowed 2026-01-27 19:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-60w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 19:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-48w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 19:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-gallon-2-door-self-close-fume-hood-acid-cabinet-30x21-5-8x35-3-4-lgt-neutral>: HTTP status code is not handled or not allowed 2026-01-27 19:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-atm-take-along-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-72w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 19:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orthofab-lifestyles-vip-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-48w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 19:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-82706sb1-duratech-6-compact-web-srd-with-steel-carabiner-and-snap-hook>: HTTP status code is not handled or not allowed 2026-01-27 19:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 6656 pages (at 96 pages/min), scraped 3284 items (at 54 items/min) 2026-01-27 19:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-chartholder-9w-x-12-1-4h-silver>: HTTP status code is not handled or not allowed 2026-01-27 19:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-48w-x-36d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 19:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-add-on-30w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 19:21:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-lynx-sx-3p-patriot-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-clipper-2010-35i352i392ah-lawn-and-garden-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-wing-free-air-fan-blade-1-2-inch-interchangeable-hub-alum-blade-ccw-20-inch-dia-20-pitch>: HTTP status code is not handled or not allowed 2026-01-27 19:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-galvanized-steel-solid-shelving-unit-add-on-42w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 19:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acl-f-60x24-combination-louver-damper-with-flange-60wx24h>: HTTP status code is not handled or not allowed 2026-01-27 19:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-galvanized-steel-solid-shelving-unit-starter-48w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 19:21:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-magnetic-clips-for-psz-slm-portable-safety-zone-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-h2se12s20-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves>: HTTP status code is not handled or not allowed 2026-01-27 19:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-3-shelf-vented-plastic-mat-shelving-unit-starter-54w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 19:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/902-097-7-pc-security-torx-screwdriver-set>: HTTP status code is not handled or not allowed 2026-01-27 19:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300-005-crimper-ratcheted-awg-20-18-16-14-12-10-non-insulated-open-barrel-terminals>: HTTP status code is not handled or not allowed 2026-01-27 19:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-suites-monitor-riser>: HTTP status code is not handled or not allowed 2026-01-27 19:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 19:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-h2lt6s20-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-multiplier-pipe-reaction-anchor-34-drive-1000-ftlb-2-716l>: HTTP status code is not handled or not allowed 2026-01-27 19:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotisserie-accessory-for-15ml-x-16-centrifuge-tubes-vertical-18900146>: HTTP status code is not handled or not allowed 2026-01-27 19:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tc-tape-cartridges-1-2w-black-on-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/continuous-length-shipping-label-tape-for-ql-1050-4in-x-100ft-roll-white>: HTTP status code is not handled or not allowed 2026-01-27 19:21:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tc-tape-cartridge-3-8w-black-on-white>: HTTP status code is not handled or not allowed 2026-01-27 19:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-front-for-clip-type-shelving-1-1-2-inch-h-x-36-inch-w-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-high-cap-boltless-shelving-steel-deck-add-on-36-in-w-x-24-in-d-x-96-in-h>: HTTP status code is not handled or not allowed 2026-01-27 19:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-gs-pe1-3f1-emergency-light-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl10000-corner-l-steel-desk-right-hand-return-66-x-72-charcoal-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 19:21:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes landed on page that is not a product page. 2026-01-27 19:21:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/york-wide-light-d2e2c-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-18ah-retrofit-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballistic-blanket-level-iii-a-jumbo-48l-x-72w-black>: HTTP status code is not handled or not allowed 2026-01-27 19:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2d-black-protective-corner-type-e-black-60-6785>: HTTP status code is not handled or not allowed 2026-01-27 19:21:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/reach_in_refrigerators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/national-power-gt090s3-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wirecraftersrackback-wire-mesh-pallet-rack-enclosure-hinged-door-144x96-797139>: HTTP status code is not handled or not allowed 2026-01-27 19:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters>: HTTP status code is not handled or not allowed 2026-01-27 19:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakers-z150-mltmd-bk>: HTTP status code is not handled or not allowed 2026-01-27 19:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-60inw-x-24ind-x-96inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-27 19:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-70-f-red-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-27 19:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-80-f-red-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-27 19:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vexilar-underwater-fish-scout-fsdv01dt-fish-finder-battery-7ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awsw-partition-70x7-f-navy-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regenerative-blower-ab-400-3-phase-1-stage-35-hp>: HTTP status code is not handled or not allowed 2026-01-27 19:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-monitor-gauge-ab-12000>: HTTP status code is not handled or not allowed 2026-01-27 19:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-48inw-x-18ind-x-60inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-27 19:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rd-6x196-f-cloud-gray-room-divider>: HTTP status code is not handled or not allowed 2026-01-27 19:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-48inw-x-24ind-x-96inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-27 19:21:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/reach_in_refrigerators landed on page that is not a product page. 2026-01-27 19:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-88-f-ocean-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-27 19:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 6750 pages (at 94 pages/min), scraped 3330 items (at 46 items/min) 2026-01-27 19:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wildgameinnovations-th-350dfeeder-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 19:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-shelf-heavy-duty-boltless-shelving-add-on-36in-w-x-12in-d-x-60in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-12in-d-x-60in-h>: HTTP status code is not handled or not allowed 2026-01-27 19:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wine-bottle-rack91-bottle-48-x-14-x-34-797148>: HTTP status code is not handled or not allowed 2026-01-27 19:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motion-madness-mallard-hen-peck-and-sweep-feeder-decoy-battery-7ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-superglide-fxef-1340cc-motorcycle-battery-1979-1985-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hwbmt-367224-95-extra-heavy-duty-machine-table-with-top-shelf-only-72w-x-36d-x-24h>: HTTP status code is not handled or not allowed 2026-01-27 19:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f20-face-shield-window-polycarb-8l-x-15-12w-116-thick-clear-pk-of-36>: HTTP status code is not handled or not allowed 2026-01-27 19:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-twin-leg-arc-flash-self-retracting-lifeline-web--aluminum-rebar-hook-8l>: HTTP status code is not handled or not allowed 2026-01-27 19:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/915-case-15-3-8l-x-12-1-8w-x-6-13-16h-graphite>: HTTP status code is not handled or not allowed 2026-01-27 19:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-non-para-toilet-bowl-rim-hanger-cherry-12-hangers-case>: HTTP status code is not handled or not allowed 2026-01-27 19:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husaberg-fe650e-650cc-motorcycle-replacement-battery-2003-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-enclosed-shop-desk-with-locking-door--drawer-24w-x-22d-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/victory-magnum-1731cc-motorcycle-replacement-battery-2015-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-cvo-softail-flstse2-1803cc-motorcycle-battery-2011-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-2-station-with-metering-faucet-round-tubes-72l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-27 19:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-hand-sink-1-station-with-lever-faucet-wall-mount-20l-x-19w-x-5-12d-sink>: HTTP status code is not handled or not allowed 2026-01-27 19:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-vx-cruiser-vx1100bm-deluxe-1052cc-watercraft-battery-2009-2014-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/286960000-graduated-cylinder-tpx-polymethylpentene-1000ml>: HTTP status code is not handled or not allowed 2026-01-27 19:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-fat-boy-flstfi-1450cc-motorcycle-battery-2001-2006-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-kz1000-j-1000cc-motorcycle-replacement-battery-1981-1983-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suzuki-dr650se-cn-650cc-motorcycle-replacement-battery-1996-1997-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:22:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/personal_watercraft_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indian-roadmaster-1819cc-motorcycle-replacement-battery-2014-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-flush-door-with-212-yellow-bins-16-ga-all-welded-cabinet-72-w-x-24-d-x-84-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/118160011-wash-bottle-ldpe-500ml-methanol-4-pk-green-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-flush-door-with-264-blue-bins-16-ga-all-welded-cabinet-72-w-x-24-d-x-84-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-1702-class-2-heavy-duty-safety-vest-orange-4xl>: HTTP status code is not handled or not allowed 2026-01-27 19:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/503-0277-00-blank-foam-inserts-2>: HTTP status code is not handled or not allowed 2026-01-27 19:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/503-0282-00-large-sample-set-model-h302>: HTTP status code is not handled or not allowed 2026-01-27 19:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-heavy-duty-workbench-72w-x-30d-x-36h-3600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/personal_watercraft_batteries>: HTTP status code is not handled or not allowed 2026-01-27 19:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/navigator-5153-expandable-insulated-overboots-threaded-outsole-xs-15h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-roughneck-jumbo-hinged-tote-50-gallon-gray-270148>: HTTP status code is not handled or not allowed 2026-01-27 19:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-cl1385u-4-1-2dia-x-52h-brown-w-white-tape>: HTTP status code is not handled or not allowed 2026-01-27 19:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-pocketrocket-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 19:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-bar-htgrd796yw-7dia-x-96l-yellow-w-white-tape-graphics>: HTTP status code is not handled or not allowed 2026-01-27 19:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motofino-mf150qt-21-150cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schwinn-xcel-x-cel-electric-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264-91m-spin-on-oil-filter-replacement-element-only-less-top>: HTTP status code is not handled or not allowed 2026-01-27 19:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-legend-sc3000-sc3400-mobility-scooter-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-2-inch-diameter-star-knob-with-3-8-16-thread-cast-iron>: HTTP status code is not handled or not allowed 2026-01-27 19:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daytona-3-gt-s35006gt-electric-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 19:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-48w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-reach-drawer-for-beverage-case-container-ul-app-bullet-resistant-faceplate>: HTTP status code is not handled or not allowed 2026-01-27 19:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 6847 pages (at 97 pages/min), scraped 3382 items (at 52 items/min) 2026-01-27 19:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-oal-straight-steel-roller-conveyor-19-roller-dia-22-bf-3-axle-center>: HTTP status code is not handled or not allowed 2026-01-27 19:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2ia12-cantilever-rack-inclined-arm-no-lip-12-long>: HTTP status code is not handled or not allowed 2026-01-27 19:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roto-clip-spiral-wire-with-magnetic-base-12l>: HTTP status code is not handled or not allowed 2026-01-27 19:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-72w-x-36d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-24w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-iq-cruiser-euro-750cc-snowmobile-replacement-battery-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 19:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-42w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-drum-spill-containment-platform-1620st-51-1-2-w-x-27-d-x-13-h-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signo-gel-207-roller-ball-retractable-gel-pen-blue-ink-medium-36-box>: HTTP status code is not handled or not allowed 2026-01-27 19:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-60w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-lcup-lw-fits-lift-rite-model-lcu-lcu4w>: HTTP status code is not handled or not allowed 2026-01-27 19:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-formula-si-497cc-snowmobile-replacement-battery-1997-1998-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 19:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-truck-gwk-pe4000-lw-fits-crown-model-pe-4000>: HTTP status code is not handled or not allowed 2026-01-27 19:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-fan-blades-for-global-36-blower-fan-model-258320-600596>: HTTP status code is not handled or not allowed 2026-01-27 19:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-54w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubby-cabinet-cc-66-03-welded-34-1-2w-x-13-1-2d-x-66h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5sbr-ra-ply-tlb-4-5-swivel-casters-with-brake-for-up-to-72-work-benches>: HTTP status code is not handled or not allowed 2026-01-27 19:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-rolling-door-lock-keyed-alike-hdrdl-ka>: HTTP status code is not handled or not allowed 2026-01-27 19:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-tire-lift-lock-keyed-alike-ctll-ka>: HTTP status code is not handled or not allowed 2026-01-27 19:23:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-60w-x-18d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:23:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-3l200-v-belt-3-8-x-20>: HTTP status code is not handled or not allowed 2026-01-27 19:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbide-tip-engraving-cutter-for-computer-engravers-010k>: HTTP status code is not handled or not allowed 2026-01-27 19:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a55-4l570-v-belt-1-2-x-57>: HTTP status code is not handled or not allowed 2026-01-27 19:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-tier-chair-cart>: HTTP status code is not handled or not allowed 2026-01-27 19:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges>: HTTP status code is not handled or not allowed 2026-01-27 19:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a47-4l490-v-belt-1-2-x-49>: HTTP status code is not handled or not allowed 2026-01-27 19:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges>: HTTP status code is not handled or not allowed 2026-01-27 19:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-60w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b42-5l450-v-belt-5-8-x-45>: HTTP status code is not handled or not allowed 2026-01-27 19:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b138-v-belt-5-8-x-141>: HTTP status code is not handled or not allowed 2026-01-27 19:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-60w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-60w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b115-v-belt-5-8-x-118>: HTTP status code is not handled or not allowed 2026-01-27 19:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-60w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:23:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-vhecp4115t-3-phase-50-hp-230-460-volts-1775-rpm-60-hz-tefc-326hp>: HTTP status code is not handled or not allowed 2026-01-27 19:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-8-thick-anti-fatigue-floor-mat-4-x-60-full-roll-brown-fm248720bn>: HTTP status code is not handled or not allowed 2026-01-27 19:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-54w-x-18d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-40x-1000x-portable-dual-light-glass-lens-metal-frame-student-microscope-slide-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-iqcrew-40x-1000x-dual-illumination-microscope-with-slide-prep-kit-book-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 6942 pages (at 95 pages/min), scraped 3439 items (at 57 items/min) 2026-01-27 19:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp83770t-5-3-ph-75-hp-575-v-1765-rpm-tefc-213t-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:23:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-27 19:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-60w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-id-worker-emergency-id-tag-w-data-window-3-x-2-1-2-fits-to-hard-hat-reflective-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-36w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-8482-modular-drawer-cabinet-7-drawers-w-lock-w-o-dividers-30x27x29-1-2-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-30w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-dom-cap-style-dome-hard-hat-hdpe-shell-4-pt-suspension-rachet-adjustment-sky-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-48w-x-18d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-60w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-42w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-208-230-460-v-3-hp-1160-rpm-3-ph-213tc-tefc>: HTTP status code is not handled or not allowed 2026-01-27 19:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-idcswdm3542-3-phase-075-hp-1740-rpm-208-230-460-volts-tenv-56c-fr>: HTTP status code is not handled or not allowed 2026-01-27 19:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-24w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardcap-a1-baseball-style-bump-cap-hdpe-protective-liner-w-adjustable-back-micro-brim-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-48w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loadstar-trailer-tire-and-5-hole-wheel-dm452c-5i-530-12-lrc-6-ply>: HTTP status code is not handled or not allowed 2026-01-27 19:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-460-v-200-hp-1190-rpm-3-ph-449t-tefc>: HTTP status code is not handled or not allowed 2026-01-27 19:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-handling-motor-vebm3558t-5d-3-ph-2-hp-575-v-1755-rpm-tefc-145tc-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maximum-security-square-chain-and-sleeve-12ks-12-x-2-black>: HTTP status code is not handled or not allowed 2026-01-27 19:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp83586t-4-3-ph-2-hp-460-v-3450-rpm-tefc-145t-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-vecp3667t-3-ph-15-hp-208-230-460-v-1170-rpm-tefc-182tc-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dedicated-platform-5-x-500ml-erlenmeyer-flasks>: HTTP status code is not handled or not allowed 2026-01-27 19:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-72wx14dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-32-x-52-x-27mm>: HTTP status code is not handled or not allowed 2026-01-27 19:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-ehm2543t-8-3-ph-50-hp-200-v-1775-rpm-opsb-326t-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-head-plastic-drum-16-gallon-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-phase-motor-l3516tm-2-hp-208-230-volts-1740-rpm-tefc-56hz-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-72wx14dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-30wx18dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-72w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intergral-tach-dc-motor-cdpt3440-075-hp-1750-rpm-tefc-56c-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-075-hp-1750-rpm-3-ph-56c-tenv>: HTTP status code is not handled or not allowed 2026-01-27 19:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-48wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-36w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2500sz-direct-drive-high-speed-zig-zag-sewing-machine>: HTTP status code is not handled or not allowed 2026-01-27 19:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-lock-quickberm-20l-x-12w-x-12h-1795-gallons-28526>: HTTP status code is not handled or not allowed 2026-01-27 19:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-steel-stock-cart-36-x-24-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-54w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:24:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/protective_packaging/packaging_paper_tissue/paper_cushioning already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evap-cooling-bandana-w-cooling-towel-h-l-lime-12576>: HTTP status code is not handled or not allowed 2026-01-27 19:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk-sk2000-seismic-pallet-rack-upright-42-x-240-3-cross-braces-18k-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7040 pages (at 98 pages/min), scraped 3496 items (at 57 items/min) 2026-01-27 19:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-gloves-13-gauge-nylon-shell-nitrile-palm-fingers-tpr-back-red-black-2xl>: HTTP status code is not handled or not allowed 2026-01-27 19:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-serrated-seals-for-extruded-polyester-strap-423101>: HTTP status code is not handled or not allowed 2026-01-27 19:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-bnf-gloves-15-gauge-nylon-nitrile-coated-palm-fingertips-gray-black-s>: HTTP status code is not handled or not allowed 2026-01-27 19:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/protective_packaging/packaging_paper_tissue/paper_cushioning>: HTTP status code is not handled or not allowed 2026-01-27 19:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/encoder-tachometer-mounting-kits-w-o-tach-417709-65-tefc-frames-c210>: HTTP status code is not handled or not allowed 2026-01-27 19:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-hydraulic-hose-3-8-id-10-l-3-8-18-nptf-ch38m>: HTTP status code is not handled or not allowed 2026-01-27 19:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmln7240ar-whistle-belt-clip-twin-pack-for-t400-series>: HTTP status code is not handled or not allowed 2026-01-27 19:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-solid-recycling-lid-w-handle-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/task-chair-w-flip-arm-design-mesh-black>: HTTP status code is not handled or not allowed 2026-01-27 19:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1842-large-sidewinder-1-extension-black>: HTTP status code is not handled or not allowed 2026-01-27 19:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-wdb600-hot-plate-double-burner-commercial-120v>: HTTP status code is not handled or not allowed 2026-01-27 19:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-kraft-paper-dispenser-36-material-width>: HTTP status code is not handled or not allowed 2026-01-27 19:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rubber-band-92-circumference-78-wide-1-per-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-48w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubblefoampoly-disppenser-floor-unit-double-arm-w-slide-cutter-36-material-width-51l>: HTTP status code is not handled or not allowed 2026-01-27 19:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-36w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qsms2402-mini-split-stand-24h-dual-fan-stand>: HTTP status code is not handled or not allowed 2026-01-27 19:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-3l-pipette-mla-micro-dtipper-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-bowls-12-oz-reusable-disposable-125-pack-white>: HTTP status code is not handled or not allowed 2026-01-27 19:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90009-meat-tenderizer-red-6-count>: HTTP status code is not handled or not allowed 2026-01-27 19:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-02-10ml-pipette-ovation-macro10-electronic>: HTTP status code is not handled or not allowed 2026-01-27 19:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urban-6-ft-plastic-picnic-table-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rippled-hot-cups-12-oz-25-pack-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spoons-heavy-medium-weight-plastic-shatter-resistant-1000-carton-black>: HTTP status code is not handled or not allowed 2026-01-27 19:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-board-frosted-72-x-48>: HTTP status code is not handled or not allowed 2026-01-27 19:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6475-cold-storage-thermal-insulated-coverall-2xl-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wasp-ams-kit-3-for-5-channel-wsa-125-kit3-hs>: HTTP status code is not handled or not allowed 2026-01-27 19:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6477-cold-storage-thermal-insulated-bib-overalls-2xl-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecos-liquid-laundry-detergent-lavender-170-oz-bottle-2case-pl937002>: HTTP status code is not handled or not allowed 2026-01-27 19:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-5ml-pipette-tips-ovation-graduated-vistaclear-box-sterile-60-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bcs-electronic-crane-scale-with-remote-10000-lb-capacity-x-5-lb-readability>: HTTP status code is not handled or not allowed 2026-01-27 19:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-412-x-612-x-58-black-rubber-obround-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commute-extended-height-task-chair-low-back-22-14---32-14h-seat-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22005p-22-000-watts-pto-generator-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/130g32-0022-f1-gas-engine-900-series-tiller-blower-log-splitter-horizontal-shaft>: HTTP status code is not handled or not allowed 2026-01-27 19:25:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-multi-purpose-table-with-post-legs--casters-72l-x-24w-x-29h-columbian-walnut>: HTTP status code is not handled or not allowed 2026-01-27 19:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-series-clamp-for-tubing-ssct125-1-1-4-inch-id>: HTTP status code is not handled or not allowed 2026-01-27 19:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-nut-90-union-elbow-h5506x10-5-8-inch-tube-od>: HTTP status code is not handled or not allowed 2026-01-27 19:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-pipe-swivel-to-male-pipe-straight-h9205x12x8-3-4-inch-npsm-swivel-nut-1-2-inch-male-npt>: HTTP status code is not handled or not allowed 2026-01-27 19:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-wrapped-rubber-hose-12-x-50-x-10000-psi-hot-water-hose>: HTTP status code is not handled or not allowed 2026-01-27 19:25:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-27 19:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suction-hose-wlh125600-1-1-4-inch-id-x-50-foot-long-hose>: HTTP status code is not handled or not allowed 2026-01-27 19:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-oem-technologies-axial-cam-pump-kit-3300-psi-24-gpm>: HTTP status code is not handled or not allowed 2026-01-27 19:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7138 pages (at 98 pages/min), scraped 3551 items (at 55 items/min) 2026-01-27 19:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-retro-self-adhesive-vinyl-floor-tile-12-x-12-blackwhite-20-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ft190115-power-supply-halogen-light-source-115v-ac>: HTTP status code is not handled or not allowed 2026-01-27 19:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-nexus-self-adhesive-vinyl-floor-planks-6-x-36-walnut-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10wtbk-31516-tapered-bushing-kit-3-1516-fits-reducer-style-smr10>: HTTP status code is not handled or not allowed 2026-01-27 19:26:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/hydraulics/hydraulic_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-ballistic-body-shield-tested-to-level-iii-ballistic-resistance-black>: HTTP status code is not handled or not allowed 2026-01-27 19:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-200-pipette-mla-precision-red>: HTTP status code is not handled or not allowed 2026-01-27 19:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wetline-kit-uwlk50dmcw-50-gallon-wetline-kit-clockwise-rotation-direct-steel-tank>: HTTP status code is not handled or not allowed 2026-01-27 19:26:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/storage_panels/tool_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stamped-welding-flange-fs125-1-1-4-inch-steel-2868-inch-od-0134-inch-thick>: HTTP status code is not handled or not allowed 2026-01-27 19:26:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/first_aid_wound_treatment/bandages_dressings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-reservoir-accessories-tc0015-filler-breather-replacement-cap-w-chain>: HTTP status code is not handled or not allowed 2026-01-27 19:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/hydraulics/hydraulic_motors>: HTTP status code is not handled or not allowed 2026-01-27 19:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-bolt-flange-adapter-kit-b433232u2-inch-adapter-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:26:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/bulk_containers/plastic_bulk_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-elbow-h3559x12-3-4-inch-x-3-4-inch-female-to-female>: HTTP status code is not handled or not allowed 2026-01-27 19:26:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/storage_panels/tool_storage_racks landed on page that is not a product page. 2026-01-27 19:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-mirella-end-table-southerntobacco>: HTTP status code is not handled or not allowed 2026-01-27 19:26:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/first_aid_wound_treatment/bandages_dressings landed on page that is not a product page. 2026-01-27 19:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-thread-o-ring-adapter-h3269x10x12-5-8-inch-male-port-3-4-inch-female-pipe-thread>: HTTP status code is not handled or not allowed 2026-01-27 19:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-extra-shelf-clips-for-super-adjustable-2-shelving>: HTTP status code is not handled or not allowed 2026-01-27 19:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/bulk_containers/plastic_bulk_containers>: HTTP status code is not handled or not allowed 2026-01-27 19:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-10-ball-valve-flanged-10-cast-iron>: HTTP status code is not handled or not allowed 2026-01-27 19:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hooded-fleece-sweater-14-25-oz-flame-resistant-xl-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl137-40-1-284-6tchelical-inline-speed-reducer284-6tc-input-flange40-1-ratio>: HTTP status code is not handled or not allowed 2026-01-27 19:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hickory-half-zip-pull-over-long-sleeve-shirt-5xl-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-zip-hooded-sweater-indura-flame-resistant-11-oz-m-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-port-high-pressure-ball-valve-hbvs075-5800-max-pressure-3-4-inch-nptf>: HTTP status code is not handled or not allowed 2026-01-27 19:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-32w-x-29l-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-button-down-long-sleve-work-shirt-l-tall-black>: HTTP status code is not handled or not allowed 2026-01-27 19:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-athletic-performance-t-shirt-flame-resistant-6-25-oz-4xl-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-button-down-work-shirt-2xl-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:26:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clark-foam-products-1001170-foam-sheet-anti-static-poly-1-2x24x36-in>: HTTP status code is not handled or not allowed 2026-01-27 19:26:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-zip-hooded-sweater-indura-flame-resistant-11-oz-3xl-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-sleeve-henley-interlock-knit-flame-resistant-m-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-button-down-work-shirt-s-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:26:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_drawers_keyboard_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-under-desk-keyboard-drawer-w-mouse-tray>: HTTP status code is not handled or not allowed 2026-01-27 19:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-30w-x-33l-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pork-chop-truck-bx-black-alum-driver-side-full-size-3-4-cu-ft-172-5-01>: HTTP status code is not handled or not allowed 2026-01-27 19:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-27 19:26:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/workbench_legs_frames_stringers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protect-a-rail-truck-cab-protector-black-71-12-l-x-27-12-h-1906-5-02>: HTTP status code is not handled or not allowed 2026-01-27 19:26:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-36w-x-36l-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-38w-x-34l-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:26:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-capacity-30-lbs-cylinders-heavy-duty-steel-gas-cylinder-cage-30w-x-30d-x-70h-white>: HTTP status code is not handled or not allowed 2026-01-27 19:26:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-27 19:26:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1050-series-chair-1050-ev-bk-esd-vinyl-nylon-base-21-31h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:26:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_drawers_keyboard_trays landed on page that is not a product page. 2026-01-27 19:26:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/home_office_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-7-9-long-x-3-8-wide-3-tpi-x-0025-thick>: HTTP status code is not handled or not allowed 2026-01-27 19:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-42x21x74-nexelon-finish-331489N>: HTTP status code is not handled or not allowed 2026-01-27 19:26:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/workbench_legs_frames_stringers landed on page that is not a product page. 2026-01-27 19:26:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/post-kit-14-highsingle-797324>: HTTP status code is not handled or not allowed 2026-01-27 19:26:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7225 pages (at 87 pages/min), scraped 3589 items (at 38 items/min) 2026-01-27 19:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-50w-x-29l-black>: HTTP status code is not handled or not allowed 2026-01-27 19:26:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:26:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s45-pilot-arc-plasma-cutter-torch-swirl-rings-10-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-32w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:26:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5653900-sase-shlvg-60x24x86-add-on>: HTTP status code is not handled or not allowed 2026-01-27 19:27:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/home_office_fans landed on page that is not a product page. 2026-01-27 19:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5463500-48x18x63-add-on-shelving>: HTTP status code is not handled or not allowed 2026-01-27 19:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sealed-sheave-bearing-e5014xnnts1-without-snap-rings-and-coating-70mm-bore-110mm-od>: HTTP status code is not handled or not allowed 2026-01-27 19:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-44w-x-29l-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-28w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-48-x-14-3-shelf-media-stand-chrome>: HTTP status code is not handled or not allowed 2026-01-27 19:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/allux-series-mailbox-allux-800-wall-mount-mail-parcel-box-in-grey>: HTTP status code is not handled or not allowed 2026-01-27 19:27:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:27:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-29w-x-33l-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:27:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-address-plate-w-3-gold-brass-numbers-antique-copper>: HTTP status code is not handled or not allowed 2026-01-27 19:27:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-44w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:27:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailbox-post-fluted-base-black-bayview-solar-lamp-with-vinyl-numbers-support-brace-white>: HTTP status code is not handled or not allowed 2026-01-27 19:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-10-x-7-x-4-200-lbs-ect-32-b-white-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-32l-green>: HTTP status code is not handled or not allowed 2026-01-27 19:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inch-drive-impact-socket-18-mm-6-point-1-1-2-inch-long>: HTTP status code is not handled or not allowed 2026-01-27 19:27:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:27:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:27:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:27:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-poly-vinyl-long-bag-black-42-e>: HTTP status code is not handled or not allowed 2026-01-27 19:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copper-mechanical-split-bolt-connection-for-2-conductors-range-of-equal-run-and-tap-8-sol-4-sol>: HTTP status code is not handled or not allowed 2026-01-27 19:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-stucco-locking-column-mailbox-in-slate-gray-w-decorative-fleur-de-lis-door-in-black>: HTTP status code is not handled or not allowed 2026-01-27 19:27:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-46w-x-30l-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:27:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/impact_sockets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-32w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-27 19:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-60w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:27:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-46w-x-32l-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:27:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hk1012-needle-bearing-drawn-cup-caged-metric-bore-10008mm>: HTTP status code is not handled or not allowed 2026-01-27 19:27:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/el11306-75hp-56-frame-3600rpm-115-230v-odp-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-27 19:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kem30003-25hp-1800rpm-56c-frame-3ph-230-460v-odp-c-face-footless-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-27 19:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/sockets_bits/impact_sockets>: HTTP status code is not handled or not allowed 2026-01-27 19:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-coin-wrapper-sprtcw05-2-nickels-capacity-1000-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vem31109-5hp-1200rpm-56c-frame-3ph-230-460v-odp-c-face-footless-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-27 19:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:27:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/dishwashing_equipment/dishwashers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics>: HTTP status code is not handled or not allowed 2026-01-27 19:27:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wypall-l40-wipers-10-45-x-10-pop-up-box-white-90box-9-boxescarton-03046>: HTTP status code is not handled or not allowed 2026-01-27 19:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-50w-x-33l-green>: HTTP status code is not handled or not allowed 2026-01-27 19:27:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aqua-tank-aq-70-70-gallons>: HTTP status code is not handled or not allowed 2026-01-27 19:27:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-combination-cabinet-w-drawers-shelves-36w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-27 19:27:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/dishwashing_equipment/dishwashers landed on page that is not a product page. 2026-01-27 19:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-58w-x-33l-black>: HTTP status code is not handled or not allowed 2026-01-27 19:27:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-10-foot-long-x-1-inch-wide-10-14-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-27 19:27:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7302 pages (at 77 pages/min), scraped 3613 items (at 24 items/min) 2026-01-27 19:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-grade-5-drawer-legal-vertical-file-llr48501-18-w-x-26-1-2-d-x-61-h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:27:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inf-wey-tek-refrigerant-charging-scale-713-202-g1-220-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inf-whisper-ultrasonic-leak-detector-711-202-g1-detects-refrigerant-and-nitrogen-leaks>: HTTP status code is not handled or not allowed 2026-01-27 19:28:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29123-diamond-sharpener-high-carbon-steel-black-gray-handle-12-l>: HTTP status code is not handled or not allowed 2026-01-27 19:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:28:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weld-curtain-w-hardware-6w-x-9h>: HTTP status code is not handled or not allowed 2026-01-27 19:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-12w-x-15d-x-36h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-27 19:28:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-30w-x-30l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:28:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:28:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-ripstop-cargo-pants-32w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edgr-1-g-el-m4-led-edge-lit-exit-sign-green>: HTTP status code is not handled or not allowed 2026-01-27 19:28:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/medical_supply_carts/acute_care_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-performance-100-series-lan-station-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 19:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/remp-020201-rubber-eva-pads-2-l-x-2-w-x-7-8-h>: HTTP status code is not handled or not allowed 2026-01-27 19:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-shelf-steel-shelving-with-72-akro-mils-shelf-bins-603432GN>: HTTP status code is not handled or not allowed 2026-01-27 19:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies>: HTTP status code is not handled or not allowed 2026-01-27 19:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-shelf-steel-shelving-with-48-akro-mils-shelf-bins-603438GN>: HTTP status code is not handled or not allowed 2026-01-27 19:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies>: HTTP status code is not handled or not allowed 2026-01-27 19:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b120k-v-belt-kevlar-5-8-x-123>: HTTP status code is not handled or not allowed 2026-01-27 19:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fmd-8-compression-mount-750-lbs-max-load-1-2-deflection>: HTTP status code is not handled or not allowed 2026-01-27 19:28:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-56w-x-unhemmed-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:28:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/medical_supply_carts/acute_care_carts landed on page that is not a product page. 2026-01-27 19:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-density-foam-tape-closed-cell-02295-gray-3-8-inch-x-1-2-inch-x-10-foot>: HTTP status code is not handled or not allowed 2026-01-27 19:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-36w-x-unhemmed-red>: HTTP status code is not handled or not allowed 2026-01-27 19:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en-m20-drop-forged-eye-nut-m20-x-2-50-style-d-c1030>: HTTP status code is not handled or not allowed 2026-01-27 19:28:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18900222-heating-block-used-for-50ml-tubes-8-holes>: HTTP status code is not handled or not allowed 2026-01-27 19:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-sheet-57836-36-inchl-x-24-inchw-x-28-ga>: HTTP status code is not handled or not allowed 2026-01-27 19:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-54w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-27 19:28:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-electric-infrared-heater-optional-power-cord-so-14-4-08804902-25-length>: HTTP status code is not handled or not allowed 2026-01-27 19:28:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-54-inch-w-x-24-inch-d-x-54-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 19:28:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-35w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:28:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-52w-x-30l-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:28:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cesm-21cb-3030-safety-switch-mat-30-x-30-black>: HTTP status code is not handled or not allowed 2026-01-27 19:28:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:28:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:28:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:28:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-50w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:28:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-42w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 19:28:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:28:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 19:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-12-oz-aerosol-rust-preventative-paint-primer-in-one-blue-gloss-125846>: HTTP status code is not handled or not allowed 2026-01-27 19:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7379 pages (at 77 pages/min), scraped 3642 items (at 29 items/min) 2026-01-27 19:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-48w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 19:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-42w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 19:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer>: HTTP status code is not handled or not allowed 2026-01-27 19:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/painters-select-urethane-fortified-gloss-porch-floor-coating-light-gray-gallon-106671>: HTTP status code is not handled or not allowed 2026-01-27 19:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-60w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 19:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 19:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-remote-start-start-stop-100-250v-1-7-2-3a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer landed on page that is not a product page. 2026-01-27 19:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-remote-start-start-stop-24-60v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-plastic-shelf-bin-6-5-8w-x-11-5-8d-x-8h-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:29:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-direct-online-start-stop-100-250v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-gld-2-fixed-drp-dn-lad-rack-for-comp-long-2265-3-01>: HTTP status code is not handled or not allowed 2026-01-27 19:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-plastic-box-truck-4-bushel-gray-272530-8-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-remote-start-reset-button-24-60v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-fastener-hfef150-stalguardcoated-steel-anticorrosive-150pk>: HTTP status code is not handled or not allowed 2026-01-27 19:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-separate-coil-voltage-start-stop-250-500v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qwiklug-3-terminal-repair-lugs-qt2810-10-awg-2-leads-with-nut>: HTTP status code is not handled or not allowed 2026-01-27 19:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/501l-floor-mount-sink-with-double-foot-pedal-valve>: HTTP status code is not handled or not allowed 2026-01-27 19:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-outdoor-metal-slatted-receptacle-w-access-door-flat-lid-36-gallon-green>: HTTP status code is not handled or not allowed 2026-01-27 19:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-direct-online-reset-button-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/662047-machine-screw-m3-x-0-5-x-10mm-pan-head-phillips-drive-steel-zinc-pkg-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 19:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/211065-flat-socket-cap-screw-10-24-x-5-8-steel-black-oxide-ft-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/011207-socket-cap-screw-5-16-18-x-1-1-2-steel-black-oxide-ft-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-non-adhesive-tape-for-embosser-12-21>: HTTP status code is not handled or not allowed 2026-01-27 19:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-direct-online-start-stop-250-500v-24-29a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-remote-start-start-stop-100-250v-13-16a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/nuts/lock_nuts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/302090-tee-nut-5-16-18-x-5-8-3-prong-steel-zinc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/489028-carriage-bolt-1-4-20-x-3-round-head-steel-zinc-grade-a-ft-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-27 19:29:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s75r-see-sign-restrooms-7-x-7-whiteblue>: HTTP status code is not handled or not allowed 2026-01-27 19:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d282ab-osha-sign-danger-h2s-may-be-present-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-27 19:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-024-od-x-0022-x-0375-music-wire-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-27 19:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-1ph-remote-start-start-stop-100-250v-22-28a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/nuts/lock_nuts landed on page that is not a product page. 2026-01-27 19:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyed-hasp-u-9951-4w-chrome-plated>: HTTP status code is not handled or not allowed 2026-01-27 19:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm18g-traffic-sign-10-mph-speed-limit-sign-18-x-12-whiteblack>: HTTP status code is not handled or not allowed 2026-01-27 19:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpt172-tags-danger-barricade-tag-6-x-3-whiteredblack-25pk>: HTTP status code is not handled or not allowed 2026-01-27 19:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-remote-start-start-stop-100-250v-48-60a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 19:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-direct-online-reset-button-250-500v-75-87a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-remote-start-terminals-reset-button-100-250v-48-60a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-1ph-remote-start-terminals-reset-button-100-250v-75-87a>: HTTP status code is not handled or not allowed 2026-01-27 19:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-205925-zirconia-alumina-1-4-x-18-40-grit>: HTTP status code is not handled or not allowed 2026-01-27 19:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-72-w-x-18-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-27 19:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-283001-ceramic-37-x-75-120-grit>: HTTP status code is not handled or not allowed 2026-01-27 19:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/real-paper-book-safe-with-key-7-1-2w-x-1-3-4d-x-10-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 19:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7473 pages (at 94 pages/min), scraped 3691 items (at 49 items/min) 2026-01-27 19:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-biometric-rifle-safe-gun-cabinet-13-3-4w-x-13-3-4d-x-57h>: HTTP status code is not handled or not allowed 2026-01-27 19:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-68174-aluminum-oxide-25-x-60-220-grit>: HTTP status code is not handled or not allowed 2026-01-27 19:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-2-wire-surveillance-earpiece-kenwood-hyt-relm-radios>: HTTP status code is not handled or not allowed 2026-01-27 19:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-riser-72-w-x-10-1-2-d-x-12-h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-mezzanine-ladder-120h>: HTTP status code is not handled or not allowed 2026-01-27 19:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-mod-3mo160-mb-single-lever-bathroom-faucet-with-pop-up-matte-black>: HTTP status code is not handled or not allowed 2026-01-27 19:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-3q28-clear-storage-tote-with-lid-41-quart-29-l-x-18-w-x-6-h>: HTTP status code is not handled or not allowed 2026-01-27 19:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olympia-i1-l-6030-single-lever-bathroom-faucet-with-pop-up-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-27 19:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-step-configurabl-forward-descent-roll-ladder-grip-strut-ukdec115242>: HTTP status code is not handled or not allowed 2026-01-27 19:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pss42-1b-steel-rivets-1-8-inch-x-1-8-inch-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61-osha-stairway-stair36o-7-61>: HTTP status code is not handled or not allowed 2026-01-27 19:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-coupling-mrc15-black-oxide-15mm-5pk>: HTTP status code is not handled or not allowed 2026-01-27 19:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/87-osha-stairway-stair36o-10-87>: HTTP status code is not handled or not allowed 2026-01-27 19:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/118-ibc-stairway-stair36i-17-118>: HTTP status code is not handled or not allowed 2026-01-27 19:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-48-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-4-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 19:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-coupling-wkeyway-mrc10kw-black-oxide-10mm-5pk>: HTTP status code is not handled or not allowed 2026-01-27 19:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-5-open-grid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 19:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-36-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-4-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 19:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-ibc-stairway-stair36i-13-85>: HTTP status code is not handled or not allowed 2026-01-27 19:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/106-osha-stairway-stair36o-12-106>: HTTP status code is not handled or not allowed 2026-01-27 19:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m100-c600-series-steel-100mm-shaft>: HTTP status code is not handled or not allowed 2026-01-27 19:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-24-inch-d-x-86-inch-h-2000-lbs-cap-4-open-grid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 19:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m13-c600-series-steel-13mm-shaft>: HTTP status code is not handled or not allowed 2026-01-27 19:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1001555-wes-155-waterfree-urinal-cartridge-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronze-sleeve-bearing-bsb081218-12id-x-34od-118l>: HTTP status code is not handled or not allowed 2026-01-27 19:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-coupling-wkeyway-mrc25skw4h90-stainless-steel-25mm-2pk>: HTTP status code is not handled or not allowed 2026-01-27 19:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-frame-folding-tank-alf-750-88l-x-88w-x-29h-750-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-27 19:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-water-bladder-tank-bt-250pw-84l-x-60w-x-14h-250-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-27 19:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-235-inch-l-clear-for-use-w-30-inch-d-shelves>: HTTP status code is not handled or not allowed 2026-01-27 19:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m25-c600-series-steel-25mm-shaft>: HTTP status code is not handled or not allowed 2026-01-27 19:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-ga1-screw-lock-type-e-fits-5811-shaft>: HTTP status code is not handled or not allowed 2026-01-27 19:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-locking-assembly-c170-series-c170e100-steel-m6-x-16>: HTTP status code is not handled or not allowed 2026-01-27 19:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-water-bladder-tank-bt-300pw-96l-x-72w-x-15h-300-gallon-cap-powder-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-18-inch-d-x-50-inch-h-2000-lbs-cap-5-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 19:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-no-28h-cable-knife-8-28-mm-common-round-cables>: HTTP status code is not handled or not allowed 2026-01-27 19:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-48-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-5-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 19:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dpg95-1d-ansi-z87-1-framework-clear>: HTTP status code is not handled or not allowed 2026-01-27 19:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-21-inch-d-x-86-inch-h-2000-lbs-cap-4-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 19:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boot-torpedo-end-register-vent-boot-w-adj-hangers-4-inch-x-10-inch-x-4-inch>: HTTP status code is not handled or not allowed 2026-01-27 19:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kni-pliers-wrench-set-in-tool-roll-5-pc>: HTTP status code is not handled or not allowed 2026-01-27 19:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beltrac-concealed-mount-wall-unit-7l-black-neon-yellow-retractable-belt>: HTTP status code is not handled or not allowed 2026-01-27 19:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jib-crane-10x12-1000lb>: HTTP status code is not handled or not allowed 2026-01-27 19:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-mod-frl-wend-ports-vc33356w-ga-metal-bowl-wsight-manual-ultra-fog-lubr-osha-valve>: HTTP status code is not handled or not allowed 2026-01-27 19:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dressing-jar-4-x-4-5-case>: HTTP status code is not handled or not allowed 2026-01-27 19:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/applicator-jar-7-x-3-6-case>: HTTP status code is not handled or not allowed 2026-01-27 19:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-tf2101-5-hp-166-cfm-175-max-psi>: HTTP status code is not handled or not allowed 2026-01-27 19:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensi-wrap-self-adherent-bandage-rolls-6w-x-5-yards-tan-12-pcs>: HTTP status code is not handled or not allowed 2026-01-27 19:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-basket-truck-with-vinyl-liner-12-bushel-black>: HTTP status code is not handled or not allowed 2026-01-27 19:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antifungal-powder-3-oz-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-27 19:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siligentle-silicone-bordered-foam-dressing-heel-10l-x-9w-60-pcs>: HTTP status code is not handled or not allowed 2026-01-27 19:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7573 pages (at 100 pages/min), scraped 3741 items (at 50 items/min) 2026-01-27 19:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-power-nut-driver-10116-1-4-drive-10-mm-tip-1-7-8-long>: HTTP status code is not handled or not allowed 2026-01-27 19:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-tray-mobile-cubbie-without-paper-trays-60w-x-15d-x-35-1-2h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-27 19:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms313h-traffic-sign-reserved-parking-florida-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-27 19:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biopsy-punches-50-mm-pink-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 19:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kid-bench-locker-5-wide-camel-cushion-48w-x-15d-x-16h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-27 19:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-sling-w-head-support-x-large>: HTTP status code is not handled or not allowed 2026-01-27 19:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms312j-traffic-sign-reserved-parking-permit-florida-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-27 19:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubbie-lid-13-1-2l-x-8-5-8w-x-1-4h-red>: HTTP status code is not handled or not allowed 2026-01-27 19:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm098j-traffic-sign-no-standing-anytime-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-27 19:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms316j-traffic-sign-reserved-parking-illinois-24-x-12-white->: HTTP status code is not handled or not allowed 2026-01-27 19:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hopper-truck>: HTTP status code is not handled or not allowed 2026-01-27 19:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tmas12h-traffic-sign-parking-fine-minimum-california-9-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms337g-traffic-sign-handicapped-parking-permit-required-18-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-stic-grip-xtra-comfort-ballpoint-pen-black-12mm-medium-36-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynaride-transport-wheelchair-swing-away-foot-rest-fixed-full-arm-19w-seat>: HTTP status code is not handled or not allowed 2026-01-27 19:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-large-capacity-refrigerator-for-pharmacies-abt-69-69-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 19:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jojoba-unscented-lotion-1-2-gallon>: HTTP status code is not handled or not allowed 2026-01-27 19:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crescent-shaped-face-rest-covers-for-massage-table-white-bag-of-500>: HTTP status code is not handled or not allowed 2026-01-27 19:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-stereo-boom-microscope-20x-40x-magnification-w-5mp-camera-w-flourescent-light>: HTTP status code is not handled or not allowed 2026-01-27 19:31:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/welding_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-microscope-light-filter-32mm-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-articulating-stand-w-clamp-stereo-microscopes>: HTTP status code is not handled or not allowed 2026-01-27 19:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mc-spark-free-combustible-gas-recovery-machine>: HTTP status code is not handled or not allowed 2026-01-27 19:31:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/cube_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-crew-arm-chair-floor-mount-midnight-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/welding_mats>: HTTP status code is not handled or not allowed 2026-01-27 19:31:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/impact_doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dvd-rewritable-media-ver94839-dvdrw-media-4x-speed-470-gb-capcity>: HTTP status code is not handled or not allowed 2026-01-27 19:31:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77300-emery-cloth-shop-rolls-grit-80-1-x-10-yards>: HTTP status code is not handled or not allowed 2026-01-27 19:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-ruched-bootie-full-grain-leather-black-8w>: HTTP status code is not handled or not allowed 2026-01-27 19:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77150-backing-pad-for-sanding-discs-polishing-bonnets-1-4-arbor-5>: HTTP status code is not handled or not allowed 2026-01-27 19:31:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/cube_storage landed on page that is not a product page. 2026-01-27 19:31:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-oxford-knit-black-8eee>: HTTP status code is not handled or not allowed 2026-01-27 19:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-height-work-table-96l-x-36w-x-30h>: HTTP status code is not handled or not allowed 2026-01-27 19:31:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/impact_doors landed on page that is not a product page. 2026-01-27 19:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 19:31:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/glassless_mirrors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/752127-bpf-1450-50-x-14-gauge-box-pan-brake-w-foot-clamp>: HTTP status code is not handled or not allowed 2026-01-27 19:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f18933-0011-lab-aire-ii-single-sided-non-electric-benchtop-or-wallmount-dryer-1-tier>: HTTP status code is not handled or not allowed 2026-01-27 19:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-11-inch-pull-on-workboot-leather-brown-9w>: HTTP status code is not handled or not allowed 2026-01-27 19:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-round-pedestal-table-with-grey-nebula-top-round-silver-base-bistro-height>: HTTP status code is not handled or not allowed 2026-01-27 19:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-office-partition-panel-24-1-4-w-x-42-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:31:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 19:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-all-purpose-scrubbing-dish-wand-refills-2-pack-pky-qty-6-1135>: HTTP status code is not handled or not allowed 2026-01-27 19:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oven-safety-valve-1-2-for-southbend-1180866>: HTTP status code is not handled or not allowed 2026-01-27 19:31:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/glassless_mirrors landed on page that is not a product page. 2026-01-27 19:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gas-control-for-southbend-1164804>: HTTP status code is not handled or not allowed 2026-01-27 19:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burner-valve-for-southbend-1178202>: HTTP status code is not handled or not allowed 2026-01-27 19:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gallon-instant-powder-mix-lemonade>: HTTP status code is not handled or not allowed 2026-01-27 19:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3558-2-premium-locker-double-tier-15x15x36-6-doors-ready-to-assemble-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-lockout-pouch-standard-electrical-device-assortment-2-zen-padlocks-red>: HTTP status code is not handled or not allowed 2026-01-27 19:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-concentrated-cleaner-degreaser-32-oz-trigger-spr-bott-kk32-12>: HTTP status code is not handled or not allowed 2026-01-27 19:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironcat-30-leather-jacket-golden-yellow-medium-all-leather>: HTTP status code is not handled or not allowed 2026-01-27 19:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7668 pages (at 95 pages/min), scraped 3787 items (at 46 items/min) 2026-01-27 19:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-60w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 19:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-add-on-unit-60w-x-30d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 19:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bangor-rafting-t-029-054-0018-hardwood-handle-58>: HTTP status code is not handled or not allowed 2026-01-27 19:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/international-pulp-hook-t-000-000-0607-hardwood-handle-10>: HTTP status code is not handled or not allowed 2026-01-27 19:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-jobmaster-chest-5-cu-ft-steel-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/track-mount-override-switch-psms1-4-24vac-w-led-indicators>: HTTP status code is not handled or not allowed 2026-01-27 19:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/99-jobmaster-cabinet-594-cu-ft-steel-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-single-spring-sign-stand-for-roll-up-signs-36-inch-and-48-inch-powder-coated-orange-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transformer-tr100va005-100va-120-240-277-480-24v-1-hub-foot-mount-circuit-breaker>: HTTP status code is not handled or not allowed 2026-01-27 19:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-6-bushel-antimicrobial-vinyl-basket-truck-w-antimicrobial-bumper-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hp-wire-cup-brush-dw4910-3-x-5-8-11-020-carbon-knotted-wire-1-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-10-bushel-vinyl-basket-truck-all-swivel-casters-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-static-safe-hot-gloves-11-large>: HTTP status code is not handled or not allowed 2026-01-27 19:32:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-safety-glass-holder-with-door-5203-holds-20-glasses-6-3-4l>: HTTP status code is not handled or not allowed 2026-01-27 19:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-double-bottle-eyewash-station-5182-5-1-2l-10w-10h>: HTTP status code is not handled or not allowed 2026-01-27 19:32:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/waterproof_equipment_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:32:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/marking_warning_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watertight-case-with-foam-e150-12x10-5-8x5-7-8>: HTTP status code is not handled or not allowed 2026-01-27 19:32:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/bathroom_exhaust_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-rectangular-20x10-duct-fan-frd-20-10-230-230v-964-cfm>: HTTP status code is not handled or not allowed 2026-01-27 19:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-roof-ventilator-belt-drive-upblast-5bdu10bb-a-1-4-hp-115-230v-1-ph-1179-cfm-odp>: HTTP status code is not handled or not allowed 2026-01-27 19:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-non-ventilated-curb-5acc20fs-20-1-2-square-x-8h-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:32:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:32:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks landed on page that is not a product page. 2026-01-27 19:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-28-gpf-round-bowl-toilet-17-3-16-inch-w-x-26-3-8-inch-d-x-30-1-8-inch-h-sedona-beige>: HTTP status code is not handled or not allowed 2026-01-27 19:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contactor-3-pole-60-75a-120v-for-market-forge-09-6484>: HTTP status code is not handled or not allowed 2026-01-27 19:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/building_construction_tape/marking_warning_tape>: HTTP status code is not handled or not allowed 2026-01-27 19:32:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/waterproof_equipment_cases landed on page that is not a product page. 2026-01-27 19:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blower-wheel-10-dia-x-2w-for-southbend-3103902>: HTTP status code is not handled or not allowed 2026-01-27 19:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-lithonia-lighting-elb06042-6v-4-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:32:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/bathroom_exhaust_fans landed on page that is not a product page. 2026-01-27 19:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-mk-es7-12sa-12v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoodtype-dishwasher-208v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 19:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-lock-steel-cabinet-glass-door-46-5w-x-15-7d-x-34-6h-white>: HTTP status code is not handled or not allowed 2026-01-27 19:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cnc-tool-holder-50-tapers-2-5w-x-5-5d-x-2h>: HTTP status code is not handled or not allowed 2026-01-27 19:32:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks landed on page that is not a product page. 2026-01-27 19:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duk-alta-all-weather-faux-rattan-4-ppl-seat-with-gray-cushions>: HTTP status code is not handled or not allowed 2026-01-27 19:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-power-patrol-sla1035-sla-1035-12v-3-2ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 19:32:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/toilets_urinals/toilets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-8-solid-cl2-pvc-thermostat-wire-cable-250-reel>: HTTP status code is not handled or not allowed 2026-01-27 19:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-series-versatrac-5-1-4height-4-polyolefin-wheel-ball-bearing-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-27 19:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ansi-grade-2-dual-key-pad-heavy-duty-electronic-lockset-brushed-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uvc-replacement-lamp-for-nq400-900e>: HTTP status code is not handled or not allowed 2026-01-27 19:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lnr-xt-150-waste-oil-heater-pkg-6-inch-chimney-wall-kit-80-gallon-tank-150000-btu>: HTTP status code is not handled or not allowed 2026-01-27 19:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toilet-bowl-mop-caddy-white-gjo85121>: HTTP status code is not handled or not allowed 2026-01-27 19:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-35-feet-vertical-lifeline-w-5-8-inch-poly-blend-rope-snap-hook>: HTTP status code is not handled or not allowed 2026-01-27 19:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/toilets_urinals/toilets>: HTTP status code is not handled or not allowed 2026-01-27 19:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/521fl-05-model-521fl-with-flow-rate-of-05-gpm>: HTTP status code is not handled or not allowed 2026-01-27 19:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/531f1-floor-mount-scrub-sink-with-single-foot-pedal-valve>: HTTP status code is not handled or not allowed 2026-01-27 19:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56wfl-05-model-56wfl-with-flow-rate-of-05-gpm>: HTTP status code is not handled or not allowed 2026-01-27 19:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/58f1-05-model-58f1-with-flow-rate-of-05-gpm>: HTTP status code is not handled or not allowed 2026-01-27 19:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-truck-49515-d-handle-pneumatic-wheels-800-lb-capacity-black-red>: HTTP status code is not handled or not allowed 2026-01-27 19:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-30-feet-2-man-rope-horizontal-lifeline-w-d-bolt-ratchet>: HTTP status code is not handled or not allowed 2026-01-27 19:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515415-acrylic-easel-w-1-25-lip-2-5-x-4-125-acrylic>: HTTP status code is not handled or not allowed 2026-01-27 19:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-bull-ring-anchorage-connector-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gm-bibs-19-1-2-inch-x-28-inch-white-500-case>: HTTP status code is not handled or not allowed 2026-01-27 19:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7758 pages (at 90 pages/min), scraped 3826 items (at 39 items/min) 2026-01-27 19:32:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-efficiency-motor-w-drop-cord-switch-115v-2-speed-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-565l-replacement-aerator-for-commercial-wok-faucets-royal-series-extended-wok-faucets>: HTTP status code is not handled or not allowed 2026-01-27 19:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-jlt4-flocculator-100-240v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-27 19:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701238-8-flip-scan-quick-back-0-187-diameter-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/accessories>: HTTP status code is not handled or not allowed 2026-01-27 19:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700350-blk-pegboard-powerwing-13-75-x-44-black>: HTTP status code is not handled or not allowed 2026-01-27 19:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701435-blu-4-sided-interlocking-pegboard-floor-display-14-x-40-blue-opaque>: HTTP status code is not handled or not allowed 2026-01-27 19:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-gage-block-set-rectangular-36-pieces>: HTTP status code is not handled or not allowed 2026-01-27 19:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-10x16-3-wall-3-lgts-3-dplx-1-door-white>: HTTP status code is not handled or not allowed 2026-01-27 19:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-blue-poly-tarp-mt810-5-mil-8l-x-10w>: HTTP status code is not handled or not allowed 2026-01-27 19:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-heavy-duty-super-cover-poly-tarp-sth1225-10-mil-silverblack-12l-x-25w>: HTTP status code is not handled or not allowed 2026-01-27 19:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-machinist-square-set-w-protective-case-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-27 19:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-10x20-3-wall-3-lgt-4-dplx-1-dr-gry>: HTTP status code is not handled or not allowed 2026-01-27 19:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-vsr-pistol-grip-drill-kit-dwd110k-8-amps-650w-0-2500-rpm-single-gear-reduction>: HTTP status code is not handled or not allowed 2026-01-27 19:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-m-scotch-375-plus-machine-length-carton-sealing-tape-3-inch-x-1000-yds-3-1-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 19:33:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/portable_electric_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-clamp-task-lamp-95030-18-flex-arm>: HTTP status code is not handled or not allowed 2026-01-27 19:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-m5-inch-pneumatic-random-orbital-sander-non-vacuum-5-16-inch-orbit-12000-rpm>: HTTP status code is not handled or not allowed 2026-01-27 19:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circuit-board-shipping-and-storage-box-w-foam-17l-x-12-5-8w-x-3-3-4h>: HTTP status code is not handled or not allowed 2026-01-27 19:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-electric-garage-space-heater-1500-watt-120v-with-thermostat-red>: HTTP status code is not handled or not allowed 2026-01-27 19:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-storage-container-23-5-8l-x-13-3-8w-x-15-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 19:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-1-2-inch-medium-duty-stanchion-kit-w-2-inch-x-10-feet-l-chain-black-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 19:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-swivel-plate-caster-20525653-solid-polyolefin-5dia-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/portable_electric_air_compressors>: HTTP status code is not handled or not allowed 2026-01-27 19:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/excelsior-executive-high-back-chair-bm9000-blk-black-fabric-non-adjustable-arms>: HTTP status code is not handled or not allowed 2026-01-27 19:33:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/work_surface_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-404109929-brk7-polyurethane-with-brake-4dia-600-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-404109539-solid-nylon-4dia-800-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vacuum-aspirator-collection-system-199170150-polypropylene-1-gal-w-pump-1-pk-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-ne-nylon-insert-lock-nut-grade-2-carbon-steel-zinc-clear-trivalent-coarse-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-27 19:33:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/hex_head_cap_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-6-x-5-1-2-hex-head-cap-screw-grade-8-partial-thread-unc-steel-plain>: HTTP status code is not handled or not allowed 2026-01-27 19:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-putty-peach-x-soft-1-pound>: HTTP status code is not handled or not allowed 2026-01-27 19:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-exercise-putty-blue-firm-1-pound>: HTTP status code is not handled or not allowed 2026-01-27 19:33:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/work_surface_mats landed on page that is not a product page. 2026-01-27 19:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-putty-6-ounce-set-of-6-6-colors>: HTTP status code is not handled or not allowed 2026-01-27 19:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versailles-large-ribbon-wbow-center-onlay-onl17x03x01ve-1718w-x-3h-x-78d>: HTTP status code is not handled or not allowed 2026-01-27 19:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scented-exercise-putty-banana-yellow-x-light-5-pound>: HTTP status code is not handled or not allowed 2026-01-27 19:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/screws/hex_head_cap_screws>: HTTP status code is not handled or not allowed 2026-01-27 19:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-exercise-putty-red-4-ounce-soft>: HTTP status code is not handled or not allowed 2026-01-27 19:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wobble-board-all-directions-15-x-15>: HTTP status code is not handled or not allowed 2026-01-27 19:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-wood-locker-32351-double-tier-3-wide-12w-x-21d-x-30h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 19:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-unit-storage-shelving-chrome-72w-x-21d-x-86h-14-ft>: HTTP status code is not handled or not allowed 2026-01-27 19:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-ex40-16st-16in-9-gallon-carpet-extractor-56265504>: HTTP status code is not handled or not allowed 2026-01-27 19:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15020035-led-corn-lamp-36w-4490-lumens-5000k-medium-e26-100w-hid-replacement>: HTTP status code is not handled or not allowed 2026-01-27 19:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-large-red-light>: HTTP status code is not handled or not allowed 2026-01-27 19:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x60-black-composition-chalkboard-aluminum-trim>: HTTP status code is not handled or not allowed 2026-01-27 19:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disc-361f-2-inch-diameter-tsm-aluminum-oxide-60-grit>: HTTP status code is not handled or not allowed 2026-01-27 19:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-series-inflatable-exercise-ball-65-cm-26-green>: HTTP status code is not handled or not allowed 2026-01-27 19:33:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-skate-board-rom-exerciser-resistance-system-only-9-weights-included>: HTTP status code is not handled or not allowed 2026-01-27 19:33:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/open_base_workbenches/mobile_open_base_workbenches/standard_duty_mobile_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7853 pages (at 95 pages/min), scraped 3874 items (at 48 items/min) 2026-01-27 19:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hitch-bike-rack-2-bike-capacity-double-sided-surface-mount-green-5040sm>: HTTP status code is not handled or not allowed 2026-01-27 19:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ton-cap-aluminum-gantry-crane-12-ft-span-adj-height-10-10-min-13-4-max>: HTTP status code is not handled or not allowed 2026-01-27 19:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-ton-capacity-10-span-300-series-steel-wall-mounted-jib-crane-cantilever-design>: HTTP status code is not handled or not allowed 2026-01-27 19:33:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/balance_training_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ton-cap-aluminum-gantry-crane-8-ft-span-adj-height-8-6-min-11-0-max>: HTTP status code is not handled or not allowed 2026-01-27 19:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28600-1p-roof-drain-deck-clamp-assembly-for-use-with-21500-series>: HTTP status code is not handled or not allowed 2026-01-27 19:34:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/open_base_workbenches/stationary_open_base_workbenches/standard_duty_stationary_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulwark-bracket-bktm02x10x10buss-2w-x-10d-x-10h>: HTTP status code is not handled or not allowed 2026-01-27 19:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-classifier-strips-10case>: HTTP status code is not handled or not allowed 2026-01-27 19:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-x-3-8in-acrylic-mini-roller-covers-12-pack-8-case-6cr038q-12>: HTTP status code is not handled or not allowed 2026-01-27 19:34:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices landed on page that is not a product page. 2026-01-27 19:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9in-frame-for-a-4in-mini-roller-24-case-4rl-09>: HTTP status code is not handled or not allowed 2026-01-27 19:34:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/open_base_workbenches/mobile_open_base_workbenches/standard_duty_mobile_workbenches landed on page that is not a product page. 2026-01-27 19:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/balance_training_devices>: HTTP status code is not handled or not allowed 2026-01-27 19:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/work-benches/workbenches_worktables/open_base_workbenches/stationary_open_base_workbenches/standard_duty_stationary_workbenches>: HTTP status code is not handled or not allowed 2026-01-27 19:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7351d-dura-polyurethane-chair-aluminum-base-mushroom-glides-black>: HTTP status code is not handled or not allowed 2026-01-27 19:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/902006-4m-5-ton-ratchet-leverage-press-floor-type>: HTTP status code is not handled or not allowed 2026-01-27 19:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-tapered-with-carpet-78l-x-18w-x-32h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-pie-set-with-carpet-for-36w-stage-units-8h-16h24h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-water-bath-gp-20-20-liters>: HTTP status code is not handled or not allowed 2026-01-27 19:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-nylon-mesh-4-1-8-dia-x-14-l-100-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-27 19:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-3-4-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-27 19:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10a-x-1-1-4-tri-wing-sheet-metal-screw-opsit-left-handed-truss-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-3-4-spanner-sheet-metal-screw-pan-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-3-security-sheet-metal-screw-flat-phillips-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-27 19:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-10mm-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-12mm-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-3-4-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-with-partial-window-36-1-4-w-x-43-1-2-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-12mm-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-cable-de-icer-200-ft-120v-7-watts-per-foot>: HTTP status code is not handled or not allowed 2026-01-27 19:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-25-torx-tamperproof-key>: HTTP status code is not handled or not allowed 2026-01-27 19:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-wheel-741a-6-inch-x-1-inch-x-1-inch-50-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-27 19:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tripod-stand-dt15s16t27-for-15-oaw-skatewheel-adj-16-to-27h>: HTTP status code is not handled or not allowed 2026-01-27 19:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-flow-control-3-8-male-x-3-8-tube>: HTTP status code is not handled or not allowed 2026-01-27 19:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gm-80-replacement-hepa-filter>: HTTP status code is not handled or not allowed 2026-01-27 19:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-72w-x-14d-x-54h-3-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 19:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-24w-x-18d-x-54h-3-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-27 19:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-compact-all-fridge-1-7-cu-ft-BC-47>: HTTP status code is not handled or not allowed 2026-01-27 19:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50700n-reducer-12mm-stud-x-10mm-tube>: HTTP status code is not handled or not allowed 2026-01-27 19:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-branch-tee-metal-release-collet-6mm-tube-x-1-8>: HTTP status code is not handled or not allowed 2026-01-27 19:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-24w-x-18d-x-34h-2-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 19:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-square-seal-plus-18inches-x-18inches>: HTTP status code is not handled or not allowed 2026-01-27 19:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vue-big-and-tall-mesh-task-chair>: HTTP status code is not handled or not allowed 2026-01-27 19:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a320-male-connector-with-70mm-pin-contacts>: HTTP status code is not handled or not allowed 2026-01-27 19:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversible-sheeter-floor-model-24-x-47>: HTTP status code is not handled or not allowed 2026-01-27 19:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-189318gz-36w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 19:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-reclosable-pharmacy-bag-4-mil-write-on-2-1-2w-3l>: HTTP status code is not handled or not allowed 2026-01-27 19:34:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/pressure_washers/gas_pressure_washers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tostitos-medium-chunky-salsa-to-go-cups-3-8-oz-30-count-gr>: HTTP status code is not handled or not allowed 2026-01-27 19:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-5ml-2ml-paddles-for-tube-revolver-88881001-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189218gz-36w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 19:34:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/splash_guards_shields already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cel-gro-tissue-culture-rotator-drum-holds-76-26mm-tubes>: HTTP status code is not handled or not allowed 2026-01-27 19:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 7950 pages (at 97 pages/min), scraped 3920 items (at 46 items/min) 2026-01-27 19:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-96-h-starter-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-size-test-tube-rack-clamp-for-14-16mm-tubes-6-x-6-array-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-block-set-with-cover-for-88880027-96-x-0-2ml-tubes>: HTTP status code is not handled or not allowed 2026-01-27 19:34:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/pressure_washers/gas_pressure_washers landed on page that is not a product page. 2026-01-27 19:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-heater-for-compact-dry-bath-block-heater-3-x-50-ml-tubes-1-2-block>: HTTP status code is not handled or not allowed 2026-01-27 19:34:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-clamp-starter-kit-236099-for-use-with-maxq-8000-shaker>: HTTP status code is not handled or not allowed 2026-01-27 19:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/splash_guards_shields>: HTTP status code is not handled or not allowed 2026-01-27 19:35:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kahlo-48-round-multipurpose-breakroom-tapered-leg-table-mahogany-black>: HTTP status code is not handled or not allowed 2026-01-27 19:35:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/scissors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-2-wheel-appliance-truck-750-lb-cap-59in-h-auto-rewind>: HTTP status code is not handled or not allowed 2026-01-27 19:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-20000291-2-1-2-x-1-1-4-polyurethane-on-polyolefin-3-8-delrin-bushing>: HTTP status code is not handled or not allowed 2026-01-27 19:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-18-d-x-87-h-725-hallowell-gray-starter-unit-36-bins>: HTTP status code is not handled or not allowed 2026-01-27 19:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calcium-lime-rust-remover-42oz>: HTTP status code is not handled or not allowed 2026-01-27 19:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-27 19:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-500008559-ws-8-x-2-performa-rubber-1-2-straight-roller-bearing-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/scissors>: HTTP status code is not handled or not allowed 2026-01-27 19:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-72-h-add-on-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-18-d-x-87-h-725-hallowell-gray-starter-unit-10-bins>: HTTP status code is not handled or not allowed 2026-01-27 19:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-84-h-add-on-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 19:35:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-27 19:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2631068-gasket-pump-discharge-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 19:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8003029-pilot-assembly-nat-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 19:35:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locator-4-cryogenic-rack-and-box-system-111-liters>: HTTP status code is not handled or not allowed 2026-01-27 19:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-84-h-add-on-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 19:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-4-step-18-alum-rolling-ladder-10-top-step-spring-load-a4s>: HTTP status code is not handled or not allowed 2026-01-27 19:35:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ply-embossed-roll-bathroom-tissue-4-x-4-550-sheets-roll-80-pk-gjo2508080>: HTTP status code is not handled or not allowed 2026-01-27 19:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockable-gate-latch>: HTTP status code is not handled or not allowed 2026-01-27 19:35:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-27 19:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-aleva635632mc-valencia-series-bookcase-4-shelves-31-34w-x-14d-x-55h-medium-cherry>: HTTP status code is not handled or not allowed 2026-01-27 19:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-aleva354824mc-valencia-series-reversible-returnbridge-shell-47-14w-x-23-58d>: HTTP status code is not handled or not allowed 2026-01-27 19:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681263-insulation-front-seal-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-27 19:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ogh60-advanced-protocol-oven-gravity-convection-2-15-cu-ft-120v>: HTTP status code is not handled or not allowed 2026-01-27 19:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms>: HTTP status code is not handled or not allowed 2026-01-27 19:35:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_incubators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901325-blade-mixing-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 19:35:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/circulation_reception_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aberdeen-72w-hutch-with-wood-doors-72w-x-15d-x-39-1-8h-mocha>: HTTP status code is not handled or not allowed 2026-01-27 19:35:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-hplsd2460zp-double-pedestal-steel-credenza-60w-x-24d-x-29-12h-walnutblack>: HTTP status code is not handled or not allowed 2026-01-27 19:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-button-remote-number-6>: HTTP status code is not handled or not allowed 2026-01-27 19:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-24-d-x-120-h-add-on-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2181300-knob-drive-shaft-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 19:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-12-inch-x-20-foot-fertilizer-solution-suction-discharge-hose-assembly-w-m-x-f-aluminum-short-shanks>: HTTP status code is not handled or not allowed 2026-01-27 19:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_incubators>: HTTP status code is not handled or not allowed 2026-01-27 19:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-72-w-x-24-d-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:35:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/circulation_reception_desks>: HTTP status code is not handled or not allowed 2026-01-27 19:35:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches>: HTTP status code is not handled or not allowed 2026-01-27 19:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-2-ton-magic-lift-service-jack-27035>: HTTP status code is not handled or not allowed 2026-01-27 19:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-96-h-starter-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:35:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/portable_restrooms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walnut-laminate-office-suite-desking-59x148x36-hutch>: HTTP status code is not handled or not allowed 2026-01-27 19:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-4-6-100-a-pvc-shrink-bags-4-x-6-x-100-gauge-clear-500-case>: HTTP status code is not handled or not allowed 2026-01-27 19:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-only-fae-4001-alcohol-cleansing-pads-20box>: HTTP status code is not handled or not allowed 2026-01-27 19:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1120-orifice-60>: HTTP status code is not handled or not allowed 2026-01-27 19:35:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment landed on page that is not a product page. 2026-01-27 19:35:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-27 19:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-exercise-cord-with-attachments-7-cord-red>: HTTP status code is not handled or not allowed 2026-01-27 19:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8037 pages (at 87 pages/min), scraped 3956 items (at 36 items/min) 2026-01-27 19:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/portable_restrooms>: HTTP status code is not handled or not allowed 2026-01-27 19:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ae14ep-nexelate-safety-push-handle-14w>: HTTP status code is not handled or not allowed 2026-01-27 19:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-padded-sports-handle-for-exercise-band-tubing-50-each>: HTTP status code is not handled or not allowed 2026-01-27 19:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-exerciser-green-30>: HTTP status code is not handled or not allowed 2026-01-27 19:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/265547-burner-ring>: HTTP status code is not handled or not allowed 2026-01-27 19:36:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-tab-insulator-terminal-protectors-5743-005r-8-2-gauge-5-pcs>: HTTP status code is not handled or not allowed 2026-01-27 19:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1111059-washer-bonnet-push-button-ts-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-27 19:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fm-pro-series-steel-industrial-mobile-sanitzation-cart-41w-x-20d-x-43h-red>: HTTP status code is not handled or not allowed 2026-01-27 19:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-restaurant-lunchroom-square-counter-height-table-42-x-42-x-36-h-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 19:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-additional-3070-swing-door-3-w-x-7-h-steel-white>: HTTP status code is not handled or not allowed 2026-01-27 19:36:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/wrapping_equipment/shrink_wrap_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-yellow-100-yard-roll-1-roll-box>: HTTP status code is not handled or not allowed 2026-01-27 19:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-gold-6-yard-roll-1-roll-box>: HTTP status code is not handled or not allowed 2026-01-27 19:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-2-compartment-wardrobe-cabinet-black-grill-door-maple-color-1>: HTTP status code is not handled or not allowed 2026-01-27 19:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-guard-174-10-mil-temporary-surface-protection-72in-x-393ft>: HTTP status code is not handled or not allowed 2026-01-27 19:36:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-27 19:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-20601-040-40-30-amp-generator-power-extension-cord-with-nema-l14-30p-to-l14-30r>: HTTP status code is not handled or not allowed 2026-01-27 19:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-exercise-band-light-red-10-each>: HTTP status code is not handled or not allowed 2026-01-27 19:36:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/wrapping_equipment/shrink_wrap_systems landed on page that is not a product page. 2026-01-27 19:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241086-evaporator-75qt-240v-1000w-for-fisher-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 19:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-heavy-duty-rainsuit-yellow-polyester-5xl>: HTTP status code is not handled or not allowed 2026-01-27 19:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71702-28-single-blade-ultra-hygiene-squeegee-green>: HTTP status code is not handled or not allowed 2026-01-27 19:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53707-216-2-4-tube-brush-medium-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solar-gable-fan>: HTTP status code is not handled or not allowed 2026-01-27 19:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56887-1-5-gallon-bucket-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-strapping-58w-x-2200l-x-0025-thick-16-x-3-core-black>: HTTP status code is not handled or not allowed 2026-01-27 19:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-red-6-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-27 19:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-weather-survival-kit-70410-2-person>: HTTP status code is not handled or not allowed 2026-01-27 19:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-band-5-band-heavy-blue-black-retail-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/93249-spray-gun-black>: HTTP status code is not handled or not allowed 2026-01-27 19:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seapro-purofort-full-safety-boots-steel-toe-15h-size-4-blueyellow>: HTTP status code is not handled or not allowed 2026-01-27 19:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barnstead-1-2-size-mixed-bed-hose-nipple-cartridge-d50220-1-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barnstead-ultrapure-cartridge-d50213-half-size-1-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylinder-tube-rack-4-wide-x-1-deep-58w-x-16d-x-30h4-cylinder-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-6-door-clear-view-locker-w-digital-lock-12-w-x-15-d-x-78-h-tan-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 19:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/argonco2-flow-meter>: HTTP status code is not handled or not allowed 2026-01-27 19:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1164-fiberglass-sleeving-5-16-inch>: HTTP status code is not handled or not allowed 2026-01-27 19:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-production-workbench-stainless-steel-square-edge-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-24w-x-14d-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77525-16-foam-blade-squeegee-white>: HTTP status code is not handled or not allowed 2026-01-27 19:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-battery-jumper-cable-4t-awg-12l-blackred>: HTTP status code is not handled or not allowed 2026-01-27 19:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hw-pro-1000-non-programmable-vertical-thermostat-1h1c-th1110dv1009>: HTTP status code is not handled or not allowed 2026-01-27 19:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-black-cable-tie>: HTTP status code is not handled or not allowed 2026-01-27 19:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-concrete-installation-yellow-cover-red-tapes>: HTTP status code is not handled or not allowed 2026-01-27 19:36:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn852-latch-type-toggle-clamp-852-2800-t2s-welding-w-pull-latch-forged-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:36:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/machine_screws/pan_head_machine_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:36:50 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 19:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-recessed-specimen-pass-thru-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 19:36:51 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:4 2026-01-27 19:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portability-package-bishamon-li-2k-li-25k-scissor-li-table>: HTTP status code is not handled or not allowed 2026-01-27 19:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutting-attachment-for-30172-medium-duty-victor>: HTTP status code is not handled or not allowed 2026-01-27 19:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8132 pages (at 95 pages/min), scraped 4004 items (at 48 items/min) 2026-01-27 19:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-hopper-front-security-bulk-truck-48-cu>: HTTP status code is not handled or not allowed 2026-01-27 19:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts>: HTTP status code is not handled or not allowed 2026-01-27 19:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29352-51-aluminum-handle-green>: HTTP status code is not handled or not allowed 2026-01-27 19:37:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/screws/machine_screws/pan_head_machine_screws landed on page that is not a product page. 2026-01-27 19:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-18-x-72-phenolic-locker-double-tier-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-27 19:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polyester-filter-20-w-x-30-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-27 19:37:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:37:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29629-59-ultra-hygiene-handle-black>: HTTP status code is not handled or not allowed 2026-01-27 19:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-40223-s-telephone-wall-jack-6p4c-quick-connect-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29113-nylon-floor-scraper-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-production-workbench-shop-top-safety-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-18-w-x-24-h-x-2-d>: HTTP status code is not handled or not allowed 2026-01-27 19:37:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-36w-x-36d-black>: HTTP status code is not handled or not allowed 2026-01-27 19:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polyester-filter-8-w-x-30-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-27 19:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-handle-for-lobby-pan-39in-black-c29902>: HTTP status code is not handled or not allowed 2026-01-27 19:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-12-w-x-12-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-27 19:37:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards landed on page that is not a product page. 2026-01-27 19:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-stainless-steel-closet-cabinet-72-x-24-x-78>: HTTP status code is not handled or not allowed 2026-01-27 19:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-the-heritage-collection-translucent-lid-2000-cs-translucent-dx40008714>: HTTP status code is not handled or not allowed 2026-01-27 19:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-base-for-stsii-turbo-temp-induction-chargers-12-cs-latte-dx821031>: HTTP status code is not handled or not allowed 2026-01-27 19:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-rectorseal-wall-inlet-8-34l-x-5w-x-3-38h-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:37:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-27 19:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-equipment-hatch-48-x-48>: HTTP status code is not handled or not allowed 2026-01-27 19:37:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards landed on page that is not a product page. 2026-01-27 19:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010564-knob-open-burner-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-27 19:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-duct-access-door-20-x-20>: HTTP status code is not handled or not allowed 2026-01-27 19:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-replacement-motor-pulley-for-apex153-6500-portable-evaporative-coolers>: HTTP status code is not handled or not allowed 2026-01-27 19:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breakfast-blend-coffee-12-pods>: HTTP status code is not handled or not allowed 2026-01-27 19:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-120x42x96-add-on-unit-blue-orange-6700-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-96x42x96-add-on-unit-blue-orange-5080-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-plastic-hand-basket-43-liter-red>: HTTP status code is not handled or not allowed 2026-01-27 19:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium28-22-11-collapsible-inside-28l-x-22w-x-11>: HTTP status code is not handled or not allowed 2026-01-27 19:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-36-maple-square-edge-work-bench-fixed-height-1-3-4-top>: HTTP status code is not handled or not allowed 2026-01-27 19:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-shop-top-work-bench-fixed-height-1-3-4-top>: HTTP status code is not handled or not allowed 2026-01-27 19:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-starter-48inw-x-48ind-x-144inh-6590-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-starter-144inw-x-42ind-x-96inh-5702-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901276-switch-dispenser-green-dpst-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 19:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-weight-bar-7-5-lb-black-stripe>: HTTP status code is not handled or not allowed 2026-01-27 19:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-glad-hand-lock-keyed-different>: HTTP status code is not handled or not allowed 2026-01-27 19:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-plastic-folding-chair-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-ss-nsf-wall-shelf-17>: HTTP status code is not handled or not allowed 2026-01-27 19:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263765-plug-flare-brass-3-8>: HTTP status code is not handled or not allowed 2026-01-27 19:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccc06006-socket-set-screw>: HTTP status code is not handled or not allowed 2026-01-27 19:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/172958-height-rod-for-260-10-1-bariatric-handrail-scale>: HTTP status code is not handled or not allowed 2026-01-27 19:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012403-dial-2-d-off-7-1-for-randell>: HTTP status code is not handled or not allowed 2026-01-27 19:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abe12-heavy-duty-flat-washer>: HTTP status code is not handled or not allowed 2026-01-27 19:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-72-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-27 19:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8227 pages (at 95 pages/min), scraped 4053 items (at 49 items/min) 2026-01-27 19:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polar-chest-dry-ice-container-with-lid-casters-pb11dxx-43-l-x-27-1-2-w-x-39-1-2-h>: HTTP status code is not handled or not allowed 2026-01-27 19:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cmc06010-machine-screw>: HTTP status code is not handled or not allowed 2026-01-27 19:37:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cmc03030-machine-screw>: HTTP status code is not handled or not allowed 2026-01-27 19:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-bib-overall-xl-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:38:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-bib-overall-m-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-cube-ice-maker-remote-cooled-approx-913-lb-production-full-size-cube>: HTTP status code is not handled or not allowed 2026-01-27 19:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-utility-pail-23-quart>: HTTP status code is not handled or not allowed 2026-01-27 19:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-cup-oval-measuring-scoop>: HTTP status code is not handled or not allowed 2026-01-27 19:38:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-27 19:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-wrist-and-ankle-weight-20-piece-set>: HTTP status code is not handled or not allowed 2026-01-27 19:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-handle-medicine-ball-9-dia-23-cm-5-color-set>: HTTP status code is not handled or not allowed 2026-01-27 19:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-ball-elbow-side-outlet-for-15-tubing-polished-brass>: HTTP status code is not handled or not allowed 2026-01-27 19:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-adult-wrist-weight-2-lb-yellow-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 19:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-handle-medicine-ball-24-lb-9-dia-23-cm-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixing-bowl-5-quart-1>: HTTP status code is not handled or not allowed 2026-01-27 19:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531246-battery-photo-a76-alkaline>: HTTP status code is not handled or not allowed 2026-01-27 19:38:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-27 19:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-french-whip-18-inch>: HTTP status code is not handled or not allowed 2026-01-27 19:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/58-x-4-12-stud-wedge-anchor-304-stainless-steel-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-27 19:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-9-stud-wedge-anchor-304-stainless-steel-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-27 19:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/servewell-economy-breath-guard-2>: HTTP status code is not handled or not allowed 2026-01-27 19:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-42l-x-21w-x-69h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-adjustable-one-piece-seal-black-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-security-laminated-padlocks-with-master-keyed-system-7>: HTTP status code is not handled or not allowed 2026-01-27 19:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-stretch-waist-flex-twill-cargo-pants-30l-inseam-x-31-32-waist-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-blind-rivet-1-8-x-4-2-button-head-up-to-1-8-grip-aluminum-aluminum-pkg-of-500-nbbgamd42a>: HTTP status code is not handled or not allowed 2026-01-27 19:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-safety-rain-jacket-csa-class-2-level-2-l-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-36-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-27 19:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-insulated-quilted-jacket-2xl-olive>: HTTP status code is not handled or not allowed 2026-01-27 19:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barr8-hd-gd-crowdmaster-1000-barricade-100-by-43-hd-feet-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 19:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-42-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-27 19:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-low-pressure-air-water-70>: HTTP status code is not handled or not allowed 2026-01-27 19:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-tearmoisture-resist-poly-file-folders-13-cut-top-tab-letter-manila-12pack>: HTTP status code is not handled or not allowed 2026-01-27 19:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-add-on-54-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-27 19:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-file-folders-13-cut-assorted-one-ply-top-tab-letter-manila-100box>: HTTP status code is not handled or not allowed 2026-01-27 19:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-54-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-27 19:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421443-clamp-oetiker-5-8-inch-tube-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-visor-navy-18-005-nvy>: HTTP status code is not handled or not allowed 2026-01-27 19:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-insulated-hydro-parka-jacket-m-black>: HTTP status code is not handled or not allowed 2026-01-27 19:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetinghammers-jet-jsg-0101r>: HTTP status code is not handled or not allowed 2026-01-27 19:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireproof-2-drawer-vertical-safe-in-file-legal-31-9-16-lx20-13-16-wx27-3-4-h-champagne>: HTTP status code is not handled or not allowed 2026-01-27 19:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031159-relay-time-delay-120v-100-sec-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-27 19:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-shirred-pleat-skirting-16h-stage-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bandsawaccessories-jet-708127>: HTTP status code is not handled or not allowed 2026-01-27 19:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-hargrave-20483>: HTTP status code is not handled or not allowed 2026-01-27 19:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-flange-mount-cs-80-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-27 19:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8321 pages (at 94 pages/min), scraped 4101 items (at 48 items/min) 2026-01-27 19:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-48-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-27 19:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rwg558s-axis-cut-resistant-pu-palm-gloves-hi-vis-yellow-black-s-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 19:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chicago-pneumatic-7-heavy-duty-angle-polisher-cp7269p-2600-rpm-3-8-hose-id-1-4-air-intake->: HTTP status code is not handled or not allowed 2026-01-27 19:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-engineer-vest-orange-4xl-sv55-2zod-4x>: HTTP status code is not handled or not allowed 2026-01-27 19:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a30p24-medium-type-3r-hinged-cover-panel-enclosure-21-x-27-fits-24-x-30-box-white>: HTTP status code is not handled or not allowed 2026-01-27 19:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-4-in-1-safety-jacket-2xl-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14awg-2c-stranded-control-cable-cmr-500-ft-box-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-straight-hardboard-96l-x-18w-x-24h>: HTTP status code is not handled or not allowed 2026-01-27 19:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-desiccant-dehumidifier-dd700-460v-8-amps-6-2-k-231-pints>: HTTP status code is not handled or not allowed 2026-01-27 19:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beverage-cabinet-2-cup-dispensers-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warming-gel-8-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-27 19:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-plate-package-of-4>: HTTP status code is not handled or not allowed 2026-01-27 19:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-4-in-1-safety-jacket-s-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compress-tri-sectional-8-x-16>: HTTP status code is not handled or not allowed 2026-01-27 19:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421633-green-dishwashing-gloves-sold-as-a-pair>: HTTP status code is not handled or not allowed 2026-01-27 19:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-36-lb-beads-in-case-rose-blossom-fragrance>: HTTP status code is not handled or not allowed 2026-01-27 19:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-single-shelf-support-kit-14>: HTTP status code is not handled or not allowed 2026-01-27 19:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-level-wide-span-rack-60x48-wood-deck-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-garbage-can-24-gallon-commercial-duty>: HTTP status code is not handled or not allowed 2026-01-27 19:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-85968-08-08-knob-adj-12-tube-x-12-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 19:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-expandable-add-on-rack-72x48x84-gray-with-3-level-wood-deck-750lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 19:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-coupler-80621-04-14-x-14-male-nptf>: HTTP status code is not handled or not allowed 2026-01-27 19:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-overall-m-blackfluorescent-yellow-green>: HTTP status code is not handled or not allowed 2026-01-27 19:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-lined-safety-parka-jacket-3xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-27 19:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-85953-08-08-screw-adj-12-tube-x-12-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 19:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-and-cover-set-circular-pack-with-foam-filled-cover>: HTTP status code is not handled or not allowed 2026-01-27 19:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-420mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 19:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-30-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-27 19:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-piece-steel-feeler-gage-poc-kitassortment-12-inch-x-12-inch-blades>: HTTP status code is not handled or not allowed 2026-01-27 19:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171303-valve-rebuild-kit-10gpf-urnl-for-zurn-industries-llc>: HTTP status code is not handled or not allowed 2026-01-27 19:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012937-heater-wire-service-kit-20-ft-for-kolpak-refrigeration>: HTTP status code is not handled or not allowed 2026-01-27 19:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-48-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-27 19:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031234-coupling-disconnect-fem-1-2-inch-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-27 19:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264061-grinder-plate-3-16-inch>: HTTP status code is not handled or not allowed 2026-01-27 19:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-poly-acid-corrosive-cabinet-manual-close-44-gallon>: HTTP status code is not handled or not allowed 2026-01-27 19:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-150mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 19:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-3xl-black>: HTTP status code is not handled or not allowed 2026-01-27 19:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-jacket-3xl-blackfluorescent-yellow-green>: HTTP status code is not handled or not allowed 2026-01-27 19:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8418 pages (at 97 pages/min), scraped 4160 items (at 59 items/min) 2026-01-27 19:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-ind-grd-15a-125v-5-15p>: HTTP status code is not handled or not allowed 2026-01-27 19:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00360-d-ring-2-hole-anchor-plate-130-420-lbs-capacity-zinc-plated-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-elbow-55110-12-14-12mm-tube-x-14-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 19:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/916-inch-x-1-inch-keystock-zinc-plated-12-inch-length-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 19:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-extra-hd-boltless-shelving-add-on-36-in-w-x-18-in-d-x-72-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-21081-harness-quick-connect-chest-legs-s-l>: HTTP status code is not handled or not allowed 2026-01-27 19:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-vcl-series-condensate-removal-pump-115v>: HTTP status code is not handled or not allowed 2026-01-27 19:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-add-on-unit-without-boxes-42-in-w-x-30-in-d-x-36-in-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelf-36x24-with-4-clips-1>: HTTP status code is not handled or not allowed 2026-01-27 19:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-submersible-parts-washer-pump-230v-205gph-at-1ft>: HTTP status code is not handled or not allowed 2026-01-27 19:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-55040-10-6-10mm-tube-x-6mm-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 19:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-shelf-with-laminated-deck-48x48-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-transfer-tank-75-gal-combo-tank-wh-29224168>: HTTP status code is not handled or not allowed 2026-01-27 19:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-60110-06-04-38-tube-x-14-swift-fit-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulkhead-union-60050-06-38-tube-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx24-dx97-h-open-clip-style-4-shelf>: HTTP status code is not handled or not allowed 2026-01-27 19:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51054-100-heavy-duty-plastic-barrier-chain-hdpe-2-x100-54mm-green>: HTTP status code is not handled or not allowed 2026-01-27 19:40:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/flashlights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50118-plastic-barrier-chain-on-a-reel-hdpe-2-x125-8-51mm-pink>: HTTP status code is not handled or not allowed 2026-01-27 19:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-60110-06-08-38-tube-x-12-swift-fit-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-60130-06-38-tube-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56h-dp-1ph-1725rpm-p6k17dk12gg>: HTTP status code is not handled or not allowed 2026-01-27 19:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-1ph-1725rpm-m6c17fc13jj>: HTTP status code is not handled or not allowed 2026-01-27 19:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-tee-89230-05-516-tube-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-27 19:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/flashlights>: HTTP status code is not handled or not allowed 2026-01-27 19:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-aquatic-exercise-kit-jogger-belt-hand-bars-medium-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-182-dp-1ph-3450rpm-c182c34db2aa>: HTTP status code is not handled or not allowed 2026-01-27 19:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-tech-12h-stainless-steel-stand-737-x-33-models>: HTTP status code is not handled or not allowed 2026-01-27 19:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-tech-16-compartment-divider-insert-30087-rack-f-14>: HTTP status code is not handled or not allowed 2026-01-27 19:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-urinal-screen-bracket-kit-with-hardware>: HTTP status code is not handled or not allowed 2026-01-27 19:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-mat-3-ft-w-x-10-ft-l-1-2-in-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 19:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx30-wx73-h-closed-clip-style-5-shelf-starter>: HTTP status code is not handled or not allowed 2026-01-27 19:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-4xl-short-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300-piece-o-ring-assortment>: HTTP status code is not handled or not allowed 2026-01-27 19:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx30-dx85-h-closed-clip-style-5-shelf-add-on>: HTTP status code is not handled or not allowed 2026-01-27 19:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014008-ignition-kit-vc4-6g>: HTTP status code is not handled or not allowed 2026-01-27 19:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-henley-shirt-s-regular-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-commercial-high-heat-cooks-scraper-13-12-redwhite>: HTTP status code is not handled or not allowed 2026-01-27 19:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8515 pages (at 97 pages/min), scraped 4219 items (at 59 items/min) 2026-01-27 19:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-48-tefc-1ph-1725rpm-c4c17fc10cc>: HTTP status code is not handled or not allowed 2026-01-27 19:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kinesiology-tape-uncut-2-x-16-ft-blue-set-of-4-rolls>: HTTP status code is not handled or not allowed 2026-01-27 19:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-143-tefc-3ph-1760-1450rpm-c143t17fk9ee>: HTTP status code is not handled or not allowed 2026-01-27 19:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b12hs-all-ss-worm-gear-hose-clamp-916-inch-1-14-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 19:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-cup-company-bistro-design-hot-drink-cups-paper-16-oz-maroon-300carton>: HTTP status code is not handled or not allowed 2026-01-27 19:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd28s-916-inch-band-heavy-duty-3-pc-hose-clamp-1-516-inch-2-14-inch-clmpgdiam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-27 19:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-5550-123-7q-cord-reel-quad-outlet-box>: HTTP status code is not handled or not allowed 2026-01-27 19:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd12sn-916-inch-band-heavy-duty-4-pc-hose-clamp-58-inch-1-14-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-27 19:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m16s-all-ss-worm-gear-hose-clamp-1116-inch-1-12-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 19:41:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/single_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-tefc-1ph-1740rpm-c184k17fb15cc>: HTTP status code is not handled or not allowed 2026-01-27 19:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roofzone-ez-stor-warning-line-system-4-leg-4-stanchions-and-flag-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:41:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b60hsp-300-series-ss-hose-clamp-3-516-inch-4-14-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 19:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-waterproof-hard-case-w-p-tear-foam-11-l-x-9-11-16-w-x-4-3-16-h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lug-tote-box>: HTTP status code is not handled or not allowed 2026-01-27 19:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conductivity-benchtop-meter-standard-kit-vstar22>: HTTP status code is not handled or not allowed 2026-01-27 19:41:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/stools/special_purpose_stools/laboratory_medical_stools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-2-inch-x-0002-inch-stainless-steel-slotted-shim-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-27 19:41:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/single_phase_motors landed on page that is not a product page. 2026-01-27 19:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72w-x-30d-modular-workbench-with-5-drawers-esd-laminate-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers>: HTTP status code is not handled or not allowed 2026-01-27 19:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-products-world-art-insulated-hot-cups-16-oz-light-green-600carton>: HTTP status code is not handled or not allowed 2026-01-27 19:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thread-repair-kit-for-metal-thin-wall-10-24-x-5-16-18-ez-310-3>: HTTP status code is not handled or not allowed 2026-01-27 19:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/stools/special_purpose_stools/laboratory_medical_stools>: HTTP status code is not handled or not allowed 2026-01-27 19:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/182060-rfx-lp600-wireless-solar-wheel-load-6-scale-system-120000-lb-x-20-lb>: HTTP status code is not handled or not allowed 2026-01-27 19:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotom-189b-189-227-mfd-125-volts-start-round>: HTTP status code is not handled or not allowed 2026-01-27 19:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-co-extruded-gusseted-bags-40-x-27-x-60-3-mil-50-bags-per-roll>: HTTP status code is not handled or not allowed 2026-01-27 19:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotom-45-5dvr-45-5-mfd-370-440-volts-run-round>: HTTP status code is not handled or not allowed 2026-01-27 19:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0125-inch-diameter-stainless-steel-wire-1-pound-coil>: HTTP status code is not handled or not allowed 2026-01-27 19:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exo2-mig-06-xxlmotor-impact-glove>: HTTP status code is not handled or not allowed 2026-01-27 19:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-way-pipe-rack>: HTTP status code is not handled or not allowed 2026-01-27 19:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exo2-pig-03-mproject-impact-glove>: HTTP status code is not handled or not allowed 2026-01-27 19:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightning-lift153-heavy-duty-floor-jack-2-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multiple-15-amp-6-outlet-15ft>: HTTP status code is not handled or not allowed 2026-01-27 19:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-air-actuated-valve-pilot-1-4-nptf-ports>: HTTP status code is not handled or not allowed 2026-01-27 19:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-dock-board-with-aluminum-curbs-37>: HTTP status code is not handled or not allowed 2026-01-27 19:41:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261418-alum-tube-50ft-roll-3-16>: HTTP status code is not handled or not allowed 2026-01-27 19:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartrack-45u-black-2-post-frame-threaded>: HTTP status code is not handled or not allowed 2026-01-27 19:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-normally-closed-single-air-actuated-valve-pilot-spring-return1-2-nptf-ports>: HTTP status code is not handled or not allowed 2026-01-27 19:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/decoil-stretch-twinleg-lanyard-6l-snaphooks-w-rebar-hook>: HTTP status code is not handled or not allowed 2026-01-27 19:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321894-gh-26120zh-large-spindle-bore-lathe-w-newall-dp700-dro-taper-attachment>: HTTP status code is not handled or not allowed 2026-01-27 19:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccesge-led-die-cast-thin-exit-brushed-face-black-single-face-green-letters-wbattery>: HTTP status code is not handled or not allowed 2026-01-27 19:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8609 pages (at 94 pages/min), scraped 4274 items (at 55 items/min) 2026-01-27 19:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1061204-valve-spray-leadfree-angled>: HTTP status code is not handled or not allowed 2026-01-27 19:41:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands landed on page that is not a product page. 2026-01-27 19:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06135-1-4-x-2-x-1-plastic-horseshoe-shim-solid-74s-1020pc>: HTTP status code is not handled or not allowed 2026-01-27 19:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bath-swag-canopy-kit-black-finish>: HTTP status code is not handled or not allowed 2026-01-27 19:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06095-1-16-x-3-x-4-plastic-horseshoe-shim-56-500pc>: HTTP status code is not handled or not allowed 2026-01-27 19:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-covers-978-13-fits-plate-size-9-5-8-9-7-8-plastic>: HTTP status code is not handled or not allowed 2026-01-27 19:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-inch-x-10-inch-x-10-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 19:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-1199-magnetic-door-gasket-28-3-4-inch-x-71-7-8-inch>: HTTP status code is not handled or not allowed 2026-01-27 19:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-of-50-viton-square-profile-o-rings-dash-011>: HTTP status code is not handled or not allowed 2026-01-27 19:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bistro-stack-chair-black>: HTTP status code is not handled or not allowed 2026-01-27 19:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tabletop-personal-safety-partition-18w-x-24h-clear>: HTTP status code is not handled or not allowed 2026-01-27 19:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/augusta-steel-outdoor-trash-can-with-rain-bonnet-lid-36-gallon-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 19:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-panel-display-tower-6-ft-5-inch-high-fabric-sea-green>: HTTP status code is not handled or not allowed 2026-01-27 19:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-divider-8-ft-high-x-5-ft-9-inch-long-fabric-black>: HTTP status code is not handled or not allowed 2026-01-27 19:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxford-6-outdoor-bench-without-back-surface-mount-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-4-in-fitterantique-brass-finish>: HTTP status code is not handled or not allowed 2026-01-27 19:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartcompliance-complete-bleeding-control-station-deluxe-pro-plastic-case>: HTTP status code is not handled or not allowed 2026-01-27 19:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-straight-adapter-8mm-tube-od-x-14-npt-male>: HTTP status code is not handled or not allowed 2026-01-27 19:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-flat-washer-uss-1-1-16-i-d-136-192-thick-steel-zinc-grade-2-pkg-of-1-lbs>: HTTP status code is not handled or not allowed 2026-01-27 19:42:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-unglazed-porcelain-socket-w-adapter-double-snap-in-clip>: HTTP status code is not handled or not allowed 2026-01-27 19:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-heavy-duty-sheet-pan-one-half-size-9303-19-gauge-17-3-4-x-12-7-8-x-1>: HTTP status code is not handled or not allowed 2026-01-27 19:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-syringe-filter-0-45um-30mm-bulk-packed-non-sterile-100-case>: HTTP status code is not handled or not allowed 2026-01-27 19:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribute-sauce-stock-pots-77522-16-quart-capacity-8-1-2-depth>: HTTP status code is not handled or not allowed 2026-01-27 19:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-ft-extension-cord-16-2-spt-2-white>: HTTP status code is not handled or not allowed 2026-01-27 19:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-countersunk-finishing-washer-185-161-i-d-012-02-thick-brass-plain-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 19:42:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-27 19:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-tee-reducer-12mm-tube-od-x-10mm-tube-od>: HTTP status code is not handled or not allowed 2026-01-27 19:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63102-twin-basket-blue-17-1-8l-8-1-4w-6d>: HTTP status code is not handled or not allowed 2026-01-27 19:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-length-squeeze-disher-47393-green-2-8-oz-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:42:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/test_indicators_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-12-x-73>: HTTP status code is not handled or not allowed 2026-01-27 19:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-high-pressure-clear-pvc-tubing-1id-x-1-14od-x-25-ft>: HTTP status code is not handled or not allowed 2026-01-27 19:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-48x18x96-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-tubing-rack-2-straight-arms>: HTTP status code is not handled or not allowed 2026-01-27 19:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-high-pressure-clear-pvc-tubing-38id-x-12od-x-100-ft>: HTTP status code is not handled or not allowed 2026-01-27 19:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iec-metric-motor-112m-ip55-3ph-c112t34fz4cc>: HTTP status code is not handled or not allowed 2026-01-27 19:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-level-boltless-wood-deck-3>: HTTP status code is not handled or not allowed 2026-01-27 19:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pla-03244-128oz-3840ml-white-hdpe-f-style-jug-only-38-400-neck-finish-case-of-54>: HTTP status code is not handled or not allowed 2026-01-27 19:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/measurement_layout_tools/test_indicators_holders>: HTTP status code is not handled or not allowed 2026-01-27 19:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thank-you-plastic-tip-tray-1000-96-black-6-1-2-x-4-1-2>: HTTP status code is not handled or not allowed 2026-01-27 19:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-round-table-with-2-imme-armless-barstools-sky-blue-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-27 19:42:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=shelf-bin-divider-2 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-long-tan-single-rivet-beam>: HTTP status code is not handled or not allowed 2026-01-27 19:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-nph43-lower-taping-head-2>: HTTP status code is not handled or not allowed 2026-01-27 19:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/304-ss-straight-reducers-tubeto-tubefor-quick-clamp-fittings-for-2-x-1-12-tubeod>: HTTP status code is not handled or not allowed 2026-01-27 19:42:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:42:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/chafing_dishes_fuel already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/414227-cs-315-315mm-ferrous-manual-cold-saw-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 19:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=shelf-bin-divider-2>: HTTP status code is not handled or not allowed 2026-01-27 19:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acid-corrosive-cabinet-manual-single-door-vertical-storage-1>: HTTP status code is not handled or not allowed 2026-01-27 19:42:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12n40a03k-zinc-die-cast-adjustable-lever-w-steel-components-m12-x-40mm-stud>: HTTP status code is not handled or not allowed 2026-01-27 19:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1757-mesh-filter-20-inch-x-25-inch-x-2-inch>: HTTP status code is not handled or not allowed 2026-01-27 19:42:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-27 19:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-aero-750cc-motorcycle-replacement-battery-2004-2008>: HTTP status code is not handled or not allowed 2026-01-27 19:42:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/chafing_dishes_fuel landed on page that is not a product page. 2026-01-27 19:42:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fd-20-saver-cycle-cycling-refrigerated-dryer-42-cfm-1-phase-115v>: HTTP status code is not handled or not allowed 2026-01-27 19:42:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8705 pages (at 96 pages/min), scraped 4318 items (at 44 items/min) 2026-01-27 19:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-barstools-white-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-27 19:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorola-1-wire-surveillance-earpiece>: HTTP status code is not handled or not allowed 2026-01-27 19:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690036-jvm-836-1-vertical-milling-machine-1-1-2-hp-115v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 19:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-cut-polypropylene-strapping-with-plastic-buckle-1-2-x-17-black-skid-lot>: HTTP status code is not handled or not allowed 2026-01-27 19:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-ergonomic-mat-9-16-thick-36-wide-black-yellow-border-up-to-75>: HTTP status code is not handled or not allowed 2026-01-27 19:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-wall-insulated-serving-bowl-4659150-3-4-quart-pearl-white>: HTTP status code is not handled or not allowed 2026-01-27 19:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/lathes>: HTTP status code is not handled or not allowed 2026-01-27 19:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/lathes>: HTTP status code is not handled or not allowed 2026-01-27 19:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012582-grate-reversible-6-ribscb>: HTTP status code is not handled or not allowed 2026-01-27 19:43:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-27 19:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-light-gray-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-27 19:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-caster-chairs-light-gray-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-27 19:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2281224-caster-stem-4-inch-female-thread-swivel>: HTTP status code is not handled or not allowed 2026-01-27 19:43:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/guest_reception_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-caster-chairs-sky-blue-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-27 19:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-48x48x96-with-3-levels-wire-deck-1500-lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:43:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/condiment_servers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1151042-spout-8-inch-chicago-leadfree-for-chicago-faucets>: HTTP status code is not handled or not allowed 2026-01-27 19:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-step-stool-red-step17r>: HTTP status code is not handled or not allowed 2026-01-27 19:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centurion-sauce-pan-3704-4-1-4-quart-5-1-4-depth>: HTTP status code is not handled or not allowed 2026-01-27 19:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-48x24-high-capacity-rack-wire-deck-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/guest_reception_chairs>: HTTP status code is not handled or not allowed 2026-01-27 19:43:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-66623340037-abrasotex-non-woven-quick-change-disc-2-inch-dia-med-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 19:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-mold-on-8-rubber-hand-truck-wheel-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-2656-zinc-wire-shelf-24-1-2-inch-x-25-inch>: HTTP status code is not handled or not allowed 2026-01-27 19:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/releasable-cable-tie-8-25-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-tie-down-clamps-2-sets-4400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-tie-uvb-14-75-lb-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013952-fan-motor-condensor-115v-16w-cw-for-delfield>: HTTP status code is not handled or not allowed 2026-01-27 19:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/luxuvc-8-chamber-uv-c-charging-locker>: HTTP status code is not handled or not allowed 2026-01-27 19:43:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs landed on page that is not a product page. 2026-01-27 19:43:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/condiment_servers landed on page that is not a product page. 2026-01-27 19:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-cheese-blocker-1837-1-2-measuring-increments-50-lb-cheese-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012957-blower-assembly-240v-390-690-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-27 19:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-07660701617-gemini-right-angle-cut-off-wheel-4-1-2-inch-x-040-inch-x-7-8-inch-60-grit-alum-oxide-type-1>: HTTP status code is not handled or not allowed 2026-01-27 19:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-dc-parallel-51rpm-tenv>: HTTP status code is not handled or not allowed 2026-01-27 19:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-dry-erase-white-board-60-x-48-steel-surface-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-ac-parallel-18rpm-c4c17fz27c>: HTTP status code is not handled or not allowed 2026-01-27 19:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-resistant-sleeve-with-thumb-hole-ansi-a4-18l-hi-vis-yellow-12-pair>: HTTP status code is not handled or not allowed 2026-01-27 19:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-sandwich-press-40790>: HTTP status code is not handled or not allowed 2026-01-27 19:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66623340032-bear-tex-non-woven-quick-change-disc-3-4-inch-dia-med-grit-aluminum-oxide-type-iii>: HTTP status code is not handled or not allowed 2026-01-27 19:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-back-industrial-chair-vinyl-seat-meteor-supernova>: HTTP status code is not handled or not allowed 2026-01-27 19:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8231tvk-hi-vis-tool-tethering-safety-vest-kit-type-r-class-2-lxl>: HTTP status code is not handled or not allowed 2026-01-27 19:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262410-swivel-stem-caster5-w-1-5-8-od-tubing>: HTTP status code is not handled or not allowed 2026-01-27 19:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hcb-103am-ntep-approved-portable-precision-balance-100-g-x-0-001-g>: HTTP status code is not handled or not allowed 2026-01-27 19:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-ac-parallel-22rpm-c4c17fz37c>: HTTP status code is not handled or not allowed 2026-01-27 19:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6492-2-piece-wind-resistant-multi-band-american-flag>: HTTP status code is not handled or not allowed 2026-01-27 19:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-wash-only-sign-4504-3-x-9>: HTTP status code is not handled or not allowed 2026-01-27 19:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-wall-bin-lid-conductive-sold-per-carton-of-3>: HTTP status code is not handled or not allowed 2026-01-27 19:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rw30-3z1y-general-purpose-rain-jacket-hi-viz-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-27 19:43:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011470-baffle-16-inch-x-16-inch-filter-132x132>: HTTP status code is not handled or not allowed 2026-01-27 19:43:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8799 pages (at 94 pages/min), scraped 4363 items (at 45 items/min) 2026-01-27 19:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcs107-arctic-radwear-cooling-headband-red-paisley>: HTTP status code is not handled or not allowed 2026-01-27 19:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs1-21-rad-sequel-safety-eyewear-smoke-anti-fog>: HTTP status code is not handled or not allowed 2026-01-27 19:43:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-225-rekoil-hose-safety-blow-gun-kit-1-4-npt>: HTTP status code is not handled or not allowed 2026-01-27 19:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases>: HTTP status code is not handled or not allowed 2026-01-27 19:44:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases>: HTTP status code is not handled or not allowed 2026-01-27 19:44:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riv-nut-tool-300-8-mm-head>: HTTP status code is not handled or not allowed 2026-01-27 19:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al-stratus-plaque-diffuser-with-10-neck-black-str-pq-10bk>: HTTP status code is not handled or not allowed 2026-01-27 19:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3810-grade-1-mortise-lock-passage-sect-us26d-wlm>: HTTP status code is not handled or not allowed 2026-01-27 19:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bag-2-mil-zipper-lock-with-write-on-label-3-x-4>: HTTP status code is not handled or not allowed 2026-01-27 19:44:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/thresholds_bottom_sweeps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bag-2-mil-zipper-lock-6-x-6>: HTTP status code is not handled or not allowed 2026-01-27 19:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases>: HTTP status code is not handled or not allowed 2026-01-27 19:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342247-surface-heater-240v-2kw>: HTTP status code is not handled or not allowed 2026-01-27 19:44:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/laboratory_tables landed on page that is not a product page. 2026-01-27 19:44:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-27 19:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-31>: HTTP status code is not handled or not allowed 2026-01-27 19:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffer-23-3-4-x-23-3-4-pvc-lay-in-tile-in-matte-white-pl6101>: HTTP status code is not handled or not allowed 2026-01-27 19:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ignition-20-4-way-stretch-task-chair-mid-back-17-21h-seat-passion-fruit>: HTTP status code is not handled or not allowed 2026-01-27 19:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/thresholds_bottom_sweeps>: HTTP status code is not handled or not allowed 2026-01-27 19:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vpl907led-sign-projector-with-lens>: HTTP status code is not handled or not allowed 2026-01-27 19:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/221596-kason-10056l05020-latch-for-kason>: HTTP status code is not handled or not allowed 2026-01-27 19:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-straight-coupling-2>: HTTP status code is not handled or not allowed 2026-01-27 19:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-stainless-steel-lug-cart-capacity-2-lug>: HTTP status code is not handled or not allowed 2026-01-27 19:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x26-1-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 19:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-3-23-3-4-x-23-3-4-pvc-lay-in-tile-in-argent-sliver-pl5409>: HTTP status code is not handled or not allowed 2026-01-27 19:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3254-5-inch-swivel-stem-caster-with-brake-for-7-8-inch-square-post-260-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-aluminum-sheet-pan-truck>: HTTP status code is not handled or not allowed 2026-01-27 19:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1571111-connector-gas-3-4-inch-x36-inch-for-dormont-mfg>: HTTP status code is not handled or not allowed 2026-01-27 19:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-tee-crossover-2>: HTTP status code is not handled or not allowed 2026-01-27 19:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-driven-live-roller-conveyor-1-9-dia-rollers-1-2-hp-10l-x-48w>: HTTP status code is not handled or not allowed 2026-01-27 19:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piston-pump-aggressive-chemicals-1>: HTTP status code is not handled or not allowed 2026-01-27 19:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swing-glass-door-merchandiser-63-high>: HTTP status code is not handled or not allowed 2026-01-27 19:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10195173-construction-harness-back-chest-hip-d-rings-tongue-buckle-leg-straps-std>: HTTP status code is not handled or not allowed 2026-01-27 19:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72in-w-x-48in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-office-chair-with-arms-fabric-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flex-tube-3-4-x-5-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-72-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10197217-harness-back-hip-d-rings-tongue-buckle-leg-straps-super-extra-large>: HTTP status code is not handled or not allowed 2026-01-27 19:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spillmagic-sm12-spillmagic-12-oz-bag>: HTTP status code is not handled or not allowed 2026-01-27 19:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-21-x-30-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-extra-heavy-duty-boltless-shelving-starter-36in-w-x-18in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16x14x10-double-wall-boxes>: HTTP status code is not handled or not allowed 2026-01-27 19:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-divider-rotating-parts-center>: HTTP status code is not handled or not allowed 2026-01-27 19:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weblok-assembly-877010-2-synthetic-to-synthetic-3-8-5000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-inch-nylon-ball-carbon-steel-machined-drop-in-ball-transfer>: HTTP status code is not handled or not allowed 2026-01-27 19:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tutco-crankcase-25-120-21>: HTTP status code is not handled or not allowed 2026-01-27 19:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x40x48-double-wall-gaylord-bottom>: HTTP status code is not handled or not allowed 2026-01-27 19:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latch-kit-for-quick-connect-hook-green-5300-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8893 pages (at 94 pages/min), scraped 4410 items (at 47 items/min) 2026-01-27 19:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-wide-boltless-shelving-starter-48in-w-x-48in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-lever-hoist-3-ton-capacity-5-lift>: HTTP status code is not handled or not allowed 2026-01-27 19:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/er70s-6-mild-steel-solid-mig-welding-wire-035-10-lbs-spool>: HTTP status code is not handled or not allowed 2026-01-27 19:44:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/relays_sequencers/relays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461144-thermostatgs-3-8-x-4-1-2-60>: HTTP status code is not handled or not allowed 2026-01-27 19:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-heavy-duty-boltless-shelving-add-on-72in-w-x-30in-d-x-36in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fivestar-3-gal-self-contained-carpet-extractor-85-psi-pump-107-inch-waterlift-401tr>: HTTP status code is not handled or not allowed 2026-01-27 19:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangle-library-table-60-wide-30-deep-29-high-medium-oak>: HTTP status code is not handled or not allowed 2026-01-27 19:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-black-lid-1-2-cubic-yard-rubbermaid-tilt-trucks>: HTTP status code is not handled or not allowed 2026-01-27 19:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burglar-safe-24-w-22-5-8-d-30-1-2-h-electronic-lock-8-23-cu-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 19:45:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/relays_sequencers/relays landed on page that is not a product page. 2026-01-27 19:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disinfecting-bio-stain-odor-remover-32-oz-spray-bottle-9-bottles-case>: HTTP status code is not handled or not allowed 2026-01-27 19:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2411031-handle-air-filter-ne3280-for-panasonic-microwave>: HTTP status code is not handled or not allowed 2026-01-27 19:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-54-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lxt-174-cordless-2-pc-combo-kit-5-0ah-18v-lithium-ion-cut-out-tool>: HTTP status code is not handled or not allowed 2026-01-27 19:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-in-adjustable-bookcase-36-wide-11-deep-47-high-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 19:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-supreme-v-2-x-100-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-60-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-36inw-x-12ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slicer-12-1-1-4-width-rw>: HTTP status code is not handled or not allowed 2026-01-27 19:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-0-arcguard-rubber-voltage-glove-kit-yellow-size-10-kitgc010y>: HTTP status code is not handled or not allowed 2026-01-27 19:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-13-light-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ladder-safety-strap-pack-slclssk>: HTTP status code is not handled or not allowed 2026-01-27 19:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-16-light-grey>: HTTP status code is not handled or not allowed 2026-01-27 19:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-hooks-slcaeashi2-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b51a-bx-rep-kit-handle-asm-royal-boxed>: HTTP status code is not handled or not allowed 2026-01-27 19:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-24x16-arrow-sign-pedestrians>: HTTP status code is not handled or not allowed 2026-01-27 19:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-60inw-x-36ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-24-octagone-sign-stop-watch-for-forklifts>: HTTP status code is not handled or not allowed 2026-01-27 19:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342290-evaporator-15-qt-240v-1500w>: HTTP status code is not handled or not allowed 2026-01-27 19:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-24x18-rectangle-think-safety-first>: HTTP status code is not handled or not allowed 2026-01-27 19:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-1134-on-off-mini-micro-pin-switch-15a-125-250v>: HTTP status code is not handled or not allowed 2026-01-27 19:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-force-blaster-motorcycle-dryer-4-0-hp>: HTTP status code is not handled or not allowed 2026-01-27 19:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1010-thermostat-type-k-temperature-200-375-f-20-inch-capillary>: HTTP status code is not handled or not allowed 2026-01-27 19:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-18-white>: HTTP status code is not handled or not allowed 2026-01-27 19:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8300-vortex-cooling-vest-standard>: HTTP status code is not handled or not allowed 2026-01-27 19:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-36-x-18-white>: HTTP status code is not handled or not allowed 2026-01-27 19:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-drawer-layout-12-compartments-5-5-w-x-3-h>: HTTP status code is not handled or not allowed 2026-01-27 19:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-60x24x96-starter>: HTTP status code is not handled or not allowed 2026-01-27 19:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511130-thermocouple-baso-slmjim-72-for-johnson-controls>: HTTP status code is not handled or not allowed 2026-01-27 19:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmb-cable-with-ground-yellow-12-3-awg>: HTTP status code is not handled or not allowed 2026-01-27 19:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-4-cl3r-cmr-7-str>: HTTP status code is not handled or not allowed 2026-01-27 19:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thhn-4-gauge-building-wire-stranded-type-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-2-awg-thhn-black-white-green-aluminum-mc>: HTTP status code is not handled or not allowed 2026-01-27 19:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-oval-smooth-aluminum-light-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 19:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-extra-heavy-duty-boltless-shelving-add-on-96inw-x-24ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 8991 pages (at 98 pages/min), scraped 4462 items (at 52 items/min) 2026-01-27 19:45:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-in-w-x-64-in-h-panel-with-electric-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc40xl12-40-cal-compliance-arc-flash-kit-w-short-coat-bib-overall-xl-sz-12>: HTTP status code is not handled or not allowed 2026-01-27 19:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-compartment-wood-literature-sorter-23-1-2-h-oak>: HTTP status code is not handled or not allowed 2026-01-27 19:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-ext-pilot-g-1-8-220v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 19:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11-sm08-12-cal-cm2-ultrasoft-arc-flash-kit-with-fr-coverall-sm-glove-size-08>: HTTP status code is not handled or not allowed 2026-01-27 19:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-13-super-premium-heavy-duty-staples-13-mm-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-in-w-x-64-in-h-non-electric-panel-with-raceway-only-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-inch-x-30-inch-x-30-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 19:46:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11bl08-12-cal-ultrasoft-arc-flash-kit-fr-coverall-balaclava-l-glove-sz-08>: HTTP status code is not handled or not allowed 2026-01-27 19:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pres-cntr-g1-8-dbl-solenoid-vlv-pilot-spr-cntred-110v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-27 19:46:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners landed on page that is not a product page. 2026-01-27 19:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-24ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc100-md12-100-cal-cm2-arc-flash-kit-md-glove-size-12>: HTTP status code is not handled or not allowed 2026-01-27 19:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-female-male-reducer-adapter-369-2061524-2-npt-x-1-1-2-nh-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 19:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners>: HTTP status code is not handled or not allowed 2026-01-27 19:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-in-polyurethane-steer-wheel-for-wesco-pallet-truck-984872>: HTTP status code is not handled or not allowed 2026-01-27 19:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pressure-cntr-g1-8-dbl-solenoid-valve-pilot-spring-cntred-24v-dc-2w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 19:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m18andno8482-cordless-2-tool-combo-kit-2691-22>: HTTP status code is not handled or not allowed 2026-01-27 19:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2481019-knife-for-univex>: HTTP status code is not handled or not allowed 2026-01-27 19:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-industrial-fog-nozzle-520-1021-1-nh-brass>: HTTP status code is not handled or not allowed 2026-01-27 19:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-bin-plastic-stacking-bins-2-3-4-x-5-1-4-x-3-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1196-1-4-inch-mpt-x-3-8-inch-fpt-reducer-adapter>: HTTP status code is not handled or not allowed 2026-01-27 19:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-24ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-pin-rack-unit-142-1005-1-1-2-x-100-ft-hose-plastic-nozzle-steel-red>: HTTP status code is not handled or not allowed 2026-01-27 19:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-8-1-4-x-18-x-9-red>: HTTP status code is not handled or not allowed 2026-01-27 19:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-closed-cntr-spr-cntred-g1-8-110v-ac-5va-coil-led>: HTTP status code is not handled or not allowed 2026-01-27 19:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-96inw-x-36ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-mobile-rack-with-bins-7>: HTTP status code is not handled or not allowed 2026-01-27 19:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-female-swivel-x-male-adapter-363-2522561-2-1-2-nh-x-2-1-2-npt-brass>: HTTP status code is not handled or not allowed 2026-01-27 19:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-rack-51653-pr-for-closet-vault-ii-gun-cabinet-wire-rack-only-51653-s>: HTTP status code is not handled or not allowed 2026-01-27 19:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-rack-wall-rack-9>: HTTP status code is not handled or not allowed 2026-01-27 19:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-ropeless-nylon-red-round>: HTTP status code is not handled or not allowed 2026-01-27 19:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24w-12-step-steel-rolling-ladder-21d-top-step-wcal-osha-handrail-ca>: HTTP status code is not handled or not allowed 2026-01-27 19:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24w-13-step-steel-rolling-ladder-14d-top-step-wcal-osha-handrail-ca>: HTTP status code is not handled or not allowed 2026-01-27 19:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainable-blade-fixed-louver-with-flange-36w-x-24h-dfl-f-36x24>: HTTP status code is not handled or not allowed 2026-01-27 19:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-dunnage-rack-30-w-x-24-d-1>: HTTP status code is not handled or not allowed 2026-01-27 19:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-removable-insert-for-eterna-cartridge-cold-left>: HTTP status code is not handled or not allowed 2026-01-27 19:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-fleximount-indoor-blower-277v-1075rpm-12hp>: HTTP status code is not handled or not allowed 2026-01-27 19:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jrs-5l-18w-straight-gal-steel-roller-conveyor-1-3-8-roller-dia-16-bf-15-axle-center>: HTTP status code is not handled or not allowed 2026-01-27 19:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-outdoor-inflatable-bounce-house-blower-3-hp-1700-cfm-br-292a>: HTTP status code is not handled or not allowed 2026-01-27 19:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-96inw-x-36ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-double-shaft-blower-208-230v-1625rpm-13hp>: HTTP status code is not handled or not allowed 2026-01-27 19:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrs-5l-18w-straight-gal-steel-roller-conveyor-19-roller-dia-15-bf-6-axle-center>: HTTP status code is not handled or not allowed 2026-01-27 19:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-102-amp-115v-1075rpm-reversible>: HTTP status code is not handled or not allowed 2026-01-27 19:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jrs-22w-1-3-8-dia-gal-steel-roller-for-24-roller-conveyors>: HTTP status code is not handled or not allowed 2026-01-27 19:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014274-top-assembly-9-inch-plastic-blk-for-fetco>: HTTP status code is not handled or not allowed 2026-01-27 19:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-3xl-ln-gray-tcg01150229>: HTTP status code is not handled or not allowed 2026-01-27 19:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-4x-ln-navy-tcg01160232>: HTTP status code is not handled or not allowed 2026-01-27 19:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-g-1-8-single-solenoid-valve-pilot-spr-return-110v-ac-5va-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-27 19:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 9088 pages (at 97 pages/min), scraped 4510 items (at 48 items/min) 2026-01-27 19:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/66102-brew-basket-for-newco-enterprises>: HTTP status code is not handled or not allowed 2026-01-27 19:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx18-dx97-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-27 19:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-48inw-x-36ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-control-2-0-long-sleeve-t-shirt-3xl-khaki-c52jksrls3xl>: HTTP status code is not handled or not allowed 2026-01-27 19:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g-1-8-dbl-solenoid-valve-pilot-spring-cntred-24v-dc-2w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-27 19:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvdf-syringe-filters-non-sterile-0-22um-13mm-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264258-reducing-coupling-1-2-inch-ftg-x-3-8-inch>: HTTP status code is not handled or not allowed 2026-01-27 19:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-24ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-slotted-upright-frame-3-channel-36x192>: HTTP status code is not handled or not allowed 2026-01-27 19:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spr-cntred-closed-cntr-g1-8-110v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 19:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kitchen-pegboard-pack-storage-organization-kit-orange-red-32-x-32-x-6>: HTTP status code is not handled or not allowed 2026-01-27 19:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-48x24x54>: HTTP status code is not handled or not allowed 2026-01-27 19:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-unassembled-deluxe-storage-cabinet-36w-x-18d-x-78-3-4-h-medium-grey>: HTTP status code is not handled or not allowed 2026-01-27 19:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-half-square-aluminum-indoor-outdoor-table-with-base>: HTTP status code is not handled or not allowed 2026-01-27 19:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-thru-deluxe-unassembled-steel-wardrobe-cabinet-36w-x-24d-x-78h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-72x24x63>: HTTP status code is not handled or not allowed 2026-01-27 19:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-thru-standard-welded-storage-cabinet-36w-x-18d-x-72h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-person-wall-mount-box-locker-12w-x-18d-x-12h-medium-grey>: HTTP status code is not handled or not allowed 2026-01-27 19:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-shelf-truck-36x18x80-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-master-workbench-kit-blue-white-96-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 19:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nvt4201-portable-balance-4-200g-x-0-1g-6-15-16-x-9-1-8-platform>: HTTP status code is not handled or not allowed 2026-01-27 19:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peel-hanger-4-5-8-x1-1-4-deep-x-3-high-chrome-on-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aero-one-bowl-ss-sink-18-x-18>: HTTP status code is not handled or not allowed 2026-01-27 19:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-72w-x-36d-x-144h-cap-per-level-add-on-unit>: HTTP status code is not handled or not allowed 2026-01-27 19:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/265932-hinge-kit-for-delfield>: HTTP status code is not handled or not allowed 2026-01-27 19:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dough-retarding-box-18x26x3-5>: HTTP status code is not handled or not allowed 2026-01-27 19:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-swivel-plate-caster-6-tpr-wheel-with-brake>: HTTP status code is not handled or not allowed 2026-01-27 19:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-5-8-security-sheet-metal-screw-flat-spanner-head-18-8-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-108w-x-42d-x-120h-4040-lbs-cap-per-level-starter-unit>: HTTP status code is not handled or not allowed 2026-01-27 19:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-120w-x-42d-x-120h-3320-lbs-cap-per-level-add-on-unit>: HTTP status code is not handled or not allowed 2026-01-27 19:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6690-cooling-arm-sleeves-lime-m-12283>: HTTP status code is not handled or not allowed 2026-01-27 19:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-edge-work-bench-top-maple-60-w-x-36-d-x-1-3-4-thick>: HTTP status code is not handled or not allowed 2026-01-27 19:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-a-polypropylene-cam-and-groove-adapter-x-female-npt>: HTTP status code is not handled or not allowed 2026-01-27 19:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6601-economy-evaporative-cooling-towel-blue-12411>: HTTP status code is not handled or not allowed 2026-01-27 19:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010615-hose-fitting-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-27 19:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-72x24x60-with-3-shelves-no-deck-900-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-27 19:47:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/uninterrupted_power_supply_backup_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-16-inch-carbon-steel-preformed-band-it-jr-clamp-with-3-8-inch-band>: HTTP status code is not handled or not allowed 2026-01-27 19:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 9183 pages (at 95 pages/min), scraped 4569 items (at 59 items/min) 2026-01-27 19:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-5-8-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk-75104>: HTTP status code is not handled or not allowed 2026-01-27 19:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-501-add-on-motion-sensor-black>: HTTP status code is not handled or not allowed 2026-01-27 19:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-manhole-entry-device-system>: HTTP status code is not handled or not allowed 2026-01-27 19:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-plastic-square-edge-work-bench-adjustable-height-1-5-8-top>: HTTP status code is not handled or not allowed 2026-01-27 19:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-1-4-security-machine-screw-button-torx-plus-head-18-8-stainless-steel-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/uninterrupted_power_supply_backup_systems>: HTTP status code is not handled or not allowed 2026-01-27 19:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-wide-span-rack-96x24-wood-deck-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-ranger-hat-fluorescent-lime-polyester-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-27 19:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-9-black>: HTTP status code is not handled or not allowed 2026-01-27 19:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011569-bearing-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-324-1-light-4-tier-garden-light-green-6-125w-x-8-625h>: HTTP status code is not handled or not allowed 2026-01-27 19:48:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-96x24x60-with-3-shelves-wood-deck-800-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-27 19:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-3-station-with-manual-faucets-straight-legs-72l-x20wx8d>: HTTP status code is not handled or not allowed 2026-01-27 19:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwik-ae-aluminum-kwik-kit-railing-system-6-foot-extension-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-crevice-nozzle-40mm-diameter-9-988-116-0>: HTTP status code is not handled or not allowed 2026-01-27 19:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 19:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garden-lead-in-hose-58-id-x-5l-zilla-green>: HTTP status code is not handled or not allowed 2026-01-27 19:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garden-lead-in-hose-58-id-x-10l-zilla-green>: HTTP status code is not handled or not allowed 2026-01-27 19:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/icon-153-overall-fluorescent-lime-black-snap-fly-front-small>: HTTP status code is not handled or not allowed 2026-01-27 19:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-level-boltless-8>: HTTP status code is not handled or not allowed 2026-01-27 19:48:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mk-296-nitrile-powder-free-disposable-gloves-4-7-mil-black-m-100-box>: HTTP status code is not handled or not allowed 2026-01-27 19:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valence-womens-safety-work-boots-steel-toe-7h-size-9w-chestnut-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-131-2-light-ceiling-flush-mount-frosted-ribbed-textured-white-11-25w-x-5h>: HTTP status code is not handled or not allowed 2026-01-27 19:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-5-vegan-blackout>: HTTP status code is not handled or not allowed 2026-01-27 19:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sck702-heat-stress-temperature-sign-beat-the-heat-28-h-x-20-w-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 19:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-347-2-light-ceiling-flush-mount-large-white-mushroom-polished-brass-12w-x-6h>: HTTP status code is not handled or not allowed 2026-01-27 19:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss10n10c-commercial-kuhl-window-wall-air-conditioner-10000-btu-cool-122-eer-115v>: HTTP status code is not handled or not allowed 2026-01-27 19:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-ssetpbk-o3x-class-2-black-bottom-t-shirt-w-pocket-orange-3x>: HTTP status code is not handled or not allowed 2026-01-27 19:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 19:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-lab-table-36h-with-black-phenolic-resin-top-72-30>: HTTP status code is not handled or not allowed 2026-01-27 19:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-33-height-adjustable-vinyl-padded-stool-with-backrest-black>: HTTP status code is not handled or not allowed 2026-01-27 19:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-24-18-gauge-stainless-steel-workbench>: HTTP status code is not handled or not allowed 2026-01-27 19:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-use-table-transport-dolly-cart-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881301-relay-overload-andstart-capacitor-combo>: HTTP status code is not handled or not allowed 2026-01-27 19:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4906-adams-1-light-outdoor-wall-frosted-textured-black-6-125w-x-13-75h>: HTTP status code is not handled or not allowed 2026-01-27 19:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-359-empire-6-light-chandelier-alabaster-bell-textured-white-26w-x-14h>: HTTP status code is not handled or not allowed 2026-01-27 19:48:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/plate_glass_chillers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421568-dilution-timer-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 19:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-471-car-port-2-light-flush-mount-texture-frosted-polished-brass-9-25w>: HTTP status code is not handled or not allowed 2026-01-27 19:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-bin-rail-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scensiblescombination-receptacle-dispenser-white-metal-cdwm>: HTTP status code is not handled or not allowed 2026-01-27 19:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-piece-pegboard-hook-set>: HTTP status code is not handled or not allowed 2026-01-27 19:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-high-letter-starter-empty-bone-white>: HTTP status code is not handled or not allowed 2026-01-27 19:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-7-step-steel-rolling-ladder-14-d-top-step-lock-style-a>: HTTP status code is not handled or not allowed 2026-01-27 19:48:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/plate_glass_chillers landed on page that is not a product page. 2026-01-27 19:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ego-mst1501-580cfm-blower-bare-tool-only>: HTTP status code is not handled or not allowed 2026-01-27 19:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-2-step-steel-rolling-ladder-10-d-top-step-1>: HTTP status code is not handled or not allowed 2026-01-27 19:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661128-stud-with-attachedspacer-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-27 19:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-2-step-steel-rolling-ladder-20-d-top-step-1>: HTTP status code is not handled or not allowed 2026-01-27 19:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-4-step-steel-rolling-ladder-21-d-top-step>: HTTP status code is not handled or not allowed 2026-01-27 19:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-copper-fitting-x-press-w-90-176-long-turn-street-elbow>: HTTP status code is not handled or not allowed 2026-01-27 19:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 9278 pages (at 95 pages/min), scraped 4613 items (at 44 items/min) 2026-01-27 19:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-48inw-x-18ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-48inw-x-18ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-36inw-x-12ind-x-48inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-liner-for-large-ultra-filter-pad-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:48:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-machinery-leveling-mount-5-long-5-wide>: HTTP status code is not handled or not allowed 2026-01-27 19:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qp-pro-two-stage-air-compressor-10-hp-120-gallon-horizontal-460v-3-phase>: HTTP status code is not handled or not allowed 2026-01-27 19:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-geared-trolley-1-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 19:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-ratio-led-area-light-12000l-100w-40k-type-3-dist-arm-mount-120-277v>: HTTP status code is not handled or not allowed 2026-01-27 19:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-agm-battery-12v-100ah-641263-641264-641244-641265-641407>: HTTP status code is not handled or not allowed 2026-01-27 19:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hand-chain-hoist-2-ton-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 19:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-36inw-x-12ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-27 19:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-starter-48inw-x-12ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-app-connector-2-0-wire-gauge-350-amp-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ft-30-50-lbs-tool-balancer-with-cable>: HTTP status code is not handled or not allowed 2026-01-27 19:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-pedestal-3-4-50-ft-250-psi-air-water-with-hose>: HTTP status code is not handled or not allowed 2026-01-27 19:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbx-connector-2-0-wire-gauge-350-amp-gray-inan-249>: HTTP status code is not handled or not allowed 2026-01-27 19:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-starter-36inw-x-24ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-smh-connector-1-0-wire-gauge-350-amp-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-starter-48inw-x-24ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-seat-20w-x-22d-x-23-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 19:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-mobile-steel-step-stool-w-24-serrated-tread-wlsr001242>: HTTP status code is not handled or not allowed 2026-01-27 19:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/130-x50-refrigerator-truck-maintenance-platform-serrated-ra10ft-r09>: HTTP status code is not handled or not allowed 2026-01-27 19:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-with-epoxy-phenolic-lining-open-head-2>: HTTP status code is not handled or not allowed 2026-01-27 19:49:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e23-4-series-polyolefin-swivel-caster-el23-4-ph-polyolefin-4-dia-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-series-36-wide-door-unheated-115160-obsidian-black>: HTTP status code is not handled or not allowed 2026-01-27 19:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-bin-cup-for-quantum-tip-out-storage-bin-qtb303-clear>: HTTP status code is not handled or not allowed 2026-01-27 19:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-with-removable-bins-23>: HTTP status code is not handled or not allowed 2026-01-27 19:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-pharma-vaccine-refrigerator-and-freezer-combo-stainless-steel-9-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 19:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342284-element-cal-rod-190-inch-500w>: HTTP status code is not handled or not allowed 2026-01-27 19:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-restaurant-lunchroom-table-square-36-x-36-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 19:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks>: HTTP status code is not handled or not allowed 2026-01-27 19:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-style-c-j-hook>: HTTP status code is not handled or not allowed 2026-01-27 19:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881409-coil-refrig-valve24v-60hz-for-parker-hannifin>: HTTP status code is not handled or not allowed 2026-01-27 19:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-aluminum-rolling-ladder-16-w-grip-step-30-handrails>: HTTP status code is not handled or not allowed 2026-01-27 19:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-uncaged-fixed-access-ladder-yellow-9>: HTTP status code is not handled or not allowed 2026-01-27 19:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150t3q-cl-150w-halogen-w-double-ended-base-mol-3-1-8>: HTTP status code is not handled or not allowed 2026-01-27 19:49:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-safety-view-locker-six-tier-12x15x12-6-doors-unassembled-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-add-on-48inw-x-18ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 19:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caged-walk-through-fixed-access-ladder-yellow-5>: HTTP status code is not handled or not allowed 2026-01-27 19:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-threaded-handle-knob-powered-roller-conveyors-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 19:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-tricycle-rear-steel-box>: HTTP status code is not handled or not allowed 2026-01-27 19:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-63-inch-high-post-poly-z-brite-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-liner-rubbermaid-plaza-receptacle-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights>: HTTP status code is not handled or not allowed 2026-01-27 19:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-74-inch-high-post-silver-epoxy-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-desk-cylinder-lock>: HTTP status code is not handled or not allowed 2026-01-27 19:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-line-single-track-seal-top-bag-with-hang-hole-3in-x-5in-2-mil-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-27 19:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-row-gtg-bleacher-w-mid-aisle-guardrail-27ft-l-dbl-footboard>: HTTP status code is not handled or not allowed 2026-01-27 19:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-row-gtg-bleacher-w-mid-aisle-guardrail-33ft-l-dbl-footboard>: HTTP status code is not handled or not allowed 2026-01-27 19:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100q-f-dc-100w-halogen-w-dc-bay-base>: HTTP status code is not handled or not allowed 2026-01-27 19:49:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-7l-x-5w-x-5h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 19:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legal-size-fireproof-file-cabinet-21-w-x-25-d-x-28-h-sand>: HTTP status code is not handled or not allowed 2026-01-27 19:49:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/wall_corner_bumper_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 9373 pages (at 95 pages/min), scraped 4656 items (at 43 items/min) 2026-01-27 19:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300ps35-cl-300w-incandescent-w-mogul-base>: HTTP status code is not handled or not allowed 2026-01-27 19:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-lid-24-gallon-green>: HTTP status code is not handled or not allowed 2026-01-27 19:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-smart-ups-5000va-sua5000rmt5u>: HTTP status code is not handled or not allowed 2026-01-27 19:50:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs landed on page that is not a product page. 2026-01-27 19:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-wall-gaylord-lids-48-34l-x-24-34w-x-5h-kraft-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-27 19:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/wall_corner_bumper_guards>: HTTP status code is not handled or not allowed 2026-01-27 19:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-gun-standard>: HTTP status code is not handled or not allowed 2026-01-27 19:50:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241410-control-low-pressure-26-inch-cap-for-ranco>: HTTP status code is not handled or not allowed 2026-01-27 19:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pic-gauges-4-pressure-gauge-liquid-fill-10000-psi-all-stainless-steel-lower-mount-301l-402u>: HTTP status code is not handled or not allowed 2026-01-27 19:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bayer-aspirin-50pk-2pkbx>: HTTP status code is not handled or not allowed 2026-01-27 19:50:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-alive-odor-digest-41-gl>: HTTP status code is not handled or not allowed 2026-01-27 19:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toilet-seat-cvr-dsp-16x325x115-chrm>: HTTP status code is not handled or not allowed 2026-01-27 19:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fc8t9-cw-rs-22w-fluorescent-w-4-pin-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-27 19:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conductive-bin-nestable-11>: HTTP status code is not handled or not allowed 2026-01-27 19:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 19:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-wall-flat-panel-corrugated-tv-boxes-56l-x-8w-x-36h-kraft-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-27 19:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-depth-cardboard-corrugated-boxes-12l-x-12w-x-4h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 19:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dra-intoilet-plunger-20-wood-hndl-6-diax4-4>: HTTP status code is not handled or not allowed 2026-01-27 19:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-easy-fold-mailers-12l-x-11-12w-x-3h-white-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 19:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 19:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-abrasive-hose-413403>: HTTP status code is not handled or not allowed 2026-01-27 19:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-6-in-opening-24-in-h-red>: HTTP status code is not handled or not allowed 2026-01-27 19:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-nitrile-gloves-large-powder-free>: HTTP status code is not handled or not allowed 2026-01-27 19:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-ton-deluxe-ironworker-3-phase-575v-w-hydraulic-accessory-pack-iw100dx-3p575-ac800>: HTTP status code is not handled or not allowed 2026-01-27 19:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266280-hinge-stainless-steel-1-1-8-inch-ofst-6-1-4-inch-l>: HTTP status code is not handled or not allowed 2026-01-27 19:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-ton-ironworker-3-phase-460v-iw60-3p460>: HTTP status code is not handled or not allowed 2026-01-27 19:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661101-return-spring-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-27 19:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/481159-hi-limit-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-27 19:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-36-bar-table-tekwood-vintage>: HTTP status code is not handled or not allowed 2026-01-27 19:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-double-square-decorative-light-fixture-20w-304050k-120v-13l-blackgold>: HTTP status code is not handled or not allowed 2026-01-27 19:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-short-divider-25>: HTTP status code is not handled or not allowed 2026-01-27 19:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-long-divider-16>: HTTP status code is not handled or not allowed 2026-01-27 19:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-beam-trolley-stainless-steel-2-ton>: HTTP status code is not handled or not allowed 2026-01-27 19:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/481166-bimetal-hi-limit-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 19:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3ca9-flicker-3w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-27 19:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15a15-15w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-27 19:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loom-clamps-plated-steel-8>: HTTP status code is not handled or not allowed 2026-01-27 19:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x10t3-1-4-10w-miniature-sealed-beams-w-festoon-base-12v>: HTTP status code is not handled or not allowed 2026-01-27 19:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-214m-flush-access-door-for-all-surf-stud-10wx10h-mp1010s>: HTTP status code is not handled or not allowed 2026-01-27 19:50:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krp-150fr-fire-rated-access-door-for-wall-ceil-paddle-handle-36wx36h-krpp3636ph>: HTTP status code is not handled or not allowed 2026-01-27 19:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50a19-f-34v-50w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-27 19:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tripower-classical-section-molded-notch-vbelt-gates-ax66>: HTTP status code is not handled or not allowed 2026-01-27 19:50:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-1-4-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 19:50:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware>: HTTP status code is not handled or not allowed 2026-01-27 19:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-orange-extra-heavy-duty-steel-rolling-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-27 19:50:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drip-dam-leak-diverter-12-x-12-x-1-4-461212-ye>: HTTP status code is not handled or not allowed 2026-01-27 19:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-end-mounted-piston-vibrator-70-1s>: HTTP status code is not handled or not allowed 2026-01-27 19:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 9464 pages (at 91 pages/min), scraped 4700 items (at 44 items/min) 2026-01-27 19:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-1-thick-x-4-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 19:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 19:50:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 19:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-12-x-10-scratch-resistant-ribbed-clear-strip-strip-curtains>: HTTP status code is not handled or not allowed 2026-01-27 19:50:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-spill-pad-with-grate-48-x-48-x-2-5620-ye>: HTTP status code is not handled or not allowed 2026-01-27 19:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wd-40-multi-use-lubricant-14-4-oz-aerosol-can-490194>: HTTP status code is not handled or not allowed 2026-01-27 19:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-27 19:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51-1174-3-4-inch-repair-kit-for-type-gp657-steam-solenoid-valves>: HTTP status code is not handled or not allowed 2026-01-27 19:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dayton-by-bestar-l-shaped-desk-bark-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:51:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/tool_holders/tapping_heads_holders_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012157-electrode-ignitor-for-vulcan-hart>: HTTP status code is not handled or not allowed 2026-01-27 19:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prestige-plus-u-shaped-workstation-with-pedestal-white-chocolate-and-antigua>: HTTP status code is not handled or not allowed 2026-01-27 19:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-3-8-diameter-7x19-type-316-stainless-steel-cable>: HTTP status code is not handled or not allowed 2026-01-27 19:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-24>: HTTP status code is not handled or not allowed 2026-01-27 19:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/933-series-airtight-watertight-case-w-dividers-933-2001-19-7-8-l-x-16-1-8-w-x-10-1-8-h-black>: HTTP status code is not handled or not allowed 2026-01-27 19:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-hanging-pendant-light-fixture-25w-304050k-120v-20l-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-27 19:51:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 19:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-3-16-diameter-7x19-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-27 19:51:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:51:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-8-diameter-vinyl-coated-3-16-diameter-7x7-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-27 19:51:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/tool_holders/tapping_heads_holders_accessories landed on page that is not a product page. 2026-01-27 19:51:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381377-ignition-wire-per-ft-18-ga-250c-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012106-liquid-level-control>: HTTP status code is not handled or not allowed 2026-01-27 19:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-8-thick-x-1-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 19:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 19:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colgate-manual-toothbrush-plastic-white>: HTTP status code is not handled or not allowed 2026-01-27 19:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-flush-mount-ceiling-light-fixture-60w-11-14-dia-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-27 19:51:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks landed on page that is not a product page. 2026-01-27 19:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-female-ramp-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 19:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-lite-earplugs-with-cord-hearing-protection>: HTTP status code is not handled or not allowed 2026-01-27 19:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kimberly-clark-professional-wypall-x80-wipers-quarterfold-50pack-white>: HTTP status code is not handled or not allowed 2026-01-27 19:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971161-module-ignition-24v-lp-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 19:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-drink-cups-polylined-paper-16-oz-bistro-design-maroon-50bag>: HTTP status code is not handled or not allowed 2026-01-27 19:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5031032-drier-filter-3-8-inch-odf-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-27 19:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-727w-m-style-industrial-plug-1-4-mnpt-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-skid-box-green-62x31x21>: HTTP status code is not handled or not allowed 2026-01-27 19:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-761w-v-style-high-flow-plug-1-4-fnpt-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-container-forkli-able-gray-6>: HTTP status code is not handled or not allowed 2026-01-27 19:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-2-sided-cage-w-3-hinged-door-12-6-x-12-6-x-12-5-1-4h>: HTTP status code is not handled or not allowed 2026-01-27 19:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-3-sided-cage-w-3-hinged-door-12-6-x-12-6-x-12-5-1-4h>: HTTP status code is not handled or not allowed 2026-01-27 19:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-bar-3-4-thick-x-1-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 19:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531358-wire-hi-temp-12-ga-tan-100>: HTTP status code is not handled or not allowed 2026-01-27 19:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-plastic-sheet-1-8-thick-x-48-wide-x-96-long>: HTTP status code is not handled or not allowed 2026-01-27 19:51:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/incandescent-bulb-with-e12-candelabra-base-7w-120v-red-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 19:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-t8-filament-light-bulb-e12-base-2w-130-lumens-2700k-warm-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 19:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireway-pallet-rack-tear-drop-upright-frame-192x42-2>: HTTP status code is not handled or not allowed 2026-01-27 19:51:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0353rwhtxlg-ergo-insulated-goatskin-gloves-xl>: HTTP status code is not handled or not allowed 2026-01-27 19:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 19:51:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reel-1>: HTTP status code is not handled or not allowed 2026-01-27 19:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x36-maple-safety-edge-power-apron-production-bench-tan-32313671>: HTTP status code is not handled or not allowed 2026-01-27 19:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a19-light-bulb-e26-base-11w-1100-lumens-2700k-warm-white-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-27 19:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dorian-tool-5-piece-super-sets-sd25axa-ts>: HTTP status code is not handled or not allowed 2026-01-27 19:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-s14-filament-light-bulb-e26-base-2w-200-lumens-2700k-warm-white-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 19:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nsf-fabricated-2-compartment-24l-x-24w-bowl-812h-splash-18-left-drainboard-16-ga>: HTTP status code is not handled or not allowed 2026-01-27 19:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 9551 pages (at 87 pages/min), scraped 4734 items (at 34 items/min) 2026-01-27 19:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-gmc-05-b>: HTTP status code is not handled or not allowed 2026-01-27 19:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs>: HTTP status code is not handled or not allowed 2026-01-27 19:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1150-1-2-black-composite-twin-hammer-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-27 19:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs>: HTTP status code is not handled or not allowed 2026-01-27 19:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-15-step-steel-rolling-ladder-20-d-top-step>: HTTP status code is not handled or not allowed 2026-01-27 19:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reebokrb1975-mens-retro-jogger-oxford-navy-blue-size-7-w>: HTTP status code is not handled or not allowed 2026-01-27 19:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010493-solenoid-assembly-24v>: HTTP status code is not handled or not allowed 2026-01-27 19:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-shop-top-square-edge-power-apron-production-bench-blue-32313799>: HTTP status code is not handled or not allowed 2026-01-27 19:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-gmc-04-ss>: HTTP status code is not handled or not allowed 2026-01-27 19:52:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hose_cord_reels/air_water_reels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reebokrb8674-mens-stealth-6-boot-with-side-zipper-black-size-10-w>: HTTP status code is not handled or not allowed 2026-01-27 19:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009473-hi-limit-assembly-for-vollrath-idea-company>: HTTP status code is not handled or not allowed 2026-01-27 19:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/number-10-32-h3-set-of-3-one-each-taper-plug-and-bottoming-chamfer-hss-hand-tap-ground-rh-4-flutes>: HTTP status code is not handled or not allowed 2026-01-27 19:52:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-plastic-square-edge-power-apron-lab-bench-tan-32313851>: HTTP status code is not handled or not allowed 2026-01-27 19:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sand-pan-with-wing-nut-sable-fg3976l2sble>: HTTP status code is not handled or not allowed 2026-01-27 19:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seo40072-40-hp-oil-less-scroll-compressor-tankless-116-psi-3-phase-208v>: HTTP status code is not handled or not allowed 2026-01-27 19:52:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/casters_wheels/plate_casters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hose_cord_reels/air_water_reels>: HTTP status code is not handled or not allowed 2026-01-27 19:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-a-2-air-hardening-flat-stock-4x1-16x18>: HTTP status code is not handled or not allowed 2026-01-27 19:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets>: HTTP status code is not handled or not allowed 2026-01-27 19:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-in-round-tempered-glass-metal-table-with-dark-brown-rattan-edging>: HTTP status code is not handled or not allowed 2026-01-27 19:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-sngl-acting-2-1-4-bore-1-stroke-sngl-side-lug-mount>: HTTP status code is not handled or not allowed 2026-01-27 19:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-gal-lab-pack-with-screw-top-lid>: HTTP status code is not handled or not allowed 2026-01-27 19:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/casters_wheels/plate_casters>: HTTP status code is not handled or not allowed 2026-01-27 19:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/law-og112afotg-over-the-glass-frame-gray-anti-fog-lens-silver-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:52:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/downlights_track_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-speed-bump-with-cable-protection-and-hardware-120-inch-long>: HTTP status code is not handled or not allowed 2026-01-27 19:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-48rbmag2-wr-storage-cabinet-all-welded-48-wx18-dx78-h-wine-red>: HTTP status code is not handled or not allowed 2026-01-27 19:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-5-step-steel-rolling-ladder-14-d-top-step-w-cal-osha-handrail-cal-fsh526p>: HTTP status code is not handled or not allowed 2026-01-27 19:52:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fire_protection/fire_extinguishers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-grade-cage-string-light-without-bulbs-14-sjtw-50l-cord>: HTTP status code is not handled or not allowed 2026-01-27 19:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/downlights_track_lighting>: HTTP status code is not handled or not allowed 2026-01-27 19:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linear-led-strip-light-fixture-11w-5000k-24l-super-white>: HTTP status code is not handled or not allowed 2026-01-27 19:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-5-port-2-pos-dbl-solenoid-1-8-nptf-port-solenoid-ret-24vac>: HTTP status code is not handled or not allowed 2026-01-27 19:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-w-1-water-hardening-drill-rod-41-64>: HTTP status code is not handled or not allowed 2026-01-27 19:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-linear-bar-vanity-light-fixture-20w-1400-lumens-18l-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-27 19:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2941053-socket-lamp-t-8-rapid-start-for-anthony-international-california>: HTTP status code is not handled or not allowed 2026-01-27 19:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fire_protection/fire_extinguishers>: HTTP status code is not handled or not allowed 2026-01-27 19:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-24-w-steel-safety-angle-rolling-ladder-w-handrails-grip-tread-w-cal-osha-handrail-cal-sw732g>: HTTP status code is not handled or not allowed 2026-01-27 19:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-hss-zero-flute-countersink-deburring-tool-82-1>: HTTP status code is not handled or not allowed 2026-01-27 19:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-fiberglass-platform-step-ladder>: HTTP status code is not handled or not allowed 2026-01-27 19:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heritage-bench-recycled-plastic-6-ft-green-frame-cedar>: HTTP status code is not handled or not allowed 2026-01-27 19:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-60319-30-amp-locking-assembly-plug-with-nema-l14-30p-male-end>: HTTP status code is not handled or not allowed 2026-01-27 19:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-adj-height-steel-av-cart-w-cabinet-3-shelves-blk-electric-24-to-42-h>: HTTP status code is not handled or not allowed 2026-01-27 19:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/newport-patio-umbrella-with-silver-pole-108w-sunbrella-1a-taupe-fabric>: HTTP status code is not handled or not allowed 2026-01-27 19:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-safety-view-locker-five-tier-12x15x12-5-doors-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-16-w-serr-step-w-cal-osha-handrail-cal-wa-sw-72414g>: HTTP status code is not handled or not allowed 2026-01-27 19:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workplace-violence-dvd-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-132w-sunbrella-1a-cilantro-fabric>: HTTP status code is not handled or not allowed 2026-01-27 19:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-cable-ties-natural-14-1-2-100-pieces>: HTTP status code is not handled or not allowed 2026-01-27 19:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-16-h-x-4-d-mini-pleated-merv-14-air-filter-box-style-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 19:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-365218-l-grn-bookcase-all-welded-36-wx18-dx52-h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-27 19:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offset-steel-bollard-35-inch-height>: HTTP status code is not handled or not allowed 2026-01-27 19:52:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-stop-bollard-with-removable-caps-36height>: HTTP status code is not handled or not allowed 2026-01-27 19:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 9643 pages (at 92 pages/min), scraped 4775 items (at 41 items/min) 2026-01-27 19:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/osha-recordkeeping-compliance-manual>: HTTP status code is not handled or not allowed 2026-01-27 19:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-signs-danger-flammable-plastic-7-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-27 19:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-safety-cone-scwf436-1>: HTTP status code is not handled or not allowed 2026-01-27 19:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-fixing-strap-with-galvanized-steel-hardwarefor-20-to-36-inch-diameter-ducts>: HTTP status code is not handled or not allowed 2026-01-27 19:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps>: HTTP status code is not handled or not allowed 2026-01-27 19:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-367218-pt-grn-bookcase-all-welded-36-wx18-dx72-h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-27 19:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-seat-rizer-with-removable-arms>: HTTP status code is not handled or not allowed 2026-01-27 19:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rb-wal-storage-cabinet-all-welded-36-wx18-dx72-h-walnut>: HTTP status code is not handled or not allowed 2026-01-27 19:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-24w-x-82h-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 19:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-18w-x-82h-azure>: HTTP status code is not handled or not allowed 2026-01-27 19:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-12x18x72-3-door-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-double-tier-12x12x36-2-door-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-27 19:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-style-hemi-one-arm-walker>: HTTP status code is not handled or not allowed 2026-01-27 19:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-227-db-storage-cabinet-all-welded-27-wx15-dx72-h-denim-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-wheelchair-telescoping-i-v-pole>: HTTP status code is not handled or not allowed 2026-01-27 19:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-48722rb-db-mobile-cabinet-all-welded-48-wx24-dx72-h-denim-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-w-x-24-h-x-12-d-rigid-cell-merv-15-air-filter-box-synthetic-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 19:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-body-patient-lift-sling-mesh-large>: HTTP status code is not handled or not allowed 2026-01-27 19:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hs65nr-x03s-high-noise-reduction-two-way-radio-headset-over-the-head-dual-muff>: HTTP status code is not handled or not allowed 2026-01-27 19:53:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radios already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s102042-wire-rope-sling-5-8-x-6-eye-and-eye-5800-7800-15600-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:53:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/sinks/wash_fountains already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-8w-x-82h-moss>: HTTP status code is not handled or not allowed 2026-01-27 19:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s102010-wire-rope-sling-1-2-x-12-eye-and-eye-3800-5000-10000-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 19:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-closed-linear-bearing-wseals-sws20uu-14id-2625l>: HTTP status code is not handled or not allowed 2026-01-27 19:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-pinch-gauge-50-lb-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 19:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-4w-x-82h-burgundy>: HTTP status code is not handled or not allowed 2026-01-27 19:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151117-12-single-leg-chain-sling-w-sling-grab-hook>: HTTP status code is not handled or not allowed 2026-01-27 19:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151026-4-single-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-27 19:53:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radios landed on page that is not a product page. 2026-01-27 19:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/sinks/wash_fountains>: HTTP status code is not handled or not allowed 2026-01-27 19:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-awareness-for-new-employees-booklet>: HTTP status code is not handled or not allowed 2026-01-27 19:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1833-3-8-6in-oal-hss-h-d-sand-blasted-118-point-carbide-tipped-sds-plus-3-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-27 19:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-bracket-containment-berm-10l-x-60w-x-12h>: HTTP status code is not handled or not allowed 2026-01-27 19:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-7w-x-82h-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-6-door-digital-locker-36inwx15indx78inh-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 19:53:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/wood_drill_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-danger-area-vinyl-10-h-x-14-w>: HTTP status code is not handled or not allowed 2026-01-27 19:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5912w-pepper-dust>: HTTP status code is not handled or not allowed 2026-01-27 19:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-206>: HTTP status code is not handled or not allowed 2026-01-27 19:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 9735 pages (at 92 pages/min), scraped 4831 items (at 56 items/min) 2026-01-27 19:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5412w-black>: HTTP status code is not handled or not allowed 2026-01-27 19:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-push-handle-18-w>: HTTP status code is not handled or not allowed 2026-01-27 19:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1872-8-00mm-hss-heavy-duty-black-gold-135-hss-heavy-duty-parabolic-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-27 19:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/sockets_bits/wood_drill_bits>: HTTP status code is not handled or not allowed 2026-01-27 19:54:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/marking_warning_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1878-40-hss-heavy-duty-black-gold-135-split-point-3-flatted-shank-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-27 19:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-3w-x-82h-black-confetti>: HTTP status code is not handled or not allowed 2026-01-27 19:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5712w-olive>: HTTP status code is not handled or not allowed 2026-01-27 19:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cluster-box-unit-12-a-size-doors-type-ii-sandstone-usps-access>: HTTP status code is not handled or not allowed 2026-01-27 19:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-sided-frame-18x36-nexelon-1>: HTTP status code is not handled or not allowed 2026-01-27 19:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-half-racks-blue-for-13mm-tubes-case-of-8>: HTTP status code is not handled or not allowed 2026-01-27 19:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-sided-frame-18x48-nexelon-1>: HTTP status code is not handled or not allowed 2026-01-27 19:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cluster-box-unit-8-a-size-doors-type-i-white-usps-access>: HTTP status code is not handled or not allowed 2026-01-27 19:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5412w-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multimedia-av-cart-mmc>: HTTP status code is not handled or not allowed 2026-01-27 19:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/building_construction_tape/marking_warning_tape>: HTTP status code is not handled or not allowed 2026-01-27 19:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1899-21-hss-general-purpose-steam-oxide-118-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-27 19:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-couplings-recessed-screw-w-keyway-climax-cc-150-150-kw>: HTTP status code is not handled or not allowed 2026-01-27 19:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5712w-burgundy>: HTTP status code is not handled or not allowed 2026-01-27 19:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-table-with-casters-phenolic-top-adjustable-height-30-x-60-black-oak>: HTTP status code is not handled or not allowed 2026-01-27 19:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmu-25-measuring-cup-1-cup-clear-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-27 19:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/47-inch-round-diameter-conference-table-driftwood>: HTTP status code is not handled or not allowed 2026-01-27 19:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-outward-swing-partition-door-26w-burgundy>: HTTP status code is not handled or not allowed 2026-01-27 19:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5412w-moss>: HTTP status code is not handled or not allowed 2026-01-27 19:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-flame-resistant-safety-cargo-pant-30-waist-x-32l-inseam-navy>: HTTP status code is not handled or not allowed 2026-01-27 19:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-g-10-fr-4-garolite-rod-1-1-2-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 19:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-1-4-x-8-5-8-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 19:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-outward-swing-partition-door-36w-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 19:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-button-up-safety-shirt-cottonnylon-m-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:54:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-guard-headgear-kit-general-purpose>: HTTP status code is not handled or not allowed 2026-01-27 19:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-full-brim-hat-with-1-touch-suspension-green>: HTTP status code is not handled or not allowed 2026-01-27 19:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-hi-vis-safety-vest-class-2-m-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-x-10-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 19:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-037-bo>: HTTP status code is not handled or not allowed 2026-01-27 19:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spin-top-trailer-stabilizing-jack-100000-lb-static-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advanced-deep-clean-all-purpose-cleaner-lemon-breeze-32-oz-trigger-spray-bottle>: HTTP status code is not handled or not allowed 2026-01-27 19:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plw-ck-cover-for-plw-7k>: HTTP status code is not handled or not allowed 2026-01-27 19:54:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/water_safety/life_jackets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-15-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 19:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ir-higher-performance-polyolefin-cf-shrink-film-75-ga-16w-x-3500l-clear-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 19:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-16-x-9-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 19:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-series-1-2-hp-single-seal-sewage-pump>: HTTP status code is not handled or not allowed 2026-01-27 19:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-inspection-light-bare-tool-24v>: HTTP status code is not handled or not allowed 2026-01-27 19:54:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock landed on page that is not a product page. 2026-01-27 19:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psw-24r-wide-mouth-squeeze-bottles-24-oz>: HTTP status code is not handled or not allowed 2026-01-27 19:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8945-universal-bump-cap-insert-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wire-4-inch-submersible-well-pump-230-volts-1-hp-20-gpm>: HTTP status code is not handled or not allowed 2026-01-27 19:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-8w-x-82h-taupe>: HTTP status code is not handled or not allowed 2026-01-27 19:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contouring-roof-fabric-40-x-81-roll>: HTTP status code is not handled or not allowed 2026-01-27 19:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppok-087-measuring-pourer-7-8-oz>: HTTP status code is not handled or not allowed 2026-01-27 19:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-10w-x-82h-canyon-zephyr>: HTTP status code is not handled or not allowed 2026-01-27 19:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-0-093-thick-24-x-48>: HTTP status code is not handled or not allowed 2026-01-27 19:54:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/water_safety/life_jackets landed on page that is not a product page. 2026-01-27 19:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mega-scoop-128-oz-yellow>: HTTP status code is not handled or not allowed 2026-01-27 19:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-with-1-touch-suspension-hi-viz-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 9829 pages (at 94 pages/min), scraped 4872 items (at 41 items/min) 2026-01-27 19:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfs-8-rotary-sifter-8-cup>: HTTP status code is not handled or not allowed 2026-01-27 19:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pp-ssm-screened-pourer-midnight-smoke>: HTTP status code is not handled or not allowed 2026-01-27 19:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-black-mounting-tape-1-x-60>: HTTP status code is not handled or not allowed 2026-01-27 19:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-231-a>: HTTP status code is not handled or not allowed 2026-01-27 19:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-0-375-thick-36-x-48>: HTTP status code is not handled or not allowed 2026-01-27 19:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosion-resistant-two-piece-clamping-collar-cr-climax-cr2c-050>: HTTP status code is not handled or not allowed 2026-01-27 19:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-fluid-level-sight-w-esg-glass-w-o-reflector-3-4-npt-thread-11psmh>: HTTP status code is not handled or not allowed 2026-01-27 19:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5shp-3672-72-heavy-duty-perforated-steel-shelving-36-x-72-5-shelves>: HTTP status code is not handled or not allowed 2026-01-27 19:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-1-4-x-9-1-4-x-12-10-8-6-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 19:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-all-stainless-pressure-gauge-1-4-npt-0-15000-psi-glycerine-filled-lm-301l-254v>: HTTP status code is not handled or not allowed 2026-01-27 19:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kf-series-12-impulse-heat-foot-sealer-standing-operation-5mm-seal-width>: HTTP status code is not handled or not allowed 2026-01-27 19:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-pilaster-w-shoe-6w-x-82h-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-27 19:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-5in-pad-holder-driver-for-use-with-16in-surfacing-machines-3-pack-493317>: HTTP status code is not handled or not allowed 2026-01-27 19:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-0-031-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-27 19:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-duty-locker-w-4-half-shelves24wx24dx90h-red-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 19:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-131-z>: HTTP status code is not handled or not allowed 2026-01-27 19:55:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iv5076055-5-hp-two-stage-piston-compressor-60-gal-vertical-175-psi-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-27 19:55:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-660-wrist-support-sleeve-ambidextrous-xl-black>: HTTP status code is not handled or not allowed 2026-01-27 19:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wexpanded-metal-sides-36wx24dx78h-grall-welded>: HTTP status code is not handled or not allowed 2026-01-27 19:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4th-level-add-on-for-straight-transport-riser-gray-carpet-with-black-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-18wx18dx76h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 19:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-duty-locker-24wx24dx90h-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 19:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-12-black-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-27 19:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-shop-desk-with-pigeonhole-compartment-riser-34-1-2-w-x-30-d-x-38-h-sloped-surface-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-7r-round-wire-skimmer-7d>: HTTP status code is not handled or not allowed 2026-01-27 19:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-27 19:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-0-750-thick-48-x-96>: HTTP status code is not handled or not allowed 2026-01-27 19:55:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems landed on page that is not a product page. 2026-01-27 19:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-pipe-6-dia-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-pipe-4-dia-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbr-yl-cutting-board-brush-yellow-looped-handle-for-hanging>: HTTP status code is not handled or not allowed 2026-01-27 19:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-hose-clamp-16-dia-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-film-for-hand-dispenser-cast-80-gauge-18w-x-1500l-yellow-tint-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 19:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contrast-collection-duffle-bag-adjustable-and-removable-shoulder-strap-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/king-economy-3-section-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-27 19:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelfsecurity-boxvented18wx18dx72hblall-welded>: HTTP status code is not handled or not allowed 2026-01-27 19:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-grate-guard-with-overflows-sediment-high-flow-28l-x-28w-x-4h>: HTTP status code is not handled or not allowed 2026-01-27 19:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/132c-ice-logger-boot-regular-tan-9-5>: HTTP status code is not handled or not allowed 2026-01-27 19:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-30-corrugated-sheets>: HTTP status code is not handled or not allowed 2026-01-27 19:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-coupling-4-set-screws-2-90-rc4h-series-climax-rc-075-4h90>: HTTP status code is not handled or not allowed 2026-01-27 19:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-bxfootlockervented24x18x78grall-welded>: HTTP status code is not handled or not allowed 2026-01-27 19:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0386r-iron-tuff-enhanced-visibility-high-bib-overall-regular-navy-large>: HTTP status code is not handled or not allowed 2026-01-27 19:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-3-side-padding-size-a-10>: HTTP status code is not handled or not allowed 2026-01-27 19:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axhh-40-extra-heavy-aluminum-stock-pot>: HTTP status code is not handled or not allowed 2026-01-27 19:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-recessed-screw-climax-tc-050-13-s>: HTTP status code is not handled or not allowed 2026-01-27 19:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-complete-radex-parks-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filling-hose-1500mm>: HTTP status code is not handled or not allowed 2026-01-27 19:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/om1-power-degreaser-lemon-grass-scent-32-oz-bottle-9-case-om103-qps9>: HTTP status code is not handled or not allowed 2026-01-27 19:55:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-vision-link-light-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-vision-link-light-body>: HTTP status code is not handled or not allowed 2026-01-27 19:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0057-silver-magic-mask-black>: HTTP status code is not handled or not allowed 2026-01-27 19:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-couplings-recessed-screw-w-keyway-cc-series-climax-2cc-137-100-kw>: HTTP status code is not handled or not allowed 2026-01-27 19:55:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tb600-hydraulic-gate-closer>: HTTP status code is not handled or not allowed 2026-01-27 19:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 9924 pages (at 95 pages/min), scraped 4914 items (at 42 items/min) 2026-01-27 19:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0359-iron-tuff-arctic-jacket-regular-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-27 19:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-gx4-strobe-light>: HTTP status code is not handled or not allowed 2026-01-27 19:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghs-corrosive-pictogram-placard-10-3-4-x-10-3-4>: HTTP status code is not handled or not allowed 2026-01-27 19:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-day-capture-cartridges-for-terminator-replacement-carts-4pk-73891>: HTTP status code is not handled or not allowed 2026-01-27 19:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afp-14a-fry-pan>: HTTP status code is not handled or not allowed 2026-01-27 19:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-gx4-5ppm-co-cartridge-battery-clip>: HTTP status code is not handled or not allowed 2026-01-27 19:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0488-insulated-quilted-sweatshirt-regular-navy-large>: HTTP status code is not handled or not allowed 2026-01-27 19:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0526-cooler-wear-trousers-regular-navy-5xl>: HTTP status code is not handled or not allowed 2026-01-27 19:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0526-cooler-wear-trousers-regular-navy-xl>: HTTP status code is not handled or not allowed 2026-01-27 19:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-27 19:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344r-iron-tuff-minus-50-suit-regular-navy-xl>: HTTP status code is not handled or not allowed 2026-01-27 19:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-54x24>: HTTP status code is not handled or not allowed 2026-01-27 19:56:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1050-mill-with-3-axis-acu-rite-g-2-millpwr-cnc already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-grille-for-packaged-terminal-air-conditioners>: HTTP status code is not handled or not allowed 2026-01-27 19:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0381r-iron-tuff-minus-50-suit-regular-sage-2xl>: HTTP status code is not handled or not allowed 2026-01-27 19:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-ferrous-circular-saw-blade-for-j-fk350-24k-saw-54-tpi-14-dia>: HTTP status code is not handled or not allowed 2026-01-27 19:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-14-x-2-1-2-self-drilling-screw-phillips-pan-head-410-stainless-steel-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 19:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-thick-x-4-w-corrugated-vinyl-runner-custom-cut-length>: HTTP status code is not handled or not allowed 2026-01-27 19:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/911-safety-retractable-hose-reel-nickel-plated-steel-nipple-217-psi-38-id-x-42-12l>: HTTP status code is not handled or not allowed 2026-01-27 19:56:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1050-mill-with-3-axis-acu-rite-g-2-millpwr-cnc landed on page that is not a product page. 2026-01-27 19:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bw-ps5-pie-server>: HTTP status code is not handled or not allowed 2026-01-27 19:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-105584-bi-fold-size-brochure-holder-23-w-x-1-1-4-d-x-11-h>: HTTP status code is not handled or not allowed 2026-01-27 19:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-600312-blk-c-channel-12-w-x-1-4-d-x-3-h>: HTTP status code is not handled or not allowed 2026-01-27 19:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/monterosso-2-piece-sofa-and-table-seating-set>: HTTP status code is not handled or not allowed 2026-01-27 19:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-brass-sledge-hammer-4-lb-head-12-steel-handle>: HTTP status code is not handled or not allowed 2026-01-27 19:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0934-econo-tuff-frock-liner-regular-navy-large>: HTTP status code is not handled or not allowed 2026-01-27 19:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-inch-brass-interlocking-stencil-letters-and-numbers-ninty-two-piece-set>: HTTP status code is not handled or not allowed 2026-01-27 19:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-sae-standard-impact-socket-916-drive-black>: HTTP status code is not handled or not allowed 2026-01-27 19:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-156-a>: HTTP status code is not handled or not allowed 2026-01-27 19:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-oz2bca-mr-beam-clamp-2-ton-capacity-fits-beam-flange-9-10>: HTTP status code is not handled or not allowed 2026-01-27 19:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msb-10-coarse-mesh-10-diameter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-c40-exhaust-assembly>: HTTP status code is not handled or not allowed 2026-01-27 19:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h25w3-wash-down-hose>: HTTP status code is not handled or not allowed 2026-01-27 19:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-068>: HTTP status code is not handled or not allowed 2026-01-27 19:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-w-keyway-climax-iscc-200-200-kw>: HTTP status code is not handled or not allowed 2026-01-27 19:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-combination-storage-cabinet-36x24x78-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-268>: HTTP status code is not handled or not allowed 2026-01-27 19:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlh-300-15psh-lever-hoist-with-overload-protection-shipyard-hooks-3-ton-cap-15-lift>: HTTP status code is not handled or not allowed 2026-01-27 19:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-cover-dividable-grid-container-sold-per-carton-2>: HTTP status code is not handled or not allowed 2026-01-27 19:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cmt-1014-oval-serving-tray-14-3-4l-chrome-gadroon-edge-w-engraving>: HTTP status code is not handled or not allowed 2026-01-27 19:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-non-latex-black-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 19:56:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/workstations/lan_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-hole-set-screw-collar-c-2h-series-climax-c-025-2h-90>: HTTP status code is not handled or not allowed 2026-01-27 19:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxicut-ultra-micro-foam-nitrile-coated-palm-fingers-gloves-ansi-a5-l-gray-6-dozencase>: HTTP status code is not handled or not allowed 2026-01-27 19:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ut-9ht-utility-tong-coiled-spring-coiled-spring-9l-extra-heavyweight-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-plastic-safety-edge-top-pedestal-workbench-w-3-drawers-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 19:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mounted-alarmed-cabinet-100bd-alarm-powder-coated-white>: HTTP status code is not handled or not allowed 2026-01-27 19:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4496w-double-coated-polyethylene-foam-tape-1-x-36-yds-62-mil-white>: HTTP status code is not handled or not allowed 2026-01-27 19:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-sae-deep-impact-socket-12-drive-black>: HTTP status code is not handled or not allowed 2026-01-27 19:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-radex-pressure-relief-valve>: HTTP status code is not handled or not allowed 2026-01-27 19:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/workstations/lan_stations>: HTTP status code is not handled or not allowed 2026-01-27 19:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utph-12g-utility-tong-heat-resistant-heat-resistant-12l-green>: HTTP status code is not handled or not allowed 2026-01-27 19:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glc-01021-pre-cleaned-clean-glass-screw-thread-sample-vials-10-dram-40ml-case-of-72>: HTTP status code is not handled or not allowed 2026-01-27 19:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-pie-compatible-with-a-4-ft-8-ft-32-inch-stage-hardboard-floor>: HTTP status code is not handled or not allowed 2026-01-27 19:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-double-sided-upright-36>: HTTP status code is not handled or not allowed 2026-01-27 19:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-343-dt>: HTTP status code is not handled or not allowed 2026-01-27 19:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-tip-out-bin-small-cabinet-26-1-4-w-x-10-d-x-36-1-2-h-35-cup-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/636-deluxe-in-line-lubricator-14-npt-150-psi>: HTTP status code is not handled or not allowed 2026-01-27 19:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10024 pages (at 100 pages/min), scraped 4957 items (at 43 items/min) 2026-01-27 19:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-125-12>: HTTP status code is not handled or not allowed 2026-01-27 19:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1450150-airflow-conveyor-chain-af-24d-60065>: HTTP status code is not handled or not allowed 2026-01-27 19:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reference-shelf-30-wx15-d-shelf-with-hardware>: HTTP status code is not handled or not allowed 2026-01-27 19:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twp-90-flexible-turner-9-1-2l-blade-3w-white-polypropylene-handle>: HTTP status code is not handled or not allowed 2026-01-27 19:57:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-bp-22410cnc-20-2axis-programmable-hydraulic-press-brake-15-hp-3ph-220v>: HTTP status code is not handled or not allowed 2026-01-27 19:57:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=industrial-bp-9078cnc-78-hydraulic-press-brake-with-delem-cnc-control-3ph-220v already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-starter-unit-36-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 19:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ba102-universal-back-up-alarm>: HTTP status code is not handled or not allowed 2026-01-27 19:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-tier-shelving-add-on-unit-solid-galvanized-steel-24w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 19:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1455200-monroe-conveyor-chain-05036017>: HTTP status code is not handled or not allowed 2026-01-27 19:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-156-dt>: HTTP status code is not handled or not allowed 2026-01-27 19:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-starter-unit-60-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 19:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24030-cut-off-wheel-type-1-stud-king-12-inch-x-3-32-inch-x-1-inch-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 19:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-add-on-unit-solid-galvanized-steel-54w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 19:57:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 19:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-add-on-unit-60-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 19:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=industrial-bp-9078cnc-78-hydraulic-press-brake-with-delem-cnc-control-3ph-220v>: HTTP status code is not handled or not allowed 2026-01-27 19:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1304712-boss-shoe-assy-msc01570>: HTTP status code is not handled or not allowed 2026-01-27 19:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-frame-24-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-27 19:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-118-classic-shakers-w-flat-tops-2-oz>: HTTP status code is not handled or not allowed 2026-01-27 19:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70052-2a-flap-wheel-2-inch-x-1-inch-x-1-4-inch-120-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 19:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-tier-shelving-starter-unit-solid-galvanized-steel-42w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 19:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-starter-unit-solid-galvanized-steel-42w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 19:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-sheet-no-adhesive-75a-132-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-27 19:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-2-shelf-poly-green-24l-x-18w-x-39h-polyurethane-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-131-s>: HTTP status code is not handled or not allowed 2026-01-27 19:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-rewind-hose-reel-for-air-water-oil-3-8-i-d-50-hose-capacity-less-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-27 19:57:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23337-depressed-center-wheel-t1-z-tech-7-inch-x-045-inch-x-7-8-inch-zirconium->: HTTP status code is not handled or not allowed 2026-01-27 19:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-043-14-s>: HTTP status code is not handled or not allowed 2026-01-27 19:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-back-task-chair-fabric-seat-chrome-frame>: HTTP status code is not handled or not allowed 2026-01-27 19:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-replacement-liner-20-bushel-blue-2>: HTTP status code is not handled or not allowed 2026-01-27 19:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-punch-die-set-1732>: HTTP status code is not handled or not allowed 2026-01-27 19:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20162-depressed-center-wheel-t27-4-1-2-inch-x-1-4-inch-x-5-8-11-inch-46-grit-alum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 19:57:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 19:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-bowls-24-oz-4-4-diameter-x-4-4-h-white-500-carton>: HTTP status code is not handled or not allowed 2026-01-27 19:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20081-depressed-center-wheel-t27-a24n-7-inch-x-1-4-inch-x-7-8-inch-24-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 19:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-8-wheel-kit-with-axle-and-hardware-includes-2-8-wheels-1-1-2-diameter-axle-2-1-2-washers-2-1-2-pushnuts-and-2-axle-spacers>: HTTP status code is not handled or not allowed 2026-01-27 19:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0010-05-lisa-dinner-fork>: HTTP status code is not handled or not allowed 2026-01-27 19:57:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aloris-ca-intro-pro-set-for-elite-egh-1880-egh-2180-egh-21120-lathe>: HTTP status code is not handled or not allowed 2026-01-27 19:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-062-s>: HTTP status code is not handled or not allowed 2026-01-27 19:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-caster-with-rigid-plate-4-x-4-1-2-plate-675-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glp-l-disposable-pe-gloves-large-clear>: HTTP status code is not handled or not allowed 2026-01-27 19:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tn-600-abrasive-belt-notcher-34-3-od-5-hp-1-phase-220v>: HTTP status code is not handled or not allowed 2026-01-27 19:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-450-galvanized-clip-drop-forged-1>: HTTP status code is not handled or not allowed 2026-01-27 19:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-series-spring-rewind-power-cord-reel-single-industrial-receptacle-100-cord-12-awg>: HTTP status code is not handled or not allowed 2026-01-27 19:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-hose-spring-rewind-for-fuel-1-i-d-50-fuel-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-27 19:57:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_curtains already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-150>: HTTP status code is not handled or not allowed 2026-01-27 19:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-25-1-4-x-18-x-10-tote-white>: HTTP status code is not handled or not allowed 2026-01-27 19:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-immersion-heater-circulation-3000-240-1>: HTTP status code is not handled or not allowed 2026-01-27 19:57:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 19:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-row-universal-low-rise-tip-and-roll-aluminum-bleacher-15-wide-single-footboard>: HTTP status code is not handled or not allowed 2026-01-27 19:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-60a-14-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 19:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10116 pages (at 92 pages/min), scraped 4999 items (at 42 items/min) 2026-01-27 19:57:57 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 19:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dillon-ed-junior-dynamometer-2500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 19:57:58 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:5 2026-01-27 19:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-bench-vise-with-swivel-base-6-12-jaw-width-3-1316-throat-depth>: HTTP status code is not handled or not allowed 2026-01-27 19:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_curtains>: HTTP status code is not handled or not allowed 2026-01-27 19:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-70a-116-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 19:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-03>: HTTP status code is not handled or not allowed 2026-01-27 19:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-429-galvanized-clip-fist-grip-5-16>: HTTP status code is not handled or not allowed 2026-01-27 19:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-hsp-176m-hd-hydraulic-h-frame-shop-press-165-ton-max-pressure-220-v>: HTTP status code is not handled or not allowed 2026-01-27 19:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-508-t-slot-nuts-steel-blackened-m12-1-w-x-11-16-h>: HTTP status code is not handled or not allowed 2026-01-27 19:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-16-w-perforated-safety-angle-ladder>: HTTP status code is not handled or not allowed 2026-01-27 19:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-24-w-grip-safety-angle-ladder-w-o-handrails>: HTTP status code is not handled or not allowed 2026-01-27 19:58:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-193-bo>: HTTP status code is not handled or not allowed 2026-01-27 19:58:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hammers_mallets/dead_blow_hammers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gd-52121-t-latching-handle-non-locking-516-shaft>: HTTP status code is not handled or not allowed 2026-01-27 19:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/81-h-steel-post-w-fixed-base-black>: HTTP status code is not handled or not allowed 2026-01-27 19:58:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/motor_brakes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-1804-1-slotted-spanner-lock-nuts-steel-with-polyamide-insert-zinc-plated-m45-x-1-5>: HTTP status code is not handled or not allowed 2026-01-27 19:58:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-dolly-42-x-48-floor-locks>: HTTP status code is not handled or not allowed 2026-01-27 19:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-27 19:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/hammers_mallets/dead_blow_hammers>: HTTP status code is not handled or not allowed 2026-01-27 19:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-70a-316-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 19:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l100-200wo-30-hand-chain-hoist-with-overload-protection-2-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-27 19:58:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/motor_brakes>: HTTP status code is not handled or not allowed 2026-01-27 19:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-solid-tarp-7-1-2-ft-x-20-ft-3011354>: HTTP status code is not handled or not allowed 2026-01-27 19:58:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-27 19:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-tarp-system-with-solid-vinyl-tarp-7-ft-x-21-ft-dtr7021s>: HTTP status code is not handled or not allowed 2026-01-27 19:58:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/air_grinders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elkay-ezh2o-lzs8wslk-water-bottle-refilling-station-wall-mount-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:58:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=sheet-metal-notcher-4-hp-3-phase-220v-sn-f04-ms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-shelf-truck-mesh-sides-24-x-60>: HTTP status code is not handled or not allowed 2026-01-27 19:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-medium-coat-hook-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-heavy-duty-door-stop-1-7-8-dia-satin-chrome>: HTTP status code is not handled or not allowed 2026-01-27 19:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-panel-5x8>: HTTP status code is not handled or not allowed 2026-01-27 19:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-sliding-gate-10x5>: HTTP status code is not handled or not allowed 2026-01-27 19:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-27 19:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-brake-motor-3-4hp-1725rpm-56-tenv-208-230-460v-60hz-40c-1-15sf-rigid-c>: HTTP status code is not handled or not allowed 2026-01-27 19:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pem-aluminum-saddle-threshold-72-l-x-6-w-1-2-h-mill-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 19:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/air_tools_accessories/air_grinders>: HTTP status code is not handled or not allowed 2026-01-27 19:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrislynn-helical-thread-single-size-repair-kit-516-18-rh>: HTTP status code is not handled or not allowed 2026-01-27 19:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pem-aluminum-saddle-threshold-36-l-x-6-w-1-4-h-mill-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 19:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=sheet-metal-notcher-4-hp-3-phase-220v-sn-f04-ms>: HTTP status code is not handled or not allowed 2026-01-27 19:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-roller-welding-positioner-3-phase-220v-rwp-55-1-0>: HTTP status code is not handled or not allowed 2026-01-27 19:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-25kalf>: HTTP status code is not handled or not allowed 2026-01-27 19:58:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors landed on page that is not a product page. 2026-01-27 19:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-50a-38-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 19:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shovel-nose-hand-truck-dual-handle-10-x-350-pneumatic-tire>: HTTP status code is not handled or not allowed 2026-01-27 19:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-weather-resistant-covered-laminated-padlocks-no-315ka>: HTTP status code is not handled or not allowed 2026-01-27 19:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-20x15x8-without-roof-4-sides>: HTTP status code is not handled or not allowed 2026-01-27 19:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m18-redlithium-high-output-cp3-0-starter-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gre-dtap10-32-drilltap-10-32>: HTTP status code is not handled or not allowed 2026-01-27 19:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-60a-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 19:58:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/decorative-grid-kit-for-hs45gsp-high-intensity-heaters>: HTTP status code is not handled or not allowed 2026-01-27 19:58:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-3lh>: HTTP status code is not handled or not allowed 2026-01-27 19:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-60a-316-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 19:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-2-l-x-11-1-w-vinyl-wall-tile-grecian-earth-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 19:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-part-stub-style-inventory-tag-pre-wired-3000-3999-8-6-14l-x-3-18w-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 19:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iteq2100-circuit-breaker-type-qp-2-pole-100a>: HTTP status code is not handled or not allowed 2026-01-27 19:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v41108-safetyflex-zipper-fly-front-hooded-coverall-sm>: HTTP status code is not handled or not allowed 2026-01-27 19:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v41108-safetyflex-zipper-fly-front-hooded-coverall-xl>: HTTP status code is not handled or not allowed 2026-01-27 19:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 19:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10201 pages (at 85 pages/min), scraped 5029 items (at 30 items/min) 2026-01-27 19:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 19:58:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_circulators_water_baths already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-36x12x39-7>: HTTP status code is not handled or not allowed 2026-01-27 19:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ited230-classified-circuit-breaker-type-qd-replacement-for-square-d-type-qo-2-pole-30a>: HTTP status code is not handled or not allowed 2026-01-27 19:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-cup-coffee-urn-120v-1500w-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 19:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-part-carbonless-inventory-tag-pre-wired-5500-5999-8-6-14l-x-3-18w-500pack>: HTTP status code is not handled or not allowed 2026-01-27 19:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j26112-bomber-ii-hooded-jacket-fluorescent-yellowgreenblack-md>: HTTP status code is not handled or not allowed 2026-01-27 19:59:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700-hot-melt-tape-2-x-110-yds-19-mil-clear-6pack>: HTTP status code is not handled or not allowed 2026-01-27 19:59:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_circulators_water_baths landed on page that is not a product page. 2026-01-27 19:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o12007-magnaprene-plain-front-overall-yellow-sm>: HTTP status code is not handled or not allowed 2026-01-27 19:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x26-safety-barrier-net-net-only-orange>: HTTP status code is not handled or not allowed 2026-01-27 19:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-30-extra-long-bench-plastic-top-8>: HTTP status code is not handled or not allowed 2026-01-27 19:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-10-ft-18-inch-w-1-9-inch-dia-galvanized-rollers-15-inch-between-rail-3-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-27 19:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-with-acrylic-adhesive-60a-132-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 19:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-ceiling-bracket-10kw-15kw-units>: HTTP status code is not handled or not allowed 2026-01-27 19:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets>: HTTP status code is not handled or not allowed 2026-01-27 19:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixed-stand-30-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-27 19:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-picnic-table-72-inch>: HTTP status code is not handled or not allowed 2026-01-27 19:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-12x18x60-3-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-27 19:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinnacle-rubber-wall-base-coil-6-in-x-125-in-x-120-ft-fawn>: HTTP status code is not handled or not allowed 2026-01-27 19:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinnacle-rubber-wall-base-coil-6-in-x-125-in-x-120-ft-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 19:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-02f-direct-acting-solenoid-valve-3-2-nc-fkm-seal-1-4-nptf-2-mm-12v-dc>: HTTP status code is not handled or not allowed 2026-01-27 19:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-0-500-thick-x-12-w-x-12-l>: HTTP status code is not handled or not allowed 2026-01-27 19:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-60a-14-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 19:59:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j12207-magnaprene-storm-fly-front-jacket-yellow-hood-snaps-lg>: HTTP status code is not handled or not allowed 2026-01-27 19:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-ss-304304l-2-1-12-hex-bushing-npt-male-female>: HTTP status code is not handled or not allowed 2026-01-27 19:59:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-132-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 19:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j21207-eagle-storm-fly-front-jacket-yellow-hood-snaps-4xl>: HTTP status code is not handled or not allowed 2026-01-27 19:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-5-14l-x-2-58w-green-100pack>: HTTP status code is not handled or not allowed 2026-01-27 19:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-27 19:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-7-5-34l-x-2-78w-yellow-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 19:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-light-duty-ribbed-stair-tread-square-nose-124063-x-42-light-brown>: HTTP status code is not handled or not allowed 2026-01-27 19:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-wall-base-coil-4-in-x-125-in-x-120-ft-lunar-dust>: HTTP status code is not handled or not allowed 2026-01-27 19:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-hopper-drop-safe-rh3020-sr2-electronic-lock-16l-x-20w-x-30h-185-cu-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 19:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j25022-phase-3-soft-shell-jacket-fluorescent-yellowgreencharcoal-gray-3xl>: HTTP status code is not handled or not allowed 2026-01-27 19:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-with-high-temp-adhesive-50a-38-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 19:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-drafting-stool-black>: HTTP status code is not handled or not allowed 2026-01-27 19:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-band-saw-blade-1-2-inch-w-025-thick-gauge-10-tpi-308-262120>: HTTP status code is not handled or not allowed 2026-01-27 19:59:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-27 19:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-pad-6x9-green>: HTTP status code is not handled or not allowed 2026-01-27 19:59:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din468-off-set-crank-handles-cast-iron-fixed-handle-square-bore-22mm-3-94-h-handle>: HTTP status code is not handled or not allowed 2026-01-27 19:59:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-rod-1-750-dia>: HTTP status code is not handled or not allowed 2026-01-27 19:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/physicianscare-first-responder-fluid-spill-kit>: HTTP status code is not handled or not allowed 2026-01-27 19:59:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v73859-job-sight-class-2-surveyor-style-vest-fluorescent-orange-2xl3xl>: HTTP status code is not handled or not allowed 2026-01-27 19:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10292 pages (at 91 pages/min), scraped 5077 items (at 48 items/min) 2026-01-27 19:59:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_sanders/abrasive_tool_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 19:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slatwall-cherry-shelves-3-4-x8-x14-finished-on-2-sides-and-3-edges>: HTTP status code is not handled or not allowed 2026-01-27 19:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slatwall-4-way-display-fixture-display-fixture-black-with-spinner-base-and-casters>: HTTP status code is not handled or not allowed 2026-01-27 19:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-27 20:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn111-2-retaining-cables-ss-1-key-ring-and-mounting-tab-7-87-l-0-55-key-ring-dia>: HTTP status code is not handled or not allowed 2026-01-27 20:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-outdoor-counter-height-table-36-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-27 20:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1x1x1-4-alum-oxide-120-grit-flap-wheel>: HTTP status code is not handled or not allowed 2026-01-27 20:00:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/power_sanders/abrasive_tool_accessories landed on page that is not a product page. 2026-01-27 20:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-50a-116-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 20:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-nsm-rod-3-250-dia>: HTTP status code is not handled or not allowed 2026-01-27 20:00:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-27 20:00:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/vibration_isolating_spring_floor_mounts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-system-400-lb>: HTTP status code is not handled or not allowed 2026-01-27 20:00:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/depressed_center_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:00:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/vibration_isolating_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-40a-12-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 20:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2x7-8-sc-80-t27-regsilicon-carbide-flap-dis>: HTTP status code is not handled or not allowed 2026-01-27 20:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-e-3603-tube-acf02017-0-250-id-x-375-od-x-100-l>: HTTP status code is not handled or not allowed 2026-01-27 20:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-micron-filter-e85>: HTTP status code is not handled or not allowed 2026-01-27 20:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-gsm-sheet-cast-1-500-thick-x-12-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-27 20:00:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/vibration_isolating_spring_floor_mounts landed on page that is not a product page. 2026-01-27 20:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-8x1x3-8smed048011-18279>: HTTP status code is not handled or not allowed 2026-01-27 20:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/vibration_isolating_pads>: HTTP status code is not handled or not allowed 2026-01-27 20:00:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/depressed_center_wheels landed on page that is not a product page. 2026-01-27 20:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabricreinforced-high-strength-bunan-rubber-roll-no-adhesive-60a-14-thick-x-36-w-x-10-ft-l>: HTTP status code is not handled or not allowed 2026-01-27 20:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410x-high-yield-black-original-laserjet-toner-cartridge-6500-page-yield>: HTTP status code is not handled or not allowed 2026-01-27 20:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-70a-18-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 20:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-gs-sheet-extruded-0-750-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-27 20:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-1-1-4-to-1-3-4-wide-bench-wheels>: HTTP status code is not handled or not allowed 2026-01-27 20:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-wire-truck-40-cu-ft-black-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 20:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elevated-basket-truck-6-bu-red-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 20:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-3-a-vfn048011-05530>: HTTP status code is not handled or not allowed 2026-01-27 20:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-96x48x84-gray-with-3-levels-no-deck-800-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 20:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-industrial-access-stairway-ladder-perforated>: HTTP status code is not handled or not allowed 2026-01-27 20:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-wheeled-floor-squeegee-18-l>: HTTP status code is not handled or not allowed 2026-01-27 20:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-heavy-duty-600-lb-cap-safety-angle-steel-rolling-ladder-perfor>: HTTP status code is not handled or not allowed 2026-01-27 20:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-wall-corrugated-sheets-48l-x-40w-kraft-5pack>: HTTP status code is not handled or not allowed 2026-01-27 20:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-4-34l-x-2-38w-blue-100pack>: HTTP status code is not handled or not allowed 2026-01-27 20:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bemis-heavy-duty-open-front-commercial-seat-sta-tite-hinges-elongated-black>: HTTP status code is not handled or not allowed 2026-01-27 20:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb922b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-11>: HTTP status code is not handled or not allowed 2026-01-27 20:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-20x20x10-with-roof-4-sides-w-window>: HTTP status code is not handled or not allowed 2026-01-27 20:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-12-8l-x-4w-yellow-500pack>: HTTP status code is not handled or not allowed 2026-01-27 20:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-neoprene-rubber-sheet-no-adhesive-60a-38-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 20:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-96x36x84-gray-with-3-shelves-laminated-deck-800-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 20:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kapton-hn-film-0-005-thick-x-24-w-x-24-000-l>: HTTP status code is not handled or not allowed 2026-01-27 20:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53-natural-rubber-tape-2-x-110-yds-21-mil-tan-6pack>: HTTP status code is not handled or not allowed 2026-01-27 20:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-60x48x96-gray-with-3-shelves-laminated-deck-1200-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 20:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-30-glass-filled-nylon-6-6-sheet-0-750-thick-x-48-w-x-96-l>: HTTP status code is not handled or not allowed 2026-01-27 20:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wire-shelf-individual-basket-36w-x-24d>: HTTP status code is not handled or not allowed 2026-01-27 20:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-welded-workbench-w-open-base-24-x-48>: HTTP status code is not handled or not allowed 2026-01-27 20:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-hd-free-standing-jib-crane-9-ft-span-and-15-ft-height-under-boom-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wsh2-2448-ah-48w-x-24d-wsh2-2448-ah-adj-height-workbench>: HTTP status code is not handled or not allowed 2026-01-27 20:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kapton-hn-film-0-002-thick-x-12-w-x-100-l>: HTTP status code is not handled or not allowed 2026-01-27 20:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedestal-stroller-for-high-velocity-dock-fans>: HTTP status code is not handled or not allowed 2026-01-27 20:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-his-sheet-0-250-thick-x-48-000-w-x-96-000-l>: HTTP status code is not handled or not allowed 2026-01-27 20:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubby-locker-welded-34-1-2w-x-13-1-2d-x-30h-6-compartments-champagne-putty>: HTTP status code is not handled or not allowed 2026-01-27 20:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-bin-for-cubby-lockers-10-1-8-w-x-13-3-4-d-x-2-1-4-h>: HTTP status code is not handled or not allowed 2026-01-27 20:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-30x18x54-nexelon-finish>: HTTP status code is not handled or not allowed 2026-01-27 20:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-finish-luggage-rack-with-back>: HTTP status code is not handled or not allowed 2026-01-27 20:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/256-flatback-tape-12-x-60-yds-67-mil-white-12pack>: HTTP status code is not handled or not allowed 2026-01-27 20:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mitutoyo-500-196-30cert-0-6-digimatic-digital-caliper-w-certification>: HTTP status code is not handled or not allowed 2026-01-27 20:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r430006-r-bantam-self-retracting-lifeline-6-feet-long-web-with-aluminum-rebar>: HTTP status code is not handled or not allowed 2026-01-27 20:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/824-pouch-tape-roll-5-x-6-25-mil-clear-12pack>: HTTP status code is not handled or not allowed 2026-01-27 20:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proform-f3-h013005-standard-harness-quick-connect-legs-xxl>: HTTP status code is not handled or not allowed 2026-01-27 20:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-vinyl-tubing-bulk-coil-1-4-i-d-300-feet-coil>: HTTP status code is not handled or not allowed 2026-01-27 20:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fury-heavy-duty-non-corrosive-autoscrubber-degreaser-unscented-gal-4-bottles-910593>: HTTP status code is not handled or not allowed 2026-01-27 20:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-steel-shelving-5-shelves-24-x-36>: HTTP status code is not handled or not allowed 2026-01-27 20:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10385 pages (at 93 pages/min), scraped 5106 items (at 29 items/min) 2026-01-27 20:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-12-rail-unit-with-192-qus220-ultra-stack-hang-bins-black>: HTTP status code is not handled or not allowed 2026-01-27 20:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-gpo-3-sheet-0-500-thick-x-48-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-27 20:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-54-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-27 20:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104-key-full-size-usb-keyboard-for-mac-black-qkeyb>: HTTP status code is not handled or not allowed 2026-01-27 20:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eva-tubing-w-nylon-braid-reinforcement-bulk-3-8-i-d-300-feet>: HTTP status code is not handled or not allowed 2026-01-27 20:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-storage-locker-30-x-48>: HTTP status code is not handled or not allowed 2026-01-27 20:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-folding-security-gate-10-x-5>: HTTP status code is not handled or not allowed 2026-01-27 20:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alkaline-cleaner-and-degreaser-gallon-bottle-4-bottles>: HTTP status code is not handled or not allowed 2026-01-27 20:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drawer-cabinet-modular-storage-7>: HTTP status code is not handled or not allowed 2026-01-27 20:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-top-machine-table-18-x-24-x-36-swivel-casters-w-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waxsweep-sweeping-compound-100-lb-drum>: HTTP status code is not handled or not allowed 2026-01-27 20:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252-m20x1-5-a-steel-threaded-plug-m20-x-1-5-thread>: HTTP status code is not handled or not allowed 2026-01-27 20:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-16-rail-unit-with-16-qus220-18-qus230-12-qus240-ultra-stack-hang-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-27 20:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handheld-letter-opener-1624>: HTTP status code is not handled or not allowed 2026-01-27 20:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g5-145t-ap-7-5hp-oil-injected-rotary-screw-71-gallon-tank-mount-145psi-1ph-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:01:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-boxes-5l-x-5w-x-3h-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-27 20:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g2-116t-ap-3hp-oil-injected-rotary-screw-71-gallon-tank-mount-116psi-1ph-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-cotton-rope-hammock-black>: HTTP status code is not handled or not allowed 2026-01-27 20:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-lobby-broom-dust-pan-set-open-lid>: HTTP status code is not handled or not allowed 2026-01-27 20:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gourmet-digital-thermometer-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:01:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-syracuse-2-x-2-nail-up-tin-ceiling-tile-in-clear-t50-04>: HTTP status code is not handled or not allowed 2026-01-27 20:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving>: HTTP status code is not handled or not allowed 2026-01-27 20:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-tuck-folding-cartons-3l-x-1-516w-x-3h-kraft-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-with-36-shelf-bins-13-shelves-36x12x75-2>: HTTP status code is not handled or not allowed 2026-01-27 20:01:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63h-nexel-chrome-wire-shelving-add-on-30wx21d>: HTTP status code is not handled or not allowed 2026-01-27 20:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-jamestown-2-x-2-lay-in-tin-ceiling-tile-in-unfinished-y51-03>: HTTP status code is not handled or not allowed 2026-01-27 20:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-32-4782-2-power-bit-t10-bulk-25>: HTTP status code is not handled or not allowed 2026-01-27 20:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasonic-table-top-parts-cleaning-system-digital-timer-heat-1-gal-45-khz-115v>: HTTP status code is not handled or not allowed 2026-01-27 20:01:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-27 20:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-36-square-dining-table-lava-table-top-w-fusion-bronze-base>: HTTP status code is not handled or not allowed 2026-01-27 20:01:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-27 20:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-9w-to-10w-and-66h>: HTTP status code is not handled or not allowed 2026-01-27 20:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-11w-to-12w-and-6h>: HTTP status code is not handled or not allowed 2026-01-27 20:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bxtl2424-24-x-24-exposed-flange-locking-handle>: HTTP status code is not handled or not allowed 2026-01-27 20:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-double-folding-gate-12w-to-14w-and-6h>: HTTP status code is not handled or not allowed 2026-01-27 20:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swisher-lsed14534-14-5hp-34-ton-timber-brute-commercial-grade-log-splitter-w-kawasaki-engine>: HTTP status code is not handled or not allowed 2026-01-27 20:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jamaica-beach-adj-sling-chaise-lounge-fern-green-w-white-frame-pack-of-16>: HTTP status code is not handled or not allowed 2026-01-27 20:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-starter-96x36x96>: HTTP status code is not handled or not allowed 2026-01-27 20:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-optima-no-stick-aluminum-fry-pan>: HTTP status code is not handled or not allowed 2026-01-27 20:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-triple-unit-towel-valet-madras-blue-sling-with-glacier-white-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-antiseptic-foam-skin-cleanser-unscented-1-200-ml-refill>: HTTP status code is not handled or not allowed 2026-01-27 20:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-shaft-1230r-5235111>: HTTP status code is not handled or not allowed 2026-01-27 20:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-octo-container-mixed-recyclables-32-gallon-graystone-104439>: HTTP status code is not handled or not allowed 2026-01-27 20:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reechcraft-pl-x16-powerlift-189-58-platform-height-350-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:01:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prf072wwg-0-white-diamond-glass-door-refrigerator-freezer-combo-7-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-multi-surface-cleaner-concentrated-sparkling-wave-80-oz-bottle-3case>: HTTP status code is not handled or not allowed 2026-01-27 20:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnum-pro-250lx-gt-spool-gun-25l-cable>: HTTP status code is not handled or not allowed 2026-01-27 20:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2232ac-seal-oil-5510184>: HTTP status code is not handled or not allowed 2026-01-27 20:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks>: HTTP status code is not handled or not allowed 2026-01-27 20:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-motor-cfswdnm3554-e-ip69-15-hp-1750-rpm-3-ph-60-hz-56-c-3540m-tenv-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10482 pages (at 97 pages/min), scraped 5153 items (at 47 items/min) 2026-01-27 20:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek-bouffant-caphead-cover-100-latex-free-white-21-50bag>: HTTP status code is not handled or not allowed 2026-01-27 20:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-2000sf-high-performance-back-support-black-small>: HTTP status code is not handled or not allowed 2026-01-27 20:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-4-tier-front-door-full-height-rear-panel-36w-x-24d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 20:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vfswdm3710t-e-ip69-75hp-1770rpm-3ph-60hz-213tc-3740m-tefc>: HTTP status code is not handled or not allowed 2026-01-27 20:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-muffler-3-4-male>: HTTP status code is not handled or not allowed 2026-01-27 20:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-triple-front-door-triple-rear-door-24w-x-25-1-2d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 20:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-8-compartment-15>: HTTP status code is not handled or not allowed 2026-01-27 20:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-polypropylene-shoe-covers-with-non-skid-aq-sole-water-resistant-white-xl-200case>: HTTP status code is not handled or not allowed 2026-01-27 20:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-soft-facial-tissue-2-ply-white-56-sheets-box-4-boxes-pack-6-packs-case>: HTTP status code is not handled or not allowed 2026-01-27 20:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pilot-20-disc-sndr-item52-4421-5644871>: HTTP status code is not handled or not allowed 2026-01-27 20:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-1-1-8-drywall-screw-phillips-bugle-head-steel-black-phosphate-sharp-point-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viking153-3350-welding-helmet-5-13-shade-twisted-metal>: HTTP status code is not handled or not allowed 2026-01-27 20:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-12-compartment-13>: HTTP status code is not handled or not allowed 2026-01-27 20:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6630-high-performance-cap-blue-one-size>: HTTP status code is not handled or not allowed 2026-01-27 20:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scrubbers-5batterycord-coiled-261493>: HTTP status code is not handled or not allowed 2026-01-27 20:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viking153-3350-welding-helmet-5-13-shade-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-outdoor-pedestal-bottle-filling-station-ss>: HTTP status code is not handled or not allowed 2026-01-27 20:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-polypropylene-coverall-elastic-wrists-ankles-attached-hood-zipper-front-white-5xl-25cs>: HTTP status code is not handled or not allowed 2026-01-27 20:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410-airug-anti-fatigue-mat-38-thick-3w-x-5l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8250zhg-class-2-hi-gloss-surveyors-vest-orange-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-27 20:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/otg-visitor-safety-glasses-clear-lens-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/am73915mzt-edge-handheld-digital-microscope-with-polarizer-5mp-20x-220x>: HTTP status code is not handled or not allowed 2026-01-27 20:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8289-class-2-economy-t-shirt-orange-large>: HTTP status code is not handled or not allowed 2026-01-27 20:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flashguard-letter-size-premium-thermal-laminating-pouches-3-mil-thick-9-x-11-12-100pk>: HTTP status code is not handled or not allowed 2026-01-27 20:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-350-gel-knee-pad-black-one-size>: HTTP status code is not handled or not allowed 2026-01-27 20:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capital-locker-six-tier-12x12x12-18-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3405-grabber-with-belt-clip-black>: HTTP status code is not handled or not allowed 2026-01-27 20:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-polypropylene-bouffant-cap-100-latex-free-yellow-21-100bag>: HTTP status code is not handled or not allowed 2026-01-27 20:02:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/round-32-stainless-steel-table already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/10-gallon-hazmat-spill-kit-spkhz-10 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/tennsco-capstone-additional-shelf-level-42-w-x-18-d-medium-grey already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/snap-ring-5711991 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/4oz-natural-hdpe-cylinder-dispensing-bottle-w-24-410-white-pe-flip-top-cap-24pk already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/glowear-8330z-class-3-two-tone-vest-orange-4xl-5xl already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/aluminum-adjustable-solid-brute-shelf-18-wx42-l already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/center-pulley-5625971 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/plastic-laminate-worksurface-beige-36-w-x-20-d already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/nexelite-shelf-divider-24 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/aluminum-adjustable-heavy-duty-shelf-15-wx60-l already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/door-kit-30-storage-cabinet-695515 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/nexelite-shelf-ledge-54 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/vogue-outdoor-stackable-chair-black-pack-of-16 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/fmt-10-forklift-mortar-tub-11-cu-ft-capacity-steel already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/ec400-exstikand174-conductivitytdssalinity-meter already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/round-32-stainless-steel-table already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/10-gallon-hazmat-spill-kit-spkhz-10 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/tennsco-capstone-additional-shelf-level-42-w-x-18-d-medium-grey already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/snap-ring-5711991 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/4oz-natural-hdpe-cylinder-dispensing-bottle-w-24-410-white-pe-flip-top-cap-24pk already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/glowear-8330z-class-3-two-tone-vest-orange-4xl-5xl already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/aluminum-adjustable-solid-brute-shelf-18-wx42-l already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/center-pulley-5625971 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/plastic-laminate-worksurface-beige-36-w-x-20-d already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/nexelite-shelf-divider-24 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-shelf-ledge-54>: HTTP status code is not handled or not allowed 2026-01-27 20:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-heavy-duty-shelf-15-wx60-l>: HTTP status code is not handled or not allowed 2026-01-27 20:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fmt-10-forklift-mortar-tub-11-cu-ft-capacity-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ec400-exstikand174-conductivitytdssalinity-meter>: HTTP status code is not handled or not allowed 2026-01-27 20:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-32-stainless-steel-table>: HTTP status code is not handled or not allowed 2026-01-27 20:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-gallon-hazmat-spill-kit-spkhz-10>: HTTP status code is not handled or not allowed 2026-01-27 20:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennsco-capstone-additional-shelf-level-42-w-x-18-d-medium-grey>: HTTP status code is not handled or not allowed 2026-01-27 20:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-ring-5711991>: HTTP status code is not handled or not allowed 2026-01-27 20:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4oz-natural-hdpe-cylinder-dispensing-bottle-w-24-410-white-pe-flip-top-cap-24pk>: HTTP status code is not handled or not allowed 2026-01-27 20:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-solid-brute-shelf-18-wx42-l>: HTTP status code is not handled or not allowed 2026-01-27 20:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/center-pulley-5625971>: HTTP status code is not handled or not allowed 2026-01-27 20:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-shelf-divider-24>: HTTP status code is not handled or not allowed 2026-01-27 20:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/68oz-natural-hdpe-wide-mouth-round-bottle-with-89-400-white-pp-pe-foam-cap-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-dolly-handle-fdh-2436pl8-4sml-24-x-36-8-polyolefin-casters-3000-lbs>: HTTP status code is not handled or not allowed 2026-01-27 20:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-bolt-6295754>: HTTP status code is not handled or not allowed 2026-01-27 20:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2oz-amber-wide-mouth-packer-with-33-400-black-phenolic-polycone-lined-cap-24pk>: HTTP status code is not handled or not allowed 2026-01-27 20:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4oz-clear-graduated-medium-round-w-48-400-green-thermoset-f217-ptfe-lined-cap-24pk>: HTTP status code is not handled or not allowed 2026-01-27 20:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10554 pages (at 72 pages/min), scraped 5179 items (at 26 items/min) 2026-01-27 20:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-32w-x-42l-2-mil-clear-200pack>: HTTP status code is not handled or not allowed 2026-01-27 20:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-heavy-duty-shelf-20-wx54-l>: HTTP status code is not handled or not allowed 2026-01-27 20:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-workbench-60x30-with-adjustable-legs>: HTTP status code is not handled or not allowed 2026-01-27 20:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-949evs-mill-acu-rite-200s-dro-x-and-y-axis-powerfeeds-air-powered-drawbar-690513>: HTTP status code is not handled or not allowed 2026-01-27 20:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tropical-fruit-nut-2-oz>: HTTP status code is not handled or not allowed 2026-01-27 20:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-solid-brute-shelf-20-wx66-l>: HTTP status code is not handled or not allowed 2026-01-27 20:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8249z-class-2-economy-surveyors-vest-orange-s-m>: HTTP status code is not handled or not allowed 2026-01-27 20:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-34-white-permanent-poly-labels>: HTTP status code is not handled or not allowed 2026-01-27 20:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-1-mill-3-axis-newall-dp500-dro-quill-x-axis-powerfeed-690614>: HTTP status code is not handled or not allowed 2026-01-27 20:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-18-1-4-x-24-x-12-red>: HTTP status code is not handled or not allowed 2026-01-27 20:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-slide-bracket--ref-163-5714271>: HTTP status code is not handled or not allowed 2026-01-27 20:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-steel-orange-tilt-and-roll-ladder-with-perforated-tread-tr-2-p-o>: HTTP status code is not handled or not allowed 2026-01-27 20:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/short-sleeve-wicking-birdseye-t-shirt-w-pocket-hi-vis-orange-s>: HTTP status code is not handled or not allowed 2026-01-27 20:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-13w-x-16l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-3w-x-5l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-series-steel-easy-slip-on-baseboard-heater-cover-right-side-endcap-white>: HTTP status code is not handled or not allowed 2026-01-27 20:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallpro-twin-black-post-retracting-belt-barrier-75-ft-red-authorized-belt>: HTTP status code is not handled or not allowed 2026-01-27 20:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-cord-pad-2-x-2-x-1>: HTTP status code is not handled or not allowed 2026-01-27 20:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-cantilever-t-bar-shelf-18-wx48-l>: HTTP status code is not handled or not allowed 2026-01-27 20:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-4010-double-strap-wrist-support-black-medium-left>: HTTP status code is not handled or not allowed 2026-01-27 20:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fruities-grape-chewy-candy>: HTTP status code is not handled or not allowed 2026-01-27 20:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-dram-amber-vial-w-18-400-black-phenolic-pulp-vinyl-lined-cap-attached-144pk>: HTTP status code is not handled or not allowed 2026-01-27 20:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-with-boxes-2>: HTTP status code is not handled or not allowed 2026-01-27 20:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-black-post-retracting-belt-barrier-11-ft-yellow-danger-belt>: HTTP status code is not handled or not allowed 2026-01-27 20:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-x-56mm-7-dram-clear-ps-snap-cap-vial-with-32mm-white-pp-linerless-snap-cap-144pk>: HTTP status code is not handled or not allowed 2026-01-27 20:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crew-sweatshirt-hi-vis-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-27 20:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-pants-waterproof-hi-viz-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-27 20:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-reclosable-poly-bags-20w-x-20l-4-mil-pink-500pack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sloped-flow-shelving-starter-48-x24-x84-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:03:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-cover-10-gauge-vinyl-for-18-x-36-x-74-unit-zipper-closure-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8008-hi-vis-leg-gaiters-orange-osfa>: HTTP status code is not handled or not allowed 2026-01-27 20:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-5-in-1-parka-hi-viz-yellow-medium>: HTTP status code is not handled or not allowed 2026-01-27 20:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-block-grip-rubber-runner-mat-2mm-x-4-x-11-rubber-rolls-black>: HTTP status code is not handled or not allowed 2026-01-27 20:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-cu-yd-stainless-steel-self-dumping-forkli-hopper>: HTTP status code is not handled or not allowed 2026-01-27 20:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-clear-view-storage-cabinet-easy-assembly-48x24x78-tan-1>: HTTP status code is not handled or not allowed 2026-01-27 20:03:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/punches_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-washer-5625591>: HTTP status code is not handled or not allowed 2026-01-27 20:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steer-mount-bucket-low-profile-72w>: HTTP status code is not handled or not allowed 2026-01-27 20:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-manual-combination-strapping-tool>: HTTP status code is not handled or not allowed 2026-01-27 20:03:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-27 20:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duty-stainless-steel-wire-rope-thimble-1-16-diameter>: HTTP status code is not handled or not allowed 2026-01-27 20:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-stainless-steel-lab-workbench-fixed-height>: HTTP status code is not handled or not allowed 2026-01-27 20:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-3w-x-30l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2ml-amber-glass-std-open-screw-thread-vial-w-8-425-neck-finish-white-spot-1000pk>: HTTP status code is not handled or not allowed 2026-01-27 20:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-max-100-sq-ft-kit-vinyl-smoked-pewter-282-27>: HTTP status code is not handled or not allowed 2026-01-27 20:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-36w-x-48l-6-mil-clear-50pack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/punches_1>: HTTP status code is not handled or not allowed 2026-01-27 20:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-lock-self-seal-6l-1-2-thick-5-8>: HTTP status code is not handled or not allowed 2026-01-27 20:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-safety-ppe-dispenser-visitor-specs-deluxe-by-e-glasg-d>: HTTP status code is not handled or not allowed 2026-01-27 20:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-sleeve-jdp-20evs-20evs-c34>: HTTP status code is not handled or not allowed 2026-01-27 20:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-flame-resistant-long-sleeve-t-shirt-hi-viz-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-27 20:03:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/clipboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/585836-8-5-9-prem-disposable-nitrile-100glvs-bx-92-600-8-5-9>: HTTP status code is not handled or not allowed 2026-01-27 20:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-chair-mat-for-low-pile-carpet-36wx48l-rectangular-crystal-edge>: HTTP status code is not handled or not allowed 2026-01-27 20:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-tie-hat-with-elastic-rear-band-jungle-flage-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinge-aligner-steel-3-1-2-w-x-3-1-2-d-x-27-h>: HTTP status code is not handled or not allowed 2026-01-27 20:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-nitrimed-xtra-nitrile-glove-powder-free-6012m>: HTTP status code is not handled or not allowed 2026-01-27 20:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kas3grn-safety-padlock-1-12h-shackle-green-3set>: HTTP status code is not handled or not allowed 2026-01-27 20:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/distribution-container-with-hinged-lid-24-1-2x15x13-3-4-red>: HTTP status code is not handled or not allowed 2026-01-27 20:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-selfstick-notes-3-x-3-yellow-12-100sheet-padspack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-230v-jdp-20evs-20evs-230vf>: HTTP status code is not handled or not allowed 2026-01-27 20:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-sticky-notes-15-x-2-yellow-12-100sheet-padspack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-6w-x-30l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-l-x-30-w-production-bench-plastic-square-edge-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:03:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/clipboards landed on page that is not a product page. 2026-01-27 20:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/computer-paper-20lb-912-x-11-letter-trim-perforation-white-2300-sheets>: HTTP status code is not handled or not allowed 2026-01-27 20:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-edged-mechanic-nut-splitter-class-6-1-1-4-32-mm-to-2-50-mm>: HTTP status code is not handled or not allowed 2026-01-27 20:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7w-x-7l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/internal-bearing-extractor-1-3-4-45-mm-2-1-4-58-mm>: HTTP status code is not handled or not allowed 2026-01-27 20:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-perforated-note-pads-wide-rule-5-x-8-blue-50sheet-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-regulator-jsg-0716n-302-0019>: HTTP status code is not handled or not allowed 2026-01-27 20:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blended-lisle-ladies-inspector-glove-8610>: HTTP status code is not handled or not allowed 2026-01-27 20:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10646 pages (at 92 pages/min), scraped 5202 items (at 23 items/min) 2026-01-27 20:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-56w-x-60l-3-mil-clear-50pack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fuse-2a-9180-215-10>: HTTP status code is not handled or not allowed 2026-01-27 20:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-6w-x-6l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kas3teal-safety-padlock-1-12w-x-1-12h-teal-3set>: HTTP status code is not handled or not allowed 2026-01-27 20:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-20w-x-28l-3-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 20:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/checklite-safety-glassesclear-anti-fog-lens-cl110af>: HTTP status code is not handled or not allowed 2026-01-27 20:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-jaw-self-centering-puller-75-ton-capacity-7-8-to-9-7-8-open-7-7-8-reach>: HTTP status code is not handled or not allowed 2026-01-27 20:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-style-flip-table-with-casters-24-x-60-white-top-w-silver-base>: HTTP status code is not handled or not allowed 2026-01-27 20:04:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper landed on page that is not a product page. 2026-01-27 20:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/auxiliary-hydraulic-ram-for-the-20-2-and-30-2-pullers-or-larger-11-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-5w-x-28l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-way-premium-shoulder-length-winter-liners-navy-black-6-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-11w-x-12l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washout-construction-washout-polypropylene-lid>: HTTP status code is not handled or not allowed 2026-01-27 20:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermopiles-51-1344-pit60125501>: HTTP status code is not handled or not allowed 2026-01-27 20:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-plastic-1-1-2-links-on-a-reel-safety-green-200-feet-trade-size-6>: HTTP status code is not handled or not allowed 2026-01-27 20:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1105ylw-aluminum-safety-padlock-1-12w-x-1h-shackle-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fortress-osha-stair-system-27-5-42-5-h-adj-40-1-2-w-x-99-l-fully-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-60825-aluminum-water-blaster-4400psi-420cc-4-0gpm-gas-pressure-washer-w-simpson-gb420-engine>: HTTP status code is not handled or not allowed 2026-01-27 20:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbide-guide-hbs814gh-190-10>: HTTP status code is not handled or not allowed 2026-01-27 20:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-outdoor-lcd-guardian-tv-enclosure-for-50-55-monitors-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-12x18x60-3-door-ready-assemble-parchment>: HTTP status code is not handled or not allowed 2026-01-27 20:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metaltech-pig-tail-lock>: HTTP status code is not handled or not allowed 2026-01-27 20:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-12x12x72-3-door-ready-assemble-parchment>: HTTP status code is not handled or not allowed 2026-01-27 20:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grids-46-1746-imp36015>: HTTP status code is not handled or not allowed 2026-01-27 20:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathway-3g-wheelchair-ramp-kit-12ft-36-use-w-expanded-metal-two-line-handrail-3-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metaltech-steel-maxi-drywall-baker-scaffold-73l-x-29w-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1107ylw-aluminum-safety-padlock-1-12w-x-3h-shackle-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/backbiter-safety-lanyard6-ft-green-8798b-6ftgn>: HTTP status code is not handled or not allowed 2026-01-27 20:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delta-no-tangle-body-harness-vest-style-1102000>: HTTP status code is not handled or not allowed 2026-01-27 20:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheels-26-1511-blo15853>: HTTP status code is not handled or not allowed 2026-01-27 20:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-3-8-automotive-profile-with-3-8-fnpt-connection>: HTTP status code is not handled or not allowed 2026-01-27 20:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s3920-butterfly-valve-lockout-device-only>: HTTP status code is not handled or not allowed 2026-01-27 20:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-line-60-ft-retractable-7605060>: HTTP status code is not handled or not allowed 2026-01-27 20:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthy-grains-bar-dark-chocolate-chunk-1-2-oz>: HTTP status code is not handled or not allowed 2026-01-27 20:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/link-a-ck350-409>: HTTP status code is not handled or not allowed 2026-01-27 20:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-sand-fillable-drum-base>: HTTP status code is not handled or not allowed 2026-01-27 20:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-filler-cover-jdp-20evs-20evs-t66>: HTTP status code is not handled or not allowed 2026-01-27 20:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-plug-body-with-industrial-profile-1-2-hose-barb-connection-used-with-isi-coupling>: HTTP status code is not handled or not allowed 2026-01-27 20:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-s1430gz-green-wire-shelf-30-wx14-d>: HTTP status code is not handled or not allowed 2026-01-27 20:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-24w-x-72l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-16in-w-steel-safety-angle-rolling-ladder-perforated-tread-safety-yellow-kdec107166-y>: HTTP status code is not handled or not allowed 2026-01-27 20:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-valve-431430210-j1010-23>: HTTP status code is not handled or not allowed 2026-01-27 20:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-fnpt-2pc-frl>: HTTP status code is not handled or not allowed 2026-01-27 20:04:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_jaws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-1-4-industrial-interchange-with-1-4-mnpt-connection>: HTTP status code is not handled or not allowed 2026-01-27 20:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-fittings-3-8-npt>: HTTP status code is not handled or not allowed 2026-01-27 20:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-21w-x-54l-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-fnpt-filter>: HTTP status code is not handled or not allowed 2026-01-27 20:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-10w-x-8d-x-20h-3-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 20:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bull-nose-and-pipe-live-center-mt5-head-diameter-6-61-inch-t-i-r-0008>: HTTP status code is not handled or not allowed 2026-01-27 20:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motors-68-1072-hen25751>: HTTP status code is not handled or not allowed 2026-01-27 20:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kits-51-1445-cha0502811>: HTTP status code is not handled or not allowed 2026-01-27 20:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-top-jaws-for-scroll-chuck-12-inch-3-jaw-3-piece-set>: HTTP status code is not handled or not allowed 2026-01-27 20:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-mobile-work-platform-28in-w-x-46in-l-no-handrails-gray-wlwp023636>: HTTP status code is not handled or not allowed 2026-01-27 20:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_jaws>: HTTP status code is not handled or not allowed 2026-01-27 20:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-8w-x-18l-6-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 20:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-lever-hbs814gh-800-4>: HTTP status code is not handled or not allowed 2026-01-27 20:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-1-2-body-plug-with-iso-6150-profile-3-8-fnpt-used-with-csm-coupler>: HTTP status code is not handled or not allowed 2026-01-27 20:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reel-rack-add-on-unit-36-w-x-24-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-27 20:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reel-rack-starter-unit-24-w-x-24-d-x-120-h>: HTTP status code is not handled or not allowed 2026-01-27 20:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reel-rack-starter-unit-48-w-x-36-d-x-120-h>: HTTP status code is not handled or not allowed 2026-01-27 20:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7w-x-14l-6-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bissell-garage-pro-wet-dry-wall-mount-vacuum>: HTTP status code is not handled or not allowed 2026-01-27 20:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-21w-x-60l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-nut-thin-m10-jasj22c-107>: HTTP status code is not handled or not allowed 2026-01-27 20:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f44g45e-45-degree-elbow-type-1-400x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 20:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spd-label-jmlvs-109>: HTTP status code is not handled or not allowed 2026-01-27 20:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-21w-x-36l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as075ss-hol-sealers8482-hole-seal-for-34-in-conduit-156-dia-ss>: HTTP status code is not handled or not allowed 2026-01-27 20:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abs-scoops-1680000>: HTTP status code is not handled or not allowed 2026-01-27 20:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-21w-x-60l-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-steel-ladder-guard-door-for-entry-onto-fixed-ladder-gray-opfs03>: HTTP status code is not handled or not allowed 2026-01-27 20:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10746 pages (at 100 pages/min), scraped 5230 items (at 28 items/min) 2026-01-27 20:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-24in-w-30in-d-top-step-steel-rolling-ladder-perforated-tread-36in-handrail-kdsr107246-d3>: HTTP status code is not handled or not allowed 2026-01-27 20:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotor-blades-jsm4340-16>: HTTP status code is not handled or not allowed 2026-01-27 20:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/satin-combination-wrench-15-16-inch-12-point>: HTTP status code is not handled or not allowed 2026-01-27 20:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a10p10-panel-junction-box-875x888-fits-10x10-steelwhite>: HTTP status code is not handled or not allowed 2026-01-27 20:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-plastic-step-stand-19-1-2-w-x-13-1-2-d-x-12-h-red>: HTTP status code is not handled or not allowed 2026-01-27 20:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/punch-chisel-sets-2>: HTTP status code is not handled or not allowed 2026-01-27 20:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-m3x8-jsm4140-12>: HTTP status code is not handled or not allowed 2026-01-27 20:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-jsm4540-32>: HTTP status code is not handled or not allowed 2026-01-27 20:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-18w-x-60l-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthsmart-rollator-walker-with-seat-and-backrest-adjustable-handle-height-removable-storage-bag-and-a-durable-lightweight-frame-that-easily-folds-while-supporting-up-to-300-pounds-purple>: HTTP status code is not handled or not allowed 2026-01-27 20:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhus-5-3-2-adjustable-3-pole-three-phase-thermal-overload-relay>: HTTP status code is not handled or not allowed 2026-01-27 20:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x24x72-with-4-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 20:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22mm-non-metallic-non-illuminated-push-pull-maintained-round-mushroom-button>: HTTP status code is not handled or not allowed 2026-01-27 20:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lower-wheel-shaft-wbs-14csos-text-110065>: HTTP status code is not handled or not allowed 2026-01-27 20:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x24x72-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 20:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1300-strapping-tape-12-x-60-yds-39-mil-clear-72pack>: HTTP status code is not handled or not allowed 2026-01-27 20:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/satin-combination-wrench-1-1-8-inch-12-point>: HTTP status code is not handled or not allowed 2026-01-27 20:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polypropylene-coverall-open-wrists-ankles-white-2x-large-25-case>: HTTP status code is not handled or not allowed 2026-01-27 20:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-spanner-wrenches-460>: HTTP status code is not handled or not allowed 2026-01-27 20:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/face-spanner-wrenches-426>: HTTP status code is not handled or not allowed 2026-01-27 20:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-rail-1-meter-standard-35mm>: HTTP status code is not handled or not allowed 2026-01-27 20:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-together-pipe-6-inch-diameter-galvanized-22-gage>: HTTP status code is not handled or not allowed 2026-01-27 20:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-cork-roll-48-x-96>: HTTP status code is not handled or not allowed 2026-01-27 20:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-with-2-brackets>: HTTP status code is not handled or not allowed 2026-01-27 20:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-c-d-mobile-console-computer-cabinet-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-4-chair-set-black-polypropylene-cafe-chairs-36w-x-29h-round-graphite-table>: HTTP status code is not handled or not allowed 2026-01-27 20:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-12-straight-pipe-wrenches-12-2-pipe-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-with-manual-close-double-door-28-gallon>: HTTP status code is not handled or not allowed 2026-01-27 20:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-8w-x-8l-8-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ztek-eyewear-coffee-lens-with-coffee-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-5-strap-wrench-18l-1-34-strap-width-7-od-tube-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-rod-mdl-ghbbdb-1340a-321718>: HTTP status code is not handled or not allowed 2026-01-27 20:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-lb-keg-super-lube-synthetic-grease-nlgi-1>: HTTP status code is not handled or not allowed 2026-01-27 20:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-conical-vibration-shock-absorption-mount-10-24-thread-25-ft-lbs-max-load>: HTTP status code is not handled or not allowed 2026-01-27 20:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylindrical-weights-nist-class-f-0-2-lbs>: HTTP status code is not handled or not allowed 2026-01-27 20:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/memesd-memory-foam-anti-fatigue-insoles-10-11-molded-for-closed-shoes-antistatic-threads>: HTTP status code is not handled or not allowed 2026-01-27 20:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ztek-eyewear-blue-mirror-lens-with-blue-mirror-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ts199-thermo-glove-anti-fatigue-xl-open-finger-relief-from-strain-and-fatigue-rsi>: HTTP status code is not handled or not allowed 2026-01-27 20:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-16-1-2-x-30-x-15-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-oz-bottle-h3-direct-food-contact-multi-purpose-oil>: HTTP status code is not handled or not allowed 2026-01-27 20:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60in-over-head-light-and-fixture>: HTTP status code is not handled or not allowed 2026-01-27 20:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/el5002-med-tennis-elbow-support-ambidextrous-neoprene-wrap-pressure-pad-for-compression>: HTTP status code is not handled or not allowed 2026-01-27 20:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinion-shaft-ghd-20pf-2450021>: HTTP status code is not handled or not allowed 2026-01-27 20:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-m6-x-1269-ghdjmd-text-2450022>: HTTP status code is not handled or not allowed 2026-01-27 20:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-regulator-jsm-403-40332>: HTTP status code is not handled or not allowed 2026-01-27 20:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-jumbo-dispenser-cutter-with-casters-42-inches>: HTTP status code is not handled or not allowed 2026-01-27 20:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-eyewear-jumbo-safety-eyewear-clear-lens-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-design-electric-pencil-sharpener-black>: HTTP status code is not handled or not allowed 2026-01-27 20:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-production-workbench-plastic-laminate-square-edge-with-drawers-shelf-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4462-double-sided-foam-tape-1-x-72-yds-3125-mil-white-9pack>: HTTP status code is not handled or not allowed 2026-01-27 20:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gatorade-instant-powder-33665>: HTTP status code is not handled or not allowed 2026-01-27 20:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-cfm-breather-box-8-outlets-schrader-fitting-bb100-co8>: HTTP status code is not handled or not allowed 2026-01-27 20:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-steel-shelf-36-w-x-12-d>: HTTP status code is not handled or not allowed 2026-01-27 20:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mp3551-mini-pack-fasteners-1w-x-15l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ever-ghb-1340text-7531>: HTTP status code is not handled or not allowed 2026-01-27 20:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mom-s-magical-goop-stain-removers-16-fl-oz-squeeze-bottle>: HTTP status code is not handled or not allowed 2026-01-27 20:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-25-l-hdpe-black>: HTTP status code is not handled or not allowed 2026-01-27 20:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-power-riser>: HTTP status code is not handled or not allowed 2026-01-27 20:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-bca-364213-g-bookcase-assembled-36x13x42-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-hanford-triple-post-with-support-brace-fluted-base-e1-economy-mailbox>: HTTP status code is not handled or not allowed 2026-01-27 20:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-cabinet-36x18x72>: HTTP status code is not handled or not allowed 2026-01-27 20:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-stainless-steel-storage-cabinet-48-x-24-x-60>: HTTP status code is not handled or not allowed 2026-01-27 20:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6802-classic-trapper-hat-l-xl-lime>: HTTP status code is not handled or not allowed 2026-01-27 20:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spindle-assy-450c1-2900030>: HTTP status code is not handled or not allowed 2026-01-27 20:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-disc-782c-tn-quick-change-4-1-2-80-25-per-inner-100-per-case>: HTTP status code is not handled or not allowed 2026-01-27 20:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-24-x-30-drawer-shelf-shop-stand-maple-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sj3542-fasteners-1w-x-150l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/078-1988k-impact-punch-down-tool-krone>: HTTP status code is not handled or not allowed 2026-01-27 20:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-roller-chain-140-1r-1-3-4-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-27 20:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-x-30-standard-shop-stand-maple-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-foot-x-40-foot-heavy-duty-white-tarp>: HTTP status code is not handled or not allowed 2026-01-27 20:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sj3560-fasteners-1w-x-150l-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10844 pages (at 98 pages/min), scraped 5256 items (at 26 items/min) 2026-01-27 20:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-jtm-1055-jtm1055-h09>: HTTP status code is not handled or not allowed 2026-01-27 20:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-disc-769f-05926-120-7-x-7-8-in-type-27-5-per-case>: HTTP status code is not handled or not allowed 2026-01-27 20:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-flange-base-jmd15-209>: HTTP status code is not handled or not allowed 2026-01-27 20:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-4w-x-5l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-foot-x-12-foot-heavy-duty-white-tarp>: HTTP status code is not handled or not allowed 2026-01-27 20:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-3-extension-series-3000>: HTTP status code is not handled or not allowed 2026-01-27 20:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-stainless-steel-roller-chain-25-1ss-1-4-pitch-offset-link>: HTTP status code is not handled or not allowed 2026-01-27 20:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-4w-x-30l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-w-3-drawer-binder-lateral-file-putty-1>: HTTP status code is not handled or not allowed 2026-01-27 20:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purofort-full-safety-mens-work-boots-size-7-green>: HTTP status code is not handled or not allowed 2026-01-27 20:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-recessed-handle-triple-tier-locker-12x15x24-unassembled-1-wide-champagne>: HTTP status code is not handled or not allowed 2026-01-27 20:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41422-nylon-blast-suit-blue-large-nylon-cotton>: HTTP status code is not handled or not allowed 2026-01-27 20:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40413l-top-and-side-open-blast-cabinet-w-dust-collector-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-7hbc30-lw-xl-fits-toyota-model-7hbc30>: HTTP status code is not handled or not allowed 2026-01-27 20:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-tubing-12w-x-725l-4-mil-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 20:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30337894>: HTTP status code is not handled or not allowed 2026-01-27 20:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-org80032-single-sided-organizer-10-x-13-x-2>: HTTP status code is not handled or not allowed 2026-01-27 20:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-75-incline-ladder-24-inch-w-perforated>: HTTP status code is not handled or not allowed 2026-01-27 20:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/halux-universal-led-treatment-light-n50-3-p-sx-gooseneck-floor-stand>: HTTP status code is not handled or not allowed 2026-01-27 20:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-10w-x-13l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 20:06:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unsupported-7-step-30-inch-cantilever-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-27 20:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-tubing-2w-x-725l-4-mil-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 20:06:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-rolling-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-27 20:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30430su-f54t5830ho-54w-fluorescent-t5-mini-bipin-bulb-warm-white>: HTTP status code is not handled or not allowed 2026-01-27 20:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/66-rectangular-desk-shell-mahogany-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-27 20:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30125su-f17t8sp841-17w-fluorescent-t8-bulb-medium-bipin-cool-white>: HTTP status code is not handled or not allowed 2026-01-27 20:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-racetrack-conference-table-mahogany-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-27 20:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-2-unit-midnight-blue-2-41-gal-bottles-cans-waste-2042-2>: HTTP status code is not handled or not allowed 2026-01-27 20:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-27 20:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40112-20-grit-black-walnut-shells-10-lbs>: HTTP status code is not handled or not allowed 2026-01-27 20:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-diamond-grip-rubber-runner-mats-2mm-x-4-x-13-rubber-flooring-rolls-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-direct-drive-agricultural-box-fan-230v-1-hp-motor-3-phase>: HTTP status code is not handled or not allowed 2026-01-27 20:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-slt330fh-18>: HTTP status code is not handled or not allowed 2026-01-27 20:06:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 20:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40117-10-x-1-2-i-d-pressure-hose-kit-rubber>: HTTP status code is not handled or not allowed 2026-01-27 20:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40371-siphon-hose-rubber>: HTTP status code is not handled or not allowed 2026-01-27 20:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedpress-4-6-rhino-cutting-mat-grid>: HTTP status code is not handled or not allowed 2026-01-27 20:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-polypropylene-bags-12l-x-12w-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-polypropylene-bags-6l-x-4w-x-15h--15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-anystream-conserve-4-jet-showerhead-polished-chrome-finish-1-75-gpm>: HTTP status code is not handled or not allowed 2026-01-27 20:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21436-bash-14-lb-sledge-hammer-36-handle>: HTTP status code is not handled or not allowed 2026-01-27 20:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-2w-x-6l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-oz-alum-scoops>: HTTP status code is not handled or not allowed 2026-01-27 20:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/388-oz-alum-scoops>: HTTP status code is not handled or not allowed 2026-01-27 20:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-anystream-icon-8-jet-showerhead-polished-brass-finish-2-5-gpm>: HTTP status code is not handled or not allowed 2026-01-27 20:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wypall-waterless-hand-wipes-herbal-fragrance-75-per-bucket>: HTTP status code is not handled or not allowed 2026-01-27 20:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-a-bout-portable-home-access-ramp-wab1230-12l-x-30w-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sup-2xa-extruder-for-method-x>: HTTP status code is not handled or not allowed 2026-01-27 20:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-packing-d50-dslt770h-35-7>: HTTP status code is not handled or not allowed 2026-01-27 20:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-packing-workbench-esd-square-edge-72-x-36>: HTTP status code is not handled or not allowed 2026-01-27 20:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/student-sit-stand-desk-manual-height-adjustment-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip-anti-static-reclosable-poly-bags-4w-x-6l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/91424-pipe-marker-arrow-tape-vinyl-1w-x-30-yds-yellowblack>: HTTP status code is not handled or not allowed 2026-01-27 20:06:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sandblasting_tumblers/portable_blasters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8210hl-xs-lime-type-r-class-2-economy-mesh-vest>: HTTP status code is not handled or not allowed 2026-01-27 20:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-wrench-jwcs-10-200253>: HTTP status code is not handled or not allowed 2026-01-27 20:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-base-faucet-with-12in-swing-nozzle>: HTTP status code is not handled or not allowed 2026-01-27 20:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-athletic-sneakers-size-9m-black>: HTTP status code is not handled or not allowed 2026-01-27 20:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equip-wall-mount-sensor-faucet>: HTTP status code is not handled or not allowed 2026-01-27 20:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-mobile-packing-workbench-esd-square-edge-60-x-36>: HTTP status code is not handled or not allowed 2026-01-27 20:06:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deck-mount-medical-lavatory-faucet>: HTTP status code is not handled or not allowed 2026-01-27 20:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-sand-screen-disc-80-grit-10-per-case>: HTTP status code is not handled or not allowed 2026-01-27 20:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-slip-on-shoes-size-13m-white>: HTTP status code is not handled or not allowed 2026-01-27 20:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a84xm7818ftclpg-heavy-duty-fs-disc-encl-wo-panel-2-door-8412x7850x1812-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:06:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sandblasting_tumblers/portable_blasters landed on page that is not a product page. 2026-01-27 20:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-comp-toe-athletic-sneakers-size-65m-black>: HTTP status code is not handled or not allowed 2026-01-27 20:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanco-welders-wear-welding-coat-w630-xl>: HTTP status code is not handled or not allowed 2026-01-27 20:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-held-hanging-99-lbs>: HTTP status code is not handled or not allowed 2026-01-27 20:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanco-flame-resistant-13-atpv-jacket-frc9630orcs-m>: HTTP status code is not handled or not allowed 2026-01-27 20:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-packing-workbench-esd-square-edge-72-x-36-with-lower-shelf-kit>: HTTP status code is not handled or not allowed 2026-01-27 20:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 10938 pages (at 94 pages/min), scraped 5280 items (at 24 items/min) 2026-01-27 20:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable>: HTTP status code is not handled or not allowed 2026-01-27 20:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-stainless-steel-replacement-blades>: HTTP status code is not handled or not allowed 2026-01-27 20:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powr-flite-1-4-hp-downdra-floor-dryer-with-handle-wheels>: HTTP status code is not handled or not allowed 2026-01-27 20:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edge-protector-2-x-2-x-48-120-thickness-package-qty-100>: HTTP status code is not handled or not allowed 2026-01-27 20:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mattress-bags-fits-double-size-54w-x-7d-x-84l-11-mil-clear-150roll>: HTTP status code is not handled or not allowed 2026-01-27 20:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24n20clp-medium-type-1-enclosure-2400x2000x1062-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 20:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanco-flame-resistant-cotton-bib-apron-24-x-36-fr36b>: HTTP status code is not handled or not allowed 2026-01-27 20:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35-x-17mm-sealed-cartridge-bearing>: HTTP status code is not handled or not allowed 2026-01-27 20:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws60hs3716ss-watershed-wall-mount-enclosure-type-4x-6000x3700x1600>: HTTP status code is not handled or not allowed 2026-01-27 20:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valley-craft-vari-tuff-portable-bin-cabinet-21x46x35>: HTTP status code is not handled or not allowed 2026-01-27 20:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-6292808>: HTTP status code is not handled or not allowed 2026-01-27 20:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-power-workstation-hutch-84w-x-30d-x-22-14h-blue-with-black-handle>: HTTP status code is not handled or not allowed 2026-01-27 20:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd24206-concept-wall-mount-encl-2400x2000x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 20:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-cheddar-single-serve-crackers>: HTTP status code is not handled or not allowed 2026-01-27 20:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-end-plate-jsm5130-19>: HTTP status code is not handled or not allowed 2026-01-27 20:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd36248-concept-wall-mount-encl-3600x2400x800-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 20:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/janitorial-shadow-board-combo-kit-red-on-black-industrial-grade-aluminum-sbk105al>: HTTP status code is not handled or not allowed 2026-01-27 20:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/janitorial-shadow-board-combo-kit-green-on-white-general-purpose-composite-sbk104acp>: HTTP status code is not handled or not allowed 2026-01-27 20:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilium-174-water-soluble-deodorizer-cucumber-melon-nilium-gallon-bottle-4-bottles-case>: HTTP status code is not handled or not allowed 2026-01-27 20:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mapa-temp-ice-700-nitrile-3-4-coated-thermal-gloves-1-pair-size-8-700418>: HTTP status code is not handled or not allowed 2026-01-27 20:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilotron-153-airworks-dispenser-with-lock-white-12-case-wall-mount>: HTTP status code is not handled or not allowed 2026-01-27 20:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/janitorial-shadow-board-combo-kit-yellow-on-white-pro-series-acrylic-sbk108fg>: HTTP status code is not handled or not allowed 2026-01-27 20:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jbc-revolution-28-reflective-traffic-cone-chain-kit-sky-blue-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urine-digester-with-odor-neutralizer-mystic-rain-quart-bottle-12-bottles-case>: HTTP status code is not handled or not allowed 2026-01-27 20:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a18r184-screw-cover-type-3r-1800x1800x400-a-b-c-d-e-f-g-h-i-knockout-ptrn>: HTTP status code is not handled or not allowed 2026-01-27 20:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-diamond-mat-navy-4-x-10>: HTTP status code is not handled or not allowed 2026-01-27 20:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jbc-revolution-18-non-reflective-traffic-cone-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/catch-25a-6295372>: HTTP status code is not handled or not allowed 2026-01-27 20:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expression153-mixed-recycling-container-45-gallon-capacity-greystone>: HTTP status code is not handled or not allowed 2026-01-27 20:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultracolor-expandable-poly-string-tie-envelopes-top-load-red-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gold-fibre-7x5-double-wire-personal-130-sheet-pocket-notebook-classic-green>: HTTP status code is not handled or not allowed 2026-01-27 20:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilozyme-153-trap-drain-treatment-fresh-scent-gallon-bottle-4-bottles-case>: HTTP status code is not handled or not allowed 2026-01-27 20:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saddle-drop-1-12-main-x-1-drop>: HTTP status code is not handled or not allowed 2026-01-27 20:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-302b-die-grinder-033-hp>: HTTP status code is not handled or not allowed 2026-01-27 20:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trash-container-lid-garbage-can-lid-44-gallon>: HTTP status code is not handled or not allowed 2026-01-27 20:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-roller-cabinet-16-drawers-84w-x-30d-x-47-38h-blue-with-black-drawer-pulls>: HTTP status code is not handled or not allowed 2026-01-27 20:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-horizontal-rail-mirror>: HTTP status code is not handled or not allowed 2026-01-27 20:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-unit-5-tier-60w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rail-corner-post-satin>: HTTP status code is not handled or not allowed 2026-01-27 20:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-square-to-round-adaptor-register-vent-boot-adjustable-hangers-for-hvac-duct-work-8-x-8x-8>: HTTP status code is not handled or not allowed 2026-01-27 20:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-breather-filter-with-m22-x-1-5-thread-882-m22x1-5-ms-m>: HTTP status code is not handled or not allowed 2026-01-27 20:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-starting-25a-6295398>: HTTP status code is not handled or not allowed 2026-01-27 20:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-side-locker-3-drawers-4-shelves-19w-x-25d-x-60-78h-black-wchrome-handles>: HTTP status code is not handled or not allowed 2026-01-27 20:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/journal-entry-notetaking-planner-pad-100-sheets-6-3-4-x-8-1-2>: HTTP status code is not handled or not allowed 2026-01-27 20:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-176-ss-corner-guard-16-ga-3m-two-sided-tape-sq-corners-60-lx2-wx2-h>: HTTP status code is not handled or not allowed 2026-01-27 20:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-516-jbos-5-6286977>: HTTP status code is not handled or not allowed 2026-01-27 20:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-36w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/135-176-stainless-steel-corner-guard-16-ga-rd-corners-60-lx2-wx2-h>: HTTP status code is not handled or not allowed 2026-01-27 20:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-unit-5-tier-48w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-bookcase-34-1-2-w-x-13-d-x-72-h-putty>: HTTP status code is not handled or not allowed 2026-01-27 20:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-return-air-vent-grille-vent-cover-20-x-20>: HTTP status code is not handled or not allowed 2026-01-27 20:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22w-adjustable-height-laptop-cart-cool-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-34-x-1-tubing-reducing-tee-drop-leg-fitting>: HTTP status code is not handled or not allowed 2026-01-27 20:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-erase-marker-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-filter-air-vent-grille-vent-cover-14-x-14>: HTTP status code is not handled or not allowed 2026-01-27 20:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-54w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-male-adapter-34-pipe-x-12-mnpt-nipple>: HTTP status code is not handled or not allowed 2026-01-27 20:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-sided-wire-exchange-truck-four-wire-one-galvanized-shelf-800-lb-cap-5>: HTTP status code is not handled or not allowed 2026-01-27 20:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6inx4in-2-mil-recloseable-poly-bag-clear-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-27 20:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asg16x16x6-pull-box-screw-cover-kos-1600x1600x600-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 20:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-inch-full-dome-warning-safety-mirror-360-viewing-angle>: HTTP status code is not handled or not allowed 2026-01-27 20:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x72-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides>: HTTP status code is not handled or not allowed 2026-01-27 20:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-pro-power-workstation-hutch-roller-cabinet-72w-x-25d-black-w-chrome-dr-pulls>: HTTP status code is not handled or not allowed 2026-01-27 20:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keg-transport-skate-11-3-16-16-1-4-usable-diameter-200-lb-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 20:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exe10105ss6-zonex-atex-and-ice-certified-1000x1000x500-ss-type-316>: HTTP status code is not handled or not allowed 2026-01-27 20:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-elevation-6294297>: HTTP status code is not handled or not allowed 2026-01-27 20:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-tl-thermaflex-flexible-hvac-duct-18-diameter>: HTTP status code is not handled or not allowed 2026-01-27 20:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-ke-thermaflex-flexible-hvac-duct-14-diameter-r4-2>: HTTP status code is not handled or not allowed 2026-01-27 20:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-60w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x72-solar-star-greenhouse-w-poly-ends-and-drop-down-sides-gas-heater>: HTTP status code is not handled or not allowed 2026-01-27 20:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/remote-part-replacement-for-pleasant-hearth-vent-free-fireplace-systems>: HTTP status code is not handled or not allowed 2026-01-27 20:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bttn-hd-screw-xlift-e0040>: HTTP status code is not handled or not allowed 2026-01-27 20:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-wall-desk-full-size-self-close-combination-lock-cherry>: HTTP status code is not handled or not allowed 2026-01-27 20:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11040 pages (at 102 pages/min), scraped 5310 items (at 30 items/min) 2026-01-27 20:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-insert-64a-6290694>: HTTP status code is not handled or not allowed 2026-01-27 20:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-26-foot-w-fits-3-1-2-inches-to-4-1-2-inches-dia-brsn-426-5>: HTTP status code is not handled or not allowed 2026-01-27 20:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-triple-slim-recycling-station-for-organics-26-gallon-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 20:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-hp-motor-global-24-wall-fan-model-607050>: HTTP status code is not handled or not allowed 2026-01-27 20:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-set-38-16x38-6295598>: HTTP status code is not handled or not allowed 2026-01-27 20:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-72w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-48w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d730251-cbo-moovi-anchor-base>: HTTP status code is not handled or not allowed 2026-01-27 20:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supratile-interlocking-corner-7mm-thick-20-12-x-2-12-dark-gray-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-9-foot-w-fits-7-3-4-inches-to-8-5-8-inches-dia-brsn-49-9>: HTTP status code is not handled or not allowed 2026-01-27 20:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-3-layer-epoxy-system-1000-sq-ft-charcoal-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-add-on-unit-5-tier-54w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-add-on-unit-5-tier-36w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090253181-iron-series-two-stage-vertical-air-compressor-75hp-80-gallon>: HTTP status code is not handled or not allowed 2026-01-27 20:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-cogged-bx-v-belt-bx48>: HTTP status code is not handled or not allowed 2026-01-27 20:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-24w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-14-heavy-duty-roller-cover-with-end-caps-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 20:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-42w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-12-l-x-12-w-x-1-8-thick-red-ps-cacc-49>: HTTP status code is not handled or not allowed 2026-01-27 20:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/helios-illume-round-flame-tower-heater-w-remote-control-35000-btu-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-b-banded-v-belt-3-b158>: HTTP status code is not handled or not allowed 2026-01-27 20:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-model-pm15-6296320>: HTTP status code is not handled or not allowed 2026-01-27 20:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-b-v-belt-b55>: HTTP status code is not handled or not allowed 2026-01-27 20:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-30w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-prep-gel-based-fusion-floor-primer-1-gallon-can-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/98219-lockout-tag-peligro-no-operar-spanish-2-sided-polyester-25pack>: HTTP status code is not handled or not allowed 2026-01-27 20:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x48-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides>: HTTP status code is not handled or not allowed 2026-01-27 20:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-3vx-cogged-v-belt-3vx335>: HTTP status code is not handled or not allowed 2026-01-27 20:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-2-w-x-3-16-thick-green>: HTTP status code is not handled or not allowed 2026-01-27 20:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-rack-wall-mounted-gear-storage-rack-locker-single-sided-four-24-sections-red>: HTTP status code is not handled or not allowed 2026-01-27 20:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-48-w-x-1-4-thick-green-ps-cacc-48>: HTTP status code is not handled or not allowed 2026-01-27 20:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durable-slant-easy-insert-ring-view-binders-4-large-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 20:08:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-cylinder-jbm-5-23011031>: HTTP status code is not handled or not allowed 2026-01-27 20:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trash-can-liner-8-gallon-261523-261523>: HTTP status code is not handled or not allowed 2026-01-27 20:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-add-on-unit-5-tier-36w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-27 20:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingredient-bin-27-galwhite>: HTTP status code is not handled or not allowed 2026-01-27 20:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x36-solar-star-greenhouse-w-solid-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-27 20:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x96-solar-star-greenhouse-w-poly-ends-and-drop-down-sides-gas-heater>: HTTP status code is not handled or not allowed 2026-01-27 20:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jea-b19-washer-retaining-6285893>: HTTP status code is not handled or not allowed 2026-01-27 20:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-3-16-diameter-7x19-galvanized-aircraft-cable-2>: HTTP status code is not handled or not allowed 2026-01-27 20:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lead-screw-pf-b05-jwp15h-206>: HTTP status code is not handled or not allowed 2026-01-27 20:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-48w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-envelopes-14w-x-18l-white-100pack>: HTTP status code is not handled or not allowed 2026-01-27 20:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stayflats-plus-peel-seal-mailers-20w-x-27l-white-50pack>: HTTP status code is not handled or not allowed 2026-01-27 20:08:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-27 20:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-30w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-4-w-x-3-16-thick-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-4-w-x-3-16-thick-red>: HTTP status code is not handled or not allowed 2026-01-27 20:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-buna-n-pvc-sheet-24-l-x-12-w-x-1-16-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 20:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-x-8-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 20:08:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-envelopes-16w-x-20l-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-27 20:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-48w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96908-fire-extinguisher-v-sign-2-sided-polyethylene-18w-x-12h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_permits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-48w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-24w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polystyrene-bar-24-l-x-2-w-x-3-32-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 20:08:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-plate-jds-12bpds-12cs-612115>: HTTP status code is not handled or not allowed 2026-01-27 20:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700505pnk-pegboard-gift-card-display-8w-x-20h-pk-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 20:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-mailers-with-tear-strip-14w-x-17l-25-mil-white-500pack>: HTTP status code is not handled or not allowed 2026-01-27 20:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-2dia-x-6l-0060-thick-yellow-50pack>: HTTP status code is not handled or not allowed 2026-01-27 20:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-petg-tube-24-l-x-3-4-id-x-7-8-od-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-3-8-x-8-3-4-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 20:08:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_permits landed on page that is not a product page. 2026-01-27 20:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-2dia-x-18l-0060-thick-black-50pack>: HTTP status code is not handled or not allowed 2026-01-27 20:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-limiter-model-201-planer-6012171>: HTTP status code is not handled or not allowed 2026-01-27 20:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11132 pages (at 92 pages/min), scraped 5334 items (at 24 items/min) 2026-01-27 20:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-27 20:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-18-x-48-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 20:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-30w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-24-l-x-12-w-x-1-4-thick-yellow-ps-cacc-75>: HTTP status code is not handled or not allowed 2026-01-27 20:08:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/73510-bradyglo-exit-sign-self-adhesive-polyester-14w-x-10h>: HTTP status code is not handled or not allowed 2026-01-27 20:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-poly-tech-wheel-8x2-34-delrin>: HTTP status code is not handled or not allowed 2026-01-27 20:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410-350-4-inner-tube>: HTTP status code is not handled or not allowed 2026-01-27 20:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700355blk-pegboard-powerwing-display-135w-x-22h-bk-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 20:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-locking-38-16nc-15-planer-6284892>: HTTP status code is not handled or not allowed 2026-01-27 20:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-bolt-pressed-stud-1-inch-axle-hub-kit>: HTTP status code is not handled or not allowed 2026-01-27 20:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clasp-envelopes-10w-x-13l-kraft-500pack>: HTTP status code is not handled or not allowed 2026-01-27 20:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-mort-wheel-6x1-12-34-roller>: HTTP status code is not handled or not allowed 2026-01-27 20:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pressure-regulator-pres-reg-01-for-all-jetstream-hurricane-units>: HTTP status code is not handled or not allowed 2026-01-27 20:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs>: HTTP status code is not handled or not allowed 2026-01-27 20:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-38-soc-cap-scre-6710014>: HTTP status code is not handled or not allowed 2026-01-27 20:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-mailers-7-14-14w-x-20l-white-50pack>: HTTP status code is not handled or not allowed 2026-01-27 20:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-v-groove-wheel-4x1-12-12-roller>: HTTP status code is not handled or not allowed 2026-01-27 20:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-24-x-24-white-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 20:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-attention-static-print-2l-x-58w-blackyellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 20:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simonize-liquid-gleam-chlorinated-detergent-machine-dishwashing-gallon>: HTTP status code is not handled or not allowed 2026-01-27 20:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-single-geared-18t-15-planer-6284852>: HTTP status code is not handled or not allowed 2026-01-27 20:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-film-21840-l-x-40-w-x-0-005-thick-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-colored-pencils-150-assorted-colors-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-12-l-x-4-w-x-1-4-thick-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-x-20-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 20:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-glass-handle-with-care-print-4l-x-4w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 20:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-516-18-x-58-hex-w-6715180>: HTTP status code is not handled or not allowed 2026-01-27 20:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-dunnage-rack-20-inch-w-60-inch-l-8-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 20:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-12x72>: HTTP status code is not handled or not allowed 2026-01-27 20:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-paper-labels-w-inspected-by-print-fluorescent-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 20:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-fragile-do-not-drop-print-5l-x-3w-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 20:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-high-impact-plastic-lens-for-heavy-duty-warning-whip-red>: HTTP status code is not handled or not allowed 2026-01-27 20:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-inventory-circle-labels-fluorescent-orange-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 20:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700461pur-pinwheel-pegboard-display-wwheel-base-135w-x-60h-pl-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 20:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/server-7-quart-66-l-food-warmer>: HTTP status code is not handled or not allowed 2026-01-27 20:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-heavy-duty-quick-disconnect-warning-whip-w-o-light-12-x11-orange-rectangle-flag>: HTTP status code is not handled or not allowed 2026-01-27 20:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-disconnect-base-mount-kit>: HTTP status code is not handled or not allowed 2026-01-27 20:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/177-x-3-3-4-bridge-pin-mb-spring-wire-zinc-clear-made-in-usa-bp-208>: HTTP status code is not handled or not allowed 2026-01-27 20:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700432org-hshaped-pegboard-display-32w-x-60h-rg-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 20:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultem-pei-sheet-48-l-x-12-w-x-3-8-thick-amber>: HTTP status code is not handled or not allowed 2026-01-27 20:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-32-x-2-cotter-pin-316-stainless-steel-asme-18-8-1-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-27 20:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-dog-low-profile-5-ch-orange-lidblack-base>: HTTP status code is not handled or not allowed 2026-01-27 20:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-7l-x-5w-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 20:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-3-x-2-mailers>: HTTP status code is not handled or not allowed 2026-01-27 20:09:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-36-l-x-7-w-x-1-8-thick-blue-detectable-60a-acrylic-adhesive-bulk-rs-h60md-88>: HTTP status code is not handled or not allowed 2026-01-27 20:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamondback-tunnel-only-for-45-line>: HTTP status code is not handled or not allowed 2026-01-27 20:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-12-l-x-1-w-x-1-8-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-14mm-short>: HTTP status code is not handled or not allowed 2026-01-27 20:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-287-true-rms-electronics-logging-multimeter-with-trendcapture-handheld-multimeter-1>: HTTP status code is not handled or not allowed 2026-01-27 20:09:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/loop_process_calibrators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnl2-3060-6pyah-with-lower-shelf-30-x-60-adj-height>: HTTP status code is not handled or not allowed 2026-01-27 20:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-loading-ramp-for-ultra-spill-containment-decks>: HTTP status code is not handled or not allowed 2026-01-27 20:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-class-redi-seal-envelopes-10w-x-13l-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-27 20:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-15-16-deep>: HTTP status code is not handled or not allowed 2026-01-27 20:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maryland-hitch-cover-4-1-2-x-3-3-8-15112>: HTTP status code is not handled or not allowed 2026-01-27 20:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-pittsburgh-penguins-hitch-cover-4-1-2-x-3-3-8-15152>: HTTP status code is not handled or not allowed 2026-01-27 20:09:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/loop_process_calibrators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-1-2-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 20:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-direct-thermal-labels-4w-x-4l-1-core-4od-white-12pack>: HTTP status code is not handled or not allowed 2026-01-27 20:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-memory-foam-coccyx-seat-cushion-black-513-7958-0200>: HTTP status code is not handled or not allowed 2026-01-27 20:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-1-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 20:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-number-paper-labels-with-0-print-dark-blue-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 20:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/loop_process_calibrators>: HTTP status code is not handled or not allowed 2026-01-27 20:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cabinet-workbench-with-key-lock-drawers-60in-w-x36in-d-x26in-h>: HTTP status code is not handled or not allowed 2026-01-27 20:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-hazard-labels-lithium-metal-batteries-4l-x-4-34w-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 20:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapcon-1-4x2-3-4-concrete-anchor-hex-head-75-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nba-philadelphia-76ers-grill-mat-14217>: HTTP status code is not handled or not allowed 2026-01-27 20:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jiffy-rigi-bag-self-seal-mailers-7-14-12w-x-18-12l-kraft-75pack>: HTTP status code is not handled or not allowed 2026-01-27 20:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-12-l-x-3-w-x-1-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 20:09:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/loop_process_calibrators>: HTTP status code is not handled or not allowed 2026-01-27 20:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11229 pages (at 97 pages/min), scraped 5363 items (at 29 items/min) 2026-01-27 20:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-pass-thru-cable-36-1-4w-x-100h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-27 20:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-stride-disposable-mat-charcoal-4450003100>: HTTP status code is not handled or not allowed 2026-01-27 20:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cb13052-standard-fold-out-cash-box-w-key-lock-1134w-x-914d-x-312h-black-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 20:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-x-6-4-2-1-jumbo-bookfolds>: HTTP status code is not handled or not allowed 2026-01-27 20:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi12794-loaded-gear-vx400-tactical-chest-rig-green>: HTTP status code is not handled or not allowed 2026-01-27 20:10:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circle-mailing-labels-1-12-dia-clear-roll-of-20000>: HTTP status code is not handled or not allowed 2026-01-27 20:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-7-8-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-27 20:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-11-16-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-27 20:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-do-not-inventory-print-2l-x-1-14w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 20:10:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 20:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd726-steering-wheel-message-cover-vinyl-20-diameter>: HTTP status code is not handled or not allowed 2026-01-27 20:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-24-l-x-24-w-x-3-4-thick-black-antistatic-ps-uhmw-esd-34>: HTTP status code is not handled or not allowed 2026-01-27 20:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-outdoor-in-ground-steel-bench-with-backrest-perforated-metal-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-22mm-deep>: HTTP status code is not handled or not allowed 2026-01-27 20:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-direct-thermal-labels-3w-x-2l-1-core-4od-white-12pack>: HTTP status code is not handled or not allowed 2026-01-27 20:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-outdoor-in-ground-steel-bench-with-backrest-expanded-metal-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-outdoor-in-ground-steel-bench-with-backrest-expanded-metal-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-2-1-2-w-x-3-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 20:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mppa656vp-caution-sign-personal-protective-equipment-required-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-27 20:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-height-welded-steel-workbench-louver-panel-back-end-stops-72-w-x-30-d-x-57-5-8-h>: HTTP status code is not handled or not allowed 2026-01-27 20:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/htg-trolley-3-ton-geared>: HTTP status code is not handled or not allowed 2026-01-27 20:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-48-l-x-1-2-w-x-1-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 20:10:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/screwdrivers/torx_screwdrivers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-cart-pkg-red-double-sided-danger>: HTTP status code is not handled or not allowed 2026-01-27 20:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-bags-for-ai-series-commercial-wet-dry-vacuum-3-bags-per-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kst814-lockout-6-padlock-capacity-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 20:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geometric-bohemian-low-pile-rug-2-ft-x-6-ft-ivory-black>: HTTP status code is not handled or not allowed 2026-01-27 20:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x25-liter-under-the-counter-corrosive-cabinet-partially-lined-47w-x-22d-x-35-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 20:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x6-x24-2-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-swivel-germ-free-bath-seat-522-9810-1900>: HTTP status code is not handled or not allowed 2026-01-27 20:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infiniview-lcd-digital-microscope>: HTTP status code is not handled or not allowed 2026-01-27 20:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x25-liter-jumbo-stacking-base-cabinet-30w-x-18-1-2d-x-32-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 20:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hitch-plate-with-pintle-mount-for-gmc-chevy-international-2019-4500hd-6500hd-bottom-channel>: HTTP status code is not handled or not allowed 2026-01-27 20:10:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/rugs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x60-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/screwdrivers/torx_screwdrivers>: HTTP status code is not handled or not allowed 2026-01-27 20:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-post-74in-h-leveler-installed-pack-of-four>: HTTP status code is not handled or not allowed 2026-01-27 20:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x7-2-mil-anti-static-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp007va-danger-sign-permit-required-confined-space-do-not-enter-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 20:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-4-drive-1-1-2-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 20:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-24-l-x-12-w-x-3-16-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 20:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-shelf-with-new-electric-outlet-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8flexo-pet-general-purpose-sleeving-dia-225-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-inches-wing-seal-for-stainless-steel-100-per-case>: HTTP status code is not handled or not allowed 2026-01-27 20:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-type-2-rod-12-l-x-1-2-dia-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireflex-silicone-coated-fiberglass-sleeve-125-dia-25-red>: HTTP status code is not handled or not allowed 2026-01-27 20:10:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gp7500-df-49st-co-portable-generator-with-electricpull-start-gasolinelp-75006800w-rated>: HTTP status code is not handled or not allowed 2026-01-27 20:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp141va-danger-sign-confined-space-authorized-personnel-only-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 20:10:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-guard-back-panel-with-flush-mount-clip-96l-x-1-14w-x-48h>: HTTP status code is not handled or not allowed 2026-01-27 20:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-guard-back-panel-with-flush-mount-clip-96l-x-1-14w-x-60h>: HTTP status code is not handled or not allowed 2026-01-27 20:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150flexo-pet-general-purpose-sleeving-dia-40-black>: HTTP status code is not handled or not allowed 2026-01-27 20:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/array-conference-table-with-power-data-grommet-120l-x-48w-x-29h-mahoganyblack>: HTTP status code is not handled or not allowed 2026-01-27 20:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x14-x36-1-5-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveworks-powderfree-industrial-grade-nitrile-gloves-large-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-27 20:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-degree-single-socket-tee-2>: HTTP status code is not handled or not allowed 2026-01-27 20:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-coupling>: HTTP status code is not handled or not allowed 2026-01-27 20:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/decor_linens>: HTTP status code is not handled or not allowed 2026-01-27 20:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp141vs-danger-sign-confined-space-authorized-personnel-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 20:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-balance-6000-g-x-0-1-goph-t6001>: HTTP status code is not handled or not allowed 2026-01-27 20:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-4-drive-5-5mm-deep>: HTTP status code is not handled or not allowed 2026-01-27 20:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mdt623ctp-caution-tag-caution-pf-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-27 20:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm3000t-10-table-saw-w-armorglide--extension-table-50-rip-7-12hp-3ph-460v>: HTTP status code is not handled or not allowed 2026-01-27 20:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-3-4-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-27 20:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-48-l-x-1-1-2-w-x-1-8-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-heavy-duty-pallet-scale-5000-lb-x-1-lb>: HTTP status code is not handled or not allowed 2026-01-27 20:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-13-16-x-8-5-16-x-5-lewisbins-divider-box-light-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powermatic-pm2815bt-benchtop-drill-press-34-hp-1-phase-120v>: HTTP status code is not handled or not allowed 2026-01-27 20:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werner-lock-job-caddy-ac54-jc>: HTTP status code is not handled or not allowed 2026-01-27 20:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x8-1-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duraflex-woven-high-abrasion-sleeve-286-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-27 20:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-strip-600w-x-2h>: HTTP status code is not handled or not allowed 2026-01-27 20:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mecr622vp-caution-sign-low-headroom-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-27 20:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm2000t-10-table-saw-with-armorglide--workbench-table-50-rip-5hp-3ph-460v>: HTTP status code is not handled or not allowed 2026-01-27 20:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porcelain-dry-erase-board-w-horizontal-lines-and-planning-kit-36w-x-24h>: HTTP status code is not handled or not allowed 2026-01-27 20:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11323 pages (at 94 pages/min), scraped 5382 items (at 19 items/min) 2026-01-27 20:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ij-833-8-benchtop-jointer-with-spiral-head-cutter-1-516hp-1ph-110v>: HTTP status code is not handled or not allowed 2026-01-27 20:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mhsk939vs-safety-first-sign-help-keep-this-plant-safe-clean-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 20:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-90-degree-elbow-2>: HTTP status code is not handled or not allowed 2026-01-27 20:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durawrap-1050-ballistic-nylon-wrap-w-velcro-closure-8-dia-25-black>: HTTP status code is not handled or not allowed 2026-01-27 20:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-12-l-x-4-w-x-1-4-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-27 20:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31-dual-wall-adhesive-heat-shrink-4-sticks-1-4-dia-dia-4-black>: HTTP status code is not handled or not allowed 2026-01-27 20:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-with-partial-window-36-x-43-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/angle-broom-flagged-angled-broom-12>: HTTP status code is not handled or not allowed 2026-01-27 20:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-12-l-x-2-w-x-3-32-thick-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:11:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hoist-and-trolley-combo-geared-20-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-27 20:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x48-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-12-l-x-12-w-x-3-16-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 20:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iced-tea-coffee-dispensers-5-gal-brew-through-lid>: HTTP status code is not handled or not allowed 2026-01-27 20:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13mm-crimp-seal-center-tear-out-aluminum-unlined-case-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 20:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x28-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antistatic-bubble-wrap-with-self-dispensing-carton-24-x-50-x-12>: HTTP status code is not handled or not allowed 2026-01-27 20:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnimed-6-capacity-storage-rack>: HTTP status code is not handled or not allowed 2026-01-27 20:11:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/food_beverage_preparation_appliances/coffee_tea_brewing_equipment/iced_tea_brewers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-a-cylinders-with-reverse-graduations-10ml-case-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-executive-l-shaped-desk-shell-66w-x-77d-x-29h-noble-oak>: HTTP status code is not handled or not allowed 2026-01-27 20:11:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 20:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-a-cylinders-with-reverse-graduations-100ml-case-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-12-l-x-12-w-x-1-16-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-27 20:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-nylon-cable-for-s866-9-feet-pkgp52711>: HTTP status code is not handled or not allowed 2026-01-27 20:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-48-l-x-1-2-w-x-1-2-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x12-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-stop-traffic-sign-solar-powered-36w-x-6d-x-36h-whitered>: HTTP status code is not handled or not allowed 2026-01-27 20:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12v-2a-4-bank-solar-pro-logix-battery-charger-pl4020>: HTTP status code is not handled or not allowed 2026-01-27 20:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-24-l-x-12-w-x-1-16-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-27 20:11:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/food_beverage_preparation_appliances/coffee_tea_brewing_equipment/iced_tea_brewers landed on page that is not a product page. 2026-01-27 20:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x5-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-921-drench-hose>: HTTP status code is not handled or not allowed 2026-01-27 20:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-pull-type-water-cup-c4160wh>: HTTP status code is not handled or not allowed 2026-01-27 20:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saf-t-grip-cutting-boards-cbg182412bl>: HTTP status code is not handled or not allowed 2026-01-27 20:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dax-carbon-fiber-cap-brim-50-50-white-black>: HTTP status code is not handled or not allowed 2026-01-27 20:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dax-carbon-fiber-full-brim-50-50-white-black>: HTTP status code is not handled or not allowed 2026-01-27 20:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-36-l-x-2-1-2-w-x-1-4-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-chill-step-trayw-indiv-notched-lids-b6706inl>: HTTP status code is not handled or not allowed 2026-01-27 20:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35703-take-along-locking-steel-liquid-dispenser-square-natural-white-semi-opaque-hdpe-6-oz>: HTTP status code is not handled or not allowed 2026-01-27 20:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-elevator-beverage-cup-c3200ev>: HTTP status code is not handled or not allowed 2026-01-27 20:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-sheet-12-l-x-12-w-x-1-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 20:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-duty-self-seal-bubble-pouches-8w-x-11l-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-27 20:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-3-panel-corner-room-divider-24-x-42-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-entrance-mat-waffle-pattern-3-8-thick-4-x-6-camel>: HTTP status code is not handled or not allowed 2026-01-27 20:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-foam-sheets-18w-x-18l-x-18-thick-white-300pack>: HTTP status code is not handled or not allowed 2026-01-27 20:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-foam-sheets-12w-x-24l-x-18-thick-white-400pack>: HTTP status code is not handled or not allowed 2026-01-27 20:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-12-l-x-2-1-2-w-x-3-4-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-27 20:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-check-racks-ck6560a>: HTTP status code is not handled or not allowed 2026-01-27 20:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-entrance-mat-waffle-pattern-3-8-thick-4-x-20-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 20:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-flat-poly-bags-9w-x-12l-4-mil-blue-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 20:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prison-bench-3-foot-composite-lumber-seating-with-backrest-chocolate-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bt-4040-all-purpose-tarp-40-x-40-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urinal-screen-hardware-kit-261103>: HTTP status code is not handled or not allowed 2026-01-27 20:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-cohesive-air-bubble-dispenser-pack-12w-x-175l-x-316-bubble-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-42-kra-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-27 20:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-43-white-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-27 20:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-zone-shadow-board-green-black-68-x-30-pro-series-acrylic-sb120fg>: HTTP status code is not handled or not allowed 2026-01-27 20:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-xtra-thrust-6-alum-ext-alloy-nozzle>: HTTP status code is not handled or not allowed 2026-01-27 20:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roll-out-extra-shelving-starter-3-shelf-36x36x62>: HTTP status code is not handled or not allowed 2026-01-27 20:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-add-on-a30367ep-36w-x-30d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-60-l-x-2-1-2-dia-white>: HTTP status code is not handled or not allowed 2026-01-27 20:11:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_supply_dispensers_organizers/broom_holders_shadow_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-swivel-brush>: HTTP status code is not handled or not allowed 2026-01-27 20:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-48-l-x-3-8-dia-white>: HTTP status code is not handled or not allowed 2026-01-27 20:11:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-stack-rack-60-w-x-42-d-x-48-h-2>: HTTP status code is not handled or not allowed 2026-01-27 20:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-perforated-air-bubble-roll-12w-x-250l-x-12-bubble-clear-4pack>: HTTP status code is not handled or not allowed 2026-01-27 20:11:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:11:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/cryogenic_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11414 pages (at 91 pages/min), scraped 5410 items (at 28 items/min) 2026-01-27 20:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-72-l-x-9-16-id-x-3-4-od-white>: HTTP status code is not handled or not allowed 2026-01-27 20:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-hydraulic-jack-65-ton-65-1h>: HTTP status code is not handled or not allowed 2026-01-27 20:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-faucet-elkay-lk810gn05t4>: HTTP status code is not handled or not allowed 2026-01-27 20:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hon-10500-series-stack-on-storage-72w-x-14-5-8d-x-37-1-8h-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 20:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_supply_dispensers_organizers/broom_holders_shadow_boards>: HTTP status code is not handled or not allowed 2026-01-27 20:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8000-8499-inventory-tag-2-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-27 20:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9500-9999-inventory-tag-2-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-27 20:12:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-truck-drain-with-electric-pump-3669>: HTTP status code is not handled or not allowed 2026-01-27 20:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-27 20:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6500-6999-wired-inventory-tag-3-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-27 20:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories>: HTTP status code is not handled or not allowed 2026-01-27 20:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-cu-yd-gray-extra-heavy-duty-self-dumping-hopper-986780>: HTTP status code is not handled or not allowed 2026-01-27 20:12:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/cryogenic_storage landed on page that is not a product page. 2026-01-27 20:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6500-6999-inventory-tag-3-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-27 20:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-24-l-x-1-3-8-dia-white>: HTTP status code is not handled or not allowed 2026-01-27 20:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/auto-vent-kit-for-snap-grow-and-nature-greenhouses>: HTTP status code is not handled or not allowed 2026-01-27 20:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-ground-post-1-66-od>: HTTP status code is not handled or not allowed 2026-01-27 20:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colony-replicating-tool-for-96-well-plates-bel-blotter-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-27 20:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colony-counter-black-replacement-tip-marker>: HTTP status code is not handled or not allowed 2026-01-27 20:12:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 20:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trainsmission-drain-funnel-24in-x-36in-17902>: HTTP status code is not handled or not allowed 2026-01-27 20:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lift-drain-18-gallon-17432>: HTTP status code is not handled or not allowed 2026-01-27 20:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-2w-20l-2-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-27 20:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-conductive-hanging-stacking-part-bin-8-1316w-x-6-58d-x-2-2932h>: HTTP status code is not handled or not allowed 2026-01-27 20:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crinkle-paper-10-lbs-sky-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-96-l-x-1-1-2-dia-black>: HTTP status code is not handled or not allowed 2026-01-27 20:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-14727gz-72w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4-x-2-7-8-7-orange-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-27 20:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-in-h-lift-out-guard-rail-end-post-single-rail>: HTTP status code is not handled or not allowed 2026-01-27 20:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-vci-paper-35-lbs-12w-x-200-yd-kraft-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 20:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-esd-safe-divider-box-22-1332l-x-17-1332w-x-12h>: HTTP status code is not handled or not allowed 2026-01-27 20:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-in-h-lift-out-guard-rail-corner-post-double-rail>: HTTP status code is not handled or not allowed 2026-01-27 20:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlocking-storage-cabinet-11-3-4w-11-3-8d-x-11h-10-blue-drawers>: HTTP status code is not handled or not allowed 2026-01-27 20:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sr-218-6-chemical-cartridge-ov>: HTTP status code is not handled or not allowed 2026-01-27 20:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-14546gz-54w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-24-l-x-1-2-id-x-13-16-od-white>: HTTP status code is not handled or not allowed 2026-01-27 20:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-72-x-30-adj-height-workbench-w-drawer-black-esd-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-27 20:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-durac-plus-calibrated-liquid-in-glass-thermometer-20-to-110c-76mm-immersion-organic-liquid-fill>: HTTP status code is not handled or not allowed 2026-01-27 20:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-4-x-3-1-8-8-gray-wired-tag>: HTTP status code is not handled or not allowed 2026-01-27 20:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-48-x-30-adj-height-workbench-w-drawer-riser-black-maple-safety-edge-top>: HTTP status code is not handled or not allowed 2026-01-27 20:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-60-x-30-adj-height-workbench-w-drawer-riser-bk-stainless-steel-square-top>: HTTP status code is not handled or not allowed 2026-01-27 20:12:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-96-x-36-adj-height-workbench-w-drawer-riser-black-maple-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-27 20:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ma-3-polypropylene-plunger-pump-for-5-gallon-containers>: HTTP status code is not handled or not allowed 2026-01-27 20:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-angled-liquid-in-glass-thermometer-storage-tray-14-slots-2pk>: HTTP status code is not handled or not allowed 2026-01-27 20:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-72-x-30-adj-height-workbench-w-drawer-riser-black-shop-top-safety-edge-top>: HTTP status code is not handled or not allowed 2026-01-27 20:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-3w-10l-2-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-27 20:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4-x-2-7-8-7-manila-pre-strung-tag-1>: HTTP status code is not handled or not allowed 2026-01-27 20:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-4w-12l-2-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-27 20:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-aker-ceiling-fan-with-light-59302-matte-black>: HTTP status code is not handled or not allowed 2026-01-27 20:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghs-labeled-safety-vented-methanol-wash-bottles-500ml-16oz-polyethylene-w-green-cap-4pk>: HTTP status code is not handled or not allowed 2026-01-27 20:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-rack-24x36x60-with-88-gray-drawers>: HTTP status code is not handled or not allowed 2026-01-27 20:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-61-1-4-x-5-1-4-x-7-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-outdoor-bar-table-designer-white-phenolic-top-white-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-aluminum-gull-wing-cross-box-23x27x71>: HTTP status code is not handled or not allowed 2026-01-27 20:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-72-l-x-7-16-dia-white>: HTTP status code is not handled or not allowed 2026-01-27 20:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-modular-lounge-chair-leather-black-hercules-regal-series>: HTTP status code is not handled or not allowed 2026-01-27 20:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-in-glass-oven-thermometer-20-to-130c-organic-liquid-fill-total-immersion>: HTTP status code is not handled or not allowed 2026-01-27 20:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-topside-w-t-handle-white-16x13x96>: HTTP status code is not handled or not allowed 2026-01-27 20:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-48-l-x-1-w-x-3-8-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 20:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/267300006-hydrantutility-marker-7-long-with-port-mount-bracket-with-spring>: HTTP status code is not handled or not allowed 2026-01-27 20:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-48-l-x-24-w-x-3-8-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 20:12:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-36-l-x-4-w-x-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 20:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-indoor-outdoor-restaurant-chair-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-armored-liquid-in-glass-thermometer-20-to-150c-76mm-immersion-organic-liquid-fill>: HTTP status code is not handled or not allowed 2026-01-27 20:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-36-l-x-1-2-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 20:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flip-n-store-training-table-charcoal-slate-72-length-x-24-width>: HTTP status code is not handled or not allowed 2026-01-27 20:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x12-4-mil-white-block-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-rotary-paddle-white-18x18x24>: HTTP status code is not handled or not allowed 2026-01-27 20:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13x18-4-mil-white-block-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-6-w-x-2-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 20:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11508 pages (at 94 pages/min), scraped 5433 items (at 23 items/min) 2026-01-27 20:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-8-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pe-buchner-table-top-funnel-with-medium-porosity-removable-plate-24-id-13-height>: HTTP status code is not handled or not allowed 2026-01-27 20:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-rotary-paddle-black-18x18x30>: HTTP status code is not handled or not allowed 2026-01-27 20:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-27 20:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-42w-x-18d-x-54h-3-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 20:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-8-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 20:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n55h1f100n-forest-lite-single-jacket-fire-hose-1-x-100-ft-300-psi-white>: HTTP status code is not handled or not allowed 2026-01-27 20:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelf-additional-level-54w-x-18d-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 20:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-2-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 20:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worktop-refrigerator-freezer-32-base-model-46w-wtr46a>: HTTP status code is not handled or not allowed 2026-01-27 20:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wire-shelves-utility-cart-silver-ep-18-w-x-30-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-60w-x-24d-x-34h-2-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 20:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-4-drying-tubes-with-polypropylene-tube-fittings-12pk>: HTTP status code is not handled or not allowed 2026-01-27 20:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-precision-liquid-in-glass-thermometer-30-to-124f-76mm-immersion>: HTTP status code is not handled or not allowed 2026-01-27 20:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-2lb-paper-bag-30lb-kraft-brown-4-5-16-x-2-7-16-x-7-7-8-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-1u-20-sliding-shelf>: HTTP status code is not handled or not allowed 2026-01-27 20:13:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-platform-chrome-24-w-x-24-l-x-14-h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-brackets-for-40-horizontal-secador-desiccator-pack-of-2-pairs>: HTTP status code is not handled or not allowed 2026-01-27 20:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-6-drawer-2-cabinets-maple>: HTTP status code is not handled or not allowed 2026-01-27 20:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-calibrated-liquid-in-glass-thermometer-10-to-225c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-27 20:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-jerrican-with-spigot-5-liters-125-gallons-screw-cap-1-id-spout>: HTTP status code is not handled or not allowed 2026-01-27 20:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-12in-us-hand-held-stick-flag-with-gold-speartip-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 20:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-protective-product-sj5705-square-1-250-w-x-0-250-l-black-pkg-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 20:13:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-27 20:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-calibrated-liquid-in-glass-thermometer-1-to-101c-total>: HTTP status code is not handled or not allowed 2026-01-27 20:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fanback-stacking-armchair-sand-2>: HTTP status code is not handled or not allowed 2026-01-27 20:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-recess-mount-ceiling-heater-240v-3000w>: HTTP status code is not handled or not allowed 2026-01-27 20:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-24-l-x-24-w-x-1-2-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 20:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-mover-5-phenolic-cstr-2-fixed-2-swivel-3-standard-uprights>: HTTP status code is not handled or not allowed 2026-01-27 20:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gez-600es-2rs-spherical-plain-bearing-inch-sealed>: HTTP status code is not handled or not allowed 2026-01-27 20:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cosmo-fertilizer-directional-spread-capable-spreader-attachment>: HTTP status code is not handled or not allowed 2026-01-27 20:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-pedestal-attachment-for-desk-lifts>: HTTP status code is not handled or not allowed 2026-01-27 20:13:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-54w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-48w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05-903-outdoor-teriyaki-chicken-rice-2-servings-pouch-6-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riteflow-aluminum-mounted-flowmeter-65mm-scale-size-3>: HTTP status code is not handled or not allowed 2026-01-27 20:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polystormor-square-edge-wide-mouth-1000ml-32ozpe-bottles-pp-cap-53mm-closure-6pk>: HTTP status code is not handled or not allowed 2026-01-27 20:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-lamp-5kw-240v-60-asymmetrical-infrared-heater-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-24w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-30w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-8300-sgw-wide-body-duplex-receptacle-straight-blade-hospital-grade-self-grounding-white>: HTTP status code is not handled or not allowed 2026-01-27 20:13:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-4-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 20:13:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 20:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-3000-watt-commercial-ceiling-heater-14-3-16-l-240-208v>: HTTP status code is not handled or not allowed 2026-01-27 20:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gem-60es-2rs-spherical-plain-bearing-metric-extended-inner-ring-sealed>: HTTP status code is not handled or not allowed 2026-01-27 20:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-48w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-48w-x-36d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5120-2560-btu-fan-forced-wall-heater-without-summer-fan-switch-120v-3>: HTTP status code is not handled or not allowed 2026-01-27 20:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands>: HTTP status code is not handled or not allowed 2026-01-27 20:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/com-8-spherical-plain-bearing-inch-commercial-series>: HTTP status code is not handled or not allowed 2026-01-27 20:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips>: HTTP status code is not handled or not allowed 2026-01-27 20:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-30w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-12-l-x-12-w-x-2-3-4-thick-black-bulk-ps-acb-2207>: HTTP status code is not handled or not allowed 2026-01-27 20:13:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-72w-x-36d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-36w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geh-17es-spherical-plain-bearing-metric-heavy-series>: HTTP status code is not handled or not allowed 2026-01-27 20:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-42w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-12-l-x-1-1-8-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 20:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gez-600es-spherical-plain-bearing-inch>: HTTP status code is not handled or not allowed 2026-01-27 20:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-3bin-recycle-unit-with-blue-push-door-lid-75-x-25-x-47-gray-trashbottlescanspaper>: HTTP status code is not handled or not allowed 2026-01-27 20:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-36w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-42w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fast-rate-single-charger-for-knb-45n>: HTTP status code is not handled or not allowed 2026-01-27 20:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6883-glide-plugstation-earplug-dispenser-corded-150-pairs-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 20:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11600 pages (at 92 pages/min), scraped 5457 items (at 24 items/min) 2026-01-27 20:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-plastic-6-compartment-storage-box-13-1-8-x-9-x-2-5-16>: HTTP status code is not handled or not allowed 2026-01-27 20:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-pr-pump-1-6-hp-single-phase>: HTTP status code is not handled or not allowed 2026-01-27 20:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-600-l-x-12-w-x-1-16-thick-black-ultra-strength-70a>: HTTP status code is not handled or not allowed 2026-01-27 20:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-octagon-magnetic-stirring-bar-254-x-8mm-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plano-stowaway-174-5-fixed-compartment-box-6-1-2-w-x-3-3-4-d-x-1-1-8-h-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9513-8-inch-axial-ac-metal-blower>: HTTP status code is not handled or not allowed 2026-01-27 20:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-on-hangrail-for-double-bar-racks-k40-and-k41-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9600-15ex-16-inch-diameter-statically-conductive-ducting-15-length>: HTTP status code is not handled or not allowed 2026-01-27 20:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-single-compartment-plastic-storage-box-13-1-8-x-9-x-2-5-16>: HTTP status code is not handled or not allowed 2026-01-27 20:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9535-12l-12-inch-ac-air-bag-blower-w-25-ducting>: HTTP status code is not handled or not allowed 2026-01-27 20:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-stationary-floor-support-18w-max-leg-35-5-8h>: HTTP status code is not handled or not allowed 2026-01-27 20:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-bookcase-with-doors-white-studio-c-series>: HTTP status code is not handled or not allowed 2026-01-27 20:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-amber-strobe-light-12-24vdc-12-leds-8891700>: HTTP status code is not handled or not allowed 2026-01-27 20:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-21247b-24w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:14:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-30w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-amber-mini-lightbar-12vdc-magnetic-24-leds-8891040>: HTTP status code is not handled or not allowed 2026-01-27 20:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-54-3-gauge-vinyl-taffeta-w-window-zipper-silver-w-silver-trim>: HTTP status code is not handled or not allowed 2026-01-27 20:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-mix-and-match-quick-disconnects-for-1-4-to-5-16-tubing-polyethylene-12pk>: HTTP status code is not handled or not allowed 2026-01-27 20:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-2-w-x-1-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 20:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-6-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 20:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/141002a-glhd-rope-pull-switch-we-stopsled-4nc-2no-12npt-die-cast>: HTTP status code is not handled or not allowed 2026-01-27 20:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-54-3-gauge-vinyl-taffeta-w-window-zipper-black-w-gold-trim>: HTTP status code is not handled or not allowed 2026-01-27 20:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers>: HTTP status code is not handled or not allowed 2026-01-27 20:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-grade-silicone-lube-5-gallon>: HTTP status code is not handled or not allowed 2026-01-27 20:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/q-t-l-dry-lube-w-p-t-f-e>: HTTP status code is not handled or not allowed 2026-01-27 20:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-24545b-54w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-15w-x-18d-x-36h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-27 20:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-1-wide-12w-x-18d-x-24h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-27 20:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/110008-lpc-coded-non-contact-switch-wled-8way-2nc-1no-qc-m12>: HTTP status code is not handled or not allowed 2026-01-27 20:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-brush-kit-48-w-valusweep-forkli-brooms-sweepers>: HTTP status code is not handled or not allowed 2026-01-27 20:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-2-wide-12w-x-18d-x-36h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-27 20:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/110012-lpr-magnetic-non-contact-switch-8way-2nc-m12>: HTTP status code is not handled or not allowed 2026-01-27 20:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-filter-omega-vac>: HTTP status code is not handled or not allowed 2026-01-27 20:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-switch-grid-test-tube-rack-grids-for-13-16mm-tubes-blue-4pk>: HTTP status code is not handled or not allowed 2026-01-27 20:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/175011-hlm-ss-limit-switch-1nc-1no-12npt>: HTTP status code is not handled or not allowed 2026-01-27 20:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-48-melamine-shelf-black>: HTTP status code is not handled or not allowed 2026-01-27 20:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-240-l-x-36-w-x-1-16-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-27 20:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sg1-30-4k-pcu-led-low-profile-wall-pack-w-photocontrol-29w-3000l-4000k-dark-bronze-dlc>: HTTP status code is not handled or not allowed 2026-01-27 20:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-sheet-36-l-x-12-w-x-1-32-thick-black-high-strength-80a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-27 20:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-maple-safety-edge-mobile-production-bench-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-stainless-steel-double-ended-spoon-08ml-and-28ml-2pk>: HTTP status code is not handled or not allowed 2026-01-27 20:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carb-led-exit-black-with-red-leds-universal-face-ac-only-120-277v>: HTTP status code is not handled or not allowed 2026-01-27 20:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/138201-cmr-spare-act-8l-x-4w-x-3h-ss>: HTTP status code is not handled or not allowed 2026-01-27 20:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-t-shaped-tubing-connectors-for-3-8-tubing-polypropylene-12pk>: HTTP status code is not handled or not allowed 2026-01-27 20:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-1-2-ton-20-lift-25-4-2-ft-min-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20l-x-20w-x-38h-corner-block-white>: HTTP status code is not handled or not allowed 2026-01-27 20:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-sheet-36-l-x-12-w-x-1-2-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-27 20:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-hook-loop-nylon-wrist-strap-09060-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewer-tape-1-2-x-40>: HTTP status code is not handled or not allowed 2026-01-27 20:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-1-4-20-5-8-thread-3-4-head-dia-3-16-head-h-ss-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-27 20:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterbase-street-utility-marking-paint-20-oz-orange-fluorescent-20-657-12-case>: HTTP status code is not handled or not allowed 2026-01-27 20:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-brass-thumb-screw-8-32-3-8-thread-3-8-head-dia-3-16-head-h-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-27 20:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-series-street-utility-marking-paint-20-oz-black-asphalt-20-363-12-case>: HTTP status code is not handled or not allowed 2026-01-27 20:14:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knurled-thumb-screw-w-shoulder-1-4-20-1-1-4-thread-1-head-dia-5-8-head-h>: HTTP status code is not handled or not allowed 2026-01-27 20:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-head-t-knob-thumb-screw-m6-x-1-0-30mm-thread-45mm-head-dia-24mm-head-h-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-27 20:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trustat-b80-16312-vinyl-mat-with-ground-30-d-x-60-w-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-60x48-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 20:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4w-x-4h-grid-panel-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-27 20:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-three-bay-8>: HTTP status code is not handled or not allowed 2026-01-27 20:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patio-bar-height-stools-all-weather-textilene-sling-fabric-seat-back-gray-2-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-three-bay-13>: HTTP status code is not handled or not allowed 2026-01-27 20:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-way-slatwall-merchandiser-maple-maple>: HTTP status code is not handled or not allowed 2026-01-27 20:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 20:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11697 pages (at 97 pages/min), scraped 5492 items (at 35 items/min) 2026-01-27 20:14:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-two-bay-21>: HTTP status code is not handled or not allowed 2026-01-27 20:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-150823-batteryblock-cable-lockout-large-24-pk-abs-plastic-red-1-4-cable-length>: HTTP status code is not handled or not allowed 2026-01-27 20:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-b33-152-494-bl-b-494-color-polyester-labels-0-375-h-x-1-w-blue-white-1500-roll>: HTTP status code is not handled or not allowed 2026-01-27 20:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-two-bay-23>: HTTP status code is not handled or not allowed 2026-01-27 20:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-b33-179-494-bl-b-494-color-polyester-labels-1-h-x-1-w-blue-white-1500-roll>: HTTP status code is not handled or not allowed 2026-01-27 20:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-anywhere-basket-24-6-6-b>: HTTP status code is not handled or not allowed 2026-01-27 20:15:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-3-16-thick-black-high-strength-90a-acrylic-adhesive-bulk-rs-h90-57>: HTTP status code is not handled or not allowed 2026-01-27 20:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a0043-o-ring-9-mm-x-1-12-mm-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-27 20:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/briggs-stratton-44s977-0032-g1-gas-engine-professional-v-twin-vertical-shaft-1-crank-shaft>: HTTP status code is not handled or not allowed 2026-01-27 20:15:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 20:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-frame-motor-1-100-hp-1260-rpm-240v-oao>: HTTP status code is not handled or not allowed 2026-01-27 20:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indigo-nxt-half-cube-ice-machine-30-wide-310-lbs-24-hrs-prod-water-cooled>: HTTP status code is not handled or not allowed 2026-01-27 20:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-14-bu-tan-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 20:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pool-pump-motor-2-hp-3450-rpm-230-115v-odp-y56j-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-27 20:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cl3515-2-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purpose-pipe-dope-1-fl-oz-tube>: HTTP status code is not handled or not allowed 2026-01-27 20:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4u-pivot-frame-wall-mount-rack>: HTTP status code is not handled or not allowed 2026-01-27 20:15:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-27 20:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abs-cement-black-medium-bodied-1-gal>: HTTP status code is not handled or not allowed 2026-01-27 20:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toilet-plunger-plastic-20-1-2-handle>: HTTP status code is not handled or not allowed 2026-01-27 20:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp2402t-4-10-hp-880-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-435ex-6g1-explosion-proof-6-inch-vibrating-bell-24v-dc>: HTTP status code is not handled or not allowed 2026-01-27 20:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poster-ergonomics-safety-principles-36-x-24>: HTTP status code is not handled or not allowed 2026-01-27 20:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms90-b1420-90-shade-cloth-shade-tarp-14-x-20>: HTTP status code is not handled or not allowed 2026-01-27 20:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-2800-rpm-208-230v-oao>: HTTP status code is not handled or not allowed 2026-01-27 20:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-27 20:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circulator-pump-motor-1-6-hp-1725-rpm-115v-odp-48y-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-6-bu-blue-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 20:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270leda12v-led-bulb-amber-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3687t-4-1-hp-850-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fans-motor-1-2-hp-825-rpm-208-230v-teao-48-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3764t-5-3-hp-1165-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-tenv-motor-1-2-hp-1140-rpm-200-230-460v-tenv-56-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-coated-tape-415-3-4-x-36-yds-4-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-motor-1-3-hp-1140-rpm-115-208-230v-teao-f48y-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-inch-v-jaw-dipped-handle-tongue-groove-pliers>: HTTP status code is not handled or not allowed 2026-01-27 20:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidguard-2-sliding-door-4-w-x-6-h>: HTTP status code is not handled or not allowed 2026-01-27 20:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-foam-shipper-16-w-x-16-l-x-2-3-4-d>: HTTP status code is not handled or not allowed 2026-01-27 20:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-96wx36dx84h-4-levels-starter-no-decking-1400-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-push-cart-hopper-green-32-x-40-x-24-4000lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-single-phase-tefc-motor-1-hp-1725-rpm-115-208-230v-tefc-56-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glossy-photo-paper-11in-x-17in-white-20-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shift-industrial-cabinet-36-w-x-24-d-x-75-h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-and-blower-1-2-hp-1725-rpm-208-230-460v-odp>: HTTP status code is not handled or not allowed 2026-01-27 20:15:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-plus-photo-paper-8-1-2in-x-11in-white-50-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watercolor-radiant-white-inkjet-paper-13in-x-19in-white-20-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparco-4-digit-tally-counter-w-finger-ring>: HTTP status code is not handled or not allowed 2026-01-27 20:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cdp3443-0-75-hp-2500-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matte-presentation-paper-bright-white-8-1-2in-x-11in-100-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cecp83661t-5-3-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s74751-b5-safety-cutting-glasses-hard-coated-shade-5-uvir-pkg-of-12>: HTTP status code is not handled or not allowed 2026-01-27 20:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contractor-knit-roller-cover-smooth-3-8-nap>: HTTP status code is not handled or not allowed 2026-01-27 20:15:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper landed on page that is not a product page. 2026-01-27 20:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-configured-6x8-partitioned-office-72-h-starter-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vector-duty-motor-5-hp-1760-rpm-230-460v-tenv>: HTTP status code is not handled or not allowed 2026-01-27 20:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-configured-10x10-partitioned-office-60-h-add-on-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-shrt-slv-deluxe-western-style-shirt-xl-sc24-sc24lbssxl>: HTTP status code is not handled or not allowed 2026-01-27 20:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-tier-starter-unit-with-solid-bottom-shelf-48-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-27 20:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-1-8-tube-x-1-4-swift-fit-universal-thread-3-4-l>: HTTP status code is not handled or not allowed 2026-01-27 20:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11790 pages (at 93 pages/min), scraped 5525 items (at 33 items/min) 2026-01-27 20:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cd3475-0-75-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-tier-starter-unit-24-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-27 20:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-48-inch-w-x-18-inch-d-x-84-inch-h-3-levels-add-on-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-27 20:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-hinged-lid-carryout-containers-1>: HTTP status code is not handled or not allowed 2026-01-27 20:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-cabinet-with-6-drawers-48-w-x-24-d-x-75-h-beige>: HTTP status code is not handled or not allowed 2026-01-27 20:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-cabinet-with-6-drawers-60-w-x-24-d-x-75-h-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-aluminum-foil-rolls-3>: HTTP status code is not handled or not allowed 2026-01-27 20:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-motor-1-2-hp-1075-rpm-115v-oao-48-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-4mm-tube-x-1-8-swift-fit-universal-thread-5-6-l>: HTTP status code is not handled or not allowed 2026-01-27 20:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colossus-floor-case-plaque-back-dark-bronze-frame-72l-x-66h-x-20d>: HTTP status code is not handled or not allowed 2026-01-27 20:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-4-57-hp-1100-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-27 20:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-electronic-lock-with-digital-screen-48-w-x-24-d-x-75-h-beige>: HTTP status code is not handled or not allowed 2026-01-27 20:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-48-inch-w-x-48-inch-d-x-84-inch-h-3-levels-starter-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-27 20:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-cabinet-with-6-drawers-60-w-x-24-d-x-75-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-internal-hex-8mm-tube-x-1-8-swift-fit-universal-thread-5-9-l>: HTTP status code is not handled or not allowed 2026-01-27 20:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-inch-w-x-48-inch-d-1-level-w-wire-decking-black>: HTTP status code is not handled or not allowed 2026-01-27 20:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-two-pocket-paper-portfolios-with-prongs-assorted>: HTTP status code is not handled or not allowed 2026-01-27 20:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tailpipe-storage-shelving-48-inch-w-x-18-inch-d-x-120-inch-h-3-levels-individual-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-electronic-lock-and-card-reader-48-w-x-24-d-x-75-h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-divider-14-l-x-4-w-x-2-h-gray-polyprolylene>: HTTP status code is not handled or not allowed 2026-01-27 20:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-4mm-tube-x-1-8-bspp-1-1-3-l>: HTTP status code is not handled or not allowed 2026-01-27 20:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-hc-18-w-x-24-h-x-4-d-6-ctn>: HTTP status code is not handled or not allowed 2026-01-27 20:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-hc-12-w-x-20-h-x-1-d-12-ctn>: HTTP status code is not handled or not allowed 2026-01-27 20:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-36-inch-d-1-level-w-wood-decking-black>: HTTP status code is not handled or not allowed 2026-01-27 20:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-pre-configured-wire-shelving-spill-containment-system-36-w-x-24-d-x-84-h-add-on-black>: HTTP status code is not handled or not allowed 2026-01-27 20:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-wire-shelving-spill-containment-system-4-shelves-trays-36-w-x-18-d-x-84-h-starter-putty>: HTTP status code is not handled or not allowed 2026-01-27 20:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/33-aluminum-handle-red>: HTTP status code is not handled or not allowed 2026-01-27 20:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bowl-brush-polypro-12-case-96311>: HTTP status code is not handled or not allowed 2026-01-27 20:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-stainless-steel-cable-assembly-for-davit-cranes>: HTTP status code is not handled or not allowed 2026-01-27 20:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-8mm-tube-x-1-4-bspp-8-9-l>: HTTP status code is not handled or not allowed 2026-01-27 20:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-ez-deck-decking-36-inch-w-x-30-inch-d-x-3-4-inch-h-for-use-w-double-rivets>: HTTP status code is not handled or not allowed 2026-01-27 20:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jack-plate-with-non-skid-surface-18-18-2-14469>: HTTP status code is not handled or not allowed 2026-01-27 20:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxirough-janitor-cart-96980>: HTTP status code is not handled or not allowed 2026-01-27 20:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comet-cleaner-with-bleach-1>: HTTP status code is not handled or not allowed 2026-01-27 20:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-8-butyl-pads-for-adhesion-to-road-surface>: HTTP status code is not handled or not allowed 2026-01-27 20:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-table-92-l-x-44-w-x-36-h-w-h-brace-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plush-entrance-mat-3x5-charcoal-black>: HTTP status code is not handled or not allowed 2026-01-27 20:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-starter-polyethylene-box-48-w-x-48-d-x-96-h-258204n>: HTTP status code is not handled or not allowed 2026-01-27 20:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-add-on-120-w-x-42-d-x-144-h-b2282518n>: HTTP status code is not handled or not allowed 2026-01-27 20:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-120-w-x-48-d-x-96-h-b2282510n>: HTTP status code is not handled or not allowed 2026-01-27 20:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l3510-1-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtra-st1600h-ultrasonic-cleaner-208v-3-ph-dual-freq-25-45-khz-high-power-35-gallons>: HTTP status code is not handled or not allowed 2026-01-27 20:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-pocket-heavyweight-poly-portfolio-folder-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-display-fixture-with-spinner-base-and-casters-24-w-x-24-d-x-55-h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dupont-tyvek-security-wristbands-blue-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-add-on-120-w-x-36-d-x-96-h-b2282484n>: HTTP status code is not handled or not allowed 2026-01-27 20:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l3513-50-1-5-hp-2850-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-station-wall-mounted-lodi-scrub-sink-knee-action-control-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-valve-flow-knob-adjustment-1-8-tube-x-1-8-universal-thread-5-6-l>: HTTP status code is not handled or not allowed 2026-01-27 20:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/padded-mri-safe-exam-stool-15-diameter-x-21-h-w-2-vinyl-cushion-w-crutch-tips>: HTTP status code is not handled or not allowed 2026-01-27 20:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-handed-return-table-cherry-top-charcoal-base-1>: HTTP status code is not handled or not allowed 2026-01-27 20:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-drawer-cabinet-with-60-drawers-34-w-x-17-3-4-d-x-28-h>: HTTP status code is not handled or not allowed 2026-01-27 20:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-drawer-cabinet-with-90-drawers-34-w-x-11-3-4-d-x-69-1-8-h>: HTTP status code is not handled or not allowed 2026-01-27 20:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lexco-extra-long-deck-li-table-96-l-x-20-w-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71572-24-inch-commercial-wall-fan-non-oscillating-1-4-hp-4400-cfm>: HTTP status code is not handled or not allowed 2026-01-27 20:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71580-24-inch-commercial-pedestal-fan-oscillating-1-4-hp-4400-cfm>: HTTP status code is not handled or not allowed 2026-01-27 20:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-smock-loose-fit-short-sleeve-light-blue-s-tp23>: HTTP status code is not handled or not allowed 2026-01-27 20:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65968-hubbell-plugout-lockout-polypropylene-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:16:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xt-traction-overshoe-medium-oil-resistant-black>: HTTP status code is not handled or not allowed 2026-01-27 20:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bellman-condo-cart-40x25-satin-brass-black-carpet-4-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-27 20:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smart-grid-panel-wall-mount-48-w-x-24-d-light-green-proform>: HTTP status code is not handled or not allowed 2026-01-27 20:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-tear-drop-starter-120-w-x-48-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-27 20:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-deluxe-literature-mailer-12-x-12-x-6-200lb-ect-32-b-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-step-ladder-stock-picker-cart-3-tray-shelves-986918>: HTTP status code is not handled or not allowed 2026-01-27 20:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11887 pages (at 97 pages/min), scraped 5558 items (at 33 items/min) 2026-01-27 20:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3554t-1-5-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12931-carboy-pp-20-liter>: HTTP status code is not handled or not allowed 2026-01-27 20:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12911-carboy-hdpe-20-liter>: HTTP status code is not handled or not allowed 2026-01-27 20:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-positive-pressure-straight-tube-tough-guy-100000-btu-30l>: HTTP status code is not handled or not allowed 2026-01-27 20:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-first-aid-kit-107-piece-fabric-case>: HTTP status code is not handled or not allowed 2026-01-27 20:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels>: HTTP status code is not handled or not allowed 2026-01-27 20:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2515t-20-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejpm2538t-40-hp-3510-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-4-x-3-corrugated-boxes-200lb-test-ect-32>: HTTP status code is not handled or not allowed 2026-01-27 20:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-circle-tags-3-diamter-white-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idm4103t-25te-hp-4000-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-buckle-ice-traction-12-overshoe-mens-sz-16-waterproof-vulcanized-rubber-blk>: HTTP status code is not handled or not allowed 2026-01-27 20:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-espresso-10-oz-brick-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-series-perform-02-thirst-quencher-lemon-lime-20-oz-bottle-24-carton>: HTTP status code is not handled or not allowed 2026-01-27 20:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverall-hood-and-socks-boots-bound-seam-yellow-lg>: HTTP status code is not handled or not allowed 2026-01-27 20:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-middle-strobe-reflector-with-3-led-3024634>: HTTP status code is not handled or not allowed 2026-01-27 20:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-men-s-size-7-15-h-plain-toe-chevron-plus-outsole-brick-red>: HTTP status code is not handled or not allowed 2026-01-27 20:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-filter-door-bracket-for-global-stainless-steel-outdoor-drinking-fountains>: HTTP status code is not handled or not allowed 2026-01-27 20:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-pure-coffee-decaffeinated-1-5-oz-pack-42-packs-carton>: HTTP status code is not handled or not allowed 2026-01-27 20:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metalout-bag-3-mm-12-x-18-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steep-tea-earl-grey-1-28-oz-tea-bag-20-box>: HTTP status code is not handled or not allowed 2026-01-27 20:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-25-x-3-42in-clear-rectangular-flood-light-with-6-led-1492191>: HTTP status code is not handled or not allowed 2026-01-27 20:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-tape-clear-with-symbols-34-x-72-yds-3-paper-core>: HTTP status code is not handled or not allowed 2026-01-27 20:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-gas-1>: HTTP status code is not handled or not allowed 2026-01-27 20:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-sensitive-pipe-marker-sprinkler-water-2>: HTTP status code is not handled or not allowed 2026-01-27 20:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-safe-premium-hand-pump-dark-green>: HTTP status code is not handled or not allowed 2026-01-27 20:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-174-gemini-senior-2-1-convertible-hand-truck-microcellular-gmk81uae>: HTTP status code is not handled or not allowed 2026-01-27 20:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-safe-premium-hand-pump-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-tire-bead-breaker-esc70160>: HTTP status code is not handled or not allowed 2026-01-27 20:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4in-amber-red-surface-mount-ultra-thin-strobe-light-4-led-8892246>: HTTP status code is not handled or not allowed 2026-01-27 20:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-plate-4-x-16-satin>: HTTP status code is not handled or not allowed 2026-01-27 20:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brake-drum-dolly-otc5017a>: HTTP status code is not handled or not allowed 2026-01-27 20:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-water-5>: HTTP status code is not handled or not allowed 2026-01-27 20:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-domestic-cold-water-supply-2>: HTTP status code is not handled or not allowed 2026-01-27 20:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-way-barrel-nut-10-24-x-5-8-chrome-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-hi-vis-zip-up-mesh-vest-polyester-mesh-fl-yellow-green-xxs-xs>: HTTP status code is not handled or not allowed 2026-01-27 20:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-steel-platform-loading-dock-10-x-8-25-000-lb-cap-986958>: HTTP status code is not handled or not allowed 2026-01-27 20:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/overall-green-40mm-pvc-on-polyester-lg>: HTTP status code is not handled or not allowed 2026-01-27 20:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemco-wall-canopy-72-x-30-x-18>: HTTP status code is not handled or not allowed 2026-01-27 20:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemco-wall-canopy-96-x-30-x-18>: HTTP status code is not handled or not allowed 2026-01-27 20:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-hydrogen-5>: HTTP status code is not handled or not allowed 2026-01-27 20:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-premium-pullover-hi-visibilty-t-shirt-lime-polyester-2xl>: HTTP status code is not handled or not allowed 2026-01-27 20:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jw-winco-aluminum-cabinet-u-handle-827-102-tumbled>: HTTP status code is not handled or not allowed 2026-01-27 20:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gauge-2-brad-nailer-kit>: HTTP status code is not handled or not allowed 2026-01-27 20:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-to-3-1-2-21-degee-plastic-collated-framing-nailer-f21pl>: HTTP status code is not handled or not allowed 2026-01-27 20:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9686-8-skirtslack-hanger-snap-grip-wswivel-hook-8l-k-resin-cl-pkg-qty-200>: HTTP status code is not handled or not allowed 2026-01-27 20:17:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/paper_trimmers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6210b-skirtslack-hanger-pinch-grip-wsoft-pads-10l-plastic-bk-pkg-qty-200>: HTTP status code is not handled or not allowed 2026-01-27 20:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-pcl3513m-1-5-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlrs8mclk-breast-milk-refrigerator-with-4-lockers-8-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosive-environment-voltage-thermostat-infrared-tube-heaters>: HTTP status code is not handled or not allowed 2026-01-27 20:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a35-liquid-particle-protection-coverall-l-white-25case>: HTTP status code is not handled or not allowed 2026-01-27 20:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19pc-driver-bit-set-gunmetal-bronze-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pick-shelving-5-level-double-tilt-straight-78-h-x-50-w-x-48-d-starter>: HTTP status code is not handled or not allowed 2026-01-27 20:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-1-4-hex-socket-adapter-x-4-pin-gunmetal-grey-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:17:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/paper_trimmers landed on page that is not a product page. 2026-01-27 20:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-1-4-hex-socket-adapter-x-6-ball-gunmetal-grey-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-x-099-ring-shank-15-degree-coil-framing-nails-galvanized-3600-qty>: HTTP status code is not handled or not allowed 2026-01-27 20:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-weather-faux-rattan-chair-dark-gray-with-light-gray-cushion>: HTTP status code is not handled or not allowed 2026-01-27 20:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-x-close-seamless-pipe-nipple-schedule-80-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:17:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/bulk_containers/plastic_bulk_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-rated-gloves-black-11-unlined-smooth-finish-beaded-class-00-size-8>: HTTP status code is not handled or not allowed 2026-01-27 20:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s19314sb-halo-eyewash-stainless-steel-bowl-shroud-plastic-showerhead-1-1-4-water-supply>: HTTP status code is not handled or not allowed 2026-01-27 20:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65l-half-moon-plastic-height-adjustable-activity-table-set-with-4-chairs-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-x-3-1-2-welded-pipe-nipple-schedule-40-316-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-rated-gloves-black-14-unlined-smooth-finish-beaded-class-0-8>: HTTP status code is not handled or not allowed 2026-01-27 20:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-desk-w-pigeonhole-storage-pegboard-w-shelf-34-1-2-w-x-30-d-x-38-to-42-1-2-h-slope-top-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 11982 pages (at 95 pages/min), scraped 5588 items (at 30 items/min) 2026-01-27 20:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-grain-cowhide-leather-protector-for-novax-gloves-reinforced-size-9>: HTTP status code is not handled or not allowed 2026-01-27 20:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torq-set-1-4-power-bit-x-1-1-4-7-16-hex-shank-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-27 20:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5826-es-fairfield-patio-planter-20x36-espresso>: HTTP status code is not handled or not allowed 2026-01-27 20:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-executive-shredder-bin-console-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/95-gallon-mobile-shredder-bin-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-economy-manual-chain-hoist-1-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-27 20:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vl1306a-75-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:18:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/bulk_containers/plastic_bulk_containers landed on page that is not a product page. 2026-01-27 20:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrs-1-5-mrh-15-maxrack-stand-1-sided-bike-rack-77-1-2-l-x-30-w-x-84-h-5-bike-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-skin-safe-nsf-shop-wipes-70-wipes-per-canister-6-canisters-case>: HTTP status code is not handled or not allowed 2026-01-27 20:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-stacking-panel-with-glass-36-w-x-16-h>: HTTP status code is not handled or not allowed 2026-01-27 20:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vewdm3611t-3-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-tamper-45-insert-bit-x-1-bull-nose-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-27 20:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-slippery-when-wet-2>: HTTP status code is not handled or not allowed 2026-01-27 20:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-galvanized-cable-assembly-for-compozite-davit-crane>: HTTP status code is not handled or not allowed 2026-01-27 20:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m3455-25-hp-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-pipe-guard-36-inch-tall-safety-yellow-protects-10-inch-pipe>: HTTP status code is not handled or not allowed 2026-01-27 20:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-aluminum-sign-caution-do-not-operate-this-machine-without-guards>: HTTP status code is not handled or not allowed 2026-01-27 20:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4100-w-36-dg-vertical-panel-channelizer-barricade-w-oversized-handle-white-diamond-grade-sheets>: HTTP status code is not handled or not allowed 2026-01-27 20:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-eco2s-wall-heater-240v-1750w-white-dove>: HTTP status code is not handled or not allowed 2026-01-27 20:18:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m10-precision-flat-washer-25mm-o-d-3mm-thick-steel-black-oxide-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-27 20:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-precision-flat-washer-1-3-8-o-d-1-8-thick-stainless-steel-plain-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-27 20:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4500-tire-ring-fits-commander-traffic-drum-black-25-w-x-25-h>: HTTP status code is not handled or not allowed 2026-01-27 20:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-notice-right-to-know-information-available-request>: HTTP status code is not handled or not allowed 2026-01-27 20:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torxt20h-security-insert-bits-1l-14shank>: HTTP status code is not handled or not allowed 2026-01-27 20:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-stainless-steel-kd-drum-truck-240020-poly-drums-polyolefin-wheels>: HTTP status code is not handled or not allowed 2026-01-27 20:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-precision-flat-washer-1-3-8-o-d-1-8-thick-steel-black-oxide-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-27 20:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vwdm3538-5-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-notice-no-trespassing-2>: HTTP status code is not handled or not allowed 2026-01-27 20:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-65-2x-3-5x-magniflex-magnifier>: HTTP status code is not handled or not allowed 2026-01-27 20:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gtek-maxifoam-premium-gray-foam-nitrile-coated-palm-finger-tips-xl>: HTTP status code is not handled or not allowed 2026-01-27 20:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters>: HTTP status code is not handled or not allowed 2026-01-27 20:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x18mm-mini-scout-binocular>: HTTP status code is not handled or not allowed 2026-01-27 20:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-5-x-5-square-floor-drain-wscrews-nickel>: HTTP status code is not handled or not allowed 2026-01-27 20:18:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-notice-restricted-area-authorized-personnel-only>: HTTP status code is not handled or not allowed 2026-01-27 20:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-48w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 20:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-notice-authorized-personnel-only-2>: HTTP status code is not handled or not allowed 2026-01-27 20:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-25-insert-bit-x-1-gunmetal-bronze-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/456-hd-t-40-commander-traffic-drum-orange-23-1-2-w-x-39-1-2-h-4-reflective-orange-white-stripes>: HTTP status code is not handled or not allowed 2026-01-27 20:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/456-hd-t-commander-traffic-drum-orange-23-1-2-w-x-39-1-2-h-hdpe>: HTTP status code is not handled or not allowed 2026-01-27 20:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdvsnm3665t-5-hp-6200-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-eccentric-stud-3-4-l-stud-04375-w-roller-0625-roller-dia>: HTTP status code is not handled or not allowed 2026-01-27 20:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-27 20:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-do-not-use-compressed-air-to-clean-clothes>: HTTP status code is not handled or not allowed 2026-01-27 20:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-24w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 20:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ww3072-heavy-duty-workbench-30-x-72-10000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-no-smoking>: HTTP status code is not handled or not allowed 2026-01-27 20:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-universal-gas-appliance-hook-up-kit-f271239>: HTTP status code is not handled or not allowed 2026-01-27 20:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-14w-x-24l-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-2-awg-4-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 20:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-starter-unit-48w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-3-8-ring-terminals-4-awg-20-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-27 20:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yoke-roller-sealed-4-roller-dia>: HTTP status code is not handled or not allowed 2026-01-27 20:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk2000-boltless-pallet-rack-36-inch-x-120-inch-upright-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spanish-plastic-sign-aviso-area-restringida-personal-autorizado-solamente>: HTTP status code is not handled or not allowed 2026-01-27 20:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-hd-bench-vise-6-1-2-jaw-width-6-1-4-jaw-opening-360-swivel-base>: HTTP status code is not handled or not allowed 2026-01-27 20:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk3000-structural-channel-pallet-rack-12-inch-row-spacer-4-inch-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-1-0-awg-20-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-27 20:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-24w-x-54l-x-80h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roll-of-500-hazard-warning-paper-labels-danger-contains-lead-contaminates>: HTTP status code is not handled or not allowed 2026-01-27 20:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-2-tier-esd-21w-x-36l-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 20:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v8770360-intrinsic-style-mid-sole-ice-cleat-high-profile>: HTTP status code is not handled or not allowed 2026-01-27 20:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-1-0-awg-3-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 20:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-ceramic-round-chuck-12-dia-3-h>: HTTP status code is not handled or not allowed 2026-01-27 20:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-18w-x-24l-x-80h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-gown-protective-wear-organizer-11-3-8-w-x-4-d-x-10-1-8-h-transparent>: HTTP status code is not handled or not allowed 2026-01-27 20:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-3-8-ring-terminals-1-0-awg-5-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 20:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/band-saw-blade-compact-48-39-0519>: HTTP status code is not handled or not allowed 2026-01-27 20:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/band-saw-blade-deep-cut-48-39-0511>: HTTP status code is not handled or not allowed 2026-01-27 20:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 12082 pages (at 100 pages/min), scraped 5619 items (at 31 items/min) 2026-01-27 20:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tough-built-16-tin-bow-rake>: HTTP status code is not handled or not allowed 2026-01-27 20:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-271705-2-clean-seal-plug-13-psi-30-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:18:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nature-6-x-6-greenhouse-silver-frame-twin-wall>: HTTP status code is not handled or not allowed 2026-01-27 20:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-24w-x-72l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthflex-portable-medical-privacy-screen-3-panel-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mppt-wirebox-m-100-30-50-150-35-black-abs-plastic>: HTTP status code is not handled or not allowed 2026-01-27 20:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-16-mailboxes-2-parcel-lockers-sandstone>: HTTP status code is not handled or not allowed 2026-01-27 20:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-dual-direct-ignition-gas-valve-12x12-slow-35-wc>: HTTP status code is not handled or not allowed 2026-01-27 20:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-14w-x-54l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 20:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-dual-intermittent-pilot-gas-valve-12x34-standard-35-wc>: HTTP status code is not handled or not allowed 2026-01-27 20:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-24w-x-72l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-cart-esd-3-shelf-24w-x-54l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-27 20:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bluesolar-mppt-150-35-blue-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 20:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-w-vogue-classic-accessories-8-unit-2-parcel-lockers-dark-bronze>: HTTP status code is not handled or not allowed 2026-01-27 20:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-square-plastic-trash-container-garbage-can-55-gallon-recycling-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-sign-14x10-rigid-plastic-this-is-a-smoke-free-workplace>: HTTP status code is not handled or not allowed 2026-01-27 20:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-recessed-protective-wear-organizer-17-7-8-w-x-4-7-16-d-x-22-5-16-h-quartz>: HTTP status code is not handled or not allowed 2026-01-27 20:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/db-k23bn-bath-waste-dblue-trim-for-sch-40-rough-in-kit-touchtoe-stp-bru-nik-finish-trim>: HTTP status code is not handled or not allowed 2026-01-27 20:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-21w-x-24l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x12x4-1-2-stackable-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-27 20:19:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=two-stage-air-compressor-w-silencer-dryer-5-hp-80-gal-1-phase-230v already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-hobby-solder-kit-063-gauge-1-oz>: HTTP status code is not handled or not allowed 2026-01-27 20:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warning-sign-14x10-vinyl-keep-all-cylinders-chained>: HTTP status code is not handled or not allowed 2026-01-27 20:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tankless-rotary-screw-compressor-w-dryer-7-5-hp-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24791-flap-wheel-mandrel-3-8-x-3-8-x-1-8-aluminum-oxide-medium>: HTTP status code is not handled or not allowed 2026-01-27 20:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-gallon-sharps-container-w-rotor-lid-color-red>: HTTP status code is not handled or not allowed 2026-01-27 20:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-inch-x-30-inch-x-12-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 20:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-48-14-w-x-61-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloth-belt-82529-1-2-12-120-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-27 20:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloth-belt-82566-3-4-18-120-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-27 20:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plant-marking-stencil-20x20-fire-extinguisher>: HTTP status code is not handled or not allowed 2026-01-27 20:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=two-stage-air-compressor-w-silencer-dryer-5-hp-80-gal-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-48-14-w-x-65-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-21w-x-24l-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-cabinet-14-drawers-w-lock-w-o-dividers-36-wx24-dx57-h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/martin-yale-bcs212-desktop-12-up-business-card-slitter>: HTTP status code is not handled or not allowed 2026-01-27 20:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/training-panel-leg-folding-table-18in-x-72in-walnut-top>: HTTP status code is not handled or not allowed 2026-01-27 20:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-12-letter-u>: HTTP status code is not handled or not allowed 2026-01-27 20:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/training-panel-leg-folding-table-24in-x-96in-gray-granite-top>: HTTP status code is not handled or not allowed 2026-01-27 20:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-12-letter-z>: HTTP status code is not handled or not allowed 2026-01-27 20:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-office-partition-panel-with-partial-window-48-14-w-x-63-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biztalk-174-business-radio-w-push-button-communication-black>: HTTP status code is not handled or not allowed 2026-01-27 20:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-24-number-6>: HTTP status code is not handled or not allowed 2026-01-27 20:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-plus-caribbean-sun-shade-wvalance-remote-pvc-silver-96-x-1205-x-6>: HTTP status code is not handled or not allowed 2026-01-27 20:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tidal-mp-copy-paper-162008plt-8-12-x-11-white200000-sheets>: HTTP status code is not handled or not allowed 2026-01-27 20:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-plastic-park-bench-with-backrests-black>: HTTP status code is not handled or not allowed 2026-01-27 20:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-5-8-bugle-head-drywall-screws-0826CQG>: HTTP status code is not handled or not allowed 2026-01-27 20:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hp-everyday-adhesive-matte-polypropylene-c0f20a-42-x-75-white-2pack>: HTTP status code is not handled or not allowed 2026-01-27 20:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x1-7-8-carriage-bolt-flat-head-1430CF>: HTTP status code is not handled or not allowed 2026-01-27 20:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-wpartial-window-raceway-60-14-w-x-65-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-36-letter-p>: HTTP status code is not handled or not allowed 2026-01-27 20:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x3-4-truss-head-self-tapping-screws-type-a-thread-1012APTB>: HTTP status code is not handled or not allowed 2026-01-27 20:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-pass-thru-cable-48-14-w-x-77-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-5500-system-100-voc-acrylic-dust-proofer-floor-sealer-5-gal>: HTTP status code is not handled or not allowed 2026-01-27 20:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-visi-sign-fire-alarm-3>: HTTP status code is not handled or not allowed 2026-01-27 20:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-esd-2-shelf-18w-x-60l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-alarm-vinyl-1>: HTTP status code is not handled or not allowed 2026-01-27 20:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-bar-7-d-x-144-l-yellow-bar-no-tapes-kit>: HTTP status code is not handled or not allowed 2026-01-27 20:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neenah-paper-exact-index-card-stock-49561-110-lbs-8-12-x-11-green-250pack>: HTTP status code is not handled or not allowed 2026-01-27 20:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-48-14-w-x-46-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/af4515t-fuw-edge-1-3mp-handheld-digital-microscope-with-375nm-ultraviolet-leds-10x-220x>: HTTP status code is not handled or not allowed 2026-01-27 20:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notes-super-sticky-pads-in-jewel-pop-colors-6228ssau-2-x-2-jewel-pop-2-shts-8pk>: HTTP status code is not handled or not allowed 2026-01-27 20:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-blue-24w-x-60h-277661TN>: HTTP status code is not handled or not allowed 2026-01-27 20:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-18-ga-430-ss-workbench-2-backsplash-galvanized-legs-undershelf-48-x30>: HTTP status code is not handled or not allowed 2026-01-27 20:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24x3-4-round-head-machine-screws-1012MCR>: HTTP status code is not handled or not allowed 2026-01-27 20:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-extinguisher-do-not-block-plastic>: HTTP status code is not handled or not allowed 2026-01-27 20:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asb1029-golf-tire-assembly-size-18-x-85-8>: HTTP status code is not handled or not allowed 2026-01-27 20:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roxbury-king-tufted-upholstered-platform-bed-black-with-memory-foam-mattress>: HTTP status code is not handled or not allowed 2026-01-27 20:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x2-phillips-bugle-head-course-thread-sharp-point-deck-screws-dacrotized-0832DPG>: HTTP status code is not handled or not allowed 2026-01-27 20:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 12179 pages (at 97 pages/min), scraped 5647 items (at 28 items/min) 2026-01-27 20:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-230-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 20:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flip-top-benchtop-machine-stand>: HTTP status code is not handled or not allowed 2026-01-27 20:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-202-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 20:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/press-brake-tooling-36-press-brake>: HTTP status code is not handled or not allowed 2026-01-27 20:20:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-1600-system-epoxy-rebar>: HTTP status code is not handled or not allowed 2026-01-27 20:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40x7-16-truss-head-machine-screws-0407MPT188>: HTTP status code is not handled or not allowed 2026-01-27 20:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-531-compact-inflator-gauge-w-digital-gauge-and-straight-head-chuck>: HTTP status code is not handled or not allowed 2026-01-27 20:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-soft-latex-tubing-for-air-116id-x-18od-x-10-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-tufted-upholstered-full-size-headboard-in-white>: HTTP status code is not handled or not allowed 2026-01-27 20:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-equipment-tagged-out>: HTTP status code is not handled or not allowed 2026-01-27 20:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spaghettiloop-strapon-traction-soles-mens-red-one-size-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 20:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32x7-8-hex-standoffs-male-female-311411HM303>: HTTP status code is not handled or not allowed 2026-01-27 20:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-cord-0-187-cross-section-100-ft-length>: HTTP status code is not handled or not allowed 2026-01-27 20:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-28x3-16-socket-set-screws-flat-point-1503SSFI>: HTTP status code is not handled or not allowed 2026-01-27 20:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x3-16-3hd-pan-head-high-low-screws-0403HPP>: HTTP status code is not handled or not allowed 2026-01-27 20:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-27 20:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-high-pressure-fda-silicone-tubing-1id-x-1-38od-x-25-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/executive-recycled-weekly-monthly-planner-refill-8-x-11-2015-2016-aag7091110>: HTTP status code is not handled or not allowed 2026-01-27 20:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2475n5-premium-230v-1ph-60hz>: HTTP status code is not handled or not allowed 2026-01-27 20:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cape-cod-patio-planter-20l-x-20w-x-20h-square-white>: HTTP status code is not handled or not allowed 2026-01-27 20:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/display-unit-3-tier-chrome-18-w-x-48-l-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 20:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-4mm-wide-142mm-id-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-27 20:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-double-arm-dock-light-w-screw-med-base-90-reach-par38-bulb-compatible>: HTTP status code is not handled or not allowed 2026-01-27 20:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iflex-guardrail-reflector-flex-hinge-2sided-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-with-high-temp-adhesive-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 20:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x1-1-4-button-head-socket-cap-screws-1420CSB>: HTTP status code is not handled or not allowed 2026-01-27 20:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ventless-dual-fuel-log-set-18-stacked-red-oak-30000-btu-t-stat-control>: HTTP status code is not handled or not allowed 2026-01-27 20:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-18-3-shelf-machine-table>: HTTP status code is not handled or not allowed 2026-01-27 20:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-concrete-barrier-mount-reflector-3-x-4-2sided-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-4-11110-30inhg15psi-14-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-27 20:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/decorative-lava-rock>: HTTP status code is not handled or not allowed 2026-01-27 20:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-lspp3b-os-ls-wick-b-eye-polo-org-s>: HTTP status code is not handled or not allowed 2026-01-27 20:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cobra-lite-aluminum-hand-truck-pin-handle-mort-987034>: HTTP status code is not handled or not allowed 2026-01-27 20:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x3-16-round-head-type-u-drive-screws-0403U316>: HTTP status code is not handled or not allowed 2026-01-27 20:20:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-desk-gray-3>: HTTP status code is not handled or not allowed 2026-01-27 20:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-lspp2b-y3x-ls-wick-b-eye-polo-yel-3x>: HTTP status code is not handled or not allowed 2026-01-27 20:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-bags-18in-x-8in-x-4in-0-68-mil-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-shirt-bag-inthank-youin-with-handles-11-1-2in-x-6-1-2in-x-21in-12-5-micron-900-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grocery-paper-bags-3-9-16in-x-4-3-4in-brown-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glo-brite-exit-green-single-face>: HTTP status code is not handled or not allowed 2026-01-27 20:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fountain-pen-fine-0-6mm-assorted-ink-barrel-7-set>: HTTP status code is not handled or not allowed 2026-01-27 20:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quicknotes-recycled-monthly-planner-6-7-8-x-8-3-4-black-2015-aag760805>: HTTP status code is not handled or not allowed 2026-01-27 20:20:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/calendars_planners/wall_calendars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p2r-work-rechargeable-led-penlight>: HTTP status code is not handled or not allowed 2026-01-27 20:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges>: HTTP status code is not handled or not allowed 2026-01-27 20:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-silicone-foam-with-high-temp-adhesive-116-thick-x-34w-x-8l>: HTTP status code is not handled or not allowed 2026-01-27 20:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x1-4-round-head-type-u-drive-screws-0404U>: HTTP status code is not handled or not allowed 2026-01-27 20:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-nylon-insert-hex-lock-nut-50NSH>: HTTP status code is not handled or not allowed 2026-01-27 20:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16x12-carriage-bolt-37192C>: HTTP status code is not handled or not allowed 2026-01-27 20:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-strip-with-high-temp-adhesive-40a-116-thick-x-12w-x-10l>: HTTP status code is not handled or not allowed 2026-01-27 20:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-26in-deep-vertical-file-cabinet-4-drawer-letter-size-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterfed-hand-brush>: HTTP status code is not handled or not allowed 2026-01-27 20:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pilot-light-operator-22mm-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/calendars_planners/wall_calendars>: HTTP status code is not handled or not allowed 2026-01-27 20:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-matrix-printer-address-labels-1-across-15-16-x-3-1-2-white-5000-box-4013>: HTTP status code is not handled or not allowed 2026-01-27 20:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protect-all-surface-protectant-1-quart-12-bottle>: HTTP status code is not handled or not allowed 2026-01-27 20:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-stairway>: HTTP status code is not handled or not allowed 2026-01-27 20:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/varsity-fountain-pen-medium-1mm-purple-ink-gray-pattern-wrap-barrel>: HTTP status code is not handled or not allowed 2026-01-27 20:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-10000-series-lateral-file-36in-wide-3-drawer-putty>: HTTP status code is not handled or not allowed 2026-01-27 20:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32x3-4-hex-standoffs-141206HFA>: HTTP status code is not handled or not allowed 2026-01-27 20:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flux-wrap-cooling-jacket-system-w-insulation-wrap-tubing-connectors-15-gallon-drum>: HTTP status code is not handled or not allowed 2026-01-27 20:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intensity-permanent-marker-fine-bullet-tip-rambunctious-red-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-sorbent-socks-heavy-weight-grey>: HTTP status code is not handled or not allowed 2026-01-27 20:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6002-2rs-double-sealed-15mm-bore-32mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6210nr-open-wsnap-ring-50mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4x4-toggle-anchors-1464TBCR>: HTTP status code is not handled or not allowed 2026-01-27 20:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-head-chuck-bayonet-inflator-gauge-10-to-120-psi-12in-hose-s-522>: HTTP status code is not handled or not allowed 2026-01-27 20:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-m-series-five-drawer-anesthesia-cart-w-standard-key-lock-hammertone-green>: HTTP status code is not handled or not allowed 2026-01-27 20:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 12273 pages (at 94 pages/min), scraped 5674 items (at 27 items/min) 2026-01-27 20:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-fire-hose-1>: HTTP status code is not handled or not allowed 2026-01-27 20:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6003-2rs-double-sealed-17mm-bore-35mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-pushbutton-e-lock-hammertone-red>: HTTP status code is not handled or not allowed 2026-01-27 20:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-peel-laser-address-labels-1-x-2-5-8-white-750-pack-5260>: HTTP status code is not handled or not allowed 2026-01-27 20:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-dunnage-rack-24x18x8>: HTTP status code is not handled or not allowed 2026-01-27 20:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-lift-beam-yellow-16-l-x-26-w-x-12-h-31lbs-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-durable-id-laser-labels-1-1-4-x-1-3-4-white-1600-pack-6576>: HTTP status code is not handled or not allowed 2026-01-27 20:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-standard-key-lock-red>: HTTP status code is not handled or not allowed 2026-01-27 20:21:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/labels_barcode_equipment/label_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-m-series-five-drawer-anesthesia-cart-w-standard-key-lock-cream>: HTTP status code is not handled or not allowed 2026-01-27 20:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-pocket-verticle-literature-rack-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-flush-door-welded-bin-cabinet-14-bins-2-shelves>: HTTP status code is not handled or not allowed 2026-01-27 20:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-toggle-anchors-284888>: HTTP status code is not handled or not allowed 2026-01-27 20:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x7-8-round-spacers-501414RSN>: HTTP status code is not handled or not allowed 2026-01-27 20:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-mobile-bench-cabinet-2000-lbs-capacity-1-shelf>: HTTP status code is not handled or not allowed 2026-01-27 20:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-column-medical-storage-cabinet-key-lock-glass-doors-42-wx29-3-5-dx76-h-taupe>: HTTP status code is not handled or not allowed 2026-01-27 20:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6007zz-double-shielded-35mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/labels_barcode_equipment/label_dispensers>: HTTP status code is not handled or not allowed 2026-01-27 20:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-servers-warmers-for-satellite-brewer-rws1-120v>: HTTP status code is not handled or not allowed 2026-01-27 20:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-x-6-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-27 20:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-bib-pants-ansi-class-e-300d-oxfordpu-coating-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-27 20:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-tray-pan-tray-racks-24x30>: HTTP status code is not handled or not allowed 2026-01-27 20:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3000w-power-nexus-kit-includes-2-g3-7-5ah-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-emergency-crash-cart-6-drawers-36-3-4-w-x-26-l-x-43-h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quad-column-medical-storage-cabinet-glass-doors-82-1-8-wx30-1-4-dx77-3-4-h-hammertone-black>: HTTP status code is not handled or not allowed 2026-01-27 20:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s163-ansi-class-3-long-raincoat-hi-vis-orange-5x-62041>: HTTP status code is not handled or not allowed 2026-01-27 20:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-for-small-drawer-clear-40716>: HTTP status code is not handled or not allowed 2026-01-27 20:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-class-9-blank-1>: HTTP status code is not handled or not allowed 2026-01-27 20:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62252-s363pb-class-2-zip-up-mesh-economy-vest-w-pockets-hi-vis-lime-w-black-bottom-xl>: HTTP status code is not handled or not allowed 2026-01-27 20:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61337-s762p-non-ansi-vest-tricot-hook-loop-closure-hi-vis-pink-5xl>: HTTP status code is not handled or not allowed 2026-01-27 20:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-cart-standard-width-tall-cabinet-6-drawers-41-2-5-wx22-lx64-1-10-h-pink>: HTTP status code is not handled or not allowed 2026-01-27 20:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-duty-nylon-glove-polyurethane-coated-black-33-b125-s>: HTTP status code is not handled or not allowed 2026-01-27 20:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3100fx-tool-lanyard-single-carabiner-10-lbs-capacity-19802>: HTTP status code is not handled or not allowed 2026-01-27 20:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-flip-placard-standard-1>: HTTP status code is not handled or not allowed 2026-01-27 20:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-9102-certified-anti-vibration-gloves-wrist-support-black-m-17733>: HTTP status code is not handled or not allowed 2026-01-27 20:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5945t-xl-swiveling-carabiner-canvas-hoist-bucket-w-top-14845>: HTTP status code is not handled or not allowed 2026-01-27 20:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-radioactive-7-1>: HTTP status code is not handled or not allowed 2026-01-27 20:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19304-americana-full-brim-hard-hat-w-accessory-slots-standard-4-pt-suspension-red>: HTTP status code is not handled or not allowed 2026-01-27 20:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-tote-24-x-17-1-2-x-13-cardboard-brown-qty-100-plus>: HTTP status code is not handled or not allowed 2026-01-27 20:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-belt-stanchion-40-high-14-base-13-belt-6-social-distancing>: HTTP status code is not handled or not allowed 2026-01-27 20:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-12-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-27 20:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-built-in-undercounter-manual-defrost-freezer-ss-door-right-hinged>: HTTP status code is not handled or not allowed 2026-01-27 20:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw6gaj-38-id-clearance-adjustable-type-linear-bearing-wresin-retainer-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-plastic-shopping-cart-6-3-cu-foot-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-acrylic-sealer-brown-gloss-finish-5-gallon-pail-1-case-cp-1542>: HTTP status code is not handled or not allowed 2026-01-27 20:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-2-shelf-container-rack-bk184852n-48w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-2-shelf-container-rack-bk18606z-60w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slow-moving-vehicle-triangle-galvanized-steel-red>: HTTP status code is not handled or not allowed 2026-01-27 20:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strobe-light-male-pipe-mount-120vac-clear-lp3m-120c>: HTTP status code is not handled or not allowed 2026-01-27 20:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-emergency-cart-short-height-5-drawers-18-w-x-18-l-x-34-1-2-h-light-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coil-spring-and-cover-for-jet-and-wilton-drill-presses>: HTTP status code is not handled or not allowed 2026-01-27 20:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combustible-liquid-placard-un-1993-permanent-vinyl-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibrating-bell-mechanism-120vac-500-120-1>: HTTP status code is not handled or not allowed 2026-01-27 20:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-epoxy-wire-shelf-platform-p2430ep-30w-x-24d>: HTTP status code is not handled or not allowed 2026-01-27 20:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-short-height-36-3-4-w-x-22-l-x-37-1-4-h-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-gas-label-worded-pvc-free-film-500-roll>: HTTP status code is not handled or not allowed 2026-01-27 20:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-2-shelf-container-rack-bk183052z-30w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atpg7035-touchup-paintral7035-ltgray-12-oz-spray-can>: HTTP status code is not handled or not allowed 2026-01-27 20:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strobe-light-male-pipe-mount-12-48vdc-green-lp3m-012-048g>: HTTP status code is not handled or not allowed 2026-01-27 20:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunlite-88460-su-t8-led-4-15w-is-pps-dlc-40k-t8-led-tube-15w-2200-lum-4000k-type-a-plug-play>: HTTP status code is not handled or not allowed 2026-01-27 20:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-column-medical-storage-cart-glass-door-22-1-2-w-x-27-d-x-75-3-4-h-pink>: HTTP status code is not handled or not allowed 2026-01-27 20:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-electric-dc-12v-alligator-clamps-portable-fuel-box-transfer-kit-10gpm-40lpm-for-diesel-only>: HTTP status code is not handled or not allowed 2026-01-27 20:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6487-cooling-multi-band-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-27 20:21:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/oil_fluid_management/oil_fluid_transfer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-181-l-ext-length-pipette-tip-rack-empty-rack-wafer-included-non-sterile-20pk>: HTTP status code is not handled or not allowed 2026-01-27 20:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/down-flow-unit-heater-summer-fan-switch>: HTTP status code is not handled or not allowed 2026-01-27 20:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 12374 pages (at 101 pages/min), scraped 5711 items (at 37 items/min) 2026-01-27 20:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-drylin-r-all-polymer-linear-bearing>: HTTP status code is not handled or not allowed 2026-01-27 20:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rugged-transit-case-852-carrying-case-24l-x-20w-x-10h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-tube-marker-fast-drying-5-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-on-floor-sign-emergency-eye-wash>: HTTP status code is not handled or not allowed 2026-01-27 20:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-emergency-crash-cart-md30-emg1-std-width-4-drawers-breakaway-lock-white>: HTTP status code is not handled or not allowed 2026-01-27 20:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maintain-physical-distance-36-strip>: HTTP status code is not handled or not allowed 2026-01-27 20:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/oil_fluid_management/oil_fluid_transfer>: HTTP status code is not handled or not allowed 2026-01-27 20:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-series-48-wide-door-electric-heated-208360-12-kw-obsidian-black>: HTTP status code is not handled or not allowed 2026-01-27 20:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15ml-centrifuge-tube-purple-cap-bag-sterile-polypropylene-500-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facility-visi-sign-men-2>: HTTP status code is not handled or not allowed 2026-01-27 20:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-mailing-tubes-3-x-3-x-37-200-ect-32-kraft>: HTTP status code is not handled or not allowed 2026-01-27 20:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-shipper-ata-case-919-wheeled-case-foam-filled-46l-x-28w-x-15h-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-procedure-cart-6-drawers-e-lock-36-3-4-w-x-22-l-x-43-3-4-h-hammertone-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m14-125-carbon-steel-insert-for-metal-750-14>: HTTP status code is not handled or not allowed 2026-01-27 20:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-column-medical-storage-cabinet-key-lock-glass-doors-42-wx29-3-5-dx76-h-red>: HTTP status code is not handled or not allowed 2026-01-27 20:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octagon-sign-base-60-lbs-w-wheels-u-channel-adaptor-4-u-channel-post>: HTTP status code is not handled or not allowed 2026-01-27 20:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-procedure-cart-6-drawers-e-lock-36-3-4-w-x-22-l-x-43-3-4-h-hammertone-red>: HTTP status code is not handled or not allowed 2026-01-27 20:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515-tank-heavy-duty-shipping-case-tube-with-wheels-17l-x-17w-x-43h-blk>: HTTP status code is not handled or not allowed 2026-01-27 20:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-sign-danger-men-working-confined-space>: HTTP status code is not handled or not allowed 2026-01-27 20:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-stand-out-of-service>: HTTP status code is not handled or not allowed 2026-01-27 20:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/278-expo-ii-telescoping-shipping-case-trade-show-case-33l-x-26w-x-6h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carrying-case-foam-filled-707-series-20l-x-16w-x-8h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161515-vest-style-positioning-climbing-retrieval-harness-pass-through-xl>: HTTP status code is not handled or not allowed 2026-01-27 20:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-work-ramp>: HTTP status code is not handled or not allowed 2026-01-27 20:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161525-vest-style-harness-quick-connect-m-l>: HTTP status code is not handled or not allowed 2026-01-27 20:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161509-vest-style-positioning-climbing-harness-pass-through-tongue-buckle-2xl>: HTTP status code is not handled or not allowed 2026-01-27 20:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-07-thin-wall-insert-for-metal-319-m4>: HTTP status code is not handled or not allowed 2026-01-27 20:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-tapered-ultrasonic-insert-single-vane-th-132-sv>: HTTP status code is not handled or not allowed 2026-01-27 20:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/syringe-filter-mce-0-45-181-m-13mm-sterile-yellow-polypropylene-75-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/option-work-glove-black-synthetic-leather-palm-m-1-pair-gon-17kkm>: HTTP status code is not handled or not allowed 2026-01-27 20:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-ht-double-col-med-storage-cabinet-keylock-40-1-10-wx29-1-4-dx40-3-4-h-hammertone-green>: HTTP status code is not handled or not allowed 2026-01-27 20:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-georgia>: HTTP status code is not handled or not allowed 2026-01-27 20:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-louisiana>: HTTP status code is not handled or not allowed 2026-01-27 20:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-cover-and-seal-assembly>: HTTP status code is not handled or not allowed 2026-01-27 20:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-x-12-power-single-acting-angling-cylinder>: HTTP status code is not handled or not allowed 2026-01-27 20:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rad-2097w-self-test-receptacle-20a-1-47-64-w-x-1-1-32-d-x-4-13-64-h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aqrlss6-polypro-replacement-ltch-qty-2-ss>: HTTP status code is not handled or not allowed 2026-01-27 20:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-5-8-manual-stick-stapler>: HTTP status code is not handled or not allowed 2026-01-27 20:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-bin-cabinet-with-52-storage-bins-dual-locking-36-w-x-18-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-27 20:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fc250c-manual-post-bottomer>: HTTP status code is not handled or not allowed 2026-01-27 20:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-soft-precut-wrist-thumb-splint-1-12-micro-perforated-medium>: HTTP status code is not handled or not allowed 2026-01-27 20:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precut-strips-thin-18-x-1-5-x-1-12-sonic-silver-10-pieces-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k6000-control-key-for-5-pin-cylinder-padlocks>: HTTP status code is not handled or not allowed 2026-01-27 20:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-surface-mounted-corner-guard-135-degrees-corner-1-1-2-inch-wing-12-ft-h-woodlands-undrilled>: HTTP status code is not handled or not allowed 2026-01-27 20:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-roller-bearing-cup-34478>: HTTP status code is not handled or not allowed 2026-01-27 20:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-cabinet-that-features-3-shelves-and-3-drawers-36-w-x-24-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-27 20:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-romeo-resin-dining-arm-chair-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cp354518-concepthmi-encl-wblack-trim-type-4-50x450x180mm>: HTTP status code is not handled or not allowed 2026-01-27 20:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-air-xl-outdoor-dining-arm-chair-black>: HTTP status code is not handled or not allowed 2026-01-27 20:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-lug-style-butterfly-valve-w-buna-seals-and-10-position-handle>: HTTP status code is not handled or not allowed 2026-01-27 20:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-condenser-for-nexel-models-243005-243038>: HTTP status code is not handled or not allowed 2026-01-27 20:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-sunshine-resin-dining-arm-chair-teak-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24h3008sslp-continuous-hinge-wclamps-type-4x-2400x3000x800in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-27 20:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-evaporator-fan-motor-for-nexel-models-243007-243008-243009-243010>: HTTP status code is not handled or not allowed 2026-01-27 20:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/think-osha-7x10-vinyl-on-the-job-safety-begins-here-2>: HTTP status code is not handled or not allowed 2026-01-27 20:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mounted-end-wall-90-degrees-corners-2-ft-ft-wings-4-ft-h-w-caps-6-inch-w-ivory-recycled-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 20:22:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c8c12ss-consolet-sloped-cover-type-12-800x1200x709in>: HTTP status code is not handled or not allowed 2026-01-27 20:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/think-osha-10x14-aluminum-carelessness-is-dangerous>: HTTP status code is not handled or not allowed 2026-01-27 20:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-stop-for-s-beam-trolleys>: HTTP status code is not handled or not allowed 2026-01-27 20:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd36248ss-conceptwall-mt-encl-type-4x-3600x2400x800in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-27 20:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-red-no-a1206red>: HTTP status code is not handled or not allowed 2026-01-27 20:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-ton-m16-pivot-swivel-load-ring>: HTTP status code is not handled or not allowed 2026-01-27 20:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-232-dn6-3-robust-screw-to-connect-coupling-2-9-5-l>: HTTP status code is not handled or not allowed 2026-01-27 20:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-467-dn6-nipple-w-valve-1-24-25-l>: HTTP status code is not handled or not allowed 2026-01-27 20:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerpoint-hoist-ring-180-pivot-3300-lb-load-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:22:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-27 20:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-non-rekeyable-solid-aluminum-padlock-no-a11>: HTTP status code is not handled or not allowed 2026-01-27 20:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 12470 pages (at 96 pages/min), scraped 5740 items (at 29 items/min) 2026-01-27 20:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/restricted-area-plastic-persons-not-assigned-to-this-area-must-obtain>: HTTP status code is not handled or not allowed 2026-01-27 20:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-chamber-and-plunger-kit-for-ph50-ph55-series-ph50acmk>: HTTP status code is not handled or not allowed 2026-01-27 20:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-jack-100-ft-ct-zn>: HTTP status code is not handled or not allowed 2026-01-27 20:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-caution-do-not-operate-without-guards-place>: HTTP status code is not handled or not allowed 2026-01-27 20:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-purple-no-a1207prp>: HTTP status code is not handled or not allowed 2026-01-27 20:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-light-gray-polycombed-cotton-50>: HTTP status code is not handled or not allowed 2026-01-27 20:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-lightweight-pallet-lifter-wheeled-1-ton-capacity-36-fork-length-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-x-3-14-metal-framing-channel-p1001t10pg-12-gage-back-to-back-slotted>: HTTP status code is not handled or not allowed 2026-01-27 20:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-1-1-2-lap-lk-zinc-ctn>: HTTP status code is not handled or not allowed 2026-01-27 20:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-quick-link-20-ctn>: HTTP status code is not handled or not allowed 2026-01-27 20:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-forged-eye-w-3in-id-plain-finish-b16140>: HTTP status code is not handled or not allowed 2026-01-27 20:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-116-thick-x-18-wide-x-18-long>: HTTP status code is not handled or not allowed 2026-01-27 20:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-kick-plate-34-l-x-8-w-x-5-100-h-35-dia-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hepa-backpack-vacuum-2-1-2-gallon-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-navy-polycombed-cotton-regular-42>: HTTP status code is not handled or not allowed 2026-01-27 20:23:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-pintle-hook-mount-3-position-w-9in-shank-pm90>: HTTP status code is not handled or not allowed 2026-01-27 20:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-top-retainer-nut-for-channels-p1006t1420eg-electro-galvanized-14-20>: HTTP status code is not handled or not allowed 2026-01-27 20:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-flow-synthetic-food-grade-grease-n-l-g-i-grade-2-1-4-oz-tube>: HTTP status code is not handled or not allowed 2026-01-27 20:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-38-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 20:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-light-8-flush-mount-small-alabaster-mushroom-textured-white>: HTTP status code is not handled or not allowed 2026-01-27 20:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-pintle-hook-mount-6-position-w-1425in-shank-pm1012>: HTTP status code is not handled or not allowed 2026-01-27 20:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-concealed-snap-front-lab-coat-royal-blue-nomexaramid-l>: HTTP status code is not handled or not allowed 2026-01-27 20:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-light-12-ceiling-fixture-square-floral-white>: HTTP status code is not handled or not allowed 2026-01-27 20:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-4-hole-90-fitting-p1325eg-electro-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 20:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/empire-1-light-7-mini-pendant-w-hang-straight-canopy-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-27 20:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-tape-3-w-x-108-l-5-mil-solid-orange-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 20:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-way-dual-plug-oem-trailer-connector-with-8-inch-prewired-cable-tc1774p>: HTTP status code is not handled or not allowed 2026-01-27 20:23:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-way-die-cast-metal-trailer-connector-truck-side-tc1004>: HTTP status code is not handled or not allowed 2026-01-27 20:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-2-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 20:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-tc1770p-7-way-black-plastic-flat-pin-truck-receptable-tc1770p>: HTTP status code is not handled or not allowed 2026-01-27 20:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-2hp-3600rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-specialized-cuffed-lab-coat-woutside-pocket-white-polycombed-cotton-3xl>: HTTP status code is not handled or not allowed 2026-01-27 20:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-concealed-snap-front-lab-coat-royal-blue-nomexaramid-2xl>: HTTP status code is not handled or not allowed 2026-01-27 20:23:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-vinyl-wall-covering-pebblettehaircell-texture-040-thick-4-x-8-sheets-silver-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-button-front-lab-coat-navy-polycombed-cotton-s>: HTTP status code is not handled or not allowed 2026-01-27 20:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-combo-padlock-with-key-control-short-shackle>: HTTP status code is not handled or not allowed 2026-01-27 20:23:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 20:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/it-s-academic-magnetic-pencil-holder-black-12-case>: HTTP status code is not handled or not allowed 2026-01-27 20:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-electric-chain-hoist-1-ton-6-ft-lift-8-fpm-460v-1-2-hp-3-step-controller>: HTTP status code is not handled or not allowed 2026-01-27 20:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-3-thick-x-8-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 20:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-13-premium-heavy-duty-staples-1-2-3000-pack-12-case>: HTTP status code is not handled or not allowed 2026-01-27 20:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-standard-staples-in-plastic-box-1-4-6mm-5000-pack-20-case>: HTTP status code is not handled or not allowed 2026-01-27 20:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glue-krazy-glue-single-use-tubes-w-storage-case-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dead-man-switch-for-wave-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 20:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-high-security-solid-aluminum-padlock-6-pin-cylinders-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:23:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 20:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combo-lock-ada-compliant-lift-handle-green>: HTTP status code is not handled or not allowed 2026-01-27 20:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-36h-square-counter-height-pedestal-table-designer-white-top-round-silver-base>: HTTP status code is not handled or not allowed 2026-01-27 20:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x75-steel-shelving-with-28-giant-stacking-bins-green-2>: HTTP status code is not handled or not allowed 2026-01-27 20:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-standard-staples-1-4-6mm-5000-pack-100-case>: HTTP status code is not handled or not allowed 2026-01-27 20:23:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-berm-ultimate-model-15-x-50>: HTTP status code is not handled or not allowed 2026-01-27 20:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combination-lock-blue-metal-dial-right-hinged>: HTTP status code is not handled or not allowed 2026-01-27 20:23:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-stacking-letter-size-front-loading-tray-10-7-8-inch-x-12-5-8-inch-x-2-5-8-inch-black>: HTTP status code is not handled or not allowed 2026-01-27 20:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-key-control-orange-dial>: HTTP status code is not handled or not allowed 2026-01-27 20:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacking-supports-for-kantek-acrylic-aluminum-letter-trays-4-set-black>: HTTP status code is not handled or not allowed 2026-01-27 20:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-twin-ibc-spill-pallet-no-drain-w1-left-side-bucket-shelf>: HTTP status code is not handled or not allowed 2026-01-27 20:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-assembly-for-111-112-113-114-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 20:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-push-trolley-3-20-173>: HTTP status code is not handled or not allowed 2026-01-27 20:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-1-20-28>: HTTP status code is not handled or not allowed 2026-01-27 20:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-27 20:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-axle-for-b-or-c-60-80-xt-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 20:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-27 20:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-paper-clip-holder-3-3-4-inch-x-3-3-4-inch-black>: HTTP status code is not handled or not allowed 2026-01-27 20:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-tray-supports-for-fellowes-wire-desk-trays-60012-5-1-2-inch-4-set-black>: HTTP status code is not handled or not allowed 2026-01-27 20:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microflex-174-supreno-174-ec-sec-375-nitrile-gloves-powder-free-size-m-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:23:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:23:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 12563 pages (at 93 pages/min), scraped 5766 items (at 26 items/min) 2026-01-27 20:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcover-10-9-16-amber>: HTTP status code is not handled or not allowed 2026-01-27 20:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunlite-80948-su-par30-led-10w-s-fl35-d-e-50k-led-par30-short-neck-10w-medium-base-750-lumens-5000k>: HTTP status code is not handled or not allowed 2026-01-27 20:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-rod-34-diameter-x-2-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 20:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-bank-top-chest-w-7-drawers-27-w-x-22-3-8-d-x-27-2-3-h-red-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-25-inch-w-x-25-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-27 20:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-strength-buna-n-rubber-strip-with-acrylic-adhesive-70a-116-thick-x-12-wide-x-10-long>: HTTP status code is not handled or not allowed 2026-01-27 20:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-16-inch-w-x-24-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-27 20:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/550s-top-chest-w-12-drawers-50-w-x-25-1-4-d-x-27-h-red>: HTTP status code is not handled or not allowed 2026-01-27 20:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-27 20:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-18-20-55>: HTTP status code is not handled or not allowed 2026-01-27 20:24:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays landed on page that is not a product page. 2026-01-27 20:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-332-thick-x-34-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 20:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-single-arm-shelf-bracket-green-pair>: HTTP status code is not handled or not allowed 2026-01-27 20:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-bar-w-lse-acrylic-adhesive-18-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 20:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-8300-8400-8500-pallet-trucks-ra-671-041>: HTTP status code is not handled or not allowed 2026-01-27 20:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-shaft-for-pe-4000-pallet-trucks-cr-113365>: HTTP status code is not handled or not allowed 2026-01-27 20:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-flat-polyurethane-coated-gloves-hi-viz-lime-black-small-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 20:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18u-linier-fixed-wall-mount-cabinet-vented-door>: HTTP status code is not handled or not allowed 2026-01-27 20:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tiller-handle-arm-for-w-40z-b218-45z-c215-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 20:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygienic-wall-bracket-grip-band-module-black-polypropylene-tpe-rubber-polyamide>: HTTP status code is not handled or not allowed 2026-01-27 20:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygienic-hi-flex-wall-bracket-system-green-polypropylene-tpe-rubber-polyamide>: HTTP status code is not handled or not allowed 2026-01-27 20:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12u-linier-fixed-wall-mount-cabinet-solid-door>: HTTP status code is not handled or not allowed 2026-01-27 20:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x74-chrome-shelving-with-13-magnum-giant-hopper-bins-black>: HTTP status code is not handled or not allowed 2026-01-27 20:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-111-112-113-114-pallet-trucks-ra-632-069-007>: HTTP status code is not handled or not allowed 2026-01-27 20:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-z825c4-6f-deck-mounted-gooseneck-lab-faucet>: HTTP status code is not handled or not allowed 2026-01-27 20:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-z825t1-6m-deck-mounted-vb-gooseneck-lab-faucet>: HTTP status code is not handled or not allowed 2026-01-27 20:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-motor-trolley-1-20-14>: HTTP status code is not handled or not allowed 2026-01-27 20:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-light-blue-4xl>: HTTP status code is not handled or not allowed 2026-01-27 20:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/material-handling-basket-24-x-13-1-4-x-5-7-16-stainless-steel-price-each-for-qty-5-5-wire>: HTTP status code is not handled or not allowed 2026-01-27 20:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-iii-mod-tile-comfort-36-side-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crc-brakeleen-non-chlorinated-brake-parts-cleaners-14-oz-aerosol-can-less-45-percent-voc>: HTTP status code is not handled or not allowed 2026-01-27 20:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-6-step-perforated-cantilever-ladder-28-overhang>: HTTP status code is not handled or not allowed 2026-01-27 20:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biohazard-specimen-transport-bag-6-x-10-zipper-score-line-document-pouch-absorb-pad-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-8-step-serrated-cantilever-ladder-28-overhang>: HTTP status code is not handled or not allowed 2026-01-27 20:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-14-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 20:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-55-4-h-shelf-bins-green>: HTTP status code is not handled or not allowed 2026-01-27 20:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-33-4-h-shelf-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-27 20:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-axle-for-111-112-113-114-pallet-trucks-ra-850-137-070>: HTTP status code is not handled or not allowed 2026-01-27 20:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wo-pockets-white-polyestercombed-cotton-s>: HTTP status code is not handled or not allowed 2026-01-27 20:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wexterior-pockets-navy-polyestercombed-cotton-m>: HTTP status code is not handled or not allowed 2026-01-27 20:24:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-for-wp-2000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 20:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-14-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 20:24:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-magazine-rotary-floor-display-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 20:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-black-steel-toe-steel-mid-sole-pvc-size-14>: HTTP status code is not handled or not allowed 2026-01-27 20:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-winterior-pockets-white-polyestercombed-cotton-l>: HTTP status code is not handled or not allowed 2026-01-27 20:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-sureflex-brown-cream-steel-toe-pvc-size-11>: HTTP status code is not handled or not allowed 2026-01-27 20:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-ladder-11-step-aluminum-perforated-lock-step-14-d-top-step-24-w-step>: HTTP status code is not handled or not allowed 2026-01-27 20:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-white-steel-toe-w-safety-lock-pvc-size-10>: HTTP status code is not handled or not allowed 2026-01-27 20:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-for-102xm-walkie-pallet-truck>: HTTP status code is not handled or not allowed 2026-01-27 20:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-for-s-foot-control-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 20:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-pocket-2wx4h-acrylic-oak-wall-display-light-oak>: HTTP status code is not handled or not allowed 2026-01-27 20:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-w45zhd-lw-xl-fits-hyster-model-w45zhd>: HTTP status code is not handled or not allowed 2026-01-27 20:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-stage-snow-blower-shear-pin-set-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:24:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock landed on page that is not a product page. 2026-01-27 20:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snow-blower-cover-for-single-stage-snow-blower>: HTTP status code is not handled or not allowed 2026-01-27 20:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-button-front-chef-coat-pearl-buttons-black-polyestercotton-4xl>: HTTP status code is not handled or not allowed 2026-01-27 20:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-w80z-lw-fits-hyster-model-w80z>: HTTP status code is not handled or not allowed 2026-01-27 20:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-alt50-lw-fits-big-joe-model-alt50>: HTTP status code is not handled or not allowed 2026-01-27 20:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-tuftex-yellow-bib-overall-plain-front-pvc-size-2x>: HTTP status code is not handled or not allowed 2026-01-27 20:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-compartment-desk-organizer-with-2-side-compartments-6-pack-black>: HTTP status code is not handled or not allowed 2026-01-27 20:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-pneumatic-hydraulic-mobile-scissor-lift-table-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:24:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x48x74-chrome-wire-shelving-with-110-shelf-bins-blue-2>: HTTP status code is not handled or not allowed 2026-01-27 20:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-pvc-steel-xhci-x-3-pvc-steel-xhci-proflex-coupling>: HTTP status code is not handled or not allowed 2026-01-27 20:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-qwik-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-truck-with-24-4-h-shelf-bins-green>: HTTP status code is not handled or not allowed 2026-01-27 20:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-48-yellow-coat-w-hood-snaps-pvc-size-small>: HTTP status code is not handled or not allowed 2026-01-27 20:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-16-x-5-5-euro-fix-solid-container-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 12657 pages (at 94 pages/min), scraped 5792 items (at 26 items/min) 2026-01-27 20:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-12-thick-x-2-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 20:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-box-for-25-slides-cork-lined-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-box-for-25-slides-cork-lined-white>: HTTP status code is not handled or not allowed 2026-01-27 20:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfo-classic-half-mask-respirator-medium-808074>: HTTP status code is not handled or not allowed 2026-01-27 20:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-27 20:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunglass-rack-32-pc-with-sign-holder-24high>: HTTP status code is not handled or not allowed 2026-01-27 20:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pcr-tube-02ml-thin-wall-polypropylene-attached-flat-top-cap-natural-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-cap-style-hard-hat-green-6-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-27 20:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-stackable-safety-poly-barricade-76-1-2-l-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-yellow-bib-overall-plain-front-pvc-size-large>: HTTP status code is not handled or not allowed 2026-01-27 20:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-aluminum-hose-cable-bridge-yellow-7178-x-918-x-112>: HTTP status code is not handled or not allowed 2026-01-27 20:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sitex-yellow-3-piece-suit-pvc-size-3x>: HTTP status code is not handled or not allowed 2026-01-27 20:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-332-thick-x-5-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 20:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-shelf-mesh-truck-36-x-72>: HTTP status code is not handled or not allowed 2026-01-27 20:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-cow-leather-driver-gloves-with-keystone-thumb-size-small-pkg-qty-12>: HTTP status code is not handled or not allowed 2026-01-27 20:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-35-hip-wader-black-w-cleated-outsole-pvc-size-10>: HTTP status code is not handled or not allowed 2026-01-27 20:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottles-ghs-labeled-assorted-pack-acetone-methanol-isopropanol-ethanol-and-distilled-water>: HTTP status code is not handled or not allowed 2026-01-27 20:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-cap-flange-plug-cap-for-ct2-and-cr1-models-13mm-green-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75hp-80-gallon-two-stage-air-compressor-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 20:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/family-battery-charger-multiple-battery-sizes>: HTTP status code is not handled or not allowed 2026-01-27 20:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-35-chest-wader-black-steel-toe-steel-midsole-pvc-size-13>: HTTP status code is not handled or not allowed 2026-01-27 20:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-diamond-glass-25-x-75mm-charged-90-ground-edges-orange-frosted-72-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-230ml-extra-long-300mm-12-inches-long-sterile-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-platform-to-display-cable-16-4-l>: HTTP status code is not handled or not allowed 2026-01-27 20:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-85ml-general-purpose-large-opening-137mm-sterile-polypropylenes-200-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:25:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goodyear-coin-pattern-rubber-floor-mat-3-5mm-thick-3-x-25-black>: HTTP status code is not handled or not allowed 2026-01-27 20:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m10-x-1-5-x-25mm-steel-zinc-clear-class-8-8-iso-4017-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-rubber-floor-mat-3mm-thick-4-x-6-black>: HTTP status code is not handled or not allowed 2026-01-27 20:25:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/flooring/rubber_flooring already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-box-for-12-slides-cork-lined-white>: HTTP status code is not handled or not allowed 2026-01-27 20:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-1-12-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 20:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-lab-table-36h-with-chemres-top-dual-book-compartment-30-x-60>: HTTP status code is not handled or not allowed 2026-01-27 20:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m20-x-2-5-x-150mm-steel-zinc-yellow-class-10-9-din-931-pkg-of-10-aar20150>: HTTP status code is not handled or not allowed 2026-01-27 20:25:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-14-thick-x-39-wide-x-78-long>: HTTP status code is not handled or not allowed 2026-01-27 20:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-thick-x-3-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 20:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-ii-cap-with-accessory-slots-and-6-point-slide-lock-suspension-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-shell-stack-chair-black-set-of-4>: HTTP status code is not handled or not allowed 2026-01-27 20:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-holder-use-with-gtr-hd-series-tube-rotators-24-place-for-50ml-microcentrifuge-tubes>: HTTP status code is not handled or not allowed 2026-01-27 20:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/flooring/rubber_flooring>: HTTP status code is not handled or not allowed 2026-01-27 20:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-rubber-roll-no-adhesive-60a-12-thick-x-12-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 20:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacking-rack-units-42-w-x-30-d-black>: HTTP status code is not handled or not allowed 2026-01-27 20:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-wide-bore-large-bulb-124mm-sterile-polypropylenes-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/built-in-combination-lock-linear-latch-control-key-access-right-hinged-doors>: HTTP status code is not handled or not allowed 2026-01-27 20:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-ii-full-brim-with-6-point-mega-ratchet-suspension-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/901-bump-cap-with-4-point-pin-lock-suspension-black>: HTTP status code is not handled or not allowed 2026-01-27 20:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-zenex-padlock-station-20-lock>: HTTP status code is not handled or not allowed 2026-01-27 20:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/built-in-combo-lock-ada-compliant-vertical-dead-bolt-2-user-keys>: HTTP status code is not handled or not allowed 2026-01-27 20:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-it-ex2-2-inch-heavy-duty-carton-sealer>: HTTP status code is not handled or not allowed 2026-01-27 20:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-plastic-bar-132-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 20:25:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-only-20-gallon-drum-spill-kit-22-gallon-capacity-1-spill-kitcase>: HTTP status code is not handled or not allowed 2026-01-27 20:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gun-safe-dehumidifier-md12-19-1-2-h-100-cubic-ft-coverage-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 20:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-8-rear-wheel-for-janitor-cart-models-603574-603590-rp9039>: HTTP status code is not handled or not allowed 2026-01-27 20:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-work-storage-cabinet-flush-doors-4-drawers-69-blue-bins>: HTTP status code is not handled or not allowed 2026-01-27 20:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150k-btu-natural-gas-forced-air-heater-246642>: HTTP status code is not handled or not allowed 2026-01-27 20:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-drawer-full-height-30-w-cabinet-everest-blue-6>: HTTP status code is not handled or not allowed 2026-01-27 20:25:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-counter-high-24-w-cabinet-light-gray-4>: HTTP status code is not handled or not allowed 2026-01-27 20:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500g-deicing-sprayer-55hp-200p-pump-75-12-hose-manual-reel-7-pro-boom>: HTTP status code is not handled or not allowed 2026-01-27 20:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jmd-45vspft-var-spd-geared-hd-sq-col-mill-drill-pwr-downfeed-dp500-x-axis-pwrfeed>: HTTP status code is not handled or not allowed 2026-01-27 20:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2010-pencil-clip-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x9-kraft-clasp-envelopes>: HTTP status code is not handled or not allowed 2026-01-27 20:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1440vs-with-acu-rite-203-dro>: HTTP status code is not handled or not allowed 2026-01-27 20:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-dga22-drywall-grid-adapter-for-2x2-recessed-fixtures>: HTTP status code is not handled or not allowed 2026-01-27 20:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 12746 pages (at 89 pages/min), scraped 5818 items (at 26 items/min) 2026-01-27 20:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-glass-25-x-75mm-90-ground-edges-safety-corners-pink-frosted-144-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-stainless-steel-utility-sink-w-faucet-24-x-24-x-14-deep-non-nsf>: HTTP status code is not handled or not allowed 2026-01-27 20:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/149648-toughstripe-max-floor-marking-tape-vinyl-4-inch-wide-100-feet-long-red>: HTTP status code is not handled or not allowed 2026-01-27 20:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 20:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-36-w-cabinet-avalanche-blue-1>: HTTP status code is not handled or not allowed 2026-01-27 20:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/149632-toughstripe-max-floor-marking-tape-vinyl-2-inch-wide-100-feet-long-green>: HTTP status code is not handled or not allowed 2026-01-27 20:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-signature-science-lab-table-black-30-x-60-hpl-top>: HTTP status code is not handled or not allowed 2026-01-27 20:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-midi-centrifuge-tube-50ml-polypropylene-attached-snap-cap-graduated-black-200-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-top-refrigerator-2-section-48-38w-30-18d-33-38h-twt-48-ada>: HTTP status code is not handled or not allowed 2026-01-27 20:26:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-27 20:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac2m02-bk-2m-6-6-ft-high-speed-hdmi-cable-with-ethernet>: HTTP status code is not handled or not allowed 2026-01-27 20:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crescent-shaped-wall-guard-w-rec-plastic-clip-retainer-system-5-h-x-12-l-monterey>: HTTP status code is not handled or not allowed 2026-01-27 20:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-drawer-full-height-36-w-cabinet-avalanche-blue-1>: HTTP status code is not handled or not allowed 2026-01-27 20:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-undercounter-refrigerator-33-38f-27-58w-30-18d-tuc-27-lp>: HTTP status code is not handled or not allowed 2026-01-27 20:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-undercounter-freezer-10f-27-58w-30-18d-tuc-27f-lp>: HTTP status code is not handled or not allowed 2026-01-27 20:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quicknotes-desk-calendar-refill-3-1-2-x-6-2016>: HTTP status code is not handled or not allowed 2026-01-27 20:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polly-products-econo-mizer-6-ft-backed-bench-with-arms-green-bench-brown-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1440b-geared-head-bench-lathe-with-taper-attachment>: HTTP status code is not handled or not allowed 2026-01-27 20:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-eye-oval-acrylic-mirror-17-w-8-1-2-h>: HTTP status code is not handled or not allowed 2026-01-27 20:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72in-red-plus-ii-quarter-in-hose-21672>: HTTP status code is not handled or not allowed 2026-01-27 20:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-diamond-pro-fixed-volume-50ul-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bdb-1340a-lathe-with-newall-dp500-dro>: HTTP status code is not handled or not allowed 2026-01-27 20:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-ray-construction-paper-12-x-18-assorted25-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lighter-single-flint>: HTTP status code is not handled or not allowed 2026-01-27 20:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-drawer-full-height-48-w-cabinet-everest-blue-2>: HTTP status code is not handled or not allowed 2026-01-27 20:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-ray-construction-paper-12-x-18-orange50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-ray-construction-paper-9-x-12-festive-red50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preprinted-plastic-tab-dividers-side-tab-printed-a-z-9-x-11-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-65ml-narrow-stem-155mm-5000-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-split-door-refrigerator-2-solid-doors-23-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-neutral-ph-no-rinse-floor-cleaner-case-of-four-1-gallon-bottles>: HTTP status code is not handled or not allowed 2026-01-27 20:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-deluxe-literature-mailer-9-x-6-1-4-x-4>: HTTP status code is not handled or not allowed 2026-01-27 20:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-diamond-adjustable-volume-01-25ul-pink>: HTTP status code is not handled or not allowed 2026-01-27 20:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c10-bump-cap-for-minor-bumps-with-shield-attachment-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-gear-locker-with-door-legs-24x24x72-red>: HTTP status code is not handled or not allowed 2026-01-27 20:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-30-mobile-esd-safety-edge-work-bench-fixed-height-1-1-4-top>: HTTP status code is not handled or not allowed 2026-01-27 20:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-6-safety-hard-hat-4-pt-ratchet-suspension-cap-style-blue->: HTTP status code is not handled or not allowed 2026-01-27 20:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-refrigerated-merch-lam-vinyl-36-18w-22-38d-gdm-9>: HTTP status code is not handled or not allowed 2026-01-27 20:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-full-brim-hard-hat-vented-4-pt-ratchet-suspension-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1440vs-with-newall-dp700-dro>: HTTP status code is not handled or not allowed 2026-01-27 20:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-full-brim-hard-hat-vented-4-pt-ratchet-suspension-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sg-safety-glasses-with-anti-scratch-blue-mirror-lens-and-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-mobile-plastic-square-edge-work-bench-adjustable-height-1-5-8-top>: HTTP status code is not handled or not allowed 2026-01-27 20:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-plastic-liner-square-36-gal-receptacles>: HTTP status code is not handled or not allowed 2026-01-27 20:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-foam-latex-coated-gloves-black-navy-large-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 20:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-nesting-dunnage-rack-60x18x12>: HTTP status code is not handled or not allowed 2026-01-27 20:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-mailer-4-x-3-x-1->: HTTP status code is not handled or not allowed 2026-01-27 20:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-retention-strap-for-all-purpose-industrial-traction-aids-rubber>: HTTP status code is not handled or not allowed 2026-01-27 20:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/western-outlaw-safety-hard-hat-4-point-ratchet-suspension-hdpe-tan-4case>: HTTP status code is not handled or not allowed 2026-01-27 20:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bowl-ribbed-camwear-round-8-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-x-super-birdxpeller-pro-bird-repeller>: HTTP status code is not handled or not allowed 2026-01-27 20:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-4000-series-maple-butcher-block-square-edge-96-w-x-36-d-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-mobile-dunnage-rack-36x24x8>: HTTP status code is not handled or not allowed 2026-01-27 20:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melamine-dry-erase-whiteboard-72-x-48-double-sided-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 20:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-glamour-bubble-mailer-13-3-4-x-11>: HTTP status code is not handled or not allowed 2026-01-27 20:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-2-axis-newall-dp700-dro-servo-x-y-z-axis-pwrfds-usa-air-pwrd-draw-bar>: HTTP status code is not handled or not allowed 2026-01-27 20:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3891-97-1-1-2-inch-self-priming-bronze-centrifugal-pump-100gpm-75psi-viton-seal>: HTTP status code is not handled or not allowed 2026-01-27 20:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-stock-picking-ladder-expanded-tread-spl-8-14x>: HTTP status code is not handled or not allowed 2026-01-27 20:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-20mm-full-size-40-place-nylon-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/368b-95-3-4-inch-x-1-2-inch-cast-iron-straight-centrifugal-pump-buna-n-seal-1-2hp-1-phase-motor>: HTTP status code is not handled or not allowed 2026-01-27 20:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rv-pette-dispenser-tip-for-repeat-volume-pipettors-50ml-1-gray-adapter-included-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-15-x-10-x-4>: HTTP status code is not handled or not allowed 2026-01-27 20:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1853-sd-3l6-3-8-x-1-4-double-cut-ball-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-27 20:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-stand-reinforced-polypropylene-20mm-20-place-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/service-cart-three-shelves-black>: HTTP status code is not handled or not allowed 2026-01-27 20:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-rectangular-hdpe-48mm-polypropylene-screw-cap-500ml-16oz-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/justrite-smokers-cease-fire-cigarette-butt-receptacle-1-gallon-black>: HTTP status code is not handled or not allowed 2026-01-27 20:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-stock-picking-ladder-expanded-tread-spl-11-x>: HTTP status code is not handled or not allowed 2026-01-27 20:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-30mm-full-size-24-place-nylon-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1849-sg-42-1-8-x-1-8-double-cut-pointed-tree-bur>: HTTP status code is not handled or not allowed 2026-01-27 20:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-41-1-8-x-3-32-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-27 20:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-sided-smoking-shelter-freestanding-7-ft-w-x-3-ft-6-inch-d-x-7-ft-11-inch-h-aluminum-roof>: HTTP status code is not handled or not allowed 2026-01-27 20:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 12847 pages (at 101 pages/min), scraped 5846 items (at 28 items/min) 2026-01-27 20:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-security-truck-poly-z-brite-2-shelves-18-w-x-36-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-27 20:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/howard-feed-n-wax-wood-polish-conditioner-1-gallon-jug-4-case>: HTTP status code is not handled or not allowed 2026-01-27 20:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tmu1lncp-heu-05-gpf-exposed-urinal-nonhold-mfv-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-sided-smoking-shelter-half-side-panels-13-ft-9-inch-w-x-3-ft-6-inch-d-x-7-ft-11-inch-h-clear-roof>: HTTP status code is not handled or not allowed 2026-01-27 20:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-with-lower-shelf-24-x-48-fixed-height>: HTTP status code is not handled or not allowed 2026-01-27 20:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-1l6-1-4-x-1-4-standard-cut-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-27 20:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-5-step-steel-36w-x-36d-work-platform-ladder-1>: HTTP status code is not handled or not allowed 2026-01-27 20:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-totally-enclosed-direct-drive-duct-fan-3-phase-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 20:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-starting-switch-3-phase-3-hp-high-stand-man-coolers-plastic>: HTTP status code is not handled or not allowed 2026-01-27 20:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90xl037-standard-timing-belt-xl-3-8-x-9-t45-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 20:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-tip-1-200ul-certified-universal-natural-54mm-stand-up-resealable-bag-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1853-sd-53-4-76mm-x-4-76mm-standard-cut-ball-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-27 20:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-48-mat-ultimat-gray-um-3648g>: HTTP status code is not handled or not allowed 2026-01-27 20:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-60-mat-ultimat-light-blue-um-3060lb>: HTTP status code is not handled or not allowed 2026-01-27 20:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-aluminum-rolling-ladder-24w-grip-tread-14d-top-step>: HTTP status code is not handled or not allowed 2026-01-27 20:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-flite-narrow-bird-spikes-100-ft-bp-f1100>: HTTP status code is not handled or not allowed 2026-01-27 20:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machinery-skates-adjustable-16-rollers-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-polypropylene-printed-graduations-100ml>: HTTP status code is not handled or not allowed 2026-01-27 20:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-heat-pump-maniofld-60-black-plu-ii-hoses>: HTTP status code is not handled or not allowed 2026-01-27 20:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/130xl037-standard-timing-belt-xl-3-8-x-13-t65-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 20:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unex-gravity-flow-roller-rack-with-wheel-bed-starter-48w-x-96d-x-84h-with-4-levels>: HTTP status code is not handled or not allowed 2026-01-27 20:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unex-gravity-flow-roller-rack-with-wheel-bed-starter-96w-x-72d-x-84h-with-4-levels>: HTTP status code is not handled or not allowed 2026-01-27 20:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/95584057-bulb-ba15d-115v-5w>: HTTP status code is not handled or not allowed 2026-01-27 20:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-1-4-x-47-1-2-h-deluxe-office-partition-panel-non-electric-w-raceway-gray-277546gy>: HTTP status code is not handled or not allowed 2026-01-27 20:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/660l100-standard-timing-belt-l-1-x-66-t176-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 20:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/static-shield-metal-in-bag-zip-81705-series-4in-x-6in-100-bagspack>: HTTP status code is not handled or not allowed 2026-01-27 20:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-pressure-switch-400-psi-open-300-psi-closed>: HTTP status code is not handled or not allowed 2026-01-27 20:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-1-4-x-77-1-2-h-deluxe-office-partition-panel-with-pass-thru-cable-gray-277560gy>: HTTP status code is not handled or not allowed 2026-01-27 20:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-contactor-30a-24v-15-pole>: HTTP status code is not handled or not allowed 2026-01-27 20:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-uc-dissipative-dual-layer-rubber-mat-sky-blue-0080in-x-30in-x-40ft>: HTTP status code is not handled or not allowed 2026-01-27 20:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/255l100-standard-timing-belt-l-1-x-25-1-2-t68-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 20:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-reach-cable-puller-7-16-cable-dia-3000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-05ml-polypropylene-assorted-stand-up-zipbag-mg-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-series-organic-vapor-cartridge-n75001l-2-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-insert-for-new-cryoclear-vials-white-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-compact-three-phase-motor-protector>: HTTP status code is not handled or not allowed 2026-01-27 20:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-inch-heavy-duty-adjustable-height-steel-work-platform-orange-9-h-to-14-h>: HTTP status code is not handled or not allowed 2026-01-27 20:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/315l100-standard-timing-belt-l-1-x-31-1-2-t84-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 20:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-commerial-condensate-evaporator-pan-7qt-120v-1500-w>: HTTP status code is not handled or not allowed 2026-01-27 20:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-clamp>: HTTP status code is not handled or not allowed 2026-01-27 20:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-vanguard-box-over-locker-18x21x72-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-vanguard-executive-locker-24x18x72-with-legs-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-storage-rack-4-compartment-includes-2-accessory-holders-abs-magnetized-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-vanguard-executive-locker-24x18x72-no-legs-assembled-marine-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bollard-with-base-removable-plastic-cap-chain-slots-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-way-l-fittings-1dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-27 20:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pharmacy-4-6-cu-ft-solid-door-refrigerator-1-cu-ft-solid-door-freezer-controlled-auto-defrost>: HTTP status code is not handled or not allowed 2026-01-27 20:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorized-hand-truck-pneumatic-tires-and-cylinder-plate-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/humidity-and-temperature-stability-chamber-single-glass-door-23-cu-ft-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-nesting-bins-10-1-4-l-x-7-1-2-w-x-6-h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-clamp-fittings-3l-12dia-furniture-grade-abs-green>: HTTP status code is not handled or not allowed 2026-01-27 20:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-welding-bench-60-w-x-36-d-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-key-cabinet-60-keys-sand>: HTTP status code is not handled or not allowed 2026-01-27 20:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tork-universal-masterfold-large-dispenser-napkins-d786e>: HTTP status code is not handled or not allowed 2026-01-27 20:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/furniture-pipe-fittings-5l-12dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-27 20:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/850186-surface-temperature-rtd-probe-type-k-stainless-steel-4l>: HTTP status code is not handled or not allowed 2026-01-27 20:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-angle-beam-48-w-x-48-d-x-84-h-4-level-starter-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversible-microcentrifuge-tube-rack-with-cover-96-place-pink-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coat-rod-36-w-x-2-d-x-2-h>: HTTP status code is not handled or not allowed 2026-01-27 20:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ep-5910-36-economy-kraft-paper-dispenser-36-material-width>: HTTP status code is not handled or not allowed 2026-01-27 20:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-channel-beam-96-w-x-24-d-x-84-h-4-level-starter-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-plug-16mm-high-grip-white-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ep-725-12-poly-tubing-dispenser-with-slide-cutter-12>: HTTP status code is not handled or not allowed 2026-01-27 20:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-wall-roll-stand-24-width-capacity-24-diameter>: HTTP status code is not handled or not allowed 2026-01-27 20:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50btl42-taper-bushed-58-pitch-42-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcruiser-vending-cart-4-full-size-pans-6-deep-granite-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs15hx50-metric-1-pitch-50mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kac-lc0-we-nw-hd-v-5xl-white>: HTTP status code is not handled or not allowed 2026-01-27 20:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-channel-beam-96-w-x-48-d-x-84-h-3-level-add-on-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 12948 pages (at 101 pages/min), scraped 5878 items (at 32 items/min) 2026-01-27 20:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72w-x-30d-modular-workbench-with-7-drawers-phenolic-resin-safety-edge-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:27:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=heavy-duty-reversible-pistol-grip-air-drill-3-8-inch-chuck-2000-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-bar-72-3-4-2-co2-regulators-carmel>: HTTP status code is not handled or not allowed 2026-01-27 20:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-window-film-24in-w-x-500ft-l-4-mil>: HTTP status code is not handled or not allowed 2026-01-27 20:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-insert-for-new-cryoclear-vials-gray-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-408x96x100-agri-chemical-building>: HTTP status code is not handled or not allowed 2026-01-27 20:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-caddies-dark-brown-125-lbs-cap-4-swivel-1-with-brake>: HTTP status code is not handled or not allowed 2026-01-27 20:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-center-stripe-towel-44-inch-x-22-inch-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-computer-lanstation-workstation-34-hx24-wx36-l-black-3-shelf>: HTTP status code is not handled or not allowed 2026-01-27 20:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-pool-filter-motor-115-230-volts-3450-rpm-1-2hp-1>: HTTP status code is not handled or not allowed 2026-01-27 20:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-pool-filter-motor-115-230-volts-3450-rpm-1-1-2hp>: HTTP status code is not handled or not allowed 2026-01-27 20:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-victor-xl-resin-outdoor-arm-chair-olive-green>: HTTP status code is not handled or not allowed 2026-01-27 20:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3400-squids-174-grabber-dual-clip-mount-granite>: HTTP status code is not handled or not allowed 2026-01-27 20:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-pool-filter-motor-115-230-volts-3450-rpm-1hp-2>: HTTP status code is not handled or not allowed 2026-01-27 20:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-mobile-computer-lanstation-workstation-keyboard-tray-40-hx24-wx60-l-black-3-shelf>: HTTP status code is not handled or not allowed 2026-01-27 20:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-computer-lanstation-workstation-keyboard-tray-34-hx24-wx72-l-black-3-shelf>: HTTP status code is not handled or not allowed 2026-01-27 20:28:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=heavy-duty-reversible-pistol-grip-air-drill-3-8-inch-chuck-2000-rpm landed on page that is not a product page. 2026-01-27 20:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs32hx1-58-pitch-1-finished-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25a26hx38-a-plate-14-pitch-38-bore-26-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-single-phase-jet-pump-motor-115-230-volts-3450-rpm-1-1-2hp-3>: HTTP status code is not handled or not allowed 2026-01-27 20:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-snap-12-13mm-pe-for-vacuum-and-test-tubes-green-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-evap-cooler-motor-1725-rpm-230-volts>: HTTP status code is not handled or not allowed 2026-01-27 20:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-with-screwcap-wide-mouth-round-graduated-ldpe-cap-polypropylene-250ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cassette-biopsy-embedding-with-attached-lid-30-writing-area-green-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700-series-padlock-1-and-half-inch-shackle-red-keyed-different-red-6-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-packing-list-envelopes-7-l-x-5-1-2-w-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50sds48-qd-bushed-58-pitch-48-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-2-female-nps-pipe-thread-x-3-4-male-garden-hose-thread-adapter>: HTTP status code is not handled or not allowed 2026-01-27 20:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-urine-centrifuge-12ml-with-flared-top-polystyrene-graduated-1500-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-70ml-bellows-2000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armor-poly-vci-ziplock-bags-4-mil-12-x-15-blue-500-pkg>: HTTP status code is not handled or not allowed 2026-01-27 20:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-full-rated-pool-filter-motor-115-230-volts-3450-rpm-2>: HTTP status code is not handled or not allowed 2026-01-27 20:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-16-x20-x4-wide-frame-electrostatic-air-filter-merv-8>: HTTP status code is not handled or not allowed 2026-01-27 20:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-open-top-recycling-can-35-gallon-satin-clear-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 20:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-gauge-25-ft-800-amp-hd-clamp-booster-cables>: HTTP status code is not handled or not allowed 2026-01-27 20:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs33hx118-58-pitch-1-18-finished-bore-33-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cotton-knit-thermal-blankets-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-polypropylene-printed-graduations-2000ml-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-16-x-75mm-8ml-polystyrene-with-rim-2500-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sore-muscle-rub-heating-therapy-gel-8-oz-14-1278>: HTTP status code is not handled or not allowed 2026-01-27 20:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ton-trolley-jack-stands-combo>: HTTP status code is not handled or not allowed 2026-01-27 20:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curve-ball-x-stationary-foam-roller-14-1272>: HTTP status code is not handled or not allowed 2026-01-27 20:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-pmp-tpx-printed-graduations-250ml-16-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/number-3-hydraulic-adjustable-height-packing-workbench-laminate-square-edge-96-x-30-black>: HTTP status code is not handled or not allowed 2026-01-27 20:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-red-4-dia-discs>: HTTP status code is not handled or not allowed 2026-01-27 20:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs15hx45-metric-1-pitch-45mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-motor-115-volts-3200-rpm-2>: HTTP status code is not handled or not allowed 2026-01-27 20:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-open-motor-115-volts-1550-rpm-4>: HTTP status code is not handled or not allowed 2026-01-27 20:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-tec-surge-suppressor>: HTTP status code is not handled or not allowed 2026-01-27 20:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-self-cooled-motor-115-volts-1500-rpm-3>: HTTP status code is not handled or not allowed 2026-01-27 20:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-26-x-24-x-48-3-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxidizer-4-4-yellow-black>: HTTP status code is not handled or not allowed 2026-01-27 20:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-16-x-75mm-8ml-polypropylene-no-rim-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-yellow-2-3>: HTTP status code is not handled or not allowed 2026-01-27 20:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-tie-spool-5-32-x-7000-black->: HTTP status code is not handled or not allowed 2026-01-27 20:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-12-x-75mm-5ml-polypropylene-amber-2000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microtube-05ml-polypropylene-no-cap-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skid-of-3-5-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-27 20:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40btl45-taper-bushed-12-pitch-45-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-replacement-active-carbon-filter-293052-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41bs35hx1-12-pitch-1-finished-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-tier-6-door-premium-steel-locker-12-w-x-15-d-x-36-h-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 20:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-split-capacitor-fan-coil-motor-208-230-volts-1050-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/morrill-cast-iron-unit-bearing-fan-motor-5-watts-115-volts-1>: HTTP status code is not handled or not allowed 2026-01-27 20:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-silver-ep-21w-x-48l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80b13hx1mpb-1-pitch-1-plain-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80a18hx34-a-plate-1-pitch-34-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-chrome-18w-x-54l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs25hx112-58-pitch-1-12-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13044 pages (at 96 pages/min), scraped 5907 items (at 29 items/min) 2026-01-27 20:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-silver-ep-24w-x-24l-x-40h-3-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-silver-ep-21w-x-54l-x-63h-4-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-27 20:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purple-2-4>: HTTP status code is not handled or not allowed 2026-01-27 20:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-pressure-washer-water-broom-3-gpm>: HTTP status code is not handled or not allowed 2026-01-27 20:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-1-1-2-mr-clip-khaki-gold-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 20:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluorescent-pink-2-dia-discs>: HTTP status code is not handled or not allowed 2026-01-27 20:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-red-2-3>: HTTP status code is not handled or not allowed 2026-01-27 20:29:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/berber-impressions-hd-custom-logo-mat-6--x-8--68-mil-universal-cleated-sbr>: HTTP status code is not handled or not allowed 2026-01-27 20:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-surveyors-safety-vest-black-5xl>: HTTP status code is not handled or not allowed 2026-01-27 20:29:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs18hx134-1-pitch-1-34-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-ansi-lady-short-sleeve-t-shirt-pink-with-lime-side-sm>: HTTP status code is not handled or not allowed 2026-01-27 20:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dont-forklift-3-5-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-27 20:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/documents-enclosed-3-5-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-27 20:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16a27-metric-1-pitch-30mm-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rack-starter-no-deck-120-inches-w-x-36-inches-d-x-144-inches-h>: HTTP status code is not handled or not allowed 2026-01-27 20:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mon-2-dia-bright-yellow-black>: HTTP status code is not handled or not allowed 2026-01-27 20:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rack-starter-no-deck-96-inches-w-x-36-inches-d-x-120-inches-h>: HTTP status code is not handled or not allowed 2026-01-27 20:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rack-starter-no-deck-96-inches-w-x-36-inches-d-x-144-inches-h>: HTTP status code is not handled or not allowed 2026-01-27 20:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rack-starter-no-deck-96-inches-w-x-42-inches-d-x-144-inches-h>: HTTP status code is not handled or not allowed 2026-01-27 20:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 20:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-night-glow-sherpa-line-heavy-weight-sierra-jacket-2xl>: HTTP status code is not handled or not allowed 2026-01-27 20:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rack-add-on-no-deck-120-inches-w-x-42-inches-d-x-96-inches-h>: HTTP status code is not handled or not allowed 2026-01-27 20:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/origami-5-tier-large-heavy-duty-rack-78-w-x-36-w-x-21-h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-ansi-enhanced-safety-vest-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-hand-crank-mechanical-scissor-lift-table-1000-lb-capacity-39-x-29-platform>: HTTP status code is not handled or not allowed 2026-01-27 20:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/doubled-sided-floor-stand-tip-out-bins-48-h>: HTTP status code is not handled or not allowed 2026-01-27 20:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-tooth-and-12-point-metric-combination-ratcheting-wrench-set-of-16>: HTTP status code is not handled or not allowed 2026-01-27 20:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-mobile-cabinet-48-wx24-dx37-1-2-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1627-500bk-500-1-4-id-push-on-and-lock-hose>: HTTP status code is not handled or not allowed 2026-01-27 20:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plasma-quantum-4-pin-lamp-36w-10-case>: HTTP status code is not handled or not allowed 2026-01-27 20:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/683-6-three-in-one-brass-3-8-fnpt-hose-manifold>: HTTP status code is not handled or not allowed 2026-01-27 20:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/648-1-4-mnpt-x-1-4-nps-hex-nipple-hose-fitting>: HTTP status code is not handled or not allowed 2026-01-27 20:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/605w-1-4-mnpt-3-8-id-hose-end-fitting>: HTTP status code is not handled or not allowed 2026-01-27 20:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs22x1716-1-pitch-1-716-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs33x1-34-pitch-1-finished-bore-33-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80a45x1-a-plate-1-pitch-1-bore-45-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/this-side-up-2-3-red-white>: HTTP status code is not handled or not allowed 2026-01-27 20:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/653w-1-4-fnpt-x-1-8-mnpt-hose-fitting-adapter>: HTTP status code is not handled or not allowed 2026-01-27 20:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-19-drawer-roller-cabinet-55-w-x-25-d-x-h-46-black-w-red-handles-trim>: HTTP status code is not handled or not allowed 2026-01-27 20:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honey-maid-honey-graham-crackers-value-pack-4-count-gr>: HTTP status code is not handled or not allowed 2026-01-27 20:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r134a-recovery-recycling-and-recharge-34788ni>: HTTP status code is not handled or not allowed 2026-01-27 20:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-mobile-cabinet-48-wx24-dx37-1-2-h-avalanche-blue-1>: HTTP status code is not handled or not allowed 2026-01-27 20:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-3580-1-3-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wds12s2acr-0-5-hp-3-phase-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/progear-top-side-creeper-3-700>: HTTP status code is not handled or not allowed 2026-01-27 20:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-drawer-mobile-multi-drawer-cabinet-48-wx27-dx37-1-2-h-everest-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48000k-2-serialized-framed-impact-labels-25g-range-yellow-50-box>: HTTP status code is not handled or not allowed 2026-01-27 20:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snickers-bar-1-86-oz-48-count-gr>: HTTP status code is not handled or not allowed 2026-01-27 20:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ductless-mini-split-air-conditioner-with-heat-pump-12000-btu-20-seer-115v-white>: HTTP status code is not handled or not allowed 2026-01-27 20:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50000k-2-serialized-framed-impact-labels-50g-range-red-50-box>: HTTP status code is not handled or not allowed 2026-01-27 20:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stock-picking-truck-18-48-63-back-to-back-30-cells-13-w>: HTTP status code is not handled or not allowed 2026-01-27 20:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-dj3c2p18m-3-hp-1-phase-1735-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-chrome-linen-cart-with-solid-bottom-shelf-36-l-x-24-w-x-78-h>: HTTP status code is not handled or not allowed 2026-01-27 20:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-mop-bucket-wringer-combo-down-press-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreo-chocolate-sandwich-cookies-2-pack-120-count-gr>: HTTP status code is not handled or not allowed 2026-01-27 20:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-coffee-creamer-original-0-38-oz-mini-cups-360-carton>: HTTP status code is not handled or not allowed 2026-01-27 20:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-24-wx59-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-27 20:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocean-spray-craisins-fruit-clusters-cranberry-granola-2-oz-10-count-gr>: HTTP status code is not handled or not allowed 2026-01-27 20:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-xr-8ah-battery-2-pack-dcb208-2>: HTTP status code is not handled or not allowed 2026-01-27 20:29:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t34cm2j-3-4-hp-1-phase-1725-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t3c2p21-3-hp-1-phase-1730-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-24-w-aluminum-tilt-roll-ladder-ribbed-tread>: HTTP status code is not handled or not allowed 2026-01-27 20:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60v-max-1-3-4-inch-sds-max-brushless-combination-rotary-hammer-kit-dch614x2>: HTTP status code is not handled or not allowed 2026-01-27 20:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peppermint-starlight-mints-5-lb-bag-gr>: HTTP status code is not handled or not allowed 2026-01-27 20:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-18-w-aluminum-tilt-roll-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-27 20:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacy-s-pita-chips-parmesan-garlic-herb-1-5-oz-24-count-gr>: HTTP status code is not handled or not allowed 2026-01-27 20:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-deep-mobile-pedestal-box-file-with-arch-pull-handles-black>: HTTP status code is not handled or not allowed 2026-01-27 20:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-16-w-stainless-steel-fold-store-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-27 20:29:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/impact_wrenches_drivers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wd2e2a14-2-hp-3-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dw6hd-1bz-smart-wi-fi-universal-dimmer>: HTTP status code is not handled or not allowed 2026-01-27 20:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deck-mount-swing-activated-faucet-eyewash-unit-tempered-faucet-right-hand>: HTTP status code is not handled or not allowed 2026-01-27 20:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-anti-fatigue-mat-7-8-thick-24x33-black>: HTTP status code is not handled or not allowed 2026-01-27 20:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-872-3-4-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zcm1000pkit-1-serrated-rollers-parts-kit-for-zcm1000-dispensers>: HTTP status code is not handled or not allowed 2026-01-27 20:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u13t2bcr-0-33-hp-3-phase-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13141 pages (at 97 pages/min), scraped 5929 items (at 22 items/min) 2026-01-27 20:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shld0403dg-light-duty-orbital-shaker-digital-120v>: HTTP status code is not handled or not allowed 2026-01-27 20:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-h1v3bc-1-hp-3-phase-1155-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/so-sides-ada-fountain-stainless-steel-vr-bubbler-wall-hung>: HTTP status code is not handled or not allowed 2026-01-27 20:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-double-panel-impact-traffic-door-6-w-x-8-h>: HTTP status code is not handled or not allowed 2026-01-27 20:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preventionist-deluxe-six-in-one-infection-control-kiosk-cherry-pv-601-ch>: HTTP status code is not handled or not allowed 2026-01-27 20:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/impact_wrenches_drivers>: HTTP status code is not handled or not allowed 2026-01-27 20:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-7000028857-polyester-film-tape-850-red-2x72-19-mil-24-rolls-per-case>: HTTP status code is not handled or not allowed 2026-01-27 20:29:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-t34cm2j-3-4-hp-1-phase-1725-rpm landed on page that is not a product page. 2026-01-27 20:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-36-wx24-dx87-h-closed-5-shelf-8-drawer-everest-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-72-vinyl-shower-curtain-blue-taffeta-embossed-6-gauge-12-per-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-electrostatic-backpack-sprayer-4-2-gal-with-lithium-battery-and-charger>: HTTP status code is not handled or not allowed 2026-01-27 20:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d32cm2j14-1-1-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-led-wall-pack-5000k-120-277v-2900-lumens-dark-bronze-finish>: HTTP status code is not handled or not allowed 2026-01-27 20:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sound-control-hpe-cap-mounted-ear-muff-10190358>: HTTP status code is not handled or not allowed 2026-01-27 20:30:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-u7e3h-7-5-hp-3-phase-1185-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn87-20-1-h-254-6tc-cast-iron-helical-bevel-speed-reducer-254-6tc-input-flange-20-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-27 20:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u34s2gcr-0-75-hp-3-phase-1740-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ee733b-2-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-ee516-1-hp-3-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ejm104b-1-hp-1-phase-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn67-110-1-h-56c-cast-iron-helical-bevel-speed-reducer-56c-input-flange-110-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-27 20:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-sph30fl2s-3-1-3-hp-1-phase-3450-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d10p1d-10-hp-3-phase-3505-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ezbn23-1-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-digital-setback-thermostat-for-glass-series-infrared-patio-heaters>: HTTP status code is not handled or not allowed 2026-01-27 20:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u20e2h-20-hp-3-phase-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-u7e3h-7-5-hp-3-phase-1185-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steady-burn-light-24vdc-green-lp2-024g>: HTTP status code is not handled or not allowed 2026-01-27 20:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-yc2p2b-2-hp-3-phase-1745-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:30:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-ee516-1-hp-3-phase-3450-rpm landed on page that is not a product page. 2026-01-27 20:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-x3p3b-3-hp-3-phase-1175-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-galvanized-steel-blower-wheel-5-45-64-diameter-5-16-bore>: HTTP status code is not handled or not allowed 2026-01-27 20:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-plastic-stanchion-3-inch-links-c-hooks-3-inch-pole-16-inch-base-41-inch-h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d32p2d-1-5-hp-3-phase-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-kit-camshelving-18x54-vented-shelves-3>: HTTP status code is not handled or not allowed 2026-01-27 20:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-5470-3-4-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-stationary-starter-4-vented-shelves-24x48x64>: HTTP status code is not handled or not allowed 2026-01-27 20:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252726-lipstick-holder>: HTTP status code is not handled or not allowed 2026-01-27 20:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/107607-double-clip-on-sign-holder-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves>: HTTP status code is not handled or not allowed 2026-01-27 20:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-stationary-starter-5-vented-shelves-24x36x72>: HTTP status code is not handled or not allowed 2026-01-27 20:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rod-2-1-2-30-degree-bend>: HTTP status code is not handled or not allowed 2026-01-27 20:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-hooks-10-hanging-bins>: HTTP status code is not handled or not allowed 2026-01-27 20:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rod-8-30-degree-bend-2>: HTTP status code is not handled or not allowed 2026-01-27 20:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-3787-1-2-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coldfest-food-pan-cover-1-2-size-flat-polycarbonate-clear-nsf>: HTTP status code is not handled or not allowed 2026-01-27 20:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan37-50-1-h-56c-cast-iron-helical-bevel-speed-reducer-56c-input-flange-50-1>: HTTP status code is not handled or not allowed 2026-01-27 20:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-storage-container-18x26x3-1-2-5-gallon-capacity-natural-white>: HTTP status code is not handled or not allowed 2026-01-27 20:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-stem-so-tread-caster-with-brake-50mm-dia-3-8-16-x-3-4-stem-black>: HTTP status code is not handled or not allowed 2026-01-27 20:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-lid-for-fine-ground-shaker-dredge-green>: HTTP status code is not handled or not allowed 2026-01-27 20:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-bike-rack-black-2-bikes-flange-mount-1>: HTTP status code is not handled or not allowed 2026-01-27 20:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-maple-top-with-open-leg>: HTTP status code is not handled or not allowed 2026-01-27 20:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-desk-riser>: HTTP status code is not handled or not allowed 2026-01-27 20:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-drawer-steel-flat-file-30-x-42-documents-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/see-thru-3-magazine-6-pamphlet-display>: HTTP status code is not handled or not allowed 2026-01-27 20:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-plan-center>: HTTP status code is not handled or not allowed 2026-01-27 20:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camcart-heated-food-pan-carrier-heated-top-door-only-front-loading-110v-black>: HTTP status code is not handled or not allowed 2026-01-27 20:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-core-cable-with-drum-assembly-1-2-x-75-for-670439-670440>: HTTP status code is not handled or not allowed 2026-01-27 20:30:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-high-base-steel-flat-files-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-single-tier-1-wide-12-x-15-x-72-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locker-base-12-x-15-black>: HTTP status code is not handled or not allowed 2026-01-27 20:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-drop-extender-full-size-25-comp-19-5-8x19-5-8x2-adds-1-5-8-to-rack-height-soft-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-degree-angle-label-holder-shelf-bins-price-per-pkg-of-24>: HTTP status code is not handled or not allowed 2026-01-27 20:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-single-tier-1-wide-12-x-12-x-60-beige>: HTTP status code is not handled or not allowed 2026-01-27 20:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-ss-non-nsf-one-bowl-sink-48-x-21>: HTTP status code is not handled or not allowed 2026-01-27 20:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-double-cans-bottles-waste-30-gallon-silver-grey-28-3-5-15-32-5-8>: HTTP status code is not handled or not allowed 2026-01-27 20:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-waste-32-gallon-grey>: HTTP status code is not handled or not allowed 2026-01-27 20:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cherry-counter-blue-panel-l-shaped-reception-station-2>: HTTP status code is not handled or not allowed 2026-01-27 20:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-corner-guard-4-x-4-case-of-20>: HTTP status code is not handled or not allowed 2026-01-27 20:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camtainer-beverage-carrier-insulated-plastic-10-1-2-gallon-capacity-coffee-beige>: HTTP status code is not handled or not allowed 2026-01-27 20:30:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels landed on page that is not a product page. 2026-01-27 20:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13235 pages (at 94 pages/min), scraped 5955 items (at 26 items/min) 2026-01-27 20:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-stainless-steel-12mm-tube-x-10mm-tube>: HTTP status code is not handled or not allowed 2026-01-27 20:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-mobile-shelf-plate-kit-18-w-x-60-l-solid-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-27 20:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingredient-bin-mobile-425-gallon-capacity-white>: HTTP status code is not handled or not allowed 2026-01-27 20:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-tee-composite-12mm-tube-x-10mm-tube-x-12mm-tube>: HTTP status code is not handled or not allowed 2026-01-27 20:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunnage-rack-solid-top-dark-brown-21x30>: HTTP status code is not handled or not allowed 2026-01-27 20:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-shelf-plate-kit-24-w-x-36-l-solid-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-27 20:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gojo-tfx-foam-soap-1200ml-refill-case-of-2>: HTTP status code is not handled or not allowed 2026-01-27 20:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-4mm-metal>: HTTP status code is not handled or not allowed 2026-01-27 20:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-fits-250-lcd-and-500-lcd-16-1-2-d-x-9-w-x-4-1-2-h-coffee-beige-nsf>: HTTP status code is not handled or not allowed 2026-01-27 20:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-3-8-male-stud-x-1-4-tube>: HTTP status code is not handled or not allowed 2026-01-27 20:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-forced-horizontal-discharge-unit-heater-5kw-208v-1ph>: HTTP status code is not handled or not allowed 2026-01-27 20:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-female-12mm-tube-x-1-2-bspp>: HTTP status code is not handled or not allowed 2026-01-27 20:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-female-metal-release-collet-10mm-tube-x-1-4-bspp>: HTTP status code is not handled or not allowed 2026-01-27 20:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-flat-top-stainless-steel-undershelf-workbench-96-w-x-42-d>: HTTP status code is not handled or not allowed 2026-01-27 20:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extended-swivel-elbow-4mm-tube-x-m5-male-bspp>: HTTP status code is not handled or not allowed 2026-01-27 20:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrel-jaw-coupling-insert-style-l075>: HTTP status code is not handled or not allowed 2026-01-27 20:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l100-30mm-bore-diameter-8mm-x-3-3mm-keyway>: HTTP status code is not handled or not allowed 2026-01-27 20:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-6mm-stud-x-4mm-tube-metal>: HTTP status code is not handled or not allowed 2026-01-27 20:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-metal-release-collet-14mm-tube>: HTTP status code is not handled or not allowed 2026-01-27 20:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-magnifier-w-illumination-and-2-5x-magnification>: HTTP status code is not handled or not allowed 2026-01-27 20:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indicator-centering-holder>: HTTP status code is not handled or not allowed 2026-01-27 20:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pb-pro-model-insulated-ibc-tank-heater-for-275-gallon-tote-tank-145-degrees>: HTTP status code is not handled or not allowed 2026-01-27 20:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-direct-mount-w-interlock-led-16-inch-l-x-8-inch-w>: HTTP status code is not handled or not allowed 2026-01-27 20:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hose-for-battery-powered-portable-ac-coil-cleaner-604147>: HTTP status code is not handled or not allowed 2026-01-27 20:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ply-anti-microbial-looped-end-mop-w-green-band-medium-red-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 20:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-automatic-strap-cutter>: HTTP status code is not handled or not allowed 2026-01-27 20:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-heavy-duty-kit-for-3-4-inch-woven-polyester-strap>: HTTP status code is not handled or not allowed 2026-01-27 20:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-bi-support-stand-w-premium-manual-cutter-36-inch-l>: HTTP status code is not handled or not allowed 2026-01-27 20:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-premium-manual-cutter-12-inch-l>: HTTP status code is not handled or not allowed 2026-01-27 20:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pigeon-trap-40l-x-22w-x-13h>: HTTP status code is not handled or not allowed 2026-01-27 20:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-916-dia-x-50l>: HTTP status code is not handled or not allowed 2026-01-27 20:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-vinyl-bumper-truck-2-rigid-2-swivel-casters-18-bushel-capacity-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-poly-bumper-truck-12-bushel-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:31:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks/vinyl_basket_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lg-adjustable-sheet-panel-truck-3600-lb-capacity-72-inch-l-x-30-inch-w>: HTTP status code is not handled or not allowed 2026-01-27 20:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquasense-single-hole-gooseneck-sensor-faucet-with-0-5-gpm-aerator-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orlando-silver-lines-slab-door-wood-36w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:31:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cape-coral-night-lines-slab-door-wood-36w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-27 20:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocala-gold-lines-slab-door-wood-28w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-27 20:31:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/european-lockset-w-keyed-mechanism-key-key-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-west-night-lines-slab-door-wood-24w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-27 20:31:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocala-night-lines-slab-door-wood-32w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-27 20:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks/vinyl_basket_trucks>: HTTP status code is not handled or not allowed 2026-01-27 20:31:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-type-casing-extra-deep-white-enamel>: HTTP status code is not handled or not allowed 2026-01-27 20:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-handle-for-european-lockset-satin>: HTTP status code is not handled or not allowed 2026-01-27 20:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-max-anti-fatigue-mat-58-thick-20l-x-2w-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 20:31:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-25l-x-4w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-27 20:31:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 20:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-25l-x-2w-black>: HTTP status code is not handled or not allowed 2026-01-27 20:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 20:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-20l-x-4w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-27 20:31:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 20:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 20:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/espresso-maker-10-cups-stainless-steel-matte-black>: HTTP status code is not handled or not allowed 2026-01-27 20:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chillshield-mens-insulated-bib-overalls-xl-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors>: HTTP status code is not handled or not allowed 2026-01-27 20:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/placesetter-satin-non-laminated-dinnerware-plate-9-dia-white-500-carton>: HTTP status code is not handled or not allowed 2026-01-27 20:31:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors>: HTTP status code is not handled or not allowed 2026-01-27 20:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soak-proof-foam-plates-tableware-10-1-4-dia-white-pack-of-250s>: HTTP status code is not handled or not allowed 2026-01-27 20:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-impact-plastic-dinnerware-plate-w-3-compartment-10-dia-black-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-27 20:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mind-reader-flume-coffee-condiment-organizer-w-6-compartments-11-1-2-w-x-6-1-2-d-x-15-h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:31:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-27 20:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-caffe-verona-1-lb-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-foam-container-8-7-16-l-x-8-1-8-w-x-3-h-pack-of-150>: HTTP status code is not handled or not allowed 2026-01-27 20:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13321 pages (at 86 pages/min), scraped 5978 items (at 23 items/min) 2026-01-27 20:31:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_baking_pans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chafing-fuel-can-w-stem-wick-methanol-6-hr-burn-1-89-g-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-27 20:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supplycaddy-translucent-cold-drink-cups-12-oz-clear-pack-of-2000>: HTTP status code is not handled or not allowed 2026-01-27 20:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-coffee-cups-8-oz-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 20:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee>: HTTP status code is not handled or not allowed 2026-01-27 20:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/presenta-bowls-pro-square-lids-for-24-to-32-oz-bowls-1-2-h-clear-pack-of-252>: HTTP status code is not handled or not allowed 2026-01-27 20:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caribide-tipped-multi-materials-drill-drive-bit-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 20:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-torque-impact-wrench-bare-tool-24v>: HTTP status code is not handled or not allowed 2026-01-27 20:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-satin-italian-olive-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-eis-60-mm-plan-pli-20x040-objective-working-distance-12-mm>: HTTP status code is not handled or not allowed 2026-01-27 20:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skye-h13-hepa-carbon-pro-cell-filter-10w-x-10d-x-13-12h-9997-efficient>: HTTP status code is not handled or not allowed 2026-01-27 20:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blood-bank-refrigerator-w-chart-recorder-23-cuft-cap-glass-door>: HTTP status code is not handled or not allowed 2026-01-27 20:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ductless-mini-split-air-conditioner-w-heat-pump-12000-btu-1-ton-115v-25ft-lineset>: HTTP status code is not handled or not allowed 2026-01-27 20:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_baking_pans>: HTTP status code is not handled or not allowed 2026-01-27 20:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ductless-mini-split-air-conditioner-w-heat-pump-wifi-enabled-36000-btu-3-ton-12ft-lineset>: HTTP status code is not handled or not allowed 2026-01-27 20:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-windbreaker-water-resistant-jacket-type-r-class-3-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-27 20:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accu-therm-reusable-hot-cold-gel-pack-12l-x-10w-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 20:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microban-treated-elevated-locking-toilet-seat-wo-arms-5h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/noninsulated-pitcher-w-handle-lid-plastic-32-oz-100-per-pack10-packs-per-case>: HTTP status code is not handled or not allowed 2026-01-27 20:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbon-fiber-rollator-w-regular-seat-16-12w-x-24h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pediatric-non-folding-walker>: HTTP status code is not handled or not allowed 2026-01-27 20:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-or-towel-sterile-27l-x-17w-2-per-pack40-packs-per-case>: HTTP status code is not handled or not allowed 2026-01-27 20:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comprecares-reusable-compression-garment-kit-large-tall-black>: HTTP status code is not handled or not allowed 2026-01-27 20:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-20-30-mmhg-knee-high-small-size-a-regular-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lorna-nonperforating-towel-forceps-stainless-steel-3-1516l>: HTTP status code is not handled or not allowed 2026-01-27 20:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/povidone-iodine-scrub-solution-1-pint-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-27 20:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-30-40-mmhg-knee-high-xx-large-size-e-regular-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disinfecting-wipes-bucket-lemon--lime-blossom-800-wipesbucket-2-bucketscarton>: HTTP status code is not handled or not allowed 2026-01-27 20:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pharmacy-upright-refrigerator-12-cu-ft-capacity-solid-door>: HTTP status code is not handled or not allowed 2026-01-27 20:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-creeper-w-adj-headrest-and-20w-bed-parts-tray-and-light-500-lb-cap-black>: HTTP status code is not handled or not allowed 2026-01-27 20:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-pressure-balance-shower-cartridge-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-27 20:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavatory-faucet-w-pop-up-single-lever-12-gpm-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-balance-cartridge-for-moen-posi-temp-shower-valves-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/terra-28b-sweeper-28-516-cleaning-width>: HTTP status code is not handled or not allowed 2026-01-27 20:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-rack-for-foam-rollers-36l-x-10w-x-40h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proelite-stability-ball-21-58-dia-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-l-shaped-desk-w-3-drawers-cabinet-71w-x-71-5-16d-x-29-15-16h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-coventry-chaise-lounge-w-arms-41-1-2w-x-62-3-16d-x-35-3-4h-beige>: HTTP status code is not handled or not allowed 2026-01-27 20:32:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-coventry-sofa-85-1-16w-x-33-7-16d-x-35-3-4h-beige>: HTTP status code is not handled or not allowed 2026-01-27 20:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-2-drawer-mobile-cabinet-15-11-16w-x-20-3-16d-x-27-13-16h-storm-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-3-door-digital-wood-locker-36-w-x-15-d-x-72-h-cherry-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 20:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-2-door-wood-locker-12-w-x-15-d-x-72-h-cherry-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 20:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bestflex-bfp15-30-024-30-ul-transportation-reversing-conveyor-24-expandable-length>: HTTP status code is not handled or not allowed 2026-01-27 20:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-fixed-shelves-assembled-36w-x-24d-x-78h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-27 20:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-drawer--shelves-assembled-30w-x-18d-x-72h-signal-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartcompliance-medium-popular-refill-kit-for-food-service-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 20:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-hype-lite-heavy-duty-vest-lgxl-purple>: HTTP status code is not handled or not allowed 2026-01-27 20:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals>: HTTP status code is not handled or not allowed 2026-01-27 20:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lineset-for-diy-24k--36k-indoor-16l>: HTTP status code is not handled or not allowed 2026-01-27 20:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-bar--pipe-truck-5000-lb-capacity-36l-x-84w-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-hi-2-reflective-strips-4-pockets-lime-size-2xl>: HTTP status code is not handled or not allowed 2026-01-27 20:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8377ev-winter-bomber-jacket-enhanced-visibility-xl-black>: HTTP status code is not handled or not allowed 2026-01-27 20:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8935-hi-vis-ranger-sun-hat-2xl3xl-lime>: HTTP status code is not handled or not allowed 2026-01-27 20:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3100-standard-lanyard-w-carabiner--cinch-loop-lime-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-651-elbow-compression-sleeve-large-black>: HTTP status code is not handled or not allowed 2026-01-27 20:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7072-cut-resistant-gloves-nitrile-coated-ansi-a4-m-green-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 20:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7024-cut-resistant-gloves-polyurethane-coated-ansi-a2-xl-blue-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 20:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5974-hoist-bucket-tool-bag-w-swivelling-carabiner--zipper-large-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz174-odin-polarized-safety-glasses-smoke-lens-kryptek-typhon-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6695-sun-protection-arm-sleeves-xl2xl-camo-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 20:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-air-impact-wrench-1600-torque-pistol-grip>: HTTP status code is not handled or not allowed 2026-01-27 20:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chipping-hammer-58-hex-shank-2-stroke-2200-bpm>: HTTP status code is not handled or not allowed 2026-01-27 20:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-2-door-digital-locker-12in-w-x-12in-d-x-78in-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:32:49 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 20:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contain-it-kit-standalone-accessory>: HTTP status code is not handled or not allowed 2026-01-27 20:32:50 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:6 2026-01-27 20:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chest-freezer-30176c-10-cu-ft-capacity-white>: HTTP status code is not handled or not allowed 2026-01-27 20:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-stacking-nesting-folding-chair-with-armrests-casters-black>: HTTP status code is not handled or not allowed 2026-01-27 20:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-set-for-yc-450hl>: HTTP status code is not handled or not allowed 2026-01-27 20:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-frm-1120c>: HTTP status code is not handled or not allowed 2026-01-27 20:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-pad-for-fs-658f>: HTTP status code is not handled or not allowed 2026-01-27 20:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13415 pages (at 94 pages/min), scraped 6004 items (at 26 items/min) 2026-01-27 20:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corn-led-corn-bulb-27w-4100-lumens-medium-screw-base-5000k-super-white>: HTTP status code is not handled or not allowed 2026-01-27 20:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tough-coat-adv-spray-paint-w-rust-barrier-technology-20-oz-cap-gloss-black>: HTTP status code is not handled or not allowed 2026-01-27 20:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-w-endcut-bur-single-cut-1-12l-x-18-shank-dia>: HTTP status code is not handled or not allowed 2026-01-27 20:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointed-tree-shaped-bur-aluma-cut-2-12l-x-14-shank-dia-38-cut-dia>: HTTP status code is not handled or not allowed 2026-01-27 20:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-tree-shaped-bur-double-cut-7l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-27 20:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-brushless-drill-driver-bare-tool-12v-38-chuck-size>: HTTP status code is not handled or not allowed 2026-01-27 20:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-decorative-flush-mount-light-fixture-20w-1050-lumens-81-cri-13-size-white>: HTTP status code is not handled or not allowed 2026-01-27 20:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-cylindrical-up-down-wall-sconce-10w-600-lumens-80-cri-12-size-black>: HTTP status code is not handled or not allowed 2026-01-27 20:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plv-led-plug-play-light-bulb-g24q-base-9w-1000-lumens-4000k-cool-white>: HTTP status code is not handled or not allowed 2026-01-27 20:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-for-one-micro-plate>: HTTP status code is not handled or not allowed 2026-01-27 20:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-balance-1200g-capacity-01g-readability-115v>: HTTP status code is not handled or not allowed 2026-01-27 20:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f1-grade-calibration-weight-200g-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-balance-5000g-capacity-01g-readability-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-head-led-work-light-w-tripod-20000-lumens-black>: HTTP status code is not handled or not allowed 2026-01-27 20:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iq-sensor-alarm-8l-x-7w-x-5h>: HTTP status code is not handled or not allowed 2026-01-27 20:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasound-couplet-85-oz-tube>: HTTP status code is not handled or not allowed 2026-01-27 20:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-sealed-blok-self-retracting-lifeline-retrieval-stainless-steel-cable-360l>: HTTP status code is not handled or not allowed 2026-01-27 20:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala174-smart-lock-self-retracting-lifeline-stainless-steel-cable-480l>: HTTP status code is not handled or not allowed 2026-01-27 20:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-add-on-48l-x-28w-x-84h-antique-white>: HTTP status code is not handled or not allowed 2026-01-27 20:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-36l-x-14w-x-48h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ab3-2160v1-single-stage-air-compressor-35-hp-208-230v-single-phase-60-gallon-tank-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-purifier-w-hepa-filter-38w-120v-white>: HTTP status code is not handled or not allowed 2026-01-27 20:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-air-conditioner-12000-btu-1330w-115v-white>: HTTP status code is not handled or not allowed 2026-01-27 20:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-flex-full-body-safety-harness-quick-connect-buckle-leg-strap-sxl>: HTTP status code is not handled or not allowed 2026-01-27 20:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-to-lp-conversion-kit-for-300000--400000-btu-unit-heaters>: HTTP status code is not handled or not allowed 2026-01-27 20:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-vali-afas-frameless-safety-glasses-clear-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-media-globe-glass-gl45-screw-cap-dual-graduations-5000ml>: HTTP status code is not handled or not allowed 2026-01-27 20:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t80-safety-telescopic-ladder-w-9-steps-ladder--one-hand-unlocking-system-330-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-vali-afas-frameless-safety-glasses-indooroutdoor-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-ytx24hl-bs-12v-21ah-350cca-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-oil-essential-and-performance-stack-fire-supppression-kit-37230>: HTTP status code is not handled or not allowed 2026-01-27 20:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/identification-tag-4-inch-x-2-inch-gray-37083>: HTTP status code is not handled or not allowed 2026-01-27 20:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spout-cap-orange-large-34425>: HTTP status code is not handled or not allowed 2026-01-27 20:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-steel-ladder-rack-for-ram-promaster-cargo-van-2013-on-black>: HTTP status code is not handled or not allowed 2026-01-27 20:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-carrier-caps-6-tube-not-included-fits-cross-bars-w-channels-aluminum-6-white>: HTTP status code is not handled or not allowed 2026-01-27 20:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-conveyor-netting-w-debris-liner-1146-lb-capacity-300l-x-72w-black>: HTTP status code is not handled or not allowed 2026-01-27 20:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-steel-ladder-rack-system-for-dodge-ram-van-1981-on-white>: HTTP status code is not handled or not allowed 2026-01-27 20:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-wall-m2-straight-section-86l-x-18w-x-12h>: HTTP status code is not handled or not allowed 2026-01-27 20:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toggle-bolt-anchor-w-swivel-d-ring-11-16-dia-drill-hole-10l>: HTTP status code is not handled or not allowed 2026-01-27 20:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-mega-swivel-anchor>: HTTP status code is not handled or not allowed 2026-01-27 20:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-swivel-anchor>: HTTP status code is not handled or not allowed 2026-01-27 20:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-heavy-duty-sign-frame-black-8-x-11>: HTTP status code is not handled or not allowed 2026-01-27 20:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lr6-led-3-tier-signal-tower-light-no-flashing-w-buzzer-24v-redambergreen>: HTTP status code is not handled or not allowed 2026-01-27 20:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80b20hx1mpb-1-pitch-1-plain-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-neck-scrub-shirt-nonwoven-xl-dark-green-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 20:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patch-seal-spray-14-oz-capacity-clear-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cool-touch-infrared-quartz-heater-w-remote-1500w-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultimate-spray-adhesive-122-oz-capacity-clear-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs12hx42-metric-1-12-pitch-42mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:33:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/exam_patient_room_supplies/patient_wear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20a30-metric-a-plate-1-14-pitch-32mm-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-orange-pumice-hand-cleaner-citrus-0-5-gal-pump-bottle-4-carton>: HTTP status code is not handled or not allowed 2026-01-27 20:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs22x40-metric-1-pitch-40mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-8w-8-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ammonia-d-glass-cleaner-floral-32-oz-spray-bottle>: HTTP status code is not handled or not allowed 2026-01-27 20:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs09hx1-1-pitch-1-finished-bore-9-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:33:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vending-design-powder-laundry-detergent-1-5-oz-156-carton>: HTTP status code is not handled or not allowed 2026-01-27 20:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-free-clear-liquid-detergent-unscented-141-oz-bottle-4-carton>: HTTP status code is not handled or not allowed 2026-01-27 20:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/exam_patient_room_supplies/patient_wear>: HTTP status code is not handled or not allowed 2026-01-27 20:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60a15hx34-a-plate-34-pitch-34-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-skylar-work-zip-bootie-composite-toe-size-10-5w-4-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/staff-for-led-paddle-with-strap-72-black>: HTTP status code is not handled or not allowed 2026-01-27 20:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-7w-6-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs14hx42-metric-1-12-pitch-42mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-blank-out-led-direct-view-banking-signs-open-cosed-18-w-x-7-h-x-2-1-2-d-red-green>: HTTP status code is not handled or not allowed 2026-01-27 20:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40sh26h-qd-bushed-12-pitch-26-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20a25-metric-a-plate-1-14-pitch-32mm-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-tubular-with-pet-upper-bottle-filling-3l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 20:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13510 pages (at 95 pages/min), scraped 6031 items (at 27 items/min) 2026-01-27 20:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-dot-ecg-monitoring-electrodes-0-9-inch-x-0-7-inch-neonatal-limb-band-3-bg-100-bg-cs>: HTTP status code is not handled or not allowed 2026-01-27 20:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medical-foam-tape-single-sided-white-polyethylene-83-liner-8-inch-x-100-yd-50-bg-20-bg-cs>: HTTP status code is not handled or not allowed 2026-01-27 20:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-9m-gray-black>: HTTP status code is not handled or not allowed 2026-01-27 20:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-adhesive-towel-drape-9069-36-inch-x-30-inch-50-each-carton-4-carton-case>: HTTP status code is not handled or not allowed 2026-01-27 20:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-11w-gray-black>: HTTP status code is not handled or not allowed 2026-01-27 20:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-10-5m-gray-black>: HTTP status code is not handled or not allowed 2026-01-27 20:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-internal-met-guard-steel-toe-size-4m-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs27x134-1-pitch-1-34-finished-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20a27-metric-a-plate-1-14-pitch-32mm-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/attest-sterilization-record-envelope-9-1-2-inch-x-11-1-2-inch-100-pk-5-pk-cs>: HTTP status code is not handled or not allowed 2026-01-27 20:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs12hx114-58-pitch-1-14-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-boltless-shelving-36-in-w-x-24-in-d-x-72-in-h-5-shelves-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-square-shape-weigh-boat-45-x-45-mm-20-ml-polystyrene-black-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-8-5m-wintermoss-whitecap-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-women-s-low-cut-sneaker-composite-toe-size-11m-black>: HTTP status code is not handled or not allowed 2026-01-27 20:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-7w-navy-aged-indigo>: HTTP status code is not handled or not allowed 2026-01-27 20:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs36x112-1-pitch-1-12-finished-bore-36-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-propette-le-single-channel-pipette-100-1000ul>: HTTP status code is not handled or not allowed 2026-01-27 20:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 20:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-women-s-low-cut-sneaker-composite-toe-size-7m-black>: HTTP status code is not handled or not allowed 2026-01-27 20:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08a35h-metric-a-plate-12-pitch-15mm-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-fraction-collector-tube-rack-for-1-5-ml-2-ml-tubes-80-place-blue-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50btl20h-taper-bushed-58-pitch-20-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs16hx1716-58-pitch-1-716-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs27hx118-38-pitch-1-18-finished-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs17hx112-58-pitch-1-12-finished-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs17hx138-58-pitch-1-38-finished-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-large-bulb-transfer-pipette-non-sterile-7-ml-250-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-13w-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20a57-metric-a-plate-1-14-pitch-40mm-bore-57-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs30hx1-38-pitch-1-finished-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60btl13h-taper-bushed-34-pitch-13-teeth-13-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 20:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 20:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-6-5w-black>: HTTP status code is not handled or not allowed 2026-01-27 20:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-9-5m-black-red>: HTTP status code is not handled or not allowed 2026-01-27 20:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-6-5w-blue-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs34hx118-38-pitch-1-18-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-steel-toe-size-9w-brown-burnt-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs38x1716-1-pitch-1-716-finished-bore-38-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs18hx78-58-pitch-78-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs13hx178-1-pitch-1-78-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-air-bubble-rolls-24-x-375-x-5-16-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-6-x-5-32-red-2000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-oxford-shoes-steel-toe-size-7-5d-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-657-industrial-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-4-x-5-32-yellow-2000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-5-5m-black-camo-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-12m-dark-gray-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 20:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs17hx134-1-pitch-1-34-finished-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-12-x-5-32-white-2000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-oxford-shoes-steel-toe-7d-black>: HTTP status code is not handled or not allowed 2026-01-27 20:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-6m-black-camo-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-twine-2-ply-315-lb-4200>: HTTP status code is not handled or not allowed 2026-01-27 20:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-beam-trolley-anchor-for-beams-from-3-10-and-up-to-7-8-thick>: HTTP status code is not handled or not allowed 2026-01-27 20:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-14w-dark-gray-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 20:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-5w-silver-army-green-pink>: HTTP status code is not handled or not allowed 2026-01-27 20:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severance-chatter-free-stop-countersink-cutter-82-3-8-1-8-pilot-hole>: HTTP status code is not handled or not allowed 2026-01-27 20:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severance-chatter-free-stop-countersink-cutter-90-7-16-3-32-pilot-hole>: HTTP status code is not handled or not allowed 2026-01-27 20:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severance-hss-6-flute-chatterless-countersink-1-2-diameter-90-degree>: HTTP status code is not handled or not allowed 2026-01-27 20:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs18hx32-metric-58-pitch-32mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-ingredient-bin-148bin-yw-14-5-8-l-x-9-1-4-w-x-23-1-4-h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-pencil-sharpener-3-8-metallic-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3317-nanoflex-tr-athletic-work-shoes-composite-toe-size-16m-black>: HTTP status code is not handled or not allowed 2026-01-27 20:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-10-5m-silver-army-green-pink>: HTTP status code is not handled or not allowed 2026-01-27 20:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-2081-9272-alarm-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40ja19h-qd-bushed-12-pitch-19-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13605 pages (at 95 pages/min), scraped 6059 items (at 28 items/min) 2026-01-27 20:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25b22hx14mpb-14-pitch-14-plain-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs18hx1316-1-pitch-1-316-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08a19h-metric-a-plate-12-pitch-10mm-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:34:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-11w-gray-black>: HTTP status code is not handled or not allowed 2026-01-27 20:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-9-5m-silver-gray-clay-black>: HTTP status code is not handled or not allowed 2026-01-27 20:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-8-5w-gray-black>: HTTP status code is not handled or not allowed 2026-01-27 20:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-10w-gray-black>: HTTP status code is not handled or not allowed 2026-01-27 20:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs23x1-1-pitch-1-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs13hx35-metric-1-14-pitch-35mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs16hx118-12-pitch-1-18-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-smp3pmp16cb-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs12hx34-12-pitch-34-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-15w-black-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:35:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 20:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35b19hx12mpb-38-pitch-12-plain-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-3m-triple-black>: HTTP status code is not handled or not allowed 2026-01-27 20:35:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35a22hx12-a-plate-38-pitch-12-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-9-5w-black>: HTTP status code is not handled or not allowed 2026-01-27 20:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-reflective-strap-with-strap-lock-buckle-100l-x-2w-set-of-2>: HTTP status code is not handled or not allowed 2026-01-27 20:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs10hx58-58-pitch-58-finished-bore-10-teeth>: HTTP status code is not handled or not allowed 2026-01-27 20:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-11m-black>: HTTP status code is not handled or not allowed 2026-01-27 20:35:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-softshell-jacket-black-20f-comfort-rating-s>: HTTP status code is not handled or not allowed 2026-01-27 20:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-14m-black>: HTTP status code is not handled or not allowed 2026-01-27 20:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-skate-inspired-work-shoes-composite-toe-size-12m-black-tower-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-wdryer-230v-115-psi-28-cfm-75hp-3ph>: HTTP status code is not handled or not allowed 2026-01-27 20:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/best-r-16-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 20:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mule-gc-686-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-13w-olive-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-tapered-roller-bearing-e30213j-65mm-bore-120mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers>: HTTP status code is not handled or not allowed 2026-01-27 20:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-9w-olive-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drum-spillpallet-5400-bd-eco-solutions-2000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:35:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-mrbc-l-bl-steel-drawers-23w-x-14d-x-5h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerstar-ps20-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lu212-food-grade-silicone-lubricant>: HTTP status code is not handled or not allowed 2026-01-27 20:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-15m-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daystart-slip-on-work-shoes-steel-toe-size-11-5w-black>: HTTP status code is not handled or not allowed 2026-01-27 20:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-caps-for-2-channel-eg2125-36-cable-guard-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:35:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chamberlain-garage-door-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfortie-casual-work-shoes-steel-toe-size-5m-black-white>: HTTP status code is not handled or not allowed 2026-01-27 20:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht40-12-364t-gp-tefc-rigid-3-ph-364t-491-fla>: HTTP status code is not handled or not allowed 2026-01-27 20:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daystart-slip-on-work-shoes-steel-toe-size-5-5w-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-sportsman-450-ho-eps-atv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-xtax12-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:35:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers landed on page that is not a product page. 2026-01-27 20:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bravo-b3-electric-scooter-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb4500-work-high-top-work-sneaker-composite-toe-size-10-5m-black-holographic-spectrum>: HTTP status code is not handled or not allowed 2026-01-27 20:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/variable-speed-dc-motor-control-wdccontrev-120-vac-1-8-10-hp>: HTTP status code is not handled or not allowed 2026-01-27 20:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prismacolor-col-erase-pencils-tuscan-red-terracotta-blue-carmine-red-lead-12-set>: HTTP status code is not handled or not allowed 2026-01-27 20:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors>: HTTP status code is not handled or not allowed 2026-01-27 20:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-view-safety-camera-sys-one-inch-replac-mirror-display-rvs-770619n>: HTTP status code is not handled or not allowed 2026-01-27 20:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chs-1-mens-restroom-sign-bl>: HTTP status code is not handled or not allowed 2026-01-27 20:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/908x34629-kick-plate-364x34x8-polished-ss>: HTTP status code is not handled or not allowed 2026-01-27 20:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1159630-offset-door-pull-19x1x312-18ctc-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-gsx-600-594cc-snowmobile-replacement-battery-2008-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dv-180605-door-viewer-180-916installation-hole-polish-brass>: HTTP status code is not handled or not allowed 2026-01-27 20:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-ranger-570-4-crew-570cc-utv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-wire-security-partition-panel-4w-x-4h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-tnt-500ss-553cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-steel-toe-guards-leather-cuff-quick-fastener-web-strap-4w-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 20:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-formula-stx-ii-580cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 20:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-fan-553cc-snowmobile-replacement-battery-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hs-9070-01-mens-handicap-ada-sign-6-x-9-blue-with-raised-white-lettering>: HTTP status code is not handled or not allowed 2026-01-27 20:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-insulated-metal-access-panel-36l-x-48w>: HTTP status code is not handled or not allowed 2026-01-27 20:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-backups-es-350g-be350g-ups-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25ft-high-speed-hdmi-cable-digital-video-w-audio-m-m-25>: HTTP status code is not handled or not allowed 2026-01-27 20:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13699 pages (at 94 pages/min), scraped 6086 items (at 27 items/min) 2026-01-27 20:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arjo-century-alpine-600-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenline-646-hand-truck-w-dual-pin-handle-solid-rubber-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-metal-access-panel-key-lock-12l-x-12w>: HTTP status code is not handled or not allowed 2026-01-27 20:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-technacell-tc1245-12v-4-5ah-emergency-light-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-w-dryer-200v-115psi-38cfm-10hp-3ph-120-gal-tank>: HTTP status code is not handled or not allowed 2026-01-27 20:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-commercial-grade-60a-rubber-sheet-1-8-thick-x-6-x-6-length-black-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built153-3-tier-9-doors-locker-36w-x-12d-x-78h-light-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/products-350wsb-unassembled-direct-drive-cement-mixer>: HTTP status code is not handled or not allowed 2026-01-27 20:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-commercial-grade-60a-rubber-sheet-1-4-thick-x-3-x-10-length-black>: HTTP status code is not handled or not allowed 2026-01-27 20:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-2-tier-2-doors-locker-18w-x-21d-x-78h-tan-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-blade-for-sugoi-360mm>: HTTP status code is not handled or not allowed 2026-01-27 20:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-nonslip-coating-durable-antislip-paint-1-gal-orange-75-or-gl>: HTTP status code is not handled or not allowed 2026-01-27 20:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scheduled-maintenance-kit-for-liquid-cooled-24l-engine-generator>: HTTP status code is not handled or not allowed 2026-01-27 20:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ce7002-air-compressor-125hp-30-gal-kohler-gasoline-engine>: HTTP status code is not handled or not allowed 2026-01-27 20:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built-ii153-3-tier-3-doors-locker-12w-x-12d-x-82h-black-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built-ii153-3-tier-9-doors-locker-36w-x-18d-x-84h-black-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-cp12180d-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/denios-n-series-9-10w-x-5-10d-x-8-2h-non-combustible-outdoor-storage-building-for-6-drums>: HTTP status code is not handled or not allowed 2026-01-27 20:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-2-tier-6-doors-locker-54w-x-24d-x-78h-dark-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 20:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-post-safety-barrier-15-ft-yellow-black-diagonal-striped-belt-w-roller-base>: HTTP status code is not handled or not allowed 2026-01-27 20:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mk-es26-12fr-hr-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-20819296-industrial-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:36:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vent-cap-female-thread-1-1>: HTTP status code is not handled or not allowed 2026-01-27 20:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-waterfall-deck-shelving-5-shelves-72w-x-24d-x-96h-midnight-ebony>: HTTP status code is not handled or not allowed 2026-01-27 20:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-wheelchair-dual-ramp-scale-1000lb-capacity-emr-connectivity>: HTTP status code is not handled or not allowed 2026-01-27 20:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-hr40-12s-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-hrl40-12-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-530b-industrial-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm75-201-145tc-aluminum-worm-gear-reducer-75mm-201-145tc-nema-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-roll-bin-3863jc>: HTTP status code is not handled or not allowed 2026-01-27 20:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/script-n-skills-station-mini>: HTTP status code is not handled or not allowed 2026-01-27 20:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-cruiser-box-7717jc>: HTTP status code is not handled or not allowed 2026-01-27 20:36:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_liquid_level_alarms_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-stand-alone-shelving-6-adj-shelves-48w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-metal-shelving-8-shelves-800-lb-cap-36w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions>: HTTP status code is not handled or not allowed 2026-01-27 20:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-shelving-6-shelves-starter-unit-36w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-in-x-8-in-aluminum-door-louver>: HTTP status code is not handled or not allowed 2026-01-27 20:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-ap1050-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-d35c-hd-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-pf90-b0612-6-x-12-premier-privacy-fence-screen-90-blockage>: HTTP status code is not handled or not allowed 2026-01-27 20:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-stand-alone-shelving-5-shelves-750-lb-cap-48w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_liquid_level_alarms_gauges>: HTTP status code is not handled or not allowed 2026-01-27 20:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-shelving-6-shelves-starter-unit-350-lb-cap-48w-x-24d-x-87h-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-sonic-ps-12180-nb-ps12180-12v-18ah-emergency-light>: HTTP status code is not handled or not allowed 2026-01-27 20:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/president-pe0608-sealed-lead-acid-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-inch-dia-hss-half-round-jobber-drill>: HTTP status code is not handled or not allowed 2026-01-27 20:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-32-inch-jobbers-length-drill-blank>: HTTP status code is not handled or not allowed 2026-01-27 20:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boardwalk-bellmans-luggage-cart-w-black-carpet-8-wheels-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 20:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gallagher-solar-fence-industrial-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29418ex-spherical-roller-thrust-bearing-extra-capacity-steel-cage>: HTTP status code is not handled or not allowed 2026-01-27 20:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29330e-spherical-roller-thrust-bearing-extra-capacity-bronze-cage>: HTTP status code is not handled or not allowed 2026-01-27 20:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-fed-portable-eyewash-station-self-contained-16-gallon-capacity-12-pallets>: HTTP status code is not handled or not allowed 2026-01-27 20:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnh2-3048-6mr-with-lower-shelf-30-x-48-fixed-height>: HTTP status code is not handled or not allowed 2026-01-27 20:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/access-axs5020-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labclean-cleanroom-wipes-10037-polyester-9l-x-9w-pack-of-150>: HTTP status code is not handled or not allowed 2026-01-27 20:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ld3000-high-speed-electric-2-1-4w-x-3l-label-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 20:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enersys-npx-35t-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-2-in-galvanized-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-27 20:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-black-malleable-street-90-degree-elbow-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-27 20:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-rack-24-places-yellow-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-27 20:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-3-1-2-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-27 20:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-alarm-systems-832-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-pro153-led-round-highbay-18000-lumens-120v-277v-4000k-white>: HTTP status code is not handled or not allowed 2026-01-27 20:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyberpower-cp825avrlcd-12v-9ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavalle-ide-hss-straight-chucking-reamer-set-29-pc-fractional-1-16-to-1-2>: HTTP status code is not handled or not allowed 2026-01-27 20:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-knee-elbow-bandages-adhesive-breathable-latex-free-4l-x-188w-8-pk-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-aneroid-sphygmomanometer-latex-free-black>: HTTP status code is not handled or not allowed 2026-01-27 20:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13794 pages (at 95 pages/min), scraped 6114 items (at 28 items/min) 2026-01-27 20:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paris-medical-security-paper-tamper-resistant-standard-11l-x-850w-500-pk-bl>: HTTP status code is not handled or not allowed 2026-01-27 20:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-sla-17-12-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifuge-tube-box-for-15ml-tubes-pp-36-places-blue-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 20:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condensate-removal-pump-vcma20ulst-automatic-230v-80-gph-at-1-20-lift>: HTTP status code is not handled or not allowed 2026-01-27 20:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sola-s46000-240-12v-7ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condensate-removal-pump-vcl14uls-automatic-115v-200-gph-at-1>: HTTP status code is not handled or not allowed 2026-01-27 20:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glacier-basic-acoustical-panels-shadowline-edge-24l-x-24w-white>: HTTP status code is not handled or not allowed 2026-01-27 20:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-pioneer-2-sp24-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-wide-mouth-hdpe-1000ml-capacity-clear-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 20:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-narrow-mouth-pp-1000ml-capacity-clear-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-wide-mouth-pp-125ml-capacity-clear-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 20:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drench-shower-ring-main-mount-galvanized-pipe-nylon-6-showerhead-20-gpm>: HTTP status code is not handled or not allowed 2026-01-27 20:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-straight-leg-slotted-shim-20-a-001>: HTTP status code is not handled or not allowed 2026-01-27 20:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63092rs-p53-deep-groove-ball-bearing-double-sealed-abec-5-45mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drench-shower-floor-mount-galvanized-steel-pipe-nylon-6-showerhead-20-gpm>: HTTP status code is not handled or not allowed 2026-01-27 20:37:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_pumps/well_water_pumps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-straight-leg-slotted-shim-130-tool-crib-kit-box-c>: HTTP status code is not handled or not allowed 2026-01-27 20:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-rehab-p210-wheelchair-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-tank-shower-w-eye-face-wash-floor-mount-317-gallon-capacity-110v-gp>: HTTP status code is not handled or not allowed 2026-01-27 20:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60000-lbs-capacity-tow-strap-6-inch-x-30-ft-looped-ends>: HTTP status code is not handled or not allowed 2026-01-27 20:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6209zznr-deep-groove-ball-bearing-double-shielded-snap-ring-45mm-bore-85mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-shower-self-draining-floor-mount-open-ss-bowl-stainless-steel-pipe>: HTTP status code is not handled or not allowed 2026-01-27 20:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calibration-weight-oiml-class-f1-no-certificate-stainless-steel-5kg>: HTTP status code is not handled or not allowed 2026-01-27 20:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/630082rs-deep-groove-ball-bearing-wide-width-double-sealed-40mm-bore-68mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wooden-test-tube-rack-13-places-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/623082rs-deep-groove-ball-bearing-wide-width-double-sealed-40mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_pumps/well_water_pumps>: HTTP status code is not handled or not allowed 2026-01-27 20:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60182rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-90mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fortress-760n-gp24-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30206-tapered-roller-bearing-metric-30mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6306zz-p53-deep-groove-ball-bearing-double-shielded-abec-5-30mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-30906-1200rpm-3-phase-60hz-230460v-6pole>: HTTP status code is not handled or not allowed 2026-01-27 20:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60172rs-deep-groove-ball-bearing-double-sealed-85mm-bore-130mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exhaust-flange-condenser-for-global-industrial-1-2-ton-portable-outdoor-ac-604151>: HTTP status code is not handled or not allowed 2026-01-27 20:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-68404-1800rpm-3-phase-60hz-230460v-4pole>: HTTP status code is not handled or not allowed 2026-01-27 20:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-3-door-digital-wood-locker-36-w-x-15-d-x-72-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63062rs-p53-deep-groove-ball-bearing-double-sealed-abec-5-30mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-0021-36-460-3600rpm-3-phase-60hz-460v-2pole>: HTTP status code is not handled or not allowed 2026-01-27 20:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6207zznr-deep-groove-ball-bearing-double-shielded-snap-ring-35mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6306-deep-groove-ball-bearing-open-30mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-cart-black-epoxy-24l-x-24w-x-40h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ihc-cub-garden-602-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-54l-x-24w-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-30l-x-18w-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-72l-x-14w-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ticonderoga-woodcase-hb-2-pencil-with-latexfree-eraser-96pack>: HTTP status code is not handled or not allowed 2026-01-27 20:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62062rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-30mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hiliter-desk-style-highlighter-chisel-tip-fluorescent-blue-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:37:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homelite-ut13126-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gilson-16eh-yard-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-round-stic-grip-ballpoint-stick-pen-medium-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexgrip-elite-pink-ribbon-stick-pen-refillable-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440197618-cloth-belt-341d-1-1-2w-x-60l-40-grit>: HTTP status code is not handled or not allowed 2026-01-27 20:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/velocity-ballpoint-pen-medium-blue-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champ-mechanical-pencil-refillable-05mm-black-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twist-eraser-iii-automatic-pencil-05mm-black>: HTTP status code is not handled or not allowed 2026-01-27 20:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 20:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-60l-x-14w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eraser-refill-for-pentel-pencil-5tube-white>: HTTP status code is not handled or not allowed 2026-01-27 20:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440200511-341d-3-4dia-x-1-2w-p320-grit-100-case>: HTTP status code is not handled or not allowed 2026-01-27 20:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3gb5i-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3gw5i-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marksalot-permanent-marker-large-chisel-tip-assorted-inks-12set>: HTTP status code is not handled or not allowed 2026-01-27 20:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-px12420-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-ilsm36-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precise-v5-rt-rolling-ball-retractable-pen-extra-fine-05mm-purple-barrelink>: HTTP status code is not handled or not allowed 2026-01-27 20:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-medical-lab-cart-51351-6-drawers-white>: HTTP status code is not handled or not allowed 2026-01-27 20:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersol-5320v-lawn-and-garden-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-25-series-1-1516-x-3-1516-twelve-t-slotted-extrusion-profile-238-316l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-27 20:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60070002385-461x-8-1-2w-x-11l-m15-grit>: HTTP status code is not handled or not allowed 2026-01-27 20:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-40-series-1-916-x-1-916-lite-bi-t-slotted-extrusion-profile-118-18l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-27 20:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energel-retractable-pen-needle-fine-tip-05mm-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9682121-bench-grinder-wpedestal-floor-stand-12-wheel-dia-2hp-220v>: HTTP status code is not handled or not allowed 2026-01-27 20:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultraflex-iii-knee-pad-gray-one-size>: HTTP status code is not handled or not allowed 2026-01-27 20:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8584-210-tool-post-grinder-series-57-34hp>: HTTP status code is not handled or not allowed 2026-01-27 20:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-lsm272-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13886 pages (at 92 pages/min), scraped 6131 items (at 17 items/min) 2026-01-27 20:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-titan-mx4800-lawn-and-garden-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jimnie-gel-rollerball-pen-medium-07mm-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:37:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zgrip-max-retractable-pen-10mm-silver-barrel-blue-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f301-ballpoint-retractable-pen-refillable-07mm-blue-ink-2pack>: HTTP status code is not handled or not allowed 2026-01-27 20:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/better-retractable-ballpoint-pen-refillable-nonslip-grip-fine-blue-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-s636-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iq-square-auxiliary-led-flood-beam-light-with-6-led-3-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/varsity-disposable-fountain-pen-fine-05mm-black-ink-1-each>: HTTP status code is not handled or not allowed 2026-01-27 20:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enviroalert-professional174-wireless-humidity-sensor-12vdc>: HTTP status code is not handled or not allowed 2026-01-27 20:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elsar-2342-emergency-light-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-27 20:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-2200-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-hipolymer-lead-refill-hb-leads-07mm-black-12tube>: HTTP status code is not handled or not allowed 2026-01-27 20:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-single-acting-cylinder-h1002-225-stroke>: HTTP status code is not handled or not allowed 2026-01-27 20:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-single-acting-cylinder-h1008-8-stroke>: HTTP status code is not handled or not allowed 2026-01-27 20:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 20:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-air-pump-pa7550-10000-psi-460-in-usable-oil-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f-refill-for-f301-f301-ultra-f402-f701-stainless-steel-pens-fine-black-ink-2pack>: HTTP status code is not handled or not allowed 2026-01-27 20:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-acting-hollow-hole-hydraulic-cylinder-hc2002t-20-ton-2-stroke>: HTTP status code is not handled or not allowed 2026-01-27 20:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lsci-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eg1-p-genesis-horn-white>: HTTP status code is not handled or not allowed 2026-01-27 20:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/holophane-m73-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-2sc6s8-emergency-light-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/egc-vmh-multi-high-cd-strobe-95-177-ceiling-mount>: HTTP status code is not handled or not allowed 2026-01-27 20:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-middle-shelf-modern-equipment-meco-open-mesh-steel-security-truck-72x30-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mpsr1-shtw-ge-single-action-hex-screw-reset-weatherproof>: HTTP status code is not handled or not allowed 2026-01-27 20:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wg4gskt-replacement-mounting-gasket>: HTTP status code is not handled or not allowed 2026-01-27 20:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-m3-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sumostance-extension-ladder-w-hyperlite-tech-fiberglass-24-type-ia-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-reflector-light-with-super-clamp-sl301-silver-6pk>: HTTP status code is not handled or not allowed 2026-01-27 20:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-hr412f1-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-5-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrostatic-air-filter-merv-8-12w-x-1d-x-20h>: HTTP status code is not handled or not allowed 2026-01-27 20:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-storage-cabinet-turn-handle-4-adj-shelves-36-inch-w-x-24-inch-d-x-72-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-swinging-doors-pair-48-inch-w-x-85-inch-h-marine-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-finished-end-panel-12-inch-d-x-87-inch-h-champagne>: HTTP status code is not handled or not allowed 2026-01-27 20:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intellipower-16-emergency-light-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triton-air-purifier-w-hepa-filtration-440-cfm-110v-white>: HTTP status code is not handled or not allowed 2026-01-27 20:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-ut6100-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-ub12350-nb-12v-35ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lcr6v10ml2-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qp-pro-two-stage-air-compressor-vertical-75-hp-80-gallon-capacity-3-phase-200v>: HTTP status code is not handled or not allowed 2026-01-27 20:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k1800-15-drawer-roller-cabinet-39-38w-x-18d-x-39h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-gp6120-f2-6v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2000-7-drawer-roller-cabinet-29w-x-20d-x-34-1516h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-6m5-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12-897-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-duplex-air-compressor-15-hp-120-gal-capacity-175-psi-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kung-long-wp1512-12v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-l3-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venter-burner-control-kit-for-oil-ck-63>: HTTP status code is not handled or not allowed 2026-01-27 20:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-xsh3g-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm112d-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-electric-air-compressor-75-hp-80-gal-cap-3-phase-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-base-w-wheels-for-libra-cast-aluminum-100-lb-weight-bronze>: HTTP status code is not handled or not allowed 2026-01-27 20:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm28di-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-540d2-emergency-light-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-cylindrical-lockset-ball-knob-storeroom-brushed-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-mount-kit-for-galaxy-2205-lb-weight-black>: HTTP status code is not handled or not allowed 2026-01-27 20:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-rack-placard-label-holder-2-x-100-ft-rollred-797065>: HTTP status code is not handled or not allowed 2026-01-27 20:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-picher-cf12v72-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enduring-cb-712-12v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-12ce75-t1-12v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-picher-cfm12v18-12v-18ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/varicap6-expandable-1-to-6-post-binder-11-x-8-1-2-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capital-6-tier-18-door-locker-12-inch-w-x-15-inch-d-x-12-inch-h-tan-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-chrome-3-tier-mobile-sales-unit-power-36-w-x-18-d-x-40-h>: HTTP status code is not handled or not allowed 2026-01-27 20:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2545-45-degree-support-18l>: HTTP status code is not handled or not allowed 2026-01-27 20:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-19-diameter-hd-precision-turret-bearing-ptb-19-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3412-51618-x-58-fhscs-and-slidein-economy-tnut>: HTTP status code is not handled or not allowed 2026-01-27 20:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-3-5x-90x-trinocular-stereo-microscope-with-4-zone-144-led-ring-light>: HTTP status code is not handled or not allowed 2026-01-27 20:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-jacket-collared-knit-cuff-light-blue-small>: HTTP status code is not handled or not allowed 2026-01-27 20:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-jacket-collared-snap-cuff-light-blue-2xl>: HTTP status code is not handled or not allowed 2026-01-27 20:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aura-carbon-infrared-heater-w-remote-control-6000w-208240v-black>: HTTP status code is not handled or not allowed 2026-01-27 20:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-waist-length-lab-coat-snap-cuff-light-blue-small>: HTTP status code is not handled or not allowed 2026-01-27 20:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-jacket-collared-knit-cuff-light-blue-medium>: HTTP status code is not handled or not allowed 2026-01-27 20:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/separator-puller-with-2-jaws-11-ton-capacity-5-78-opening-12-78-adjustable-reach>: HTTP status code is not handled or not allowed 2026-01-27 20:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5625-stanchion-cross-clamp>: HTTP status code is not handled or not allowed 2026-01-27 20:38:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puller-with-side-clamp-2-jaws-65-ton-capacity-3-78-opening-3-78-reach>: HTTP status code is not handled or not allowed 2026-01-27 20:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 13986 pages (at 100 pages/min), scraped 6153 items (at 22 items/min) 2026-01-27 20:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvec30i-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-emf4-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-1880005-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-watt-36-volt-power-inverter-pwrinv500036w>: HTTP status code is not handled or not allowed 2026-01-27 20:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puller-with-3-reversible-double-end-jaws-11-ton-capacity-11-78-opening-10-14-reach>: HTTP status code is not handled or not allowed 2026-01-27 20:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4113-4-hole-inside-corner-bracket>: HTTP status code is not handled or not allowed 2026-01-27 20:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightalarms-sl050-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-slide-caliper-stainless-steel-0-12-range-0005-resolution>: HTTP status code is not handled or not allowed 2026-01-27 20:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-llpbe-6v-45ah-alarm-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2550-45-degree-support-18l>: HTTP status code is not handled or not allowed 2026-01-27 20:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2015-end-cap-1l>: HTTP status code is not handled or not allowed 2026-01-27 20:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas>: HTTP status code is not handled or not allowed 2026-01-27 20:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-igod0004-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6524-double-flange-linear-bearing-brake-kit-ready>: HTTP status code is not handled or not allowed 2026-01-27 20:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-truck-drivers-ring-bell--wait-sign-adh-vinyl-10-x-14-bluewhite>: HTTP status code is not handled or not allowed 2026-01-27 20:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-move-on-green-only-sign-mirror-image-aluminum-10-x-14-blackyellow>: HTTP status code is not handled or not allowed 2026-01-27 20:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6811-custom-bearing-pad-profile-single-keyed>: HTTP status code is not handled or not allowed 2026-01-27 20:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3782-rollin-tnut-wflex-handle>: HTTP status code is not handled or not allowed 2026-01-27 20:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3481-1420-x-12-fbhscs-and-rollin-tnut-wflex-handle>: HTTP status code is not handled or not allowed 2026-01-27 20:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-rite-prb127-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp001hd-15-ner-electric-hoist-push-trolley-18-ton-15-lift-559-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husqvarna-te-511cc-motorcycle-replacement-battery-2011-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner003hd-10-ner-dual-speed-electric-chain-hoist-14-ton-10-lift-539-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5020-turned-ground-and-polished-solid-round-profile>: HTTP status code is not handled or not allowed 2026-01-27 20:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gas-gas-enduro-4t-450cc-motorcycle-replacement-battery-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chamberlain-hd930ev-garage-door-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner020l-10-ner-electric-hoist-hook-suspension-2-ton-10-lift-14-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner003s-20-ner-electric-hoist-hook-suspension-14-ton-20-lift-36-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner030c-10-ner-electric-hoist-hook-suspension-3-ton-10-lift-17-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm020l-l-fg-10-ner-food-grade-hoist-with-motorized-trolley-2-ton-capacity-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contoured-reversible-puffer-vest-class-2-m-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner030cd-15-ner-dual-speed-electric-chain-hoist-3-ton-15-lift-173-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-wear-anti-slip-additive-white-aluminum-213898>: HTTP status code is not handled or not allowed 2026-01-27 20:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm020l-l-15-ner-electric-hoist-motor-trolley-2-ton-15-lift-14-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s60-system-0-voc-water-based-epoxy-maint-coat-osha-safe-blue-248291>: HTTP status code is not handled or not allowed 2026-01-27 20:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rascal-140t-mobility-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freedom-961-electric-scooter-replacement-battery-14ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thompson-t350cs-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp010l-10-ner-electric-chain-hoist-push-trolley-1-ton-10-lift-14-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulse-super-b-electric-scooter-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kt-mw-multi-watt-kickspace-unit-heater-15-kw-240208v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 20:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snugboot-wildlander-safety-knee-boots-size-9-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-g-max-150-150cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ms-s-circular-analog-stirrer-81111112-110v-60hz-porcelain>: HTTP status code is not handled or not allowed 2026-01-27 20:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neodymium-latch-magnet-nmlkit1-2-lbs-pull-nickel-chrome-plating>: HTTP status code is not handled or not allowed 2026-01-27 20:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asfogless-3sixty-frameless-safety-glasses-gray-lens-gray-temple-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 20:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-ventguard-black-painted-galvanized-steel-30-x-30-x-12-3-pack-rvg3030-3g>: HTTP status code is not handled or not allowed 2026-01-27 20:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sym-hd200-scooter-and-moped-replacement-battery-2010-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodpro-purofort-multi-grip-safety-boots-cleated-outsole-steel-toe-size-12-15h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodpro-purofort-multi-grip-safety-boots-cleated-outsole-steel-toe-size-4-13-34h-green>: HTTP status code is not handled or not allowed 2026-01-27 20:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-48-slatwall-panel-birch-laminate-without-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-27 20:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-post-card-4-inch-x-6-inch-white-100-cards-box>: HTTP status code is not handled or not allowed 2026-01-27 20:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodpro-purofort-multi-grip-safety-boots-cleated-outsole-steel-toe-size-10-14-12h-green>: HTTP status code is not handled or not allowed 2026-01-27 20:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-48-slatwall-panel-maple-veneer-without-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-27 20:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-48-slatwall-panel-white-hpl-without-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-27 20:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-formula-500-deluxe-500cc-snowmobile-replacement-battery-1997-1998-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/140vbwl-mixer-bowl-for-hobart-v1401-v1401u-140-qt-mixer>: HTTP status code is not handled or not allowed 2026-01-27 20:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-cycle-hydraulic-drum-crusher-compactor-3-phase-460v-38000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parks-medical-915al-915bl-917-922-doppler-medical-replacement-battery-1-3ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodpro-purofort-multi-grip-safety-boots-cleated-outsole-steel-toe-size-9-14-12h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 14081 pages (at 95 pages/min), scraped 6187 items (at 34 items/min) 2026-01-27 20:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seating-jive-series-bentwood-21h-stack-multi-purpose-chair-white>: HTTP status code is not handled or not allowed 2026-01-27 20:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-knee-boots-safety-loc-outsole-steel-toe-size-13-16h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-tape-individual-strips-with-adhesive-75l-x-12w-black>: HTTP status code is not handled or not allowed 2026-01-27 20:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loop-tape-individual-dots-with-adhesive-12l-x-12w-white-pack-of-1440>: HTTP status code is not handled or not allowed 2026-01-27 20:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loop-tape-individual-strips-with-adhesive-75l-x-1w-black>: HTTP status code is not handled or not allowed 2026-01-27 20:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-knee-boots-safety-loc-outsole-steel-toe-size-5-14h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lionville-systems-34082-medication-cart-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrogen-peroxide-16-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-27 20:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tetrasine-eye-drops-1-2-oz-1-ea>: HTTP status code is not handled or not allowed 2026-01-27 20:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onestep-printable-toc-divider-printed-1-to-31-9x11-31-tabs-white-white>: HTTP status code is not handled or not allowed 2026-01-27 20:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onestep-printable-toc-divider-printed-1-to-31-9x11-31-tabs-white-multicolor>: HTTP status code is not handled or not allowed 2026-01-27 20:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-set-3-for-perforated-tool-cabinets-69-pcs>: HTTP status code is not handled or not allowed 2026-01-27 20:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/index-maker-punched-clear-label-tab-divider-blank-85x11-8-tabs-5-sets-white-multicolor>: HTTP status code is not handled or not allowed 2026-01-27 20:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-seal-36-oz-capacity-12-projection-10w-x-10-black>: HTTP status code is not handled or not allowed 2026-01-27 20:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lincoln-electric-company-ac-150-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunstone-power-spt12-7-5-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-14d-x-74h-with-28-ssb443-stackable-shelf-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-27 20:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-drawing-paper-47-lbs-12-x-18-pure-white-500-sheets-ream>: HTTP status code is not handled or not allowed 2026-01-27 20:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-chock-chain-hanger-rubber-8l-x-9-14w-x-6h>: HTTP status code is not handled or not allowed 2026-01-27 20:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanuk-310-0001-310-series-nano-case-black>: HTTP status code is not handled or not allowed 2026-01-27 20:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ritar-rt12180ev-rt-12180ev-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-4vs-mill3-axis-newall-dp700-knee-dro-powerfeeds-power-draw-bar>: HTTP status code is not handled or not allowed 2026-01-27 20:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lincoln-electric-company-classic-ii-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stove-bolt-screw-kit-w-hex-nuts-steel-316-24-size-assorted-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-s2354-pioneer-1-scooter-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-hanger-w-hex-nut-and-bolt-carbon-steel-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-advance-micromatic-group-27-industrial-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-nut-grade-5-carbon-steel-34-10-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-hanger-w-hex-nut-and-bolt-carbon-steel-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/935-0006-935-case-220l-x-140w-x-90h-olive>: HTTP status code is not handled or not allowed 2026-01-27 20:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-super-size-18-1-4w-x-23-7-8d-x-12h>: HTTP status code is not handled or not allowed 2026-01-27 20:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-pump-jack-wide-end-rail-kit-pj-erw>: HTTP status code is not handled or not allowed 2026-01-27 20:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-style-threaded-conduit-body-w-cover-and-gasket-2-12-size>: HTTP status code is not handled or not allowed 2026-01-27 20:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p327-vision-super-bariatric-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-alante-gp-201r-22nf-wheelchair-replacement-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-dress-uniform-shirt-slu2-light-blue-size-xxl-long>: HTTP status code is not handled or not allowed 2026-01-27 20:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-flame-resistant-classic-coverall-cec2-navy-size-50-long>: HTTP status code is not handled or not allowed 2026-01-27 20:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-lynx-sx-3-atm-take-along-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ll-threaded-conduit-body-w-cover-and-gasket-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-thread-connector-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-screw-hex-nut-18-8-stainless-steel-12-24-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-literider-gl110-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armored-ground-clamp-w-swivel-bronze-1-14-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/friendly-robotics-robomower-rl800-lawn-and-garden-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-6-32-x-38-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-decker-90508-11-lawn-mower-lawn-and-garden-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-toggle-anchor-kit-w-combo-pan-head-screw-8-size-tuff-pack-25-pieces>: HTTP status code is not handled or not allowed 2026-01-27 20:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/excelsior-henderson-super-x-1386cc-lawn-and-garden-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3801-class-e-standard-mesh-pants-lime-2xl3xl>: HTTP status code is not handled or not allowed 2026-01-27 20:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-ply-pull-line-box-6500l>: HTTP status code is not handled or not allowed 2026-01-27 20:40:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/harnesses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-7015cydup4-universal-ground-duplex-75mm-bore-115mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-7905cyuglp4-universal-ground-single-25mm-bore-42mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-mount-2-threaded-studs-125-inch-dia-100-inch-h-5-16-18-thread>: HTTP status code is not handled or not allowed 2026-01-27 20:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-mount-2-tapped-holes-200-inch-dia-163-inch-h-3-8-16-thread>: HTTP status code is not handled or not allowed 2026-01-27 20:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-fishing-piston-durable-foam-5-size>: HTTP status code is not handled or not allowed 2026-01-27 20:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-coated-nail-strap-w-1-ser-and-seu-cable-carbon-steel-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 20:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-coated-pipe-and-tube-hanger-carbon-steel-6-x-34-size-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 20:40:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/vibration_isolating_machine_levelers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leveling-foot-w-plastic-cap-5-8-11-x-591-inches-stud-315-inches-base-dia-678-inchesh-2700-lbs-cap-304-ss>: HTTP status code is not handled or not allowed 2026-01-27 20:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fall_protection/harnesses>: HTTP status code is not handled or not allowed 2026-01-27 20:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leveling-mount-w-o-bolt-holes-3-4-10-x-8-inches-stud-433-inches-base-dia-9663-inchesh-7500-lbs-load-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-6-32-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 14177 pages (at 96 pages/min), scraped 6223 items (at 36 items/min) 2026-01-27 20:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-hutch-with-doors-66-inchw-x-15-inchd-x-36-inchh-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 20:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-3-step-steel-roll-ladder-20-d-top-stp-orange-31820gsuo>: HTTP status code is not handled or not allowed 2026-01-27 20:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-rectangular-desk-shell-66-inchw-x-30-inchd-x-29-1-2-inchh-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 20:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-rectangular-desk-shell-66-inchw-x-30-inchd-x-29-1-2-inchh-cherry>: HTTP status code is not handled or not allowed 2026-01-27 20:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-grade-5-carbon-steel-12-13-x-3-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mircofiber-mop-bucket-6-gallon-for-18-flat-mops-gray-2505-mfbt-6gy>: HTTP status code is not handled or not allowed 2026-01-27 20:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-flush-red-push-button-valve-d1223b2fpr-14-bspp>: HTTP status code is not handled or not allowed 2026-01-27 20:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-bc610-top-screw-bench-chain-vise-14-6-pipe-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inventory-cone-orange-3-sided-with-magnets-dry-erase-decal>: HTTP status code is not handled or not allowed 2026-01-27 20:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennis-tutor-r-pro-lite-tennis-ball-machine-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-all-400cc-models-except-dvx400-425cc-atv-battery-1996-2010-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/vibration_isolating_machine_levelers landed on page that is not a product page. 2026-01-27 20:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35-gallon-open-head-plastic-pail-with-steel-handlewhite-987401>: HTTP status code is not handled or not allowed 2026-01-27 20:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-electric-stapler-70-sheet-5000-staple-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 20:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zamac-alloy-anchor-phillips-flat-head-14-x-1-size-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saunders-recycled-hardboard-clipboard-letter-size-8-1-2-x-12-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jack-palmer-industries-independence-electric-bicycle-replacement-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf237401l56c-cast-iron-right-angle-worm-gear-reducer-401-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-hole-pipe-strap-carbon-steel-11-gauge-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saunders-recycled-plastic-clipboard-with-antimicrobial-protection-8-1-2-x-12-green>: HTTP status code is not handled or not allowed 2026-01-27 20:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf133501de56c-cast-iron-right-angle-worm-gear-reducer-501-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drywall-screw-phillips-bugle-head-fine-thread-6-x-1-58-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm700-grizzly-fi-4x4-auto-700cc-atv-replacement-battery-2007-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/higdon-swimmer-mallard-fully-flocked-drake-decoy-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/account-book-record-ruled-8-5-8-x-14-1-8-black-cover-300-pages-pad>: HTTP status code is not handled or not allowed 2026-01-27 20:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/victory-arlen-ness-victory-vision-1731cc-motorcycle-battery-2009-2013-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-spyder-st-se5-1000cc-motorcycle-replacement-battery-2013-2015-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 20:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-phillipsslotted-hex-washer-head-8-x-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-non-skid-paper-clips-silver-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-inkjet-name-badge-3-3-8-x-2-1-3-red-border-200-box>: HTTP status code is not handled or not allowed 2026-01-27 20:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-xvz13-royale-1300cc-motorcycle-replacement-battery-1986-1993-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 20:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-liquid-tight-connector-zinc-die-cast-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-handling-cable-tie-8-size-red-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-stainless-steel-0-12-id-1-14-od-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-stapler-20-sheet-210-staple-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 20:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mz-zschopau-green-star-500cc-motorcycle-replacement-battery-1966-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-softail-slim-s-flss-1800cc-motorcycle-battery-2016-2017-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-dorsoduro-750-abs-750cc-motorcycle-replacement-battery-2013-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-utility-cases-medium-case-12l-x-9w-x-4-1-2h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-low-carbon-steel-34-10-x-5-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-industrial-degreaser-5-gallon-pail-1-case-hd005>: HTTP status code is not handled or not allowed 2026-01-27 20:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-dyna-wide-glide-fxdwg-1690cc-motorcycle-battery-2012-2017-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purpose-container-placard-label-holder-astp5-with-place-label-here-6-x-8-white>: HTTP status code is not handled or not allowed 2026-01-27 20:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-xvz13at-royal-star-1300cc-motorcycle-replacement-battery-1996-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bx1236l-36-inch-w-x-12-inch-d-22-gauge-600-lb-capacity-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prsl1811pi-1-speed-pushbutton-use-wmike-victor-pendants>: HTTP status code is not handled or not allowed 2026-01-27 20:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bx1236x-36-inch-w-x-12-inch-d-18-gauge-1100-lb-capacity-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-kz1000-ltd-shaft-1000cc-motorcycle-replacement-battery-1981-1983-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-screw-star-pin-drive-button-head-10-32-x-12-size-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-drilling-screw-kit-phillips-pan-head-carbon-steel-10-size-assorted>: HTTP status code is not handled or not allowed 2026-01-27 20:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab85-2436-5x-36-inch-w-x-24-inch-d-x-85-inch-h-5-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb85-1836-5-36-inch-w-x-18-inch-d-x-85-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab85-1842-5-42-inch-w-x-18-inch-d-x-85-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb73-1242-5-42-inch-w-x-12-inch-d-x-73-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/victory-arlen-ness-jackpot-1634cc-motorcycle-replacement-battery-2006-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jt1200-stx-12f-1200cc-personal-watercraft-battery-2002-2007-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diversey-gum-remover-cherry-65oz-aerosol-12-case-dvo5628817ct>: HTTP status code is not handled or not allowed 2026-01-27 20:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wal-8-4-flute-extractor>: HTTP status code is not handled or not allowed 2026-01-27 20:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diversey-conc-gen-purp-clean-w-hydro-peroxide-gal-btl-4cs-dvo4998841>: HTTP status code is not handled or not allowed 2026-01-27 20:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protecta-self-retracting-lifeline-stainless-steel-cable--swivel-snap-hook-20l>: HTTP status code is not handled or not allowed 2026-01-27 20:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jt1500-stx-1500cc-personal-watercraft-replacement-battery-2004-2013-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jt1500-a-1500cc-personal-watercraft-battery-2004-2013-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-js550-sx-550cc-personal-watercraft-battery-1986-1995-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jh750-sx-750cc-personal-watercraft-battery-1992-1995-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-fx-cruiser-ho-1052cc-personal-watercraft-replacement-battery-2004-2008-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 14275 pages (at 98 pages/min), scraped 6256 items (at 33 items/min) 2026-01-27 20:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/longbo-lb150t-26-prodigy-150cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22312exw33c3-60mm-bore-130mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23122ex1w33c3-110mm-bore-180mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22314exw33c3-70mm-bore-150mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imc-heartway-rumba-sfp4f-mobility-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imc-heartway-rumba-srp4r-mobility-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-ntt-quartz-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/terminator-terminator-ii-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22217exw33kc3-85mm-bore-150mm-od-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-27 20:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-hcfu205-16-flange-mount-bearing-4-bolt-flange-eccentric-locking-collar-bore-25-4-mm>: HTTP status code is not handled or not allowed 2026-01-27 20:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucfl201-8s-40mm-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-12-7-mm>: HTTP status code is not handled or not allowed 2026-01-27 20:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-hcfu207-20-flange-mount-bearing-4-bolt-flange-eccentric-locking-collar-bore-31-75-mm>: HTTP status code is not handled or not allowed 2026-01-27 20:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linebacker-1-channel-splittop-cable-protector-34000-lb-cap-38-12-x-14-14-x-3-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23938ew33-190mm-bore-260mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22313exw33kc3-65mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23032ew33kc3-160mm-bore-240mm-od-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-27 20:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8391-class-3-long-sleeve-tshirt-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-27 20:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6705ct-evaporative-cooling-triangle-hat-with-cooling-towel-camo>: HTTP status code is not handled or not allowed 2026-01-27 20:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dagr-safety-glasses-smoke-lens-matte-gray-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-laser-and-inkjet-label-insert-3l-x-1-14w-48-labels-3-sheetspack>: HTTP status code is not handled or not allowed 2026-01-27 20:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-partition-store-long-basket-divider-5h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nj216m-80mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-log-book-for-material-handling-equipment>: HTTP status code is not handled or not allowed 2026-01-27 20:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accuflow-dot-transport-safety-can-for-flammable-liquids-1-metal-hose-25-gal-cap-red>: HTTP status code is not handled or not allowed 2026-01-27 20:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-rascal-fold-mobility-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-partition-store-wire-basket-22l-x-14w-x-5h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-everest-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8089-noncertified-tshirt-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-27 20:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-quilt-lined-jacket-type-r-ansi-class-3-l-fluorescent-yellowgreenblack>: HTTP status code is not handled or not allowed 2026-01-27 20:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-quilt-lined-jacket-type-r-ansi-class-3-s-fluorescent-yellowgreenblack>: HTTP status code is not handled or not allowed 2026-01-27 20:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-storage-net-global-industrial-personnel-carrier-800574>: HTTP status code is not handled or not allowed 2026-01-27 20:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-add-on-oak73-1536-8-36-inch-w-x-15-inch-d-x-73-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-starter-osk85-1836-8-36-inch-w-x-18-inch-d-x-85-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-add-on-oak97-1236-8-36-inch-w-x-12-inch-d-x-97-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-x-3-1-2-in-lead-free-seamless-red-brass-pipe-nipple-140-psi-sch-40-import>: HTTP status code is not handled or not allowed 2026-01-27 20:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-starter-ost75-1242-5-42-inch-w-x-12-inch-d-x-75-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-add-on-oat75-1242-5-42-inch-w-x-12-inch-d-x-75-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-esd-wire-shelving-unit-starter-72w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-pioneer-5-s534-s53431-mobility-scooter-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-esd-wire-shelving-unit-starter-54w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-chrome-wire-shelving-unit-add-on-60w-x-12d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-304-stainless-steel-90-degree-elbow-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-27 20:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-48w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/citybug-helper-electricscooter-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-starter-cst99-1236-8x-36-inch-w-x-12-inch-d-x-99-inch-h-8-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss62052rs-deep-groove-ball-bearing-stainless-steel-double-sealed-od-52mm-bore-25mmmetric>: HTTP status code is not handled or not allowed 2026-01-27 20:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss6004zz-deep-groove-ball-bearing-stainless-steel-double-shielded-od-42mm-bore-20mmmetric>: HTTP status code is not handled or not allowed 2026-01-27 20:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-add-on-oat87-1842-8x-42-inch-w-x-18-inch-d-x-87-inch-h-8-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-victory-xl-sc260-sc270-sc2700-mobility-scooter-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gw4x-guide-wheel-bearing-double-sealed-od-5994-mm-bore-15000-14992-mm-metric>: HTTP status code is not handled or not allowed 2026-01-27 20:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/68072rs-deep-groove-ball-bearing-double-sealed-od-47mm-bore-35mm-metric>: HTTP status code is not handled or not allowed 2026-01-27 20:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tr-40-02-energy-chain-triflex-mounting-bracket-for-trctre-40-series>: HTTP status code is not handled or not allowed 2026-01-27 20:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mx-z-380-368cc-snowmobile-replacement-battery-2002-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-literature-mailers-13-x-10-x-2-200lb-test-ect-32-kraft-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-poly-mailers-12-x-15-1-2-2-5-mil-red-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mx-z-670-669cc-snowmobile-replacement-battery-1996-1998-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-adrenaline-600-ho-600cc-snowmobile-battery-2014-2016-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-e-mailed-1-2-x-1-5-8-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-formula-deluxe-380-fan-380cc-snowmobile-battery-1999-2001-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-summit-800-xrs-159-800cc-snowmobile-replacement-battery-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-formula-ss-580cc-snowmobile-replacement-battery-1995-1996-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 20:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-60w-x-30d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-gtx-600-ho-sdi-593cc-snowmobile-replacement-battery-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expansion-poly-mailers-26-x-28-x-5-2-5-mil-white-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-6-x-6-x-2-200lb-test-ect-32-kraft-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-22-red-spring-red-r325e-for-325-5-series-regulators>: HTTP status code is not handled or not allowed 2026-01-27 20:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-summit-x-700-700cc-snowmobile-replacement-battery-2001-2003-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 14373 pages (at 98 pages/min), scraped 6287 items (at 31 items/min) 2026-01-27 20:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-15-green-spring-grn-r11110-for-325-7-rv81-210d-regulators>: HTTP status code is not handled or not allowed 2026-01-27 20:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-literature-mailers-12-x-10-x-6-200lb-test-ect32-kraft-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-green-wire-shelving-unit-add-on-42w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-green-wire-shelving-unit-add-on-72w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-grand-touring-500-500cc-snowmobile-replacement-battery-1996-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-green-wire-shelving-unit-starter-36w-x-12d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-skandic-wide-track-lc-497cc-snowmobile-replacement-battery-1997-2000-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 20:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uvex-a700-half-frame-safety-glasses-with-anti-fog-coating-clear-lens-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pc-board-for-30-evaporative-cooler-model-600543-292224>: HTTP status code is not handled or not allowed 2026-01-27 20:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-fuse-for-36-evaporative-cooler-model-600581-292227>: HTTP status code is not handled or not allowed 2026-01-27 20:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-aircore-stretchable-harness-with-back-d-ring-quick-connect-universal-green>: HTTP status code is not handled or not allowed 2026-01-27 20:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-aircore153-stretchable-harness-with-back-d-ring-quick-connect-sm-green>: HTTP status code is not handled or not allowed 2026-01-27 20:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-renegade-800-ho-ptek-800cc-snowmobile-replacement-battery-2004-2013-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-window-kit-glass-not-included-11w-x-11h>: HTTP status code is not handled or not allowed 2026-01-27 20:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hollow-steel-flush-door-cylindrical-prep-steelcraft-hinge-16-ga-36w-x-84h>: HTTP status code is not handled or not allowed 2026-01-27 20:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-921212720-double-tier-12-x-12-x-36-1-wide-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-renegade-sport-550f-553cc-snowmobile-replacement-battery-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bluff-mobilepro43-yard-ramp-with-hinged-lip--adj-legs-20000-lb-cap-36l-x-70w-x-48h>: HTTP status code is not handled or not allowed 2026-01-27 20:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-9z1212600-z-style-12-x-12-x-60-1-wide-burgundy>: HTTP status code is not handled or not allowed 2026-01-27 20:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-921212600-double-tier-12-x-12-x-30-1-wide-cream>: HTTP status code is not handled or not allowed 2026-01-27 20:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-ligature-resistant-vertical-bay-c-fold-paper-holder-white>: HTTP status code is not handled or not allowed 2026-01-27 20:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v6000b-10-raceway-base-10l-ivory-10l>: HTTP status code is not handled or not allowed 2026-01-27 20:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gr1200-50-corduct-overfloor-cable-protection-system-50l-gray-50l>: HTTP status code is not handled or not allowed 2026-01-27 20:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-300-trade-general-purpose-diamond-blade-14-dia-x-316t-x-1p-center-hole-dia>: HTTP status code is not handled or not allowed 2026-01-27 20:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freshaire-make-up-air-inverter-ptac-unit-with-heat-pump-9400-btu-cool-208230v>: HTTP status code is not handled or not allowed 2026-01-27 20:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mach-z-1000-sdi-995cc-snowmobile-replacement-battery-2005-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermocouple-50001-k-bell-surface-probe-90-right-angle-shaft-type-k>: HTTP status code is not handled or not allowed 2026-01-27 20:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-grand-touring-1200-1200cc-snowmobile-replacement-battery-2010-2013-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-811818601-single-tier-18-x-18-x-60-silver-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-8z1818721-z-style-18-x-18-x-72-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-27 20:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-adernaline-ace-900-899cc-snowmobile-replacement-battery-2014-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smart-nfc-smartcards--key-fobs-whiteblack-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 20:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-mx-z-50th-anniversary-595cc-snowmobile-replacement-battery-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rs90xt-rs-vector-xtx-900cc-snowmobile-replacement-battery-2016-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3rd-generation-smart-tsa-travel-padlock-blackyellow-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 20:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-2002nl-full-port-compression-ball-valve-with-drain-lf-brass-34-comp-x-34-comp>: HTTP status code is not handled or not allowed 2026-01-27 20:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dream-3-piece-outdoor-bistro-set-23-5-8-w-x-29-1-2-h-table-white-table-red-chairs>: HTTP status code is not handled or not allowed 2026-01-27 20:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y393-286thtna7026-30hp-230-460v-1800rpm-3ph-286tc-tenv>: HTTP status code is not handled or not allowed 2026-01-27 20:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-539-lf-brass-water-heater-drain-valve-34-mnpt>: HTTP status code is not handled or not allowed 2026-01-27 20:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-408nl-non-rising-stem-gate-valve-no-lead-brass-1-12-sweat>: HTTP status code is not handled or not allowed 2026-01-27 20:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-for-lil-luigi-and-le-peppe-1-2mm>: HTTP status code is not handled or not allowed 2026-01-27 20:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/argoscabinet-gun-storage-cabinet-awc84h24r10p-1-24-rifles-10-pistols-with-2-half-shelves-42wx15dx84h-stealth>: HTTP status code is not handled or not allowed 2026-01-27 20:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-g655-056b11g5301-1-2hp-115-208-230v-1200rpm-1ph-epfc>: HTTP status code is not handled or not allowed 2026-01-27 20:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-medical-system-1500-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-security-mailbox-4350blk-black-usps-approved>: HTTP status code is not handled or not allowed 2026-01-27 20:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-365di-butterfly-valve-with-epdm-seals--10-position-handle-4-lug>: HTTP status code is not handled or not allowed 2026-01-27 20:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-u940-213ttgs1076-3hp-230-460v-1200rpm-3ph-epfc>: HTTP status code is not handled or not allowed 2026-01-27 20:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dittmar-741314-power-lifter-iv-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z122-7-1-2hp-230v-1800rpm-1ph-tefc-215t-fr>: HTTP status code is not handled or not allowed 2026-01-27 20:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ezsdwslk-ezh20-bottle-filling-station-w-single-ada-ez-cooler-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lzsg8wssk-filtered-bottle-filling-station-w-single-ada-cooler-refrigerated-stainless>: HTTP status code is not handled or not allowed 2026-01-27 20:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-337ab-g-butterfly-valve-with-buna-seals--gear-operator-5-wafer>: HTTP status code is not handled or not allowed 2026-01-27 20:43:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y598-256thfna8038-20hp-230-460v-1800rpm-3ph-256tc-tefc>: HTTP status code is not handled or not allowed 2026-01-27 20:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skytron-6500-elite-or-table-medical-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epact-efficiency-motor-e706-10hp-3600rpm-208-230-460v-3ph-213t-fr-dp>: HTTP status code is not handled or not allowed 2026-01-27 20:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wx-explosion-proof-infrared-gas-catalytic-heater-10000-btu-30a>: HTTP status code is not handled or not allowed 2026-01-27 20:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 14470 pages (at 97 pages/min), scraped 6327 items (at 40 items/min) 2026-01-27 20:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cx-series-screw-plug-immersion-heater-cw-tstat-1npt-1000w-120v-4-14l>: HTTP status code is not handled or not allowed 2026-01-27 20:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppi-pp-143154-sharps-container-5-4-qt-use-bd-wall-cabinets-case-20>: HTTP status code is not handled or not allowed 2026-01-27 20:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-chemical-resistant-adjustable-height-science-table-24-x-48-x-29-41-w-black-legs-and-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c1161-5kcr49rn2148t-2hp-3450rpm-115-208-230v-1ph-56h-fr-dp>: HTTP status code is not handled or not allowed 2026-01-27 20:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c419-5kc49pn3027x-1-2-1-6hp-1725-1140rpm-115v-1ph-56-fr-dp>: HTTP status code is not handled or not allowed 2026-01-27 20:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 20:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expocell-p204-100-sealed-lead-acid-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-95000-mobile-trailer-3200psi-196cc-2-8gpm-gas-pressure-washer-w-honda-gx200-engine-cat-pump>: HTTP status code is not handled or not allowed 2026-01-27 20:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xb-series-explosion-proof-convection-double-unit-heater-cw-tstat-1500w-240v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 20:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xb-series-explosion-proof-convection-double-unit-heater-cw-tstat-2000w-480v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 20:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fan-motor-x509-2hp-1200-rpm-200-230-460-v-3-ph-56y-fr-opao>: HTTP status code is not handled or not allowed 2026-01-27 20:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-pipe-fitting-90-degree-elbow-1-1-2-dia>: HTTP status code is not handled or not allowed 2026-01-27 20:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-b338-56c17d5349-1-1-2hp-1800rpm-277v-1ph-56h-fr-dp>: HTTP status code is not handled or not allowed 2026-01-27 20:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amstron-ap-12120f2-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wh20gb506-plugmold-125v-15a-5l-10-outlets>: HTTP status code is not handled or not allowed 2026-01-27 20:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4810ulbd20r-tl-cabinetmate-surge-strip-125v-20a-48l-10-outlets>: HTTP status code is not handled or not allowed 2026-01-27 20:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bk2018c-external-corner-cover-125v-15a-1-78l>: HTTP status code is not handled or not allowed 2026-01-27 20:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-floor-lock-with-polyurethane-foot-pad-fl-lkl-3-3-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v20gba609-plugmold-125v-15a-6l-8-outlets>: HTTP status code is not handled or not allowed 2026-01-27 20:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wst1-3672-36-lp-72w-x-36d-fixed-height-welded-steel-workbench>: HTTP status code is not handled or not allowed 2026-01-27 20:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expertpower-exp12180-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-union-mx-12120-12v-12ah-wheelchair-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:44:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/candy_gum already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pure-cane-sugar-20-oz>: HTTP status code is not handled or not allowed 2026-01-27 20:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-48l-x-21w-x-80h-polyurethane-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lc-rd1217p-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unison-union-mx-12012-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fruit-cups-mandarin-orange-7-oz-12carton>: HTTP status code is not handled or not allowed 2026-01-27 20:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-black-epoxy-wire-shelving-unit-starter-36w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pp-heavyweight-15-gal-cylindrical-tank-w-cover-13dia-x-27h-3-16wall-white>: HTTP status code is not handled or not allowed 2026-01-27 20:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-55-gal-conical-bottom-tank-w-cover-22dia-x-44h-3-16wall-white>: HTTP status code is not handled or not allowed 2026-01-27 20:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apex-battery-apx12220-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/candy_gum>: HTTP status code is not handled or not allowed 2026-01-27 20:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saturn3i-125-laminator-12-1-2-x-5-mil-maximum-document-thickness>: HTTP status code is not handled or not allowed 2026-01-27 20:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combo-horizontal-vertical-cylinder-aluminum-storage-cabinet-60w-x-32d-x-65h>: HTTP status code is not handled or not allowed 2026-01-27 20:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-55-gal-drum-2-door-self-close-flammable-cabinet-34w-x-34d-x-65h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-gallon-1-sliding-door-self-close-acid-cabinet-43w-x-18d-x-65h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-caddx-networx-nx-8-12v-7ah-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-55-gal-drum-self-close-flammable-cabinet-incl-drum-support34w-x-34d-x-65hwhite>: HTTP status code is not handled or not allowed 2026-01-27 20:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-two-wheel-trash-cart-48-gallon-blue-ana48-bl>: HTTP status code is not handled or not allowed 2026-01-27 20:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-coupler-39041600-iso-male-tip-to-jd-cone-style-body>: HTTP status code is not handled or not allowed 2026-01-27 20:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-54w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-quantum-610-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permobil-street-electric-wheelchair-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carrier-cart-medical-chart-rack-26w-x-14d-x-37-1-4h-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-48w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 20:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werner-4-type-1aa-fiberglass-podium-ladder-w-casters-375-lb-cap-pd7304-4c>: HTTP status code is not handled or not allowed 2026-01-27 20:44:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-174-slim-jim-174-1883460-plastic-step-on-container-front-step-18-gallon-beige>: HTTP status code is not handled or not allowed 2026-01-27 20:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zipr-mobility-3-traveler-wheelchair-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-04092-1-1-2-in-x-1-1-4-in-x-1-in-wrot-copper-reducing-tee-copper>: HTTP status code is not handled or not allowed 2026-01-27 20:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-40117-2-in-x-1-1-4-in-x-1-1-4-in-wrot-copper-reducing-tee-copper>: HTTP status code is not handled or not allowed 2026-01-27 20:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-15-1-2-inch-dia-cw-or-ccw-15-inch-w-1-3-16-inch-bore>: HTTP status code is not handled or not allowed 2026-01-27 20:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-poly-z-brite-wire-shelving-unit-add-on-30w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 20:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-rolling-case-156-16-x-5-1-2-x-15-black>: HTTP status code is not handled or not allowed 2026-01-27 20:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-4-3-4-inch-dia-ccw-3600-rpm-5-16-inch-bore-1-3-4-inch-w-plastic>: HTTP status code is not handled or not allowed 2026-01-27 20:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealed-flange-ball-bearings-with-insulator-and-thurst-collar-7-8-inch-w>: HTTP status code is not handled or not allowed 2026-01-27 20:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-galvanized-steel-solid-shelving-unit-add-on-60w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplicity-16gth-lawn-and-garden-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-wing-condenser-fan-blade-interchangeable-hub-aluminum-ccw-12-inch-dia-19-pitch>: HTTP status code is not handled or not allowed 2026-01-27 20:44:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-27 20:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-wing-free-air-fan-blade-interchangeable-hub-aluminum-blade-ccw-24-inch-dia-18-pitch>: HTTP status code is not handled or not allowed 2026-01-27 20:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-starter-54w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:44:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-fence-guide-for-psz-slm-portable-safety-zone>: HTTP status code is not handled or not allowed 2026-01-27 20:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orthofab-lifestyles-victory-wheelchair-gp24-wheelchair-battery-75ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 14563 pages (at 93 pages/min), scraped 6358 items (at 31 items/min) 2026-01-27 20:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-fixed-hub-fan-blade-9-inch-dia-26-pitch-ccw-1-4-inch-bore-1-1-4-inch-blade-depth-5-blade>: HTTP status code is not handled or not allowed 2026-01-27 20:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astralite-eu-hd-180-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-smooth-bollard-post-sleeve-8-yellow-1737y>: HTTP status code is not handled or not allowed 2026-01-27 20:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-4-3-4-inch-dia-ccw-3450-rpm-1-2-inch-bore-2-15-16-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 20:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-3-13-16-inch-dia-cw-4500-rpm-5-16-inch-bore-2-1-2-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 20:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-ind12250-emergency-light-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-fixed-hub-fan-blade-8-inch-dia-24-pitch-cw-5-16-inch-bore-1-1-8-inch-blade-depth-5-blade>: HTTP status code is not handled or not allowed 2026-01-27 20:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hexagonal-crow-bar-1-hex-69l>: HTTP status code is not handled or not allowed 2026-01-27 20:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 20:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-l026117-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-sl2602-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sd-9326m-apple-products-repair-kit>: HTTP status code is not handled or not allowed 2026-01-27 20:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-28mm-hand-held-label-applicator>: HTTP status code is not handled or not allowed 2026-01-27 20:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-held-manual-liner-removerdouble-sided-tape-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 20:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-pe46rf3cl-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-elu2-12volt-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-mate-pm12180-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-labeling-tape-1w-black-on-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-sl-26-58-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fowler-52-585-115-x-proof-water-resistant-indicator-set>: HTTP status code is not handled or not allowed 2026-01-27 20:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offset-angle-post-1-inch-x-1-7-8-inch-x-4ft1-inch-h-1-1-2-inch-o-c-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-flange-shelf-15-inch-l-x-36-inch-w-20-gauge-400-lb-capacity-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-labeling-tape-3-4w-gold-on-black>: HTTP status code is not handled or not allowed 2026-01-27 20:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-flange-shelf-18-inch-l-x-48-inch-w-18-gauge-425-lb-capacity-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-flange-shelf-30-inch-l-x-36-inch-w-20-gauge-300-lb-capacity-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sway-braces-for-42-48-inch-shelf-51-3-4-inch-long-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/york-wide-light-r2e3-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/880w1-floor-box-1-gang-steel-box-for-wood-floors>: HTTP status code is not handled or not allowed 2026-01-27 20:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-48-in-w-x-36-in-d-x-84-in-h>: HTTP status code is not handled or not allowed 2026-01-27 20:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a512-24g-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fbs-standard-bellman-cart-2499-bk-bk-stainless-black-carpet-black-bumper-8-rubber>: HTTP status code is not handled or not allowed 2026-01-27 20:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-cascade-10-pocket-magazine-rack-light-oak>: HTTP status code is not handled or not allowed 2026-01-27 20:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-10-pocket-legal-size-file-holder-medium-oak>: HTTP status code is not handled or not allowed 2026-01-27 20:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-all-welded-combination-storage-cabinet-solid-door-36w-x-18d-x-72h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/johnlite-12-volt-7-5ah-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-789539100-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a206-3-8k-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-bookcase-assembled-36w-x-12d-x-36h-dove-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shooters-cut-ballistic-shield-level-iii-31-12l-x-19-12w-black>: HTTP status code is not handled or not allowed 2026-01-27 20:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wirecraftersrackback-wire-mesh-pallet-rack-enclosure-hinged-door-120x144-797138>: HTTP status code is not handled or not allowed 2026-01-27 20:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a212-55a-emergency-light-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-27 20:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-deck-p1-flexible-model>: HTTP status code is not handled or not allowed 2026-01-27 20:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imported-tpg-321-c-6-tin-coated-carbide-insert>: HTTP status code is not handled or not allowed 2026-01-27 20:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedcell-kit-with-medium-columns-for-96w-x-42d-bay-white>: HTTP status code is not handled or not allowed 2026-01-27 20:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-2400-lb-96inwx48indx60inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-27 20:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awsw-partition-88x7-p-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regenerative-blower-ab-100-3-phase-1-stage-067-hp>: HTTP status code is not handled or not allowed 2026-01-27 20:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regenerative-blower-ab-300-3-phase-1-stage-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 20:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awsw-partition-88x7-f-black>: HTTP status code is not handled or not allowed 2026-01-27 20:45:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-80-f-slate-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-27 20:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-70-f-charcoal-gray-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-27 20:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rd-76x25-f-cloud-gray-room-divider>: HTTP status code is not handled or not allowed 2026-01-27 20:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-vacuum-bags-gk-edic10q>: HTTP status code is not handled or not allowed 2026-01-27 20:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vexilar-fl-10-color-flasher-fishinglocator-fish-finder-battery-8ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-52wsvrca-4sided-l-r-open-front-12l-x-5w-vented-standing-seam-roof-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-48in-w-x-18in-d-x-60in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 20:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adly-moto-crossxover-150-300-atv-replacement-battery-2007-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rd-76x14-f-beige-room-divider>: HTTP status code is not handled or not allowed 2026-01-27 20:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers>: HTTP status code is not handled or not allowed 2026-01-27 20:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wk-wing-joining-kit>: HTTP status code is not handled or not allowed 2026-01-27 20:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loading-dock-safety-net-4-feet-x-22-feet-OHPW422>: HTTP status code is not handled or not allowed 2026-01-27 20:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd24-3-three-24-skates-wing-kit>: HTTP status code is not handled or not allowed 2026-01-27 20:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mt244836-3k295-machine-table-with-2-shelves-48w-x-24d-x-36h>: HTTP status code is not handled or not allowed 2026-01-27 20:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/earphone-eb-125-earbuds>: HTTP status code is not handled or not allowed 2026-01-27 20:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-metric-eyebolt-shoulder-pattern-m6-x-100>: HTTP status code is not handled or not allowed 2026-01-27 20:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imported-universal-right-angle-irons-ground-finish-10-inch-x-12-inch-x-16-inch>: HTTP status code is not handled or not allowed 2026-01-27 20:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multithotic-orthotic-anti-fatigue-insole-mens-1213>: HTTP status code is not handled or not allowed 2026-01-27 20:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/915-case-15-3-8l-x-12-1-8w-x-6-13-16h-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:45:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/925-case-w-padded-divider-18-11-16l-x-14-13-16w-x-7h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buell-cyclone-1200cc-motorcycle-replacement-battery-1997-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pam-esd-anti-fatigue--anti-static-insole-mens-1415>: HTTP status code is not handled or not allowed 2026-01-27 20:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/915-case-w-padded-divider-15-3-8l-x-12-1-8w-x-6-13-16h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-pegaso-strada-motorcycle-replacement-battery-2009-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-vtx1800n-1800cc-motorcycle-replacement-battery-2004-2011-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/940-case-w-foam-21-11-16l-x-16-7-8w-x-8-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-inserts-3-part-for-925-case>: HTTP status code is not handled or not allowed 2026-01-27 20:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 14661 pages (at 98 pages/min), scraped 6380 items (at 22 items/min) 2026-01-27 20:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yz450fx-450cc-motorcycle-replacement-battery-2016-2018-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/930-case-w-padded-divider-19-13-16l-x-16w-x7-5-8h-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:45:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-4-station-with-electronic-faucet-floor-mount-96l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-27 20:45:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes landed on page that is not a product page. 2026-01-27 20:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-ba9524ll-led-for-n5-series-24v-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-workbench-60-x-24-open-base-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-27 20:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbon-fibm-corr-bk>: HTTP status code is not handled or not allowed 2026-01-27 20:46:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toner-fhll8250cdn-bk>: HTTP status code is not handled or not allowed 2026-01-27 20:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lpw-series-surface-can-only-uwsa-white>: HTTP status code is not handled or not allowed 2026-01-27 20:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-welded-workbench-60-x-24-lower-shelf--louvered-panel-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-27 20:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gf-23-wood-glue-sticks-1-lb>: HTTP status code is not handled or not allowed 2026-01-27 20:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gas-cylinder-plate-with-curbs-36-w-x-42-l-2533-lb-capacity-987615>: HTTP status code is not handled or not allowed 2026-01-27 20:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters>: HTTP status code is not handled or not allowed 2026-01-27 20:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-groundforce-electric-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-1702-class-2-heavy-duty-safety-vest-orange-m>: HTTP status code is not handled or not allowed 2026-01-27 20:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-renegade-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-workbench-60-x-24-adj-height-open-base-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-27 20:46:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges landed on page that is not a product page. 2026-01-27 20:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-workbench-48-x-30-adj-height-open-base-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-27 20:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cabinet-workbench-with-2-shelves-72w-x-36d-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pacesaver-eclipse-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/albrecht-0-3-8-inch-high-precsion-keyless-drill-chuck-2jt>: HTTP status code is not handled or not allowed 2026-01-27 20:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/voyager-nylon-all-season-waterproof-overboots-threaded-outsole-l-11h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-r-turning-tool-holder>: HTTP status code is not handled or not allowed 2026-01-27 20:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-welded-workbench-48-x-24-open-base--louvered-panel-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-27 20:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-stp-stl-safet-roll-lad-wt-actu-stp-24-perf-stp-wa063214p>: HTTP status code is not handled or not allowed 2026-01-27 20:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-stp-stl-all-direct-safet-roll-lad-wt-actu-24-expan-stp-wa-ad-073214x>: HTTP status code is not handled or not allowed 2026-01-27 20:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-cover-lpgyellow-26dia-x-41-1-4h-4-rings-red>: HTTP status code is not handled or not allowed 2026-01-27 20:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zap-3-pro-flex-48v-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-pioneersp23-mobility-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 20:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-libra-125-carb-125cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-hawk-mobility-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 20:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-24w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-42w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extended-security-drawer-w-internal-speaker-ul-approved-bullet-proof>: HTTP status code is not handled or not allowed 2026-01-27 20:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lc36-large-capacity-36w-security-drawer-ul-approved-bullet-resistant-faceplate-insert>: HTTP status code is not handled or not allowed 2026-01-27 20:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dalton-4-wheel-scooter-sc-s145hd20ar-mobility-scooter-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optiway-technology-lx-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 20:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-72w-x-18d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-48w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-48w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-gulliver-aclc-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-24w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/du1253-ns-cantilever-rack-double-sided-upright-53w-x-12h>: HTTP status code is not handled or not allowed 2026-01-27 20:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econo-strip-heavy-duty-1-12-x-16l>: HTTP status code is not handled or not allowed 2026-01-27 20:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-shovel-base-black>: HTTP status code is not handled or not allowed 2026-01-27 20:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-pole-feet-pole-1-12-id>: HTTP status code is not handled or not allowed 2026-01-27 20:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-formula-si-497cc-snowmobile-replacement-battery-1997-1998-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 20:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-skandic-v-800-tundra-lt-800cc-snowmobile-battery-2008-2009-12v>: HTTP status code is not handled or not allowed 2026-01-27 20:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1449-ns-cantilever-rack-single-sided-upright-49w-x-14h>: HTTP status code is not handled or not allowed 2026-01-27 20:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econo-locking-tie-11>: HTTP status code is not handled or not allowed 2026-01-27 20:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-sag-wire-grid-power-wing-hooks-2>: HTTP status code is not handled or not allowed 2026-01-27 20:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-30w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-72w-x-30d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-72w-x-30d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-renegade-backcountry-800r-800cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-54w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-60w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-f800-800cc-snowmobile-replacement-battery-2007-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 20:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-24w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vttr-3024-30-x-24-18-ga-stainless-workbench-with-rear-turnup-galvanized-base>: HTTP status code is not handled or not allowed 2026-01-27 20:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/SVTR-6030-30-W-x-60-D-T-430-18-ga-Stainless-Steel-Workbench-with-a-15-backsplash>: HTTP status code is not handled or not allowed 2026-01-27 20:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-72w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-height-cabinet-1824dp-214-welded-19w-x-24d-x-30h-sand>: HTTP status code is not handled or not allowed 2026-01-27 20:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-48w-x-30d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ventilated-locker-vbl6-1218-1-214-six-tier-w-legs-1-wide-12x18x12-welded-sand>: HTTP status code is not handled or not allowed 2026-01-27 20:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 14757 pages (at 96 pages/min), scraped 6409 items (at 29 items/min) 2026-01-27 20:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-42w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-54w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-tire-lift-lock-combo-ctll-c>: HTTP status code is not handled or not allowed 2026-01-27 20:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-series-lock-keyed-alike-esl-ka>: HTTP status code is not handled or not allowed 2026-01-27 20:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-3l390-v-belt-3-8-x-39>: HTTP status code is not handled or not allowed 2026-01-27 20:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-control-platform-w-drum-rack-2-drum-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-54w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kenwood-nx-p1302auk-2-watt-two-way-uhf-analog-portable-radio-451-470-mhz>: HTTP status code is not handled or not allowed 2026-01-27 20:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-24w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-powered-drive-stair-climber-replacement-battery-for-model-pdsc35062>: HTTP status code is not handled or not allowed 2026-01-27 20:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-42w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-60w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-60w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-36w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b185-v-belt-5-8-x-188>: HTTP status code is not handled or not allowed 2026-01-27 20:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b193-v-belt-5-8-x-196>: HTTP status code is not handled or not allowed 2026-01-27 20:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-36w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b94-5l970-v-belt-5-8-x-97>: HTTP status code is not handled or not allowed 2026-01-27 20:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-different-1-1-2-plastic-nylon-red>: HTTP status code is not handled or not allowed 2026-01-27 20:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-jl1205a-1-phase-033-hp-115-230-volts-3450-rpm-60-hz-open-56j>: HTTP status code is not handled or not allowed 2026-01-27 20:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-48w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-8-thick-anti-fatigue-floor-mat-3-x-60-full-roll-brown-fm236720bn>: HTTP status code is not handled or not allowed 2026-01-27 20:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-208-230-460-v-10-hp-3475-rpm-3-ph-213tc-opsb>: HTTP status code is not handled or not allowed 2026-01-27 20:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-72w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-48w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-48w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-72w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-em3770t-5-1770-hp-75-rpm-213t-frame-c-face-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-27 20:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-linea-credenza-white>: HTTP status code is not handled or not allowed 2026-01-27 20:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intrinsically-safe-flashlight-200-lumens-green>: HTTP status code is not handled or not allowed 2026-01-27 20:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tb107-4-turnbuckle-body-carbon-5-8-11-dia-x-6-3-16-l>: HTTP status code is not handled or not allowed 2026-01-27 20:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/whistler-cap-style-hard-hat-hdpe-shell-vented-4-pt-textile-suspension-ratchet-adjustment-white>: HTTP status code is not handled or not allowed 2026-01-27 20:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-em3709t-5-3520-hp-75-rpm-213t-frame-foot-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-27 20:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-24w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-tek-polykor-seamless-knit-polykor-glove-polyurethane-coated-flat-grip-xxl-salt-pepper-12pk>: HTTP status code is not handled or not allowed 2026-01-27 20:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-36w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp83581t-4-3-ph-1-hp-460-v-1765-rpm-tefc-143tc-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:47:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-glossy-labeling-tape-for-embossers-3-8in-x-9-3-4ft-roll-black>: HTTP status code is not handled or not allowed 2026-01-27 20:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ken-forging-tbs-01-rh-turnbuckle-stub-1-4-20-x-5-1-4-carbon-right-hand>: HTTP status code is not handled or not allowed 2026-01-27 20:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brake-motor-ebm3218t-3-phase-208-230-460-volts-5-hp-1750-rpm-open-184t-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-dom-cap-style-dome-hard-hat-hdpe-shell-4-pt-suspension-rachet-adjustment-red>: HTTP status code is not handled or not allowed 2026-01-27 20:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-cswdm3539-3-phase-05-hp-1165-rpm-208-230-460-volts-tenv-56c-fr>: HTTP status code is not handled or not allowed 2026-01-27 20:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kilimanjaro-type-ii-full-brim-hard-hat-hdpe-shell-4-pt-textile-suspension-ratchet-adjustment-org>: HTTP status code is not handled or not allowed 2026-01-27 20:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k290-scorpion-atv-tire-1456-2s-i-145-700-6-2ply>: HTTP status code is not handled or not allowed 2026-01-27 20:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolution-deluxe-6161-full-brim-hard-hat-hdpe-shell-6-pt-suspension-ratchet-adjustment-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-idcswdm3558t-3-phase-2-hp-1750-rpm-230-460-volts-tenv-145tc-fr>: HTTP status code is not handled or not allowed 2026-01-27 20:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automotive-duty-motor-aem3686-4-3-ph-460-v-15-hp-1750-rpm-tefc-184-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-72w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-27 20:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-60w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-460-v-150-hp-1785-rpm-3-ph-445ts-tefc>: HTTP status code is not handled or not allowed 2026-01-27 20:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-dom-cap-style-dome-hard-hat-hdpe-shell-4-pt-suspension-rachet-adjustment-steel-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-30-hp-1760-rpm-3-ph-286t-tefc>: HTTP status code is not handled or not allowed 2026-01-27 20:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1002412-00u0019-gondola-shelving-24w-x-12d-almond>: HTTP status code is not handled or not allowed 2026-01-27 20:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-60w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybex-erlenmeyer-flask-500ml-6-pk>: HTTP status code is not handled or not allowed 2026-01-27 20:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-explosion-proof-motor-cdx7200-2-hp-1750-rpm-xpfc-184c>: HTTP status code is not handled or not allowed 2026-01-27 20:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-bath-block-5-x-50ml-centrifuge-tubes>: HTTP status code is not handled or not allowed 2026-01-27 20:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2002w-6-personal-fan-2-speed-110v-white>: HTTP status code is not handled or not allowed 2026-01-27 20:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3313t-g-3-ph-10-hp-230-460-v-1770-rpm-opsb-215t-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/angle-rotor-for-z446-series-4-x-500ml>: HTTP status code is not handled or not allowed 2026-01-27 20:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3158t-g-3-ph-3-hp-230-460-v-3600-rpm-odp-145t-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-washdown-motor-cdpwd3455-1-hp-1750-rpm-tefc-56c-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp83584t-5-3-ph-15-hp-575-v-1760-rpm-tefc-145t-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp84106t-4-3-ph-20-hp-460-v-3510-rpm-tefc-256tc-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-metric-motor-vp3603d-22-hp-1750-rpm-tefc-d112d-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 14855 pages (at 98 pages/min), scraped 6442 items (at 33 items/min) 2026-01-27 20:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-17-x-30-x-13mm>: HTTP status code is not handled or not allowed 2026-01-27 20:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intergral-tach-dc-motor-cdpt3436-075-hp-1750-rpm-tefc-56c-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000fr-cordless-cloth-cutting-machine>: HTTP status code is not handled or not allowed 2026-01-27 20:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-60w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-55-x-80-x-34mm>: HTTP status code is not handled or not allowed 2026-01-27 20:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-9-x-19-x-12mm>: HTTP status code is not handled or not allowed 2026-01-27 20:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drt-l90-lifebuoy-light-solas-med-orange-20-30-inch-liferings>: HTTP status code is not handled or not allowed 2026-01-27 20:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-non-telescoping-electric-high-lift-pallet-truck-2200-lbs-27-forks-987675>: HTTP status code is not handled or not allowed 2026-01-27 20:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dt-dx024rd-life-ring-w-tape-uscg-tc-orange-24>: HTTP status code is not handled or not allowed 2026-01-27 20:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-gallon-waste-convenience-center-gray-8001742>: HTTP status code is not handled or not allowed 2026-01-27 20:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-pro-gloves-nitrile-palm-fingers-abrasion-4-puncture-4-gray-black-2xl>: HTTP status code is not handled or not allowed 2026-01-27 20:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-gloves-13-gauge-nylon-shell-nitrile-palm-fingers-tpr-back-red-black-xl>: HTTP status code is not handled or not allowed 2026-01-27 20:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-24w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-control-accessory-bc149-knob-and-dial-kit>: HTTP status code is not handled or not allowed 2026-01-27 20:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-regenerative-dc-control-accessory-bc253-forward-stop-brake-reverse-switch-for-bc254>: HTTP status code is not handled or not allowed 2026-01-27 20:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-60w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-pump-0-5-hp-1-gallon-3-way-3-position-manual-valve-10-pendant>: HTTP status code is not handled or not allowed 2026-01-27 20:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-30w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-en1030-4bb-window-entry-awning-4-4-1-2-w-x-2-6-d-x-1-4-h-bright-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-pump-1-5-hp-3-gallon-4-way-3-position-solenoid-locking-valve-10-pendant>: HTTP status code is not handled or not allowed 2026-01-27 20:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conversion-base-cb2521t-12-3-4l-x-2-7-16w-x-1h>: HTTP status code is not handled or not allowed 2026-01-27 20:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-36w-x-24d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-acting-hydraulic-cylinder-55-ton-2-stroke>: HTTP status code is not handled or not allowed 2026-01-27 20:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/betterx-cleaning-specialist-system-complete-32-qt-rrspl>: HTTP status code is not handled or not allowed 2026-01-27 20:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-box-kit-standard-size-10cb5002a01sp-254-6t284-6324-6-nema-frames>: HTTP status code is not handled or not allowed 2026-01-27 20:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cat5-hs-kit-cctv-surviellance-cat5-rj45-high-speed-tool-kit>: HTTP status code is not handled or not allowed 2026-01-27 20:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-12-foot-rectangle-cafeteria-table-with-12-stools-gray-mdf-core-top-blue-stools>: HTTP status code is not handled or not allowed 2026-01-27 20:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1210-x-1-1-x-19-1210-series-tapered-locking-steel-bushing-1-bore>: HTTP status code is not handled or not allowed 2026-01-27 20:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-37-1404-odp-37-213-5c-tc-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-39-1403gld-odp-39-284-6uc-tc-frame>: HTTP status code is not handled or not allowed 2026-01-27 20:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-x-1-7-16-1-7-16-x-2-1-2-h-series-quick-detach-steel-bushing-1-7-16-bore>: HTTP status code is not handled or not allowed 2026-01-27 20:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-72w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electra-led-floor-lamp-satin-black>: HTTP status code is not handled or not allowed 2026-01-27 20:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-48w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 20:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc2bw-2-lb-non-sparking-brass-hammer-125-wood-handle>: HTTP status code is not handled or not allowed 2026-01-27 20:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-jc4000-juicer-heavy-duty-high-speed>: HTTP status code is not handled or not allowed 2026-01-27 20:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peanut-chute-w-cap-plastic>: HTTP status code is not handled or not allowed 2026-01-27 20:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-clam-shell-dispenser-2w>: HTTP status code is not handled or not allowed 2026-01-27 20:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-150l-pipette-mla-dtipper-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basement-floor-jack-19-to-36-13725-lb-extended-cap-987706>: HTTP status code is not handled or not allowed 2026-01-27 20:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-plates-9-diameter-reusable-disposable-125-pack-white>: HTTP status code is not handled or not allowed 2026-01-27 20:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-100ml-wobblenot-serological-pipet-plasticplastic-bag-sterile-50->: HTTP status code is not handled or not allowed 2026-01-27 20:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-250l-pipette-mla-dtipper-purple>: HTTP status code is not handled or not allowed 2026-01-27 20:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-1250l-pipette-tips-ovation-vistastak-nonsterile-576-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-5l-pipette-mla-dtipper-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6475-cold-storage-thermal-insulated-coverall-3xl-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-10ml-reagent-reservoir-individually-wrapped-sterile-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-blue-24w-x-42h-277660BL>: HTTP status code is not handled or not allowed 2026-01-27 20:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-compact-pistol-grip-drill-driver-tool-12-keyless-chuck-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-27 20:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rocacrylic-3800-acrylic-enamel-paint-1-gallon-can-gloss-black>: HTTP status code is not handled or not allowed 2026-01-27 20:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-diamond-plate-metallic-pvc-flooring-silver-2-5mm-x-4-x-15>: HTTP status code is not handled or not allowed 2026-01-27 20:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-312-x-512-x-12-black-rubber-obround-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6030-ip65-water-proof-portion-control-scale-10-lb-capacity-x-0-002lb-readability>: HTTP status code is not handled or not allowed 2026-01-27 20:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-2000-manway-gasket-12-x-16-x-1-graphite-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi-directional-container-pump-51503>: HTTP status code is not handled or not allowed 2026-01-27 20:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-5-gallon-polyethylene-hazmat-can-natural-75003>: HTTP status code is not handled or not allowed 2026-01-27 20:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-fluid-system-15-gallon-red-31015r>: HTTP status code is not handled or not allowed 2026-01-27 20:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commute-extended-height-task-chair-low-back-22-14---32-14h-seat-black>: HTTP status code is not handled or not allowed 2026-01-27 20:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-impact-wrench-kit-1-chuck-size-standard-friction-ring-anvil-20v>: HTTP status code is not handled or not allowed 2026-01-27 20:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-multi-purpose-table-with-post-legs--casters-60l-x-24w-x-29h-asian-night>: HTTP status code is not handled or not allowed 2026-01-27 20:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-278-x-378-x-716-black-rubber-obround-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-message-mat-194-safety-is-for-life-4x6-black>: HTTP status code is not handled or not allowed 2026-01-27 20:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 14953 pages (at 98 pages/min), scraped 6478 items (at 36 items/min) 2026-01-27 20:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mm110w-one-gang-16-in-1-weatherproof-white>: HTTP status code is not handled or not allowed 2026-01-27 20:48:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_scrubbers_floor_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-214-x-314-x-12-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:48:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_scrubbers_floor_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-multi-purpose-table-with-t-legs--casters-60l-x-24w-x-29h-columbian-walnut>: HTTP status code is not handled or not allowed 2026-01-27 20:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-round-bistro-table-42dia-columbian-walnut-topsilver-base>: HTTP status code is not handled or not allowed 2026-01-27 20:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-534-x-714-x-34-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-nut-90-union-elbow-h5506x6-3-8-inch-tube-od>: HTTP status code is not handled or not allowed 2026-01-27 20:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-thread-o-ring-connector-h5315x8x12-1-2-inch-tube-od-3-4-inch-port-size>: HTTP status code is not handled or not allowed 2026-01-27 20:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-pipe-swivel-to-male-pipe-straight-h9205x16x12-1-inch-npsm-swivel-nut-3-4-inch-male-npt>: HTTP status code is not handled or not allowed 2026-01-27 20:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/escalator-scrub-brush-set-for-vortex-18-multi-surface-scrubber-18w-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 20:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_scrubbers_floor_machines>: HTTP status code is not handled or not allowed 2026-01-27 20:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cep-6450m-50-63-81-sow-power-cord>: HTTP status code is not handled or not allowed 2026-01-27 20:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_scrubbers_floor_machines>: HTTP status code is not handled or not allowed 2026-01-27 20:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-coverall-4xl-white>: HTTP status code is not handled or not allowed 2026-01-27 20:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cep-1447-1-adapter-5-15p-to-l5-20r>: HTTP status code is not handled or not allowed 2026-01-27 20:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulkhead-union-elbow-h5525x8-1-2-inch-tube-od>: HTTP status code is not handled or not allowed 2026-01-27 20:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-nipple-hcn300-3-inch-300-npt-male-thread-300-inch-hose-id-6125-inchl>: HTTP status code is not handled or not allowed 2026-01-27 20:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-wrapped-rubber-hose-38-x-100-x-8000-psi-hot-water-hose>: HTTP status code is not handled or not allowed 2026-01-27 20:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-series-clamp-for-pipe-hdsscp125-1-1-4-inch-id>: HTTP status code is not handled or not allowed 2026-01-27 20:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-tivoli-ii-self-adhesive-vinyl-floor-planks-6-x-36-redwood-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mm2-motor-mount-nema-56-215t-frame-motorfits-reducer-styles-smr2wsmr2>: HTTP status code is not handled or not allowed 2026-01-27 20:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-clamp-hk2317-1-3-8-inch-clamping-dia-17-32-inch-bolt-hole-dia-25-pcs-bag>: HTTP status code is not handled or not allowed 2026-01-27 20:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-clamp-hc215-2-7-8-inch-nominal-dia-266-inch-min-dia-297-inch-max-dia>: HTTP status code is not handled or not allowed 2026-01-27 20:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-ballistic-tshirt-tested-to-level-iiia-ballistic-resistance-xxxlarge-black>: HTTP status code is not handled or not allowed 2026-01-27 20:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-motor-cm092p-2-bolt-249-cu-in-replaces-white-max-rpm-249-disp>: HTTP status code is not handled or not allowed 2026-01-27 20:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h50-series-hydraulic-pump-h5036201-2-4-bolt-2500-max-pressure-7-8-13-spline-shaft>: HTTP status code is not handled or not allowed 2026-01-27 20:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7wtbk-3-tapered-bushing-kit-3-fits-reducer-styles-smr7wsmr7>: HTTP status code is not handled or not allowed 2026-01-27 20:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-mich-ach-style-ballistic-helmet-level-iiia-ballistic-resistance-medium-black>: HTTP status code is not handled or not allowed 2026-01-27 20:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-mich-ach-style-ballistic-helmet-level-iiia-ballistic-resistance-xlarge-black>: HTTP status code is not handled or not allowed 2026-01-27 20:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-highcut-ballistic-helmet-with-side-rails-front-mount-xlarge-green>: HTTP status code is not handled or not allowed 2026-01-27 20:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stamped-welding-flange-fa100-1-inch-aluminum-2360-inch-od-0134-inch-thick>: HTTP status code is not handled or not allowed 2026-01-27 20:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reservoir-accessory-tfa005715-filler-strainer-breather-cap-assy>: HTTP status code is not handled or not allowed 2026-01-27 20:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-cotton-apron-w-black-anodized-snap-dark-brown-7xl>: HTTP status code is not handled or not allowed 2026-01-27 20:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tee-h3709x16-1-inch-female-npt-to-female-npt>: HTTP status code is not handled or not allowed 2026-01-27 20:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euroclean-dust-magnet-starterkit>: HTTP status code is not handled or not allowed 2026-01-27 20:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-street-elbow-h3409x16-1-inch-x-1-inch-male-to-female>: HTTP status code is not handled or not allowed 2026-01-27 20:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-street-elbow-h3409x8-1-2-inch-x-1-2-inch-male-to-female>: HTTP status code is not handled or not allowed 2026-01-27 20:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-work-positioning-post-lift-table-foot-control-48x32-4000-lb-cap-987726>: HTTP status code is not handled or not allowed 2026-01-27 20:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-crema-espresso-coffee-regular-22-lb-bag-vacuum-packed-with-one-way-valve>: HTTP status code is not handled or not allowed 2026-01-27 20:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-1-1-2-ball-valve-flanged-1-1-2-cast-iron>: HTTP status code is not handled or not allowed 2026-01-27 20:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl77-5-1-213-5tc-helical-inline-speed-reducer-213-5tc-input-flange-5-1-ratio>: HTTP status code is not handled or not allowed 2026-01-27 20:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl137-50-1-254-6tchelical-inline-speed-reducer254-6tc-input-flange50-1-ratio>: HTTP status code is not handled or not allowed 2026-01-27 20:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-flow-control-gate-valve-hgv125-1-1-4-inch-valve-200-psi-wog-non-shock>: HTTP status code is not handled or not allowed 2026-01-27 20:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hickory-half-zip-pull-over-long-sleeve-shirt-2xl-tall-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-double-check-valve-hcvd08-1-2-inch-nptf-valve-4422-psi-315-bar-max-pressure>: HTTP status code is not handled or not allowed 2026-01-27 20:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl147-5-1-324-6tc-helical-inline-speed-reducer-324-6tc-input-flange5-1-ratio>: HTTP status code is not handled or not allowed 2026-01-27 20:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-177175b-shrink-wrap-17w-x-175l-7mil-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-207298c-shrink-wrap-20w-x-298l-7mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-flex-corner-bumper-guard-3-28-fluorescent-red-yellow-60-6888>: HTTP status code is not handled or not allowed 2026-01-27 20:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-246045b-shrink-wrap-24w-x-45l-6mil-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-712w-preservation-tape-2w-x-108l-10mil-white>: HTTP status code is not handled or not allowed 2026-01-27 20:49:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wind-pro-full-zip-hooded-sweater-reflective-flame-resistant-5xl-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5451800-one-piece-handle-24>: HTTP status code is not handled or not allowed 2026-01-27 20:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-4xl-tall-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viewstation-ipad-air-1-clear-shell-black-gray-base>: HTTP status code is not handled or not allowed 2026-01-27 20:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/view-adjust-rotary-reference-organizer-10-panel-black>: HTTP status code is not handled or not allowed 2026-01-27 20:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-accessory-closed-side-base-24d-x-6h-729-parchment>: HTTP status code is not handled or not allowed 2026-01-27 20:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-athletic-performance-t-shirt-flame-resistant-6-25-oz-s-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-38w-x-28l-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grd-super-brute-3-speed-circulator-water-pump-ups-43-44-fc-52722514-115v-cast-iron>: HTTP status code is not handled or not allowed 2026-01-27 20:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purp-truck-chest-alum-full-size-13-1-cu-ft-cap-664-0-01>: HTTP status code is not handled or not allowed 2026-01-27 20:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/underbed-truck-bx-alum-compact-6-5-cu-ft-636-0-02>: HTTP status code is not handled or not allowed 2026-01-27 20:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_sheets>: HTTP status code is not handled or not allowed 2026-01-27 20:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-cam-lock-lock-for-drawers-nickel-finish>: HTTP status code is not handled or not allowed 2026-01-27 20:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e11002800-34hp-1140rpm-56-dp-230460v-3ph-60hz-cont-40c-115sf-rigid-t-stat>: HTTP status code is not handled or not allowed 2026-01-27 20:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-30w-x-36l-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:49:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:49:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-42w-x-31l-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 15046 pages (at 93 pages/min), scraped 6505 items (at 27 items/min) 2026-01-27 20:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-30w-x-36l-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-38w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-29l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5449000-48x24-utility-cart>: HTTP status code is not handled or not allowed 2026-01-27 20:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5653700-sase-shlvg-48x24x86-add-on>: HTTP status code is not handled or not allowed 2026-01-27 20:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-32w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:50:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4798400-sase-48x18x78-wire-truck>: HTTP status code is not handled or not allowed 2026-01-27 20:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-29w-x-28l-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-36w-x-29l-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-34w-x-36l-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-single-wall-corrugated-box-13-x-13-x-17-200lb-test-ect-32-kraft-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-locking-security-option-with-plain-door-manchester-faceplate-in-black>: HTTP status code is not handled or not allowed 2026-01-27 20:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-locking-security-with-decorative-fleur-de-lis-door-manchester-faceplate-antique-copper>: HTTP status code is not handled or not allowed 2026-01-27 20:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-36w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-33w-x-31l-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/450hs-34-inch-top-chest-5-drawer-black-34-inch-l-x-27-inch-h-x-25-inchd>: HTTP status code is not handled or not allowed 2026-01-27 20:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/450hs-50-inch-top-chest-12-drawer-black-50-inch-l-x-27-inch-h-x-25-inchd>: HTTP status code is not handled or not allowed 2026-01-27 20:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copper-compression-crimp-splice-long-barrel-tin-plated-6-awg-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/334-piece-master-advanced-maintenance-set>: HTTP status code is not handled or not allowed 2026-01-27 20:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boost-hd-2000-amp-lithium-jump-starter-gb70>: HTTP status code is not handled or not allowed 2026-01-27 20:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nta1828-needle-bearing-thrust-roller-assembly-bore-28575mm>: HTTP status code is not handled or not allowed 2026-01-27 20:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j45-oh-needle-bearing-drawn-cup-caged-oil-hole-bore-635mm>: HTTP status code is not handled or not allowed 2026-01-27 20:50:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-56w-x-29l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-48w-x-33l-green>: HTTP status code is not handled or not allowed 2026-01-27 20:50:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-camel-hair-paint-brushes-no-8-aluminum-ferrule-wood-handle-12-dozen>: HTTP status code is not handled or not allowed 2026-01-27 20:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preschool-brush-set-12-flat-and-12-round-brushes-24-pcs-set>: HTTP status code is not handled or not allowed 2026-01-27 20:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcb162117-needle-bearing-drawn-cup-roller-clutch-bearing-assembly-bore-254mm>: HTTP status code is not handled or not allowed 2026-01-27 20:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jh1416-oh-needle-bearing-heavy-drawn-cup-caged-oil-hole-bore-22225mm>: HTTP status code is not handled or not allowed 2026-01-27 20:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-42w-x-29l-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-60w-x-33l-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-sensory-handwriting-paper-10-1-2-inchx-8-inch-5-8-inch-ruling-40-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-27 20:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-40w-x-31l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/see-through-acrylic-ruler-12-inch-long-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vem31112-75hp-1800rpm-56c-frame-3ph-208-230-460v-odp-c-face-footless-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-27 20:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-36w-x-unhemmed-dark-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vem31116-1hp-1800rpm-56c-frame-3ph-208-230-460v-odp-c-face-footless-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-27 20:50:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/instructional_materials/flash_cards_educational_games already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/math-division-0-12-flash-cards-3-inch-x-6-inch-91-cards-box>: HTTP status code is not handled or not allowed 2026-01-27 20:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psm-50-spiralmixer-86qt-capacity-twinmotor-2speed-2hp-208v>: HTTP status code is not handled or not allowed 2026-01-27 20:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm-30-planetarymixer-30qt-capacityfloormodel-1-1-2hp-120v>: HTTP status code is not handled or not allowed 2026-01-27 20:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/post-medical-15-gallon-leak-tight-sharps-container-with-locking-screw-cap-translucent-22-cs>: HTTP status code is not handled or not allowed 2026-01-27 20:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powr-flite-premium-comfort-pro-backpack-vacuum10-quart-261716>: HTTP status code is not handled or not allowed 2026-01-27 20:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kimtech-w4-dry-wipers-flat-12-x-12-white-100pack-5-packscarton-33330>: HTTP status code is not handled or not allowed 2026-01-27 20:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-cabinet-with-128-hook-on-bins-36w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-27 20:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barn-stool-barn-buddy-bns-fg-30>: HTTP status code is not handled or not allowed 2026-01-27 20:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-ghs2012alv2-oxidizer-ghs-label-vinyl-2-x-2-250-roll>: HTTP status code is not handled or not allowed 2026-01-27 20:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-11-foot-6-inch-long-x-1-inch-wide-4-6-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-27 20:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-14-foot-6-1-2-inch-long-x-1-inch-wide-8-12-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-27 20:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-ghs2042alv2-compressed-air-ghs-label-vinyl-2-x-2-250-roll>: HTTP status code is not handled or not allowed 2026-01-27 20:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/instructional_materials/flash_cards_educational_games>: HTTP status code is not handled or not allowed 2026-01-27 20:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-40w-x-30l-red>: HTTP status code is not handled or not allowed 2026-01-27 20:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedge-locking-washer-carbon-steel-zinc-flake-coated-1-2-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-27 20:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-rectangular-desk-shell-llr69903-48-w-x-30-d-x-29-1-2-cherry>: HTTP status code is not handled or not allowed 2026-01-27 20:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coverall-with-leg-zippers-54-regular-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-hevimover-machine-rollers-8000-lb-capacity-987817>: HTTP status code is not handled or not allowed 2026-01-27 20:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-44w-x-unhemmed-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-sounder-curtain-w-hardware-1410w-x-12h-beige>: HTTP status code is not handled or not allowed 2026-01-27 20:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15271-paring-knife-high-carbon-steel-stamped-3-1-4-l>: HTTP status code is not handled or not allowed 2026-01-27 20:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-38w-x-30l-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10833-oyster-knife-boston-pattern-high-carbon-steel-stamped-white-handle-4-l>: HTTP status code is not handled or not allowed 2026-01-27 20:50:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/dollies/machine_skates_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-36w-x-32l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-40w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-40w-x-unhemmed-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:50:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-42w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-50w-x-34l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 15137 pages (at 91 pages/min), scraped 6527 items (at 22 items/min) 2026-01-27 20:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r11i-125-4603-rotary-screw-air-compressor-3-phase-460-volts-15hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-27 20:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-mesh-baskets-15x10x8-price-each-for-qty-1-2>: HTTP status code is not handled or not allowed 2026-01-27 20:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nesting-wire-baskets-18x24x8-chrome-nesting-price-each-for-qty-3>: HTTP status code is not handled or not allowed 2026-01-27 20:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-44-regular-green>: HTTP status code is not handled or not allowed 2026-01-27 20:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-ripstop-cargo-pants-42w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:50:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-35w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sha-014-spring-hangers-2-1-8-l-x-1-1-2-w-x-2-3-4-h>: HTTP status code is not handled or not allowed 2026-01-27 20:51:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/dollies/machine_skates_dollies landed on page that is not a product page. 2026-01-27 20:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcmp-020201-rubber-cork-pads-2-l-x-2-w-x-7-8-h>: HTTP status code is not handled or not allowed 2026-01-27 20:51:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-shelf-steel-shelving-with-48-akro-mils-shelf-bins-603438WH>: HTTP status code is not handled or not allowed 2026-01-27 20:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-aluminum-and-rubber-garage-door-bottom-87668-black-18-foot>: HTTP status code is not handled or not allowed 2026-01-27 20:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-smoke-seal-gasketing-68510-brown-20-foot>: HTTP status code is not handled or not allowed 2026-01-27 20:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/th083-sill-nosing-69848-36-inch-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fmd-9-compression-mount-1200-lbs-max-load-1-2-deflection>: HTTP status code is not handled or not allowed 2026-01-27 20:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-density-foam-tape-open-cell-02113-gray-1-2-inch-x-3-4-inch-x-17-foot>: HTTP status code is not handled or not allowed 2026-01-27 20:51:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 20:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-38w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:51:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-1-5-8-phillips-bugle-head-drywall-screw-steel-full-thread-coarse-pkg-of-1-lb>: HTTP status code is not handled or not allowed 2026-01-27 20:51:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sheet-plain-56040-12-inchl-x-12-inchw-x-019-inchh-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/decorative-aluminum-divider-with-nails-69138-72-inchl-for-1-16-inch-thickness-anodized>: HTTP status code is not handled or not allowed 2026-01-27 20:51:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/barrier_rope_chain already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-36w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stair-edging-29702-36-inchw-black>: HTTP status code is not handled or not allowed 2026-01-27 20:51:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-36w-x-unhemmed-black>: HTTP status code is not handled or not allowed 2026-01-27 20:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-30-inch-w-x-24-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 20:51:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/construction_adhesives already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shredder-bags-25-x-23-x-45-50-box-fits-crusher-1049s-450-p44>: HTTP status code is not handled or not allowed 2026-01-27 20:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-48-inch-w-x-18-inch-d-x-54-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 20:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-2-3-4-c-deck-composite-305-stainless-steel-star-drive-deck-screws-fire-pit-pkg-of-1750>: HTTP status code is not handled or not allowed 2026-01-27 20:51:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/barrier_rope_chain>: HTTP status code is not handled or not allowed 2026-01-27 20:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-54-inch-w-x-24-inch-d-x-74-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 20:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cesm-21cb-4248-safety-switch-mat-42-x-48-black>: HTTP status code is not handled or not allowed 2026-01-27 20:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-60w-x-30l-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-50w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:51:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/construction_adhesives landed on page that is not a product page. 2026-01-27 20:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-30w-x-28l-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-painter-9-select-roller-cover-3-8-nap-knit-semi-smooth-3-pack-697837>: HTTP status code is not handled or not allowed 2026-01-27 20:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 20:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-12-oz-aerosol-can-safety-colors-paint-primer-in-one-bright-red-flat-125844>: HTTP status code is not handled or not allowed 2026-01-27 20:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-54w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 20:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/start-right-interior-latex-vapor-barrier-primer-gallon-775836>: HTTP status code is not handled or not allowed 2026-01-27 20:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-direct-online-start-stop-100-250v-2-3-3-1a>: HTTP status code is not handled or not allowed 2026-01-27 20:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-54w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-direct-online-start-stop-100-250v-3-1-4-2a>: HTTP status code is not handled or not allowed 2026-01-27 20:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-24w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-14w-x-43-12h-deluxe-freestanding-office-partition-panel-blue-with-cherry-277528FBL>: HTTP status code is not handled or not allowed 2026-01-27 20:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-14w-x-43-12h-deluxe-freestanding-office-partition-panel-gray-with-cherry-277531FGY>: HTTP status code is not handled or not allowed 2026-01-27 20:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-triple-recycling-23-gallon-trash-container-system>: HTTP status code is not handled or not allowed 2026-01-27 20:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-12w-x-36d-x-75h-with-9-8h-plastic-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-27 20:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-plastic-shelf-bin-6-5-8w-x-23-5-8d-x-8h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws1400h-display-calculator-14-digit-lcd>: HTTP status code is not handled or not allowed 2026-01-27 20:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-plastic-shelf-bin-8-3-8w-x-11-5-8d-x-8h-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-plastic-shelf-bin-8-3-8w-x-11-5-8d-x-8h-red>: HTTP status code is not handled or not allowed 2026-01-27 20:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-gld-2-fixed-drp-dn-lad-rack-full-size-short-2277-3-01>: HTTP status code is not handled or not allowed 2026-01-27 20:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-plastic-box-truck-16-bushel-yellow-272553-8-casters>: HTTP status code is not handled or not allowed 2026-01-27 20:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/installation-clip-hfic96-carboninfused-nylon-96pk>: HTTP status code is not handled or not allowed 2026-01-27 20:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-remote-start-terminals-start-stop-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-27 20:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/library-tables-24-w-x-48-l-x-29-h-walnut>: HTTP status code is not handled or not allowed 2026-01-27 20:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-tables-30-w-x-60-l-x-36-h-walnut>: HTTP status code is not handled or not allowed 2026-01-27 20:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500027-qucik-spin-adaptor-small-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-ladder-back-bar-ht-set-graphite-nebula-laminate-table-black-vinyl-chair>: HTTP status code is not handled or not allowed 2026-01-27 20:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-remote-start-start-stop-100-250v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-27 20:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-remote-start-terminals-reset-button-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-27 20:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 15229 pages (at 92 pages/min), scraped 6553 items (at 26 items/min) 2026-01-27 20:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-1606-2rs-sealed-light-duty-0375-inch-bore-09062-inch-od>: HTTP status code is not handled or not allowed 2026-01-27 20:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-remote-start-reset-button-250-500v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-27 20:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-separate-coil-voltage-reset-button-100-250v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-27 20:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-separate-coil-voltage-reset-button-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-27 20:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-separate-coil-voltage-reset-button-100-250v-13-16a>: HTTP status code is not handled or not allowed 2026-01-27 20:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-angular-contact-bearings-5302-2rs-2-rubber-seals-heavy-duty-15mm-bore-42mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-angular-contact-bearings-5306-2rs-2-rubber-seals-heavy-duty-30mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-remote-start-start-stop-100-250v-24-29a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6308-open-heavy-duty-40mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-27 20:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-remote-start-start-stop-250-500v-20-24a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-start-stop-24-60v-13-16a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-remote-start-terminals-reset-button-250-500v-20-24a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-remote-start-terminals-reset-button-250-500v-10-13a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-remote-start-terminals-start-stop-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-4200-label-printer>: HTTP status code is not handled or not allowed 2026-01-27 20:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-34-white-vinyl-tape>: HTTP status code is not handled or not allowed 2026-01-27 20:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/858200-external-tooth-lock-nut-1-4-28-steel-zinc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-reset-button-24-60v-20-24a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/nuts/hex_nuts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/101317-socket-set-screw-1-4-20-x-1-2-cup-point-steel-black-oxide-coarse-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d643rb-osha-sign-danger-confined-space-authorized-personnel-only-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-27 20:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d648pb-osha-sign-danger-no-smoking-or-open-flame-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-27 20:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dcl114-nfpa-label-symbol-oxy-5-x-5-whiteblack-5pk>: HTTP status code is not handled or not allowed 2026-01-27 20:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m770lp-flammablecombustible-sign-propane-2-x-5-whitered>: HTTP status code is not handled or not allowed 2026-01-27 20:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/313070-heavy-hex-nut-3-8-16-steel-hot-dip-galvanized-unc-astm-a194-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/osha-sign-caution-personal-protective-equipment-required-beyond-this-point-10-x-14-ywblk-B974793>: HTTP status code is not handled or not allowed 2026-01-27 20:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-remote-start-terminals-start-stop-100-250v-22-28a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-mat-28l-x-6w-28356>: HTTP status code is not handled or not allowed 2026-01-27 20:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/nuts/hex_nuts>: HTTP status code is not handled or not allowed 2026-01-27 20:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d18pb-osha-sign-danger-diesel-no-smoking-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-27 20:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/svt1-tags-danger-do-not-use-this-scaffold-keep-off-6-x-3-red-25pk>: HTTP status code is not handled or not allowed 2026-01-27 20:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c49rb-osha-sign-caution-no-smoking-10-x-14-yellowblack>: HTTP status code is not handled or not allowed 2026-01-27 20:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-024-od-x-0032-x-1-music-wire-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-27 20:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compression-spring-0438-od-x-00475-x-4-47-rate-pkg-of-12>: HTTP status code is not handled or not allowed 2026-01-27 20:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m34p-fire-sign-emergency-exit-only-7-x-10-whitered>: HTTP status code is not handled or not allowed 2026-01-27 20:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c533pb-osha-sign-caution-keep-electric-panel-area-clear-for-36-inches-10-x-14-yellowblack>: HTTP status code is not handled or not allowed 2026-01-27 20:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porcelain-dry-erase-whiteboard-48-x-36>: HTTP status code is not handled or not allowed 2026-01-27 20:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-structural-column-protector-6-1-4-square-opening-yellow-cp1214>: HTTP status code is not handled or not allowed 2026-01-27 20:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpt170-tags-safety-inspection-6-x-3-whitegreen-25pk>: HTTP status code is not handled or not allowed 2026-01-27 20:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-1ph-remote-start-terminals-start-stop-100-250v-57-67a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-113465-silicon-carbide-1-2-x-18-80-grit>: HTTP status code is not handled or not allowed 2026-01-27 20:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-1ph-reset-button-24-60v-57-68a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-2201-aluminum-oxide-4-x-132-320-grit>: HTTP status code is not handled or not allowed 2026-01-27 20:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-separate-coil-voltage-reset-button-250-500v-65-78a>: HTTP status code is not handled or not allowed 2026-01-27 20:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-26552-aluminum-oxide-3-1-2-x-15-1-2-120-grit>: HTTP status code is not handled or not allowed 2026-01-27 20:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-282905-ceramic-1-x-42-120-grit>: HTTP status code is not handled or not allowed 2026-01-27 20:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-add-on-48-w-x-24-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-27 20:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-286769-ceramic-3-8-x-13-120-grit>: HTTP status code is not handled or not allowed 2026-01-27 20:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lx-stackable-classroom-stool-w-wheels-storage-269-lbs-capacity-white-powder-coat-paint-finish>: HTTP status code is not handled or not allowed 2026-01-27 20:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-1-2-inch-npt-coalescing-filter-35-cfm-8-000-hr-0-01-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-27 20:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-flex-for-right-ear-small>: HTTP status code is not handled or not allowed 2026-01-27 20:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-2-wire-surveillance-earpiece-motorola-blackbox-hyt-relm-tekk-radios>: HTTP status code is not handled or not allowed 2026-01-27 20:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-pro-2-wire-surveillance-earpiece>: HTTP status code is not handled or not allowed 2026-01-27 20:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-lightweight-headset-motorola-blackbox-hyt-relm-tekk-radios>: HTTP status code is not handled or not allowed 2026-01-27 20:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-2-1-2-inch-npt-2-in-1-coalescing-filter-716-cfm-8-000-hr-0-01-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-27 20:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-car-antenna-base-for-blackbox-mobile-radios>: HTTP status code is not handled or not allowed 2026-01-27 20:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-inpass-1-2-inch-npt-2-in-1-coalescing-filter-16-cfm-8-000-hr-0-01-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-27 20:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-brentwood-3br300-orb-two-handle-bathroom-faucet-with-pop-up-oil-rubbed-bronze>: HTTP status code is not handled or not allowed 2026-01-27 20:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-power-riser-72-w-x-15-d-x-18-h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-800-lb-capacity-work-platform-with-24-w-x-24-l-platform>: HTTP status code is not handled or not allowed 2026-01-27 20:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-mezzanine-ladder-96h>: HTTP status code is not handled or not allowed 2026-01-27 20:52:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olympia-elite-k-5030-orb-single-handle-pull-out-kitchen-faucet-oil-rubbed-bronze>: HTTP status code is not handled or not allowed 2026-01-27 20:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-mobile-modular-drawer-cabinet-3-drawers-w-lock-w-o-dividers-30x27x36-7-10-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-configurable-forward-descent-roll-ladder-grip-strut-ukdec106242>: HTTP status code is not handled or not allowed 2026-01-27 20:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-rack-guard-double-end-black>: HTTP status code is not handled or not allowed 2026-01-27 20:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/78-osha-stairway-stair36o-9-78>: HTTP status code is not handled or not allowed 2026-01-27 20:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-smartcompliance-refill-burn-dressing-4-inch-x-4-inch-1-per-bag>: HTTP status code is not handled or not allowed 2026-01-27 20:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 15329 pages (at 100 pages/min), scraped 6587 items (at 34 items/min) 2026-01-27 20:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-water-circulaton-kit-for-indoor-tankless-heater>: HTTP status code is not handled or not allowed 2026-01-27 20:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-engineered-mezzanine-mez-50508-bdrd-50w-x-50d-x-8h>: HTTP status code is not handled or not allowed 2026-01-27 20:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets>: HTTP status code is not handled or not allowed 2026-01-27 20:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-rigid-coupling-c600e100-c600-series-steel-1d-x-2598d-1l-shaft>: HTTP status code is not handled or not allowed 2026-01-27 20:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/133-osha-stairway-stair36o-15-133>: HTTP status code is not handled or not allowed 2026-01-27 20:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-coupling-wkeyway-mrc10skw-stainless-steel-10mm-5pk>: HTTP status code is not handled or not allowed 2026-01-27 20:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-18-inch-d-x-86-inch-h-2000-lbs-cap-4-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 20:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-3-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 20:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-21-inch-d-x-86-inch-h-2000-lbs-cap-3-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 20:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-coupling-wkeyway-mrc35skw-stainless-steel-35mm-1pk>: HTTP status code is not handled or not allowed 2026-01-27 20:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-rigid-coupling-c600e337-steel-3375d-x-6693d-338l-shaft>: HTTP status code is not handled or not allowed 2026-01-27 20:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-rigid-coupling-c600e312-steel-3125d-x-6693d-318l-shaft>: HTTP status code is not handled or not allowed 2026-01-27 20:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compressor-l800051-model-lpv6546a-single-stage-compressor-pump-2-cylinder-15-4-hp>: HTTP status code is not handled or not allowed 2026-01-27 20:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-bronze-bearing-pbpsbr100-selfaligning-pressed-steel-housing-1-bore>: HTTP status code is not handled or not allowed 2026-01-27 20:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-5-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 20:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 20:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-sided-self-supporting-tank-hs-1600-128-dia-x-44h-1600-gallon-cap-green>: HTTP status code is not handled or not allowed 2026-01-27 20:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m85-c600-series-steel-85mm-shaft>: HTTP status code is not handled or not allowed 2026-01-27 20:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-al6-lefthand-type-b-11316l-thread-fits-34-shaft>: HTTP status code is not handled or not allowed 2026-01-27 20:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-a3fs-righthand-type-c-212l-thread-fits-38-shaft>: HTTP status code is not handled or not allowed 2026-01-27 20:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 20:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-sided-self-supporting-tank-ls-1000-114-dia-x-33h-1000-gallon-cap-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/winding-arbor-wa5642-steel-0032w-slot-332od>: HTTP status code is not handled or not allowed 2026-01-27 20:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10226-1-deluxe-trigger-release-folding-walker-flame-blue-crossbrace>: HTTP status code is not handled or not allowed 2026-01-27 20:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toilet-safety-rail-rtl12087-white>: HTTP status code is not handled or not allowed 2026-01-27 20:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-24-inch-d-x-62-inch-h-2000-lbs-cap-4-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 20:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-frame-pvc-decontamination-pool-stfdp-48-48l-x-12w-x-65h-230-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-27 20:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-aire-wall-decontamination-pool-aadp-33-36l-x-12w-x-29h-60-gallon-cap-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roofing-screw-12-x-2-hex-head-pkg-of-50-itw-teks174-21416>: HTTP status code is not handled or not allowed 2026-01-27 20:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-5-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 20:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waste-mate-m292-automatic-high-head-submersible-sewage-pump-292-0001-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 20:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dpg94-gld-ansi-z87-1-dominator-gradient-safety-glasses>: HTTP status code is not handled or not allowed 2026-01-27 20:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-72-x-24-x-63-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-27 20:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsv221-m-ansi-class-2-two-tone-mesh-vest-m>: HTTP status code is not handled or not allowed 2026-01-27 20:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-5-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 20:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burglary-file-safe-cabinet-1-hr-factory-fire-rating-combo-lock-36w-x-24d-x-71h>: HTTP status code is not handled or not allowed 2026-01-27 20:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gun-safe-1-hr-fire-2-story-impact-rating-digital-lock-32w-x-22d-x-59h>: HTTP status code is not handled or not allowed 2026-01-27 20:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burglary-file-safe-cabinet-2-hr-factory-fire-rating-digital-lock-22w-x-22d-x-40h>: HTTP status code is not handled or not allowed 2026-01-27 20:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-crank-adjustable-height-workbench-laminate-safety-edge-60-in-w-x-30-in-d>: HTTP status code is not handled or not allowed 2026-01-27 20:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-ribbed-bolt-on-style-guard-rail-steel-9-foot-length-black>: HTTP status code is not handled or not allowed 2026-01-27 20:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x5-rejuvenator-square-center>: HTTP status code is not handled or not allowed 2026-01-27 20:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-basket-truck-with-vinyl-liner-18-bushel-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/florence-4b-horizontal-mailbox-140054da-28-h-9-mailboxes-front-loading-aluminum-usps>: HTTP status code is not handled or not allowed 2026-01-27 20:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/florence-4b-horizontal-mailbox-140064pla-33-38-h-6-parcel-front-loading-aluminum-usps>: HTTP status code is not handled or not allowed 2026-01-27 20:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-alligator-chain-wrench-799c-63-3-4-long-12-max-pipe>: HTTP status code is not handled or not allowed 2026-01-27 20:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drift-punch-set-96a-7-piece-set>: HTTP status code is not handled or not allowed 2026-01-27 20:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-sterile-stretch-gauze-bandage-roll-2w-x-4-18-yards-96-pcs>: HTTP status code is not handled or not allowed 2026-01-27 20:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-bin-holder-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:53:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynasorb-super-absorbent-dressings-self-adherent-4l-x-4w-120-pcs>: HTTP status code is not handled or not allowed 2026-01-27 20:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-cotton-tipped-applicators-non-sterile-6l-10000-pcs>: HTTP status code is not handled or not allowed 2026-01-27 20:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-series-file-file-mobile-pedestal-textured-sea-salt>: HTTP status code is not handled or not allowed 2026-01-27 20:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butterfly-wound-closure-sterile-12l-x-2-34w-2400-pcs>: HTTP status code is not handled or not allowed 2026-01-27 20:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-tub-mobile-cubbie-without-tubs-60w-x-15d-x-35-1-2h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-27 20:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm099j-traffic-sign-no-parking-bus-stop-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-27 20:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-storage-island-twin-w-o-tray-48w-x-29d-x-29-1-2h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-27 20:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms309g-traffic-sign-reserved-parking-connecticut-24-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 20:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynaride-s3-lite-wheelchair-flip-desk-arm-foot-rest-20w-seat>: HTTP status code is not handled or not allowed 2026-01-27 20:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-lip-edge-platform-truck-30-x-60>: HTTP status code is not handled or not allowed 2026-01-27 20:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-end-truck-w-removable-shelf-16-x-60>: HTTP status code is not handled or not allowed 2026-01-27 20:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkliftable-order-picking-truck-48-x-30-3600-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tmas19j-traffic-sign-250-fine-6-x-12-white>: HTTP status code is not handled or not allowed 2026-01-27 20:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynago-quad-6-rollator-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynaride-reclining-wheelchair-elevating-legrest-detachable-desk-arm-22-seat>: HTTP status code is not handled or not allowed 2026-01-27 20:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 15425 pages (at 96 pages/min), scraped 6619 items (at 32 items/min) 2026-01-27 20:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energy-saver-garage-attic-fan-ga-es-1500-120v-1500-cfm>: HTTP status code is not handled or not allowed 2026-01-27 20:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-large-capacity-refrigerator-for-pharmacies-abt-33-33-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-chromatography-refrigerator-abt-26cb-26-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-chromatography-refrigerator-abt-23cb-23-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-berm-ultimate-model-12-feet-x-26-feet-x-1-feet-copolymer-2000-28-oz-black>: HTTP status code is not handled or not allowed 2026-01-27 20:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/massage-roll-6-5-x-16-cm-2-6-x-6-3-blue-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 20:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-in-ground-floor-safe-with-combo-lock-if-1212c-9-12-x-9-12-x-12-14-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-binocular-stereo-boom-microscope-3-5x-90x-magnification-w-light-ring>: HTTP status code is not handled or not allowed 2026-01-27 20:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tenactiv-hi-viz-knit-blended-hppe-steel-glove-foam-nitrile-palm-ansi-a6-size-11>: HTTP status code is not handled or not allowed 2026-01-27 20:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-female-pelvis-3-part>: HTTP status code is not handled or not allowed 2026-01-27 20:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-inverted-tissue-culture-microscope-40x-800x-magnification-w-9mp-camera>: HTTP status code is not handled or not allowed 2026-01-27 20:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-stereo-zoom-microscope-on-boom-stand-3-5x-90x-magnification-w-80-led-light>: HTTP status code is not handled or not allowed 2026-01-27 20:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-osteoporosis-model>: HTTP status code is not handled or not allowed 2026-01-27 20:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-flat-foot-pes-panus>: HTTP status code is not handled or not allowed 2026-01-27 20:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mc-digital-vacuum-gauge-with-bluetooth-wireless-technology>: HTTP status code is not handled or not allowed 2026-01-27 20:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-loose-bones-hand-skeleton-left>: HTTP status code is not handled or not allowed 2026-01-27 20:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ktools-canvas-bucket-with-drawstring-close-22-inch-off-white>: HTTP status code is not handled or not allowed 2026-01-27 20:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wd-40-174-multi-use-aerosol-lubricant-8-oz-smart-straw-aerosol-can-110054-490026>: HTTP status code is not handled or not allowed 2026-01-27 20:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printing-calculator-vctpl8000-14-digit-lcd-display-screen-ac-supply-power>: HTTP status code is not handled or not allowed 2026-01-27 20:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-crew-armless-chair-floor-mount-blue-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dvd-recordable-media-max639013-dvd-r-media-16x-speed-470-gb-capcity>: HTTP status code is not handled or not allowed 2026-01-27 20:54:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10000-currency-band-pmc55010-yellow-1000-box>: HTTP status code is not handled or not allowed 2026-01-27 20:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76062-angle-grinder-cup-brush-arbor-5-8-x-11-coarse-6-knot>: HTTP status code is not handled or not allowed 2026-01-27 20:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shell-type-needle-roller-bearing-metric-6mm-bore-10mm-od-9mm-width>: HTTP status code is not handled or not allowed 2026-01-27 20:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shell-type-needle-roller-bearing-inch-closed-end-38-bore-916-od-375-width>: HTTP status code is not handled or not allowed 2026-01-27 20:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76441-drill-radial-wire-brush-shank-1-4-coarse-4-crimped>: HTTP status code is not handled or not allowed 2026-01-27 20:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-linear-actuated-elevating-cart-cart-400-d-la-15-to-51-li-400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-three-quarter-nubuck-leather-black-8d>: HTTP status code is not handled or not allowed 2026-01-27 20:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-oxford-knit-black-7eee>: HTTP status code is not handled or not allowed 2026-01-27 20:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-ruched-bootie-full-grain-leather-black-6m>: HTTP status code is not handled or not allowed 2026-01-27 20:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media>: HTTP status code is not handled or not allowed 2026-01-27 20:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26212-cobalt-drill-bit-135-3-16-x-3-1-2>: HTTP status code is not handled or not allowed 2026-01-27 20:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss316-62010-1-class-150-tee-stainless-steel-316>: HTTP status code is not handled or not allowed 2026-01-27 20:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss316-66030x20-3x2-class-150-hex-bushing-stainless-steel-316>: HTTP status code is not handled or not allowed 2026-01-27 20:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss316-69004-12-class-150-union-stainless-steel-316>: HTTP status code is not handled or not allowed 2026-01-27 20:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-three-quarter-nubuck-leather-black-7-5d>: HTTP status code is not handled or not allowed 2026-01-27 20:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss316-67020-2-class-150-cored-square-head-plug-stainless-steel-316>: HTTP status code is not handled or not allowed 2026-01-27 20:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-mounted-parallel-bars-height-width-adjustable-24l>: HTTP status code is not handled or not allowed 2026-01-27 20:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-slip-on-boat-shoe-smooth-leather-cognac-13eee>: HTTP status code is not handled or not allowed 2026-01-27 20:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-two-eye-tie-work-sneaker-breathable-knit-textile-leather-brown-tan-8-5m>: HTTP status code is not handled or not allowed 2026-01-27 20:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-lime-resistant-full-grain-leather-brown-11-5w>: HTTP status code is not handled or not allowed 2026-01-27 20:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-11-inch-pull-on-workboot-leather-brown-7-5w>: HTTP status code is not handled or not allowed 2026-01-27 20:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h18805-0000-poxygrid-labware-drain-stand-16-34l-x-6-12w-x-19h-14-supports-12-pins>: HTTP status code is not handled or not allowed 2026-01-27 20:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-wedge-work-boot-leather-brown-10w>: HTTP status code is not handled or not allowed 2026-01-27 20:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k30-3-step-aluminum-folding-step-ladder-4393801>: HTTP status code is not handled or not allowed 2026-01-27 20:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-round-pedestal-table-with-crisp-linen-top-round-silver-base-bistro-height>: HTTP status code is not handled or not allowed 2026-01-27 20:54:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-pedestal-table-with-walnut-top-round-silver-base-bistro-height>: HTTP status code is not handled or not allowed 2026-01-27 20:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valve-knob-1-1-4-inch-d-off-pilot-on-for-keating-004803>: HTTP status code is not handled or not allowed 2026-01-27 20:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gas-control-valve-1-2-inch-24v-for-southbend-1175016>: HTTP status code is not handled or not allowed 2026-01-27 20:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fast-pack-liquid-concentrate-fruit-punch>: HTTP status code is not handled or not allowed 2026-01-27 20:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1548-1a-premium-locker-single-tier-15x24x72-1-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-27 20:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-stainless-steel-top-wire-work-table>: HTTP status code is not handled or not allowed 2026-01-27 20:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zone-defense-red-nylon-shell-cut-resistant-gloves-wblack-polyurethane-palm-coat-medium>: HTTP status code is not handled or not allowed 2026-01-27 20:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-add-on-unit-72w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 20:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-add-on-unit-36w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 20:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-add-on-unit-36w-x-30d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 20:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3518-2hdv-heavy-duty-ventilated-locker-double-tier-15x21x36-6-doors-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3888-2hv-a-heavy-duty-ventilated-locker-double-tier-18x18x36-6-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:54:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 20:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-solid-door-storage-cabinet-36wx18dx72h-midnight-ebony-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-add-on-unit-30w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 20:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800-series-solid-door-wardrobe-cabinet-48wx24dx78h-midnight-ebony-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-starter-unit-72w-x-30d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 20:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-add-on-unit-36w-x-12d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 20:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inner-ring-for-machined-type-needle-roller-bearing-metric-25mm-bore-30mm-od-32mm-width>: HTTP status code is not handled or not allowed 2026-01-27 20:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubix-modular-locker-w-built-in-key-lock-12x12x12-diamond-perforated-door-marine-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrc-traffic-cone-36-inch-safety-green-6-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-service-jack-uniweld-construction-t-handle-design>: HTTP status code is not handled or not allowed 2026-01-27 20:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 15519 pages (at 94 pages/min), scraped 6645 items (at 26 items/min) 2026-01-27 20:54:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/89dh-storagemaster-piano-box-w-junk-trunk-thermosteel-steel-tan>: HTTP status code is not handled or not allowed 2026-01-27 20:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-i-o-expander-ribmn24q2c-275-15a-2-spdt-24vac-dc-0-5vdc-control-w-mt212-4>: HTTP status code is not handled or not allowed 2026-01-27 20:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-straight-finish-nail-2-length-galvanized-steel-pkg-of-25000>: HTTP status code is not handled or not allowed 2026-01-27 20:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-antimicrobial-large-capacity-laundry-cart-w-single-pole-rack>: HTTP status code is not handled or not allowed 2026-01-27 20:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-8-bushel-ups-fedex-able-vinyl-basket-all-swivel-casters-beige>: HTTP status code is not handled or not allowed 2026-01-27 20:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-esd-rubber-matting-mt3672-36x72x0080-green>: HTTP status code is not handled or not allowed 2026-01-27 20:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-marking-tape-white-1w-x-150l-roll>: HTTP status code is not handled or not allowed 2026-01-27 20:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-esd-rubber-matting-mt4548-48x50x0080-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-14-bushel-ups-fedex-able-vinyl-basket-all-swivel-casters-red>: HTTP status code is not handled or not allowed 2026-01-27 20:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage>: HTTP status code is not handled or not allowed 2026-01-27 20:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-12-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-navy>: HTTP status code is not handled or not allowed 2026-01-27 20:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-heel-grounder-125-cup-stretch-velcro-1-meg-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-14-bushel-vinyl-bumper-truck-all-swivel-casters-red>: HTTP status code is not handled or not allowed 2026-01-27 20:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-quadruple-space-saver-front-dispensing-eam-glove-rack-4014-26d>: HTTP status code is not handled or not allowed 2026-01-27 20:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-clamps-fc-10-for-10-duct-2-box>: HTTP status code is not handled or not allowed 2026-01-27 20:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tap-die-set-b44718-black-oxide-40-piece>: HTTP status code is not handled or not allowed 2026-01-27 20:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ft-outdoor-bench-backless-vertical-steel-slat-black>: HTTP status code is not handled or not allowed 2026-01-27 20:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-28-gpf-elongated-bowl-toilet-17-3-16-inch-w-x-28-5-16-inch-d-x-29-inch-h-sedona-beige>: HTTP status code is not handled or not allowed 2026-01-27 20:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transformer-prim-480v-sec-120v-for-hatco-021700500>: HTTP status code is not handled or not allowed 2026-01-27 20:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-28-gpf-bowl-toilet-w-rh-flush-17-3-16-inch-wx28-3-8-inch-dx30-1-8-inch-h-10-inch-rough-in-cotn>: HTTP status code is not handled or not allowed 2026-01-27 20:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fuse-600v-6a-for-cecilware-c395a>: HTTP status code is not handled or not allowed 2026-01-27 20:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-small-clevis-pins-for-gantry-cranes-set-of-2>: HTTP status code is not handled or not allowed 2026-01-27 20:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-yuasa-enersys-np12-12-12v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-3-ribbed-bolt-on-style-guard-rail-steel-4-5-l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-enersys-datasafe-12hx35t-fr-12v-8ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conference-table-120l-x-48w-american-dark-cherry>: HTTP status code is not handled or not allowed 2026-01-27 20:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cha-anesthesia-cart-w-compact-height-electronic-lock-green>: HTTP status code is not handled or not allowed 2026-01-27 20:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-2-v-groove-iron-wheel-with-roller-bearing-for-1-2-axle-800-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-phase-disconnect-w-internal-surge-non-fused-60-amp>: HTTP status code is not handled or not allowed 2026-01-27 20:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-2-urethane-on-iron-wheel-with-roller-bearing-for-1-2-axle-700-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-series-versatrac-5-1-4height-4-tpr-wheel-with-total-lock-brake-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-27 20:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/turbo-multi-cap-capacitor-2-5-to-15-mfd-440v>: HTTP status code is not handled or not allowed 2026-01-27 20:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-concentrate-coil-cleaner-18-oz-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 20:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-series-13-1-2height-12-durastan-wheel-rigid-caster>: HTTP status code is not handled or not allowed 2026-01-27 20:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-full-cantilever-jib-crane-4000-lb-capacity-14-span-wide-flange-beam>: HTTP status code is not handled or not allowed 2026-01-27 20:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etac-ii-power-cord-for-universal-heater-58-l-28-amps>: HTTP status code is not handled or not allowed 2026-01-27 20:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/techpure-15-germicidal-uv-light-24v>: HTTP status code is not handled or not allowed 2026-01-27 20:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900945-wht-pegboard-room-organizer-kit-hardware-included-white-opaque>: HTTP status code is not handled or not allowed 2026-01-27 20:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dti-frock-serged-seams-elastic-wrists-white-sm-30-qty>: HTTP status code is not handled or not allowed 2026-01-27 20:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lnr-xt-200-waste-oil-heater-pkg-6-inch-chimney-roof-kit-215-gallon-tank-200000-btu>: HTTP status code is not handled or not allowed 2026-01-27 20:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lnr-xtd-300-waste-oil-heater-pkg-8-inch-chimney-roof-kit-215-gallon-tank-300000-btu>: HTTP status code is not handled or not allowed 2026-01-27 20:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/152733-vertical-double-sided-stand-up-sign-holder-5-5-x-8-5-acrylic>: HTTP status code is not handled or not allowed 2026-01-27 20:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252329-single-bi-fold-wall-mount-brochure-holder-6-25-x-7-875-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-appliance-truck-with-ratchet-40187-2-wheel-60h-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-climbing-construction-harness-w-tongue-buckle-legs-s>: HTTP status code is not handled or not allowed 2026-01-27 20:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-climbing-harness-w-tongue-buckle-legs-s>: HTTP status code is not handled or not allowed 2026-01-27 20:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-metal-locker-71024-solid-door-24w-x-24d-x-72h-tan-assembled>: HTTP status code is not handled or not allowed 2026-01-27 20:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700836-6-wire-flip-scan-187-diameter-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700860-5-station-waterfall-faceout-hook-for-pegboard-slatwall-15-long-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-for-steel-bookcase-10-inch-depth-x-9-inch-height-putty>: HTTP status code is not handled or not allowed 2026-01-27 20:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-wall-clock-black>: HTTP status code is not handled or not allowed 2026-01-27 20:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-cross-arm-strap-25-feet-l-web-o-ring-d-ring>: HTTP status code is not handled or not allowed 2026-01-27 20:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gm-patient-bib-13-1-2-inch-x-18-inch-2-ply-tissue-poly-mauve-500-case>: HTTP status code is not handled or not allowed 2026-01-27 20:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-608l-royal-series-8-space-saver-pre-rinse-w-faucet-8-spout-deck-mount-low-lead>: HTTP status code is not handled or not allowed 2026-01-27 20:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-wall-or-ceiling-mount-fan-w-drop-cord-switch-2-speed-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-multistirrer6-digital-magnetic-stirrer-100-240v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-27 20:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-450l-single-hole-faucet-with-rigid-gooseneck-spout>: HTTP status code is not handled or not allowed 2026-01-27 20:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701465-yel-4-sided-interlocking-pegboard-floor-display-w-wheels-14-x-60-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800002-w-2-opaque-plastic-pegboard-locking-hook-50-pack-white>: HTTP status code is not handled or not allowed 2026-01-27 20:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keystock-9-16-x-3-4-x-6-ft-carbon-steel-plain-undersize-astm-a29>: HTTP status code is not handled or not allowed 2026-01-27 20:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keystock-12-mm-x-10-mm-x-305-mm-c45k-carbon-steel-zinc-clear-trivalent-oversize-din-6880>: HTTP status code is not handled or not allowed 2026-01-27 20:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700509-wht-two-sided-non-revolving-pegboard-countertop-display-8-x-20-white>: HTTP status code is not handled or not allowed 2026-01-27 20:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700350-gre-pegboard-powerwing-13-75-x-44-green>: HTTP status code is not handled or not allowed 2026-01-27 20:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700886-6-all-wire-hook-galvanized-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-8x10-4-wall-2-lgts-2-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/770820-pnk-pegboard-wall-panel-8-x-20-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-12x16-2-wall-3-lgt-4-dplx-1-dr-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 15616 pages (at 97 pages/min), scraped 6674 items (at 29 items/min) 2026-01-27 20:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-high-resolution-digital-indicator-ip67-range-0-4-inch-100mm-0-0004-inch-0-01mm-accuracy>: HTTP status code is not handled or not allowed 2026-01-27 20:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-digital-micrometer-w-alloy-gold-anodized-friction-thimble-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 20:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-tri-point-internal-bore-gauge-ip54-3-3-5-inch-0-001mm-0-00005-inch-accuracy-0-00015-inch>: HTTP status code is not handled or not allowed 2026-01-27 20:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-plastic-folding-chair-800-lbs-capcity>: HTTP status code is not handled or not allowed 2026-01-27 20:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-lithium-ion-5-tool-combo-kit-30-ah-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-utility-tray-for-landscape-cart>: HTTP status code is not handled or not allowed 2026-01-27 20:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-finish-nails-dcs16200-16-gauge-2-long-2500-box>: HTTP status code is not handled or not allowed 2026-01-27 20:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-12x24-3-wall-4-lgts-5-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zp-morado-super-cleaner-275-gallon-tote-mild-butyl-scent>: HTTP status code is not handled or not allowed 2026-01-27 20:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-20x20-3-wall-8-lgt-6-dplx-1-dr-white->: HTTP status code is not handled or not allowed 2026-01-27 20:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baf-powerfoil-x4-192-inch-ceiling-fan-208v-1ph>: HTTP status code is not handled or not allowed 2026-01-27 20:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-stainless-swivel-threaded-stem-caster-900725-polyurethane-4-dia-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-kit-with-36-w-whiteboard-48-w-workbench-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-inch-light-duty-stowable-stanchion-kit-w-2-inch-x-50-feet-l-chain-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 20:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-aluminum-rolling-ladder-24inw-grip-tread-21ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-27 20:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-stackable-and-nesting-tek-tray-18-3-4l-x-11-7-8w-x-1-7-8h>: HTTP status code is not handled or not allowed 2026-01-27 20:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-aluminum-rolling-ladder-24inw-ribbed-tread-28ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-27 20:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-board-handler-tray20-1-8l-x-16w-x-2-1-4h>: HTTP status code is not handled or not allowed 2026-01-27 20:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-utility-stakes-in-a-pail-9-inch-h-safety-orange-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 20:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-series-swivel-plate-caster-6082899497-brk1-polyurethane-with-brake-8dia-1500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-408199929-brk7-ss-with-brake-8dia-1000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-406109539-brk7-nylon-top-lock-brake-6dia-1200-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-rigid-plate-caster-4061089497-mold-on-polyurethane-6dia-1200-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-116460621-ldpe-500ml-capacity-water-6-pk-blue-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-27 20:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/monaco-5-piece-dining-set-natural-oat>: HTTP status code is not handled or not allowed 2026-01-27 20:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jug-style-bottle-106140001-hdpe-1-gal-12-pk-clear>: HTTP status code is not handled or not allowed 2026-01-27 20:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recumbent-stepper>: HTTP status code is not handled or not allowed 2026-01-27 20:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-exercise-putty-red-soft-6-ounce>: HTTP status code is not handled or not allowed 2026-01-27 20:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-grape-bunch-center-onlay-onl07x09x01gr-718w-x-914h-x-118d>: HTTP status code is not handled or not allowed 2026-01-27 20:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/helene-ceiling-medallion-cm11he-1178od-x-358id-x-78d>: HTTP status code is not handled or not allowed 2026-01-27 20:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparkle-exercise-putty-red-light-5-pound>: HTTP status code is not handled or not allowed 2026-01-27 20:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bremen-acanthus-stair-bracket-sb08x05brr-834w-x-758h-x-58d>: HTTP status code is not handled or not allowed 2026-01-27 20:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-putty-set-6-pieces-3-ounce-tan-yellow-red-green-blue-black>: HTTP status code is not handled or not allowed 2026-01-27 20:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-exercise-putty-yellow-4-ounce-x-soft>: HTTP status code is not handled or not allowed 2026-01-27 20:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balance-system-5-ball-wall-rack-only-no-balls>: HTTP status code is not handled or not allowed 2026-01-27 20:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-wood-locker-33365-triple-tier-3-wide-12w-x-15d-x-24h-maple-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 20:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-ma10-12e-12in-upright-automatic-scrubber-w-accessories-107408161>: HTTP status code is not handled or not allowed 2026-01-27 20:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3c10x14212x-nsf-sink-3compartment-w-10l-x-14w-bowl-12-deep-2-12-drainboards>: HTTP status code is not handled or not allowed 2026-01-27 20:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/learnfit-mobile-sit-stand-adjustable-desk-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graded-pinch-finger-exerciser-7-replacement-pinch-pins-red-light>: HTTP status code is not handled or not allowed 2026-01-27 20:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-medium-yellow-x-light>: HTTP status code is not handled or not allowed 2026-01-27 20:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exerciser-heavy-blue-small>: HTTP status code is not handled or not allowed 2026-01-27 20:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-rack-only-holds-5-pieces>: HTTP status code is not handled or not allowed 2026-01-27 20:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-vestibular-seating-standing-disc-35-cm-14-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-balance-stone-17-5-cm-7-diameter-colors-vary>: HTTP status code is not handled or not allowed 2026-01-27 20:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accordion-fold-exercise-mat-1-3-8-pu-foam-with-cover-4x8-rainbow-colors>: HTTP status code is not handled or not allowed 2026-01-27 20:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concentrate-liquid-laundry-detergent-mountain-breeze-5-gallon-pail-dia-06354>: HTTP status code is not handled or not allowed 2026-01-27 20:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-48-10-outlet-aluminum-power-strip-with-6-cord>: HTTP status code is not handled or not allowed 2026-01-27 20:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-mesh-folding-container-21-1-2-l-x-12-1-8-w-x-9-3-8-h-black>: HTTP status code is not handled or not allowed 2026-01-27 20:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lug-all-winch-hoist-height-adjustment-kit-for-adjustable-height-gantry-cranes-03-090>: HTTP status code is not handled or not allowed 2026-01-27 20:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-stp-steel-safe-roll-lad-wgt-act-lock-24-w-exp-stp-org-wa063214x-o>: HTTP status code is not handled or not allowed 2026-01-27 20:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-stp-steel-safe-roll-lad-wgt-act-lock-24-w-exp-stp-org-wa134014x-o>: HTTP status code is not handled or not allowed 2026-01-27 20:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17100-202-typical-floor-mount-single-adjustable-concealed-arms-lavatory-carrier>: HTTP status code is not handled or not allowed 2026-01-27 20:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30002-5a-z-2-no-hub-floor-drain-body-5-round-nikaloy-strainer>: HTTP status code is not handled or not allowed 2026-01-27 20:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mat-pak-4-x-8-black-smooth-on-1-side-amcp4s1>: HTTP status code is not handled or not allowed 2026-01-27 20:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6328-25ft-30a-generator-cord-w-nema-l14-30-ends>: HTTP status code is not handled or not allowed 2026-01-27 20:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-electric-office-partition-panel-with-raceway-24-1-4w-x-46h-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3in-x-1-2in-high-capacity-foam-corner-roller-12-case-3fc-050>: HTTP status code is not handled or not allowed 2026-01-27 20:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-lb-steel-davit-crane-with-110-ac-electric-winch>: HTTP status code is not handled or not allowed 2026-01-27 20:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-wire-rope-hoist-1000-lbs>: HTTP status code is not handled or not allowed 2026-01-27 20:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slice-ceramic-blade-safety-cutter-00200>: HTTP status code is not handled or not allowed 2026-01-27 20:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slice-ceramic-blade-auto-retractable-mini-cutter-10514>: HTTP status code is not handled or not allowed 2026-01-27 20:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7500-blk-everlast-polyurethane-chair-black-nylon-base-mushroom-glides>: HTTP status code is not handled or not allowed 2026-01-27 20:56:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/shop_presses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/902003-1-1-2c-3-ton-deep-throat-ratchet-leverage-press>: HTTP status code is not handled or not allowed 2026-01-27 20:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Aluminum-Address-Plate-for-Spira-Mailboxes-Black-with-10-Cast-Aluminum-Numbers>: HTTP status code is not handled or not allowed 2026-01-27 20:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17in-x-30in-pear-shaped-landing-net-metallic-green-sw66680>: HTTP status code is not handled or not allowed 2026-01-27 20:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-nylon-mesh-7-3-50-dia-x-32-l-150-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-27 20:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-nylon-mesh-4-1-8-dia-x-14-l-150-micron-plastic-flange-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-27 20:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 15717 pages (at 101 pages/min), scraped 6708 items (at 34 items/min) 2026-01-27 20:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-multifilament-4-1-8-x-14-150-micron-steel-ring-pkg-50>: HTTP status code is not handled or not allowed 2026-01-27 20:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-multifilament-7-1-8-x-32-400-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-27 20:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-poly-p-felt-7-3-50-dia-x-16-1-2-l-100-micronplastic-sure-seal-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-27 20:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10a-x-2-security-sheet-metal-screw-pan-trilobular-head-410-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/shop_presses>: HTTP status code is not handled or not allowed 2026-01-27 20:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-polyester-felt-7-3-50-dia-x-32-l-5-micron-plastic-sure-seal-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-27 20:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5mm-hex-l-wrench-long-12164>: HTTP status code is not handled or not allowed 2026-01-27 20:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-nylon-mesh-7-3-50-dia-x-32-l-600-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-27 20:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-polyester-felt-8-3-8-dia-x-36-l-5-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-27 20:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-1-1-4-security-sheet-metal-screw-flat-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4mm-balldriver-power-bit-10860>: HTTP status code is not handled or not allowed 2026-01-27 20:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polypropylene-monofil-8-x-30-250-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-27 20:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ab-x-1-1-4-security-sheet-metal-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-raceway-48-1-4w-x-64h-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-1-2-x-10-7-8-x-6-clear-view-dividable-grid-containers>: HTTP status code is not handled or not allowed 2026-01-27 20:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-1-2-x-10-7-8-x-8-clear-view-dividable-grid-containers>: HTTP status code is not handled or not allowed 2026-01-27 20:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-9-tamperproof-torx-power-bit>: HTTP status code is not handled or not allowed 2026-01-27 20:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-degree-swivel-elbow-3-8-tube-x-1-2>: HTTP status code is not handled or not allowed 2026-01-27 20:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-5mm-tube-x-1-8-metal-release-collet-knob-adjustmet>: HTTP status code is not handled or not allowed 2026-01-27 20:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-54w-x-14d-x-14h-1-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-60w-x-14d-x-14h-1-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-60w-x-14d-x-63h-4-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gm-80-plastic-disposal-bag>: HTTP status code is not handled or not allowed 2026-01-27 20:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-10mm-tube-x-1-4-metal-release-collet-flowin-screw-adjustment>: HTTP status code is not handled or not allowed 2026-01-27 20:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-30w-x-18d-x-63h-4-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a320-male-connector-w-40-pin-contacts-4-aux-handle>: HTTP status code is not handled or not allowed 2026-01-27 20:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-54w-x-24d-x-34h-2-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-27 20:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-shield-for-rt2-hotplate-rt2-basic-and-advanced-hotplate-stirrers>: HTTP status code is not handled or not allowed 2026-01-27 20:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-telesystem-6-multipoint-stirrer-with-telemodul-40-c-controller>: HTTP status code is not handled or not allowed 2026-01-27 20:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-stirring-hotplate-7-7-ceramic-top-100-120v>: HTTP status code is not handled or not allowed 2026-01-27 20:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-woven-polypropylene-bag-sun-logo-16w-6d-12l>: HTTP status code is not handled or not allowed 2026-01-27 20:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189200gz-24w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 20:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-plastic-step-stand-round-yellow-21-dia-x-12-h-st-1r-yel>: HTTP status code is not handled or not allowed 2026-01-27 20:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ml-15ml-paddles-for-tube-revolver-88881001-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hershey-s-nuggets-chocolate-candy-assortment-31-5-oz-gr>: HTTP status code is not handled or not allowed 2026-01-27 20:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gojo-hand-soap-dispenser-ltx-chrome-black-1200ml-1919-04>: HTTP status code is not handled or not allowed 2026-01-27 20:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxq-4450-incubated-shaker-with-cooling-coil-required-chiller-digital-120v>: HTTP status code is not handled or not allowed 2026-01-27 20:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxq-4450-incubated-shaker-without-cooling-coil-digital-120v>: HTTP status code is not handled or not allowed 2026-01-27 20:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-platform-kit-12-x-18-x-36>: HTTP status code is not handled or not allowed 2026-01-27 20:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-size-test-tube-rack-clamp-for-21-25mm-tubes-4-x-4-array-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usb-headset-981000014-noise-cancelling-mic-8-cord-black-silver>: HTTP status code is not handled or not allowed 2026-01-27 20:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-for-digital-drybath-88880029-holds-12-18mm-dia-tubes>: HTTP status code is not handled or not allowed 2026-01-27 20:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-120-racetrack-conference-table-with-power-data-grommet-ash-grey>: HTTP status code is not handled or not allowed 2026-01-27 20:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-42-desk-shell-ash-grey>: HTTP status code is not handled or not allowed 2026-01-27 20:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-120-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 20:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-digital-dry-bath-block-heater-single-block-capacity-100-240v>: HTTP status code is not handled or not allowed 2026-01-27 20:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxq-8000-incubated-stackable-shaker-digital-120v>: HTTP status code is not handled or not allowed 2026-01-27 20:57:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-12-w-x-15-d-x-78-h-725-hallowell-gray-single-tier-1-wide-knock-down>: HTTP status code is not handled or not allowed 2026-01-27 20:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-96-h-add-on-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 20:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-12-d-x-87-h-725-hallowell-gry-starter-unit-21-bins>: HTTP status code is not handled or not allowed 2026-01-27 20:57:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:57:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-96-h-starter-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-18-d-x-87-h-725-hallowell-gray-starter-unit-38-bins>: HTTP status code is not handled or not allowed 2026-01-27 20:57:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/westcott-13140-kids-scissors-5-blunt-pack-of-12-assorted>: HTTP status code is not handled or not allowed 2026-01-27 20:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-express-dual-10-shipper-storage-system-10-liters>: HTTP status code is not handled or not allowed 2026-01-27 20:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preference-44000-2-ply-center-pull-perforated-wipers8-14-x-12-520roll-6carton>: HTTP status code is not handled or not allowed 2026-01-27 20:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-72-h-add-on-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 20:57:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-27 20:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-between-the-studs-wall-safe-storage-cabinet-60h>: HTTP status code is not handled or not allowed 2026-01-27 20:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t5-high-output-fluorescent-lamp-f24t5830hoalto-24w-3000k>: HTTP status code is not handled or not allowed 2026-01-27 20:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-27 20:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-high-performance-incubator-gravity-convection-11-2-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-27 20:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-84-h-add-on-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utah-state-flag-4x6-nylon>: HTTP status code is not handled or not allowed 2026-01-27 20:57:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-27 20:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 15813 pages (at 96 pages/min), scraped 6739 items (at 31 items/min) 2026-01-27 20:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-aleva256624mc-valencia-series-credenza-shells-65w-x-23-35d-medium-cherry>: HTTP status code is not handled or not allowed 2026-01-27 20:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2781014-spring-ratchet-for-anthony-international-california>: HTTP status code is not handled or not allowed 2026-01-27 20:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pharmacy-vaccine-refrigerator-single-swing-glass-door-16-cu-ft-ph-abt-s16g>: HTTP status code is not handled or not allowed 2026-01-27 20:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-120-h-add-on-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3734-waste-drain-packing-nut-for-lever-handle-3-inch-and-3-1-2-inch-sink-openings>: HTTP status code is not handled or not allowed 2026-01-27 20:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-mobile-cabinet-7-drawer-72-compart-light-gray-individual-lock>: HTTP status code is not handled or not allowed 2026-01-27 20:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet-7-drawers-94-compart-bright-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-27 20:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-quiet-ceiling-exhaust-fan-w-ec-motor-and-speed-control-150-cfm-0-9-sones-120v>: HTTP status code is not handled or not allowed 2026-01-27 20:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/68-1019-1-3-hp-reversible-blower-motor-230v>: HTTP status code is not handled or not allowed 2026-01-27 20:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/y1-01-75-payloader-4-wheel-two-passenger-48v-burden-carrier>: HTTP status code is not handled or not allowed 2026-01-27 20:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-6-drawer-42-compart-bright-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-27 20:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-steel-chrome-plated-display-basket-20-inch-l-x-14-inch-w-x-5-inch-h-qty-1-4>: HTTP status code is not handled or not allowed 2026-01-27 20:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet-6-drawers-84-compart-bright-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-27 20:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1321024-roller-1-inch-od-1-4-20-nylon-tire>: HTTP status code is not handled or not allowed 2026-01-27 20:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-only-740010-ansi-compliant-first-aid-kit-refill-for-10-unit-first-aid-kits>: HTTP status code is not handled or not allowed 2026-01-27 20:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-mobile-cabinet-7-drawer72-compart-bright-blue-individual-lock>: HTTP status code is not handled or not allowed 2026-01-27 20:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-tubing-blue-100-roll-box>: HTTP status code is not handled or not allowed 2026-01-27 20:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-exerciser-yellow-14>: HTTP status code is not handled or not allowed 2026-01-27 20:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-tubing-blue-25-roll-bag>: HTTP status code is not handled or not allowed 2026-01-27 20:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1061235-face-spray-water-saver-12gpm>: HTTP status code is not handled or not allowed 2026-01-27 20:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-tubing-green-25-roll-bag>: HTTP status code is not handled or not allowed 2026-01-27 20:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-14-drawer-222-compart-bright-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-27 20:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-exercise-tubing-black-25-bag>: HTTP status code is not handled or not allowed 2026-01-27 20:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-exerciser-blue-30>: HTTP status code is not handled or not allowed 2026-01-27 20:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-al436s-stainless-steel-wire-ledge-36l-x-4h>: HTTP status code is not handled or not allowed 2026-01-27 20:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardian-solderless-fully-insulated-female-disconnect-164258-100-16-14-gauge-100-pcs>: HTTP status code is not handled or not allowed 2026-01-27 20:58:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-restaurant-lunchroom-round-bar-height-table-42-x-42-x-42-h-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 20:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-nylon-solderless-connectors-kits-163900-001-22-18-gauge-175-piece>: HTTP status code is not handled or not allowed 2026-01-27 20:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-straight-clamp-terminal-protectors-5773-025b-3-0-4-0-gauge-25-pcs>: HTTP status code is not handled or not allowed 2026-01-27 20:58:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brazed-seam-ring-terminal-copper-lugs-107112-100-6-gauge-1-4-stud>: HTTP status code is not handled or not allowed 2026-01-27 20:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-bent-magnalugs-6430-005fl-3-8-5-pcs>: HTTP status code is not handled or not allowed 2026-01-27 20:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014061-element-coil-120v-1500w-for-carter-hoffmann>: HTTP status code is not handled or not allowed 2026-01-27 20:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-2-compartment-wardrobe-storage-cabinet-solid-door-dixie-oak-color-9>: HTTP status code is not handled or not allowed 2026-01-27 20:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-pre-cut-exercise-band-green-48-l-strip-1-pack>: HTTP status code is not handled or not allowed 2026-01-27 20:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-replacement-cutter-head-536142-seal-bolt-cutter>: HTTP status code is not handled or not allowed 2026-01-27 20:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable>: HTTP status code is not handled or not allowed 2026-01-27 20:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8004584-380v-1000w-elemnt-175in-for-nieco-corp>: HTTP status code is not handled or not allowed 2026-01-27 20:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-pre-cut-exercise-band-xx-heavy-silver-48-l-strip-box-of-40>: HTTP status code is not handled or not allowed 2026-01-27 20:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-blue-48-l-band-box-of-40>: HTTP status code is not handled or not allowed 2026-01-27 20:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012232-gasket-burner-box6-pan-135-x-725-in-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-27 20:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-15304-15-50-amp-rv-straight-blade-extension-cord-with-nema-14-50p-r-ergo-grip>: HTTP status code is not handled or not allowed 2026-01-27 20:58:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplace_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-pre-cut-exercise-band-light-red-48-l-strip-box-of-40>: HTTP status code is not handled or not allowed 2026-01-27 20:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-6-yard-roll-5-color-set>: HTTP status code is not handled or not allowed 2026-01-27 20:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-station-accessory-exercise-handles-with-d-ring-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 20:58:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-27 20:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70436-11-waterfed-deck-scrub-soft-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hager-801s-door-bottom-sweep>: HTTP status code is not handled or not allowed 2026-01-27 20:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-red-50-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-27 20:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pump-assembly-for-global-industrial-mobile-scissor-lift-988933>: HTTP status code is not handled or not allowed 2026-01-27 20:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-2954-versatile-ada-compliant-handheld-shower-system>: HTTP status code is not handled or not allowed 2026-01-27 20:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-band-gold-50-yard-box-2-x-25-yd-rolls>: HTTP status code is not handled or not allowed 2026-01-27 20:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-2550-rainier-shower-arm-flange>: HTTP status code is not handled or not allowed 2026-01-27 20:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262337-locknut1-inch-zinc>: HTTP status code is not handled or not allowed 2026-01-27 20:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplace_accessories>: HTTP status code is not handled or not allowed 2026-01-27 20:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1781-brass-burner-orifice-56-natural-gas-7-16-inch-27-thread>: HTTP status code is not handled or not allowed 2026-01-27 20:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fieldpro-purofort-full-safety-boots-steel-toe-size-14-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 20:58:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_closers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-extra-heavy-duty-surface-mounted-towel-bar-24-w>: HTTP status code is not handled or not allowed 2026-01-27 20:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-pallet-stand-24w-x-36d-x-32h-6-cylinder-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seapro-purofort-full-safety-boots-steel-toe-15h-size-12-blueyellow>: HTTP status code is not handled or not allowed 2026-01-27 20:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-heavy-duty-shower-curtain-rod-36-w>: HTTP status code is not handled or not allowed 2026-01-27 20:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010382-relay-208-240-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-27 20:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/650066-82-oz-hand-scoop-brown>: HTTP status code is not handled or not allowed 2026-01-27 20:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-600-series-recessed-single-tissue-dispenser-bright-polished>: HTTP status code is not handled or not allowed 2026-01-27 20:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741284-door-gasket-10-3-8-inch-x-21-7-8-inch-for-randell>: HTTP status code is not handled or not allowed 2026-01-27 20:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-60w-x-18d-white>: HTTP status code is not handled or not allowed 2026-01-27 20:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 15906 pages (at 93 pages/min), scraped 6767 items (at 28 items/min) 2026-01-27 20:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53756-216-0-4-tube-brush-stiff-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dandux-vinyl-basket-truck-bulk-truck-10-bushel-green>: HTTP status code is not handled or not allowed 2026-01-27 20:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_closers>: HTTP status code is not handled or not allowed 2026-01-27 20:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-48w-x-18d-gray>: HTTP status code is not handled or not allowed 2026-01-27 20:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-swing-top-receptacle-21-gallon-1411htss>: HTTP status code is not handled or not allowed 2026-01-27 20:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-1-1-2-dia-straight-satin-grab-bar-30-w>: HTTP status code is not handled or not allowed 2026-01-27 20:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hw-pro-1000-non-programmable-vertical-thermostat-2h1c-heat-pump-th1210dv1007>: HTTP status code is not handled or not allowed 2026-01-27 20:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-stainless-steel-shelf-18-w-x-5-d>: HTTP status code is not handled or not allowed 2026-01-27 20:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2471035-latch-assy-for-cambro>: HTTP status code is not handled or not allowed 2026-01-27 20:59:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/clamps/toggle_clamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 20:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-x-5-8-machine-screw-pan-head-phillips-18-8-stainless-steel-unf-ft-pkg-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 20:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1781067-plate-whipper-kit-3pk-for-wilbur-curtis-co>: HTTP status code is not handled or not allowed 2026-01-27 20:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1221026-kason-10171cm0004-cylinder-lock-for-kason>: HTTP status code is not handled or not allowed 2026-01-27 20:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70412-11-waterfed-deck-scrub-extra-stiff-green>: HTTP status code is not handled or not allowed 2026-01-27 20:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-2-machine-screw-flat-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 20:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-hopper-front-bulk-truck-48-cu>: HTTP status code is not handled or not allowed 2026-01-27 20:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-30-d-production-workbench-shop-top-safety-edge-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flex-30153-plasma-st-cutter-sticktig-welder-38-cutting-capacity-30a-240v>: HTTP status code is not handled or not allowed 2026-01-27 20:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/450-series-acetylene-regulator-2-12-side-mount>: HTTP status code is not handled or not allowed 2026-01-27 20:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-production-workbench-shop-top-square-edge-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-production-workbench-maple-butcher-block-safety-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-natural-ground-black-cover-blue-tapes>: HTTP status code is not handled or not allowed 2026-01-27 20:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-clearance-bar-red-bar-white-tapes>: HTTP status code is not handled or not allowed 2026-01-27 20:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/clamps/toggle_clamps>: HTTP status code is not handled or not allowed 2026-01-27 20:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17f-standard-tig-torch>: HTTP status code is not handled or not allowed 2026-01-27 20:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-clearance-bar-black-bar-white-tapes>: HTTP status code is not handled or not allowed 2026-01-27 20:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-20-w-x-25-h-x-2-d>: HTTP status code is not handled or not allowed 2026-01-27 20:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2c-18-7-26bc-unsh-type-cmp>: HTTP status code is not handled or not allowed 2026-01-27 20:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-weld153-stick-welder-machine-120230-v>: HTTP status code is not handled or not allowed 2026-01-27 20:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/innovera-dr420-compatible-remanufactured-dr420-drum-12000-page-yield-black>: HTTP status code is not handled or not allowed 2026-01-27 20:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-48x24x80-1200-pound-capacity-with-brakes-1>: HTTP status code is not handled or not allowed 2026-01-27 20:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-utility-tray-orange-26-l-x-12-1-2-w-x-4-1-2-h>: HTTP status code is not handled or not allowed 2026-01-27 20:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-set-12-suction-insulation-38-od-x-58-od-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-set-12-suction-insulation-38-od-x-78-od-x-50l-black>: HTTP status code is not handled or not allowed 2026-01-27 20:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-16-w-x-25-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-27 20:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009297-knob-for-moffat>: HTTP status code is not handled or not allowed 2026-01-27 20:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-90176-flat-elbow-5l-x-2-58w-x-5h-white>: HTTP status code is not handled or not allowed 2026-01-27 20:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-stacker-li-truck-1000-lb-capacity-with-adjustable-30-forks-1>: HTTP status code is not handled or not allowed 2026-01-27 20:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2977-74-237-telescopic-fiberglass-handle>: HTTP status code is not handled or not allowed 2026-01-27 20:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium76-57-47-collapsible-inside-76l-x-57w-x-47>: HTTP status code is not handled or not allowed 2026-01-27 20:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-blank-laser-compatible-sheets-unprinted-both-sides-8-1-2x14-2000-cs-dx6sm0010000>: HTTP status code is not handled or not allowed 2026-01-27 20:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ductless-heat-pump-high-wall-indoor-unit-30000-btu-20-seer-208230v>: HTTP status code is not handled or not allowed 2026-01-27 20:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-pleated-filter-for-km85-sweeper-5-731-585-0>: HTTP status code is not handled or not allowed 2026-01-27 20:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-side-brush-for-km85-sweeper-6-906-132-0>: HTTP status code is not handled or not allowed 2026-01-27 20:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-through-access-door-30-x-36>: HTTP status code is not handled or not allowed 2026-01-27 20:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-heavy-duty-adjustable-metal-bin-compartment-cabinet-48-x-29-x-72>: HTTP status code is not handled or not allowed 2026-01-27 20:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-kuul-comfort-evaporative-replacement-media-set-for-jetstream-230-12w-x-6d-x-23h>: HTTP status code is not handled or not allowed 2026-01-27 20:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-snow-ice-melting-heated-stair-mat-11-x-48-120-volts>: HTTP status code is not handled or not allowed 2026-01-27 20:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29588-50-basic-aluminum-handle-purple>: HTTP status code is not handled or not allowed 2026-01-27 20:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beverage-table-72-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-27 20:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-table-with-2-1-4-backsplash-48-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-27 20:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29005-food-hoe-white>: HTTP status code is not handled or not allowed 2026-01-27 20:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tensacone-topper-orange-with-black-yellow-diagonal-striped-belt>: HTTP status code is not handled or not allowed 2026-01-27 20:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-machine-cleaner-1-gallon>: HTTP status code is not handled or not allowed 2026-01-27 20:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-turnbury-insulated-pedestal-base-mug-8-oz-48-cs-dark-blue-dx300050>: HTTP status code is not handled or not allowed 2026-01-27 20:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-108x36x96-starter-unit-green-orange-5480-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 20:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-retro-traycover-w-straight-edge-round-corner-12-3-4-x-16-5-8-1000-cs-dx5331i>: HTTP status code is not handled or not allowed 2026-01-27 20:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-weight-5-lb-gold>: HTTP status code is not handled or not allowed 2026-01-27 20:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-cube-ice-machine-1553lb>: HTTP status code is not handled or not allowed 2026-01-27 20:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-cage-padlockable-door-1>: HTTP status code is not handled or not allowed 2026-01-27 20:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29153-13-push-broom-extra-stiff-blue>: HTTP status code is not handled or not allowed 2026-01-27 20:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29147-12-angle-broom-extra-stiff-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-174-bathroom-tissue-paper-500-sheets-roll-96-rolls-case>: HTTP status code is not handled or not allowed 2026-01-27 20:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-climbing-wind-safety-helmet-type-2-4-point-mega-ratchet-suspension-yellow>: HTTP status code is not handled or not allowed 2026-01-27 20:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-wrist-and-ankle-weight-3-lb-gold->: HTTP status code is not handled or not allowed 2026-01-27 20:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29387-59-fiberglass-handle-orange>: HTTP status code is not handled or not allowed 2026-01-27 20:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221033-blade-for-waring-products>: HTTP status code is not handled or not allowed 2026-01-27 20:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-held-weighted-ball-tan-0-5-kg-1-1-lb>: HTTP status code is not handled or not allowed 2026-01-27 20:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2051098-shoe-fixed-mixer-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 20:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2901319-gmax-40v-25ah-battery>: HTTP status code is not handled or not allowed 2026-01-27 20:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-20411-100-100-sjtw-12-3-outdoor-extension-cord-with-3-outlet-nema-5-15p-r>: HTTP status code is not handled or not allowed 2026-01-27 20:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-weight-bar-3-piece-set>: HTTP status code is not handled or not allowed 2026-01-27 20:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abt-sls-23-standard-solid-door-laboratory-refrigerator-23-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 20:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16006 pages (at 100 pages/min), scraped 6795 items (at 28 items/min) 2026-01-27 20:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-plastic-shopping-cart-5-2-cu-capacity>: HTTP status code is not handled or not allowed 2026-01-27 20:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aerospec-ss-nsf-wall-shelf-29>: HTTP status code is not handled or not allowed 2026-01-27 20:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garment-wall-rack-with-12-hangers>: HTTP status code is not handled or not allowed 2026-01-27 20:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-tube-2-x-050-x-6-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262623-flat-roller>: HTTP status code is not handled or not allowed 2026-01-27 21:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdc06025-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-27 21:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-adult-ankle-weight-10-lb-blue-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 21:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-coast-guard-all-star-rug-34-inch-x-45-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/positioning-roll-blue-8-dia-x-24l>: HTTP status code is not handled or not allowed 2026-01-27 21:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-basket-28-liter-with-wire-handle-1>: HTTP status code is not handled or not allowed 2026-01-27 21:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-black-3-kg-6-6-lb>: HTTP status code is not handled or not allowed 2026-01-27 21:00:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/saute_pots_pans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-basket-stand-and-sign-for-26-liter-basket>: HTTP status code is not handled or not allowed 2026-01-27 21:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-electric-cable-hoist-400lb-double-line>: HTTP status code is not handled or not allowed 2026-01-27 21:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-insulated-safety-bib-overall-5xl-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chc05012-machine-screw>: HTTP status code is not handled or not allowed 2026-01-27 21:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/positioning-wedge-blue-22l-x-20w-x-4h>: HTTP status code is not handled or not allowed 2026-01-27 21:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a221-portable-ph-meter-stara2210>: HTTP status code is not handled or not allowed 2026-01-27 21:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-tan-0-5-kg-1-1-lb->: HTTP status code is not handled or not allowed 2026-01-27 21:00:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-cube-ice-maker-approx-505-lb-production-half-size-cube>: HTTP status code is not handled or not allowed 2026-01-27 21:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-flange-canopy-for-2-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cnc02016-machine-screw>: HTTP status code is not handled or not allowed 2026-01-27 21:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/saute_pots_pans>: HTTP status code is not handled or not allowed 2026-01-27 21:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-in-stainless-steel-guard>: HTTP status code is not handled or not allowed 2026-01-27 21:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-flange-wall-cut-for-15-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-glass-grip-flat-back-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brc08-nylon-insert-lock-nut>: HTTP status code is not handled or not allowed 2026-01-27 21:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-11-1-8-w-x-17-7-8-d-x-4-h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-42l-x-21w-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters>: HTTP status code is not handled or not allowed 2026-01-27 21:00:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013028-fan-cooling-230v-w-connector-for-turbochef>: HTTP status code is not handled or not allowed 2026-01-27 21:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-30l-inseam-x-38-waist-black>: HTTP status code is not handled or not allowed 2026-01-27 21:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009735-magnetic-catch>: HTTP status code is not handled or not allowed 2026-01-27 21:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmj04020-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-27 21:00:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-30l-inseam-x-46-waist-black>: HTTP status code is not handled or not allowed 2026-01-27 21:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emerald-full-motion-tv-wall-mount-for-37-70-tv-852>: HTTP status code is not handled or not allowed 2026-01-27 21:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-variable-length-plastic-15-seal-black-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70lb-counting-scale>: HTTP status code is not handled or not allowed 2026-01-27 21:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901316-element-tank-120v-2268w-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 21:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-on-ripstop-safety-rain-pants-csa-class-3-level-2-xs-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-32l-inseam-x-30-waist-navy>: HTTP status code is not handled or not allowed 2026-01-27 21:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/330lb-bench-and-floor-scale-cpw-plus-150p>: HTTP status code is not handled or not allowed 2026-01-27 21:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-file-folders-13-cut-first-positions-one-ply-top-tab-legal-manila-100box>: HTTP status code is not handled or not allowed 2026-01-27 21:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-spout-faucet>: HTTP status code is not handled or not allowed 2026-01-27 21:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors>: HTTP status code is not handled or not allowed 2026-01-27 21:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempered-glass-electric-standing-desk-29-to-47-h-black-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 21:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75lb-weighing-scale>: HTTP status code is not handled or not allowed 2026-01-27 21:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-pressboard-classification-folders-letter-four-section-yellow-10box>: HTTP status code is not handled or not allowed 2026-01-27 21:00:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1029-red-tin-plated-copper-butt-connector-wire-gauge-18-100-box>: HTTP status code is not handled or not allowed 2026-01-27 21:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-waterproof-poly-file-folders-13-cut-top-tab-letter-green-24box>: HTTP status code is not handled or not allowed 2026-01-27 21:00:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors landed on page that is not a product page. 2026-01-27 21:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-36-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-27 21:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-grip-blind-rivet-3-16-x-3-6-dome-head-188-375-grip-range-aluminum-steel-250-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-54-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-27 21:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-36-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-27 21:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1143-hh-66-vinyl-cement-4-oz>: HTTP status code is not handled or not allowed 2026-01-27 21:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-hand-knob-w-ss-screw-1-4-20-thread-1-1-8-inch-thread-length-1-inch-knob-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-jan-dec-open-accordion-expanding-file-12-pocket-legal-leather-like-redrope>: HTTP status code is not handled or not allowed 2026-01-27 21:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders>: HTTP status code is not handled or not allowed 2026-01-27 21:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/passive-filter-427-replacement-lens-polycarbonate-shade-12-black-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 21:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barr8-br-gn-crowdmaster-1000-barricade-100-by-43-bridge-feet-green>: HTTP status code is not handled or not allowed 2026-01-27 21:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/414471-hbs-1321w-13-semi-auto-horizontal-bandsaw-230-460v-3-phase>: HTTP status code is not handled or not allowed 2026-01-27 21:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031038-disconnect-hose-fem-w-knob-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-27 21:00:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/hi_vis_jackets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-1-31-open-accordion-expanding-file-31-pockets-letter-leather-like-redrope>: HTTP status code is not handled or not allowed 2026-01-27 21:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/whistle-rope-lanyard-royal-blue-10-429-roy>: HTTP status code is not handled or not allowed 2026-01-27 21:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-insulated-hydro-parka-jacket-s-black>: HTTP status code is not handled or not allowed 2026-01-27 21:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireproof-4-drawer-vertical-file-cabinet-legal-letter-25-1-16-lx17-3-4-wx52-3-4-h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16098 pages (at 92 pages/min), scraped 6821 items (at 26 items/min) 2026-01-27 21:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-w-x-18-d-x-63-h-blue-nylon-cover>: HTTP status code is not handled or not allowed 2026-01-27 21:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4ft-long-box-pleat-skirting-8h-stage-black>: HTTP status code is not handled or not allowed 2026-01-27 21:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-ring-buoy-white-uscg-approved-10-205-whi>: HTTP status code is not handled or not allowed 2026-01-27 21:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-slash-pocket-jackets-letter-poly-bluecleargreenredyellow-5pack>: HTTP status code is not handled or not allowed 2026-01-27 21:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adultchild-cpr-mask-10-525>: HTTP status code is not handled or not allowed 2026-01-27 21:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1981179-insert-slant-knife-for-edlund>: HTTP status code is not handled or not allowed 2026-01-27 21:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sled-base-stack-chair-with-seat-and-back-pad-400-lb-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 21:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/hi_vis_jackets>: HTTP status code is not handled or not allowed 2026-01-27 21:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-700mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321059-steam-hose-per-ft>: HTTP status code is not handled or not allowed 2026-01-27 21:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-48-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-27 21:01:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/welding/welding_blankets_curtains already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1201176-caster-boot-2-inch-f-1-inch-od-tube>: HTTP status code is not handled or not allowed 2026-01-27 21:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-blue-tray-60-w-72-w-workbench>: HTTP status code is not handled or not allowed 2026-01-27 21:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbon-fiber-felt-welding-blanket-6w-x-8h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquarad-rain-coat-xl-25-mil-tpu-200d-nylon-yellow-rj33-nsyy-xl>: HTTP status code is not handled or not allowed 2026-01-27 21:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-430mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mp1-det-clv-mount-kit-3-1-4-bore-nfpa-cylinder>: HTTP status code is not handled or not allowed 2026-01-27 21:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-3-heavy-duty-engineer-vest-green-5xl-sv55-3zgd-5x>: HTTP status code is not handled or not allowed 2026-01-27 21:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-straight-carpet-96l-x-18w-x-16h-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/welding/welding_blankets_curtains>: HTTP status code is not handled or not allowed 2026-01-27 21:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681539-hose-oil-5-8-inch-x-17-1-2-inch-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-27 21:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341594-warmer-element-120v-700w-for-intermetro-industries>: HTTP status code is not handled or not allowed 2026-01-27 21:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18awg-4c-stranded-control-cable-plenum-cmp-1000-ft-box-white>: HTTP status code is not handled or not allowed 2026-01-27 21:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledge-60-l-x-4-h-wire-shelves>: HTTP status code is not handled or not allowed 2026-01-27 21:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-hot-flat-heating-blanket-eh0325-26l-x-4w>: HTTP status code is not handled or not allowed 2026-01-27 21:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warming-gel-32-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-27 21:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kolorcut-cutting-board-18x24x1-2-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spherical-rod-eye-cs-20-for-iso-cylinders-m8x1-25-threads>: HTTP status code is not handled or not allowed 2026-01-27 21:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-89978-04-04-knob-adj-14-tube-x-14-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-27 21:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-36-lb-blocks-wintergreen-fragrance>: HTTP status code is not handled or not allowed 2026-01-27 21:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-36-lb-blocks-unscented-fragrance>: HTTP status code is not handled or not allowed 2026-01-27 21:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-solid-galvanized-shelf-cart-36x24-2-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-360mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-solid-galvanized-shelf-cart-72x18-3-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waffle-weave-bar-towel-18x18>: HTTP status code is not handled or not allowed 2026-01-27 21:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-89953-06-06-screw-adj-38-tube-x-38-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-27 21:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-48x48x84-with-3-shelves-wood-deck-1200-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-27 21:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-coverall-4xl-black>: HTTP status code is not handled or not allowed 2026-01-27 21:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-single-acting-magnetic-cylinder-20mm-bore-x-25mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-22>: HTTP status code is not handled or not allowed 2026-01-27 21:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600lb-counter-balance-weight>: HTTP status code is not handled or not allowed 2026-01-27 21:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-42-w-x-18-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-27 21:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-1226-toaster-element-116v-328w-5-1-2-inch-x-5-1-8-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-double-acting-magnetic-cylinder-25mm-bore-x-80mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-double-acting-magnetic-cylinder-25mm-bore-x-25mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-overall-5xl-blackfluorescent-yellow-green>: HTTP status code is not handled or not allowed 2026-01-27 21:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-s-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beanie-watch-cap-xl-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-2>: HTTP status code is not handled or not allowed 2026-01-27 21:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-9>: HTTP status code is not handled or not allowed 2026-01-27 21:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-300-400-amp-pipe-thawing>: HTTP status code is not handled or not allowed 2026-01-27 21:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-coupling-82300n-02-18-nptf-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-27 21:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-magnetic-burning-guide>: HTTP status code is not handled or not allowed 2026-01-27 21:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-heavy-duty-tan-shelving-48-w-x-12-d-x-84-h-with-5-shelves-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-l-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-record-storage-rack-gray-72-wx-48-d-x-60-h-with-polyethylene-file-boxes>: HTTP status code is not handled or not allowed 2026-01-27 21:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-85968-04-32-knob-adj14-tube-x-10-32-unf-male-threadcomposite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gate-valve-lockout-fits-10---13-dia-handles-steel-red>: HTTP status code is not handled or not allowed 2026-01-27 21:01:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-260mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-cover-foam-filled-terry-oversize-with-pocket-24x-30>: HTTP status code is not handled or not allowed 2026-01-27 21:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2041122-element-heat-120v-675w-kit-for-hatco-corp>: HTTP status code is not handled or not allowed 2026-01-27 21:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-faucet-cans-brass-5-gallons>: HTTP status code is not handled or not allowed 2026-01-27 21:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1032-tin-plated-copper-female-disconnect-1-4-inch-tab-wire-gauge-14-100-box>: HTTP status code is not handled or not allowed 2026-01-27 21:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-adjustable-keyboard-tray>: HTTP status code is not handled or not allowed 2026-01-27 21:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321857-brush-cleaning-fryerbasket>: HTTP status code is not handled or not allowed 2026-01-27 21:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-mt-navy>: HTTP status code is not handled or not allowed 2026-01-27 21:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-hazmat-cabinet-self-close-60-gallon>: HTTP status code is not handled or not allowed 2026-01-27 21:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481111-hinge-door-assembly-center-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 21:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-270mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves>: HTTP status code is not handled or not allowed 2026-01-27 21:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16195 pages (at 97 pages/min), scraped 6848 items (at 27 items/min) 2026-01-27 21:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/851017-ring-term-bx-100>: HTTP status code is not handled or not allowed 2026-01-27 21:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-18-inch-id-x-1-58-inch-od-x-0062-inch-steel-arbor-spacer-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-flood-stopper-bag-2l-x-1w-x-12h-black-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 21:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-flammable-liquid-tower-safety-cabinet-manual-close-16-gallon>: HTTP status code is not handled or not allowed 2026-01-27 21:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1502504-pump-economy-65-inch-dip-tube-2-pk-for-san-jamar>: HTTP status code is not handled or not allowed 2026-01-27 21:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-roll-fold-steel-rolling-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-27 21:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-roll-fold-steel-rolling-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-27 21:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-disc-967a-4-1-2-inch-x-7-8-inch-60-grit-ceramic-grain-type-27-wheel>: HTTP status code is not handled or not allowed 2026-01-27 21:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/168294-blade-set-nem-for-nemco>: HTTP status code is not handled or not allowed 2026-01-27 21:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-guard-rail-3-rib-10-ft-l-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-extra-heavy-duty-boltless-shelving-add-on-48-in-w-x-12-in-d-x-72-in-h>: HTTP status code is not handled or not allowed 2026-01-27 21:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70025-9-10-x-9-10-mobile-skylight-protection-system-polyester-galvanized-steel-black>: HTTP status code is not handled or not allowed 2026-01-27 21:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finish-thompson-48-drum-pump-kit-pvdf-tube-iconel-shaft-air-motor>: HTTP status code is not handled or not allowed 2026-01-27 21:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61140-stair-mount-for-guardrail-post-powder-coated-steel-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-60110-4-18-4mm-tube-x-18-bspt-thread-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009443-chute-support-knob-for-globe-food-equipment>: HTTP status code is not handled or not allowed 2026-01-27 21:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infeed-exit-conveyor-for-412559>: HTTP status code is not handled or not allowed 2026-01-27 21:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009864-fan-cover-evaporatormasterbui>: HTTP status code is not handled or not allowed 2026-01-27 21:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latch-arm-assembly-for-globalindustrial-2-3-cu-yd-dumping-hopper-w-bump-release>: HTTP status code is not handled or not allowed 2026-01-27 21:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-60215-10-38-10mm-tube-x-38-male-bspp-thread-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-piece-steel-shim-stock-assortment-6-inch-x-50-inch-rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx24-dx73-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-27 21:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-55210-14-38-14mm-tube-x-38-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30026-p-plastic-barrier-chain-in-a-pail-hdpe-1-5-x300-6-38mm-traffic-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-transfer-tank-100-gal-l-tank-long-wh-29224167>: HTTP status code is not handled or not allowed 2026-01-27 21:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-level-extra-laminated-shelving-36x12-with-1500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx24-dx85-h-open-clip-style-6-shelf>: HTTP status code is not handled or not allowed 2026-01-27 21:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30107-plastic-barrier-chain-on-a-reel-hdpe-1-5-x200-6-38mm-gold>: HTTP status code is not handled or not allowed 2026-01-27 21:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30104-plastic-barrier-chain-on-a-reel-hdpe-1-5-x200-6-38mm-green>: HTTP status code is not handled or not allowed 2026-01-27 21:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30018-p-plastic-barrier-chain-in-a-pail-hdpe-1-5-x300-6-38mm-pink>: HTTP status code is not handled or not allowed 2026-01-27 21:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0702325-6-408-osy-epoxy-coated-gate-valve>: HTTP status code is not handled or not allowed 2026-01-27 21:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56h-dp-1ph-3450rpm-p6k34dk18aa>: HTTP status code is not handled or not allowed 2026-01-27 21:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30023-500-plastic-barrier-chain-hdpe-1-5-x500-6-38mm-purple>: HTTP status code is not handled or not allowed 2026-01-27 21:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-piece-steel-shim-stock-assortment-8-inch-x-12-inch-sheets>: HTTP status code is not handled or not allowed 2026-01-27 21:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/streamlight-85175-cr123a-lithium-batteries-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-55210-6-14-6mm-tube-x-14-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8-x-1-25-x-60mm-flat-head-socket-cap-screw-304-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-27 21:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-215-tefc-1ph-1740rpm-b-2>: HTTP status code is not handled or not allowed 2026-01-27 21:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-drum-transporter-li-er-1100-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-215-tefc-1ph-1740rpm-p215k17fb6hh>: HTTP status code is not handled or not allowed 2026-01-27 21:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-epnv-3ph-1725-1425rpm-a6t17ek8cc>: HTTP status code is not handled or not allowed 2026-01-27 21:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartcompliance-refill-nitrile-finger-cot-one-size-50box>: HTTP status code is not handled or not allowed 2026-01-27 21:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b44hs-all-ss-worm-gear-hose-clamp-2-516-inch-3-14-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51023-25-heavy-duty-plastic-barrier-chain-hdpe-2-x25-54mm-purple>: HTTP status code is not handled or not allowed 2026-01-27 21:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superior-graphite-33203g-slip-plate12-ounce-aerosol-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 21:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-cabinet-wardrobe-storage-2>: HTTP status code is not handled or not allowed 2026-01-27 21:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-y-55310-10-10mm-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-20mm-flat-head-socket-cap-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30008-25-plastic-barrier-chain-hdpe-1-5-x25-6-38mm-silver>: HTTP status code is not handled or not allowed 2026-01-27 21:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-nylon-insert-lock-nut-304-stainless-steel-din-985-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271105-caster-ofe-w-brake-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-27 21:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-55210-8-38-8mm-tube-x-38-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-nylon-insert-lock-nut-304-stainless-steel-din-985-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6634-cooling-headband-one-size-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011376-air-shutter-single>: HTTP status code is not handled or not allowed 2026-01-27 21:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-8934-ranger-hat-with-neck-shade-lxl-lime>: HTTP status code is not handled or not allowed 2026-01-27 21:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-eyebolt-1-2-13-x-6l-1-id-2-od-shoulder-pattern-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx12-dx73-h-closed-clip-style-5-shelf-starter>: HTTP status code is not handled or not allowed 2026-01-27 21:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-elbow-82510n-08-12-nptf-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-27 21:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-henley-shirt-3xl-regular-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd44h-916-inch-band-heavy-duty-3-pc-part-ss-hose-clamp-10-pcs>: HTTP status code is not handled or not allowed 2026-01-27 21:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-48-3-door-indoor-wood-enclosed-letterboard-walnut-frame>: HTTP status code is not handled or not allowed 2026-01-27 21:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-locker-triple-tier-12x18x24-9-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bagcraft-papercon-grease-resistant-paper-wrapliners-12-x-12-red-check>: HTTP status code is not handled or not allowed 2026-01-27 21:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-m-tall-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfy-c-grip-hand-orthosis-adult-large-left-with-1-cover-and-2-soft-rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brita-on-tap-faucet-water-filter-system-white>: HTTP status code is not handled or not allowed 2026-01-27 21:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16294 pages (at 99 pages/min), scraped 6879 items (at 31 items/min) 2026-01-27 21:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-x-0-8-x-20mm-socket-head-cap-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reynolds-wrap-pop-up-interfolded-aluminum-foil-sheets-12-x-10-34-silver>: HTTP status code is not handled or not allowed 2026-01-27 21:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-xl-short-navy>: HTTP status code is not handled or not allowed 2026-01-27 21:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-215-tefc-1ph-1740rpm-c215k17fb12bb>: HTTP status code is not handled or not allowed 2026-01-27 21:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-gallon-rubbermaid-large-mobile-waste-receptacle-gray-with-lid>: HTTP status code is not handled or not allowed 2026-01-27 21:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-3ph-1725-1425rpm-c6t17fc114dd>: HTTP status code is not handled or not allowed 2026-01-27 21:03:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-truck-gwk-pmx45-lw-fits-bt-prime-mover-model-pmx-45>: HTTP status code is not handled or not allowed 2026-01-27 21:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-4xl-short-navy>: HTTP status code is not handled or not allowed 2026-01-27 21:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sentinel-conversion-kit-8-plates-hoisting-rings-box-rack-hardware>: HTTP status code is not handled or not allowed 2026-01-27 21:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-1ph-1725rpm-c6c17fc6ll>: HTTP status code is not handled or not allowed 2026-01-27 21:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/221101-kason-10538000004-latch-with-strike-for-atlas-metal-industries>: HTTP status code is not handled or not allowed 2026-01-27 21:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-coverall-4xl-tall-navy>: HTTP status code is not handled or not allowed 2026-01-27 21:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-advanced-antibacterial-foam-hand-soap-1250ml-refill-6-refills-case>: HTTP status code is not handled or not allowed 2026-01-27 21:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pliers-irwin-vise-grip-2078406>: HTTP status code is not handled or not allowed 2026-01-27 21:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-2xl-short-khaki>: HTTP status code is not handled or not allowed 2026-01-27 21:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-2-inch-x-0005-inch-stainless-steel-slotted-shim-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-27 21:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-coverall-xl-tall-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spiral-screw-extractors-irwin-hanson-11117>: HTTP status code is not handled or not allowed 2026-01-27 21:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls>: HTTP status code is not handled or not allowed 2026-01-27 21:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-bookcase-five-shelf-34-1-2-w-x-12-5-8-d-x-71-h-putty>: HTTP status code is not handled or not allowed 2026-01-27 21:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-plastic-box-truck-14-bushel-medium-duty>: HTTP status code is not handled or not allowed 2026-01-27 21:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-x-1-inch-x-0025-inch-white-plastic-color-coded-slotted-shim-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-27 21:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thread-repair-kit-for-metal-standard-wall-m6-1-0-x-3-8-16-ez-650-6>: HTTP status code is not handled or not allowed 2026-01-27 21:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1149-model-9d-dual-check-backflow-preventer-w-atmospheric-vent-1-2-inch-fpt-union-fitting>: HTTP status code is not handled or not allowed 2026-01-27 21:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-x-1-inch-x-00125-inch-black-plastic-color-coded-slotted-shim-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-27 21:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011239-gasket-door-22-1-2-inch-x-31-1-2-inch-for-beverage-air>: HTTP status code is not handled or not allowed 2026-01-27 21:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-3-inch-x-0025-inch-stainless-steel-slotted-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-hang-type-magnetic-sweeper-with-forkli-hanger-84-w>: HTTP status code is not handled or not allowed 2026-01-27 21:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-mannequin-upper-body-part>: HTTP status code is not handled or not allowed 2026-01-27 21:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421402-handle-wood-54-inch-tapered-end-for-carlisle-foodservice-products>: HTTP status code is not handled or not allowed 2026-01-27 21:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cove-heater-kcv2410-w-83-white-240-208v-935-701w>: HTTP status code is not handled or not allowed 2026-01-27 21:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2281216-caster-stem-w-brk-5-inch-3-4-inch-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 21:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frameless-glass-showcase-full-vision-36w-x-16d-x-72h-2-shelves>: HTTP status code is not handled or not allowed 2026-01-27 21:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-baked-epoxy-steel-step-on-can-24-quart>: HTTP status code is not handled or not allowed 2026-01-27 21:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-144w-x-42d-x-120h>: HTTP status code is not handled or not allowed 2026-01-27 21:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spku-lift-universal-forklift-spill-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-1193-magnetic-door-gasket-21-9-16-inch-x-59-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reusable-and-adjustable-face-mask-2-ply-cotton-l-xl-black-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0035-inch-diameter-stainless-steel-wire-1-pound-coil>: HTTP status code is not handled or not allowed 2026-01-27 21:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7flex-dual-monitor-arm-black>: HTTP status code is not handled or not allowed 2026-01-27 21:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1200va-smart-pro-rack-tower-digital-lcd-8-outlet>: HTTP status code is not handled or not allowed 2026-01-27 21:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/litefit-standard-harness-tongue-buckle-legs-xxl>: HTTP status code is not handled or not allowed 2026-01-27 21:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/decoil-stretch-lanyard-6l-snaphooks-w-rebar-hook>: HTTP status code is not handled or not allowed 2026-01-27 21:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-armor-2000-standard-harness-quick-connect-legs-m-l>: HTTP status code is not handled or not allowed 2026-01-27 21:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/on-off-push-thru-socket-with-set-screw-brite-gilt>: HTTP status code is not handled or not allowed 2026-01-27 21:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-dock-board-with-steel-curbs-3>: HTTP status code is not handled or not allowed 2026-01-27 21:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-canopy-kit-brass-finish>: HTTP status code is not handled or not allowed 2026-01-27 21:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-dock-board-with-steel-curbs-7>: HTTP status code is not handled or not allowed 2026-01-27 21:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/canopy-kit-with-convenience-outlet-brass-finish>: HTTP status code is not handled or not allowed 2026-01-27 21:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-panel-divider-6-ft-8-inch-high-x-13-ft-1-inch-long-fabric-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-canopy-kit-black-finish1-1-16-in-center-hole>: HTTP status code is not handled or not allowed 2026-01-27 21:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-verticallamp-support-clip>: HTTP status code is not handled or not allowed 2026-01-27 21:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-plastic-receptacle-ashtray-lid-42-gallon-black>: HTTP status code is not handled or not allowed 2026-01-27 21:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cwc2rw-led-combo-exitemergency-light-wet-location-red-letters-white-dual-face>: HTTP status code is not handled or not allowed 2026-01-27 21:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06110-1-4-x-3-x-4-plastic-horseshoe-shim-solid-54s-250pc>: HTTP status code is not handled or not allowed 2026-01-27 21:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-2373-3-inch-swivel-plate-caster-with-brake-200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-stainless-steel-48-riser-shelf>: HTTP status code is not handled or not allowed 2026-01-27 21:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cer-led-exit-sign-red-w-white-housing-battery-back-up>: HTTP status code is not handled or not allowed 2026-01-27 21:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relevance-walnut-round-coffee-table>: HTTP status code is not handled or not allowed 2026-01-27 21:03:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06435-1-4-x-1-x-2-plastic-masonry-shim-2114-1020pc>: HTTP status code is not handled or not allowed 2026-01-27 21:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flannel-fabric-guest-chair-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-24-steel-safety-angle-orange-rolling-ladder-serrated-sw730g-o>: HTTP status code is not handled or not allowed 2026-01-27 21:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-tech-heavy-duty-outrigger-pad-24-x-24-x-1-thick-pad24241>: HTTP status code is not handled or not allowed 2026-01-27 21:03:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/coat_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-shock-absorption-mounts-conical-type-75-22-max-load-B1121233>: HTTP status code is not handled or not allowed 2026-01-27 21:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-x-1-2in-natural-sea-sponge-mini-roller-cover-12-case-6fp-050>: HTTP status code is not handled or not allowed 2026-01-27 21:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/detachable-33-foot-power-cord-replacement-for-ma10-part-107416428>: HTTP status code is not handled or not allowed 2026-01-27 21:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16386 pages (at 92 pages/min), scraped 6906 items (at 27 items/min) 2026-01-27 21:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-part-reeved-cross-parallel-mount-assembly-model-23456925>: HTTP status code is not handled or not allowed 2026-01-27 21:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs30l7-compact-commercially-listed-medical-freezer-manual-defrost-1-8-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 21:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7001d-dura-polyurethane-chair-black-nylon-base-mushroom-glides-black>: HTTP status code is not handled or not allowed 2026-01-27 21:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers>: HTTP status code is not handled or not allowed 2026-01-27 21:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7500d-dura-polyurethane-chair-black-nylon-base-mushroom-glides-black>: HTTP status code is not handled or not allowed 2026-01-27 21:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-tapered-with-carpet-60l-x-18w-x-8h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/coat_racks>: HTTP status code is not handled or not allowed 2026-01-27 21:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10in-fine-scrub-pads-white-2-pack-sw55220>: HTTP status code is not handled or not allowed 2026-01-27 21:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-wall-tray-for-precision-shaking-water-baths>: HTTP status code is not handled or not allowed 2026-01-27 21:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-nylon-mesh-7-3-50-dia-x-16-1-2-l-300-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-27 21:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-multifilament-7-1-8-x-16-1-2-150-micronplastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-27 21:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-1-1-4-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-27 21:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-32-tamperproof-hex-screwdriver>: HTTP status code is not handled or not allowed 2026-01-27 21:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-3-4-security-cap-screw-flat-socket-head-18-8-stainless-steel-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-27 21:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-x-0-8-x-10mm-security-machine-screw-flat-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8a-x-1-security-sheet-metal-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-3-security-sheet-metal-screw-flat-phillips-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-27 21:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-activity-table-48w-x-48l-x-15-to-24h-classic-maple>: HTTP status code is not handled or not allowed 2026-01-27 21:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5mm-hex-tamper-resistant-l-wrench-48364>: HTTP status code is not handled or not allowed 2026-01-27 21:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-prohold-balldriver-t-handle-75113>: HTTP status code is not handled or not allowed 2026-01-27 21:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-x-0-8-x-12mm-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-7-8-x-41-7-8-x-17-1-2-rack-bin-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-3-8-security-cap-screw-flat-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-1-2-x-41-7-8-x-17-1-2-rack-bin-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-window-60-1-4w-x-43-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-office-partition-panel-with-partial-window-48-1-4-w-x-42-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-with-partial-window-36-1-4w-x-47-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-tamperproof-spanner-bit-1-4-hex-shank>: HTTP status code is not handled or not allowed 2026-01-27 21:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-c-warm-oak-left-lbow-desk>: HTTP status code is not handled or not allowed 2026-01-27 21:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trax-one-gallon>: HTTP status code is not handled or not allowed 2026-01-27 21:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-block-one-gallon>: HTTP status code is not handled or not allowed 2026-01-27 21:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k16bt-24h-24-husky-high-performance-thermocouple>: HTTP status code is not handled or not allowed 2026-01-27 21:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-60w-x-14d-x-14h-1-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-bspp-poly-muffler-145-psi-75-micron-5-to-212-f>: HTTP status code is not handled or not allowed 2026-01-27 21:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-npt-poly-muffler-75-micron-145-psi-5-to-212-f>: HTTP status code is not handled or not allowed 2026-01-27 21:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gm-80-hepa-vacuum>: HTTP status code is not handled or not allowed 2026-01-27 21:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-8mm-tube-x-1-8-metal-release-collet-flow-out-knob-adjustment>: HTTP status code is not handled or not allowed 2026-01-27 21:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gwd-255-drum-float-assembly-with-cartridge-filter>: HTTP status code is not handled or not allowed 2026-01-27 21:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10n20p05v-set-screw-w-flat-ball-safety-twist-m10-x-15-thread-20mm-thread-length>: HTTP status code is not handled or not allowed 2026-01-27 21:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-36w-x-18d-x-34h-2-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-72w-x-24d-x-34h-2-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/komet-stir-bar-50-round-21mm-dia-x-50mm-l-1-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-54w-x-24d-x-34h-2-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelf-level-42w-x-24d-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a320-female-connector-with-50mm-socket-contacts-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-48w-x-14d-x-34h-2-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189252gz-48w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-48-x-36-adj-height-workbench-w-drawer-riser-gray-maple-safety-edge-top>: HTTP status code is not handled or not allowed 2026-01-27 21:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189268gz-48w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-reclosable-pharmacy-bag-2-mil-12w-15l>: HTTP status code is not handled or not allowed 2026-01-27 21:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-nestable-plastic-step-stand-blue-26-w-x-33-d-x-20-h-nst-2-bl>: HTTP status code is not handled or not allowed 2026-01-27 21:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-72-w-x-36-d-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-workbenchriser-60-w-x-10-d-x-12-h>: HTTP status code is not handled or not allowed 2026-01-27 21:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-platform-kit-12-x-18-x-72>: HTTP status code is not handled or not allowed 2026-01-27 21:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-tiles-18-x-18>: HTTP status code is not handled or not allowed 2026-01-27 21:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-readybuilt-locker-36-w-x-18-d-x-78-h-725-hallowell-gray-triple-tier-3-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-27 21:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-84-h-add-on-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-platform-kit-8-x-18-x-18>: HTTP status code is not handled or not allowed 2026-01-27 21:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-36-w-x-15-d-x-78-h-729-parchment-triple-tier-3-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-27 21:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-12-w-x-12-d-x-78-h-725-hallowell-gray-double-tier-1-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-27 21:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soho-modern-home-office-gaming-computer-l-shape-corner-desk-urban-walnut>: HTTP status code is not handled or not allowed 2026-01-27 21:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-20-low-box-file-lateral-ash-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-72-w-x-48-d-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16485 pages (at 99 pages/min), scraped 6942 items (at 36 items/min) 2026-01-27 21:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-coil-thread-repair-kit-for-metal-m20-25-x-15d>: HTTP status code is not handled or not allowed 2026-01-27 21:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-30-square-multipurpose-breakroom-slim-table-mahogany-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:04:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-60-single-pedestal-desk-ash-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kahlo-36-square-multipurpose-breakroom-tapered-leg-table-maple-black>: HTTP status code is not handled or not allowed 2026-01-27 21:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-96-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-500006929-ssws-6-x-2-polyurethane-polyolefin-1-2-ss-straight-roller-bearng>: HTTP status code is not handled or not allowed 2026-01-27 21:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kensington-62560-simply-portable-30-laptop-case-15-34-x-3-x-13-12-black>: HTTP status code is not handled or not allowed 2026-01-27 21:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-24-d-x-87-h-725-hallowell-gray-add-on-unit-78-bins>: HTTP status code is not handled or not allowed 2026-01-27 21:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-18-d-x-87-h-725-hallowell-gry-starter-unit-54-bins>: HTTP status code is not handled or not allowed 2026-01-27 21:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-18-d-x-87-h-725-hallowell-gray-starter-unit-29-bins>: HTTP status code is not handled or not allowed 2026-01-27 21:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/innovative-storage-designs-avt-67033-stretch-art-box-polypropylene-snap-shut-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-84-h-starter-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 21:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-12-d-x-87-h-725-hallowell-gray-add-on-unit-24-bins>: HTTP status code is not handled or not allowed 2026-01-27 21:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901298-screw-handle-stainless-steel-slotted-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 21:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-72-h-add-on-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 21:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-27 21:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2231016-pin-drive-5x24-mm-pack-10-for-dito-dean>: HTTP status code is not handled or not allowed 2026-01-27 21:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1831182-washer-lock-5-16-inch-pack-10-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-27 21:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermo-flask-benchtop-liquid-nitrogen-container-with-lid-and-handle-4-5-liters>: HTTP status code is not handled or not allowed 2026-01-27 21:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-express-iata-approved-shipping-system-10-liters>: HTTP status code is not handled or not allowed 2026-01-27 21:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fort-knox-pegboard-2-pieces-22-w-x-075-d-x-4425-h-red-textured-1>: HTTP status code is not handled or not allowed 2026-01-27 21:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-84-h-starter-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 21:05:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261538-twin-basket9-3-8l-4-7-8w-5-3-8d-for-middleby>: HTTP status code is not handled or not allowed 2026-01-27 21:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06-0000-30i-welding-safety-shades-with-auto-darkening-filter-1-ea-case>: HTTP status code is not handled or not allowed 2026-01-27 21:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010497-knob-burner>: HTTP status code is not handled or not allowed 2026-01-27 21:05:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serrated-2-step-24-alum-rolling-ladder-10-top-step-spring-load-a2sh30g>: HTTP status code is not handled or not allowed 2026-01-27 21:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-120-h-add-on-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/241003-burner-nat-lp-4-ci>: HTTP status code is not handled or not allowed 2026-01-27 21:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/timber-jack-tmb-55-37-wood-handle-with-14-1-4-steel-hook>: HTTP status code is not handled or not allowed 2026-01-27 21:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draw-shave-tmb-13ds-straight-13-steel-blade-with-wood-handles>: HTTP status code is not handled or not allowed 2026-01-27 21:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8015432-pump-assembly-emptying-for-rational-cooking-systems>: HTTP status code is not handled or not allowed 2026-01-27 21:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/west-virginia-state-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-27 21:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-72-h-starter-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-27 21:05:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/new-jersey-state-flag-4x6-nylon>: HTTP status code is not handled or not allowed 2026-01-27 21:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-aleva353624mc-valencia-series-reversible-returnbridge-shell-35w-x-23-58d-medium-cherry>: HTTP status code is not handled or not allowed 2026-01-27 21:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-small-capacity-co2-incubator-with-tc-sensor-120v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-27 21:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves>: HTTP status code is not handled or not allowed 2026-01-27 21:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imh400-s-ss-advanced-protocol-security-incubator-13-5-cu-ft-120v>: HTTP status code is not handled or not allowed 2026-01-27 21:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-inch-x-20-foot-fertilizer-solution-suction-discharge-hose-assembly-w-plated-steel-king-nipple>: HTTP status code is not handled or not allowed 2026-01-27 21:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-and-play-22-inch-lcd-beige-and-gray-display-and-5-remotes>: HTTP status code is not handled or not allowed 2026-01-27 21:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deflect-o-77301-multi-compartment-docuholder-3-compartments-9-12w-x-8d-x-12-58h-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-20-foot-green-pvc-water-suction-hose-assembly-coupled-w-m-x-f-aluminum-short-shank-fittings>: HTTP status code is not handled or not allowed 2026-01-27 21:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deflect-o-def693604-three-tier-leaflet-holder-6-34w-x-6-1516d-x-13-516h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331493-strip-test-fryer-oil-40-vial>: HTTP status code is not handled or not allowed 2026-01-27 21:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-72-h-starter-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms>: HTTP status code is not handled or not allowed 2026-01-27 21:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-50-foot-pvc-lay-flat-discharge-hose-coupled-with-cxe-aluminum-cam-and-groove-fittings>: HTTP status code is not handled or not allowed 2026-01-27 21:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-25-foot-pvc-lay-flat-discharge-hose-coupled-with-cxe-aluminum-cam-and-groove-fittings>: HTTP status code is not handled or not allowed 2026-01-27 21:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chateau-series-mahogany-laminate-desking-355x22x30-lateral-file>: HTTP status code is not handled or not allowed 2026-01-27 21:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/essentials-series-cherry-laminate-hutch-355x148x36>: HTTP status code is not handled or not allowed 2026-01-27 21:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561554-wall-mount-faucet-economy-w-8-inch-spout>: HTTP status code is not handled or not allowed 2026-01-27 21:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ton-long-chassis-service-jack-with-air-22201>: HTTP status code is not handled or not allowed 2026-01-27 21:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stack-on-hutch-door-kit-72w>: HTTP status code is not handled or not allowed 2026-01-27 21:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012251-operating-stem-assembly-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-27 21:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet5-drawer51-compart-classic-blue-individual-lock>: HTTP status code is not handled or not allowed 2026-01-27 21:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foldable-mechanic-pad-c-1000>: HTTP status code is not handled or not allowed 2026-01-27 21:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gallon-6-5-peak-hp-stainless-steel-wet-dry-vacuum-with-cart-1610rv>: HTTP status code is not handled or not allowed 2026-01-27 21:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3656-9-inch-vegetable-slicer-attachment-for-hobart-22-hubs>: HTTP status code is not handled or not allowed 2026-01-27 21:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-exercise-station-pulley-attachment->: HTTP status code is not handled or not allowed 2026-01-27 21:05:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/heavy_duty_floor_jacks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-only-fae-7011-burn-cream-10-packetsbox>: HTTP status code is not handled or not allowed 2026-01-27 21:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-loop-8-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet6-drawer72-compart-classic-blue-individual-lock>: HTTP status code is not handled or not allowed 2026-01-27 21:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-loop-18-green>: HTTP status code is not handled or not allowed 2026-01-27 21:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-exercise-band-2-band-set-moderate-green-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-loop-webbing-stirrup-for-exercise-band-tubing-50-each>: HTTP status code is not handled or not allowed 2026-01-27 21:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-exerciser-black-14>: HTTP status code is not handled or not allowed 2026-01-27 21:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-exerciser-blue-14>: HTTP status code is not handled or not allowed 2026-01-27 21:05:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-exerciser-silver-22>: HTTP status code is not handled or not allowed 2026-01-27 21:05:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/heavy_duty_floor_jacks landed on page that is not a product page. 2026-01-27 21:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012210-adapter-1-4-p-2021-4-4s-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-27 21:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sjoow-portable-cord-270105-100-12-gauge-100-pcs>: HTTP status code is not handled or not allowed 2026-01-27 21:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011968-door-gasket-for-rational-cooking-systems>: HTTP status code is not handled or not allowed 2026-01-27 21:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014062-magnetron-toshiba>: HTTP status code is not handled or not allowed 2026-01-27 21:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-loop-webbing-stirrup-for-exercise-band-tubing>: HTTP status code is not handled or not allowed 2026-01-27 21:05:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uv-black-standard-cable-ties-502210-100-75-100-pcs>: HTTP status code is not handled or not allowed 2026-01-27 21:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-tubing-with-handles-black-36>: HTTP status code is not handled or not allowed 2026-01-27 21:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16579 pages (at 94 pages/min), scraped 6959 items (at 17 items/min) 2026-01-27 21:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-tubing-blue-100-roll-box-10-5724>: HTTP status code is not handled or not allowed 2026-01-27 21:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tisa-452-18-automatic-impulse-sealer-with-2mm-seal-width>: HTTP status code is not handled or not allowed 2026-01-27 21:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable>: HTTP status code is not handled or not allowed 2026-01-27 21:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/installation-hardware-kit-for-edge-of-dock-levelers-and-approach-plate>: HTTP status code is not handled or not allowed 2026-01-27 21:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-exercise-band-100-yd-rolls-5-color-set>: HTTP status code is not handled or not allowed 2026-01-27 21:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uv-black-115-50-lb-metal-tab-cable-tie-502410-100-100-pcs>: HTTP status code is not handled or not allowed 2026-01-27 21:06:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711197-brush-char-medium-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-27 21:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-for-large-slide-racks-12d>: HTTP status code is not handled or not allowed 2026-01-27 21:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-nylon-cable-ties-502121-100-8-long-100-pcs>: HTTP status code is not handled or not allowed 2026-01-27 21:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-steel-cart-2-tray-shelves-18-x-30>: HTTP status code is not handled or not allowed 2026-01-27 21:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps>: HTTP status code is not handled or not allowed 2026-01-27 21:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-tubing-with-handles-red-18>: HTTP status code is not handled or not allowed 2026-01-27 21:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281643-cap-inside-square>: HTTP status code is not handled or not allowed 2026-01-27 21:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44014-detail-brush-extra-stiff-red>: HTTP status code is not handled or not allowed 2026-01-27 21:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31666-12-upright-broom-medium-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1761250-bumper-w-screw-for-hamilton-beach>: HTTP status code is not handled or not allowed 2026-01-27 21:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-green-48-l-band-box-of-40>: HTTP status code is not handled or not allowed 2026-01-27 21:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-20592-50-20-amp-generator-power-extension-cord-with-nema-l14-20p-to-l14-20r>: HTTP status code is not handled or not allowed 2026-01-27 21:06:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-27 21:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901185-tip-screen-funnel-t-tl-tu-pt-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 21:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-13357-n-medium-base-bi-pin-standard-fluorescent-lampholder>: HTTP status code is not handled or not allowed 2026-01-27 21:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-13451-20-medium-base-standard-fluorescent-lampholder-white>: HTTP status code is not handled or not allowed 2026-01-27 21:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-124-d-incandescent-lampholder-medium-base-single-circuit-660w-250v>: HTTP status code is not handled or not allowed 2026-01-27 21:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hager-3500-series-grade-2-cylidnrical-lock-passage>: HTTP status code is not handled or not allowed 2026-01-27 21:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010426-transformer-kit-for-turbochef>: HTTP status code is not handled or not allowed 2026-01-27 21:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hager-4700-series-rim-exit-device-fire-rated2>: HTTP status code is not handled or not allowed 2026-01-27 21:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/whiffle153-typical-3-mobile-storage-cabinet-30w-x-19-34d-x-48h-red>: HTTP status code is not handled or not allowed 2026-01-27 21:06:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-5-strips-green-30-strips-box>: HTTP status code is not handled or not allowed 2026-01-27 21:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-buckle-boots-size-9-rubber-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 21:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-exercise-cord-with-attachments-4-cord-black>: HTTP status code is not handled or not allowed 2026-01-27 21:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-5-strips-yellow-30-strips-box>: HTTP status code is not handled or not allowed 2026-01-27 21:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-3015-anystream-multi-function-shower-head>: HTTP status code is not handled or not allowed 2026-01-27 21:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381661-signal-light-assembly-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 21:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huot-toolscoot-50-taper-cnc-holders>: HTTP status code is not handled or not allowed 2026-01-27 21:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69725-3-stainless-steel-scraper-white>: HTTP status code is not handled or not allowed 2026-01-27 21:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-conturaseries-recessed-towel-dispenser-receptacle>: HTTP status code is not handled or not allowed 2026-01-27 21:06:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-27 21:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71703-28-single-blade-ultra-hygiene-squeegee-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321931-gasket-door-for-alto-shaam>: HTTP status code is not handled or not allowed 2026-01-27 21:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-part-mount-seat-cover-tiss-dispens-dispos-skirt>: HTTP status code is not handled or not allowed 2026-01-27 21:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barnstead-2-3-size-mixed-bed-and-organic-removal-cartridge-d8951-1-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263223-kason-10535000016-strike-only-for-kason>: HTTP status code is not handled or not allowed 2026-01-27 21:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69715-1-5-stainless-steel-scraper-white>: HTTP status code is not handled or not allowed 2026-01-27 21:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-heavy-duty-shower-curtain-rod-72-w>: HTTP status code is not handled or not allowed 2026-01-27 21:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1111270-insert-cold-monel-leadfree-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-27 21:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77554-28-foam-blade-squeegee-red>: HTTP status code is not handled or not allowed 2026-01-27 21:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-partition-mounted-sanitary-disposal>: HTTP status code is not handled or not allowed 2026-01-27 21:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-18w-x-12d-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-with-boxes-72-w-x-30-d-x-60-h-1>: HTTP status code is not handled or not allowed 2026-01-27 21:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-36-d-production-workbench-maple-butcher-block-safety-edge-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1111292-aerator-22gpm-vandal-resist-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-27 21:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281095-inside-release>: HTTP status code is not handled or not allowed 2026-01-27 21:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotating-pedestal-grill-with-3-1-2-dia-post-300-sq-cooking-surface>: HTTP status code is not handled or not allowed 2026-01-27 21:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powered-telescopic-pivoting-forkli-jib-boom-crane>: HTTP status code is not handled or not allowed 2026-01-27 21:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-folding-right-hand-shower-seat-32-7-8-w>: HTTP status code is not handled or not allowed 2026-01-27 21:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-folding-shower-dressing-area-seat-18-w>: HTTP status code is not handled or not allowed 2026-01-27 21:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-4-machine-screw-flat-head-slotted-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64407-small-hand-brush-stiff-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-stainless-steel-shelf-18-w-x-6-d>: HTTP status code is not handled or not allowed 2026-01-27 21:06:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-matrixseries-surface-mounted-multi-roll-tissue-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 21:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-vandal-resistant-single-tissue-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 21:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wheel-professional-appliance-hand-truck-750-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-natural-ground-installation-black-cover-blue-tapes>: HTTP status code is not handled or not allowed 2026-01-27 21:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-concrete-installation-red-cover-yellow-tapes>: HTTP status code is not handled or not allowed 2026-01-27 21:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-hopper-front-bulk-truck-38-cu>: HTTP status code is not handled or not allowed 2026-01-27 21:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelf-truck-60x24x69-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-27 21:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31995-24-small-particle-push-broom-soft-white>: HTTP status code is not handled or not allowed 2026-01-27 21:06:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts>: HTTP status code is not handled or not allowed 2026-01-27 21:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/justrite-drum-lock-set-plastic-drums>: HTTP status code is not handled or not allowed 2026-01-27 21:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polyester-filter-14-w-x-18-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-27 21:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-72x18x69-1200-pound-capacity-1>: HTTP status code is not handled or not allowed 2026-01-27 21:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6982md5-one-piece-metal-detectable-shovel-w-14-blade-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16675 pages (at 96 pages/min), scraped 6983 items (at 24 items/min) 2026-01-27 21:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1097-1-4-inch-x-1-1-4-inch-30-amp-fast-acting-ceramic-fuse-250v>: HTTP status code is not handled or not allowed 2026-01-27 21:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1063-ignition-terminal-female-spark-plug-end>: HTTP status code is not handled or not allowed 2026-01-27 21:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38904-large-hand-brush-stiff-red>: HTTP status code is not handled or not allowed 2026-01-27 21:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-ventilated-divider-cabinet-60-x-24-x-78>: HTTP status code is not handled or not allowed 2026-01-27 21:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-14-w-x-30-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-27 21:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards>: HTTP status code is not handled or not allowed 2026-01-27 21:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-ventilated-all-around-cabinet-36-x-24-x-66>: HTTP status code is not handled or not allowed 2026-01-27 21:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-utility-tray-dark-blue-26-l-x-12-1-2-w-x-4-1-2-h>: HTTP status code is not handled or not allowed 2026-01-27 21:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-ventilated-all-around-cabinet-48-x-24-x-78>: HTTP status code is not handled or not allowed 2026-01-27 21:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-set-12-suction-insulation-14-od-x-38-od-x-25l-black>: HTTP status code is not handled or not allowed 2026-01-27 21:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duct-access-door-with-no-hinge-12-x-12>: HTTP status code is not handled or not allowed 2026-01-27 21:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-access-door-walls-ceilings-16-x-16>: HTTP status code is not handled or not allowed 2026-01-27 21:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-production-workbench-phenolic-resin-safety-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-55-china-bread-plate-55-bright-white-dx5acbp02a>: HTTP status code is not handled or not allowed 2026-01-27 21:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1211121-glide-superlevel-3-8-16>: HTTP status code is not handled or not allowed 2026-01-27 21:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-dinet-fruit-bowl-575-oz-36-cs-ivory-dx5cfnb02>: HTTP status code is not handled or not allowed 2026-01-27 21:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium94-46-47-collapsible-inside-94l-x-46w-x-47>: HTTP status code is not handled or not allowed 2026-01-27 21:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56915-hygienic-rake-white>: HTTP status code is not handled or not allowed 2026-01-27 21:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-caster-kit-for-apex153-500--700-portable-evaporative-coolers>: HTTP status code is not handled or not allowed 2026-01-27 21:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wardrobe-cabinet-with-4-drawers-36-x-24-x-78>: HTTP status code is not handled or not allowed 2026-01-27 21:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-access-door-12-x-12>: HTTP status code is not handled or not allowed 2026-01-27 21:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1211142-tip-crutch-f-1-1-4-inch-tube-blk>: HTTP status code is not handled or not allowed 2026-01-27 21:07:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/wardrobe_combination_cabinets/combination_cabients already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-replacement-pump-for-apex153-500--700-portable-evaporative-coolers>: HTTP status code is not handled or not allowed 2026-01-27 21:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29606-51-ultra-hygiene-handle-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-96x42x120-add-on-unit-green-orange-4000-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bott-double-straight-hooks-for-perfo-panels-package-of-5-1-inch-l>: HTTP status code is not handled or not allowed 2026-01-27 21:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2041099-element-food-warmer-208v-575w>: HTTP status code is not handled or not allowed 2026-01-27 21:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-starter-108inw-x-48ind-x-144-inh-6420-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-cube-ice-machine>: HTTP status code is not handled or not allowed 2026-01-27 21:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pure-air-gel-8-ounce-cup>: HTTP status code is not handled or not allowed 2026-01-27 21:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40123-nylon-scraper-with-threaded-handle-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-cage-accessory-shelf-4>: HTTP status code is not handled or not allowed 2026-01-27 21:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/wardrobe_combination_cabinets/combination_cabients>: HTTP status code is not handled or not allowed 2026-01-27 21:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-add-on-96inw-x-48ind-x-144inh-3230-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-weight-bar-16-piece-set>: HTTP status code is not handled or not allowed 2026-01-27 21:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-turnbury-insulated-dome-10dia-12-cs-latte-dx340031>: HTTP status code is not handled or not allowed 2026-01-27 21:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-climbing-peak-safety-helmet-type-1-4-point-mega-ratchet-suspension-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ten-inch-anchor-bolt-shopping-cart-corrals>: HTTP status code is not handled or not allowed 2026-01-27 21:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-sweat-band-for-diamond-safety-caps-black>: HTTP status code is not handled or not allowed 2026-01-27 21:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-carton-flow-roller-track-kit-1>: HTTP status code is not handled or not allowed 2026-01-27 21:07:31 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 21:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-outdoor-quartz-electric-infrared-heater-och-57-480ve-480v-2250w-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1191050-foot-gry-plst-f-1-1-4-pipe-rd-for-standard-keil>: HTTP status code is not handled or not allowed 2026-01-27 21:07:32 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:7 2026-01-27 21:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cgc08025-machine-screw>: HTTP status code is not handled or not allowed 2026-01-27 21:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-climbing-wind-safety-helmet-type-2-4-point-ratchet-suspension-hi-viz-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-unlined-bib-overall-l-black>: HTTP status code is not handled or not allowed 2026-01-27 21:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-dolly-with-non-tilt-rollers-48-l-x-42-w-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011034-thermostat-knob>: HTTP status code is not handled or not allowed 2026-01-27 21:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35-compartment-sectional-unit-37-w-x-13-d-x-42-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garment-floor-rack-with-12-hangers>: HTTP status code is not handled or not allowed 2026-01-27 21:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-compartment-steel-sectional-unit-37-w-x-24-d-x-33-h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-36-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-27 21:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-coast-guard-44-inch-roung-rug-44-inch-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-handrail-bracket-for-2-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-tube-2-x-050-x-12-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-5-quart-hd-sauce-pan-pl-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chc03010-machine-screw>: HTTP status code is not handled or not allowed 2026-01-27 21:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-dispenser-counter-model-approximately-200-lb-storage-capacity-cube-and-pearl-ice>: HTTP status code is not handled or not allowed 2026-01-27 21:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-add-on-36-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-27 21:07:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-flush-tee-fitting-side-outlet-for-15-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-5-foot-rail-kit-2-tube-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfc05035-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-27 21:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421759-cover-rocker-switch-plastic-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 21:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-fixed-length-plastic-truck-seal-7-5-green-60lbs-pull-force-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-cube-ice-maker-approx-527-lb-production-half-size-cube>: HTTP status code is not handled or not allowed 2026-01-27 21:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1591154-belt-bx50>: HTTP status code is not handled or not allowed 2026-01-27 21:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cube-ice-maker-undercounter-water-cooled-approx-174-lb-production-full-size-cube>: HTTP status code is not handled or not allowed 2026-01-27 21:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-handle-medicine-ball-8-lb-9-diameter-green>: HTTP status code is not handled or not allowed 2026-01-27 21:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters>: HTTP status code is not handled or not allowed 2026-01-27 21:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16771 pages (at 96 pages/min), scraped 7011 items (at 28 items/min) 2026-01-27 21:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-36l-x-24w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-30l-x-21w-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wooden-5-level-incline-board-14-x-18-surface>: HTTP status code is not handled or not allowed 2026-01-27 21:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-safety-coverall-3xl-black>: HTTP status code is not handled or not allowed 2026-01-27 21:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brc06-nylon-insert-lock-nut>: HTTP status code is not handled or not allowed 2026-01-27 21:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-divider-fits-7-wx4-h-bins-1>: HTTP status code is not handled or not allowed 2026-01-27 21:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561549-wall-mount-faucet-economy-w-14-inch-spout>: HTTP status code is not handled or not allowed 2026-01-27 21:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-48l-x-24w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maple-hardwood-locker-bench-9-free-standing>: HTTP status code is not handled or not allowed 2026-01-27 21:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/servewell-double-deck-overshelf-3>: HTTP status code is not handled or not allowed 2026-01-27 21:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-34l-inseam-x-36-waist-black>: HTTP status code is not handled or not allowed 2026-01-27 21:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-adjustable-leg-anti-static-top-workbench-beige>: HTTP status code is not handled or not allowed 2026-01-27 21:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-on-ripstop-safety-rain-pants-csa-class-3-level-2-l-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-variable-length-plastic-9-seal-black-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031242-motor-relay>: HTTP status code is not handled or not allowed 2026-01-27 21:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711153-ring-egg-8-inch-dia-omelet-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-27 21:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1518-8-l-guard-rail>: HTTP status code is not handled or not allowed 2026-01-27 21:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adam-equipment-usb-cable>: HTTP status code is not handled or not allowed 2026-01-27 21:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/33lb-bench-and-floor-scale-cpw-plus-15p>: HTTP status code is not handled or not allowed 2026-01-27 21:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-blind-rivet-3-16-x-6-4-button-head-up-to-1-4-grip-aluminum-steel-pkg-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-blind-rivet-3-16-x-6-2-button-head-up-to-1-8-grip-aluminum-steel-pkg-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263387-kason-10218000028-spring-cartridge-for-kason>: HTTP status code is not handled or not allowed 2026-01-27 21:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-shelving-unit-48-wx24-dx74-h-solid-shelf>: HTTP status code is not handled or not allowed 2026-01-27 21:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-blind-rivet-3-16-x-6-4-large-flange-head-up-to-1-4-grip-aluminum-steel-pkg-of-250>: HTTP status code is not handled or not allowed 2026-01-27 21:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-hanging-file-folders-15-tab-11-point-stock-letter-standard-green-25box>: HTTP status code is not handled or not allowed 2026-01-27 21:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-collectoraccessories-jet-709565>: HTTP status code is not handled or not allowed 2026-01-27 21:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-pressboard-classification-folders-letter-six-section-yellow-10box>: HTTP status code is not handled or not allowed 2026-01-27 21:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-stretch-waist-flex-twill-cargo-pants-30l-inseam-x-39-12-40-12-waist-blk>: HTTP status code is not handled or not allowed 2026-01-27 21:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-file-folders-13-cut-reinforced-top-tabs-letter-assorted-12pack>: HTTP status code is not handled or not allowed 2026-01-27 21:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cp100d-4-watt-16-channel-analog-and-digital-uhf-403-470-mhz-non-display>: HTTP status code is not handled or not allowed 2026-01-27 21:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton14301>: HTTP status code is not handled or not allowed 2026-01-27 21:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-48-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-27 21:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-industrial-single-outlet-16-3-25>: HTTP status code is not handled or not allowed 2026-01-27 21:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bengal-60-whistle-silver-10-426-sil>: HTTP status code is not handled or not allowed 2026-01-27 21:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-amp-24v-to-12v-dc-dc-converter>: HTTP status code is not handled or not allowed 2026-01-27 21:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-30l-inseam-x-38-waist-navy>: HTTP status code is not handled or not allowed 2026-01-27 21:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-700mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-30l-inseam-x-44-waist-navy>: HTTP status code is not handled or not allowed 2026-01-27 21:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fox-40-whistle-orange-10-421-org>: HTTP status code is not handled or not allowed 2026-01-27 21:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-xlt-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-27 21:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vises-wilton11104>: HTTP status code is not handled or not allowed 2026-01-27 21:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-coated-fiberglass-welding-blanket-8w-x-8h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-60-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-27 21:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-coated-fiberglass-welding-blanket-10w-x-10h-15-oz-fabric-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-triangular-cup-dolly-3310-uhmw-pe-wheels-750-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-surveyor-safety-vest-snap-2xl-orange-sv59-2zod-2x>: HTTP status code is not handled or not allowed 2026-01-27 21:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-columbian-41409>: HTTP status code is not handled or not allowed 2026-01-27 21:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-without-hem-44-waist-black>: HTTP status code is not handled or not allowed 2026-01-27 21:08:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxiflex-gloves-black-micro-foam-nitirle-coated-knit-glove-x-large-12-pairs>: HTTP status code is not handled or not allowed 2026-01-27 21:08:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/lifting_spreader_beams already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton-42510>: HTTP status code is not handled or not allowed 2026-01-27 21:08:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421398-handle-wood-40-inch-w-metal-tip>: HTTP status code is not handled or not allowed 2026-01-27 21:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-insulated-quilted-jacket-xs-black>: HTTP status code is not handled or not allowed 2026-01-27 21:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ebv-550-a-toilet-urinal-retrofit-sensor-dual-flush-valve-1-6-gpf>: HTTP status code is not handled or not allowed 2026-01-27 21:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-1100-31-1-2-inch-x-14-inch-extra-wide-3-4-length-dishwasher-splash-curtain>: HTTP status code is not handled or not allowed 2026-01-27 21:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chicago-pneumatic-3-4-heavy-duty-air-impact-wrench-cp772h-4200-rpm-3-4-drive>: HTTP status code is not handled or not allowed 2026-01-27 21:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-engineer-vest-orange-2xl-sv55-2zod-2x>: HTTP status code is not handled or not allowed 2026-01-27 21:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-surveyor-safety-vest-snap-2xl-green-sv59-2zgd-2x>: HTTP status code is not handled or not allowed 2026-01-27 21:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders>: HTTP status code is not handled or not allowed 2026-01-27 21:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/lifting_spreader_beams>: HTTP status code is not handled or not allowed 2026-01-27 21:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders>: HTTP status code is not handled or not allowed 2026-01-27 21:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-type-r-class-2-economy-mesh-vest-5xl-green-sv97e-2vgm-5x>: HTTP status code is not handled or not allowed 2026-01-27 21:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901119-basket-wire-7-5-8-inch-nsf-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 21:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-chrome-wire-shelf-cart-48x24-3-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-1000mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-2xlt-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-27 21:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-380mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compress-neck-7-x-22-12-case>: HTTP status code is not handled or not allowed 2026-01-27 21:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-level-tapered-riser-carpet-60l-x-18w-8h-16h-24h-32h-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-pain-relief-gel-3-oz-roll-on-bottle-case-of-12>: HTTP status code is not handled or not allowed 2026-01-27 21:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16867 pages (at 96 pages/min), scraped 7038 items (at 27 items/min) 2026-01-27 21:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-pain-relief-spray-4-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-27 21:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331317-handle-top-kit-short-shuttle-for-worchester-industrial-products>: HTTP status code is not handled or not allowed 2026-01-27 21:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spherical-rod-eye-cs-12-16-for-iso-cylinders-m6-threads>: HTTP status code is not handled or not allowed 2026-01-27 21:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-40mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-6-lb-beads-in-bag-unscented-fragrance>: HTTP status code is not handled or not allowed 2026-01-27 21:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421854-solid-state-relay-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-27 21:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-85958-08-08-knob-adj-12-tube-x-12-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-85222-08-08-12-tube-x-12-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reusable-hot-and-cold-compress-5-x-6-case-of-48>: HTTP status code is not handled or not allowed 2026-01-27 21:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-powered-counter-balanced-stacker-6>: HTTP status code is not handled or not allowed 2026-01-27 21:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-y-85320-04-32-14-tube-x-10-32-unf-male-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-gas-jet-200-1-nozzle-3000psi>: HTTP status code is not handled or not allowed 2026-01-27 21:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-60mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tongs-for-hot-packs-12l-x-3w-x-1h>: HTTP status code is not handled or not allowed 2026-01-27 21:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741259-door-gasket-23-inch-x-59-inch-for-delfield>: HTTP status code is not handled or not allowed 2026-01-27 21:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-220mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-vinyl-reusable-cold-pack-quarter-size-5-x-7-12-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-electric-heating-pad-shoulder-size-16-x-12>: HTTP status code is not handled or not allowed 2026-01-27 21:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sandwich-bag-no-print-clear-on-saddle-pack-7-x-65-05-mil>: HTTP status code is not handled or not allowed 2026-01-27 21:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-xlt-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-electric-75-3-8-cable-cutter>: HTTP status code is not handled or not allowed 2026-01-27 21:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-36-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-27 21:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-17>: HTTP status code is not handled or not allowed 2026-01-27 21:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-85953-04-04-screw-adj-14-tube-x-14-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-knee-shoulder-10-x-20-12-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/better-for-you-snack-box-assorted-flavors-37-count>: HTTP status code is not handled or not allowed 2026-01-27 21:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-electric-100-5-8-cable-cutter>: HTTP status code is not handled or not allowed 2026-01-27 21:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-100-3-4-flexi-male-female-end>: HTTP status code is not handled or not allowed 2026-01-27 21:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-85953-08-06-screw-adj-12-tube-x-38-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-440mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-730mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-pack-chilling-unit-chest-24l-x-26w-x-36h-5-3-cu-ft-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vollrath-triennium-mirror-finished-pitcher-guard-2-qt>: HTTP status code is not handled or not allowed 2026-01-27 21:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1132-inch-id-x-1316-inch-od-x-0005-inch-steel-arbor-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321873-filter-hose-1-ftw-1-2-inch-fittings>: HTTP status code is not handled or not allowed 2026-01-27 21:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boots-cleated-outsole-plain-toe-mens-size-13-15h-white>: HTTP status code is not handled or not allowed 2026-01-27 21:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-half-size-5-x-12>: HTTP status code is not handled or not allowed 2026-01-27 21:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-double-acting-magnetic-cylinder-20mm-bore-x-100mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 21:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-55225-4-m5-4mm-tube-x-m5-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 21:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-acid-corrosive-cabinet-manual-close-60-gallon>: HTTP status code is not handled or not allowed 2026-01-27 21:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boots-cleated-outsole-safety-toe-mens-size-5-15h-white>: HTTP status code is not handled or not allowed 2026-01-27 21:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-record-storage-open-3>: HTTP status code is not handled or not allowed 2026-01-27 21:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quilted-vest-with-sherpa-lining-nylonpolyester-2xl-black>: HTTP status code is not handled or not allowed 2026-01-27 21:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-18-inch-id-x-1-58-inch-od-x-0125-inch-steel-arbor-spacer-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-female-50030n-8-38-8mm-tube-x-38-bspp-thread>: HTTP status code is not handled or not allowed 2026-01-27 21:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-boss-21303-extended-free-fall-lanyard-6-double-leg-w-steel-rebar-hooks-shock-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15022-12-rapid-deployment-rescue-ladder-clear-zinc-osha-compliant>: HTTP status code is not handled or not allowed 2026-01-27 21:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-60040-06-38-tube-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-60040-12-12mm-tube-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6mm-square-metric-keystock-gold-dichromate-finish-12-inch-length-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 21:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finish-thompson-ss-centrifugal-pump-4-impeller-1hp-3ph-tefc-motor>: HTTP status code is not handled or not allowed 2026-01-27 21:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-magnesium-foot-pedal-platform-li-truck-two-wheel-style-400-lb-cap-2>: HTTP status code is not handled or not allowed 2026-01-27 21:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2801296-pourer-liquor-chrome-12-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-89110-05-02-516-tube-x-18-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-27 21:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22mm-x-40mm-metric-keystock-plain-finish-12-inch-length>: HTTP status code is not handled or not allowed 2026-01-27 21:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-floor-curb-heavy-duty-48-in-l-3-8-in-thick-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-wall-mount-bottle-filling-station-with-filter-black>: HTTP status code is not handled or not allowed 2026-01-27 21:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263297-kason-11556000005-cartridge-assembly-for-kason>: HTTP status code is not handled or not allowed 2026-01-27 21:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30004-p-plastic-barrier-chain-in-a-pail-hdpe-1-5-x300-6-38mm-green>: HTTP status code is not handled or not allowed 2026-01-27 21:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 16964 pages (at 97 pages/min), scraped 7076 items (at 38 items/min) 2026-01-27 21:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0002-inch-stainless-steel-shim-stock-6-inch-x-50-inch-roll>: HTTP status code is not handled or not allowed 2026-01-27 21:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-shelf-with-laminated-deck-96x24-gray-3>: HTTP status code is not handled or not allowed 2026-01-27 21:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013605-door-seal-402s-e4-e4s-for-merry-chef>: HTTP status code is not handled or not allowed 2026-01-27 21:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasonic-thickness-gauge-001-resolution>: HTTP status code is not handled or not allowed 2026-01-27 21:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031199-gasket-door-15-5-8-inch-x26-7-8-inch-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-27 21:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thru-wall-package-drop-with-tilt-out-door-dvwm0062s-black>: HTTP status code is not handled or not allowed 2026-01-27 21:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx24-dx97-h-open-clip-style-6-shelf>: HTTP status code is not handled or not allowed 2026-01-27 21:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50024-500-plastic-barrier-chain-hdpe-2-x500-8-51mm-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0002-inch-brass-shim-stock-6-inch-x-60-inch-roll>: HTTP status code is not handled or not allowed 2026-01-27 21:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx30-dx97-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-27 21:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/streamlight-61304-protac-hl-headlamp>: HTTP status code is not handled or not allowed 2026-01-27 21:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1821081-support-basket-14-1-4x12-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-184-dp-1ph-3450rpm-c184k34db8aa>: HTTP status code is not handled or not allowed 2026-01-27 21:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51009-100-heavy-duty-plastic-barrier-chain-hdpe-2-x100-54mm-gold>: HTTP status code is not handled or not allowed 2026-01-27 21:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x24x63-stainless-steel-solid-shelving-add-on>: HTTP status code is not handled or not allowed 2026-01-27 21:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1341192-wrap-push-pad-push-to-open-red>: HTTP status code is not handled or not allowed 2026-01-27 21:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96in-metal-mesh-bench-with-back-rest-red>: HTTP status code is not handled or not allowed 2026-01-27 21:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009469-door-gasket>: HTTP status code is not handled or not allowed 2026-01-27 21:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2381015-gasket-door-37-3-8-inch-x-77-1-2-inch-for-bally-refrigerated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 21:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262383-swivel-stem-caster5-w-1-od-tubing>: HTTP status code is not handled or not allowed 2026-01-27 21:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-short-divider-3>: HTTP status code is not handled or not allowed 2026-01-27 21:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-eyebolt-1-2-13-x-12l-1-id-2-od-plain-pattern-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50324-10-s-hook-acetal-copolymer-2-blue-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b6hspx-316-stainless-worm-gear-hose-clamp-38-inch-78-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-27 21:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51010-25-heavy-duty-plastic-barrier-chain-hdpe-2-x25-54mm-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-eyebolt-7-8-9-x-12l-1-3-4-id-3-1-2-od-plain-pattern-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx18-dx73-h-closed-clip-style-5-shelf-starter-1>: HTTP status code is not handled or not allowed 2026-01-27 21:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-eyebolt-5-8-11-x-6l-1-3-8-id-2-1-2-od-plain-pattern-316-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-fashion-mat-seven-eighths-3x5-cobalt-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-6mm-flat-head-socket-cap-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyboard-tray-235wx145d-mocha>: HTTP status code is not handled or not allowed 2026-01-27 21:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51766-10-heavy-duty-master-link-acetal-copolymer-2-blue-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd40h-916-inch-band-heavyduty-3-pc-part-ss-hose-clamp-2-116-inch-3-inch-clmpgdiam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-27 21:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-1097-10-1-4-inch-door-latch-with-strike-straight-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-4-x-96-single-sand-post-hardware>: HTTP status code is not handled or not allowed 2026-01-27 21:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3-x-0-5-x-8mm-socket-head-cap-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-12mm-phillips-oval-head-machine-screw-304-stainless-steel-din-966-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dixie-ultra-pathways-heavyweight-paper-bowls-20-oz-greenburgundy-500ct>: HTTP status code is not handled or not allowed 2026-01-27 21:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-5xl-short-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-basket-23-l-x-19-w-x-6-1-2-h-0-25-wire-stainless-steel-price-each-for-qty-5>: HTTP status code is not handled or not allowed 2026-01-27 21:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6231032-screw-mach-fh-ss-100>: HTTP status code is not handled or not allowed 2026-01-27 21:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-basket-19-l-x-11-w-x-4-1-2-h-0-25-wire-stainless-steel-price-each-for-qty-4>: HTTP status code is not handled or not allowed 2026-01-27 21:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-3xl-tall-light-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6s-all-ss-worm-gear-hose-clamp-516-inch-78-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-eyewash-plastic-push-handle-replacement>: HTTP status code is not handled or not allowed 2026-01-27 21:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-213-tefc-1ph-3450rpm-c213k34fk1bb>: HTTP status code is not handled or not allowed 2026-01-27 21:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tenv-3ph-3450-2850rpm-c6t34nc2ee>: HTTP status code is not handled or not allowed 2026-01-27 21:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-filtering-cordless-cellular-shade-30-wide-x-48-drop-fossil>: HTTP status code is not handled or not allowed 2026-01-27 21:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-perimeter-warning-line-pennants-danger-men-working-yellow-plastic-nylon>: HTTP status code is not handled or not allowed 2026-01-27 21:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-microwave-food-prep-station-48w-x-24d-x-74h-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/height-adjustable-utility-table-24-x-60-butcherblock-top>: HTTP status code is not handled or not allowed 2026-01-27 21:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-partition-flexible-seven-panel-9>: HTTP status code is not handled or not allowed 2026-01-27 21:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-waterproof-hard-case-w-p-e-tear-foam-20-l-x-16-3-4-w-x-9-7-16-h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-products-plantware-compostable-cutlery-fork-pearl-white-1000carton>: HTTP status code is not handled or not allowed 2026-01-27 21:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-drill-bits-irwin-322017>: HTTP status code is not handled or not allowed 2026-01-27 21:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-helix-work-shirt-5xl-regular-dark-khaki>: HTTP status code is not handled or not allowed 2026-01-27 21:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-bookcase-five-shelf-34-1-2-w-x-12-5-8-d-x-71-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-s-short-light-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/510-series-two-drawer-full-suspension-file-legal-18-25-w-x-25-d-x-29-h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9307-13w-ledcfl-replacement-lamp-4-pin-g24q-base-5000k-120-277v-long>: HTTP status code is not handled or not allowed 2026-01-27 21:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9491-65w-mr16-led-25-beam-spread-gu53-base-3000k-12v>: HTTP status code is not handled or not allowed 2026-01-27 21:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proto-half-inch-drive-sealed-head-air-ratchet-j150rsh>: HTTP status code is not handled or not allowed 2026-01-27 21:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9584-45w-g25-filalment-led-amber-medium-base-2200k>: HTTP status code is not handled or not allowed 2026-01-27 21:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-4-inch-x-0050-inch-stainless-steel-slotted-shim-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-27 21:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9280-3w-led-mr11-gu4-base-2700k-12v>: HTTP status code is not handled or not allowed 2026-01-27 21:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341922-heater-strip-240v500w>: HTTP status code is not handled or not allowed 2026-01-27 21:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-clear-4>: HTTP status code is not handled or not allowed 2026-01-27 21:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heating-cable-self-regulating-plug-in-srp126-150-120v-900w-150>: HTTP status code is not handled or not allowed 2026-01-27 21:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 17065 pages (at 101 pages/min), scraped 7108 items (at 32 items/min) 2026-01-27 21:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-add-on-144w-x-48d-x-96h>: HTTP status code is not handled or not allowed 2026-01-27 21:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-321-stainless-steel-tool-wrap-sheet-12-inch-x-24-inch-x-0002-inch-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-27 21:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/short-tube-for-20-ton-capacity-jack-stand>: HTTP status code is not handled or not allowed 2026-01-27 21:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-hand-lever-actuated-valve-spring-centered-open-center-g1-8-ports>: HTTP status code is not handled or not allowed 2026-01-27 21:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-assist-floor-jack-20-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-plastic-classroom-chair-set-of-five-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carriage-bolt-58-11-6-12-round-hd-undersized-steel-zinc-cr3-grade-5-unc-25-pk-492103>: HTTP status code is not handled or not allowed 2026-01-27 21:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-office-case-pkg-18-b-18l-x-13w-x-6h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-dock-board-with-aluminum-curbs-22>: HTTP status code is not handled or not allowed 2026-01-27 21:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-expansion-anchor-1-4-x-1-3-8-zamac-alloy-unc-pkg-of-50-9510>: HTTP status code is not handled or not allowed 2026-01-27 21:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mega-swivel-concrete-anchor-3-4-drill-hole>: HTTP status code is not handled or not allowed 2026-01-27 21:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cloth-filter-18-gallon-wet-dry-squeegee-vacuum>: HTTP status code is not handled or not allowed 2026-01-27 21:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/save-a-stud-rethread-die-14mm-15>: HTTP status code is not handled or not allowed 2026-01-27 21:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-2036-sandpaper-36-grit-fits-22-44-model-sanders>: HTTP status code is not handled or not allowed 2026-01-27 21:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-metal-lever-lock-30-gal-cap-2-x-2-bung-holes-black>: HTTP status code is not handled or not allowed 2026-01-27 21:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-panel-divider-6-ft-high-x-20-ft-5-inch-long-vinyl-granite>: HTTP status code is not handled or not allowed 2026-01-27 21:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dumpster-pro-odor-neutralizer-3-5-gallons-one-pail>: HTTP status code is not handled or not allowed 2026-01-27 21:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/terracotta-outdoor-ashtray>: HTTP status code is not handled or not allowed 2026-01-27 21:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-metal-lever-lock-40-gallon-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collapsible-bulk-container-1800-lb-capacity-32l-x-30w-x-25h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lexan-174-white-cylinder-3-11-64-screw-fitter6-1-4-in-height>: HTTP status code is not handled or not allowed 2026-01-27 21:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-defender-walk-ramp-39w-6l-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06075-1-4-x-1-1-2-x-3-1-2-plastic-horseshoe-shim-34-500pc>: HTTP status code is not handled or not allowed 2026-01-27 21:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-candelabra-socket-with-18-in-leads-1-5-8-in-flange>: HTTP status code is not handled or not allowed 2026-01-27 21:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-candelabra-socket-with-paper-liner-4-in-screw-terminals-double-leg>: HTTP status code is not handled or not allowed 2026-01-27 21:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-24-steel-safety-angle-orange-rolling-ladder-serrated-sw1132g-o>: HTTP status code is not handled or not allowed 2026-01-27 21:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-hi-collar-split-lock-washer-2-193-i-d-047-thick-steel-zinc-grade-2-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-panel-display-tower-6-ft-5-inch-high-fabric-beech>: HTTP status code is not handled or not allowed 2026-01-27 21:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-door-track-protector-48-pair-black>: HTTP status code is not handled or not allowed 2026-01-27 21:11:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/condiment_servers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pasadena-2-outdoor-straight-bench-without-back-surface-mount-green>: HTTP status code is not handled or not allowed 2026-01-27 21:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-90-degree-elbow-adapter-12-tube-od-x-12-npt-female>: HTTP status code is not handled or not allowed 2026-01-27 21:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171397-arrester-water-3-4-inch-npt-for-zurn-industries-llc>: HTTP status code is not handled or not allowed 2026-01-27 21:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-fry-pan-with-ceramiguard-ii-interior-67954-8-gauge-10-7-8-bottom-diameter>: HTTP status code is not handled or not allowed 2026-01-27 21:11:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceiling-pull-chain-receptacle-gu24-w-lexan-lens>: HTTP status code is not handled or not allowed 2026-01-27 21:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-x-profile-o-ring-dash-218-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 21:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-cfl-lampholder-w-uno-ring-g24q-1-gx24q-1-60hz-0-15a-13w-120v>: HTTP status code is not handled or not allowed 2026-01-27 21:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-u-cup-seal-1-14-id-x-1-34-od-x-14-height-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-27 21:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011851-service-kit-waveguide-for-turbochef>: HTTP status code is not handled or not allowed 2026-01-27 21:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tractor-style-stool-with-seat-tilt-chrome-foot-ring-nylon-base-black>: HTTP status code is not handled or not allowed 2026-01-27 21:11:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/washdown_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-two-piece-ladle-46900-1-2-oz-capacity-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:11:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/condiment_servers landed on page that is not a product page. 2026-01-27 21:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-flat-washer-sae-11-32-i-d-steel-zinc-grade-2-pkg-of-1-lb>: HTTP status code is not handled or not allowed 2026-01-27 21:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bend-glass-13-in-round-white>: HTTP status code is not handled or not allowed 2026-01-27 21:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/door_guards>: HTTP status code is not handled or not allowed 2026-01-27 21:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tefc-1ph-3600rpm-aa1>: HTTP status code is not handled or not allowed 2026-01-27 21:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-handle-36-l-x-24-w-best-value-plastic-platform-truck>: HTTP status code is not handled or not allowed 2026-01-27 21:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-213-tefc-3ph-1760-1450rpm-b>: HTTP status code is not handled or not allowed 2026-01-27 21:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tefc-3ph-1725-2825rpm-c6t17wc23cc>: HTTP status code is not handled or not allowed 2026-01-27 21:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-6-recycled-bench-with-back-portablesurface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-flat-washer-sae-1-1-16-i-d-steel-zinc-grade-2-pkg-of-25-cct16>: HTTP status code is not handled or not allowed 2026-01-27 21:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/washdown_motors>: HTTP status code is not handled or not allowed 2026-01-27 21:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15ml-centrifuge-tube-snap-pop-lid-self-standing-resealable-bag-sterile-500-case>: HTTP status code is not handled or not allowed 2026-01-27 21:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264591-grease-filter-stainless-steel-16-x-25-x-2>: HTTP status code is not handled or not allowed 2026-01-27 21:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-12x12x72-3-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-combination-internal-external-tooth-lock-washer-steel-zinc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261766-baffle-filter-16-x-20-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 21:11:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/deep_fryers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031115-screen-assembly-filter-15-inch-x15-inch-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-27 21:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-plastic-condiment-dispenser-w-standard-lid-4740-06-black-quart-insert-size>: HTTP status code is not handled or not allowed 2026-01-27 21:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-double-tier-12x18x36-6-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-fender-washer-285-i-d-108-132-thick-steel-zinc-grade-2-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-12-x-63>: HTTP status code is not handled or not allowed 2026-01-27 21:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-panel-36-x-73>: HTTP status code is not handled or not allowed 2026-01-27 21:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-hp-threaded-shaft-motor-magnetek-bn24v1-115v>: HTTP status code is not handled or not allowed 2026-01-27 21:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripbelt-a45>: HTTP status code is not handled or not allowed 2026-01-27 21:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-round-table-with-2-imme-armless-barstools-white-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-27 21:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-resistant-high-temperature-teflon-ptfe-tubing-38id-x-12od-x-100-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/deep_fryers>: HTTP status code is not handled or not allowed 2026-01-27 21:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 17160 pages (at 95 pages/min), scraped 7137 items (at 29 items/min) 2026-01-27 21:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-electric-height-adjustable-table-cherry-w-gray-base-60-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-27 21:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-dripcut-grater-sg-200-stainless-steel-9-x-4-x-4>: HTTP status code is not handled or not allowed 2026-01-27 21:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-3-commercial-hepa-air-purifier-stainless>: HTTP status code is not handled or not allowed 2026-01-27 21:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-foot-operated-hand-sanitizer-dispenser-use-with-gallon-bottles-w-pump>: HTTP status code is not handled or not allowed 2026-01-27 21:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-red-pin-heavy-duty-dock-boards-31>: HTTP status code is not handled or not allowed 2026-01-27 21:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/304ss-straight-adapters-tubeto-mnpt-for-quick-clamp-fittings-for-1-tubeodx-1-npt-male>: HTTP status code is not handled or not allowed 2026-01-27 21:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdn-high-heat-oven-thermometer>: HTTP status code is not handled or not allowed 2026-01-27 21:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-squeeze-dispensers-5232-13-standard-32-oz>: HTTP status code is not handled or not allowed 2026-01-27 21:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-squeeze-dispensers-5324-13-standard-24-oz>: HTTP status code is not handled or not allowed 2026-01-27 21:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6t25f34k-nylon-plastic-adjustable-lever-w-steel-components-3-8-16-x-98-stud>: HTTP status code is not handled or not allowed 2026-01-27 21:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixing-bowl-40769-30-quart-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:12:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/solar_charge_controllers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321565-gh-2280zx-large-spindle-bore-lathe-w-taper-attachment-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 21:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-48x36x84-with-3-levels-wood-deck-1500lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-super-wide-jumbo-cabinet-with-264-hook-on-bins>: HTTP status code is not handled or not allowed 2026-01-27 21:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-caster-chairs-white-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-27 21:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kymco-uxv450-450cc-atv-replacement-battery-2017>: HTTP status code is not handled or not allowed 2026-01-27 21:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1961081-shield-splash-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-27 21:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-without-lid-29-1-2x19-1-2x15-1>: HTTP status code is not handled or not allowed 2026-01-27 21:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-vg-bulk-rack-60-w-x-30-d-x-72-h-starter-with-corrugated-steel-decking-textured-regal-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-portable-vehicle-axle-scale-pads-wireless-150000-lb-x-10-lb-6-pads>: HTTP status code is not handled or not allowed 2026-01-27 21:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-72x48x96-with-3-level-steel-deck-1000lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-x-40-folding-wire-container-accessory-lid-hinged>: HTTP status code is not handled or not allowed 2026-01-27 21:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341302-sink-heater208v-6000w-26-inch-x-17-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dirty-sox-small-a-c-system-odor-neutralizer-cleaner-20-oz-1-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:12:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/solar_charge_controllers landed on page that is not a product page. 2026-01-27 21:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axle-kit-magliner-hand-truck-with-10-wheels>: HTTP status code is not handled or not allowed 2026-01-27 21:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arkadia-10-non-stick-fry-pan-n7010-8-gauge-1-3-4-depth>: HTTP status code is not handled or not allowed 2026-01-27 21:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-96x36x96-with-3-levels-wood-deck-800-lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supreme-anti-fatigue-mat-3-4-thick-3x-2-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hessaire-36-direct-drive-box-fan-36d370-n-1-2hp-1ph-11070-cfm>: HTTP status code is not handled or not allowed 2026-01-27 21:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-caster-chairs-moonbeam-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-27 21:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/queue-153-solutions-barricade-cart-30-barricades-barr-cart>: HTTP status code is not handled or not allowed 2026-01-27 21:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261162318-blaze-quick-change-cloth-disc-2-inch-dia-36-grit-seeded-gel-ceramic-type-iii>: HTTP status code is not handled or not allowed 2026-01-27 21:12:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-tie-double-lock-6-30-lb-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series153-storage-cabinet-with-doors-36w-x-20d-x-29-12h-kingswood-walnut>: HTTP status code is not handled or not allowed 2026-01-27 21:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slat-wall-accessory-8-l-peg-hook>: HTTP status code is not handled or not allowed 2026-01-27 21:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-resistant-gloves-hct-nano-foam-nitrile-coated-ansi-a2-m-green-12-pair>: HTTP status code is not handled or not allowed 2026-01-27 21:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-access-lock-for-abs-12-26-cu-ft-select-upright-refrigerators>: HTTP status code is not handled or not allowed 2026-01-27 21:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-inch-angle-grinder>: HTTP status code is not handled or not allowed 2026-01-27 21:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-tie-4-18-lb-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-rack-dolly-handle-only-97191-chrome-plated-18-gauge>: HTTP status code is not handled or not allowed 2026-01-27 21:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-27 21:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262785-caster>: HTTP status code is not handled or not allowed 2026-01-27 21:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8991-safety-helmet-visor-anti-fog-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nitrile-coated-general-purpose-work-gloves-s-gray-12-pair>: HTTP status code is not handled or not allowed 2026-01-27 21:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-strap-2>: HTTP status code is not handled or not allowed 2026-01-27 21:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261149833-paper-psa-disc-roll-6-inch-dia-p400-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 21:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-vali-frameless-safety-glasses-matte-black-in-outdoor-lens>: HTTP status code is not handled or not allowed 2026-01-27 21:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7501-coated-waterproof-winter-work-gloves-large-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rw32-ez1y-heavy-duty-rip-stop-waterproof-breathable-pants-w-bib-hi-viz-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-27 21:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7401-coated-waterproof-winter-work-gloves-2xl-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rw30-3z1y-general-purpose-rain-jacket-hi-viz-lime-5xl>: HTTP status code is not handled or not allowed 2026-01-27 21:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/item-ml2-063-pr2-rear-panel-mounting-including-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-full-mask-storage-bag>: HTTP status code is not handled or not allowed 2026-01-27 21:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-big-ones-8-x-11-50-box>: HTTP status code is not handled or not allowed 2026-01-27 21:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visiontek-soundcube-wireless-bluetooth-speaker-black>: HTTP status code is not handled or not allowed 2026-01-27 21:12:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radio_headsets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epson-es3000-80-in-ultra-portable-projector-screen-matte-white>: HTTP status code is not handled or not allowed 2026-01-27 21:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x20-auto-shelter-1-3-8-inch-frame-tan-cover>: HTTP status code is not handled or not allowed 2026-01-27 21:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-skid-mat-1420-01-12-1-2-diameter-chocolate>: HTTP status code is not handled or not allowed 2026-01-27 21:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sign-no-parking-anytime-080mm-thick>: HTTP status code is not handled or not allowed 2026-01-27 21:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4pk2448g-metromax-4-4-shelf-pack-24-x-48>: HTTP status code is not handled or not allowed 2026-01-27 21:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1571081-kit-gas-connector-3-4-inch-x36-inch-for-dormont-mfg>: HTTP status code is not handled or not allowed 2026-01-27 21:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp206yl-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-27 21:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 17256 pages (at 96 pages/min), scraped 7170 items (at 33 items/min) 2026-01-27 21:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp206or-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-27 21:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ignition-mobile-guest-reception-stacking-chair-designer-white-frameblack-seat>: HTTP status code is not handled or not allowed 2026-01-27 21:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1001056-waste-15-inch-f-x-2-inch-m-npt-3-inch-so>: HTTP status code is not handled or not allowed 2026-01-27 21:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/border-fill-48-3-8-x-24-3-8-pvc-glue-up-tile-in-gloss-white-pg5600>: HTTP status code is not handled or not allowed 2026-01-27 21:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radio_headsets>: HTTP status code is not handled or not allowed 2026-01-27 21:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2570-grade-2-cylindrical-lock-classroom-2-34-us26d-wtn-scc-kd-asa>: HTTP status code is not handled or not allowed 2026-01-27 21:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gml111gn-gauge-marking-decal>: HTTP status code is not handled or not allowed 2026-01-27 21:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-57>: HTTP status code is not handled or not allowed 2026-01-27 21:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp207bk-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-27 21:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-electrodes-2-x-3-5-rectangle-40-case>: HTTP status code is not handled or not allowed 2026-01-27 21:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fast-flow-drum-gate>: HTTP status code is not handled or not allowed 2026-01-27 21:13:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-1-48-3-8-x-24-3-8-pvc-glue-up-tile-in-vintage-metal-pg5034>: HTTP status code is not handled or not allowed 2026-01-27 21:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ignition-20-4-way-stretch-task-chair-mid-back-17-21h-seat-cloud>: HTTP status code is not handled or not allowed 2026-01-27 21:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-caster-chairs-black-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-27 21:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-frame-receiving-shop-desk-beige>: HTTP status code is not handled or not allowed 2026-01-27 21:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011857-service-kit-waveguide-for-turbochef>: HTTP status code is not handled or not allowed 2026-01-27 21:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-dryer-chrome-die-cast-zinc-alloy-hepa-110-120v>: HTTP status code is not handled or not allowed 2026-01-27 21:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-w-x-18-d-x-6-h-hopper-box-black>: HTTP status code is not handled or not allowed 2026-01-27 21:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-rail-flange-4>: HTTP status code is not handled or not allowed 2026-01-27 21:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014127-hood-filter-type6-galv-16x20>: HTTP status code is not handled or not allowed 2026-01-27 21:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles>: HTTP status code is not handled or not allowed 2026-01-27 21:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-water-bottle-filling-station-filtered>: HTTP status code is not handled or not allowed 2026-01-27 21:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-crossover-5>: HTTP status code is not handled or not allowed 2026-01-27 21:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x725-6-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-27 21:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-watt-hi-pro-spiral-compact-fluorescent-light-bulb-medium-base-B1229109>: HTTP status code is not handled or not allowed 2026-01-27 21:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-72-x-18-light-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swing-glass-door-merchandiser-73-high>: HTTP status code is not handled or not allowed 2026-01-27 21:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x2x2-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-27 21:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-5>: HTTP status code is not handled or not allowed 2026-01-27 21:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-1-8x9-1-4x1-1-4-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-27 21:13:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-storage-forkli-able-caddy-3>: HTTP status code is not handled or not allowed 2026-01-27 21:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-rest-pebble-foam-mat-hd-4-ft-x-6-ft-coal>: HTTP status code is not handled or not allowed 2026-01-27 21:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-72-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marble-sof-tyle-mat-3-ft-x-custom-length-black>: HTTP status code is not handled or not allowed 2026-01-27 21:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881078-thermal-expansion-valvetex2-r22-less-orfice>: HTTP status code is not handled or not allowed 2026-01-27 21:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubular-light-mounting-bracket-long-l-qty-2-required-when-mounting-tube-lights>: HTTP status code is not handled or not allowed 2026-01-27 21:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-divider-rotating-parts-center>: HTTP status code is not handled or not allowed 2026-01-27 21:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x8x4-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-27 21:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-shelf-truck-48x18x69-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-27 21:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits>: HTTP status code is not handled or not allowed 2026-01-27 21:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010640-rocker-switch-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-27 21:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-connect-hook-purple-2600-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:13:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/contactors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tutco-crankcase-75-240-48-34>: HTTP status code is not handled or not allowed 2026-01-27 21:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-xps-153-3-phillips-2-power-bit-matte-nickel-3-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bravo-3-gal-carpet-spotter-55-psi-pump-106-inch-waterlift-heat-ready-300mh>: HTTP status code is not handled or not allowed 2026-01-27 21:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-workstation-cpu-shelf-12-wide-23-deep-30-high-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triton-carpet-wand-for-500-psi-units-tr1-9501fs-a>: HTTP status code is not handled or not allowed 2026-01-27 21:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x24x20-double-wall-boxes>: HTTP status code is not handled or not allowed 2026-01-27 21:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-36in-w-x-18in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-lid-28-gallon-square-rubbermaid-brute-waste-receptacles-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1292-3-piece-1-8-inch-npt-bj-flange-nipple-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wiring_devices/contactors>: HTTP status code is not handled or not allowed 2026-01-27 21:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-42in-w-x-30in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/641005-slicing-knife-set-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 21:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-trailer-stabilizing-jack-stand>: HTTP status code is not handled or not allowed 2026-01-27 21:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-foot-wheel-tire-chock-security-chain>: HTTP status code is not handled or not allowed 2026-01-27 21:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-24in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-x2900-1-5-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-27 21:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-42in-w-x-30in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-enclosed-bulletin-board-cabinet-1-door-2-feet-h-x-1-5-feet-w-silver-trim-platinum>: HTTP status code is not handled or not allowed 2026-01-27 21:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 17350 pages (at 94 pages/min), scraped 7204 items (at 34 items/min) 2026-01-27 21:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vin-tak-tackboard-with-aluminum-trim-4-feet-h-x-8-feet-w-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-36-extra-long-bench-shop-top>: HTTP status code is not handled or not allowed 2026-01-27 21:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-high-torque-1-2-impact-wrench-kit-5-0ah-18v-lxt-174-li-ion-friction-ring>: HTTP status code is not handled or not allowed 2026-01-27 21:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-36-extra-long-bench-maple-top>: HTTP status code is not handled or not allowed 2026-01-27 21:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x1450-3-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-27 21:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-enclosed-bulletin-board-cabinet-3-door-4-feet-h-x-8-feet-w-silver-trim-natural-cork>: HTTP status code is not handled or not allowed 2026-01-27 21:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-overbed-table-with-h-base-white-laminate-tabletop>: HTTP status code is not handled or not allowed 2026-01-27 21:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-30-x-72-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-in-adjustable-bookcase-36-wide-11-deep-30-high-natural-oak>: HTTP status code is not handled or not allowed 2026-01-27 21:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-universal-pad-light-weight-15-x-18-gray-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delux-e-bulletin-board-cabinet-with-2-sliding-doors-3-feet-h-x-4-feet-w-granite>: HTTP status code is not handled or not allowed 2026-01-27 21:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-gallon-rubbermaid-marshal-waste-receptacles-beige>: HTTP status code is not handled or not allowed 2026-01-27 21:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1416-temperature-control-with-knob-165-to-445-f>: HTTP status code is not handled or not allowed 2026-01-27 21:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergomat-classic-3-x-4>: HTTP status code is not handled or not allowed 2026-01-27 21:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-24-x-18-light-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergomat-complete-smooth-3-x-12>: HTTP status code is not handled or not allowed 2026-01-27 21:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5031055-bulb-130v-40-watt-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-supreme-v-3-x-100-red-white>: HTTP status code is not handled or not allowed 2026-01-27 21:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x12-red-packing-list-enclosed-envelopes-pl435>: HTTP status code is not handled or not allowed 2026-01-27 21:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-supreme-v-6-x-100-black>: HTTP status code is not handled or not allowed 2026-01-27 21:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boning-5-nar-flex-blk-fibrox>: HTTP status code is not handled or not allowed 2026-01-27 21:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171403-valve-water-120v-3-4-inch-asco>: HTTP status code is not handled or not allowed 2026-01-27 21:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-60-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171405-valve-water-240v-3-4-inch-asco>: HTTP status code is not handled or not allowed 2026-01-27 21:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681454-valve-gas-lp-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-27 21:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x18-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 21:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-triangle-24-x-24-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-96inw-x-36ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/265645-output-small-gear-for-dynamic-international-hand-mixers>: HTTP status code is not handled or not allowed 2026-01-27 21:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-stainless-steel-cleaner-wipes-40-wipes-canister-6-canisters-case>: HTTP status code is not handled or not allowed 2026-01-27 21:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-hi-vis-leg-gaiters-class-e-osfm-fluorescent-yellow-l05tvce>: HTTP status code is not handled or not allowed 2026-01-27 21:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-lab-coat-ultrasoft-3xl-navy-c09uplc>: HTTP status code is not handled or not allowed 2026-01-27 21:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-16-round-sign-fire-extinguisher-do-not-block>: HTTP status code is not handled or not allowed 2026-01-27 21:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-terrain-6-wheel-hand-cart-slv1000hc6y-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531311-module-ext-f-occupancy-sensor>: HTTP status code is not handled or not allowed 2026-01-27 21:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-18-black>: HTTP status code is not handled or not allowed 2026-01-27 21:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-18-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-30-x-41-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-dbl-solenoid-valve-pilot-spr-cntred-1-8-nptf-12v-dc-3w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-27 21:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-swing-door-18-x-18-x-18-dark-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-24x18-rectangle-shipping-receiving>: HTTP status code is not handled or not allowed 2026-01-27 21:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv08b3x12-8-cal-cm2-arc-flash-kit-w-fr-coverall-w-balaclava-3xl-glove-size-12>: HTTP status code is not handled or not allowed 2026-01-27 21:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-30-round-sign-caution-forklift-traffic>: HTTP status code is not handled or not allowed 2026-01-27 21:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-resistant-mid-arm-cryogenic-glove-x-large-blue-g99crberxlma>: HTTP status code is not handled or not allowed 2026-01-27 21:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-performance-gloves-safety-lime-winter-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7212-03-dual-flex-wrist-supports-black-large>: HTTP status code is not handled or not allowed 2026-01-27 21:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spr-cntred-closed-cntr-g1-8-24v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-27 21:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pres-cntr-dbl-solenoid-vlv-pilot-spr-cntred-1-4-nptf-24v-dc-2w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-27 21:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-42inw-x-15ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-resistant-wrist-cryogenic-glove-x-large-blue-g99crberxlwr>: HTTP status code is not handled or not allowed 2026-01-27 21:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-dbl-solenoid-valve-pilot-spr-cntred-1-8-nptf-220v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 21:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-14-x-48-x-18-dark-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-safety-vise-5-inch-jaw-width-5-1-4-inch-jaw-opening>: HTTP status code is not handled or not allowed 2026-01-27 21:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262193-driven-sprocket-for-hatco-corp>: HTTP status code is not handled or not allowed 2026-01-27 21:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-drawer-layout-19-compartments-5-h>: HTTP status code is not handled or not allowed 2026-01-27 21:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/st-drawer-layout-8-compartments-5-h>: HTTP status code is not handled or not allowed 2026-01-27 21:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/translucent-liner-24-x-54>: HTTP status code is not handled or not allowed 2026-01-27 21:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-96x36x120-starter>: HTTP status code is not handled or not allowed 2026-01-27 21:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-48ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-72x36x96-add-on>: HTTP status code is not handled or not allowed 2026-01-27 21:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wgr44-d-double-headed-rack-protector-44>: HTTP status code is not handled or not allowed 2026-01-27 21:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-60x24x72-starter>: HTTP status code is not handled or not allowed 2026-01-27 21:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-36ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-72-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381802-socket-fluorescent-bi-pin-t8>: HTTP status code is not handled or not allowed 2026-01-27 21:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2551011-blade-4-8-section-2-for-shaver-specialty-king-cutter-vegetable-potato-cutter>: HTTP status code is not handled or not allowed 2026-01-27 21:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-2-spt-1-white>: HTTP status code is not handled or not allowed 2026-01-27 21:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 17448 pages (at 98 pages/min), scraped 7235 items (at 31 items/min) 2026-01-27 21:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-pilot-valve-spring-return-1-4-24v-dc-2w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72519-laminated-stainless-steel-arbor-shim-1-id-x-1-1-2-od-x-0062-thick>: HTTP status code is not handled or not allowed 2026-01-27 21:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-1-4-nptf-12v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv113x10-12-cal-cm2-ultrasoft-arc-flash-kit-with-fr-coverall-3xl-glove-size-10>: HTTP status code is not handled or not allowed 2026-01-27 21:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-powered-2-inch-bung-mount-agitator-1-hp-2-6-inch-cl-propellers>: HTTP status code is not handled or not allowed 2026-01-27 21:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amana-06-cu-ft-2100-watt-hd-commercial-microwave>: HTTP status code is not handled or not allowed 2026-01-27 21:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adam-platform-floor-scale-75lb>: HTTP status code is not handled or not allowed 2026-01-27 21:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010627-probe-water-level-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-27 21:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761145-portable-4-range-brnr>: HTTP status code is not handled or not allowed 2026-01-27 21:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1072-thermostat-type-kxp-temperature-200-400-f-36-inch-capillary>: HTTP status code is not handled or not allowed 2026-01-27 21:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b4-compact-flat-clinch-executive-stapler-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-g-1-8-220v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-3-x-40-120-edge-protectors-cased>: HTTP status code is not handled or not allowed 2026-01-27 21:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-gasket-813-15-1-1-2>: HTTP status code is not handled or not allowed 2026-01-27 21:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-2-x-12-225-edge-protectors-cased>: HTTP status code is not handled or not allowed 2026-01-27 21:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-24ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-in-w-x-46-in-h-non-electric-panel-with-raceway-only-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-g-1-2-double-solenoid-valve-pilot-12v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-in-w-x-46-in-h-non-electric-panel-with-raceway-only-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-g-1-8-12v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-female-male-reducer-adapter-369-2520761-2-1-2-nh-x-3-4-npt-brass>: HTTP status code is not handled or not allowed 2026-01-27 21:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pressure-cntr-g1-8-dbl-solenoid-valve-pilot-spr-cntred-110v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 21:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv08xl09-8-cal-cm2-arc-flash-kit-with-fr-coverall-xl-glove-size-09>: HTTP status code is not handled or not allowed 2026-01-27 21:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-g-1-8-12v-dc-3w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conical-lip-plastic-anchor-4-6-8-x-3-4-plain-finish-pkg-of-100-078011>: HTTP status code is not handled or not allowed 2026-01-27 21:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrawedge-wedge-anchor-1-2-13-x-4-1-4-steel-hot-dip-galvanized-pkg-of-25-158120>: HTTP status code is not handled or not allowed 2026-01-27 21:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelving-36x24x45-adjustable>: HTTP status code is not handled or not allowed 2026-01-27 21:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-plain-hose-nozzle-572-2521-2-1-2-nh-brass>: HTTP status code is not handled or not allowed 2026-01-27 21:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-short-shank-coupling-set-268-15211-1-1-2-nh-brass>: HTTP status code is not handled or not allowed 2026-01-27 21:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-48ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-6-1-2-x-1-3-4-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-27 21:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc40s10-40-cal-compliance-arc-flash-kit-w-short-coat-bib-overall-s-sz-10>: HTTP status code is not handled or not allowed 2026-01-27 21:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versatile-workhorse-dehumidifier-cd100e-16-amps-700-cfm-97-pints>: HTTP status code is not handled or not allowed 2026-01-27 21:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-10-x-5-deluxe-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-27 21:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-drive-anchor-1-4-x-2-mushroom-head-steel-zinc-pkg-of-100-266060>: HTTP status code is not handled or not allowed 2026-01-27 21:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-16-1-2-x-18-x-11-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sleeve-anchor-3-8-x-3-3-4-round-head-steel-zinc-pkg-of-50-426030>: HTTP status code is not handled or not allowed 2026-01-27 21:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/popcorn-boxes-75oz>: HTTP status code is not handled or not allowed 2026-01-27 21:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661064-kit-tune-up-shake-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-27 21:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-pres-cntr-spr-cntred-1-8-npt-220v-ac-5va-coil-led>: HTTP status code is not handled or not allowed 2026-01-27 21:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-double-female-swivel-adapter-379-1521521-1-1-2-nh-x-1-1-2-nh-brass>: HTTP status code is not handled or not allowed 2026-01-27 21:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-flat-top-wood-luggage-rack-cherry-mahogany-black-straps-1-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-with-nylon-zipper-closure-white-18-24-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/282260-strain-relief-powercord-for-intermetro-industries>: HTTP status code is not handled or not allowed 2026-01-27 21:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-18-d-x-10-h-premium-stacking-bin-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 21:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardner-bender-upperhand8482-steel-fishtape-with-rubber-grips-250-x-18-x-060>: HTTP status code is not handled or not allowed 2026-01-27 21:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-24ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264207-fan-blade-evaporator-for-delfield>: HTTP status code is not handled or not allowed 2026-01-27 21:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264209-door-hingetop-rh-bottom-lh-for-delfield>: HTTP status code is not handled or not allowed 2026-01-27 21:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardner-bender-handy-saver8482-reel-roller-space-saver>: HTTP status code is not handled or not allowed 2026-01-27 21:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-g-1-2-single-solenoid-valve-pilot-spr-return-24v-dc-3w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009773-hp-retaining-pin-knob500-600-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-27 21:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-36inw-x-18ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-dunnage-rack-48-w-x-24-d-1>: HTTP status code is not handled or not allowed 2026-01-27 21:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-holder-cartridge-kit-d50228-4-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-g-1-2-single-solenoid-valve-pilot-spr-return-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-30ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-easyinstall-pre-rinse-unit-with-wall-bracket-add-on-faucet-hose>: HTTP status code is not handled or not allowed 2026-01-27 21:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-h-brace-support-24w-x-23-38h-for-mrs-roller-conveyors>: HTTP status code is not handled or not allowed 2026-01-27 21:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1180-2-drum-steel-spill-pallet-68-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-4x-light-blue-tcg01190231>: HTTP status code is not handled or not allowed 2026-01-27 21:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silvers-19-oz-45-deluxe-aluminized-coat-2xl-c22nl2xl45>: HTTP status code is not handled or not allowed 2026-01-27 21:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-desk-w-pigeonhole-compartments-flat-top-34-1-2-w-x-30-d-x-38-to-42-1-2-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-12ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haws-horizontal-or-vertical-drench-shower-1012-ss-showerhead>: HTTP status code is not handled or not allowed 2026-01-27 21:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-1-8-nptf-110v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-utility-shirt-3xl-t-tan-df2-324ls-kh-3xlt>: HTTP status code is not handled or not allowed 2026-01-27 21:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shaft-1050rpm-115v-110-115-120-125hp>: HTTP status code is not handled or not allowed 2026-01-27 21:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-main-filter-for-attix-33-attix-44>: HTTP status code is not handled or not allowed 2026-01-27 21:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haws-pedestal-mounted-stainless-bowl-eyeface-wash-axion-msr-eyeface-wash-head>: HTTP status code is not handled or not allowed 2026-01-27 21:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-1-8-nptf-single-solenoid-valve-pilot-spr-return-110v-ac-5va-coil-blk-conn>: HTTP status code is not handled or not allowed 2026-01-27 21:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 17547 pages (at 99 pages/min), scraped 7262 items (at 27 items/min) 2026-01-27 21:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-3xl-ln-tan-tcg01120229>: HTTP status code is not handled or not allowed 2026-01-27 21:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-double-shaft-blower-less-base-208-230v-1550rpm-110hp-78>: HTTP status code is not handled or not allowed 2026-01-27 21:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanchion-kit-yellow-6pk-50-of-2-chain-w-c-hooks-incl-2-pole-14-base-41-height>: HTTP status code is not handled or not allowed 2026-01-27 21:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011998-spring-compression-for-lincoln-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 21:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-36ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-36inw-x-12ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-ball-fan-208-230460v-1075rpm-1hp>: HTTP status code is not handled or not allowed 2026-01-27 21:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-outdoor-ball-fan-a-208-230v-1075rpm-34hp>: HTTP status code is not handled or not allowed 2026-01-27 21:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-steel-shelving-20-ga-36-wx12-dx97-h-closed-clip-5-shelves-starter>: HTTP status code is not handled or not allowed 2026-01-27 21:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-steel-shelving-20-ga-36-wx18-dx97-h-closed-clip-5-shelves-add-on>: HTTP status code is not handled or not allowed 2026-01-27 21:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-3xl-navy-tcg02160877>: HTTP status code is not handled or not allowed 2026-01-27 21:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gallon-wheeled-overpack-salvage-drum-with-lid-a95over-wd-9-polyethylene-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-safety-view-locker-triple-tier-12x12x24-3-doors-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-27 21:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-3xl-ln-navy-tcg02160878>: HTTP status code is not handled or not allowed 2026-01-27 21:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-welded-storage-cabinet-36w-x-24d-x-60h-light-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfp1-11um-qualitative-cellulose-filter-paper-4-25cm-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-sterile-microbiological-filtration-monitors-100ml-50-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-1-2-nptf-110v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-hobby-craft-organizer-storage-kit-yellow-white-32-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 21:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-pilot-spr-return-1-8-nptf-220v-ac-5va-coil-blk-conn>: HTTP status code is not handled or not allowed 2026-01-27 21:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-48ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-steel-table-2-shelves-48x24-1200-lb-capacity-unassembled-2>: HTTP status code is not handled or not allowed 2026-01-27 21:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spr-cntred-closed-cntr-g1-8-24v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 21:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kitchen-pegboard-pack-storage-organization-kit-green-blue-32-x-32-x-6>: HTTP status code is not handled or not allowed 2026-01-27 21:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-60inw-x-24ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelf-truck-36x24x60-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-27 21:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441020-electrode-for-dynamic-cooking-systems>: HTTP status code is not handled or not allowed 2026-01-27 21:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-1-1-2-in-48-in-clear-strip>: HTTP status code is not handled or not allowed 2026-01-27 21:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-metal-stackable-chair-with-wood-seat>: HTTP status code is not handled or not allowed 2026-01-27 21:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-metal-pegboard-gray-48-x-32-x-3-4>: HTTP status code is not handled or not allowed 2026-01-27 21:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelf-truck-60x24x69-1200-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-basic-tool-organizer-kit-galvanized-black-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 21:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-48x18x74>: HTTP status code is not handled or not allowed 2026-01-27 21:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-60x24x74>: HTTP status code is not handled or not allowed 2026-01-27 21:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-standard-tool-storage-kit-white-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 21:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-1-2-security-machine-screw-round-one-way-head-steel-zinc-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-ext-pilot-g-1-4-24v-dc-3w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-extra-heavy-duty-boltless-shelving-add-on-96wx24dx72h-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-shelf-24x60-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-27 21:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-ext-pilot-1-8-nptf-24v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:16:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/standard_duty_steel_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-ink-jet-insert-letter-pref-1-1-4-in-6-in-400-per-package>: HTTP status code is not handled or not allowed 2026-01-27 21:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-hobby-craft-organizer-storage-kit-red-32-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 21:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-silicone-foam-sheet-with-high-temp-adhesive-1-16-x-12-x-12>: HTTP status code is not handled or not allowed 2026-01-27 21:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-3-4-security-machine-screw-flat-hex-socket-head-alloy-steel-black-oxide-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24-x-1-2-security-machine-screw-flat-torx-head-alloy-steel-black-oxide-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262855-key1-8-x-1-1-8-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 21:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-36inw-x-24ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-tool-board-workstation-accessory-kit-for-pegboard-slotted-tool-board-red>: HTTP status code is not handled or not allowed 2026-01-27 21:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80-063-200-vertical-small-cpu-holder-black>: HTTP status code is not handled or not allowed 2026-01-27 21:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nv222-portable-balance-220g-x-0-01g-5-7-dia-platform>: HTTP status code is not handled or not allowed 2026-01-27 21:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/standard_duty_steel_lockers>: HTTP status code is not handled or not allowed 2026-01-27 21:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-283-1-light-ceiling-flush-mount-w-alabaster-glass-brushed-nickel-11-5w-x-4-5h>: HTTP status code is not handled or not allowed 2026-01-27 21:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g-1-4-dbl-solenoid-valve-pilot-spring-cntred-24v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 21:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-pressure-dial-tire-gauge-dual-head-air-chuck-w-12-hose-0-to-120-psi-s-936>: HTTP status code is not handled or not allowed 2026-01-27 21:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-wall-mounted-misting-fan-outdoor-rated-oscillating-7435-cfm-1-7-hp>: HTTP status code is not handled or not allowed 2026-01-27 21:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-bright-tea-co-peppermint-herbal-tea-007-oz-pouch-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ab-x-2-1-2-security-sheet-metal-screw-button-hex-socket-head-302hq-18-8-ss-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carson-optical-rd-050-rd-series-10x50mm-open-bridge-waterproof-binoculars>: HTTP status code is not handled or not allowed 2026-01-27 21:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carson-optical-cf-618-closeup-6x18mm-close-focus-monocular>: HTTP status code is not handled or not allowed 2026-01-27 21:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aero-two-bowl-ss-sink-18-x-18>: HTTP status code is not handled or not allowed 2026-01-27 21:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-mat-12-x-18-long-one-piece-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/funnel-1-qt-capacity-6-5-8-high-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 21:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441634-water-sensor-probe-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-27 21:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-rigid-plate-caster-5-tpr-wheel-1>: HTTP status code is not handled or not allowed 2026-01-27 21:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cafe-domingo-blend-ground-coffee-035-oz-pouch-pack-of-76>: HTTP status code is not handled or not allowed 2026-01-27 21:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-stainless-steel-swivel-plate-caster-5-tpr-wheel-with-brake>: HTTP status code is not handled or not allowed 2026-01-27 21:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-5044-patton-3-light-ceiling-semi-flush-frosted-brushed-nickel-13w-x-11h>: HTTP status code is not handled or not allowed 2026-01-27 21:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-1-security-sheet-metal-screw-oval-one-way-head-18-8-stainless-steel-ft-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-scouring-pads-green-6-x-9-case-of-20-pads>: HTTP status code is not handled or not allowed 2026-01-27 21:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12h-lockable-stacking-drawer-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-womens-safety-work-boots-alloy-toe-8h-size-10-desert-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/articulating-bin-panel-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 17647 pages (at 100 pages/min), scraped 7291 items (at 29 items/min) 2026-01-27 21:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-plate-caster-8-mold-on-rubber-wheel-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2691057-door-glass-chiller-s-s-for-perlick-refrigeration>: HTTP status code is not handled or not allowed 2026-01-27 21:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4003-parker-3-light-vanity-wall-sandstone-etched-polished-chrome-18-75w-x-9-5h>: HTTP status code is not handled or not allowed 2026-01-27 21:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-3-8-security-sheet-metal-screw-pan-spanner-head-18-8-stainless-steel-ft-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013325-tune-up-kit-401-601-708e-for-sani-serve>: HTTP status code is not handled or not allowed 2026-01-27 21:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-edge-work-bench-top-plastic-60-w-x-30-d-x-1-5-8-thick>: HTTP status code is not handled or not allowed 2026-01-27 21:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-8-inch-3-inch-stainless-steel-worm-gear-clamp-with-9-16-inch-band>: HTTP status code is not handled or not allowed 2026-01-27 21:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-hat-front-brim-type-1-class-e-ratchet-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010669-thumb-screw-for-globe-food-equipment>: HTTP status code is not handled or not allowed 2026-01-27 21:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-72x30x60-with-3-shelves-no-deck-900-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-27 21:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-2-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk-91120>: HTTP status code is not handled or not allowed 2026-01-27 21:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010927-bearing-main-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 21:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-5138-patton-3-light-pendant-frosted-prairie-bronze-16w-x-21h>: HTTP status code is not handled or not allowed 2026-01-27 21:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airgo-ultra-lightweight-boot-plain-toe-cleated-outsole-8-h-black-size-7>: HTTP status code is not handled or not allowed 2026-01-27 21:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-wire-shelving-add-on-48w-x-12-d-x-54-h>: HTTP status code is not handled or not allowed 2026-01-27 21:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-polypropylene-king-nipple>: HTTP status code is not handled or not allowed 2026-01-27 21:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surveyor-vest-c2l2-solid-lime-s-m>: HTTP status code is not handled or not allowed 2026-01-27 21:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulsar-knee-boot-plain-toe-chevron-plus-174-outsole-15-h-blk-gray-size-3>: HTTP status code is not handled or not allowed 2026-01-27 21:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badger-insulated-fleece-lined-boots-plain-toe-midsole-deep-lug-17-h-blk-size-5>: HTTP status code is not handled or not allowed 2026-01-27 21:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spice-womens-safety-work-boots-steel-toe-7h-size-10-mystic-dune-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-7-16-inch-3-3-4-inch-stainless-steel-ultra-t-bolt-clamp-ut-343>: HTTP status code is not handled or not allowed 2026-01-27 21:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spac-trac-5-unit-storage-shelving-chrome-36x21x74>: HTTP status code is not handled or not allowed 2026-01-27 21:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011053-lower-pulley-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 21:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotating-multi-directional-machine-dolly-rl8-6-13817>: HTTP status code is not handled or not allowed 2026-01-27 21:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-eagle-174-overall-green-knee-patch-pockets-loto-straps-xs>: HTTP status code is not handled or not allowed 2026-01-27 21:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valence-womens-safety-work-boots-steel-toe-7h-size-12-chestnut-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-hard-hat-area-rigid-plastic-10-h-x-14-w>: HTTP status code is not handled or not allowed 2026-01-27 21:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spray-suction-hose-kit-for-b-250-scrubber-2-640-938-0>: HTTP status code is not handled or not allowed 2026-01-27 21:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-8-black>: HTTP status code is not handled or not allowed 2026-01-27 21:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/category-m-flat-pleated-filter-cellulose-6-907-276-0>: HTTP status code is not handled or not allowed 2026-01-27 21:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lxem8-40ml-rfa-edu-8-led-encl-gasketed-94w-10000l-4000k-ribbed-lens-0-10v-dim-dlc>: HTTP status code is not handled or not allowed 2026-01-27 21:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4967-boxwood-3-light-outdoor-wall-clear-beveled-white-13w-x-26-25h>: HTTP status code is not handled or not allowed 2026-01-27 21:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrically-conductive-stainless-suction-tube-50-mm-diameter-9-988-114-0>: HTTP status code is not handled or not allowed 2026-01-27 21:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-525-1-light-die-cast-bulk-head-frosted-diffuser-architectural-bronze-6-125w-x-10h>: HTTP status code is not handled or not allowed 2026-01-27 21:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iprotect-reader-safety-glasses-erb-safety-17987-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-level-boltless-7>: HTTP status code is not handled or not allowed 2026-01-27 21:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badger-insulated-fleece-lined-boots-plain-toe-midsole-deep-lug-17-h-blk-size-13>: HTTP status code is not handled or not allowed 2026-01-27 21:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-drum-lock-for-55-gallon-drums-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 21:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-2-economy-mesh-vest-61661-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661029-handle-draw-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-27 21:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ride-on-propane-sweeper-with-warning-beacon-km-150-500-r-lpg-6-987-085-0>: HTTP status code is not handled or not allowed 2026-01-27 21:17:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/delineator_posts_channelizer_cones already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-95-black>: HTTP status code is not handled or not allowed 2026-01-27 21:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grinding-wheel-dispenser-7-3-4-w-x-8-9-16-d-x-16-1-4-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-toe-saddle-jack-20-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-601-1-light-ceiling-flush-mount-small-white-mushroom-brushed-nickel-7-5w-x-5h>: HTTP status code is not handled or not allowed 2026-01-27 21:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-contractor-single-striplight-48-long-4000-lumens>: HTTP status code is not handled or not allowed 2026-01-27 21:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011127-kason-11245000076-hinge-1-3-4-ofst-camlift>: HTTP status code is not handled or not allowed 2026-01-27 21:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-high-letter-end-panel-kit-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-high-legal-end-panel-kit-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-metal-slitting-saw-staggered-side-chip-clear-4-inch-dia-x-9-64-inch-face-x-1-inch-hole-34-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-90mm-0748-inch-gp-hss-tmx-jobber-drill-blk-ox-118-22mm-flute-x-46mm-oal-10-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adder-unit-letter-25-inch-30-3-4-inch-29-1-2-inch-2-opening-bone-white>: HTTP status code is not handled or not allowed 2026-01-27 21:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwcfm-replacement-carbon-filters-3-pack-for-kuhl-sm-em-and-ym-models>: HTTP status code is not handled or not allowed 2026-01-27 21:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwcfq-replacement-carbon-filters-3-pack-for-kuhl-sq-and-eq-models>: HTTP status code is not handled or not allowed 2026-01-27 21:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-legal-depth-shelf-black>: HTTP status code is not handled or not allowed 2026-01-27 21:17:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-jewelers-saw-3-inch-dia-x-032-inch-face-x-1-2-inch-hole-x-168-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sessanta-w-tray-holder-64-gallon-slate-102094>: HTTP status code is not handled or not allowed 2026-01-27 21:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-high-letter-adder-empty-black>: HTTP status code is not handled or not allowed 2026-01-27 21:17:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/delineator_posts_channelizer_cones landed on page that is not a product page. 2026-01-27 21:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-unit-legal-31-inch-45-1-2-inch-48-3-4-inch-4-opening-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-lab-table-30h-with-black-phenolic-resin-top-72-24>: HTTP status code is not handled or not allowed 2026-01-27 21:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-high-legal-starter-empty-black>: HTTP status code is not handled or not allowed 2026-01-27 21:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k100-c-frame-dia-120v>: HTTP status code is not handled or not allowed 2026-01-27 21:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-hexagon-broach-11-16-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-28-extra-long-hardboard-folding-assembly-bench>: HTTP status code is not handled or not allowed 2026-01-27 21:17:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-10-x-10-light-duty-2-9-oz-tarp-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1961080-switch-toggle-spdt-on-on-tab-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-27 21:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-t-shank-4-flute-tmx-core-drill-1-1-16-inch-dia-x-6-5-8-inch-flute-l-x-11-1-4-inch-oal-number-3-mt>: HTTP status code is not handled or not allowed 2026-01-27 21:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-plastic-park-bench-with-backrest-4-l-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adder-unit-legal-31-inch-38-3-471-1-2-inch-6-opening-bone-white>: HTTP status code is not handled or not allowed 2026-01-27 21:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c426v1-cap-start-motor>: HTTP status code is not handled or not allowed 2026-01-27 21:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-taper-pin-reamer-metric-din-9-a-straight-flute-20mm-with-22-4mm-shank-9-flutes>: HTTP status code is not handled or not allowed 2026-01-27 21:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 17744 pages (at 97 pages/min), scraped 7316 items (at 25 items/min) 2026-01-27 21:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-6-flute-chatterless-countersink-82-5-8-inch-dia-x-1-2-inch-shank-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:17:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights landed on page that is not a product page. 2026-01-27 21:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011290-harvest-assist-kit-for-scotsman>: HTTP status code is not handled or not allowed 2026-01-27 21:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-involute-gear-cutters-20-pressure-angle-metric-module-module-m1-25-number-7>: HTTP status code is not handled or not allowed 2026-01-27 21:17:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/single_stage_reciprocating_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-edge-work-bench-top-shop-top-48-w-x-30-d-x-1-3-4-thick>: HTTP status code is not handled or not allowed 2026-01-27 21:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners>: HTTP status code is not handled or not allowed 2026-01-27 21:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-24ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-36inw-x-24ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8781-ultra-containment-wall-69-feet-by-69-feet-by-1-foot-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakeside-homed-classic-5-drawer-treatment-cart>: HTTP status code is not handled or not allowed 2026-01-27 21:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461233-thermostat-w-dialkx-3-16-x-12-72-for-montague-oven>: HTTP status code is not handled or not allowed 2026-01-27 21:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-add-on-48inw-x-12ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-48inw-x-24ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-plain-teeth-side-milling-cutter-5-inch-dia-x-3-8-inch-face-x-1-1-4-inch-hole-x-24-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unhoused-simple-spring-mount-2-long-2-wide-white>: HTTP status code is not handled or not allowed 2026-01-27 21:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/single_stage_reciprocating_air_compressors>: HTTP status code is not handled or not allowed 2026-01-27 21:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qt-max-two-stage-air-compressor-10-hp-120-gallon-horizontal-230v-3-phase>: HTTP status code is not handled or not allowed 2026-01-27 21:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-310-6-light-vanity-wall-polished-brass-36w-x-4-75h>: HTTP status code is not handled or not allowed 2026-01-27 21:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-style-6-ball-coupler-1-4-x-1-4-or-on-hose-barb-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281093-foil-insulation-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 21:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-awg-3-cond-45-ft-15-amp-single-outlet-with-cord-27-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-series-lever-dolly-e-72-po-boxed-72-handle-polyurethane-wheels-4250-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-single-rivet-laminate-deck-48inw-x-18ind-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fuel-delivery-1-50-ft-250-psi-120-lbs-fuel-with-hose-120-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-plain-trolley-2-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pot-n-pan-cleaner-1-5-oz-packs-2307544>: HTTP status code is not handled or not allowed 2026-01-27 21:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-mold-on-wheel-810-sx-10-dia-3w-2800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-electric-chain-hoist-w-chain-container-3-ton-10-ft-lift-9-55-fpm-230v>: HTTP status code is not handled or not allowed 2026-01-27 21:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3500-series-safe-t-alert-back-up-alarm-87-112db-12-24-volts-self-adjusting>: HTTP status code is not handled or not allowed 2026-01-27 21:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-23-33-medium-duty-rigid-caster-33-4-rt-rubber-mold-on-4-dia-200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-personal-protection-screen-24w-x-16d-x-24h-2-sided-clear-thermoplastic>: HTTP status code is not handled or not allowed 2026-01-27 21:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n22-32-series-rigid-caster-n32-8-rt-rubber-mold-on-8-dia-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-plain-trolley-10-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n22-32-series-rigid-caster-n32-8-po-polyurethane-8-dia-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alliance-hose-spiral-wrap-hose-guard-for-1-2-to-11-16-od-25>: HTTP status code is not handled or not allowed 2026-01-27 21:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinc-plated-rigid-caster-zn32-6-prb-polyurethane-with-polyethylene-center-6-dia-750-lb>: HTTP status code is not handled or not allowed 2026-01-27 21:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbx-connector-2-0-wire-gauge-350-amp-gray-inan-267>: HTTP status code is not handled or not allowed 2026-01-27 21:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serrated-24-w-10-step-steel-rolling-ladder-10-d-top-step-kdsr110242>: HTTP status code is not handled or not allowed 2026-01-27 21:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-starter-48inw-x-18ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/giant-stackable-storage-bin-12-3-8x19-3-4x5-7-8-green>: HTTP status code is not handled or not allowed 2026-01-27 21:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serrated-24-w-9-step-steel-rolling-ladder-10-d-top-step-kdsr109242>: HTTP status code is not handled or not allowed 2026-01-27 21:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-packaging-tape>: HTTP status code is not handled or not allowed 2026-01-27 21:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-dry-chemical-10-lb>: HTTP status code is not handled or not allowed 2026-01-27 21:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-smh-connector-2-wire-gauge-120-amp-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-322-sanitation-container-rigid-caster-n32-6-mcp-phenolic-6-dia-1200-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-style-b-j-hook>: HTTP status code is not handled or not allowed 2026-01-27 21:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-circuit-board-pro-2>: HTTP status code is not handled or not allowed 2026-01-27 21:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-emergency-unit-with-square-heads-and-self-diagnostics-nicad-battery-120-277v>: HTTP status code is not handled or not allowed 2026-01-27 21:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-48inw-x-12ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-wall-container-mesh-23-3-4-x15-3-4-x8-1-4>: HTTP status code is not handled or not allowed 2026-01-27 21:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-add-on-48inw-x-24ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-wall-container-mesh-sides-solid-base-23-3-4-x15-3-4-x16-1-8>: HTTP status code is not handled or not allowed 2026-01-27 21:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15ft-aluminum-team-bench-with-back-galvanized-frame-portable>: HTTP status code is not handled or not allowed 2026-01-27 21:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-style-b-s-hook>: HTTP status code is not handled or not allowed 2026-01-27 21:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561390-service-valve>: HTTP status code is not handled or not allowed 2026-01-27 21:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15ft-aluminum-team-bench-without-back-galvanized-frame-surface-mount>: HTTP status code is not handled or not allowed 2026-01-27 21:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2200-series-small-med-parts-hndl-conveyor-std-belt-8-x-12-80-lb-cap-6-36-fpm>: HTTP status code is not handled or not allowed 2026-01-27 21:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ebf-85-8-bdt>: HTTP status code is not handled or not allowed 2026-01-27 21:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lxep4-35hl-dfa-eu-4-led-fixture-5500l-52w-3500k-frosted-acrylic-lens-ip67-dlc>: HTTP status code is not handled or not allowed 2026-01-27 21:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461521-t-stat-bi-metal>: HTTP status code is not handled or not allowed 2026-01-27 21:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-contractor-truck-box-drawer-14-21-72-black-1725641>: HTTP status code is not handled or not allowed 2026-01-27 21:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-vinyl-gloves-powder-free-large>: HTTP status code is not handled or not allowed 2026-01-27 21:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/59-in-automotive-steel-workbench-w-2-drawers>: HTTP status code is not handled or not allowed 2026-01-27 21:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009746-hinge-kit-rt-hand-hoshupright-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-27 21:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-uncaged-fixed-access-ladder-yellow-8>: HTTP status code is not handled or not allowed 2026-01-27 21:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-through-with-handrails-fixed-access-ladder-yellow-8>: HTTP status code is not handled or not allowed 2026-01-27 21:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-54-inch-high-post-green-epoxy-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-duty-service-door-single-panel-beige-3ft-6in-x-7ft-kickplate>: HTTP status code is not handled or not allowed 2026-01-27 21:18:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/cut_off_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2931023-bracket-mounting-zap-timr-2>: HTTP status code is not handled or not allowed 2026-01-27 21:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fb31t8-830-31w-fluorescent-w-medium-bi-pin-base-warm>: HTTP status code is not handled or not allowed 2026-01-27 21:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-relief-valve-3-4-npt-for-champion-104649>: HTTP status code is not handled or not allowed 2026-01-27 21:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-brute-waste-receptacle-caddy-bag>: HTTP status code is not handled or not allowed 2026-01-27 21:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-80-inch-high-post-nexelon-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-density-printed-seafood-bag-12in-x-18in-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-27 21:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 17843 pages (at 99 pages/min), scraped 7340 items (at 24 items/min) 2026-01-27 21:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datum-tekstak-laptop-storage-locker-9-tier-key-lock-1>: HTTP status code is not handled or not allowed 2026-01-27 21:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/underhoist-component-stand-w-foot-pedal-1-650-capacity-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/cut_off_wheels>: HTTP status code is not handled or not allowed 2026-01-27 21:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-density-poly-tubing-16in-6-mil-x-725ft>: HTTP status code is not handled or not allowed 2026-01-27 21:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-w-diamond-sof-tred-mat-black-yellow-2>: HTTP status code is not handled or not allowed 2026-01-27 21:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispense-rite-built-in-straw-holder>: HTTP status code is not handled or not allowed 2026-01-27 21:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-ldpe-pallet-cover-51in-x-85in-3-mil-pallet-size-48in-x-48in-x-60in-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-27 21:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266151-cover-hinge-r42>: HTTP status code is not handled or not allowed 2026-01-27 21:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35mr11-fth-s-c-35w-halogen-w-bi-pin-base>: HTTP status code is not handled or not allowed 2026-01-27 21:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-umbrella-bag-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-27 21:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8898-strapping-tape-3-4-x-60-yds-46-mil-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-gauge-heavy-duty-36-w-x-18-d-x-78-h-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 21:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-end-lift-10-ton>: HTTP status code is not handled or not allowed 2026-01-27 21:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-train-lift-table-2-500-capacity-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-15l-x-12w-x-10h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 21:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ad-paper-vacuum-bag-for-nilfisk-ad-carpetriever-28-large-area-upright>: HTTP status code is not handled or not allowed 2026-01-27 21:19:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-door-scraper-rubber-entry-mat-5-8-x-32-x-39-black-borders>: HTTP status code is not handled or not allowed 2026-01-27 21:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2711056-blade-evaporator-fan-6-inch-cw>: HTTP status code is not handled or not allowed 2026-01-27 21:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-e-stage-1-pre-filter-for-d-e-defendair-hepa-500>: HTTP status code is not handled or not allowed 2026-01-27 21:19:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-36l-x-12w-x-8h-kraft-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-27 21:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8015526-probe-kit-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 21:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cf7ds-e-841-7w-compact-fluorescent-w-2g7-base-coolwhite>: HTTP status code is not handled or not allowed 2026-01-27 21:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-axle-size-5-8-10>: HTTP status code is not handled or not allowed 2026-01-27 21:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-wobble-stool-swivel-chair-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20t2-41-20w-compact-fluorescent-w-medium-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-27 21:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-ss05056185-rs-pro-series-53-3-8-w-x-23-3-8-d-x-1-1-2-h-stainless-steel-top-worksurface>: HTTP status code is not handled or not allowed 2026-01-27 21:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats>: HTTP status code is not handled or not allowed 2026-01-27 21:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13t2c-50-13w-compact-fluorescent-w-candelabra-base-natural-light>: HTTP status code is not handled or not allowed 2026-01-27 21:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-extension-1-drive-175-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-wall-gaylord-bottom-48l-x-40w-x-48h-kraft-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-27 21:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 21:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kx60cl-3m-dc-60w-halogen-w-dc-bay-base>: HTTP status code is not handled or not allowed 2026-01-27 21:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pic-gauges-2-1-2-pressure-gauge-liquid-filled-300-psi-ss-case-center-back-mount-pro-202l-254h>: HTTP status code is not handled or not allowed 2026-01-27 21:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pic-gauges-2-1-2-pressure-gauge-liquid-filled-200-psi-ss-case-center-back-mount-pro-202l-254g>: HTTP status code is not handled or not allowed 2026-01-27 21:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bung-nut-adapter-for-buttress-threads-2>: HTTP status code is not handled or not allowed 2026-01-27 21:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pic-gauges-2-1-2-vacuum-gauge-liquid-filled-30-psi-stainless-case-lower-mount-pro-201l-254c>: HTTP status code is not handled or not allowed 2026-01-27 21:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-10l-x-6w-x-6h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 21:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5t2c-50-5w-compact-fluorescent-w-candelabra-base-natural-light>: HTTP status code is not handled or not allowed 2026-01-27 21:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-wall-corrugated-boxes-w-hand-holes-18l-x-18w-x-18h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydroshield-safety-glasses-black-frame-clear-lens-scratch-resistanthard-coat>: HTTP status code is not handled or not allowed 2026-01-27 21:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purell-sanitizing-hand-wipes>: HTTP status code is not handled or not allowed 2026-01-27 21:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-socket-1-2-drive-19mm-3-4-90-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011580-pressure-gauge-2-inch-dial>: HTTP status code is not handled or not allowed 2026-01-27 21:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-30-u-6-octagon-sign-base-30-lbs-w-u-channel-adaptor-and-6-u-channel-post>: HTTP status code is not handled or not allowed 2026-01-27 21:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-ton-ironworker-3-phase-230v-w-hydraulic-accessory-pack-iw50-3p230-ac500>: HTTP status code is not handled or not allowed 2026-01-27 21:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-stick-set-1-drive-4pc>: HTTP status code is not handled or not allowed 2026-01-27 21:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014576-timer-8-product-bb8>: HTTP status code is not handled or not allowed 2026-01-27 21:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-ton-ironworker-3-phase-208v-w-hydraulic-accessory-pack-iw60-3p208-ac500>: HTTP status code is not handled or not allowed 2026-01-27 21:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/troubleshooter-h-dty-cleaner-21oz-arsl-12>: HTTP status code is not handled or not allowed 2026-01-27 21:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-ton-ironworker-3-phase-575v-w-hydraulic-accessory-pack-iw60-3p575-ac500>: HTTP status code is not handled or not allowed 2026-01-27 21:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-6-in-opening-24-in-h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-buddy-lug-nut-loosener-58-1-gear-ratio-2-950-ft-lbs-torque>: HTTP status code is not handled or not allowed 2026-01-27 21:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-36-square-bistro-table-tekwood-vintage>: HTTP status code is not handled or not allowed 2026-01-27 21:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-xr-174-switch-small-angle-grinder-w-tool-technology-kit-brushless-4-5-5>: HTTP status code is not handled or not allowed 2026-01-27 21:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-armchair-tekwood-natural-4-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-armchair-black-sling-tekwood-natural-armcaps-2-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-edison-globe-light-bulb-85w-2700k-6-1116l-clear-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 21:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-xr-fencing-stapler-kit-9-gauge-for-use-w-1-2-w-fencing-staples-35-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15t6-145v-15w-incandescent-w-candelabra-base>: HTTP status code is not handled or not allowed 2026-01-27 21:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dewalt-atomic-20v-max-cordless-2-tool-combo-kit-1-2-brushless-keyless-li-ion-1-5a>: HTTP status code is not handled or not allowed 2026-01-27 21:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-cordless-cable-stapler-kit-1-l-staple-li-ion-d-style>: HTTP status code is not handled or not allowed 2026-01-27 21:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60a-y-60w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-27 21:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60g40-60w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-27 21:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-long-divider-11>: HTTP status code is not handled or not allowed 2026-01-27 21:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-4-thick-x-4-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 21:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-chain-hoist-stainless-steel-2-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-without-lid-11>: HTTP status code is not handled or not allowed 2026-01-27 21:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-rod-2-diameter-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-w-x-72-l-forkli-fork-tine-extension-pair>: HTTP status code is not handled or not allowed 2026-01-27 21:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsb-214sm-surface-mounted-access-door-for-all-surf-lock-16wx16h-smp1616l>: HTTP status code is not handled or not allowed 2026-01-27 21:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/katr-recessed-fire-resistant-ceiling-door-stud-22wx30h-katr3022s>: HTTP status code is not handled or not allowed 2026-01-27 21:19:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25g25-w-25w-incandescent-w-medium-base-120v>: HTTP status code is not handled or not allowed 2026-01-27 21:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krp-150fr-fire-rated-access-door-for-wall-ceil-paddle-handle-18wx18h-krpp1818ph>: HTTP status code is not handled or not allowed 2026-01-27 21:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 17938 pages (at 95 pages/min), scraped 7363 items (at 23 items/min) 2026-01-27 21:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-stairway-slope-work-platform-w-handrails-24in-x-72in-platform>: HTTP status code is not handled or not allowed 2026-01-27 21:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-vs-190>: HTTP status code is not handled or not allowed 2026-01-27 21:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010509-thermostat-bj>: HTTP status code is not handled or not allowed 2026-01-27 21:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-step-orange-extra-heavy-duty-steel-rolling-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-27 21:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-thin-line-folding-step-ladder-300-lb-capacity-blue-tl418>: HTTP status code is not handled or not allowed 2026-01-27 21:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-vs-510ht>: HTTP status code is not handled or not allowed 2026-01-27 21:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duck-pond-mini-berm-containment-2-x-2-x-4-5644-ye>: HTTP status code is not handled or not allowed 2026-01-27 21:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150r30-gro-150w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-27 21:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-strip-door-curtain-9-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-27 21:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-rail-berm-48-x-72-x-12-black-48-rsb-fs>: HTTP status code is not handled or not allowed 2026-01-27 21:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-stairway-slope-work-platform-w-handrails-24in-x-48in-platform>: HTTP status code is not handled or not allowed 2026-01-27 21:20:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/automotive_shop_equipment_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-12-x-10-standard-clear-strip-strip-curtain-doors>: HTTP status code is not handled or not allowed 2026-01-27 21:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-heavy-duty-electric-vibrator-2p-100-1>: HTTP status code is not handled or not allowed 2026-01-27 21:20:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/incandescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hipower-ii-classical-section-wrapped-vbelt-gates-b64>: HTTP status code is not handled or not allowed 2026-01-27 21:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100g40-w-100w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-27 21:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012083-igntion-module-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-27 21:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-thick-x-1-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 21:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-double-sided-upright-32>: HTTP status code is not handled or not allowed 2026-01-27 21:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-security-lcd-computer-cabinet-complete-bundle-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t9-circline-fluorescent-bulb-g10q-base-40w-2600-lumens-3000k-warm-white-pk-of-4>: HTTP status code is not handled or not allowed 2026-01-27 21:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/automotive_shop_equipment_tools>: HTTP status code is not handled or not allowed 2026-01-27 21:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh400-vented-safety-helmet-4-point-adjustable-ratchet-suspension-white>: HTTP status code is not handled or not allowed 2026-01-27 21:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/incandescent_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 21:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-plastic-rod-1-1-4-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-653-ratchet-chain-lever-hoist-3-4t-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381370-angle-locking-connector>: HTTP status code is not handled or not allowed 2026-01-27 21:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/918-series-airtight-watertight-case-w-dividers-918-2001-16-7-8-l-x-12-7-8-w-x-9-5-16-h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/receptacle-duplex-wall-plate-2-gang-almond-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 21:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nest-only-container-21-x-15-1-8-x-5-1-8-gray-closed-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:20:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-sport-cone-flourescent-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omni-pir-ultrasonic-low-voltage-ceiling-sensor-with-2000-sq-ft-range-off-white>: HTTP status code is not handled or not allowed 2026-01-27 21:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-jcv120v-1000wc4-gx6-35-2cc-8>: HTTP status code is not handled or not allowed 2026-01-27 21:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purell-premoistened-sanitizing-wipes-alcohol-formulation-white>: HTTP status code is not handled or not allowed 2026-01-27 21:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kimberly-clark-professional-wypall-x60-wipers-quarterfold-76pack-white>: HTTP status code is not handled or not allowed 2026-01-27 21:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t9-circline-fluorescent-bulb-g10q-base-22w-1250-lumens-3000k-warm-white-pk-of-2>: HTTP status code is not handled or not allowed 2026-01-27 21:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-hoagie-container-with-removable-lid-9-45x5-310x3-310-white-125bag>: HTTP status code is not handled or not allowed 2026-01-27 21:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-plates-6-inches-white-round-mediumweight-125pack>: HTTP status code is not handled or not allowed 2026-01-27 21:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-plastic-rod-3-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-789-t-style-automotive-coupler-3-8-mnpt-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:20:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-ush-103d-hg100w>: HTTP status code is not handled or not allowed 2026-01-27 21:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-1-2-thick-x-4-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 21:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidwire-wood-wall-connection-hardware-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r134a-brass-fahrenheit-manifold-gauge-set-w-coupler-four-seasons-59198>: HTTP status code is not handled or not allowed 2026-01-27 21:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-2-sided-driver-cage-4w-x-4d-x-8h>: HTTP status code is not handled or not allowed 2026-01-27 21:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-bar-1-4-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-622-hand-chain-hoist-12-ton-cap-10ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-1207-scaleout-filter-cartridge>: HTTP status code is not handled or not allowed 2026-01-27 21:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-118-ss>: HTTP status code is not handled or not allowed 2026-01-27 21:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-300-chemical-sorbent-pillow-7-x-15-16-pillowscase>: HTTP status code is not handled or not allowed 2026-01-27 21:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fifo-flow-rack-m36-roller-top-rear-extension-esd-33-27-50-w-x-30-4-25-d-x-4-10-77-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:20:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-27 21:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chair-mat-for-carpet-medium-pile-60-x-60-square-clear-straight-edge>: HTTP status code is not handled or not allowed 2026-01-27 21:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-skfl5-petroleum-sorbent-spill-kit5-gallon-capacity-3-kitscase>: HTTP status code is not handled or not allowed 2026-01-27 21:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-rgc36100e-maintenance-sorbent-rughigh-capacity-36-x-100-1-rollcase>: HTTP status code is not handled or not allowed 2026-01-27 21:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-33pc-transfer-punch-set-1-2-to-1-by-64ths>: HTTP status code is not handled or not allowed 2026-01-27 21:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/088trblksml-base-layer-top-black-small>: HTTP status code is not handled or not allowed 2026-01-27 21:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-30-petroleum-sorbent-pillow-7-x-15-16-pillowscase>: HTTP status code is not handled or not allowed 2026-01-27 21:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-stainless-square-edge-power-apron-production-bench-tan-32313687>: HTTP status code is not handled or not allowed 2026-01-27 21:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-s14-filament-light-bulb-e26-base-2w-200-lumens-2700k-warm-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 21:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x30-shop-top-safety-edge-power-apron-production-bench-tan-32313709>: HTTP status code is not handled or not allowed 2026-01-27 21:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x36-esd-square-edge-power-apron-production-bench-tan-32313715>: HTTP status code is not handled or not allowed 2026-01-27 21:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-stainless-steel-shelf-for-model-100-ss>: HTTP status code is not handled or not allowed 2026-01-27 21:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-mobile-production-workbench-with-power-apron-maple-butcher-block-square-edge-blue-32313736>: HTTP status code is not handled or not allowed 2026-01-27 21:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-gmc-06-b>: HTTP status code is not handled or not allowed 2026-01-27 21:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18035 pages (at 97 pages/min), scraped 7393 items (at 30 items/min) 2026-01-27 21:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-10-step-steel-rolling-ladder-20-d-top-step>: HTTP status code is not handled or not allowed 2026-01-27 21:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-leg-telescoping-easel-with-pad-retainer-adjusts-34-to-64-aluminum-silver>: HTTP status code is not handled or not allowed 2026-01-27 21:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561346-valve-steam-safety-3-4>: HTTP status code is not handled or not allowed 2026-01-27 21:20:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rockportrk6640-mens-more-energy-6-lace-to-toe-waterproof-work-boot-brown-size-12-m>: HTTP status code is not handled or not allowed 2026-01-27 21:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531400-receptacle-250v-50a>: HTTP status code is not handled or not allowed 2026-01-27 21:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-mat-interlocking-tile-4>: HTTP status code is not handled or not allowed 2026-01-27 21:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-093-b>: HTTP status code is not handled or not allowed 2026-01-27 21:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-3-piece-tall-cabinet-set-106-5-x-21-x-80-silver>: HTTP status code is not handled or not allowed 2026-01-27 21:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x36-plastic-square-edge-power-apron-production-bench-blue-32313835>: HTTP status code is not handled or not allowed 2026-01-27 21:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-32-32-h3-taper-chamfer-hss-tmx-hand-tap-ground-rh-4-flutes>: HTTP status code is not handled or not allowed 2026-01-27 21:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-series-chair-caster-with-hard-rubber-wheel-stem-type-a>: HTTP status code is not handled or not allowed 2026-01-27 21:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-206-ss>: HTTP status code is not handled or not allowed 2026-01-27 21:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96x36-esd-square-edge-power-apron-production-bench-blue-32313844>: HTTP status code is not handled or not allowed 2026-01-27 21:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3-0x-50-d3-spiral-pt-plug-chamfer-iso-metric-hss-tmx-hand-tap-ground-rh-2-flutes>: HTTP status code is not handled or not allowed 2026-01-27 21:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundskeeper-recepticle-beige-fg2570l4beig>: HTTP status code is not handled or not allowed 2026-01-27 21:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-293-b>: HTTP status code is not handled or not allowed 2026-01-27 21:21:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs landed on page that is not a product page. 2026-01-27 21:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-9-piece-cabinet-set-142w-x-21-14d-wall-x-80h-silver>: HTTP status code is not handled or not allowed 2026-01-27 21:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-037-ss>: HTTP status code is not handled or not allowed 2026-01-27 21:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-suffocation-warning-poly-bags-18-w-x-24-l-2-mil-clear-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-notice-all-visitors-must-register-rigid-plastic-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-27 21:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glo-brite-exit-sign-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 21:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-solenoid-1-8-nptf-3-port-2-pos-normally-clsd-120vac-free-to-atmosphere-exh>: HTTP status code is not handled or not allowed 2026-01-27 21:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearkat-bkh10-safety-glasses-bk1-magnifier-10-strength-clear-lens>: HTTP status code is not handled or not allowed 2026-01-27 21:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-hand-ctrl-w-cv-100-washdown>: HTTP status code is not handled or not allowed 2026-01-27 21:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-bell-earplugs-uncorded-nrr-32-db-200-pairs-box>: HTTP status code is not handled or not allowed 2026-01-27 21:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sts030134-3-hp-oil-less-scroll-comp-30-gal-horiz-116-psi-3-ph-208-230v-refrigerated-dryer>: HTTP status code is not handled or not allowed 2026-01-27 21:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-218-b>: HTTP status code is not handled or not allowed 2026-01-27 21:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009733-hubbell-ss-gang-platesingle>: HTTP status code is not handled or not allowed 2026-01-27 21:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-start-valve-1-4-npt-inlet-3-8-npt-exhbracket-24vdc>: HTTP status code is not handled or not allowed 2026-01-27 21:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-367218-ts-bookcase-all-welded-36-wx18-dx72-h-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-27 21:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-367218-wr-bookcase-all-welded-36-wx18-dx72-h-wine-red>: HTTP status code is not handled or not allowed 2026-01-27 21:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-coupling-g2scc-050-050kw>: HTTP status code is not handled or not allowed 2026-01-27 21:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-vertical-file-letter-size-2-drawer-black-15w-x-26-1-2d-x-29h>: HTTP status code is not handled or not allowed 2026-01-27 21:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-step-steel-safety-rolling-ladder-w-weight-actuated-lock-step-24-w-perforated-step-w-cal-osha-handrail-cal-wa144014p>: HTTP status code is not handled or not allowed 2026-01-27 21:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-coupling-g2scc-112-112kw>: HTTP status code is not handled or not allowed 2026-01-27 21:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-coupling-g2scc-150-150kw>: HTTP status code is not handled or not allowed 2026-01-27 21:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grove-patio-umbrella-with-wood-pole-108w-sunbrella-1a-spectrum-indigo-fabric>: HTTP status code is not handled or not allowed 2026-01-27 21:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-channel-cable-guard>: HTTP status code is not handled or not allowed 2026-01-27 21:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010582-burner-valve-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-27 21:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-grc-112-kw>: HTTP status code is not handled or not allowed 2026-01-27 21:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/add-a-message-board-2-24w-x-36h-4-letter-set-white>: HTTP status code is not handled or not allowed 2026-01-27 21:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-ink-cabinet-with-manual-close-double-door-60-gallon>: HTTP status code is not handled or not allowed 2026-01-27 21:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-steel-stock-picking-ladder-expanded-tread-w-cal-osha-handrail-cal-spl-7-x>: HTTP status code is not handled or not allowed 2026-01-27 21:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-ceramic-utility-knife-blades-pointed-tips-10528-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-27 21:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-fiberglass-step-ladder-w-plastic-tool-tray-2>: HTTP status code is not handled or not allowed 2026-01-27 21:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-fiberglass-platform-step-ladder-2>: HTTP status code is not handled or not allowed 2026-01-27 21:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-hss-1-flute-countersink-60-1-4x1-4x1-1-2>: HTTP status code is not handled or not allowed 2026-01-27 21:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pc-l-i-hss-silver-deming-style-reamer-set-5-8-1>: HTTP status code is not handled or not allowed 2026-01-27 21:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-extra-heavy-duty-steel-rolling-safety-ladder-heavy-duty-serrated-grating-w-cal-osha-handrail-cal-ml063221g>: HTTP status code is not handled or not allowed 2026-01-27 21:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-5-port-2-pos-man-valve-1-8-nptf-port-black-ext-head-actr-air-spring-ret>: HTTP status code is not handled or not allowed 2026-01-27 21:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tub-cart-black-32-x-18-3-shelves-2-outrigger-utility-cart-bins-100-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-5-port-2-pos-sngl-solenoid-1-4-nptf-12vdc>: HTTP status code is not handled or not allowed 2026-01-27 21:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-bin-storage-unit-double-row-with-4-large-8-small-clear-bins-20-lbs-bin-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/987-atg-adhesive-transfer-tape-1-2-x-60-yds-1-7-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heritage-backless-bench-recycled-plastic-4-ft-green-frame-cedar>: HTTP status code is not handled or not allowed 2026-01-27 21:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-16-w-expan-step-w-cal-osha-handrail-cal-wa-sw-72414x>: HTTP status code is not handled or not allowed 2026-01-27 21:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-7-step-steel-rolling-ladder-14-d-top-step-w-handrails-orange-w-cal-osha-handrail-cal-fsh718p-o>: HTTP status code is not handled or not allowed 2026-01-27 21:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e545-gfci-duplex-outlet-double-pole-20a-120v-ac-white-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-27 21:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gtek-nitrile-coated-nylon-grip-gloves-x-large>: HTTP status code is not handled or not allowed 2026-01-27 21:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/using-fire-extinguishers-dvd-program>: HTTP status code is not handled or not allowed 2026-01-27 21:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-367213-bl-bookcase-all-welded-36-wx13-dx72-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gendouble-black-rolling-basket-55-liter-with-4-swivel-wheels>: HTTP status code is not handled or not allowed 2026-01-27 21:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ergonomics-booklets>: HTTP status code is not handled or not allowed 2026-01-27 21:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-platform-truck-60-x-30-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-48rbmag1-l-grn-storage-cabinet-all-welded-48-wx24-dx72-h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-27 21:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18133 pages (at 98 pages/min), scraped 7426 items (at 33 items/min) 2026-01-27 21:21:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergotron-100-series-pivot-double>: HTTP status code is not handled or not allowed 2026-01-27 21:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-w-x-14-h-x-2-d-carbon-pleated-merv-6-standard-performance-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 21:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-signs-danger-eye-protection-required-plastic-10-w-x-14-h-2>: HTTP status code is not handled or not allowed 2026-01-27 21:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rvz53fr-type-r-class-3-flame-resistant-vest-3xl-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-27 21:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-fr-control-2-0-short-sleeve-tee-type-r-class-2-3xt>: HTTP status code is not handled or not allowed 2026-01-27 21:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergotron-neo-flex-dual-monitor-wall-mount>: HTTP status code is not handled or not allowed 2026-01-27 21:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-signs-danger-no-smoking-vinyl-7-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-27 21:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergotron-mouse-holder-dark-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-20-h-x-12-d-carbon-v-bank-air-filter-carbon-potassium-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 21:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-365213-r-bookcase-all-welded-36-wx13-dx52-h-red>: HTTP status code is not handled or not allowed 2026-01-27 21:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mooreco-iteach-spider-flat-panel-cart-manual-height-adjustable>: HTTP status code is not handled or not allowed 2026-01-27 21:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands>: HTTP status code is not handled or not allowed 2026-01-27 21:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-copper-fitting-with-90-long-radius-street-elbow-ftg-x-c-38-od-x-14-id-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-wood-cutting-t-shank-jigsaw-blade-t101d-6-tpi-5-piece>: HTTP status code is not handled or not allowed 2026-01-27 21:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronze-hose-braid-w-copper-sweat-ends-2x10-5>: HTTP status code is not handled or not allowed 2026-01-27 21:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-36782rb-h-grn-mobile-cabinet-all-welded-36-wx24-dx78-h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-27 21:22:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/stands/printer_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-copper-fitting-with-rolled-stop-coupling-c-x-c-1-18-od-x-1-id-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/attix-19-as-e-xc-19-gal-wet-dry-vac-w-tool-start-auto-filter-cleaning>: HTTP status code is not handled or not allowed 2026-01-27 21:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-aluminum-transport-wheelchair-black-frame-17-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rbmag3-n-storage-cabinet-all-welded-36-wx24-dx78-h-navy>: HTTP status code is not handled or not allowed 2026-01-27 21:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-24-wx82-d-stainless-steel-rolling-safety-ladder-serrated-grating-w-cal-osha-handrail-cal-ss113214g>: HTTP status code is not handled or not allowed 2026-01-27 21:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-flammable-storage-cabinet-12-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pool-saddle-red-large>: HTTP status code is not handled or not allowed 2026-01-27 21:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-folding-eercise-peddler-with-electronic-display>: HTTP status code is not handled or not allowed 2026-01-27 21:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-18w-x-82h-folkstone-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-heavy-duty-wheel-chock-polyurethane-17l-x-14w-x-14h>: HTTP status code is not handled or not allowed 2026-01-27 21:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-dual-channel-tens-unit-agf-602-wtimer-electrodes-black>: HTTP status code is not handled or not allowed 2026-01-27 21:22:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/stands/printer_stands landed on page that is not a product page. 2026-01-27 21:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1231470-y-lanyard-2l-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kemp-fire-first-aid-blanket-bag>: HTTP status code is not handled or not allowed 2026-01-27 21:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-16-h-x-2-d-pleated-merv-8-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 21:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-inward-swing-partition-door-w-hardware-26w-azure>: HTTP status code is not handled or not allowed 2026-01-27 21:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-15x18x72-1-door-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-20-h-x-1-d-paint-booth-ring-panel-merv-8-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 21:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-10w-x-82h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-spring-action-belt-clip-for-cp200-and-cp200d-portable-radios>: HTTP status code is not handled or not allowed 2026-01-27 21:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-24-h-x-12-d-rigid-cell-merv-11-air-filter-fiberglass-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 21:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1340101-pro-stretch-shock-absorbing-lanyard-6l-130-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-inch-viper-plus-gt-flip-back-detachable-adj-ht-full-arm-elevating-legrest>: HTTP status code is not handled or not allowed 2026-01-27 21:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-5-step-steel-rolling-ladder-w-21-d-top-step-w-handrails-orange-w-cal-osha-handrail-cal-fsh51821p-o>: HTTP status code is not handled or not allowed 2026-01-27 21:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-22w-x-82h-azure>: HTTP status code is not handled or not allowed 2026-01-27 21:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-24-w-steel-safety-angle-orange-rolling-ladder-w-handrails-serrated-tread-w-cal-osha-handrail-cal-sw530g-o>: HTTP status code is not handled or not allowed 2026-01-27 21:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-e7014-steel-electrode-110-140a-18-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s201024-3-poly-web-sling-endless-10560-13200-26400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valencia-bow-front-desk-shell-71wx35-12d-to-41-38dx29-58h-espresso>: HTTP status code is not handled or not allowed 2026-01-27 21:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s201001-4-poly-web-sling-endless-2120-2650-5300-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-inward-swing-partition-door-24-satin>: HTTP status code is not handled or not allowed 2026-01-27 21:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seat-cushion-for-file-pedestals-14-78x19-18x2-18-tan-quartz>: HTTP status code is not handled or not allowed 2026-01-27 21:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-10w-x-82h-burgundy>: HTTP status code is not handled or not allowed 2026-01-27 21:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/EGO-ZT4204L-Zero-Turn-Mower>: HTTP status code is not handled or not allowed 2026-01-27 21:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-squeegee-set-for-factory-cat-28-770u-factory-cat-28-754u-factory-cat-28-755u>: HTTP status code is not handled or not allowed 2026-01-27 21:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-12w-x-82h-ivory-essence-speckle>: HTTP status code is not handled or not allowed 2026-01-27 21:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-ground-clamp-brass-200a>: HTTP status code is not handled or not allowed 2026-01-27 21:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-closed-linear-bearing-w-resin-retainer-and-seals-sw20guu-14id-2625l>: HTTP status code is not handled or not allowed 2026-01-27 21:22:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/lifting_slings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wirerac-wire-shelving-label-holder-3l-x-1-14h-cleargray-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 21:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-nobles-tennant-1025334>: HTTP status code is not handled or not allowed 2026-01-27 21:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-drive-wheel-for-alto-clarke-439704>: HTTP status code is not handled or not allowed 2026-01-27 21:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-strapping-kit-psk48-1-2-inches-x-0-025-inches-x-5800-feet-black-16-inches-x-6-inches-core>: HTTP status code is not handled or not allowed 2026-01-27 21:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1833-9-16-12in-oal-hss-h-d-sand-blasted-118-point-carbide-tipped-sds-plus-3-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-27 21:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-planter-forklift-knockouts-48lx24wx24h-rectangle-gray-limestone>: HTTP status code is not handled or not allowed 2026-01-27 21:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-planter-forklift-knockouts-72lx24wx30h-rectangle-gray-limestone>: HTTP status code is not handled or not allowed 2026-01-27 21:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-18w-x-82h-burgundy>: HTTP status code is not handled or not allowed 2026-01-27 21:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-drain-hose-w-squeeze-cuff-drain-cap-full-assembly-for-nilfisk-advance-56381924>: HTTP status code is not handled or not allowed 2026-01-27 21:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-36-d-x-1-3-4-thick-steel-square-edge-workbench-top-12-gauge-steel-black>: HTTP status code is not handled or not allowed 2026-01-27 21:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/lifting_slings>: HTTP status code is not handled or not allowed 2026-01-27 21:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151061-12-single-leg-chain-sling-w-grab-hook>: HTTP status code is not handled or not allowed 2026-01-27 21:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1821-5-8-12in-oal-hss-h-d-sand-blasted-118-point-carbide-tipped-sds-plus-2-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-27 21:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-vac-motor-td-for-nobles-tennant-9004054>: HTTP status code is not handled or not allowed 2026-01-27 21:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18229 pages (at 96 pages/min), scraped 7453 items (at 27 items/min) 2026-01-27 21:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-elevated-plastic-box-truck-4-bushel-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eye-face-wash-eye-wash-fountain-2>: HTTP status code is not handled or not allowed 2026-01-27 21:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1805-3-8-hss-heavy-duty-steam-oxide-135-aircraft-extension-drill>: HTTP status code is not handled or not allowed 2026-01-27 21:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152030-8-poly-web-sling-eye-and-eye-2560-3200-6400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1u-flat-cable-lacing-panel-1903-1-001-01>: HTTP status code is not handled or not allowed 2026-01-27 21:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-pack-heavy-duty-closer-duranodic-back-check>: HTTP status code is not handled or not allowed 2026-01-27 21:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-notice-cylinders-must-be-chained-rigid-plastic-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-27 21:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leverset-single-step-roses-entry-lock-oil-bronze-clutch>: HTTP status code is not handled or not allowed 2026-01-27 21:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-brush-kit-mal-grit-xtra-for-nilfisk-advance-56505771-nilfisk-advance-56505801>: HTTP status code is not handled or not allowed 2026-01-27 21:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1821-5-16-6in-oal-hss-h-d-sand-blasted-118-point-carbide-tipped-sds-plus-2-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-27 21:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151093-8-double-leg-chain-sling-w-grab-hook>: HTTP status code is not handled or not allowed 2026-01-27 21:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krsk-knurled-rim-clamping-knob-75-191-6316-3ttt1>: HTTP status code is not handled or not allowed 2026-01-27 21:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-pro-bullet-metal-detectable-disposable-earplugs-corded-nrr-32-db-100-pairsbox>: HTTP status code is not handled or not allowed 2026-01-27 21:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-repel-rain-suit-s-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en53374-solid-five-lobed-knob-20-m6-x-10-53374-32-m6-20>: HTTP status code is not handled or not allowed 2026-01-27 21:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-partition-panel-wo-brackets-5412w-dove-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-brush-kit-mal-grit-for-nilfisk-advance-l08837066>: HTTP status code is not handled or not allowed 2026-01-27 21:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-heated-fleece-hoodie-jacket-with-detachable-hood-4xl-charcoal-mix>: HTTP status code is not handled or not allowed 2026-01-27 21:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collar-plug>: HTTP status code is not handled or not allowed 2026-01-27 21:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-eight-tier-3-wide-12-3-4w-x-18d-x-9-1-8h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 21:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1892-17-32-hss-steam-oxide-118-point-1-2-reduced-shank-silver-deming-drill>: HTTP status code is not handled or not allowed 2026-01-27 21:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1892-49-64-hss-steam-oxide-118-point-1-2-reduced-shank-silver-deming-drill>: HTTP status code is not handled or not allowed 2026-01-27 21:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cluster-box-unit-13-b-size-doors-type-iv-bronze-usps-access>: HTTP status code is not handled or not allowed 2026-01-27 21:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-mouth-rtk-wash-bottles-500ml-ethyl-alcohol-24-case>: HTTP status code is not handled or not allowed 2026-01-27 21:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1898-8-00mm-hss-general-purpose-bright-118-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-27 21:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dripdrop-electrolyte-hydration-powdered-drink-mix-lemon-074-oz-100-sticksbox>: HTTP status code is not handled or not allowed 2026-01-27 21:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-sided-frame-30x60>: HTTP status code is not handled or not allowed 2026-01-27 21:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standoff-34-dia-x-1-12l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5912w-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 21:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-ipc-eagle-mpvr08035>: HTTP status code is not handled or not allowed 2026-01-27 21:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-accessory-hutch-9>: HTTP status code is not handled or not allowed 2026-01-27 21:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-accessory-hutch-10>: HTTP status code is not handled or not allowed 2026-01-27 21:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-panel-wo-brackets-5712w-silver-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-safety-pant-40-waist-x-32l-inseam-navy>: HTTP status code is not handled or not allowed 2026-01-27 21:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/157-9-hss-general-purpose-bright-118-point-screw-machine-drill>: HTTP status code is not handled or not allowed 2026-01-27 21:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-vac-motor-for-ametek-122626-43-nobles-tennant-1076096>: HTTP status code is not handled or not allowed 2026-01-27 21:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-3w-x-82h-moss>: HTTP status code is not handled or not allowed 2026-01-27 21:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pob-g-oval-fast-food-baskets>: HTTP status code is not handled or not allowed 2026-01-27 21:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drum-low-profile-spill-containment-pallet-black-with-drain>: HTTP status code is not handled or not allowed 2026-01-27 21:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-applications-bluetooth-outdoor-padlock-2-shackle-black>: HTTP status code is not handled or not allowed 2026-01-27 21:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-5w-x-82h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-27 21:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pfsh-6-food-storage-box-heavyweight-12l-18w-6h-clear-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-27 21:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psc-10-scraper-w-flat-blade-10l-plastic>: HTTP status code is not handled or not allowed 2026-01-27 21:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-inward-swing-partition-door-24w-cream>: HTTP status code is not handled or not allowed 2026-01-27 21:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-243>: HTTP status code is not handled or not allowed 2026-01-27 21:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/559-9-64-cobalt-heavy-duty-straw-135-split-point-screw-machine-drill>: HTTP status code is not handled or not allowed 2026-01-27 21:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-carbon-fiber-sheet-twill-weave-1-16-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 21:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-12-x-9-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40201-2-cld-multi-purpose-life-vest-blue-child>: HTTP status code is not handled or not allowed 2026-01-27 21:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-w-keyway-climax-2iscc062-050skw>: HTTP status code is not handled or not allowed 2026-01-27 21:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-germicidal-bleach-1-gal-bottle-6carton>: HTTP status code is not handled or not allowed 2026-01-27 21:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tbh-12-table-number-holder-12h-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-thermohose-1399-heater-duct-wire-rope-exit-20-dia-x-25l-x-6-pitch-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-full-brim-hat-with-staz-on-suspension-green>: HTTP status code is not handled or not allowed 2026-01-27 21:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-175-a>: HTTP status code is not handled or not allowed 2026-01-27 21:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pbt-frame-for-slotted-full-brim-caps>: HTTP status code is not handled or not allowed 2026-01-27 21:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medaphene-plus-disinfectant-spray-155-oz-aerosol-spray-12carton>: HTTP status code is not handled or not allowed 2026-01-27 21:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-7w-x-82h-khaki-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-16-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-8482-water-removal-utility-transfer-pump-ac-operation>: HTTP status code is not handled or not allowed 2026-01-27 21:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppb-2y-pour-w-yellow-spout-lid-2-qt>: HTTP status code is not handled or not allowed 2026-01-27 21:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-6-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disinfectant-sprays-eucalyptusspearmintthyme-139-oz-spray-bottle-8carton>: HTTP status code is not handled or not allowed 2026-01-27 21:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bump-cap-with-platic-suspension-white>: HTTP status code is not handled or not allowed 2026-01-27 21:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-sprinkler-pump-1-hp>: HTTP status code is not handled or not allowed 2026-01-27 21:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3139-dual-double-locking-carabiner-w-swivel-black-40lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-1-2-x-12-1-2-x-7-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppr-2w-free-flow-pourers-white>: HTTP status code is not handled or not allowed 2026-01-27 21:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18325 pages (at 96 pages/min), scraped 7482 items (at 29 items/min) 2026-01-27 21:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-16-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sct-10f-stackable-creamer-w-flat-cover-10-oz-stainless-steel-stackable>: HTTP status code is not handled or not allowed 2026-01-27 21:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-8w-x-82h-dove-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wb-8-wine-bucket-8-qt-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x-22-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wbkg-9-rectangular-black-wire-fruit-basket>: HTTP status code is not handled or not allowed 2026-01-27 21:24:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/office_packing_tape/office_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-131-s>: HTTP status code is not handled or not allowed 2026-01-27 21:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-pilaster-w-shoe-18w-x-82h-folkstone-celesta>: HTTP status code is not handled or not allowed 2026-01-27 21:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-50-utility-scoop-50-oz-clear-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-27 21:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-gear-locker-w-2-security-boxes-36wx24dx72h-blue-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 21:24:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wexpanded-metal-sides-42wx24dx78h-grall-welded>: HTTP status code is not handled or not allowed 2026-01-27 21:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-20-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-0-750-thick-24-x-48>: HTTP status code is not handled or not allowed 2026-01-27 21:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-fluid-level-sight-glass-w-o-reflector-m16-x-1-5-thread-o81-b>: HTTP status code is not handled or not allowed 2026-01-27 21:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preventer-hd-small-heavy-duty-battery-fire-containment-bag-kit-14w-x-1d-x-10h-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/office_packing_tape/office_tape>: HTTP status code is not handled or not allowed 2026-01-27 21:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wbkh-7r-round-black-wire-condiment-caddy>: HTTP status code is not handled or not allowed 2026-01-27 21:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-24wx24dx76h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 21:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-glass-board-36-x-24>: HTTP status code is not handled or not allowed 2026-01-27 21:24:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-081-z>: HTTP status code is not handled or not allowed 2026-01-27 21:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-27 21:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-gear-locker-w-security-box-48wx24dx72h-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 21:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19146-brow-pad-replacement-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmcd-9k-double-fold-menu-cover-9-1-2w-12h-plastic-w-vinyl-binding-double-page-black>: HTTP status code is not handled or not allowed 2026-01-27 21:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-18-x-12-10-8-6-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-c-phenolic-sheet-0-375-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-27 21:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-12-x-12-10-8-6-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-137-a>: HTTP status code is not handled or not allowed 2026-01-27 21:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-pilaster-w-shoe-12w-x-82h-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-27 21:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-gear-locker-w-2-coat-rods-36wx24dx72h-blue-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 21:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-inward-swing-door-w-hardware-24w-storm-solidz>: HTTP status code is not handled or not allowed 2026-01-27 21:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12v-sealed-lead-acid-battery-004604-for-powered-stair-climbing-hand-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-o-matic-b110ps-ice-cube-storage-bin-48-wx31-dx50-h-854-lbs-storage-cap-top-mount-ice-maker>: HTTP status code is not handled or not allowed 2026-01-27 21:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wlouver-doorexpanded-side-42x24x78blall-welded>: HTTP status code is not handled or not allowed 2026-01-27 21:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-vented-sides-18wx18dx72h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 21:24:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-27 21:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-24-kra-crimped-end-tubes-case>: HTTP status code is not handled or not allowed 2026-01-27 21:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-outward-swing-door-w-hardware-24w-khaki-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duty-tilt-truck-w-handle-1-cu-yd-cap-1200-lb-cap-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-phenolic-sheet-0-093-thick-36-x-48>: HTTP status code is not handled or not allowed 2026-01-27 21:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tn713-sandwich-spreader-wooden-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-trash-can-with-lift-handle-32-gal-cap-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-18-white-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-27 21:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/step-down-clamp-on-adaptor-sda-series-climax-sda-100>: HTTP status code is not handled or not allowed 2026-01-27 21:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wlouver-doorexpanded-side-42x24x78grall-welded>: HTTP status code is not handled or not allowed 2026-01-27 21:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-paper-phenolic-sheet-0-125-x-48-000-x-96-000>: HTTP status code is not handled or not allowed 2026-01-27 21:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adhesive-sealant-w-microban-5-5-oz-clear-7079818546>: HTTP status code is not handled or not allowed 2026-01-27 21:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-red-buffer-pad-5100-15-in-5-case>: HTTP status code is not handled or not allowed 2026-01-27 21:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-paper-phenolic-sheet-0-250-x-48-000-x-120-000>: HTTP status code is not handled or not allowed 2026-01-27 21:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-skullerz-half-frame-safety-sunglasses-anti-fog-scratch-black-lens-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 21:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tool-kit-blue-7079809125>: HTTP status code is not handled or not allowed 2026-01-27 21:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbxh-1218-cutting-board-12l-18w-1h-white>: HTTP status code is not handled or not allowed 2026-01-27 21:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-security-box-24wx21dx72h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 21:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-ball-joint-8-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-vented-24wx18dx76hblall-welded>: HTTP status code is not handled or not allowed 2026-01-27 21:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-7-8-x-9-7-8-stock-pad>: HTTP status code is not handled or not allowed 2026-01-27 21:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0385r-iron-tuff-high-bib-overall-regular-sage-small>: HTTP status code is not handled or not allowed 2026-01-27 21:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0034-18-stanford-hollow-handle-table-knife>: HTTP status code is not handled or not allowed 2026-01-27 21:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0092-neofleece-combo-clava-regular-black-large-xl>: HTTP status code is not handled or not allowed 2026-01-27 21:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-18wx18dx78h-blue-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 21:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alrk-20bk-20-tier-aluminum-rack-w-brake>: HTTP status code is not handled or not allowed 2026-01-27 21:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/king-economy-5-section-with-t-hinge-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-27 21:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-grate-guard-with-curb-deflector-sediment-high-flow-18l-x-36w-x-4h>: HTTP status code is not handled or not allowed 2026-01-27 21:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-vented-18wx18dx72hgrunassembled>: HTTP status code is not handled or not allowed 2026-01-27 21:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-vented-24wx18dx72hgrunassembled>: HTTP status code is not handled or not allowed 2026-01-27 21:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sided-bulk-truck-mesh-sides-4-lipped-shelves-30-48-6-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-27 21:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsob-15-solid-basting-spoon-w-bakelite-handle-15l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2075r-reinforced-drag-fork>: HTTP status code is not handled or not allowed 2026-01-27 21:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-5080-roll-top-chafer-8-qt-roll-top>: HTTP status code is not handled or not allowed 2026-01-27 21:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18423 pages (at 98 pages/min), scraped 7511 items (at 29 items/min) 2026-01-27 21:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cb-6k-cutting-board-rack-12h-6-slot-vinyl-coated>: HTTP status code is not handled or not allowed 2026-01-27 21:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z-link-maginfying-lens-holder>: HTTP status code is not handled or not allowed 2026-01-27 21:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-industry-standard-clamping-couplings-climax-miscc-08-08-s>: HTTP status code is not handled or not allowed 2026-01-27 21:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0016-06-winston-salad-fork>: HTTP status code is not handled or not allowed 2026-01-27 21:24:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/gas_engines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:24:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_supply_dispensers_organizers/chemical_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-18wx18dx72h-red-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 21:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45rd-stainless-steel-scoop-64-oz>: HTTP status code is not handled or not allowed 2026-01-27 21:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbyl-1824-cutting-board-18l-24w-1-2h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-roller-brush-for-kira-b50-b-60-w-bp-highlow-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rtl12032kdr-splash-defense-transfer-bench-with-curtain-guard-protection>: HTTP status code is not handled or not allowed 2026-01-27 21:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slimline-rectangular-trash-can-lid-with-open-top-1623-gal-cap-black>: HTTP status code is not handled or not allowed 2026-01-27 21:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/97603-l-connect-all-strap-large>: HTTP status code is not handled or not allowed 2026-01-27 21:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0485-chillbreaker-high-bib-overall-regular-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-27 21:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-wire-shelf-18x42>: HTTP status code is not handled or not allowed 2026-01-27 21:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-couplings-recessed-screw-w-keyway-cc-series-climax-2cc-112-112-kw>: HTTP status code is not handled or not allowed 2026-01-27 21:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-18x54-nexelon>: HTTP status code is not handled or not allowed 2026-01-27 21:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/gas_engines>: HTTP status code is not handled or not allowed 2026-01-27 21:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-couplings-recessed-screw-cc-series-climax-2cc-137-100>: HTTP status code is not handled or not allowed 2026-01-27 21:25:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_supply_dispensers_organizers/chemical_dispensers landed on page that is not a product page. 2026-01-27 21:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bspb-13-perforated-basting-spoon-w-bakelite-handle-13l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-21x30>: HTTP status code is not handled or not allowed 2026-01-27 21:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0021-09-continental-demitasse-spoon>: HTTP status code is not handled or not allowed 2026-01-27 21:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pb1100al-panic-bar-ul-listed-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 21:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0359-iron-tuff-arctic-jacket-regular-navy-small>: HTTP status code is not handled or not allowed 2026-01-27 21:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-co-monitor-50-cable-assembly-plug>: HTTP status code is not handled or not allowed 2026-01-27 21:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-gx4-with-10ppm-co-sensor>: HTTP status code is not handled or not allowed 2026-01-27 21:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f18749-0002-no-wire-test-tube-grip-pack-for-18-20mm-tubes-40-places-white-1-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0031-07-peacock-oyster-fork>: HTTP status code is not handled or not allowed 2026-01-27 21:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-industry-standard-clamping-couplings-w-keyway-climax-miscc-14-14-kw>: HTTP status code is not handled or not allowed 2026-01-27 21:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghs-corrosive-pictogram-label-4-x-4-500-roll>: HTTP status code is not handled or not allowed 2026-01-27 21:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afp-3hr-removable-sleeves>: HTTP status code is not handled or not allowed 2026-01-27 21:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-gx4-heavy-duty-field-case>: HTTP status code is not handled or not allowed 2026-01-27 21:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344r-iron-tuff-minus-50-suit-tall-navy-3xl>: HTTP status code is not handled or not allowed 2026-01-27 21:25:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344r-iron-tuff-minus-50-suit-tall-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-27 21:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344r-iron-tuff-minus-50-suit-tall-navy-xl>: HTTP status code is not handled or not allowed 2026-01-27 21:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344r-iron-tuff-minus-50-suit-tall-sage-large>: HTTP status code is not handled or not allowed 2026-01-27 21:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-252377-four-tier-brochure-holder-9-1-4-w-x-7-d-x-13-1-4-h>: HTTP status code is not handled or not allowed 2026-01-27 21:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-043-a>: HTTP status code is not handled or not allowed 2026-01-27 21:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-025>: HTTP status code is not handled or not allowed 2026-01-27 21:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/best-value-plastic-platform-truck-52-l-x-25-w-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-03>: HTTP status code is not handled or not allowed 2026-01-27 21:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0034-04-stanford-bouillon-spoon>: HTTP status code is not handled or not allowed 2026-01-27 21:25:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/bathroom_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-27 21:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-252080-8-pocket-business-gift-card-holder-8-w-x-1-d-x-11-7-8-h>: HTTP status code is not handled or not allowed 2026-01-27 21:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerquad153-pulseair-vacuum-kit-with-2-inlet-30-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-inch-box-truck-pneumatic-caster-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-c40-bottom-case>: HTTP status code is not handled or not allowed 2026-01-27 21:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-without-lid-23>: HTTP status code is not handled or not allowed 2026-01-27 21:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-bin-plastic-stacking-bins-1-3-4-x-3-1-4-x-3-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lugano-4-piece-patio-rattan-sofa-seating-set-with-cushions>: HTTP status code is not handled or not allowed 2026-01-27 21:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safe-t-gard-white-1-2-fold-toilet-seat-covers-250-covers-pack-20-packs-case>: HTTP status code is not handled or not allowed 2026-01-27 21:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-70-s>: HTTP status code is not handled or not allowed 2026-01-27 21:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-locker-single-tier-12x12x72-3-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-27 21:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/bathroom_cleaners>: HTTP status code is not handled or not allowed 2026-01-27 21:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-14-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-px5-battery-door-assembly>: HTTP status code is not handled or not allowed 2026-01-27 21:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pesc-4-square-storage-container-4-qt-white-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-27 21:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-150-06-s>: HTTP status code is not handled or not allowed 2026-01-27 21:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ht71tg-hd-tvi-2mp-mini-turrret-color-camera-29mm-fixed-lens-dark-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344l2-hivis-minus-50-suit-regular-hivis-lime-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-27 21:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0341-iron-tuff-inspector-coat-regular-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-27 21:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-set-screw-collar-l-climax-lc-125>: HTTP status code is not handled or not allowed 2026-01-27 21:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0525-cooler-wear-jacket-regular-navy-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cpr-face-shield-refill-0155-0262>: HTTP status code is not handled or not allowed 2026-01-27 21:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-w-keyway-climax-iscc-037-037-kw>: HTTP status code is not handled or not allowed 2026-01-27 21:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlh-900wo-10-lever-hoist-with-overload-protection-9-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0486-hoodie-sweatshirt-regular-navy-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bug-x-free-12856-insect-repellent-deet-free-8oz-pump-spray-bottle-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-225-s>: HTTP status code is not handled or not allowed 2026-01-27 21:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twp-41-steak-burger-turner-4l-blade-3-3-4w-white-polypropylene-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-5-yards-self-adhesive-bandage-non-latex-dark-purple-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 21:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18516 pages (at 93 pages/min), scraped 7534 items (at 23 items/min) 2026-01-27 21:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-behind-head-band-quiet-slim-earmuffs>: HTTP status code is not handled or not allowed 2026-01-27 21:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0221-wool-liner-green-small-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-102-sugar-pourers-w-flap-tops>: HTTP status code is not handled or not allowed 2026-01-27 21:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-swivel-plate-caster-kit-with-hardware-gray-fg9w71l1gray>: HTTP status code is not handled or not allowed 2026-01-27 21:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-px4-pre-filter-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/235339-disposable-polystyrene-beakers-50ml-translucent-case-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-esd-safety-edge-top-pedestal-workbench-w-4-drawers>: HTTP status code is not handled or not allowed 2026-01-27 21:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0283-insulated-high-dexterity-glove-black-large>: HTTP status code is not handled or not allowed 2026-01-27 21:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-493>: HTTP status code is not handled or not allowed 2026-01-27 21:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hepa-filter-713165-canister-vacuum>: HTTP status code is not handled or not allowed 2026-01-27 21:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gla-00799-amber-glass-screw-thread-sample-vials-only-2-dram-7-5ml-case-of-1584>: HTTP status code is not handled or not allowed 2026-01-27 21:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s90-1000-10-hand-chain-hoist-10-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-sae-deep-impact-socket-916-drive-black>: HTTP status code is not handled or not allowed 2026-01-27 21:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-fork-mounted-drum-gripper>: HTTP status code is not handled or not allowed 2026-01-27 21:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-5-yards-self-adhesive-bandage-non-latex-dark-purple>: HTTP status code is not handled or not allowed 2026-01-27 21:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-22-rimless-bowl-22-oz-tan-melamine>: HTTP status code is not handled or not allowed 2026-01-27 21:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1131-10-heavy-duty-lubricator-metal-bowl-34-npt-200-psi-20-oz-bowl>: HTTP status code is not handled or not allowed 2026-01-27 21:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-by-12-stage-package-24-inches-height-hardboard-floor-box-pleat-black-skirting>: HTTP status code is not handled or not allowed 2026-01-27 21:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-non-latex-tan-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 21:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cmt-1217-octagonal-serving-tray-17l-chrome-gadroon-edge-w-engraving>: HTTP status code is not handled or not allowed 2026-01-27 21:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-2-milling-machine-with-acu-rite-203-dro-x-axis-powerfeed-2-hp-115230v>: HTTP status code is not handled or not allowed 2026-01-27 21:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-steel-bookcase-5-openings-36-w-x-12-d-x-60-h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-5-yards-self-adhesive-bandage-non-latex-black-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 21:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-x-29-30-32-gallon-hot-water-soluble-bag>: HTTP status code is not handled or not allowed 2026-01-27 21:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-39-40-45-gallon-hot-water-soluble-bag>: HTTP status code is not handled or not allowed 2026-01-27 21:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-starter-unit-72-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 21:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-add-on-unit-48-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 21:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-103c-perforated-tops-for-g-103>: HTTP status code is not handled or not allowed 2026-01-27 21:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1160-mini-regulator-mounting-bracket>: HTTP status code is not handled or not allowed 2026-01-27 21:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-250>: HTTP status code is not handled or not allowed 2026-01-27 21:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-112-dt>: HTTP status code is not handled or not allowed 2026-01-27 21:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1308150-universal-marker-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:26:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clw11-1205wmbr-led-wall-pack-120w-16800-lumens-5000k>: HTTP status code is not handled or not allowed 2026-01-27 21:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fogarty-cameter-bracket-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-12-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-br-16e-36ev-36-envelope-throat-depth-bead-roller-12-hp-110v>: HTTP status code is not handled or not allowed 2026-01-27 21:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1457115-swenson-conveyor-chain-04043-075-09>: HTTP status code is not handled or not allowed 2026-01-27 21:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-add-on-unit-solid-galvanized-steel-24w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-60a-14-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 21:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23182-cut-off-wheel-type-1-saitech-6-inch-x-045-inch-x-7-8-inch-ceramic-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 21:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sslb-15-brazier-w-cover>: HTTP status code is not handled or not allowed 2026-01-27 21:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50195-9s-fiber-disc-5-inch-x-7-8-inch-36-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-27 21:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-add-on-unit-24-w-x-24-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 21:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-062-18>: HTTP status code is not handled or not allowed 2026-01-27 21:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bunan-rubber-strip-no-adhesive-70a-14-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ut-16hp-b-utility-tong-cold-food-service-cold-food-service-16l-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbm-g-deluxe-neon-marker-green>: HTTP status code is not handled or not allowed 2026-01-27 21:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35138-psa-disc-9-inch-dia-40-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 21:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-hose-spring-rewind-hose-reel-for-oxy-acetylene-14-i-d-50-hose-200-psi>: HTTP status code is not handled or not allowed 2026-01-27 21:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-tier-shelving-add-on-unit-solid-galvanized-steel-54w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:26:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-spring-rewind-hose-reel-for-air-water-oil-34-i-d-35-hose-1250-psi>: HTTP status code is not handled or not allowed 2026-01-27 21:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-3-shelf-poly-green-24l-x-18w-x-39h-polyurethane-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:26:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-strip-no-adhesive-60a-116-thick-x-14-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-125-a>: HTTP status code is not handled or not allowed 2026-01-27 21:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/room-divider-6-height-7-sections-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35413-6a-disc-roll-5-inch-dia-150-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 21:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-punch-die-set-1316>: HTTP status code is not handled or not allowed 2026-01-27 21:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50236-7a-s-fiber-disc-7-inch-x-7-8-inch-50-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-27 21:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alrp-1824l-roast-pan>: HTTP status code is not handled or not allowed 2026-01-27 21:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-roll-no-adhesive-75a-116-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-075-050>: HTTP status code is not handled or not allowed 2026-01-27 21:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71060-2a-flap-wheel-3-inch-x-1-2-inch-x-1-4-inch-20-60-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 21:26:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 21:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tray-18x14x1-white-1>: HTTP status code is not handled or not allowed 2026-01-27 21:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-48x14x54>: HTTP status code is not handled or not allowed 2026-01-27 21:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70004-2a-flap-wheel-1-inch-x-3-4-inch-x-1-4-inch-180-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 21:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-36x14x74>: HTTP status code is not handled or not allowed 2026-01-27 21:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50178-az-x-fiber-disc-7-inch-x-7-8-inch-36-grit-zirconium>: HTTP status code is not handled or not allowed 2026-01-27 21:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18613 pages (at 97 pages/min), scraped 7560 items (at 26 items/min) 2026-01-27 21:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-068-dt>: HTTP status code is not handled or not allowed 2026-01-27 21:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-330-alloy-chain-clevis-grab-hook-1-4-3500-lbs-wll>: HTTP status code is not handled or not allowed 2026-01-27 21:26:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-42-1-2x20-white-2>: HTTP status code is not handled or not allowed 2026-01-27 21:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zirconium-oxide-belt-2-x-48-180-grit-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-27 21:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-162-s>: HTTP status code is not handled or not allowed 2026-01-27 21:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-clamp-for-2-hose-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 21:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-with-acrylic-adhesive-60a-38-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-inner-air-filter-for-iafs-3000>: HTTP status code is not handled or not allowed 2026-01-27 21:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-zag-set-of-three-baskets-black>: HTTP status code is not handled or not allowed 2026-01-27 21:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-row-national-rep-tip-and-roll-aluminum-bleacher-21-wide-single-footboard>: HTTP status code is not handled or not allowed 2026-01-27 21:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-trunk-organizer-21-1-2-x-18-11-16-x-11-11-16-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-42-removable-handle-global-aluminum-platform-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-hitch-pin-for-all-terrain-vise153>: HTTP status code is not handled or not allowed 2026-01-27 21:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-70a-18-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-diamond-deck-truck-56-x-42-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-d-ring-vinyl-view-binder-1-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 21:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-veterinary-scale-330-lb-x-2-lb-with-wheels-and-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-grip-deluxe-plus-d-ring-view-binder-3-capacity-8-1-2-x-11-white>: HTTP status code is not handled or not allowed 2026-01-27 21:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-portable-tilt-blower-fan-direct-drive>: HTTP status code is not handled or not allowed 2026-01-27 21:27:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-w-keyway-climax-iscc-112-112-kw>: HTTP status code is not handled or not allowed 2026-01-27 21:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-508-t-slot-nuts-steel-blackened-m6-1-2-w-x-3-8-h>: HTTP status code is not handled or not allowed 2026-01-27 21:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gd-12294-metal-door-bottom-seal-16-feet-black>: HTTP status code is not handled or not allowed 2026-01-27 21:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gd-12254-garage-door-cable-clamps-12-galvanizedpack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 21:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-bump-with-cable-protection-6-foot-long>: HTTP status code is not handled or not allowed 2026-01-27 21:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-with-acrylic-adhesive-50a-38-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-gray-72x30x84>: HTTP status code is not handled or not allowed 2026-01-27 21:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/220-quad-ring-xring-138id-x-158od-70-duro-round-black-pkg-100>: HTTP status code is not handled or not allowed 2026-01-27 21:27:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_controls/dc_drives already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders>: HTTP status code is not handled or not allowed 2026-01-27 21:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-cart-poly-green-36l-x-18w-x-43h-pneumatic-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-749-threaded-pipe-plugs-steel-zinc-plated-with-nbr-synthetic-rubber-seal-g-1-2>: HTTP status code is not handled or not allowed 2026-01-27 21:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biohazard-specimen-bags-12x15-1000-case-3-ply>: HTTP status code is not handled or not allowed 2026-01-27 21:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-35-lb-ft-coupler-brake-182-4tc-213-5tc-nema2-ip23-230-460v-1ph-aluminum-iron-stearns>: HTTP status code is not handled or not allowed 2026-01-27 21:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-dolly-40-x-48-floor-locks>: HTTP status code is not handled or not allowed 2026-01-27 21:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-6-lb-ft-coupler-brake-56c-143-5tc-nema3-ip23-230-460v-1ph-aluminum-stearns>: HTTP status code is not handled or not allowed 2026-01-27 21:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tune-up-kit-for-dxs-2236-series-air-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-27 21:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-driven-dual-miter-band-saw-2-hp-single-phase-220v-bs-350sa>: HTTP status code is not handled or not allowed 2026-01-27 21:27:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-sheet-with-high-temp-adhesive-75a-116-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-27 21:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-fan-and-blower-motor-1-44hp-1725-1140rpm-56h-dp-60hz-cont-40c-1-0sf>: HTTP status code is not handled or not allowed 2026-01-27 21:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-60a-116-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:27:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_controls/dc_drives landed on page that is not a product page. 2026-01-27 21:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerquad153-2030-gallon-push-dolly-blackmetal>: HTTP status code is not handled or not allowed 2026-01-27 21:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-manually-operated-box-and-pan-finger-brake-4-l-12-gauge>: HTTP status code is not handled or not allowed 2026-01-27 21:27:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=manually-operated-box-and-pan-hardened-finger-brake-40-l-12-gauge already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-base-15-w-x-6-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-50a-116-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 21:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-sheet-no-adhesive-75a-132-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 21:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-vertical-bar-storage-rack-4-bays-48w-24d-60h-6000lb-cap-assembled>: HTTP status code is not handled or not allowed 2026-01-27 21:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pick-pak-truck-28-x-60>: HTTP status code is not handled or not allowed 2026-01-27 21:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-60a-14-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 21:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-pallet-rack-starter-144w-x-48d-x-96h-7110-lbs-shelf-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/padded-vinyl-folding-chair-black>: HTTP status code is not handled or not allowed 2026-01-27 21:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-cnc-engraver-17-x-17-dem-1717>: HTTP status code is not handled or not allowed 2026-01-27 21:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-wrap-cushioning-material-12-x-10-3-16-thick>: HTTP status code is not handled or not allowed 2026-01-27 21:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-working-dust-collector-220v-single-phase-3-hp-1450-cfm-mdc-1800-1-0>: HTTP status code is not handled or not allowed 2026-01-27 21:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-mailer-0-6-x-10-golden-brown-25-ctn>: HTTP status code is not handled or not allowed 2026-01-27 21:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-sliding-gate-8x4>: HTTP status code is not handled or not allowed 2026-01-27 21:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-perforated-deck-10-x-250-rubber-wheel>: HTTP status code is not handled or not allowed 2026-01-27 21:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-sliding-gate-8x6>: HTTP status code is not handled or not allowed 2026-01-27 21:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-sliding-gate-10x4>: HTTP status code is not handled or not allowed 2026-01-27 21:27:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=manually-operated-box-and-pan-hardened-finger-brake-40-l-12-gauge landed on page that is not a product page. 2026-01-27 21:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tackboard-black-fabric-for-66-hutch-black-fabric>: HTTP status code is not handled or not allowed 2026-01-27 21:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elephantwall-topple-barrier-20-ft-h-x-16-ft-l>: HTTP status code is not handled or not allowed 2026-01-27 21:27:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=multi-purpose-manual-sheet-metal-shear-14-gauge-3600-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cnc-press-brake-3-phase-220v-bp-3305cnc>: HTTP status code is not handled or not allowed 2026-01-27 21:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-shop-top-pedestal-workbench-w-4-drawers-2>: HTTP status code is not handled or not allowed 2026-01-27 21:27:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-frame-sheet-panel-truck-36-x-72-w-brake-wheels>: HTTP status code is not handled or not allowed 2026-01-27 21:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-roll-bender-2-hp-3-phase-220v-r-m10e>: HTTP status code is not handled or not allowed 2026-01-27 21:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18704 pages (at 91 pages/min), scraped 7585 items (at 25 items/min) 2026-01-27 21:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-grinder-3-w-x-79-l-3-phase-220v-bg-379>: HTTP status code is not handled or not allowed 2026-01-27 21:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-50a-14-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 21:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-non-resettable-combination-padlocks-no-1500kalf>: HTTP status code is not handled or not allowed 2026-01-27 21:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-50a-116-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smo28-2-large-capacity-forced-air-oven-27-5-cu-ft-781-l-230v>: HTTP status code is not handled or not allowed 2026-01-27 21:28:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=multi-purpose-manual-sheet-metal-shear-14-gauge-3600-rpm landed on page that is not a product page. 2026-01-27 21:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-propane-vent-free-radiant-heater-20000-btu>: HTTP status code is not handled or not allowed 2026-01-27 21:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-7>: HTTP status code is not handled or not allowed 2026-01-27 21:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickpick-double-hopper-bin-9-1-4x14x6-1-2-red>: HTTP status code is not handled or not allowed 2026-01-27 21:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-intensity-infrared-patio-heater-with-transformer-liquid-propane-60000-btu-120v>: HTTP status code is not handled or not allowed 2026-01-27 21:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickpick-double-hopper-bin-8-3-8x18-1-2x7-red>: HTTP status code is not handled or not allowed 2026-01-27 21:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-intensity-infrared-patio-heater-with-transformer-liquid-propane-45000-btu-120v>: HTTP status code is not handled or not allowed 2026-01-27 21:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11063w-8-24-awg-solid-wire-strippercutter>: HTTP status code is not handled or not allowed 2026-01-27 21:28:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-27 21:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-part-carbon-style-inventory-tag-1000-1499-8-6-14l-x-3-18w-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-l-trim-in-oak-mocha-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-5-amp-variable-speed-control-switch-120v-control-up-to-4-fans>: HTTP status code is not handled or not allowed 2026-01-27 21:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iteq245-circuit-breaker-type-qp-2-pole-45a>: HTTP status code is not handled or not allowed 2026-01-27 21:28:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-27 21:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-20x15x8-without-roof-4-sides-w-window>: HTTP status code is not handled or not allowed 2026-01-27 21:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-50a-132-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iteq2020nc-duplex-circuit-breaker-type-qt-non-ctl-no-clip-twin-20a-20a>: HTTP status code is not handled or not allowed 2026-01-27 21:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-50a-316-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-steel-solid-body-padlocks-no-7030kalt>: HTTP status code is not handled or not allowed 2026-01-27 21:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s78129-class-3-hooded-sweatshirt-fluorescent-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-27 21:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s78129-class-3-hooded-sweatshirt-fluorescent-orange-4xl>: HTTP status code is not handled or not allowed 2026-01-27 21:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-60a-18-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-36x12x75-2>: HTTP status code is not handled or not allowed 2026-01-27 21:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-tall-bolt-down-safety-netting-bollard-removable-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:28:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x12x75-10>: HTTP status code is not handled or not allowed 2026-01-27 21:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-ft-l-hytrol-slider-bed-conveyor-24-inch-w-belt>: HTTP status code is not handled or not allowed 2026-01-27 21:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-ft-l-hytrol-slider-bed-conveyor-12-inch-w-belt>: HTTP status code is not handled or not allowed 2026-01-27 21:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-02f-direct-acting-solenoid-valve-3-2-nc-nbr-seal-1-2-nptf-3mm-24v-ac-31va>: HTTP status code is not handled or not allowed 2026-01-27 21:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-carton-sealing-tape-2-x-110-yds-22-mil-blue-6pack>: HTTP status code is not handled or not allowed 2026-01-27 21:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-14-in-ground-post-mounted-safety-barrier-net-kit-orange-net-yellow-posts>: HTTP status code is not handled or not allowed 2026-01-27 21:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modine-hot-dawg-100000-btu-gas-fired-unit-heater>: HTTP status code is not handled or not allowed 2026-01-27 21:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o22001-iron-eagle-plain-front-overall-blue-snaplock-buckles-sm>: HTTP status code is not handled or not allowed 2026-01-27 21:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-with-acrylic-adhesive-50a-38-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o22007-iron-eagle-plain-front-overall-gold-snaplock-buckles-3xl>: HTTP status code is not handled or not allowed 2026-01-27 21:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-with-acrylic-adhesive-60a-316-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets landed on page that is not a product page. 2026-01-27 21:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-part-carbonless-inventory-tag-pre-wired-9000-9499-8-6-14l-x-3-18w-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-wall-base-4-in-x-48-in-snow>: HTTP status code is not handled or not allowed 2026-01-27 21:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-rubber-wall-base-coil-6-in-x-125-in-x-120-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 21:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s78122-class-3-hooded-sweatshirt-fluorescent-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-27 21:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-320-nipple-3-8-male-npt-european-interchange>: HTTP status code is not handled or not allowed 2026-01-27 21:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-03f-hung-diaphragm-solenoid-valve-2-2-nc-epdm-seal-1-4-nptf-10-mm-12v-dc>: HTTP status code is not handled or not allowed 2026-01-27 21:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-framed-letter-board-message-center-24w-30h>: HTTP status code is not handled or not allowed 2026-01-27 21:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-peek-film-sheet-0-015-thick-x-24-000-w-x-24-000-l>: HTTP status code is not handled or not allowed 2026-01-27 21:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-sheet-1-250-thick-x-24-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-27 21:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-03f-hung-diaphragm-solenoid-valve-2-2-nc-epdm-seal-1-2-nptf-12-mm-24v-dc>: HTTP status code is not handled or not allowed 2026-01-27 21:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-sheet-0-750-thick-x-12-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-27 21:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-18-thick-x-36-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-116-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-430-nipple-1-4-male-npt-industrial-interchange-3-8>: HTTP status code is not handled or not allowed 2026-01-27 21:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-no-toe-wall-base-coil-4-in-x-125-in-x-120-ft-white>: HTTP status code is not handled or not allowed 2026-01-27 21:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-heavy-duty-ribbed-stair-tread-round-nose-125-x-72-black>: HTTP status code is not handled or not allowed 2026-01-27 21:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-with-high-temp-adhesive-40a-12-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispenser-truck-poly-drums>: HTTP status code is not handled or not allowed 2026-01-27 21:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-nesting-tote-23-3-4-x-17-1-4x12-white>: HTTP status code is not handled or not allowed 2026-01-27 21:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-38-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silencer-gp-band-saw-blade-1-4-inch-w-035-thick-gauge-10-14-tpi-303-010155>: HTTP status code is not handled or not allowed 2026-01-27 21:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-2-3-14l-x-1-58w-dark-blue-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-office-chair-medium-height-economy-fabric-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-circle-tag-3-dia-black-100pack>: HTTP status code is not handled or not allowed 2026-01-27 21:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s63219-comforttuff-2-pc-suit-blaze-orange-attached-hood-2xl>: HTTP status code is not handled or not allowed 2026-01-27 21:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-2-34l-x-1-38w-orange-100pack>: HTTP status code is not handled or not allowed 2026-01-27 21:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-12-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35211-steel-toe-pvc-overshoes-blackyellow-xs>: HTTP status code is not handled or not allowed 2026-01-27 21:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ldpe-rod-0-625-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mercury-gray-seaboard-sheet-0-750-thick-x-54-000-w-x-96-000-l>: HTTP status code is not handled or not allowed 2026-01-27 21:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb924b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-13>: HTTP status code is not handled or not allowed 2026-01-27 21:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18803 pages (at 99 pages/min), scraped 7611 items (at 26 items/min) 2026-01-27 21:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-316-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-rod-5-500-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1748s04-osha-stairway-48width-4-stairs>: HTTP status code is not handled or not allowed 2026-01-27 21:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500121423-clean-finish-roll-4w-x-30l-vfn>: HTTP status code is not handled or not allowed 2026-01-27 21:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1736s10-osha-stairway-36-width-10-stairs>: HTTP status code is not handled or not allowed 2026-01-27 21:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s63219-comforttuff-2-pc-suit-blaze-orange-attached-hood-sm>: HTTP status code is not handled or not allowed 2026-01-27 21:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ldpe-rod-1-250-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-18-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s63217-comforttuff-2-pc-suit-yellow-attached-hood-lg>: HTTP status code is not handled or not allowed 2026-01-27 21:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-rod-0-250-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-shelf-steel-shelving-with-30-akrobins-36x12x39>: HTTP status code is not handled or not allowed 2026-01-27 21:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-5xnh-s-sfn048011-00647>: HTTP status code is not handled or not allowed 2026-01-27 21:29:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-mirror-extruded-acrylic-film-masked-sheet-0-220-thick-x-48-w-x-96-ll-each>: HTTP status code is not handled or not allowed 2026-01-27 21:29:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-116-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/briskheat-dhcs11-silicone-heater-for-15-gallon-metal-drum-120-volts-50-425-f-heavy-duty>: HTTP status code is not handled or not allowed 2026-01-27 21:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-nsm-rod-2-750-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-gallon-drain-evacuator>: HTTP status code is not handled or not allowed 2026-01-27 21:29:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/adjustable_height_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-nsm-rod-4-000-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:29:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_sanders/abrasive_tool_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x3x5-8-11-type-17>: HTTP status code is not handled or not allowed 2026-01-27 21:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-18-gauge-stainless-steel-workbench-w-backsplash>: HTTP status code is not handled or not allowed 2026-01-27 21:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-4-34l-x-2-38w-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-system-35-lb>: HTTP status code is not handled or not allowed 2026-01-27 21:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-pipe-adapter-for-ev-5100>: HTTP status code is not handled or not allowed 2026-01-27 21:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-rubber-roll-no-adhesive-60a-14-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-shelf-steel-shelving-with-81-akro-mils-shelf-bins-4>: HTTP status code is not handled or not allowed 2026-01-27 21:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/414x-high-yield-cyan-original-laserjet-toner-cartridge-6000-page-yield>: HTTP status code is not handled or not allowed 2026-01-27 21:29:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/adjustable_height_desks landed on page that is not a product page. 2026-01-27 21:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-bracket>: HTTP status code is not handled or not allowed 2026-01-27 21:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/power_sanders/abrasive_tool_accessories>: HTTP status code is not handled or not allowed 2026-01-27 21:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-60x24x84-gray-with-3-level-wood-deck-1000lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 21:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-4-34l-x-2-38w-orange-100pack>: HTTP status code is not handled or not allowed 2026-01-27 21:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-96x36x84-gray-with-3-level-wood-deck-800lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 21:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p56007-durascrim-plain-front-pants-yellow-sm>: HTTP status code is not handled or not allowed 2026-01-27 21:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-nsm-sheet-1-250-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-27 21:29:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-locker-bench-hardwood-top-w-steel-tube-pedestals-bolt-down-48-x-9-1-2-x-17>: HTTP status code is not handled or not allowed 2026-01-27 21:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-gsm-sheet-cast-1-500-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-27 21:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7w-12v-warm-white-flood-led-downlight-bronze-texture>: HTTP status code is not handled or not allowed 2026-01-27 21:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-48x48-high-capacity-rack-steel-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-oil-filled-cast-nylon-tube-4-id-x-5-500-od-x-52-l>: HTTP status code is not handled or not allowed 2026-01-27 21:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-8-bu-yellow-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 21:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haz-mat-foam-inserts-for-four-1-gallon-plastic-jugs-12l-x-12w-x-1h-white-48pack>: HTTP status code is not handled or not allowed 2026-01-27 21:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j22168-iron-eagle-storm-fly-front-hooded-jacket-green-3xl>: HTTP status code is not handled or not allowed 2026-01-27 21:29:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/toilet_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-10-bu-black-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 21:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-starter-rack-48x18x84-gray-with-3-levels-no-deck-1500lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 21:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb922b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-9>: HTTP status code is not handled or not allowed 2026-01-27 21:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-27 21:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-5-4-34l-x-2-38w--fluorescent-orange-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ketron-hpv-bearing-grade-peek-0-500-dia-x-3-28-l>: HTTP status code is not handled or not allowed 2026-01-27 21:29:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-wire-deck-starter-4-levels-gray-15>: HTTP status code is not handled or not allowed 2026-01-27 21:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-3-34l-x-1-78w-red-100pack>: HTTP status code is not handled or not allowed 2026-01-27 21:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/toilet_paper>: HTTP status code is not handled or not allowed 2026-01-27 21:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35123-workbrutes-10-work-boots-yellow-cleated-outsole-2xl>: HTTP status code is not handled or not allowed 2026-01-27 21:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/softback-sanding-sponge>: HTTP status code is not handled or not allowed 2026-01-27 21:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accuglide8482-2-taping-head-upper-taping-head-2>: HTTP status code is not handled or not allowed 2026-01-27 21:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-polyester-filter-antistatic-class-m-16-1-2-l-x-16-1-2-w-x-15-7-10-h>: HTTP status code is not handled or not allowed 2026-01-27 21:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-4-14l-x-2-18w-orange-100pack>: HTTP status code is not handled or not allowed 2026-01-27 21:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-60a-38-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 21:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-se-200-tube-ajd00017-0-250-id-x-375-od-x-50-l>: HTTP status code is not handled or not allowed 2026-01-27 21:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-27 21:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-table-2-shelves-18-x-32>: HTTP status code is not handled or not allowed 2026-01-27 21:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-gift-box-bottoms-6l-x-6w-x-3h-white-50pack>: HTTP status code is not handled or not allowed 2026-01-27 21:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-his-sheet-0-093-thick-x-48-w-x-96-l>: HTTP status code is not handled or not allowed 2026-01-27 21:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-steel-gantry-crane-15-ft-span-and-17-ft-20-ft-adjustable-height-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-serrated-nozzle-8-l-red>: HTTP status code is not handled or not allowed 2026-01-27 21:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35141-workbrutes-14-knee-boots-black-cleated-outsole-md>: HTTP status code is not handled or not allowed 2026-01-27 21:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-steel-gantry-crane-10-ft-span-and-10-ft-fixed-height-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb922b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-15>: HTTP status code is not handled or not allowed 2026-01-27 21:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-30-glass-filled-nylon-6-6-sheet-0-750-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-27 21:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-mat-shelf-18x42-nexelon>: HTTP status code is not handled or not allowed 2026-01-27 21:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-steel-gantry-crane-15-ft-span-and-9-ft-12-ft-adjustable-height-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18897 pages (at 94 pages/min), scraped 7635 items (at 24 items/min) 2026-01-27 21:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubby-locker-welded-34-1-2w-x-13-1-2d-x-66h-15-compartments-champagne-putty>: HTTP status code is not handled or not allowed 2026-01-27 21:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubby-locker-welded-34-1-2w-x-13-1-2d-x-52h-12-compartments-sand>: HTTP status code is not handled or not allowed 2026-01-27 21:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubby-locker-welded-34-1-2w-x-13-1-2d-x-40h-9-compartments-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-welded-workbench-w-open-base-30-x-72>: HTTP status code is not handled or not allowed 2026-01-27 21:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-infinity-ventilated-steel-locker-six-tier-3-wide-12x18x12-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-truck-72x18x80-1200-lb-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-27 21:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-top-machine-table-18-x-24-x-30>: HTTP status code is not handled or not allowed 2026-01-27 21:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-tubing-3-8-i-d-x-1-2-o-d-100-feet-roll>: HTTP status code is not handled or not allowed 2026-01-27 21:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-plastic-hinged-lid-20-bushel-box-truck>: HTTP status code is not handled or not allowed 2026-01-27 21:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hang-stack-bins-w-two-12-rails-six-bins-4-1-8w-x-5-3-8d-x-3h-red>: HTTP status code is not handled or not allowed 2026-01-27 21:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hang-stack-bins-w-two-12-rails-six-bins-4-1-8w-x-7-3-8d-x-3h-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-truck-72x24x69-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxy-stain-remover-32-oz-trigger-spray-bottle-6-bottles-case>: HTTP status code is not handled or not allowed 2026-01-27 21:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-gpo-3-sheet-1-000-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-27 21:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nomex-410-sheet-0-007-thick-x-36-000-inch-w-x-100-l>: HTTP status code is not handled or not allowed 2026-01-27 21:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-16-rail-unit-with-96-qus230-ultra-stack-hang-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-27 21:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/literature-organizer-modular-storage-cabinet-5>: HTTP status code is not handled or not allowed 2026-01-27 21:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/256-flatback-tape-2-x-60-yds-67-mil-white-12pack>: HTTP status code is not handled or not allowed 2026-01-27 21:30:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-7-gauge-steel-workbench-fixed-height-36-x-72>: HTTP status code is not handled or not allowed 2026-01-27 21:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orange-response-industrial-citrus-degreaser-and-deodorizer-55-gallon-drum>: HTTP status code is not handled or not allowed 2026-01-27 21:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twisttiemachinesandmaterials-17-2000twisttiematerial-white-422938>: HTTP status code is not handled or not allowed 2026-01-27 21:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roll-of-clear-tape-2-x-3000-1>: HTTP status code is not handled or not allowed 2026-01-27 21:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvdf-syringe-filters-non-sterile-0-45-um-25-mm-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g5-145-ap-7-5hp-oil-injected-rotary-screw-floor-mount-145psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-27 21:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/362423087s-clip-s3-basic-rack-unit-87-h-x-36-w-x-24-d-5xms230-shelves-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 21:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/products-crossover-truck-box-27x71x18-silver>: HTTP status code is not handled or not allowed 2026-01-27 21:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/products-crossover-truck-box-27x71x18-black>: HTTP status code is not handled or not allowed 2026-01-27 21:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters>: HTTP status code is not handled or not allowed 2026-01-27 21:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-lobby-dust-pan-open-lid>: HTTP status code is not handled or not allowed 2026-01-27 21:30:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/pressure_washers/electric_pressure_washers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl300-hk2090-sl300-series-2-to-3-watt-uhf-2-channel-analog-two-way-radio>: HTTP status code is not handled or not allowed 2026-01-27 21:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-3-34l-x-1-78w-yellow-100pack>: HTTP status code is not handled or not allowed 2026-01-27 21:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-56-9629-2-5-16-bi-metal-hole-saw>: HTTP status code is not handled or not allowed 2026-01-27 21:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-3317-max-systems-rack-black>: HTTP status code is not handled or not allowed 2026-01-27 21:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-22-4030-straight-cutting-aviation-snips>: HTTP status code is not handled or not allowed 2026-01-27 21:30:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-with-18-shelf-bins-7-shelves-36x18x39-5>: HTTP status code is not handled or not allowed 2026-01-27 21:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquaba-38-round-resin-pedestal-table-w-umbrella-hole-zinc-on-charcoal-frame>: HTTP status code is not handled or not allowed 2026-01-27 21:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-with-10-hopper-bins-36x18x75-6>: HTTP status code is not handled or not allowed 2026-01-27 21:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-with-12-hopper-bins-36x18x75-3>: HTTP status code is not handled or not allowed 2026-01-27 21:30:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/pressure_washers/electric_pressure_washers landed on page that is not a product page. 2026-01-27 21:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-20-outdoor-round-aluminum-low-table-volcanic-black>: HTTP status code is not handled or not allowed 2026-01-27 21:30:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-jamestown-2-x-2-lay-in-tin-ceiling-tile-in-antique-white-y51-02>: HTTP status code is not handled or not allowed 2026-01-27 21:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tl1440-key-5x5x16-5510677>: HTTP status code is not handled or not allowed 2026-01-27 21:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-6w-to-7w-and-76h>: HTTP status code is not handled or not allowed 2026-01-27 21:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens>: HTTP status code is not handled or not allowed 2026-01-27 21:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-rochester-2-x-2-lay-in-tin-ceiling-tile-in-bronze-burst-y58-06>: HTTP status code is not handled or not allowed 2026-01-27 21:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-8w-to-9w-and-76h>: HTTP status code is not handled or not allowed 2026-01-27 21:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baking-soda-air-freshener-light-fresh-7-oz-aerosol-12-case>: HTTP status code is not handled or not allowed 2026-01-27 21:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-1230r-5234131>: HTTP status code is not handled or not allowed 2026-01-27 21:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-adj-sling-chaise-lounge-cognac-sling-on-fusion-bronze-frame-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 21:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-54wx14dx86h>: HTTP status code is not handled or not allowed 2026-01-27 21:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens>: HTTP status code is not handled or not allowed 2026-01-27 21:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-single-unit-towel-valet-madras-blue-sling-with-glacier-white-frame>: HTTP status code is not handled or not allowed 2026-01-27 21:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butk2424-24-x-24-exposed-flange-knurled-knob>: HTTP status code is not handled or not allowed 2026-01-27 21:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-key-5510316>: HTTP status code is not handled or not allowed 2026-01-27 21:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4210-retaining-ring-s17-5513018>: HTTP status code is not handled or not allowed 2026-01-27 21:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4210-knob-5513477>: HTTP status code is not handled or not allowed 2026-01-27 21:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-kit-72-w-workbench-with-18-w-whiteboard-36-w-pegboard-mounting-rail-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-deck-96-w-x-18-d-x-5-8-thick>: HTTP status code is not handled or not allowed 2026-01-27 21:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4210-drive-pulley-shaft-5513025>: HTTP status code is not handled or not allowed 2026-01-27 21:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4c-horizontal-mailbox-41h-doubleparcel-box-3-pl5-1-pl6-front-load-aluminum-usps>: HTTP status code is not handled or not allowed 2026-01-27 21:30:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/brass_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-vs-drill-press-screw-5513511>: HTTP status code is not handled or not allowed 2026-01-27 21:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sigma-34-square-aluminum-table-w-umbrella-hole-fusion-bronze>: HTTP status code is not handled or not allowed 2026-01-27 21:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adaptor-inert-arc>: HTTP status code is not handled or not allowed 2026-01-27 21:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-coupler-1>: HTTP status code is not handled or not allowed 2026-01-27 21:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/y-connection-with-valves>: HTTP status code is not handled or not allowed 2026-01-27 21:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trayp524s-spillage-tray-for-24-w-flow-series-workstation>: HTTP status code is not handled or not allowed 2026-01-27 21:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4b-horizontal-mailbox-24-a-doors-23-usable-front-loading-bronze-usps-access>: HTTP status code is not handled or not allowed 2026-01-27 21:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4b-horizontal-mailbox-28-a-doors-27-usable-front-loading-aluminum-usps-access>: HTTP status code is not handled or not allowed 2026-01-27 21:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bu-th-109-tank-holder>: HTTP status code is not handled or not allowed 2026-01-27 21:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 18991 pages (at 94 pages/min), scraped 7661 items (at 26 items/min) 2026-01-27 21:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-bracket-for-arrow-mini-regulator-with-panel-mount-ring>: HTTP status code is not handled or not allowed 2026-01-27 21:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/brass_pipe_fittings>: HTTP status code is not handled or not allowed 2026-01-27 21:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bitk3036-30-x-36-exposed-flange-knurled-knob>: HTTP status code is not handled or not allowed 2026-01-27 21:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-multi-surface-cleaner-concentrated-lemon-fresh-scent-80-oz-bottle-3case>: HTTP status code is not handled or not allowed 2026-01-27 21:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-lehigh-bench-eco-friendly-synthetic-wood-in-coastal-teak>: HTTP status code is not handled or not allowed 2026-01-27 21:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4210-screw-316x12-5513058>: HTTP status code is not handled or not allowed 2026-01-27 21:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/westport-outdoor-folding-bench-resin-barn-red>: HTTP status code is not handled or not allowed 2026-01-27 21:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-supplyreturn-block-thermometer>: HTTP status code is not handled or not allowed 2026-01-27 21:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-scfm-clear-advantage-desiccant-filter-dryer>: HTTP status code is not handled or not allowed 2026-01-27 21:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24v-ss10-cordless-snow-shovel-24-volt-10-inch-4-ah>: HTTP status code is not handled or not allowed 2026-01-27 21:31:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a5816-gear-table-raiser-5507514>: HTTP status code is not handled or not allowed 2026-01-27 21:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conductive-trash-liners-44-gallon-2-mil-pink-pack-of-50-wbas44-lp>: HTTP status code is not handled or not allowed 2026-01-27 21:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-stackable-sidechair-apple-red-pack-of-16>: HTTP status code is not handled or not allowed 2026-01-27 21:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swa-70-semi-automatic-stretch-wrap-machine-70-diameter>: HTTP status code is not handled or not allowed 2026-01-27 21:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6202s-vest-only-khaki-s-m>: HTTP status code is not handled or not allowed 2026-01-27 21:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-standard-particulate-filter-w-poly-bowl>: HTTP status code is not handled or not allowed 2026-01-27 21:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-hairnet-honeycomb-116-hole-100-latex-free-white-21-100bag>: HTTP status code is not handled or not allowed 2026-01-27 21:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-element-kit-for-arrow-midflow-filters>: HTTP status code is not handled or not allowed 2026-01-27 21:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-bathroom-tissue-septic-safe-2-ply-white-450-sheets-roll-75-case>: HTTP status code is not handled or not allowed 2026-01-27 21:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-straight-grab-bar-peened-stainless-steel-42-w-x-1-1-2-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-sintered-muffler>: HTTP status code is not handled or not allowed 2026-01-27 21:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfswdl3510-ip69-1hp-1730rpm-1ph-60hz-56c-3540l-tefc-f1-n>: HTTP status code is not handled or not allowed 2026-01-27 21:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-sintered-muffler>: HTTP status code is not handled or not allowed 2026-01-27 21:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-100-economy-back-support-black-2-x-large>: HTTP status code is not handled or not allowed 2026-01-27 21:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8201-block-clutch-5513797>: HTTP status code is not handled or not allowed 2026-01-27 21:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/allen-wrench-8mm-5628791>: HTTP status code is not handled or not allowed 2026-01-27 21:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flextec-650x-multi-process-welder-815a-5060-hz-red>: HTTP status code is not handled or not allowed 2026-01-27 21:31:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks landed on page that is not a product page. 2026-01-27 21:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-1600-standard-elastic-back-support-black-x-large>: HTTP status code is not handled or not allowed 2026-01-27 21:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easywipe-disposable-wiping-refill-white-125-bucket-6-case>: HTTP status code is not handled or not allowed 2026-01-27 21:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-for-dispatcher-locker-for-d1-series-in-the-2-mid-shelf-locations-24w-x-36d>: HTTP status code is not handled or not allowed 2026-01-27 21:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-1575-1-tailgate-spreader-5-25-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 21:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5220-responder-trauma-blue-1190ci>: HTTP status code is not handled or not allowed 2026-01-27 21:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-2-1-2-drywall-screw-phillips-bugle-head-steel-black-phosphate-sharp-point-pkg-of-200>: HTTP status code is not handled or not allowed 2026-01-27 21:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorscrubber-with-15-hand-held-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-3-drywall-screw-phillips-bugle-head-black-phosphate-tek-self-drilling-point-pkg-of-200>: HTTP status code is not handled or not allowed 2026-01-27 21:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-2-3-8-drywall-screw-phillips-bugle-head-black-phosphate-tek-self-drilling-pt-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8210z-class-2-economy-vest-lime-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-27 21:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410-airug-anti-fatigue-mat-38-thick-2w-x-3l-black>: HTTP status code is not handled or not allowed 2026-01-27 21:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-washer-5510262>: HTTP status code is not handled or not allowed 2026-01-27 21:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carewipes-no-rinse-food-surface-sanitizing-wipes-refill-2-case>: HTTP status code is not handled or not allowed 2026-01-27 21:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flextec-500x-multi-process-welder-425a-5060-hz-red>: HTTP status code is not handled or not allowed 2026-01-27 21:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sms-lab-coat-no-pockets-elastic-wrists-snap-front-single-collar-blue-2xl-30case>: HTTP status code is not handled or not allowed 2026-01-27 21:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flashguard-13r10-hd-thermal-laminator-w-10-rollers-13-x-14-mil-maximum-document-thickness>: HTTP status code is not handled or not allowed 2026-01-27 21:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedestal-table-with-height-adjustable-legs-36x72-3>: HTTP status code is not handled or not allowed 2026-01-27 21:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennsco-capstone-additional-shelf-level-42-w-x-24-d-medium-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-combination-storage-cabinet-36x24x82-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:31:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/chimney_caps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cllr-5625691>: HTTP status code is not handled or not allowed 2026-01-27 21:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbit-mobile-laptop-unit-black>: HTTP status code is not handled or not allowed 2026-01-27 21:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8330z-class-3-two-tone-vest-lime-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-27 21:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-2-shelf-rack-24-wx48-hx36-l>: HTTP status code is not handled or not allowed 2026-01-27 21:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/driving-sleeve-5625671>: HTTP status code is not handled or not allowed 2026-01-27 21:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-38-16-6295740>: HTTP status code is not handled or not allowed 2026-01-27 21:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/java-wicker-stacking-armchair-charcoal-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 21:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cb10-ac-circuit-breaker-findertester-green>: HTTP status code is not handled or not allowed 2026-01-27 21:31:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/drinking_fountains_bottle_fillers_water_coolers/water_coolers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stud-4224-6295778>: HTTP status code is not handled or not allowed 2026-01-27 21:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct70-ac-circuit-load-tester-240-ac-voltage>: HTTP status code is not handled or not allowed 2026-01-27 21:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvbs-712d-7-x-12-deluxe-horizontal-vertical-bandsaw-3-4-hp-115-230v-1ph>: HTTP status code is not handled or not allowed 2026-01-27 21:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-jsg-0750-00-0802>: HTTP status code is not handled or not allowed 2026-01-27 21:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-30w-x-48l-1-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-27 21:31:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/chimney_caps landed on page that is not a product page. 2026-01-27 21:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibg-10-10-industrial-bench-grinder-1-1-2-hp-115v-1ph>: HTTP status code is not handled or not allowed 2026-01-27 21:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-battery-powered-li-truck-261023-1000-lb-68-h-24-x24-platform>: HTTP status code is not handled or not allowed 2026-01-27 21:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-2-mill-newall-dp500-dro-x-and-y-axis-powerfeeds-690949>: HTTP status code is not handled or not allowed 2026-01-27 21:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-32w-x-48l-2-mil-clear-200pack>: HTTP status code is not handled or not allowed 2026-01-27 21:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-lever-hoist-1-14-ton-cap-15-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-18w-x-26l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/drinking_fountains_bottle_fillers_water_coolers/water_coolers>: HTTP status code is not handled or not allowed 2026-01-27 21:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 19085 pages (at 94 pages/min), scraped 7687 items (at 26 items/min) 2026-01-27 21:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-cafe-chair-with-arms-2-pack-bk>: HTTP status code is not handled or not allowed 2026-01-27 21:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-174-277xb-5150b-52611b-27-x-18-x-62-1-2-20-drawer-roller-cabinet-machinest-chest-combo>: HTTP status code is not handled or not allowed 2026-01-27 21:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/898-filament-tape-1-x-60-yds-66-mil-clear-36pack>: HTTP status code is not handled or not allowed 2026-01-27 21:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-6w-x-18l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8320z-class-3-standard-vest-orange-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-27 21:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-300hl-rounded-cap-knee-pad-gray-cap-one-size>: HTTP status code is not handled or not allowed 2026-01-27 21:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-72-post-with-plastic-caps>: HTTP status code is not handled or not allowed 2026-01-27 21:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carpet-protection-film-36-w-x-200-l>: HTTP status code is not handled or not allowed 2026-01-27 21:32:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/tarps_sheeting/surface_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-amber-jug-w-38-400-black-phenolic-w-pulp-vinyl-cap-6pk>: HTTP status code is not handled or not allowed 2026-01-27 21:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-4w-x-14l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-switch-hbs-1321w-1321w-74-2>: HTTP status code is not handled or not allowed 2026-01-27 21:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8915-class-e-rain-pants-orange-3-x-large>: HTTP status code is not handled or not allowed 2026-01-27 21:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-twin-black-post-retracting-belt-barrier-ada-compliant-11-ft-black-belt>: HTTP status code is not handled or not allowed 2026-01-27 21:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wall-mount-outdoor-ashtray-9-w-x-5-d-x-13-h>: HTTP status code is not handled or not allowed 2026-01-27 21:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-42x15x84-steel-boltless-shelving-with-10-hopper-bins-beige>: HTTP status code is not handled or not allowed 2026-01-27 21:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8915-class-e-rain-pants-lime-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-5w-x-9l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:32:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance/horns_horn_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-zip-hoodie-sweatshirt-hi-vis-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-27 21:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/tarps_sheeting/surface_protectors>: HTTP status code is not handled or not allowed 2026-01-27 21:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-unit-with-two-enclosures-chrome-18w-x-48l-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-unit-with-one-enclosure-chrome-18w-x-48l-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-x-95mm-8-dram-vial-w-22-400-green-thermoset-f217-ptfe-lined-cap-cleaned-144pk>: HTTP status code is not handled or not allowed 2026-01-27 21:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-x-60mm-2-dram-vial-w-15-425-black-phenolic-pulp-vinyl-lined-cap-attached-144pk>: HTTP status code is not handled or not allowed 2026-01-27 21:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-of-2-blue-side-shelves-security-audio-visual-cart-1>: HTTP status code is not handled or not allowed 2026-01-27 21:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spindle-jdp-14mjsl-14dp-10605822>: HTTP status code is not handled or not allowed 2026-01-27 21:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-plastic-easy-mount-frame-for-8-1-2-x-11-insert-3-pack-black>: HTTP status code is not handled or not allowed 2026-01-27 21:32:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance/horns_horn_accessories>: HTTP status code is not handled or not allowed 2026-01-27 21:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-lightweight-crew-sweater-hi-viz-yellow-ansi-class-2-xl>: HTTP status code is not handled or not allowed 2026-01-27 21:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-tube-6l-1-2-thick-3-1-2>: HTTP status code is not handled or not allowed 2026-01-27 21:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flange-jdp-20evs-20evs-c18>: HTTP status code is not handled or not allowed 2026-01-27 21:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pita-chips-original>: HTTP status code is not handled or not allowed 2026-01-27 21:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lateral-file-letter-legal-size-fireproof-4-drawers-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-tube-6l-3-8-thick-3-8>: HTTP status code is not handled or not allowed 2026-01-27 21:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulb-switch-2852d55723>: HTTP status code is not handled or not allowed 2026-01-27 21:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-16w-x-20l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-gallon-square-waste-receptacle-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-9180-216-1>: HTTP status code is not handled or not allowed 2026-01-27 21:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-50-dram-amber-compound-vial-w-13-425-green-thermoset-f217-ptfe-caps-144pk>: HTTP status code is not handled or not allowed 2026-01-27 21:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps>: HTTP status code is not handled or not allowed 2026-01-27 21:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-5-in-1-parka-hi-viz-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-27 21:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/germ-free-bariatric-bath-and-shower-seat-without-backrest-524-1814-1999>: HTTP status code is not handled or not allowed 2026-01-27 21:32:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:32:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_insulation already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-dia-3-8-shank-5-8-loc-2-oal-4-flute-solid-carbide-single-end-mill-uncoated>: HTTP status code is not handled or not allowed 2026-01-27 21:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-shelf-truck-with-dolly-base-48x24x70-1600-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-collection-premium-cold-weather-coverall-hi-viz-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-27 21:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-cfswdm3708t-e-ip69-75hp-1180rpm-3ph-60hz-254tc-3954m-tefc>: HTTP status code is not handled or not allowed 2026-01-27 21:32:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-grade-guillotine-paper-trimmer-15-cutting-length-15-sheet-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/205653-9-hyflex-ultra-lightweight-assembly-glove-11-600-9-bk>: HTTP status code is not handled or not allowed 2026-01-27 21:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-16w-x-22l-3-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flex-tuff-10-gage-bluelatex-ctd-palm-9680l>: HTTP status code is not handled or not allowed 2026-01-27 21:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-phase-cool-fire-retardant-cooling-vest>: HTTP status code is not handled or not allowed 2026-01-27 21:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kas3prp-safety-padlock-1-12w-x-1-12h-purple-3set>: HTTP status code is not handled or not allowed 2026-01-27 21:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs>: HTTP status code is not handled or not allowed 2026-01-27 21:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_insulation>: HTTP status code is not handled or not allowed 2026-01-27 21:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-flex-15-guage-red100-nylon-shell-gray-n9680l>: HTTP status code is not handled or not allowed 2026-01-27 21:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-front-4224-6295799>: HTTP status code is not handled or not allowed 2026-01-27 21:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-5w-x-18l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-sign-10x7-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 21:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads>: HTTP status code is not handled or not allowed 2026-01-27 21:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/selfstick-easel-pads-unruled-25-x-30-white-2-30sheet-padscarton>: HTTP status code is not handled or not allowed 2026-01-27 21:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-fixed-4224-6295826>: HTTP status code is not handled or not allowed 2026-01-27 21:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-plus-35mm-pvc-poly-ridercoat-collar-blk-267cx2>: HTTP status code is not handled or not allowed 2026-01-27 21:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-l-x-30-w-production-bench-maple-safety-edge-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-10x14-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 21:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-l-x-30-w-production-bench-esd-safety-edge-blue-2>: HTTP status code is not handled or not allowed 2026-01-27 21:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-ton-capacity-counterstay-internal-extractors-21-0-thru-21-5>: HTTP status code is not handled or not allowed 2026-01-27 21:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-authorized-personnel-only-7x10-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 21:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kaltblk-safety-padlock-1-12w-x-3h-shackle-black>: HTTP status code is not handled or not allowed 2026-01-27 21:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-5w-x-38l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 19177 pages (at 92 pages/min), scraped 7711 items (at 24 items/min) 2026-01-27 21:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reserved-parking-for-18x12-063-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 21:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-square-plastic-height-adjustable-activity-table-set-with-4-chairs-red>: HTTP status code is not handled or not allowed 2026-01-27 21:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-cover-f25-27>: HTTP status code is not handled or not allowed 2026-01-27 21:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1105brn-aluminum-safety-padlock-1-12w-x-1h-shackle-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:32:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kas12ylw-safety-padlock-yellow-12set>: HTTP status code is not handled or not allowed 2026-01-27 21:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/next-no-touch-foam-plugs-p2000>: HTTP status code is not handled or not allowed 2026-01-27 21:33:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/205573-10-hyflex-ultra-lghtweight-assembly-glove-11-800-10>: HTTP status code is not handled or not allowed 2026-01-27 21:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-and-tall-fabric-stack-chair-black>: HTTP status code is not handled or not allowed 2026-01-27 21:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-density-foam-and-pocket-spring-mattress-in-a-box-full-size>: HTTP status code is not handled or not allowed 2026-01-27 21:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-10w-x-18l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-exterior-42h-platform-2-rails-spiral-stair-kit-60dia-11-3-4h-alum-handrail>: HTTP status code is not handled or not allowed 2026-01-27 21:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kaltblk-safety-padlock-3h-shackle-black>: HTTP status code is not handled or not allowed 2026-01-27 21:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes>: HTTP status code is not handled or not allowed 2026-01-27 21:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-d-ring-extension-8928-18inbk>: HTTP status code is not handled or not allowed 2026-01-27 21:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-27 21:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metaltech-galvanized-24-screw-jack-plate-hollow>: HTTP status code is not handled or not allowed 2026-01-27 21:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-13w-x-18l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-double-tier-12x18x30-6-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elements-34-1409-apw82530100>: HTTP status code is not handled or not allowed 2026-01-27 21:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3kas12ylw-laminated-steel-safety-padlock-1-916w-x-34h-shackle-yellow-12set>: HTTP status code is not handled or not allowed 2026-01-27 21:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-12x15x72-3-door-ready-assemble-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-12x28x2-hbs814gh-063>: HTTP status code is not handled or not allowed 2026-01-27 21:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/italian-ornamental-tools-trowel-square-5-8>: HTTP status code is not handled or not allowed 2026-01-27 21:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buckhorn-lid-48x45-black>: HTTP status code is not handled or not allowed 2026-01-27 21:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-10w-x-18l-6-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jcdc-2-cyclone-dust-collector-2hp-230v>: HTTP status code is not handled or not allowed 2026-01-27 21:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-12x18x72-3-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-27 21:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powermatic-pm2200-cyclonic-dust-collector-with-hepa-filtration>: HTTP status code is not handled or not allowed 2026-01-27 21:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-plug-body-with-automotive-truflate-profile-1-4-mnpt-connection-used-w-usi-coupling>: HTTP status code is not handled or not allowed 2026-01-27 21:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-cover-hbs814gh-800-51>: HTTP status code is not handled or not allowed 2026-01-27 21:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64-102-100-plus-phillips-tip-screwdriver-2-x-4-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-24in-w-steel-safety-angle-rolling-ladder-perforated-tread-safety-yellow-kdec103246-y>: HTTP status code is not handled or not allowed 2026-01-27 21:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-no-hook-concrete-placer-60-alumimum-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5c-collet-5-16-inch-round-tmx>: HTTP status code is not handled or not allowed 2026-01-27 21:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-10w-x-4d-x-24h-3-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pick-hammers-156g>: HTTP status code is not handled or not allowed 2026-01-27 21:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-fnpt-filter-regulator>: HTTP status code is not handled or not allowed 2026-01-27 21:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-3-8-industrial-interchange-with-1-2-fnpt-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinch-bars-p-8>: HTTP status code is not handled or not allowed 2026-01-27 21:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camlock-studs-d1-4-5-8-diameter-metric-thread-m10x1>: HTTP status code is not handled or not allowed 2026-01-27 21:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-plunger-jbj22-15>: HTTP status code is not handled or not allowed 2026-01-27 21:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-18w-x-36l-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-fittings-1-2-equal-union-push>: HTTP status code is not handled or not allowed 2026-01-27 21:33:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-inch-stud-for-c-taper-11-m20x75>: HTTP status code is not handled or not allowed 2026-01-27 21:33:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-411-hobby-blades-for-10-401-3-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-3-8-industrial-interchange-with-3-8-hose-barb-connection>: HTTP status code is not handled or not allowed 2026-01-27 21:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-blank-jaws-for-bison-scroll-chuck-6-inch-3-piece-set>: HTTP status code is not handled or not allowed 2026-01-27 21:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shutter-36-exhaust-fan>: HTTP status code is not handled or not allowed 2026-01-27 21:33:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_centers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-tpi-portable-blower-fan-belt-drive-swivel-base-hazardous-location>: HTTP status code is not handled or not allowed 2026-01-27 21:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-top-jaws-for-scroll-chuck-6-inch-3-jaw-3-piece-set>: HTTP status code is not handled or not allowed 2026-01-27 21:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-nose-pliers-w-side-cutter-coil-spring-5-9-16-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks>: HTTP status code is not handled or not allowed 2026-01-27 21:33:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-27 21:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-24w-x-28l-2-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-27 21:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-18w-x-42l-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/limit-spring-jsh275-36>: HTTP status code is not handled or not allowed 2026-01-27 21:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/895-00-knee-pad-turbo-knee-extended-articulating-plastic-hard-shell-cover-premium-foam-pad>: HTTP status code is not handled or not allowed 2026-01-27 21:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adj-screw-jhs1100-122>: HTTP status code is not handled or not allowed 2026-01-27 21:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_centers>: HTTP status code is not handled or not allowed 2026-01-27 21:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cspb2020-concept8482-swing-out-panel-fits-2000x2000>: HTTP status code is not handled or not allowed 2026-01-27 21:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 19266 pages (at 89 pages/min), scraped 7740 items (at 29 items/min) 2026-01-27 21:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-458r-ratchet-flaring-tool-45-degree-sae-flares>: HTTP status code is not handled or not allowed 2026-01-27 21:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-18w-x-48l-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-150mm-0-6-x-0-05mm-and-1-128-vernier-caliper>: HTTP status code is not handled or not allowed 2026-01-27 21:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-150mm-ip67-caliper-no-spc-output>: HTTP status code is not handled or not allowed 2026-01-27 21:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-step-steel-caged-walk-through-fixed-access-ladder-safety-yellow-wlfc1121-y>: HTTP status code is not handled or not allowed 2026-01-27 21:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-1-x-00005-0-001mm-digimatic-lite-micrometer-ratchet-no-spc-output>: HTTP status code is not handled or not allowed 2026-01-27 21:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-hand-operated-counterbalanced-li-truck-500-lbs-straddle-legs>: HTTP status code is not handled or not allowed 2026-01-27 21:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pesticide-cabinet-manual-double-door-30-gallon>: HTTP status code is not handled or not allowed 2026-01-27 21:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-24w-x-24l-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-vj-98-v-head-low-pipe-stand-12-max-pipe-capacity-20-38-h>: HTTP status code is not handled or not allowed 2026-01-27 21:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-jsm4140-51>: HTTP status code is not handled or not allowed 2026-01-27 21:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck09-301-contactor-3-pole-24v>: HTTP status code is not handled or not allowed 2026-01-27 21:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-mm-od-polyurethane-tubing-red-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-27 21:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a18p16al-panel-junction-box-1675x1488-fits-18x16-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 21:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/connector-housing-vbs2012-3250>: HTTP status code is not handled or not allowed 2026-01-27 21:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-enclosure-opaque-cover-no-knockouts-8-66-in-x-5-9-in-x-11-81-in>: HTTP status code is not handled or not allowed 2026-01-27 21:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-3w-x-9l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-proto-ease-pullers-4234b>: HTTP status code is not handled or not allowed 2026-01-27 21:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-off-delay-timer-0-360-sec-24vac-vdc>: HTTP status code is not handled or not allowed 2026-01-27 21:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-24w-x-30l-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-24w-x-36l-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-access-container-truck-70-h-x-36-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-27 21:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-spikes-adhesive-10oz>: HTTP status code is not handled or not allowed 2026-01-27 21:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-chisels-c-22>: HTTP status code is not handled or not allowed 2026-01-27 21:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-flat-poly-bags-10w-x-20l-6-mil-pink-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8934-filament-tape-34-x-60-yds-4-mil-clear-48pack>: HTTP status code is not handled or not allowed 2026-01-27 21:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-threading-pipe-and-bolt-die-heads-complete-w-dies-37375>: HTTP status code is not handled or not allowed 2026-01-27 21:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-speed-2-button-pendant-station-cable-gland-style>: HTTP status code is not handled or not allowed 2026-01-27 21:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-infrared-heater-091540ngs-straight-configuration-40-l-75000-btu>: HTTP status code is not handled or not allowed 2026-01-27 21:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-end-static-shielding-bags-15w-x-18l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-27 21:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36x24x72-with-4-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hospital-gown-easy-access-patient-gown-blue-hospital-gown-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retainer-ring-jsm-401-sm-40129>: HTTP status code is not handled or not allowed 2026-01-27 21:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-21w-x-60l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-24w-x-24l-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upper-wheel-100186>: HTTP status code is not handled or not allowed 2026-01-27 21:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-12w-x-6d-x-24h-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30mm-non-metallic-illuminated-extended-head-momentary-op-full-volt-push-button-red>: HTTP status code is not handled or not allowed 2026-01-27 21:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f66t12hc-wire-trough-hinged-cover-600x600x1200-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 21:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-together-ball-joints-10-inch-diameter-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 21:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hat-style-saddle-hanger-10-inch-diameter-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 21:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-cap-bolt-ss-8nss-12n-ss8n-9>: HTTP status code is not handled or not allowed 2026-01-27 21:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-7-inch-diameter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fastdraw-freedom-portable-dispensing-system-1-gal-min-4-gal-min-12-case-91290>: HTTP status code is not handled or not allowed 2026-01-27 21:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-full-brim-4-point-ratchet-sleek-shell-hard-hat>: HTTP status code is not handled or not allowed 2026-01-27 21:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-ring-118idx164odx23thk-1230r-5234081>: HTTP status code is not handled or not allowed 2026-01-27 21:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-lab-coat-1-pocket-knit-wrist-collar-snap-closure-x-large-25-case>: HTTP status code is not handled or not allowed 2026-01-27 21:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-together-y-branch-30-deg-14-14-14-14-inch-diameter-galvanized-18-gage>: HTTP status code is not handled or not allowed 2026-01-27 21:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j-hook-close-ring-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:34:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/janitorial_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-add-on-w-steel-decking-60-w-x-24-d-x-144-h>: HTTP status code is not handled or not allowed 2026-01-27 21:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-starter-w-steel-decking-84-w-x-36-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-27 21:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ztek-eyewear-clear-anti-fog-lens-with-clear-frame>: HTTP status code is not handled or not allowed 2026-01-27 21:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-4-chair-set-navy-polypropylene-cafe-chairs-42w-x-29h-round-natural-table>: HTTP status code is not handled or not allowed 2026-01-27 21:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-8w-x-18l-8-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-24-plastic-square-edge-bench-top>: HTTP status code is not handled or not allowed 2026-01-27 21:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-plus-air-belt-back-suppport-l-xl-36-50in-air-technology-cushions-supports-stabilizes>: HTTP status code is not handled or not allowed 2026-01-27 21:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lanyard-loop-cord-black>: HTTP status code is not handled or not allowed 2026-01-27 21:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylindrical-weights-nist-class-f-1-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/janitorial_cabinets>: HTTP status code is not handled or not allowed 2026-01-27 21:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-worm-gear-3706002>: HTTP status code is not handled or not allowed 2026-01-27 21:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-grip-handle-weights-nist-class-f-20-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-oz-tube-super-lube-synthetic-grease>: HTTP status code is not handled or not allowed 2026-01-27 21:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-15-d-lower-shelf-workbenches-black>: HTTP status code is not handled or not allowed 2026-01-27 21:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leadhead-passive-welding-helmet-with-ir-10-plate>: HTTP status code is not handled or not allowed 2026-01-27 21:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44193-nylon-chemical-pump-for-use-on-55-gallon-drums>: HTTP status code is not handled or not allowed 2026-01-27 21:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-precision-ground-dowel-pin-38-x-1-34-40pk>: HTTP status code is not handled or not allowed 2026-01-27 21:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44195-double-diaphragm-fuel-transfer-pump>: HTTP status code is not handled or not allowed 2026-01-27 21:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 19364 pages (at 98 pages/min), scraped 7771 items (at 31 items/min) 2026-01-27 21:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-39in-h-retractable-stanchion-with-6-1-2-ft-red-belt>: HTTP status code is not handled or not allowed 2026-01-27 21:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-unruled-index-cards-3-x-5-white-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taco-bronze-pressure-reducing-valve-34-npt>: HTTP status code is not handled or not allowed 2026-01-27 21:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-aah-36rbmag3-g-storage-cabinet-assembled-36x24x78-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-suffocation-warning-poly-bags-18w-x-24l-2-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-27 21:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-suffocation-warning-poly-bags-18w-x-30l-2-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-27 21:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-jaw-78-a--c-1611931>: HTTP status code is not handled or not allowed 2026-01-27 21:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacing-ring-5mm-1806211>: HTTP status code is not handled or not allowed 2026-01-27 21:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4004-double-sided-foam-tape-1-x-18-yds-250-mil-natural-9pack>: HTTP status code is not handled or not allowed 2026-01-27 21:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-ghb-1340-4x4x20-text-7534>: HTTP status code is not handled or not allowed 2026-01-27 21:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-1-link-100-l-hdpe-green>: HTTP status code is not handled or not allowed 2026-01-27 21:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewiston-equine-mailbox-no-address-plates-w-horsehead-finial-decorative-fluted-base-black>: HTTP status code is not handled or not allowed 2026-01-27 21:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-foot-x-12-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-27 21:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9579-double-coated-film-tape-34-x-36-yds-9-mil-white-2pack>: HTTP status code is not handled or not allowed 2026-01-27 21:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worm-shaft-ghd-20pf-2450052>: HTTP status code is not handled or not allowed 2026-01-27 21:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-foot-x-40-foot-heavy-duty-white-tarp>: HTTP status code is not handled or not allowed 2026-01-27 21:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-double-roller-chain-10b-2-5-8-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-27 21:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-cabinet-48-x-24-x-72>: HTTP status code is not handled or not allowed 2026-01-27 21:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-nickel-plated-roller-chain-60-1np-3-4-pitch-100ft-reel>: HTTP status code is not handled or not allowed 2026-01-27 21:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-100-l-hdpe-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:35:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-stainless-steel-storage-cabinet-72-x-24-x-60>: HTTP status code is not handled or not allowed 2026-01-27 21:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-100-l-hdpe-safety-pink>: HTTP status code is not handled or not allowed 2026-01-27 21:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-100-l-hdpe-traffic-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packaging-workbench-plastic-square-edge-60-x-30-with-riser-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6878-winter-hard-hat-liner-kit-3-layer-liner-mouthpiece-black>: HTTP status code is not handled or not allowed 2026-01-27 21:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-packaging-workbench-plastic-safety-edge-60-x-30-with-riser-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strips-combo-pack-with-rubber-adhesive-1w-x-15l-black>: HTTP status code is not handled or not allowed 2026-01-27 21:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-foot-x-25-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-27 21:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-disc-787c-120-7-x-7-8-in-die-700bb-25-per-inner-100-per-case>: HTTP status code is not handled or not allowed 2026-01-27 21:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-jtm-124vs-la-122>: HTTP status code is not handled or not allowed 2026-01-27 21:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets>: HTTP status code is not handled or not allowed 2026-01-27 21:35:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:35:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/disposable_face_masks_respirators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-ht114-2000-105-scfm-construction-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-paper-clips-vinyl-coated-wire-jumbo-assorted-colors-250pack>: HTTP status code is not handled or not allowed 2026-01-27 21:35:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-stainless-steel-floor-sign-2-sided-multi-lingual-caution>: HTTP status code is not handled or not allowed 2026-01-27 21:35:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/binder_clips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-foot-x-40-foot-camouflage-green-tarp>: HTTP status code is not handled or not allowed 2026-01-27 21:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purofort-full-safety-mens-work-boots-size-16-green>: HTTP status code is not handled or not allowed 2026-01-27 21:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-w-4-drawer-binder-lateral-file-black-1>: HTTP status code is not handled or not allowed 2026-01-27 21:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/justrite-safety-plunger-can-1-quart-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-tube-light-rl70le-84-n-led-22-26v-dc-42w-glass-42>: HTTP status code is not handled or not allowed 2026-01-27 21:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands>: HTTP status code is not handled or not allowed 2026-01-27 21:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/respiratory_protection/disposable_face_masks_respirators>: HTTP status code is not handled or not allowed 2026-01-27 21:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-crate-four-way-entry-96-l-x-48-w-x-55-12-h>: HTTP status code is not handled or not allowed 2026-01-27 21:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands>: HTTP status code is not handled or not allowed 2026-01-27 21:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linuraedge-slim-profile-led-light-22-26v-dc-18w-acrylic-352>: HTTP status code is not handled or not allowed 2026-01-27 21:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41421-nylon-blast-suit-blue-medium-nylon-cotton>: HTTP status code is not handled or not allowed 2026-01-27 21:35:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/binder_clips landed on page that is not a product page. 2026-01-27 21:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-inch-deep-top-step-kit-grip-strut>: HTTP status code is not handled or not allowed 2026-01-27 21:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-50-incline-ladder-24-inch-w-grip-strut>: HTTP status code is not handled or not allowed 2026-01-27 21:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30335su-f28t5835-28w-fluorescent-t5-bulb-mini-bipin-neutral-white>: HTTP status code is not handled or not allowed 2026-01-27 21:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-epj60r-lw-fits-blue-giant-model-epj60r>: HTTP status code is not handled or not allowed 2026-01-27 21:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truck-tire-rack-3-tier-starter-96x24x120>: HTTP status code is not handled or not allowed 2026-01-27 21:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondola-free-standing-slider-system-with-36-bins-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40086-spot-blaster-adapter-kit-rubber>: HTTP status code is not handled or not allowed 2026-01-27 21:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-btu-lw-n-fits-bt-model-l-2000-u-l2300-u>: HTTP status code is not handled or not allowed 2026-01-27 21:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polypropylene-bags-24l-x-18w-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-triple-truck-gator-grip-drum-handler-attachment-261161-750-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-am2200-lw-fits-jungheinrich-model-am2200>: HTTP status code is not handled or not allowed 2026-01-27 21:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tevisio-led-39-reach-35d-8d-13w-5000k-dimmable-with-segment-switching>: HTTP status code is not handled or not allowed 2026-01-27 21:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-t-nut-jtm-1055-jtm1055-b58>: HTTP status code is not handled or not allowed 2026-01-27 21:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-connection-jsg1052-23>: HTTP status code is not handled or not allowed 2026-01-27 21:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-double-arm-fixed-wall-bracket>: HTTP status code is not handled or not allowed 2026-01-27 21:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skimmer-tin-6-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-diamond-grip-rubber-runner-mats-2mm-x-4-x-12-rubber-flooring-rolls-black>: HTTP status code is not handled or not allowed 2026-01-27 21:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-whirlwind-box-fan-direct-drive-3-phase>: HTTP status code is not handled or not allowed 2026-01-27 21:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-barnstormer-variable-speed-with-std-l-bracket>: HTTP status code is not handled or not allowed 2026-01-27 21:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 19456 pages (at 92 pages/min), scraped 7798 items (at 27 items/min) 2026-01-27 21:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hardware-kit-for-761221-outdoor-drinking-fountains>: HTTP status code is not handled or not allowed 2026-01-27 21:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-typhoon-exhaust-slant-wall-belt-drive-no-cone>: HTTP status code is not handled or not allowed 2026-01-27 21:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hardware-kit-for-670434-outdoor-shower>: HTTP status code is not handled or not allowed 2026-01-27 21:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-polypropylene-bags-4l-x-3w-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-cutter>: HTTP status code is not handled or not allowed 2026-01-27 21:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40248-cloth-lined-blast-gloves-rubber>: HTTP status code is not handled or not allowed 2026-01-27 21:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-anystream-icon-6-jet-showerhead-polished-chrome-finish-2-5-gpm>: HTTP status code is not handled or not allowed 2026-01-27 21:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exe24208ss61-zonex-atex-and-ice-certified-2400x2000x800-ss-type-316>: HTTP status code is not handled or not allowed 2026-01-27 21:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ast44-swivel-tilt-581x400x400-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 21:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-packing-workbench-maple-butcher-block-square-edge-60-x-36>: HTTP status code is not handled or not allowed 2026-01-27 21:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabric-office-chair-tall-height-with-glides-and-footring-black-lexington-series>: HTTP status code is not handled or not allowed 2026-01-27 21:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-button-jsm3330-33>: HTTP status code is not handled or not allowed 2026-01-27 21:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-workbench-esd-safety-edge-60-x-36-with-riser-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-footed-colander-3-qt>: HTTP status code is not handled or not allowed 2026-01-27 21:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3132-s-black-barcode-scanner-lanyard-harness>: HTTP status code is not handled or not allowed 2026-01-27 21:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-piano-wire-whip-epoxy-16>: HTTP status code is not handled or not allowed 2026-01-27 21:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dandux-fda-approved-plastic-bulk-container-step-wall-16-bushel-natural>: HTTP status code is not handled or not allowed 2026-01-27 21:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a242412gsc-galvanized-box-screw-cover-2400x2400x1200-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 21:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-8-3-8-w-x-17-7-8-d-x-6-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-11-1-8-w-x-17-7-8-d-x-6-h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vl22-syspend-vl-motion-arm-22-in-672x255x35-alumgray>: HTTP status code is not handled or not allowed 2026-01-27 21:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-6-5-8-w-x23-5-8-d-x-6-h-red>: HTTP status code is not handled or not allowed 2026-01-27 21:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-removable-foam-tape-1-x-36-yds-625-mil-white-12pack>: HTTP status code is not handled or not allowed 2026-01-27 21:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-9w-x-12l-6-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-slip-on-shoes-size-14m-white>: HTTP status code is not handled or not allowed 2026-01-27 21:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-comp-toe-athletic-sneakers-size-12m-black>: HTTP status code is not handled or not allowed 2026-01-27 21:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-100-primo-upgrade-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-retro-lace-up-sneakers-size-8m-black>: HTTP status code is not handled or not allowed 2026-01-27 21:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mediumweight-plastic-teaspoons-white-1-000-per-carton>: HTTP status code is not handled or not allowed 2026-01-27 21:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-13w-x-18l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergotec-soft-rubber-36-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-zipper-fabric-plastic-black-az2>: HTTP status code is not handled or not allowed 2026-01-27 21:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-14w-x-16l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd242012-concept-wall-mount-encl-2400x2000x1200-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 21:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutting-blade-replacement-part-for-rt18-rt26-rt37s-and-rt51s-paper-trimmers>: HTTP status code is not handled or not allowed 2026-01-27 21:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-guide-replacement-part-for-rt18-rt26-rt37s-and-rt51s-paper-trimmers>: HTTP status code is not handled or not allowed 2026-01-27 21:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/throttle-valve-plug-jsm5130-10>: HTTP status code is not handled or not allowed 2026-01-27 21:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-packing-workbench-esd-safety-edge-60-x-36-with-lower-shelf-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-credenza-with-box-and-file-drawers-36w-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 21:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-124-industrial-tricycle-500-lb-capacity-24-wheels-includes-platform-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:36:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/crackers_chips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosed-bulletin-cork-board-sliding-doors-48-x-36>: HTTP status code is not handled or not allowed 2026-01-27 21:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-grip-ll301-natural-rubber-gloves-heavy-weight-blue-1-pair-x-large-301429>: HTTP status code is not handled or not allowed 2026-01-27 21:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-top-chest-4-drawers-41w-x-25d-x-22-14h-black-with-blue-drawer-pulls>: HTTP status code is not handled or not allowed 2026-01-27 21:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-portion-packs-1-1-2-oz-packs-100-columbian>: HTTP status code is not handled or not allowed 2026-01-27 21:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-diamond-mat-navy-4-x-6>: HTTP status code is not handled or not allowed 2026-01-27 21:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-316-cast-tee-34-npt-female>: HTTP status code is not handled or not allowed 2026-01-27 21:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-charcoal-3-x-10>: HTTP status code is not handled or not allowed 2026-01-27 21:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-diamond-mat-charcoal-4-x-12>: HTTP status code is not handled or not allowed 2026-01-27 21:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bevel-gear-jns185-10>: HTTP status code is not handled or not allowed 2026-01-27 21:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a14128ch-continuous-hinge-wclamps-type-12-1400x1200x800-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 21:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jbc-revolution-18-non-reflective-traffic-cone-traffic-orange-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 21:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mapa-temp-dex-710-nitrile-palm-coated-thermal-gloves-w-dots-light-weight-1-pair-size-7>: HTTP status code is not handled or not allowed 2026-01-27 21:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-9180-201>: HTTP status code is not handled or not allowed 2026-01-27 21:36:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/crackers_chips landed on page that is not a product page. 2026-01-27 21:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e6pbx-push-button-encl-extra-deep-6pb-x-305mm>: HTTP status code is not handled or not allowed 2026-01-27 21:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-182k1-scaler-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-5102max-die-grinder040-hp>: HTTP status code is not handled or not allowed 2026-01-27 21:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-brake-6294288>: HTTP status code is not handled or not allowed 2026-01-27 21:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-jpm-13-5gf-b08>: HTTP status code is not handled or not allowed 2026-01-27 21:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-90-175-register-vent-boot-w-adj-hangers-for-hvac-duct-work-10-x-10-x-8>: HTTP status code is not handled or not allowed 2026-01-27 21:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabric-reception-chair-black>: HTTP status code is not handled or not allowed 2026-01-27 21:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-jsg-0470-829009>: HTTP status code is not handled or not allowed 2026-01-27 21:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brushless-cordless-2-tool-combo-kit-40v-xgt-25ah4ah-lithium-ion-batteries>: HTTP status code is not handled or not allowed 2026-01-27 21:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-hands-free-ceiling-or-wall-vent-grille-vent-register-cover-w-2-way-reflexctor-4-x-14>: HTTP status code is not handled or not allowed 2026-01-27 21:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-duct-tape-6969-silver-72-mm-x-54-8-m-10-7-mil-12-per-case-bulk>: HTTP status code is not handled or not allowed 2026-01-27 21:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ase16x12x6nk-pull-box-screw-cover-1600x1200x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 21:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hawkeye-1-amber-lens>: HTTP status code is not handled or not allowed 2026-01-27 21:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-unit-5-tier-60w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcd-cart-26-lbs-capacity-two-tone-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-ipl06-10z-decora-slide-dimmer-use-with-led-cfl-inc-lamps-120v-white>: HTTP status code is not handled or not allowed 2026-01-27 21:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-starter-unit-5-tier-60w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-pro-power-workstation-hutch-roller-cabinet-55w-x-25d-blue-with-black-dr-pulls>: HTTP status code is not handled or not allowed 2026-01-27 21:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-high-productivity-pad-7300-20-in-5-case>: HTTP status code is not handled or not allowed 2026-01-27 21:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a60x6112lpftc-2-door-wfloor-stands-disc-encl-6012x6175x1212-paint>: HTTP status code is not handled or not allowed 2026-01-27 21:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a866dl-j-box-hinged-cover-contoured-type-12-800x600x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 21:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 19549 pages (at 93 pages/min), scraped 7816 items (at 18 items/min) 2026-01-27 21:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-inch-acrylic-half-dome-safety-mirror-180-viewing-angle-plastic-back>: HTTP status code is not handled or not allowed 2026-01-27 21:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-front-1632-6293408>: HTTP status code is not handled or not allowed 2026-01-27 21:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6inx10in-2-mil-recloseable-poly-bag-clear-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-27 21:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wslpl-padlocking-latch-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-ke-thermaflex-flexible-hvac-duct-20-diameter-r6-0>: HTTP status code is not handled or not allowed 2026-01-27 21:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-pipe-clip-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-lp-10-thermaflex-flexible-hvac-duct-14-diameter>: HTTP status code is not handled or not allowed 2026-01-27 21:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dewalt-20v-hammerdrill-impact-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-60v-max-flexvolt-li-ion-dual-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/temperature-sensor-part-replacement-for-pleasant-hearth-vent-free-fireplace-systems>: HTTP status code is not handled or not allowed 2026-01-27 21:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-wall-desk-full-size-manual-close-combination-lock-cherry>: HTTP status code is not handled or not allowed 2026-01-27 21:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10l-x-16w-horizontal-bandsaw-variable-speed-2-hp-460v-3-phase>: HTTP status code is not handled or not allowed 2026-01-27 21:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transmission-jbos-5-6286470>: HTTP status code is not handled or not allowed 2026-01-27 21:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-54w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/king-pin-lock-tractor-trailers-not-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-27 21:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slimline-wall-desk-single-size-manual-close-keyed-lock-beige>: HTTP status code is not handled or not allowed 2026-01-27 21:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slimline-wall-desk-single-size-spring-close-keyed-lock-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delta-black-aluminum-single-lid-low-profile-crossover-fullsize>: HTTP status code is not handled or not allowed 2026-01-27 21:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-72w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-3-layer-epoxy-system-5000-sq-ft-desert-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-2-layer-epoxy-system-1000-sq-ft-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:37:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/stands/computer_stands_carts/computer_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-tube-24-l-x-3-4-id-x-1-1-4-od-black>: HTTP status code is not handled or not allowed 2026-01-27 21:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440106874-roll-314d-1w-x-50-yd-p60>: HTTP status code is not handled or not allowed 2026-01-27 21:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-stackable-tray-24-x-12-x-2-3-4-white>: HTTP status code is not handled or not allowed 2026-01-27 21:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-rh-29-shaper-6292993>: HTTP status code is not handled or not allowed 2026-01-27 21:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/over-the-panel-plastic-hook-double-black>: HTTP status code is not handled or not allowed 2026-01-27 21:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-28-foot-w-fits-6-3-4-inches-to-7-5-8-inches-dia-brsn-428-8>: HTTP status code is not handled or not allowed 2026-01-27 21:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bracket-disc-guard-ds-6295603>: HTTP status code is not handled or not allowed 2026-01-27 21:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34x12x72-solar-star-greenhouse-w-poly-top-and-ends-drop-down-sides>: HTTP status code is not handled or not allowed 2026-01-27 21:37:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/stands/computer_stands_carts/computer_cabinets landed on page that is not a product page. 2026-01-27 21:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-screw-60-a-jointer-6296031>: HTTP status code is not handled or not allowed 2026-01-27 21:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-starter-unit-5-tier-36w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-cogged-bx-v-belt-bx62>: HTTP status code is not handled or not allowed 2026-01-27 21:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-stake>: HTTP status code is not handled or not allowed 2026-01-27 21:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-animal-hut-10w-x-65h-x-122l>: HTTP status code is not handled or not allowed 2026-01-27 21:37:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-buna-n-pvc-sheet-36-l-x-36-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 21:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rise-triple-recycling-station-for-cans-bottles-paper-45-gallon-capacity-white>: HTTP status code is not handled or not allowed 2026-01-27 21:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-iron-guard-acrylic-enamel-safety-green-osha>: HTTP status code is not handled or not allowed 2026-01-27 21:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-line-up-sb-pavement-striping-paint-cover-up-black>: HTTP status code is not handled or not allowed 2026-01-27 21:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-12-l-x-4-w-x-3-16-thick-green>: HTTP status code is not handled or not allowed 2026-01-27 21:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-quik-mark-wb-inverted-marking-paint-fluor-safety-green>: HTTP status code is not handled or not allowed 2026-01-27 21:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090253355-iron-series-two-stage-horizontal-duplex-air-compressor-2-x-5hp-120-gallon>: HTTP status code is not handled or not allowed 2026-01-27 21:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jea-b21-knob-sprng-6285895>: HTTP status code is not handled or not allowed 2026-01-27 21:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x36-solar-star-greenhouse-w-poly-ends-and-drop-down-sides-prop-heater>: HTTP status code is not handled or not allowed 2026-01-27 21:37:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/patio_heaters/electric_patio_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-conveyor-1632-6293392>: HTTP status code is not handled or not allowed 2026-01-27 21:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-rack-mobile-gear-storage-rack-locker-double-sided-six-24-sections-red>: HTTP status code is not handled or not allowed 2026-01-27 21:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-static-safe-print-2-12l-x-1-34w-blackyellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_sheets>: HTTP status code is not handled or not allowed 2026-01-27 21:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-4-w-x-3-16-thick-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-rack-mobile-gear-storage-rack-locker-single-sidedthree-20-sections-w-security-optred>: HTTP status code is not handled or not allowed 2026-01-27 21:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-greenhouse-26w-x-12h-x-28l>: HTTP status code is not handled or not allowed 2026-01-27 21:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/102047-blank-tag-manila-6-14-x-3-18-1000pkg-cardstock-3-18w-x-6-14>: HTTP status code is not handled or not allowed 2026-01-27 21:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printer-toner-micro-laserjet-1400-black>: HTTP status code is not handled or not allowed 2026-01-27 21:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-54w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:37:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/patio_heaters/electric_patio_heaters landed on page that is not a product page. 2026-01-27 21:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-24w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-counter-height-cabinet-easy-assembly-36x24x42-gray-269872gy>: HTTP status code is not handled or not allowed 2026-01-27 21:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-8-x-20-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/66063-lockout-tag-danger-do-not-operate-2-sided-polyester-25pack>: HTTP status code is not handled or not allowed 2026-01-27 21:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-4-x-48-half-slotted-container-inner>: HTTP status code is not handled or not allowed 2026-01-27 21:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-giant-commercial-canopy-24w-x-40l-green>: HTTP status code is not handled or not allowed 2026-01-27 21:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-12-l-x-12-w-x-1-8-thick-yellow-ps-cact-89>: HTTP status code is not handled or not allowed 2026-01-27 21:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-54w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-60w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-5-16-dia-vc-3-8-dia-7x19-vinyl-coated-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-27 21:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/opticlean-36-compartment-glass-rack-w-4-extenders-carlisle-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:37:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-54w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grade-70-transport-chain-3-8-dia-6600-lb-cap-66-pail>: HTTP status code is not handled or not allowed 2026-01-27 21:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 19642 pages (at 93 pages/min), scraped 7841 items (at 25 items/min) 2026-01-27 21:37:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/spill_kits_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-standard-cold-forged-4x4-12-rigid-6x2-plastex-roller-900lb>: HTTP status code is not handled or not allowed 2026-01-27 21:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topnotch-one-third-size-food-pan-12-34-x-7clear>: HTTP status code is not handled or not allowed 2026-01-27 21:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pd439g-large-ear-plug-dispenser-acrylic-12w-x-13h>: HTTP status code is not handled or not allowed 2026-01-27 21:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-round-hd-316-24x34-6295637>: HTTP status code is not handled or not allowed 2026-01-27 21:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storplus-35-gallon-box-18-12-6yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-4-w-x-1-8-thick-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lower-blade-guard-jwbs-18-jwbs18-343>: HTTP status code is not handled or not allowed 2026-01-27 21:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700256yel-pegboard-floor-stand-w5-c-channel-sliding-16w-x-60h-yl-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 21:38:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 21:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/op30-dp-op-oil-only-roll30w-x-150lheavy-weightdouble-perforated>: HTTP status code is not handled or not allowed 2026-01-27 21:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-14-x-20-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:38:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/spill_kits_stations landed on page that is not a product page. 2026-01-27 21:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-duralast-wheel-6x3-1-roller>: HTTP status code is not handled or not allowed 2026-01-27 21:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700357clr-pegboard-powerwing-display-16w-x-2025h-clr-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 21:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blade-adj-pja-c53c-15-planer-6284832>: HTTP status code is not handled or not allowed 2026-01-27 21:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redi-seal-envelopes-6-12w-x-9-12l-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 21:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-ebonite-wheel-3-12x1-516-12-oilless>: HTTP status code is not handled or not allowed 2026-01-27 21:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-do-not-double-stack-print-10l-x-8w-fluorescent-yellow-roll-of-250>: HTTP status code is not handled or not allowed 2026-01-27 21:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-48w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-starter-unit-1-dunnage-shelf-48w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-plastex-wheel-5x2-12-roller>: HTTP status code is not handled or not allowed 2026-01-27 21:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-doctor-tapa-circuit-for-ato-atc-fuse-blocks>: HTTP status code is not handled or not allowed 2026-01-27 21:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252809-brochure-hlr-w8-pockets-165w-x-7h-clr-1pack>: HTTP status code is not handled or not allowed 2026-01-27 21:38:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sokt-hd-cap-screw-m10-x-15p-x-50lg-201-6012133>: HTTP status code is not handled or not allowed 2026-01-27 21:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700444red-pinwheel-pegboard-display-wrb-135w-x-44h-red-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 21:38:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-hi-heat-plastex-wheel-5x2-34-roller>: HTTP status code is not handled or not allowed 2026-01-27 21:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-mort-wheel-10x3-1-roller>: HTTP status code is not handled or not allowed 2026-01-27 21:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-16-x-16-double-wall-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-42w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-qt-e-z-smart-drum-funnel-with-2-threads>: HTTP status code is not handled or not allowed 2026-01-27 21:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylok-nut-14-20nc-4000380>: HTTP status code is not handled or not allowed 2026-01-27 21:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-kickback-pawl-pja-c29-15planer-6284784>: HTTP status code is not handled or not allowed 2026-01-27 21:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-20-x-14-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-27 21:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-12-x-12-doublewall-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-x-26-x-26-doublewall-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 21:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelon-wire-shelving-starter-unit-1-dunnage-shelf-60w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:38:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gel-wrist-rest-crystals-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-fig-newtons>: HTTP status code is not handled or not allowed 2026-01-27 21:38:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-fragile-glass-print-3l-x-2w-white-textred-back-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-5-x-30-full-over-lap-container>: HTTP status code is not handled or not allowed 2026-01-27 21:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-partial-print-5l-x-3w-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-6-x-9-insulated-container>: HTTP status code is not handled or not allowed 2026-01-27 21:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/610112clr-flat-revolving-display-base-075h-x-12dia-clr-10pack>: HTTP status code is not handled or not allowed 2026-01-27 21:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-12-dia-round-removable-paper-labels-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:38:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-paper-labels-w-move-to-stock-print-fluorescent-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-moving-box-combo>: HTTP status code is not handled or not allowed 2026-01-27 21:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-1-4-x-3-x-15-1-8-white-self-seal-side-loading-boxes>: HTTP status code is not handled or not allowed 2026-01-27 21:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-heavy-duty-standard-threaded-hex-base-warning-whip-w-o-light-16-x16-orange-w-x-rectangle-flag>: HTTP status code is not handled or not allowed 2026-01-27 21:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-braced-wall-mounted-jib-crane-900031-4000-lb-cap-20-span-w-200-deg-rotation>: HTTP status code is not handled or not allowed 2026-01-27 21:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-36-l-x-7-w-x-1-4-thick-blue-detectable-60a-bulk-rs-h60md-65>: HTTP status code is not handled or not allowed 2026-01-27 21:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-letter-paper-labels-with-c-print-fluorescent-pink-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700432pur-hshaped-pegboard-display-32w-x-60h-pl-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 21:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories>: HTTP status code is not handled or not allowed 2026-01-27 21:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-80-4-00-8-flat-free-ribbed-tread-3-centered-3-4-ball-bearings>: HTTP status code is not handled or not allowed 2026-01-27 21:38:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-rectangular-desk-pads-17-x-22-clear-pack-of-four>: HTTP status code is not handled or not allowed 2026-01-27 21:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-4-x-4-mailers>: HTTP status code is not handled or not allowed 2026-01-27 21:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-locker-room-hardwood-bench-top-48-l-x-24-w-269880>: HTTP status code is not handled or not allowed 2026-01-27 21:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamondback-ramps-only-for-uhb2025t>: HTTP status code is not handled or not allowed 2026-01-27 21:38:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 21:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-4l320-6077008>: HTTP status code is not handled or not allowed 2026-01-27 21:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-lock-3695006>: HTTP status code is not handled or not allowed 2026-01-27 21:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 19734 pages (at 92 pages/min), scraped 7869 items (at 28 items/min) 2026-01-27 21:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-linear-imaging-scanner-voyager-1400g-with-usb-cable-and-stand>: HTTP status code is not handled or not allowed 2026-01-27 21:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-85l-usb-cable-for-use-with-hand-held-scanners>: HTTP status code is not handled or not allowed 2026-01-27 21:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/516-18-x-34-hex-hd-cap-6715035>: HTTP status code is not handled or not allowed 2026-01-27 21:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerforce-freestanding-bag-black>: HTTP status code is not handled or not allowed 2026-01-27 21:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_sheets>: HTTP status code is not handled or not allowed 2026-01-27 21:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-6-point-1-deep>: HTTP status code is not handled or not allowed 2026-01-27 21:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiona-salon-nail-table-white>: HTTP status code is not handled or not allowed 2026-01-27 21:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-1-1-2-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 21:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-inventory-circle-labels-purple-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:39:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-spill-deck-p2-2-drum-containment-system>: HTTP status code is not handled or not allowed 2026-01-27 21:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-9-16-short>: HTTP status code is not handled or not allowed 2026-01-27 21:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8210v-n95-particulate-respirator>: HTTP status code is not handled or not allowed 2026-01-27 21:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-12-l-x-1-2-w-x-1-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 21:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-philadelphia-flyers-grill-mat-14245>: HTTP status code is not handled or not allowed 2026-01-27 21:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsi-upholstered-clutter-catcher-bench-seat-console-model-30015-in-vinyl-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stud-remover-5-16-1-2-drive>: HTTP status code is not handled or not allowed 2026-01-27 21:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-2-point-discriminator>: HTTP status code is not handled or not allowed 2026-01-27 21:39:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictogram-exclamation-mark-labels-2l-x-2w-redwhiteblack-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cb13332-mpb600-parcel-mail-box-w-one-big-parcel-stainless-stell-drop-door-16w-x-1025d-x-52h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circle-mailing-labels-1-dia-frosty-white-roll-of-5000>: HTTP status code is not handled or not allowed 2026-01-27 21:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-roll-120-l-x-12-w-x-1-4-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-27 21:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-fragile-handle-with-care-thank-print-10l-x-8w-redwhiteroll-of-250>: HTTP status code is not handled or not allowed 2026-01-27 21:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bf11986-cheri-bliss-cosmetic-case-cc100-aluminum-zebra-12l-x-8w-x-8h>: HTTP status code is not handled or not allowed 2026-01-27 21:39:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-48-1-4w-x-101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-27 21:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-12-l-x-1-2-w-x-1-2-thick-blue-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 21:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msmk404va-designated-smoking-area-sign-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 21:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-20w-zippered-end-panel-white>: HTTP status code is not handled or not allowed 2026-01-27 21:39:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-fragile-glass-print-3l-x-2w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circle-mailing-labels-4-dia-clear-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-30-gallon-manual-close-door-4-w-12-d-65-h>: HTTP status code is not handled or not allowed 2026-01-27 21:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd739-steering-wheel-message-cover-vinyl-24-diameter>: HTTP status code is not handled or not allowed 2026-01-27 21:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-sheet-36-l-x-36-w-x-1-16-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 21:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-bench-workstation-rubber-mat-top-locking-door-2-drawers-42-1-8-x-24-1-4-x-36-3-8>: HTTP status code is not handled or not allowed 2026-01-27 21:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-floor-truck-lock-6-34>: HTTP status code is not handled or not allowed 2026-01-27 21:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-flex-socket-set-3-8-drive-6-point-short-6-piece>: HTTP status code is not handled or not allowed 2026-01-27 21:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats>: HTTP status code is not handled or not allowed 2026-01-27 21:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x20-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 21:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-16mm-short>: HTTP status code is not handled or not allowed 2026-01-27 21:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-height-welded-steel-workbench-locking-drawer-lower-shelf-72-w-x-36-d-x-34-1-16-h>: HTTP status code is not handled or not allowed 2026-01-27 21:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-4l-x-2w-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 21:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cd4-ergonomic-laptop-stand-and-standing-desk-black>: HTTP status code is not handled or not allowed 2026-01-27 21:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-9-in-10-1-2-in-12-in-jbt-r2090tbk>: HTTP status code is not handled or not allowed 2026-01-27 21:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-96-l-x-48-w-x-1-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 21:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-2150-2-mil-anti-static-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-27 21:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-48-l-x-1-w-x-3-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 21:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn310-steel-gear-lever-w-ball-knob-10mm-d-125mm-l-m8x125>: HTTP status code is not handled or not allowed 2026-01-27 21:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-con-disposable-bait-station-3w-x-3d-x-1-1-4h-6-carton-rac99427>: HTTP status code is not handled or not allowed 2026-01-27 21:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb-4-2545-mobile-service-bench-20-bin-box-and-2-door-locking-cabinet-48-w-x-25-d-x-40-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-1-2-w-x-3-8-thick-blue-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 21:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f6-woven-split-wrappable-sleeve-3-4-dia-50-black>: HTTP status code is not handled or not allowed 2026-01-27 21:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-60-l-x-3-4-w-x-3-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 21:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1flexo-pet-general-purpose-sleeving-dia-250-black>: HTTP status code is not handled or not allowed 2026-01-27 21:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inches-overlap-push-type-seal-for-polyester-5000-per-case>: HTTP status code is not handled or not allowed 2026-01-27 21:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inches-overlap-push-type-seal-for-steel-5000-per-case>: HTTP status code is not handled or not allowed 2026-01-27 21:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-14-x-36-4-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 21:39:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-11mm-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-27 21:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-enclosed-wire-stockpicker-truck-dolly-base-48-x-24-x-69-1000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-30mm-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-27 21:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-4-drive-1-13-16-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 21:39:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-16flexo-pet-general-purpose-sleeving-dia-250-black>: HTTP status code is not handled or not allowed 2026-01-27 21:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150flexo-pet-general-purpose-sleeving-dia-200-black>: HTTP status code is not handled or not allowed 2026-01-27 21:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-guard-back-panel-with-offset-bracket-108l-x-1-14w-x-48h>: HTTP status code is not handled or not allowed 2026-01-27 21:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp133vs-danger-sign-confined-space-enter-by-permit-only-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 21:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/socket-1-4-drive-t25-internal-torx>: HTTP status code is not handled or not allowed 2026-01-27 21:39:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 21:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-300-l-x-36-w-x-0-001-thick-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 19829 pages (at 95 pages/min), scraped 7896 items (at 27 items/min) 2026-01-27 21:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8flexo-pet-general-purpose-sleeving-dia-125-green>: HTTP status code is not handled or not allowed 2026-01-27 21:39:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:39:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-type-1-sheet-48-l-x-24-w-x-3-16-thick-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-20mm-deep>: HTTP status code is not handled or not allowed 2026-01-27 21:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mt3-heavy-duty-live-centres-880lb-capacity-60-centre-angle-1-1-8-centre-diameter>: HTTP status code is not handled or not allowed 2026-01-27 21:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixed-storage-unit-with-lock-36w-x-22d-x-29-half-h-artisan-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-22mm-short>: HTTP status code is not handled or not allowed 2026-01-27 21:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trs243ctp-out-of-service-tag-pf-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-27 21:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x20-dri-shield-moisture-barrier-bags>: HTTP status code is not handled or not allowed 2026-01-27 21:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-36-l-x-1-2-w-x-1-8-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msmk120vs-danger-sign-no-smoking-or-open-flame-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 21:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-railing-flange>: HTTP status code is not handled or not allowed 2026-01-27 21:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-vertical-railing-base-2>: HTTP status code is not handled or not allowed 2026-01-27 21:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-drawer-hanging-pedestal-in-artisan-gray-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-27 21:40:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 21:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-24-l-x-3-4-w-x-3-32-thick-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-lcd-crane-scale-with-remote-1500-lb-x-05-lb>: HTTP status code is not handled or not allowed 2026-01-27 21:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packout153-rolling-tool-chest-38w-x-23-34d-x-15-1316h-blackred>: HTTP status code is not handled or not allowed 2026-01-27 21:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorilla-sleeve-high-abrasion-1-dia-50-black>: HTTP status code is not handled or not allowed 2026-01-27 21:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-boltless-shelving-w-steel-industrial-shelves-42-w-x-24-d-x-84-h-starter-5-shelves>: HTTP status code is not handled or not allowed 2026-01-27 21:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-96-l-x-48-w-x-1-16-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-27 21:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trs307ptp-inspection-record-tag-pf-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-27 21:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm2000t-10-table-saw-with-armorglide--extension-table-50-rip-3hp-1ph-230v>: HTTP status code is not handled or not allowed 2026-01-27 21:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgnf956va-think-sign-safety-first-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 21:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-48-l-x-1-1-2-w-x-1-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronco-waste-container-lid-10-gal-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1285t-12-parallelogram-jointer-w-armorglide--helical-head-cutter-3hp-3ph-460v>: HTTP status code is not handled or not allowed 2026-01-27 21:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-crossover>: HTTP status code is not handled or not allowed 2026-01-27 21:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-mop-36-natural>: HTTP status code is not handled or not allowed 2026-01-27 21:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronco-recycle-waste-container-32-gal-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-type-needle-roller-bearing-metric-taf506225-50mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-27 21:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38x54-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 21:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescopic-aluminum-flat-mop-head-handle-70>: HTTP status code is not handled or not allowed 2026-01-27 21:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g22-125-ap-30hp-oil-injected-rotary-screw-floor-mount-125psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-27 21:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mchl170vs-danger-sign-oxygen-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 21:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-offset-wall-flange>: HTTP status code is not handled or not allowed 2026-01-27 21:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-12-l-x-1-w-x-1-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4flexo-pet-general-purpose-sleeving-dia-75-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-end-return-1>: HTTP status code is not handled or not allowed 2026-01-27 21:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-handrail-bracket>: HTTP status code is not handled or not allowed 2026-01-27 21:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-16-channel-network-video-recorder-with-facial-recognition--smart-analytics-4tb-storage>: HTTP status code is not handled or not allowed 2026-01-27 21:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sentec-concentrate-odor-eliminator-pure-linen-scent-2-l-bottle-2case>: HTTP status code is not handled or not allowed 2026-01-27 21:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/winch-operated-pickup-trailer-truck-jib-crane-2000-lb-capacity-986652>: HTTP status code is not handled or not allowed 2026-01-27 21:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acudor-18x18-aluminum-diamond-plate-floor-door-no-hinge>: HTTP status code is not handled or not allowed 2026-01-27 21:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x12-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 21:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hoist-and-trolley-combo-standard-1-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-48-l-x-4-w-x-1-8-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnimed-economy-narcotic-cabinet-single-door-ambi-top-2-adj-shelves16w-x-8d-x-24hbeige>: HTTP status code is not handled or not allowed 2026-01-27 21:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20mm-crimp-seal-open-top-hole-caps-aluminum-green-unlined-case-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 21:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jat-820-flux-chipper-ball-lock-r8-series-4-000-bpm-92-psi-6-cfm>: HTTP status code is not handled or not allowed 2026-01-27 21:40:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/booster-pak-5000-es5000>: HTTP status code is not handled or not allowed 2026-01-27 21:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-b-cylinders-with-pour-spout-500ml-case-of-4>: HTTP status code is not handled or not allowed 2026-01-27 21:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-sb-allergen-bags-10-pack-261533>: HTTP status code is not handled or not allowed 2026-01-27 21:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-a-volumetric-flasks-with-pe-stopper-50ml-case-of-12>: HTTP status code is not handled or not allowed 2026-01-27 21:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5400042-round-file-4-second-cut>: HTTP status code is not handled or not allowed 2026-01-27 21:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38x64-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 21:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psorslf48-ml-black-melamine-shelf-for-pipeline-outrigger-47l-x-16w-2-pcs>: HTTP status code is not handled or not allowed 2026-01-27 21:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x8-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 21:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-treme-guard-edge-protector-39l-x-12w-x-6h-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-drop-slot-deposit-safe-dial-combo-lock-6-w-x-8-d-x-12-h-cream>: HTTP status code is not handled or not allowed 2026-01-27 21:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dax-brow-pad-suspension-replacement-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac30u000-upper-tape-head-3>: HTTP status code is not handled or not allowed 2026-01-27 21:40:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-14-npt-us-industrial-interchange-male>: HTTP status code is not handled or not allowed 2026-01-27 21:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-film-5-mil-36-x-75-roll>: HTTP status code is not handled or not allowed 2026-01-27 21:40:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indooroutdoor-lcd-guardian-tv-enclosure-for-34-43-monitors-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 19923 pages (at 94 pages/min), scraped 7923 items (at 27 items/min) 2026-01-27 21:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-handle-w-stud-3-8-16-x-0-98-stud-3-07-l-x-2-12-h-die-cast-handle-mh-3056>: HTTP status code is not handled or not allowed 2026-01-27 21:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-48-l-x-6-w-x-3-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-27 21:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-locking-wire-wall-bracket-for-1-quart-sharps-container-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-31-degree-baume-shatterproof-plastic-hydrometer>: HTTP status code is not handled or not allowed 2026-01-27 21:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-sided-wire-frame-18x48-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-27 21:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-sided-wire-frame-18x60-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-27 21:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-with-partial-window-60-x-61-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:41:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners landed on page that is not a product page. 2026-01-27 21:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-27 21:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-perforated-air-foam-rolls-18w-x-1250l-x-116-thick-white-4-rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0950-1000-specific-gravity-astm-88h-hydrometer-for-light-liquids>: HTTP status code is not handled or not allowed 2026-01-27 21:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbt-04-2-shelf-kitchen-cart-25-1-4l-x-19-3-4w-x-36-1-4h-white>: HTTP status code is not handled or not allowed 2026-01-27 21:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spindrive-orbital-shaker-platform-8-7-8-x-8-7-8-x-2>: HTTP status code is not handled or not allowed 2026-01-27 21:41:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-bubble-pouches-4w-x-10-12l-pink-500pack>: HTTP status code is not handled or not allowed 2026-01-27 21:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-anti-static-air-foam-rolls-24w-x-550l-x-18-thick-pink-3-rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/av-presentation-station-24x18x41>: HTTP status code is not handled or not allowed 2026-01-27 21:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-ultimate-tuffy-presentation-station>: HTTP status code is not handled or not allowed 2026-01-27 21:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-ada-partition-door-35-5-8in-w-x-58in-h-almond>: HTTP status code is not handled or not allowed 2026-01-27 21:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-zone-shadow-board-red-white-68-x-30-aluminum-sb109al>: HTTP status code is not handled or not allowed 2026-01-27 21:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-zone-shadow-board-combo-kit-blue-black-68-x-30-alum-composite-panel-sbk132acp>: HTTP status code is not handled or not allowed 2026-01-27 21:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-truck-1-1-2-retaining-lip-3600-lbs-tubular-steel-sides-30-x-48-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-tl238-suregrip-test-lead-set-high-energy-environments>: HTTP status code is not handled or not allowed 2026-01-27 21:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-shelf-truck-6-wheeled-3600-lbs-2-flush-shelves-30-x-60>: HTTP status code is not handled or not allowed 2026-01-27 21:41:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 21:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rt-extra-thick-expandable-foam-bags-60-18w-x-24l-blue-104pack>: HTTP status code is not handled or not allowed 2026-01-27 21:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cantilever-bar-rack-4000-lbs-capacity-30-x-60-base-8-phenolic-wheels>: HTTP status code is not handled or not allowed 2026-01-27 21:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-175-true-rms-digital-multimeter-6-000-count>: HTTP status code is not handled or not allowed 2026-01-27 21:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-179-eda-ii-electronics-multimeter-deluxe-accessory-combo-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-96-l-x-9-16-dia-white>: HTTP status code is not handled or not allowed 2026-01-27 21:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/analog-thermostat-f105108-with-32-cable>: HTTP status code is not handled or not allowed 2026-01-27 21:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-foam-shippers-10w-x-12l-x-2-34d-pinkwhite-24pack>: HTTP status code is not handled or not allowed 2026-01-27 21:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500-1999-inventory-tag-2-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-27 21:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-48-l-x-3-w-x-1-2-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-27 21:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-gallon-combination-drain-evacuator-3639>: HTTP status code is not handled or not allowed 2026-01-27 21:41:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/mobile_automotive_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-cut-off-wheel-4-1-2-x-045-x-7-8-t27-ceramic-grain>: HTTP status code is not handled or not allowed 2026-01-27 21:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clay-desiccant-bags-1w-x-3-12l-x-14d-white-700-packs>: HTTP status code is not handled or not allowed 2026-01-27 21:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calibrated-dual-zone-electronic-thermometer-40-70c-40-158f-external>: HTTP status code is not handled or not allowed 2026-01-27 21:41:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8000-8499-wired-inventory-tag-3-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-27 21:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-block-incubator-liquid-in-glass-thermometer-0-to-70c-safety-coated-150mm-immersion>: HTTP status code is not handled or not allowed 2026-01-27 21:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-over-cover-for-ultra-275-containment-sump-360-gallon-capacity-models-only>: HTTP status code is not handled or not allowed 2026-01-27 21:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-4w-8l-1-ply-endless-poly-flat-web-sling>: HTTP status code is not handled or not allowed 2026-01-27 21:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2500-2999-inventory-tag-2-part-carbonless-stub-style>: HTTP status code is not handled or not allowed 2026-01-27 21:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-pop-up-pool-66-gallon-capacity-economy-style>: HTTP status code is not handled or not allowed 2026-01-27 21:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-cs120-2-20-amp-120-277-volt-toggle-single-pole-ac-quiet-switch-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/mobile_automotive_workbenches>: HTTP status code is not handled or not allowed 2026-01-27 21:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-4w-12l-2-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-27 21:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-esd-safe-divider-box-22-1332l-x-17-1332w-x-5h>: HTTP status code is not handled or not allowed 2026-01-27 21:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-4-x-2-5-8-6-yellow-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-27 21:41:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories landed on page that is not a product page. 2026-01-27 21:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-600-ho-sdi-593cc-snowmobile-battery-2004-3-5-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-27 21:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-14605gz-60w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 21:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suzuki-lt-f250-ozark-250cc-atv-battery-2002-2016-10-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-27 21:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-max-gtx14-bs-battery-12-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-27 21:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-dark-blue-wired-tag>: HTTP status code is not handled or not allowed 2026-01-27 21:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-calibrated-elec-verification-lollipop-stem-thermometer-0-70c-32-158f>: HTTP status code is not handled or not allowed 2026-01-27 21:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-4w-18l-2-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-27 21:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-21606gz-60w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-plastic-cabinet-drawer-2-3-4w-x-11d-x-2-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 21:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-18725gz-72w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 21:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-24-l-x-1-5-8-id-x-1-3-4-od-white>: HTTP status code is not handled or not allowed 2026-01-27 21:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-96-x-36-adj-height-workbench-w-drawer-riser-bk-plastic-laminate-square-top>: HTTP status code is not handled or not allowed 2026-01-27 21:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70h-double-sided-floor-stand-with-288-drawer-interlocking-storage-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 21:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-advanced-classroom-training-table-30-x-48-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 21:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-advanced-classroom-training-table-30-x-36-folkstone>: HTTP status code is not handled or not allowed 2026-01-27 21:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-cart-high-viscosity>: HTTP status code is not handled or not allowed 2026-01-27 21:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-wire-shipping-tags>: HTTP status code is not handled or not allowed 2026-01-27 21:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20021 pages (at 98 pages/min), scraped 7955 items (at 32 items/min) 2026-01-27 21:41:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-calibrated-dual-zone-elec-verification-thermometer-50-70c-58-158f-0-50c-32-122f>: HTTP status code is not handled or not allowed 2026-01-27 21:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flaskup-polypropylene-flask-holders-for-100ml-round-bottom-flasks-3pk>: HTTP status code is not handled or not allowed 2026-01-27 21:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-48-l-x-6-w-x-1-2-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-27 21:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-square-hook-pair-hdpe-with-structural-foam>: HTTP status code is not handled or not allowed 2026-01-27 21:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/discharge-nozzle-automatic>: HTTP status code is not handled or not allowed 2026-01-27 21:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-piece-outdoor-dining-set-36width-x-29height-table-white-with-white-frame>: HTTP status code is not handled or not allowed 2026-01-27 21:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-galvanized-steel-linen-cart-with-nylon-cover-4-shelves-60-l-x-24-w-x-80-h>: HTTP status code is not handled or not allowed 2026-01-27 21:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-12-l-x-6-w-x-1-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-27 21:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-28-x-22-x-16-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw16guu-op-open-linear-bearing-wresin-retainer-and-seals-1id-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-24-l-x-7-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-27 21:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw12gw-dble-wide-closed-linear-bearing-wresin-retainer-34id-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw32gwuu-self-aligning-closed-linear-bearing-wresin-retainer-2id-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-8-16-x-6-threaded-rod-zinc-plated-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-aluminum-topside-w-t-handle-16x13x88>: HTTP status code is not handled or not allowed 2026-01-27 21:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-sheet-96-l-x-48-w-x-1-4-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-27 21:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-finned-strip-240v-t4-14l-1100w>: HTTP status code is not handled or not allowed 2026-01-27 21:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-x-6-orange-packing-list-enclosed-panel-face>: HTTP status code is not handled or not allowed 2026-01-27 21:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-x-5-1-2-blue-packing-list-enclosed-full-face>: HTTP status code is not handled or not allowed 2026-01-27 21:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-aluminum-mailbox-without-pole-8w-x-21d-x-11h-mailbox-dim>: HTTP status code is not handled or not allowed 2026-01-27 21:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-3-w-x-2-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 21:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-57c-tag-closed-tester-low-range-20-to-50c>: HTTP status code is not handled or not allowed 2026-01-27 21:42:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-steel-immersion-2-180d-3000w-240v>: HTTP status code is not handled or not allowed 2026-01-27 21:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-12-l-x-12-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 21:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-support-rack-22cm-and-longer-12-places-9-1-2-x-7-x-11-1-2-polyethylene>: HTTP status code is not handled or not allowed 2026-01-27 21:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/102236-temporary-pavement-marker-4-x-4-white-1-slide>: HTTP status code is not handled or not allowed 2026-01-27 21:42:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-12-2-mil-reclosable-poly-bags-w-hang-hole>: HTTP status code is not handled or not allowed 2026-01-27 21:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xbu02pt-x2-36v-blower-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-toilet-plunger-black>: HTTP status code is not handled or not allowed 2026-01-27 21:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-cocktail-table-with-30-and-42-leg-columns-birchwood-top>: HTTP status code is not handled or not allowed 2026-01-27 21:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-30w-x-14d-x-14h-1-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 21:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-basket-4-x-23-for-cleanware-pipette-rinsing-system>: HTTP status code is not handled or not allowed 2026-01-27 21:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-27 21:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-horizon-glass-half-glass-doors-26w-hr1-1g>: HTTP status code is not handled or not allowed 2026-01-27 21:42:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worktop-refrigerator-drawers-wtrd-29d-46w-wtrd46a-2>: HTTP status code is not handled or not allowed 2026-01-27 21:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-6-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 21:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/catheter-procedure-cart-24-l-x-60-w-x-68-h>: HTTP status code is not handled or not allowed 2026-01-27 21:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-27 21:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelf-additional-level-54w-x-24d-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 21:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-black-ep-18-w-x-48-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-27 21:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-18-4-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 21:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en5631-technopolymer-thandle-wthreaded-stud-mm-diameter-40mm-length-1420>: HTTP status code is not handled or not allowed 2026-01-27 21:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/itm-34-17-sds-max>: HTTP status code is not handled or not allowed 2026-01-27 21:42:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-1-w-x-3-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 21:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wire-shelves-utility-cart-silver-ep-21-w-x-42-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-27 21:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-42w-x-14d-x-63h-4-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 21:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wire-shelves-utility-cart-2-casters-w-brakes-chrome-21-w-x-36-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-27 21:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-wire-shelving-unit-black-ep-18-w-x-42-l-x-86-h>: HTTP status code is not handled or not allowed 2026-01-27 21:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/school-milk-coolers-sm-58-1-2w-sm58n>: HTTP status code is not handled or not allowed 2026-01-27 21:42:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-black-ep-24-w-x-48-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-27 21:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-pfa-safety-coated-liquid-in-glass-thermometer-0-to-230f-total-immersion>: HTTP status code is not handled or not allowed 2026-01-27 21:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-48-l-x-24-w-x-1-3-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 21:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-48-30-basis-weight-kra-paper-sheets>: HTTP status code is not handled or not allowed 2026-01-27 21:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-60-basis-weight-bogus-kra-paper>: HTTP status code is not handled or not allowed 2026-01-27 21:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-20lb-paper-bag-40lb-kraft-brown-8-1-4-x-5-5-16-x-16-1-8-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-horizon-solid-half-solid-doors-52w-hrs2-1s>: HTTP status code is not handled or not allowed 2026-01-27 21:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-12-l-x-4-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 21:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-buchner-table-top-funnel-with-coarse-porosity-removable-plate-18-id-115h>: HTTP status code is not handled or not allowed 2026-01-27 21:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-5ft-nylon-us-flag-set-with-6ft-aluminum-pole>: HTTP status code is not handled or not allowed 2026-01-27 21:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-12u-corner-wall-mount-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 21:42:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 21:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-6u-hinged-wall-rack>: HTTP status code is not handled or not allowed 2026-01-27 21:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-calibrated-liquid-in-glass-thermometer-10-to-70c-76mm-immersion>: HTTP status code is not handled or not allowed 2026-01-27 21:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rugged-case-first-aid-responder-kit-with-aed>: HTTP status code is not handled or not allowed 2026-01-27 21:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-protective-product-sj5514-square-0-812-w-x-0-520-l-gray-pkg-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 21:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-5-w-x-3-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 21:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dr420-drum-unit-12000-pageyield-black-oem-005>: HTTP status code is not handled or not allowed 2026-01-27 21:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-30w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20114 pages (at 93 pages/min), scraped 7977 items (at 22 items/min) 2026-01-27 21:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-60w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-in-dehumidifier-control-120v-15a-analog-30-90-relative-humidity>: HTTP status code is not handled or not allowed 2026-01-27 21:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-40es-spherical-plain-bearing-metric>: HTTP status code is not handled or not allowed 2026-01-27 21:42:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gear-driven-rotary-tiller-implement-w-adjustable-feet-cat-1>: HTTP status code is not handled or not allowed 2026-01-27 21:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05-901-outdoor-chili-mac-with-beef-2-servings-pouch-6-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-electric-baseboard-convection-heater-48-l-120v>: HTTP status code is not handled or not allowed 2026-01-27 21:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-electric-baseboard-convection-heater-48-l-277-240v>: HTTP status code is not handled or not allowed 2026-01-27 21:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-skid-steer-mount-tractor-attachment>: HTTP status code is not handled or not allowed 2026-01-27 21:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-1400-1620-specific-gravity-combined-form-thermo-hydrometer>: HTTP status code is not handled or not allowed 2026-01-27 21:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-poly-corner-stall-feeder-with-bottom-drain-30-from-corner>: HTTP status code is not handled or not allowed 2026-01-27 21:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-54w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geg-32es-spherical-plain-bearing-metric-extended-inner-ring>: HTTP status code is not handled or not allowed 2026-01-27 21:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poxygrid-aluminum-microliter-pipettor-rack-for-gilson-pipetman-for-desktop-storage>: HTTP status code is not handled or not allowed 2026-01-27 21:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups>: HTTP status code is not handled or not allowed 2026-01-27 21:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6826-btu-fan-forced-wall-heater-without-summer-fan-switch-277v-1>: HTTP status code is not handled or not allowed 2026-01-27 21:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13648-btu-fan-forced-wall-heater-without-summer-fan-switch-208v-6>: HTTP status code is not handled or not allowed 2026-01-27 21:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-disposable-plastic-pestle-3-1-2-100pk>: HTTP status code is not handled or not allowed 2026-01-27 21:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6826-btu-institutional-wall-convector-480v>: HTTP status code is not handled or not allowed 2026-01-27 21:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-72w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-holder-clamps-for-pirack-polypropylene-pipettor-holder-system-2pk>: HTTP status code is not handled or not allowed 2026-01-27 21:43:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-general-purpose-polyethylene-tray-with-faucet-17-1-2-x-23-1-2-x-6>: HTTP status code is not handled or not allowed 2026-01-27 21:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-vented-labeled-2-color-isopropanol-wm-wash-bottles-250ml-8oz-pe-w-ylw-cap-3pk>: HTTP status code is not handled or not allowed 2026-01-27 21:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-rare-earth-teflon-octagon-magnetic-stirring-bar-510-x-095cm-green>: HTTP status code is not handled or not allowed 2026-01-27 21:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geh-6c-spherical-plain-bearing-metric-heavy-series-maintenance-free>: HTTP status code is not handled or not allowed 2026-01-27 21:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-sheet-24-l-x-12-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 21:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/space-saver-polycarbonate-polypropylene-desiccator-020-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 21:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sv2z-economy-class-2-mesh-safety-vest-with-zipper-hi-viz-orange-m>: HTTP status code is not handled or not allowed 2026-01-27 21:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/space-saver-polycarbonate-polypropylene-desiccator-031-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 21:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stor-drawer-letter-box-14w-x-25-1-2d-x-11-1-2h-white-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:43:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/stainless_steel_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-90es-2rs-spherical-plain-bearing-metric-sealed>: HTTP status code is not handled or not allowed 2026-01-27 21:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-12-l-x-5-8-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 21:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppe-organizer-wall-mountable-60-w-x-9-d-x-25-h-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-guard-rail-wire-mesh-bolt-on-kit-72-l>: HTTP status code is not handled or not allowed 2026-01-27 21:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-72w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secador-clear-40-horizontal-auto-desiccator-cabinet-230v-19-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 21:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-ring-set-2>: HTTP status code is not handled or not allowed 2026-01-27 21:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secador-auto-desiccator-module-desiccant-silica-replacement-beads-26-grams>: HTTP status code is not handled or not allowed 2026-01-27 21:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buffing-pad-02648-3-1-4>: HTTP status code is not handled or not allowed 2026-01-27 21:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-17-inch-union-mix-scrub-brush>: HTTP status code is not handled or not allowed 2026-01-27 21:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/stainless_steel_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-27 21:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-2-1-2-w-x-3-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 21:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secador-clear-40-horizontal-profile-gas-purge-desiccator-cabinet-19-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 21:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/removable-steel-bollard-with-removable-rubber-cap-42-x-4-1-2>: HTTP status code is not handled or not allowed 2026-01-27 21:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-36w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-tilt-truck-with-fork-li-pockets-1-cubic-yard-1250-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-27 21:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cejn-series-208-star-tip-20-tube>: HTTP status code is not handled or not allowed 2026-01-27 21:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9600-45-12-inch-or-16-inch-diameter-duct-storage-bag>: HTTP status code is not handled or not allowed 2026-01-27 21:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-16028-coupler-38-body-size-38-npt-female>: HTTP status code is not handled or not allowed 2026-01-27 21:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinvane-teflon-triangular-magnetic-stirring-bar-56-x-96-x-48mm-fits-1-ml-vials-white>: HTTP status code is not handled or not allowed 2026-01-27 21:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-sheet-48-l-x-24-w-x-1-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 21:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mud-chucker-black-2-3-16x12-3-8>: HTTP status code is not handled or not allowed 2026-01-27 21:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-fatigue-rejuvenator-urethane-tile-matting-tile-black-5-8-thick-36x36>: HTTP status code is not handled or not allowed 2026-01-27 21:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-tape-1-x-72yds-3-core-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-720-l-x-16-w-x-1-8-thick-black-fabric-reinforced-60a>: HTTP status code is not handled or not allowed 2026-01-27 21:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lateral-file-cabinet-white-studio-c-series>: HTTP status code is not handled or not allowed 2026-01-27 21:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-partition-flexible-five-panel-vinyl-6>: HTTP status code is not handled or not allowed 2026-01-27 21:43:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-304-stainless-steel-locker-12w-x-18d-x-78h-six-tier-3-wide-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 21:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-clear-flood-light-6-leds-1492125>: HTTP status code is not handled or not allowed 2026-01-27 21:43:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-micro-flea-magnetic-stirring-bar-8-x-15mm-white>: HTTP status code is not handled or not allowed 2026-01-27 21:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-amber-clear-strobe-light-10-30vdc-12-leds-8891602>: HTTP status code is not handled or not allowed 2026-01-27 21:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-16-gauge-heavy-duty-classic-duratough-storage-cabinet-48w-x-24d-x-60h>: HTTP status code is not handled or not allowed 2026-01-27 21:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recyclockout-lockout-tagout-station-plug-lockout-7117>: HTTP status code is not handled or not allowed 2026-01-27 21:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-12w-x-15d-x-36h-unassembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-27 21:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-16-1-2-x-36-x-17-1-2-red>: HTTP status code is not handled or not allowed 2026-01-27 21:43:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-24245b-24w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 21:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-button-lockout-electrical-panels-7253>: HTTP status code is not handled or not allowed 2026-01-27 21:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-1-w-x-3-16-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 21:43:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 21:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thin-jewel-cases-clear-black-25-per-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recyclockout-lockout-tagout-forklift-propane-tank-recycled-plastic-7293>: HTTP status code is not handled or not allowed 2026-01-27 21:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recyclockout-lockout-tagout-small-plug-lockout-recycled-plastic-7105>: HTTP status code is not handled or not allowed 2026-01-27 21:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20206 pages (at 92 pages/min), scraped 7996 items (at 19 items/min) 2026-01-27 21:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/180002-scr-3-relay-std-screw-terminals-rd>: HTTP status code is not handled or not allowed 2026-01-27 21:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-polypropylene-utility-tray-18-x-18-x-4>: HTTP status code is not handled or not allowed 2026-01-27 21:43:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_trays landed on page that is not a product page. 2026-01-27 21:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-adder-1-wide-12w-x-15d-x-36h-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-360-l-x-36-w-x-1-4-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-27 21:44:00 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 21:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-to-1-1-4-hold-range-2-in-proj-vinyl-dipped-ss-extended-spring-clip-for-ss-locboard-3-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:44:01 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:8 2026-01-27 21:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-36-w-x-3-8-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-27 21:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-12w-x-15d-x-30h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-1-2w-x-11h-injection-molded-styrene-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:44:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-plastic-square-edge-mobile-lab-bench>: HTTP status code is not handled or not allowed 2026-01-27 21:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-36-plastic-safety-mobile-lab-bench>: HTTP status code is not handled or not allowed 2026-01-27 21:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-three-way-fluoroplastic-stopcock-for-6mm-tubing-4mm-bore>: HTTP status code is not handled or not allowed 2026-01-27 21:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-sampling-scoop-83ml-27oz-sterile-plastic-individually-wrapped-50pk>: HTTP status code is not handled or not allowed 2026-01-27 21:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trp1-geopak-outdoor-wallpack-w-photocontrol-15w-1500l-4000k-type-3-dist-dk-bronze>: HTTP status code is not handled or not allowed 2026-01-27 21:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-w-push-trolley-1-4-ton-10-lift-33-5-5-ft-min-115v>: HTTP status code is not handled or not allowed 2026-01-27 21:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-2l3k-1-wh-led-floodlight-w-occ-sensor-26-6w-2100l-3000k-120v-white>: HTTP status code is not handled or not allowed 2026-01-27 21:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyurethane-roll-1200-l-x-30-w-x-3-16-thick-black-low-compression>: HTTP status code is not handled or not allowed 2026-01-27 21:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-steel-skirt-hanger-w-loop-hook-chrome>: HTTP status code is not handled or not allowed 2026-01-27 21:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-360-l-x-36-w-x-3-32-thick-black-high-strength-80a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-27 21:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/campbell-hausfeld-af010400-inflator-with-safety-light-12vdc-150-psi-31-hose>: HTTP status code is not handled or not allowed 2026-01-27 21:44:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 21:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-stirring-rod-8-plastic-6pk>: HTTP status code is not handled or not allowed 2026-01-27 21:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blind-flange-lockout-device-medium-s3923>: HTTP status code is not handled or not allowed 2026-01-27 21:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truncated-style-acid-solvent-bottle-carrier-holds-one-4-liter-1-gallon-bottle-pp>: HTTP status code is not handled or not allowed 2026-01-27 21:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-fiberglass-step-ladder-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/CVT-3024-30-W-x-24-D-16-ga-Stainless-Steel-Workbench-w-Shelf>: HTTP status code is not handled or not allowed 2026-01-27 21:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-attach-polymagnet-rectangular-rare-earth-magnet-0-12-thick-x-1-50-w-x-1-50-l>: HTTP status code is not handled or not allowed 2026-01-27 21:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-double-sided-starter-unit-5>: HTTP status code is not handled or not allowed 2026-01-27 21:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-3-wide-12w-x-18d-x-18h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-27 21:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comp-ez-tee-adapter-3-8-female-comp-x-3-8-od-x-3-8-od>: HTTP status code is not handled or not allowed 2026-01-27 21:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-w-shoulder-4-40-3-8-thread-3-8-head-dia-steel-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-27 21:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-single-sided-starter-unit-extra-6>: HTTP status code is not handled or not allowed 2026-01-27 21:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-metal-wristband-09041-black>: HTTP status code is not handled or not allowed 2026-01-27 21:44:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-1-wide-12w-x-18d-x-15h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:44:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-15w-x-18d-x-36h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-1-wide-12w-x-12d-x-15h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-27 21:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-4320-l-x-36-w-x-1-2-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-27 21:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-60x48-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:44:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/garment_supplies/hangers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-72x36-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 21:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curved-glass-deli-case-with-rear-storage-60w-x-43-38d-x-47-14h>: HTTP status code is not handled or not allowed 2026-01-27 21:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-1717-96-midnight-countertop-trash-bin-5-inch-w-x-5-inch-d-x-7-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 21:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-one-bay-12>: HTTP status code is not handled or not allowed 2026-01-27 21:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-1714-96-midnight-coffee-condiment-organizer-12-inch-w-x-12-inch-d-x-5-1-2-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 21:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-40-winterized-insert-for-6400-series-14-l-x-36-w-x-3-h>: HTTP status code is not handled or not allowed 2026-01-27 21:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-27 21:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-94dv2g-n5-division-2-xenon-strobe-green-120v-ac>: HTTP status code is not handled or not allowed 2026-01-27 21:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-40-3-gauge-vinyl-taffeta-w-window-zipper-white-w-white-trim>: HTTP status code is not handled or not allowed 2026-01-27 21:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-1440-l-x-36-w-x-3-8-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-27 21:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-1440-l-x-36-w-x-3-8-thick-black-high-strength-80a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-27 21:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/220-ac-dc-tig-welder-amptrol-package-120-230v-5-220a-60hz-green>: HTTP status code is not handled or not allowed 2026-01-27 21:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/garment_supplies/hangers>: HTTP status code is not handled or not allowed 2026-01-27 21:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledmg120a-smd-multi-mode-led-module-and-light-source-green-120v-ac>: HTTP status code is not handled or not allowed 2026-01-27 21:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-petg-tube-72-l-x-3-4-id-x-1-od-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-one-bay-7>: HTTP status code is not handled or not allowed 2026-01-27 21:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4w-x-9h-injection-molded-styrene-countertop-literature-holder-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a0068-muffler-insert-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-economy-metal-bookends-black-enamel>: HTTP status code is not handled or not allowed 2026-01-27 21:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30623-flat-head-screw-m4-x-07-mm-10mm-lg-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-bookends-6w-x5d-x7h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charleston-adirondack-rocking-chair-white>: HTTP status code is not handled or not allowed 2026-01-27 21:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4308t-4-40-hp-1190-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-j20-53-7425j-153-polypropylene-label-0-5-h-x-2-w-2000-roll-white>: HTTP status code is not handled or not allowed 2026-01-27 21:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-j20c-4000-2569-153-polyester-label-4-0-w-x-100-l-white>: HTTP status code is not handled or not allowed 2026-01-27 21:44:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30649-safety-lever-assembly-set-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ventilation-motor-1-20-hp-1550-rpm-115v-tefc>: HTTP status code is not handled or not allowed 2026-01-27 21:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cjl1317a-2-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:44:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulating-varnish-green>: HTTP status code is not handled or not allowed 2026-01-27 21:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270fg1248d-incandescentled-bulb-module-green-12-48v-dc>: HTTP status code is not handled or not allowed 2026-01-27 21:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cjm3120-11-2-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-cement-clear-medium-bodied-1-qt>: HTTP status code is not handled or not allowed 2026-01-27 21:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20299 pages (at 93 pages/min), scraped 8018 items (at 22 items/min) 2026-01-27 21:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3770t-4-7-5-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-27 21:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urinal-gasket>: HTTP status code is not handled or not allowed 2026-01-27 21:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270sa12240ad-incandescentled-bulb-module-amber-12-240v-acdc>: HTTP status code is not handled or not allowed 2026-01-27 21:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-27 21:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-fabric-table-cover-open-sided-blue-six-feet>: HTTP status code is not handled or not allowed 2026-01-27 21:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3771t-10-hp-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4107t-4-25-hp-3530-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-248ledmw120a-48-mm-led-stacklight-module-white-120v-ac>: HTTP status code is not handled or not allowed 2026-01-27 21:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-v-jaw-dual-material-tongue-groove-pliers>: HTTP status code is not handled or not allowed 2026-01-27 21:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledg12v-led-bulb-green-12v>: HTTP status code is not handled or not allowed 2026-01-27 21:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adhesive-transfer-tape-950-2-x-60-yds-8-5-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-5540m-24aq-tone-generator-24v-input-24v-acdc-power>: HTTP status code is not handled or not allowed 2026-01-27 21:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-tape-8991-2-x-72-yds-2-4-mil-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledsw120a-smd-steady-led-module-and-light-source-white-120v-ac>: HTTP status code is not handled or not allowed 2026-01-27 21:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-and-3-8-drive-sae-metric-mechanics-tool-set-of-121-pieces>: HTTP status code is not handled or not allowed 2026-01-27 21:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unitilt-single-scissor-li-tilt-table-4>: HTTP status code is not handled or not allowed 2026-01-27 21:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-tongue-groove-pliers-with-dual-material-handle>: HTTP status code is not handled or not allowed 2026-01-27 21:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-24-inch-d-x-84-inch-h-3-levels-starter-w-wood-decking-black>: HTTP status code is not handled or not allowed 2026-01-27 21:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-coated-tape-9589-3-4-x-36-yds-12-7-mil-white>: HTTP status code is not handled or not allowed 2026-01-27 21:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rug-ram-carpet-pole-carriage-mounted-120-l-1>: HTTP status code is not handled or not allowed 2026-01-27 21:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ventilation-motor-1-25-hp-1550-rpm-115v-oao-3-3-frame>: HTTP status code is not handled or not allowed 2026-01-27 21:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-96wx48dx84h-4-levels-starter-no-decking-1400-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-master-carton-600-pair-hygenx-sanitary-headphone-covers-for-over-ear-headsets>: HTTP status code is not handled or not allowed 2026-01-27 21:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-3000-rpm-115v-oao-1-8-fl-amps>: HTTP status code is not handled or not allowed 2026-01-27 21:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-view-plus-locker-w-digitech-locks-12x12x12-4-person-parchment-assembled>: HTTP status code is not handled or not allowed 2026-01-27 21:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s90-series-manual-chain-hoist-1-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-deck-cart-2>: HTTP status code is not handled or not allowed 2026-01-27 21:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-single-phase-tefc-motor-7-1-2-hp-3465-rpm-208-230v-tefc>: HTTP status code is not handled or not allowed 2026-01-27 21:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l100-series-manual-chain-hoist-w-overload-protection-3-ton15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 21:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pt-series-heavy-duty-manual-trolley-2200-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-anfl3507m-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-premium-photo-paper-11-3-4in-x-16-1-2in-white-50-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-3000-rpm-120v-ofc>: HTTP status code is not handled or not allowed 2026-01-27 21:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charging-hose-hav-60-red-hose>: HTTP status code is not handled or not allowed 2026-01-27 21:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cd5319-1-00-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-broom-cabinet-48-w-x-24-d-x-75-h-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-and-blower-1-hp-1725-rpm-115-208-230v-odp-56z-frame>: HTTP status code is not handled or not allowed 2026-01-27 21:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-3000-rpm-208-230v-oao-0-58-0-60-fl-amps>: HTTP status code is not handled or not allowed 2026-01-27 21:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-aluminum-aluminum-eggcrate-1>: HTTP status code is not handled or not allowed 2026-01-27 21:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-5-32-tube-x-1-4-nptf-1-l>: HTTP status code is not handled or not allowed 2026-01-27 21:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparco-4-digit-desktop-tally-counter-with-base>: HTTP status code is not handled or not allowed 2026-01-27 21:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cem3660t-5-3-hp-3460-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multifunction-mesh-back-office-chair>: HTTP status code is not handled or not allowed 2026-01-27 21:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cem4316t-75-hp-1780-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-cable-lock-60l-no-8109d>: HTTP status code is not handled or not allowed 2026-01-27 21:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-5mm-tube-1-2-7-l>: HTTP status code is not handled or not allowed 2026-01-27 21:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cewdm41906t-20-hp-3520-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyolefin-brush-1-1-2>: HTTP status code is not handled or not allowed 2026-01-27 21:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-indus-wrk-shirt-shrt-slv-lght-blue-l-sp24>: HTTP status code is not handled or not allowed 2026-01-27 21:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cd6219-1-00-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-bulkhead-1-4-tube-1-3-8-l>: HTTP status code is not handled or not allowed 2026-01-27 21:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-60wx24dx84h-4-levels-add-on-no-decking-600-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cesswdm3613t-5-hp-3480-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-indus-wrk-shirt-lng-slv-dark-blue-reg-l-sp14>: HTTP status code is not handled or not allowed 2026-01-27 21:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-6-hp-1110-rpm-208-230v-teao>: HTTP status code is not handled or not allowed 2026-01-27 21:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-wrnkl-resist-ctn-wrk-shirt-shrt-slv-l-dark-navy-sc40-sc40dnssl>: HTTP status code is not handled or not allowed 2026-01-27 21:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-tire-storage-shelving-60-inch-w-x-21-inch-d-x-144-inch-h-5-levels-starter-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-cantilever-steel-shelf-uprights-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-tier-starter-unit-36-w-x-21-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-27 21:45:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-tefc-motor-15-hp-1775-rpm-230-460v-tefc>: HTTP status code is not handled or not allowed 2026-01-27 21:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-4-shelves-36-w-x-24-d-x-75-h-white>: HTTP status code is not handled or not allowed 2026-01-27 21:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toolbox-z600-white-jumbo-roll-1100-sheets-roll-1-roll-case-60307>: HTTP status code is not handled or not allowed 2026-01-27 21:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-5-32-tube-x-10-32-ml-1-2-7-l>: HTTP status code is not handled or not allowed 2026-01-27 21:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-cabinet-with-6-drawers-48-w-x-24-d-x-75-h-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-tier-starter-unit-24-w-x-21-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-27 21:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20397 pages (at 98 pages/min), scraped 8050 items (at 32 items/min) 2026-01-27 21:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-female-swivel-elbow-5-32-tube-x-1-4-nptf-2-3-l>: HTTP status code is not handled or not allowed 2026-01-27 21:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-full-width-rod-60-w-x-24-d-x-75-h-beige>: HTTP status code is not handled or not allowed 2026-01-27 21:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-s-hook-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interfolded-foil-sheets-2>: HTTP status code is not handled or not allowed 2026-01-27 21:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-polymer-shelf-with-solid-mat-42-w-x-21-d>: HTTP status code is not handled or not allowed 2026-01-27 21:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-3-hp-1075-rpm-115v-oao-rolled-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:46:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors landed on page that is not a product page. 2026-01-27 21:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-extended-8mm-tube-x-1-8-ml-bspp-8-9-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-mechanical-sweeper-floor-carpet>: HTTP status code is not handled or not allowed 2026-01-27 21:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-1-8-tube-x-1-8-swift-fit-universal-thread-2-3-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-valve-flow-screw-adjustment-10-32-fm-nptf-x-10-32-male-unf-3-4-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-4-hp-1075-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-27 21:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-door-outdoor-letterboard-42-x-32-x-2>: HTTP status code is not handled or not allowed 2026-01-27 21:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ir3507m-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-reducer-6mm-stud-x-5mm-tube-1-1-4-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-6mm-tube-x-1-4-swift-fit-universal-thread-5-6-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-deluxe-carry-caddy>: HTTP status code is not handled or not allowed 2026-01-27 21:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-l-x-8-1-4-w-x-7-h-ultra-series-stack-and-hang-bin-red-polyethylene-4-slots>: HTTP status code is not handled or not allowed 2026-01-27 21:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-60wx36dx84h-4-levels-add-on-no-decking-2000-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-16-w-x-25-h-x-1-d-12-ctn>: HTTP status code is not handled or not allowed 2026-01-27 21:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-ball-valve-1-8-male-x-5-32-tube-1-3-8-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idvsnm3665t-5-hp-6200-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-hc-15-w-x-20-h-x-2-d-12-ctn>: HTTP status code is not handled or not allowed 2026-01-27 21:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-pre-configured-wire-shelving-spill-containment-system-48-w-x-24-d-x-84-h-add-on-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1706t-2-1-hp-1725-850-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/li-off-dry-erase-board-cleaner-wipes>: HTTP status code is not handled or not allowed 2026-01-27 21:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-5-32-tube-x-1-8-ml-1-1-3-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-1-8-tube-x-1-8-swift-fit-universal-thread-2-3-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/raid-wasp-hornet-killer>: HTTP status code is not handled or not allowed 2026-01-27 21:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bassinet-kit-with-open-shelves-includes-bassinet-basket-w-cardholder-and-mattress-pad>: HTTP status code is not handled or not allowed 2026-01-27 21:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/formula-409-cleaner-degreaser-disinfectant-1>: HTTP status code is not handled or not allowed 2026-01-27 21:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-ton-heavy-duty-jack-stands-with-adjustable-top-1-pair-14405>: HTTP status code is not handled or not allowed 2026-01-27 21:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-reflective-roll-up-vinyl-sign-men-working-symbol>: HTTP status code is not handled or not allowed 2026-01-27 21:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-36-reflective-roll-up-vinyl-sign-right-lane-closed-ahead>: HTTP status code is not handled or not allowed 2026-01-27 21:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-deck-for-rivetwell-48-inch-w-x-18-inch-d-x-1-4-inch-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-deck-for-rivetwell-36-inch-w-x-36-inch-d-x-1-4-inch-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-3-reflective-reboundable-delineator-round-white>: HTTP status code is not handled or not allowed 2026-01-27 21:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-grabber-reflective-delineator-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-floor-pads-white-15>: HTTP status code is not handled or not allowed 2026-01-27 21:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-second-nested-instrument-table-on-casters-stainless-steel-44-l-x-40-w-x-22-h>: HTTP status code is not handled or not allowed 2026-01-27 21:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-shop-ticket-holder-9-x-12-15-bx>: HTTP status code is not handled or not allowed 2026-01-27 21:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-cleer-adheer-laminating-film-clear-4-x-5-4-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badge-holder-adaptor-w-bulldog-clip-25-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1204t-1-25-hp-1725-850-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/78149-anti-slip-black-yellow-striped-tape-roll-4-inches-by-60-feet>: HTTP status code is not handled or not allowed 2026-01-27 21:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-gsl3509m-1-5-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-track-steel-floor-conveyor-2-roller-lanes-8-l-8000-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-knob-adjustment-3mm-tube-x-m5-swift-fit-universal-thread-3-4-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-screw-adjustment-1-2-tube-x-1-2-swift-fit-universal-thread-1-3-8-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minicade-barricade-sign-stand-36-h-with-2-panel-2-sheetings-3>: HTTP status code is not handled or not allowed 2026-01-27 21:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmp21-series-nylon-cloth-wire-cable-labels-1-2-w-x-16-l-black-white-m21-500-499>: HTTP status code is not handled or not allowed 2026-01-27 21:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-men-s-size-3-15-h-plain-toe-cleated-outsole-brown-upper-crepe-sole>: HTTP status code is not handled or not allowed 2026-01-27 21:46:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superfoam-antifatigue-mat-3-x4-5-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 21:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-knob-adjustment-1-4-tube-x-1-4-swift-fit-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-27 21:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3157t-2-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3664t-2-hp-1165-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b30-indoor-outdoor-industrial-vinyl-labels-yellow-b30c-1125-595-yl>: HTTP status code is not handled or not allowed 2026-01-27 21:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3546t-1-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-w-shelf-double-cantilever-steel-light-green-proform>: HTTP status code is not handled or not allowed 2026-01-27 21:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minicade-barricade-sign-stand-36-h-with-2-panels-no-sheeting-2>: HTTP status code is not handled or not allowed 2026-01-27 21:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/book-holder-9-l-x-2-d-steel-light-green-proform>: HTTP status code is not handled or not allowed 2026-01-27 21:46:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flt-etsi51-forkliftag-inspection-tag-2-sided-100-pkg-plastic-7inches-by-5-inches-blue-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engineer-grade-legend-parking-with-right-arrow-narrowcade-minicade>: HTTP status code is not handled or not allowed 2026-01-27 21:46:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels landed on page that is not a product page. 2026-01-27 21:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-w-shelf-single-cantilever-steel-light-green-proform>: HTTP status code is not handled or not allowed 2026-01-27 21:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-access-slant-shelf-chrome-wire-cart-with-8-blue-grid-containers-48-l-x-18-w-x-48-h>: HTTP status code is not handled or not allowed 2026-01-27 21:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20494 pages (at 97 pages/min), scraped 8081 items (at 31 items/min) 2026-01-27 21:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/752c-adhesive-transfer-tape-dispenser-for-3-4-and-1-2-wide-tape>: HTTP status code is not handled or not allowed 2026-01-27 21:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-first-aid-kit-205-piece-fabric-case>: HTTP status code is not handled or not allowed 2026-01-27 21:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g2-pvc-overshoe-size-xl-17-h-cleated-outsole-black-with-black-sole>: HTTP status code is not handled or not allowed 2026-01-27 21:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-baby-changing-table-cream-stainless-350lb-cap-surface-200-eh-08>: HTTP status code is not handled or not allowed 2026-01-27 21:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-laboratory-medical-glass-door-refrigerator-47-cu-ft-nswdr472wwg-0>: HTTP status code is not handled or not allowed 2026-01-27 21:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-buckle-ice-traction-12-overshoe-mens-sz-11-waterproof-vulcanized-rubber-blk>: HTTP status code is not handled or not allowed 2026-01-27 21:47:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices landed on page that is not a product page. 2026-01-27 21:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverall-front-zipper-bound-seams-yellow-md>: HTTP status code is not handled or not allowed 2026-01-27 21:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-straight-tube-100000-btu-40l>: HTTP status code is not handled or not allowed 2026-01-27 21:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-jacket-size-men-s-3xl-attached-hood-black>: HTTP status code is not handled or not allowed 2026-01-27 21:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverall-zipper-front-elastic-wrist-and-ankle-stormflap-serged-seam-yellow-lg>: HTTP status code is not handled or not allowed 2026-01-27 21:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-efm2539t-40-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm4108t-30-hp-3520-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-straight-tube-40000-btu-10l>: HTTP status code is not handled or not allowed 2026-01-27 21:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-knee-boot-men-s-size-6-15-h-steel-toe-cleated-outsole-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-ph-tankless-water-heater-32kw-480-277v-39a-wye-confg-neutral-required>: HTTP status code is not handled or not allowed 2026-01-27 21:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2528t-20-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2394t-15-hp-3520-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-sensitive-pipe-marker-natural-gas-1>: HTTP status code is not handled or not allowed 2026-01-27 21:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s19-2350p-thermostatic-valve-safety-73-gpm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-premium-pullover-hi-visibility-t-shirt-lime-polyester-sm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metalin-zipper-bag-18-x-24-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-natural-gas-4>: HTTP status code is not handled or not allowed 2026-01-27 21:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-crane-2200lb-fold-away-otc1819>: HTTP status code is not handled or not allowed 2026-01-27 21:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-sensitive-pipe-marker-high-pressure-steam-3>: HTTP status code is not handled or not allowed 2026-01-27 21:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-jacket-size-men-s-small-attached-hood-black>: HTTP status code is not handled or not allowed 2026-01-27 21:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-wall-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 21:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-oxygen-9>: HTTP status code is not handled or not allowed 2026-01-27 21:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-coverall-front-zipper-serged-seams-open-wrist-ankles-white-lg>: HTTP status code is not handled or not allowed 2026-01-27 21:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-natural-gas-5>: HTTP status code is not handled or not allowed 2026-01-27 21:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ehm3311t-7-5-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-hot-water-return-5>: HTTP status code is not handled or not allowed 2026-01-27 21:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemco-ductless-demonstration-hood-35-x-24-x-30>: HTTP status code is not handled or not allowed 2026-01-27 21:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-19in-clear-low-profile-strobe-for-narrow-grill-spacing-with-6-led-8892801>: HTTP status code is not handled or not allowed 2026-01-27 21:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-steam-supply-4>: HTTP status code is not handled or not allowed 2026-01-27 21:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-5-9-gauge-galvanized-barbed-staple-960-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-steam-supply-5>: HTTP status code is not handled or not allowed 2026-01-27 21:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-water-7>: HTTP status code is not handled or not allowed 2026-01-27 21:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-storm-sewer-6>: HTTP status code is not handled or not allowed 2026-01-27 21:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-psc3524a-1-2airover-hp-1625-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-7-16-construction-stapler>: HTTP status code is not handled or not allowed 2026-01-27 21:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-direction-arrow-17>: HTTP status code is not handled or not allowed 2026-01-27 21:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-acid-2>: HTTP status code is not handled or not allowed 2026-01-27 21:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-mvm3458c-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-131-21-degree-ring-galvanized-framing-nails-2000-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-economy-folding-screen-3-sections>: HTTP status code is not handled or not allowed 2026-01-27 21:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-economy-folding-screen-2-sections>: HTTP status code is not handled or not allowed 2026-01-27 21:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs30lmc-countertop-breast-milk-freezer-1-8-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 21:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acoustic-room-dividers-three-pack-misty-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-vent-cap-sidewall-vent>: HTTP status code is not handled or not allowed 2026-01-27 21:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-2-l-shape-flooring-cleats-1000-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gauge-1-1-2-brad-nail-2500-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vem3546-1-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-degree-coil-framing-nails-2-x-0-99-smooth-bright-3600-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-4-x-120-smooth-shank-28-degree-framing-nails-galvanized-2000-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24w-round-leather-ottoman-black-hercules-alon-series>: HTTP status code is not handled or not allowed 2026-01-27 21:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-smooth-shank-15-degree-coil-roofing-nails-7200-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-gauge-2-1-2-da-style-angled-finish-nail-2500-qty>: HTTP status code is not handled or not allowed 2026-01-27 21:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torq-set-8-insert-bit-x-1-tin-s2-modified-steel-titanium-nitride>: HTTP status code is not handled or not allowed 2026-01-27 21:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbis-lid-folding-bulk-shipping-container-32x30>: HTTP status code is not handled or not allowed 2026-01-27 21:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-rated-gloves-black-14-unlined-smooth-finish-beaded-class-0-11>: HTTP status code is not handled or not allowed 2026-01-27 21:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-3-welded-pipe-nipple-schedule-40-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20592 pages (at 98 pages/min), scraped 8116 items (at 35 items/min) 2026-01-27 21:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4725-rectangle-plastic-height-adjustable-activity-table-set-with-4-chairs-green>: HTTP status code is not handled or not allowed 2026-01-27 21:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-14-high-velocity-fan-wall-column-mount-115v>: HTTP status code is not handled or not allowed 2026-01-27 21:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vl3503-5-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-danger-chemical-storage-area-authorized-personnel-only-2>: HTTP status code is not handled or not allowed 2026-01-27 21:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-3-16-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peel-offs-for-sr-570-transparent-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:48:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ambidex-disposable-latex-industrial-grade-fully-textured-nonpowdered-xs>: HTTP status code is not handled or not allowed 2026-01-27 21:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-container-solid-wall-48x40x31-short-side-runners-yellow-1500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vl1313a-1-5-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-1-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-grain-goatskin-leather-nylon-protector-for-novax-gloves-orange-white-size-9>: HTTP status code is not handled or not allowed 2026-01-27 21:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vm3537-5-5-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:48:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-rated-gloves-14-l-unlined-smooth-finish-beaded-orange-class-2-size-10>: HTTP status code is not handled or not allowed 2026-01-27 21:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-2-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2004-o-6-all-plastic-crowd-control-barricade-w-rubber-feet-interlocking-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks>: HTTP status code is not handled or not allowed 2026-01-27 21:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torq-set-1-4-power-bit-x-1-1-4-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-27 21:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sds-maxdemolition-hammer-145-amps-13h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esp-kit-1-pair-black-esp-glove-1-pair-goat-class-0-size-11>: HTTP status code is not handled or not allowed 2026-01-27 21:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-starter-unit-54w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-add-on-unit-36w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-3-power-bit-x-2-3-4-gunmetal-bronze-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks>: HTTP status code is not handled or not allowed 2026-01-27 21:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-wstc2-3060-all-welded-cabinet-workbench-steel-top-center-shelf>: HTTP status code is not handled or not allowed 2026-01-27 21:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-wstc2-3048-all-welded-cabinet-workbench-steel-top-center-shelf>: HTTP status code is not handled or not allowed 2026-01-27 21:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-notice-authorized-personnel-only-2>: HTTP status code is not handled or not allowed 2026-01-27 21:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-42w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-wwc-3060-6phfl-mobile-heavy-duty-cabinet-workbench-steel-top>: HTTP status code is not handled or not allowed 2026-01-27 21:48:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 21:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-wwc2-3072-heavy-duty-cabinet-workbench-steel-top-center-shelf>: HTTP status code is not handled or not allowed 2026-01-27 21:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-enamel-silver-gray-32-oz-pail-1-case-31200-4>: HTTP status code is not handled or not allowed 2026-01-27 21:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdnm2238t-10te-hp-5000-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-foot-patio-umbrella-olefin-terracotta-hardwood-pole-grove>: HTTP status code is not handled or not allowed 2026-01-27 21:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-1-1-4-l-stud-075-w-roller-125-roller-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ip22-blue-smart-battery-charger-w-bluetooth-12v-30a-1-120v-nema-5-15-abs-plastic>: HTTP status code is not handled or not allowed 2026-01-27 21:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-add-on-unit-48w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-add-on-unit-72w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-notice-keep-this-door-closed-2>: HTTP status code is not handled or not allowed 2026-01-27 21:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-notice-eye-protection-required-beyond-this-point>: HTTP status code is not handled or not allowed 2026-01-27 21:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-54w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1234087-trigger-x-adjustable-rope-positioning-lanyard-10-foot-long-single-mode-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smart-lock-self-retracting-lifeline-20-foot-galvanized-cable-blue-3503803>: HTTP status code is not handled or not allowed 2026-01-27 21:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-3hdb-3-heavy-duty-saw-blade-w-l-connector>: HTTP status code is not handled or not allowed 2026-01-27 21:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/umbillical-cord-scissors-4-l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-esd-3-shelf-18w-x-42l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-3-8-ring-terminals-4-awg-1-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 21:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-3-tier-esd-14w-x-60l-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-3-8-ring-terminals-1-0-awg-10-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-27 21:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-2-awg-4-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-27 21:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-compartment-box-6-vertical-compartments>: HTTP status code is not handled or not allowed 2026-01-27 21:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-18w-x-60l-x-80h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-2-tier-esd-24w-x-48l-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-heavy-duty-mobile-work-platform-handrails-36-x-60-platform>: HTTP status code is not handled or not allowed 2026-01-27 21:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sn2023-sentry-3-person-semi-circular-bowl-washfountain-w-central-vent-metering-air-valve>: HTTP status code is not handled or not allowed 2026-01-27 21:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-aluminum-hearing-protection-required>: HTTP status code is not handled or not allowed 2026-01-27 21:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-4-0-awg-1-ft-black>: HTTP status code is not handled or not allowed 2026-01-27 21:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divided-quad-glove-box-dispenser-5-5-8-w-x-3-13-16-d-x-9-15-16-h-white>: HTTP status code is not handled or not allowed 2026-01-27 21:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-24w-x-24l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-30w-x-60l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-panel-portable-room-divider-6-ft-h-13-ft-1-inch-fabric-color-navy>: HTTP status code is not handled or not allowed 2026-01-27 21:48:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-w-vogue-traditional-accessories-8-unit-2-parcel-lockers-dark-bronze>: HTTP status code is not handled or not allowed 2026-01-27 21:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-sign-14x10-vinyl-smoking-permitted-this-area>: HTTP status code is not handled or not allowed 2026-01-27 21:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-glove-box-dispenser-13-13-16-w-x-5-5-16-d-x-12-5-8-h-beige>: HTTP status code is not handled or not allowed 2026-01-27 21:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40170-s-cond-hd-qc-satin-disc-type-r-2-aluminum-oxide-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-2-shelf-24w-x-48l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-thermostat-tradeline-with-thermometer>: HTTP status code is not handled or not allowed 2026-01-27 21:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10148-flap-wheel-mandrel-3-x-1-x-1-4-aluminum-oxide-coarse>: HTTP status code is not handled or not allowed 2026-01-27 21:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-2-shelf-21w-x-72l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20684 pages (at 92 pages/min), scraped 8141 items (at 25 items/min) 2026-01-27 21:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40314-qc-disc-type-s-2-aluminum-oxide-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warning-sign-14x10-aluminum-keep-all-cylinders-chained>: HTTP status code is not handled or not allowed 2026-01-27 21:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-x-4-inch-x-4-inch-long-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 21:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-271713-3-clean-seal-plug-13-psi-30-ft>: HTTP status code is not handled or not allowed 2026-01-27 21:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-27 21:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-vehicle-charging-symbol-sm-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-27 21:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-21w-x-60l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-silver-lead-free-wire-solder-117-gauge-5-lb>: HTTP status code is not handled or not allowed 2026-01-27 21:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ls-hollow-core-pole-kit-12-feet>: HTTP status code is not handled or not allowed 2026-01-27 21:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-24-14-w-x-96-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-stock-curtain-package-w-hardware-24w-12w-24w-x-10h-white-clear-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloth-belt-82574-1-2-24-60-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-27 21:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-esd-2-shelf-18w-x-36l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-mouth-double-pulley-pruner-kit-175-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plant-marking-stencil-20x20-electrical-panel>: HTTP status code is not handled or not allowed 2026-01-27 21:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-curtain-w-hardware-12w-x-12h-white-clear-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-non-electric-office-partition-panel-with-raceway-36-14-w-x-47-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-18w-x-54l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-deck-tower-36-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/martin-yale-desktop-letter-opener>: HTTP status code is not handled or not allowed 2026-01-27 21:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ring-aramid-flange-gasket-for-4-pipe-116-thick-class-150>: HTTP status code is not handled or not allowed 2026-01-27 21:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-high-performance-v2100-rust-preventive-enamel-aero-gloss-wh>: HTTP status code is not handled or not allowed 2026-01-27 21:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b3010e34c-3000-psi-electric-pressure-washer-10hp-220460v-comet-fws-pump>: HTTP status code is not handled or not allowed 2026-01-27 21:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7500-series-450-voc-dtm-alkyd-enamel-high-gloss-white>: HTTP status code is not handled or not allowed 2026-01-27 21:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-raceway-60-14-w-x-64-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-28-x-military-pan-head-machine-screws-MS51958-82>: HTTP status code is not handled or not allowed 2026-01-27 21:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x1-1-2-indented-hex-washer-with-bonded-neo-epdm-washer-f-t-self-piercing-1024PSWN>: HTTP status code is not handled or not allowed 2026-01-27 21:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-24-letter-z>: HTTP status code is not handled or not allowed 2026-01-27 21:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24x11-16-flat-head-self-drilling-screws-1211KPUMS>: HTTP status code is not handled or not allowed 2026-01-27 21:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-shot-5500w-portable-generator-black>: HTTP status code is not handled or not allowed 2026-01-27 21:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-36-letter-v>: HTTP status code is not handled or not allowed 2026-01-27 21:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t200-head-harness-tychem-4000-full-hood-w-sealed-seam-hx5-backpack-papr>: HTTP status code is not handled or not allowed 2026-01-27 21:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3x8-pan-head-machine-screws-MI38SPP>: HTTP status code is not handled or not allowed 2026-01-27 21:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-021-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 21:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pleated-air-filter-merv-8-self-supported-20-w-x20-hx2-d>: HTTP status code is not handled or not allowed 2026-01-27 21:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-m1600-sys-slvnt-ba-prec-lin-invrt-mark-pnt-aero-safe-rd>: HTTP status code is not handled or not allowed 2026-01-27 21:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-viton-o-ring-dash-230-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-exit-with-le-arrow-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 21:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x1-pan-head-self-tapping-screws-type-a-thread-1216ACP>: HTTP status code is not handled or not allowed 2026-01-27 21:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7400-series-340-voc-dtm-alkyd-enamel-navy-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-8-confined-space-vent-fan-rotomold-plastic-1000-cfm-1-3-hp>: HTTP status code is not handled or not allowed 2026-01-27 21:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-extinguisher-plastic-5>: HTTP status code is not handled or not allowed 2026-01-27 21:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greener-notes-recycled-notes-654rpyw-3-x-3-canary-yellow-100-sheets-12pack>: HTTP status code is not handled or not allowed 2026-01-27 21:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-o-ring-2mm-wide-32mm-id-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-regulations-demand-this-space-be-kept-clear-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 21:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x1-2-flat-head-self-drilling-screws-0608KPU>: HTTP status code is not handled or not allowed 2026-01-27 21:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-panel-hinged-shipping-crate-with-lid-pallet-36-x-36-x-36-od>: HTTP status code is not handled or not allowed 2026-01-27 21:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x3-phillips-bugle-head-course-thread-sharp-point-deck-screws-dacrotized-0848DPG>: HTTP status code is not handled or not allowed 2026-01-27 21:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-panel-hinged-shipping-crate-with-lid-24-x-24-x-24-od>: HTTP status code is not handled or not allowed 2026-01-27 21:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outfeed-roller-table-for-ecb-1422v>: HTTP status code is not handled or not allowed 2026-01-27 21:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-high-performance-v2100-rust-prevent-enamel-aero-silver-alum>: HTTP status code is not handled or not allowed 2026-01-27 21:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-o-ring-1mm-wide-28mm-id-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 21:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x3-8-pan-head-self-tapping-screws-type-a-b-thread-0606ABPPB>: HTTP status code is not handled or not allowed 2026-01-27 21:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-tufted-upholstered-queen-size-headboard-in-camel>: HTTP status code is not handled or not allowed 2026-01-27 21:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-o-ring-3mm-wide-6mm-id-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 21:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-o-ring-3mm-wide-75mm-id-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 21:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-full-tufted-upholstered-platform-bed-light-gray-memory-foam-mattress>: HTTP status code is not handled or not allowed 2026-01-27 21:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-high-efficiency-oil-removal-filter-42-cfm>: HTTP status code is not handled or not allowed 2026-01-27 21:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-pin-81164k-magliner-174-gemini-bulk-container-edition-hand-truck>: HTTP status code is not handled or not allowed 2026-01-27 21:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-face-viton-flange-gasket-for-2-pipe-18-thick-class-150>: HTTP status code is not handled or not allowed 2026-01-27 21:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x4-fillister-head-machine-screws-1464MSL>: HTTP status code is not handled or not allowed 2026-01-27 21:49:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sustain-landfill-container-23-gal-black>: HTTP status code is not handled or not allowed 2026-01-27 21:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-ton-air-bottle-jack-4412ah>: HTTP status code is not handled or not allowed 2026-01-27 21:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfortable-sleep-full-12-foam-pocket-spring-mattress-3-gel-memory-foam-topper>: HTTP status code is not handled or not allowed 2026-01-27 21:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-33-16-5-ton-air-hydraulic-truck-jack-6855>: HTTP status code is not handled or not allowed 2026-01-27 21:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-1-2-flat-self-drilling-screws-0824KQF>: HTTP status code is not handled or not allowed 2026-01-27 21:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-dash-356-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-27 21:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-start-up-kit-15-hp>: HTTP status code is not handled or not allowed 2026-01-27 21:49:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamp_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20782 pages (at 98 pages/min), scraped 8170 items (at 29 items/min) 2026-01-27 21:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24x5-8-button-head-socket-cap-screws-1010CSB>: HTTP status code is not handled or not allowed 2026-01-27 21:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-15-11112-100-psi-18-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-27 21:49:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/ice_melt_rock_salt already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-27 21:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-universal-ventless-firebox-insert-zero-clearance-design>: HTTP status code is not handled or not allowed 2026-01-27 21:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-message-dater-4-messages-red-blue-1-3-4-x-15-16>: HTTP status code is not handled or not allowed 2026-01-27 21:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-4-11110-30inhg160psi-14-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-27 21:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealless-steel-strapping-tool>: HTTP status code is not handled or not allowed 2026-01-27 21:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-fuel-ventless-gas-stove-23000-btu-t-stat-control>: HTTP status code is not handled or not allowed 2026-01-27 21:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamp_pads>: HTTP status code is not handled or not allowed 2026-01-27 21:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proforce-1500xp-hepa-upright-vacuum-w-on-board-tools-107252>: HTTP status code is not handled or not allowed 2026-01-27 21:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/ice_melt_rock_salt>: HTTP status code is not handled or not allowed 2026-01-27 21:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kold-locker-indoor-freezer-minus-10-degrees-f-with-floor-1hp-rh-door-72-inches-w-x-72-inches-d-x-91-inches-h>: HTTP status code is not handled or not allowed 2026-01-27 21:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/domed-seat-round-back-stacking-chair-black-frame-w-blue-fabric-upholstery>: HTTP status code is not handled or not allowed 2026-01-27 21:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-24x2-socket-set-screws-cup-point-3832SSCI>: HTTP status code is not handled or not allowed 2026-01-27 21:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-45-11125ct-100-psi-14-lm-ss>: HTTP status code is not handled or not allowed 2026-01-27 21:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x5-flat-head-wood-screws-1480DPF>: HTTP status code is not handled or not allowed 2026-01-27 21:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kold-locker-outdoor-freezer-minus-10-degrees-f-with-floor-1hp-lh-door-72-inches-w-x-72-inches-d-x-91-inches-h>: HTTP status code is not handled or not allowed 2026-01-27 21:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ks-manual-classroom-pencil-sharpener-table-wall-mount-2-75-x-4-75-x-4-25-blk-nkl>: HTTP status code is not handled or not allowed 2026-01-27 21:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-t4-c-sewerooter-t4-drain-cleaning-machine-w-100-x-9-16-cable-cutter-set>: HTTP status code is not handled or not allowed 2026-01-27 21:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/progen-upright-intercept-micro-filter-bag-10-pack-107377>: HTTP status code is not handled or not allowed 2026-01-27 21:50:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/trays/parts_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-heavy-hex-nuts-100A563DH>: HTTP status code is not handled or not allowed 2026-01-27 21:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-foam-cord-316-dia-x-100l>: HTTP status code is not handled or not allowed 2026-01-27 21:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p7r-core-rechargeable-led-flashlight>: HTTP status code is not handled or not allowed 2026-01-27 21:50:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/headlamps_wearable_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-nyc-sign-forward>: HTTP status code is not handled or not allowed 2026-01-27 21:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-strip-no-adhesive-40a-18-thick-x-12w-x-10l>: HTTP status code is not handled or not allowed 2026-01-27 21:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8x3-1-2-wedge-anchor-icc-compliant-icbo-3756AWG>: HTTP status code is not handled or not allowed 2026-01-27 21:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-20in-deep-file-file-mobile-pedestal-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/print-or-write-removable-color-coding-labels-3-4-dia-yellow-1008-pack-05462>: HTTP status code is not handled or not allowed 2026-01-27 21:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-fire-equipment>: HTTP status code is not handled or not allowed 2026-01-27 21:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/trays/parts_trays>: HTTP status code is not handled or not allowed 2026-01-27 21:50:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-address-labels-for-copiers-1-x-2-13-16-white-8250-box-5332>: HTTP status code is not handled or not allowed 2026-01-27 21:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/headlamps_wearable_lights>: HTTP status code is not handled or not allowed 2026-01-27 21:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-peel-inkjet-address-labels-1-1-3-x-4-white-350-pack-8162>: HTTP status code is not handled or not allowed 2026-01-27 21:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-10000-series-lateral-file-42in-wide-4-drawer-black>: HTTP status code is not handled or not allowed 2026-01-27 21:50:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/velocity-max-pencil-0-9-mm-hb-2-black-lead-assorted-barrel-colors-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-629zz-double-shielded-9mm-bore-26mm-od>: HTTP status code is not handled or not allowed 2026-01-27 21:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pocket-highlighters-chisel-tip-assorted-colors-dozen>: HTTP status code is not handled or not allowed 2026-01-27 21:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-six-drawer-anesthesia-cart-with-md30-ans3-accessory-package-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-fire-extinguisher-graphic>: HTTP status code is not handled or not allowed 2026-01-27 21:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils>: HTTP status code is not handled or not allowed 2026-01-27 21:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-six-drawer-anesthesia-cart-with-md30-ans3-accessory-package-teal>: HTTP status code is not handled or not allowed 2026-01-27 21:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-a14308b-30w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 21:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs>: HTTP status code is not handled or not allowed 2026-01-27 21:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/partition-t25-torx-bit-steel-hw101030>: HTTP status code is not handled or not allowed 2026-01-27 21:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-easy-peel-labels-2-dia-glossy-white-120-pack-22807>: HTTP status code is not handled or not allowed 2026-01-27 21:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repositionable-address-labels-for-laser-printers-1-x-2-5-8-white-3000-box-55160>: HTTP status code is not handled or not allowed 2026-01-27 21:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3d-glow-sign-plastic-fire-extinguisher>: HTTP status code is not handled or not allowed 2026-01-27 21:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-six-drawer-narrow-procedure-cart-tall-height-mini-width-key-lock-hammertone-black>: HTTP status code is not handled or not allowed 2026-01-27 21:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6304zz-double-shielded-20mm-bore-52mm-od>: HTTP status code is not handled or not allowed 2026-01-27 21:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-six-drawer-anesthesia-cart-with-md30-ans3-accessory-package-purple>: HTTP status code is not handled or not allowed 2026-01-27 21:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-standard-key-lock-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-12-plastic-anchors-12PAPK>: HTTP status code is not handled or not allowed 2026-01-27 21:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-drawer-cabinet-20-drawers>: HTTP status code is not handled or not allowed 2026-01-27 21:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4x1-fender-washers-1416WF>: HTTP status code is not handled or not allowed 2026-01-27 21:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6008nr-open-wsnap-ring-40mm-bore-68mm-od>: HTTP status code is not handled or not allowed 2026-01-27 21:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6208-open-40mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-27 21:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-red-extra-plastic-forkli-able-tilt-truck-1-cu-yard>: HTTP status code is not handled or not allowed 2026-01-27 21:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-dia-x-9-working-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-27 21:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-waterproof-reversible-raincoat-ansi-class-3-300d-oxfordpu-coating-limeblack-xl>: HTTP status code is not handled or not allowed 2026-01-27 21:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sterile-wrap-rack-chrome-2-casters-w-brakes-24l-x-48w-x-68h>: HTTP status code is not handled or not allowed 2026-01-27 21:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20871 pages (at 89 pages/min), scraped 8200 items (at 30 items/min) 2026-01-27 21:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmp4111rc-rd-fmpro-41-w-x-20-d-x-42-1-2-h-11-drawer-red-roller-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 21:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44-pocket-rotary-literature-rack-black>: HTTP status code is not handled or not allowed 2026-01-27 21:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-plen-office-low-credenza-file-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 21:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-twin-hoist-lift-beam-yellow-20000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quad-column-medical-storage-cabinet-glass-doors-82-1-8-wx30-1-4-dx77-3-4-h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pouch-first-aid-cabinets-12-pocket>: HTTP status code is not handled or not allowed 2026-01-27 21:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axiom-twin-airpot-coffee-brewer-axiom-twin-aps-1-pwr-conn-sf>: HTTP status code is not handled or not allowed 2026-01-27 21:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dino-lite-am4515ztl-edge-microscope-1-3mp-10x140x>: HTTP status code is not handled or not allowed 2026-01-27 21:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/style-c-mat-stand-yellow-56-l-x-40-w-x-30-h-150lbs-15-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-72-spread-adjustable-lift-yellow-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airpotsthermal-pitcher-airpot-sst-38l-6case>: HTTP status code is not handled or not allowed 2026-01-27 21:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-48-economy-h-beam-adjustable-length-yellow-78-l-x-40-w-x-36-h-170lbs-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61331-s762p-non-ansi-vest-tricot-hook-loop-closure-hi-vis-pink-md>: HTTP status code is not handled or not allowed 2026-01-27 21:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-voltage-370-440-oval-run-capacitor-1510-mfd-15-10dv>: HTTP status code is not handled or not allowed 2026-01-27 21:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6212-2rsnr-double-sealed-wsnap-ring-60mm-bore-110mm-od>: HTTP status code is not handled or not allowed 2026-01-27 21:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pharmacy-safe-pharm773624sl2-electronic-lock-9250-24-1-4w-x-36-1-4d-x-77-1-4h>: HTTP status code is not handled or not allowed 2026-01-27 21:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-slow-moving-vehicle-sign-1>: HTTP status code is not handled or not allowed 2026-01-27 21:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parking-permit-blue-windshield-001-100>: HTTP status code is not handled or not allowed 2026-01-27 21:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/330-volt-start-capacitor-189-227-mfd-189d>: HTTP status code is not handled or not allowed 2026-01-27 21:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parking-permit-red-rearview-401-500>: HTTP status code is not handled or not allowed 2026-01-27 21:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-voltage-370-440-oval-run-capacitor-25-mfd-25dv>: HTTP status code is not handled or not allowed 2026-01-27 21:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-emergency-crash-cart-4-drawers-36-3-4-w-x-22-l-x-37-1-4-h-taupe>: HTTP status code is not handled or not allowed 2026-01-27 21:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-910-half-finger-impact-gloves-wrist-support-black-m-17713>: HTTP status code is not handled or not allowed 2026-01-27 21:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-twin-hoist-lift-beam-yellow-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-x-5-working-length-j-hook-style-9>: HTTP status code is not handled or not allowed 2026-01-27 21:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-96-economy-h-beam-adjustable-length-yellow-102-l-x-40-w-x-36-h-250lbs-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-spread-basket-lifting-beam-yellow-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-skoll-safety-glasses-clear-lens-black-frame-59003>: HTTP status code is not handled or not allowed 2026-01-27 21:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-1863-3-2>: HTTP status code is not handled or not allowed 2026-01-27 21:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6315zznr-double-shielded-wsnap-ring-75mm-bore-160mm-od>: HTTP status code is not handled or not allowed 2026-01-27 21:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swsf6uu-38-id-round-flange-type-linear-bearing-wseals-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8377-type-r-class-3-quilted-bomber-jacket-lime-2xl-25626>: HTTP status code is not handled or not allowed 2026-01-27 21:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hugh-52-inch-matte-white-with-led-light-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6210-2rsnr-double-sealed-wsnap-ring-50mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-27 21:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6211-2rs-double-sealed-55mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-27 21:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/do-not-double-stack-edge-protectors-2-x-2-x-36-160-thick-white-2240-skid>: HTTP status code is not handled or not allowed 2026-01-27 21:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edge-protectors-3-x-3-x-40-160-thick-white-1600-skid>: HTTP status code is not handled or not allowed 2026-01-27 21:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-column-medical-storage-cart-glass-door-22-1-2-w-x-27-d-x-75-3-4-h-cream>: HTTP status code is not handled or not allowed 2026-01-27 21:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6015-open-75mm-bore-115mm-od>: HTTP status code is not handled or not allowed 2026-01-27 21:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-2-shelf-container-rack-bk186052n-60w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 21:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-dia-x-14-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-27 21:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24h2010gqrlp-wallmount-type-4x-encl-2425x2025x1000-fiberglass>: HTTP status code is not handled or not allowed 2026-01-27 21:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-2-shelf-container-rack-bk18605z-60w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 21:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t6s3rss-fan-shroud-type-3r-fits-6in-fan-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-27 21:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl482412g-lbox-lbox-wall-mount-cab-4800x2400x1200>: HTTP status code is not handled or not allowed 2026-01-27 21:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-2-shelf-container-rack-bk18306z-30w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 21:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-tone-module-utm>: HTTP status code is not handled or not allowed 2026-01-27 21:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-2-shelf-container-rack-bk18245z-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 21:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-heavy-duty-wire-shelving-ds24607z-60w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 21:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flashing-light-led-120-240vac-hazardous-location-red-191xl-120-240r>: HTTP status code is not handled or not allowed 2026-01-27 21:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosive-placard-un-3265-removable-vinyl-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/111-optics-laser-infrared-thrmo-wthermocouple>: HTTP status code is not handled or not allowed 2026-01-27 21:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miscellaneous-dangerous-goods-placard-un-3082-removable-vinyl-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-emergency-cart-short-height-5-drawers-18-wx18-lx34-1-2-h-hammertone-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esh1917-shelf-fits-19-rack-374-x-1900-x-1700-374-x-1900-x-1700>: HTTP status code is not handled or not allowed 2026-01-27 21:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-column-medical-storage-cart-glass-door-22-1-2-w-x-27-d-x-75-3-4-h-hammertone-black>: HTTP status code is not handled or not allowed 2026-01-27 21:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/384-well-tissue-culture-plate-with-lid-individual-sterile-50-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-manual-nozzle-frhmn075s>: HTTP status code is not handled or not allowed 2026-01-27 21:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vynckier-vm755-vm-7-inch-x-5-inch-x-5-inch-non-metallic-enclosure-opaque-cover>: HTTP status code is not handled or not allowed 2026-01-27 21:51:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/electrical_boxes_enclosures_raceways/electrical_boxes/steel_electrical_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrane-510-polymer-coated-gloves-knit-wrist-liner-green-1-pair-size-6-34510006>: HTTP status code is not handled or not allowed 2026-01-27 21:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/q12129pcdcc-qline-j-box-clear-screw-cover-type-4x-122x120x85mm-polycarb>: HTTP status code is not handled or not allowed 2026-01-27 21:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-1-4-iglide-g300-polymer-sleeve-bearing>: HTTP status code is not handled or not allowed 2026-01-27 21:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cell-strainer-70-181-m-white-individually-wrapped-sterile-50-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-file-file-mobile-pedestal-16-x-22-x-29h-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 21:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-your-hands-before-leaving-this-room-sticker-adhesive-backed-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 21:51:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/oil_fluid_management/oil_pumps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suredry-10-scope-cabinet-w-dri-scope-aid-e-lock-30-w-x-24-d-x-93-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-27 21:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suit-carrying-shipping-case-with-wheels-228-308-ww-36l-x-20w-x-10h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:51:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-short-height-36-3-4-w-x-22-l-x-37-1-4-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-27 21:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-42-x-24-reversible-return-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 21:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-id-double-flanged-sheet-metal-clip-bearing-m250-for-040-075-sheet-metal>: HTTP status code is not handled or not allowed 2026-01-27 21:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500mm-drylin-n-27mm-miniature-guide-rail>: HTTP status code is not handled or not allowed 2026-01-27 21:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 20968 pages (at 97 pages/min), scraped 8225 items (at 25 items/min) 2026-01-27 21:51:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/electrical_boxes_enclosures_raceways/electrical_boxes/steel_electrical_boxes landed on page that is not a product page. 2026-01-27 21:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-isolation-cart-3-drawers-standard-key-lock-37-1-2-wx22-lx42-63-100-h-hammertone-red>: HTTP status code is not handled or not allowed 2026-01-27 21:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-chamber-cell-culture-slide-glass-sterile-12-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-spill-containment-cabinet-large-12w-x-14d-x-28h-oil-only>: HTTP status code is not handled or not allowed 2026-01-27 21:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cell-scraper-39cm-abs-handle-30mm-lifter-blade-sterile-green-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/oil_fluid_management/oil_pumps>: HTTP status code is not handled or not allowed 2026-01-27 21:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lopro-series-nsf-certified-144-wide-door-unheated-208-230160-obsidian-black>: HTTP status code is not handled or not allowed 2026-01-27 21:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs>: HTTP status code is not handled or not allowed 2026-01-27 21:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rugged-transit-case-foam-lined-852-carrying-case-28l-x-22w-x-14h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-velocity-series-48-wide-door-unheated-115160-titanium-silver>: HTTP status code is not handled or not allowed 2026-01-27 21:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-10-insert-for-hard-wood-brass-400-m6>: HTTP status code is not handled or not allowed 2026-01-27 21:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-occupancy-sign-conference-room-use-vacant-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-sign-caution-watch-your-step-wet-paint>: HTTP status code is not handled or not allowed 2026-01-27 21:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515-tank-heavy-duty-shipping-case-tube-with-wheels-17l-x-17w-x-77h-blk>: HTTP status code is not handled or not allowed 2026-01-27 21:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-10-insert-for-soft-wood-flush-800610-13>: HTTP status code is not handled or not allowed 2026-01-27 21:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s100x8-female-buttress-x-s60x6-2-male-buttress-thread>: HTTP status code is not handled or not allowed 2026-01-27 21:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-anesthesia-cart-6-drawers-e-lock-47-5-8-w-x-22-l-x-66-3-4-h-hammertone-red>: HTTP status code is not handled or not allowed 2026-01-27 21:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-occupancy-sign-out-black>: HTTP status code is not handled or not allowed 2026-01-27 21:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-height-triple-column-medical-storage-cabinet-60-2-5-wx27-4-5-dx55-3-5-h-brushed-silver>: HTTP status code is not handled or not allowed 2026-01-27 21:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500ml-erlenmeyer-flask-vent-cap-plain-bottom-petg-sterile-12-pk>: HTTP status code is not handled or not allowed 2026-01-27 21:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedgebolt-screw-anchor-carbon-steel-34-x-6>: HTTP status code is not handled or not allowed 2026-01-27 21:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permaseal-selftapping-concrete-screw-hex-washer-head-blue-316-x-114>: HTTP status code is not handled or not allowed 2026-01-27 21:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb2034-general-purpose-1-3-hp-1725-rpm-115v-odp>: HTTP status code is not handled or not allowed 2026-01-27 21:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uh1036-general-purpose-1-3-hp-1075-rpm-115v>: HTTP status code is not handled or not allowed 2026-01-27 21:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-occupancy-sign-alarm-on-off-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedgebit-drill-bit-sdsplus-size-12-usable-4-l-overall-6-l>: HTTP status code is not handled or not allowed 2026-01-27 21:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedgebit-drill-bit-sdsplus-size-12-usable-8-l-overall-13-l>: HTTP status code is not handled or not allowed 2026-01-27 21:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-56-tapered-ultrasonic-insert-double-vane-dv-002-th>: HTTP status code is not handled or not allowed 2026-01-27 21:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerstud-wedge-expansion-anchor-sd1-34-x-812>: HTTP status code is not handled or not allowed 2026-01-27 21:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-on-floor-sign-chemical-storage-area>: HTTP status code is not handled or not allowed 2026-01-27 21:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disc-horn-set-5--12-volt-308-2t>: HTTP status code is not handled or not allowed 2026-01-27 21:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-24-light-bar-magnet-or-permanent-mount-clear-lens-blue-leds-7826mp-b>: HTTP status code is not handled or not allowed 2026-01-27 21:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-24-light-bar-magnet-or-permanent-mount-clear-lens-blue-red-leds-7828mp-br>: HTTP status code is not handled or not allowed 2026-01-27 21:52:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:52:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-ga-4-tier-locker-w-keyless-entry-lock-8-compartments-36-w-x-18-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-machine-labels-danger-no-smoking>: HTTP status code is not handled or not allowed 2026-01-27 21:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-microbial-height-adjustable-folding-table-72-inch-l-x-30-inch-w-x-17-to-27-inch-h-gray-granite>: HTTP status code is not handled or not allowed 2026-01-27 21:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-7-8-pneumatic-stick-stapler>: HTTP status code is not handled or not allowed 2026-01-27 21:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polly-products-econo-mizer-6-ft-backed-bench-cedar-bench-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 21:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-soft-precut-gauntlet-thumb-post-splint-1-12-micro-perforated-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-5-8-25m-stick-staples>: HTTP status code is not handled or not allowed 2026-01-27 21:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/think-osha-10x14-plastic-don-t-try-to-li-more>: HTTP status code is not handled or not allowed 2026-01-27 21:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-style-folding-coat-rack-with-40-triple-prong-hooks-capacity-120-coats>: HTTP status code is not handled or not allowed 2026-01-27 21:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a60h3612sslp3pt-continuous-hinge-w3point-ltch-type-4x-6000x3600x1200in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-27 21:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports>: HTTP status code is not handled or not allowed 2026-01-27 21:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmpsa4111rc-fmpro-all-stainless-steel-41-wx20-dx42-1-2-h-11-drawer-roller-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 21:52:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-27 21:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-machine-labels-danger-120-volts>: HTTP status code is not handled or not allowed 2026-01-27 21:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-cabinet-that-features-3-shelves-and-3-drawers-30-w-x-24-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-27 21:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e1pbss-pb-enclosure-1pbx305mm-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-27 21:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a181610phcw-polyproencl-wwindow-1795x1594x1035in>: HTTP status code is not handled or not allowed 2026-01-27 21:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/think-osha-10x14-aluminum-keep-this-place-clean>: HTTP status code is not handled or not allowed 2026-01-27 21:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-lad-saf-50-ft-vertical-safety-system-stainless-steel-cable-6119050>: HTTP status code is not handled or not allowed 2026-01-27 21:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-air-xl-outdoor-dining-arm-chair-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-stop-sign-stop>: HTTP status code is not handled or not allowed 2026-01-27 21:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wafer-style-butterfly-valve-w-epdm-seals-and-dbl-acting-pneum-actuator>: HTTP status code is not handled or not allowed 2026-01-27 21:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-condenser-for-nexel-models-243035-243036>: HTTP status code is not handled or not allowed 2026-01-27 21:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-ibe-15lm-mvolt-40k-led-linear-high-bay-107w-13966-lumens-4000k-dimmable-dlc-premium>: HTTP status code is not handled or not allowed 2026-01-27 21:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-in-casters-with-brakes-for-nexel-merchandisers-refrigerators-freezers>: HTTP status code is not handled or not allowed 2026-01-27 21:52:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-plastic-eye-wash-fountain>: HTTP status code is not handled or not allowed 2026-01-27 21:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-vinyl-no-smoking>: HTTP status code is not handled or not allowed 2026-01-27 21:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trl10266cf-nitro-elite-cf-carbon-fiber-rollator-rolling-walker-black>: HTTP status code is not handled or not allowed 2026-01-27 21:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-non-drip-nipple-3-4-body-size-blue-color-ring-nbr-seals>: HTTP status code is not handled or not allowed 2026-01-27 21:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-18-thick-x-2-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 21:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-non-rekeyable-solid-steel-padlock-no-a51>: HTTP status code is not handled or not allowed 2026-01-27 21:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-plastic-sheet-w-lse-acrylic-adhesive-116-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 21:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-467-dn6-coupling-w-valve-2-41-100-l>: HTTP status code is not handled or not allowed 2026-01-27 21:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-button-closure-lab-coat-white-polycotton-l>: HTTP status code is not handled or not allowed 2026-01-27 21:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solid-sling-tag-50-tags-carton>: HTTP status code is not handled or not allowed 2026-01-27 21:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-rubber-roll-with-acrylic-adhesive-60a-132-thick-x-36-wide-x-60-long>: HTTP status code is not handled or not allowed 2026-01-27 21:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-27 21:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-button-front-lab-coat-white-polycombed-cotton-xs>: HTTP status code is not handled or not allowed 2026-01-27 21:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-clear-no-a1206clr>: HTTP status code is not handled or not allowed 2026-01-27 21:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-steel-rectangular-padlock-no-a5201>: HTTP status code is not handled or not allowed 2026-01-27 21:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 21061 pages (at 93 pages/min), scraped 8246 items (at 21 items/min) 2026-01-27 21:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-pallet-lifter-fixed-fork-3-ton-capacity-42-fork-length-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-spreader-beam-30-000-lbs-capacity-240-chain-top-rigging-yellow-steel>: HTTP status code is not handled or not allowed 2026-01-27 21:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-thick-x-2-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 21:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-1-1-4-lap-lk-zinc-ctn>: HTTP status code is not handled or not allowed 2026-01-27 21:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-14-thick-x-2-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:52:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mpb68-4-1-2-x-4-1-2-nrp-us26d-6-l-x-6-w-x-2-h-8-1-2-dia>: HTTP status code is not handled or not allowed 2026-01-27 21:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-60x24x96-2>: HTTP status code is not handled or not allowed 2026-01-27 21:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-bar-12-thick-x-1-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-7400-reach-pallet-trucks-all-load-wheels-except-6-x-4-closed-toe-ra-632-032-a>: HTTP status code is not handled or not allowed 2026-01-27 21:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-24-24-d-hopper-bins-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-13-24-d-hopper-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-for-mp-mpb-040-ac-pallet-trucks-hy-2302981>: HTTP status code is not handled or not allowed 2026-01-27 21:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frost-toilet-seat-cover-dispenser-white>: HTTP status code is not handled or not allowed 2026-01-27 21:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-long-sleeve-work-shirt-fluorescent-orange-tall-2xl>: HTTP status code is not handled or not allowed 2026-01-27 21:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-38-thick-x-8-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-tire-hub-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x74-chrome-wire-shelving-with-8-hopper-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-27 21:53:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 21:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-28-giant-stacking-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-3hp-1800rpm-f2-mount>: HTTP status code is not handled or not allowed 2026-01-27 21:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-6hbw30-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-long-sleeve-work-shirt-fluorescent-yellowgreen-regular-3xl>: HTTP status code is not handled or not allowed 2026-01-27 21:53:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/lab_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-24-6-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-high-security-solid-aluminum-padlock-5-pin-cylinders-green>: HTTP status code is not handled or not allowed 2026-01-27 21:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combo-lock-for-horizontal-latch-box-locker-metal-dial-rh>: HTTP status code is not handled or not allowed 2026-01-27 21:53:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-electric-chain-hoist-1-4-ton-6-ft-lift-32-fpm-460v-1-2-hp-3-step-controller>: HTTP status code is not handled or not allowed 2026-01-27 21:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-64-6-h-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-4-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 21:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b8-174-powercrown-153-premium-staples-1-4-6mm-10000-pack-20-case>: HTTP status code is not handled or not allowed 2026-01-27 21:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gemini-valve-high-duty-cycle-brass-ball-valve-double-acting-pneumatic-actuator-1-inch>: HTTP status code is not handled or not allowed 2026-01-27 21:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acorn-washfountain-circular-8-stations-foot-operated>: HTTP status code is not handled or not allowed 2026-01-27 21:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-15-giant-stacking-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-27 21:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/lab_coats>: HTTP status code is not handled or not allowed 2026-01-27 21:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallsaver-removable-poster-tape-double-sided-3-4-x-150-w-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 21:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-sheets-40-x-40-200-ect-32-white-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:53:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-flat-clinch-stapler-40-sheets-full-strip-black-chrome-12-case>: HTTP status code is not handled or not allowed 2026-01-27 21:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-drum-truck>: HTTP status code is not handled or not allowed 2026-01-27 21:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-key-control-black-dial>: HTTP status code is not handled or not allowed 2026-01-27 21:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ffar121ss-solid-door-pharmaceutical-refrigerator-stainless-steel-10-1-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 21:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combo-lock-for-horizontal-latch-box-locker-rh>: HTTP status code is not handled or not allowed 2026-01-27 21:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-for-smx-45-walkie-pallet-truck>: HTTP status code is not handled or not allowed 2026-01-27 21:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-tray-with-grating-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-for-8300-8400-8500-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-desk-tray-legal-size-walnut>: HTTP status code is not handled or not allowed 2026-01-27 21:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-plastic-bar-316-thick-x-38-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-pin-for-7hbw23-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-e30-series-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-portable-sink-hose-in-tank-waste-22-gauge-type-304-stainless-steel-4-satin-finish>: HTTP status code is not handled or not allowed 2026-01-27 21:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tap-10v-1-8-kw-point-of-use-tankless-electric-water-heater>: HTTP status code is not handled or not allowed 2026-01-27 21:53:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bowl-fruit-10-9oz-slate-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-bar-w-lse-acrylic-adhesive-12-thick-x-1-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 21:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-with-6-deep-deck-24-x-48-adj-height-polyurethane>: HTTP status code is not handled or not allowed 2026-01-27 21:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-rod-for-mp-mpb-040-ac-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microflex-174-supreno-174-ec-sec-375-nitrile-gloves-powder-free-size-s-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-ergonomic-utility-cart-large-black-4-shelf-700-capacity-lbs>: HTTP status code is not handled or not allowed 2026-01-27 21:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-hole-punch-9-32-inch-punch-size-with-12-sheet-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-tear-drop-pallet-rack-add-on-96-w-x-24-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-27 21:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slb-lever-hoists-1650-lb-capacity-5-ft-lift-13-head-room>: HTTP status code is not handled or not allowed 2026-01-27 21:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-axle-for-wp-2000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ed-dual-speed-electric-chain-hoist-250-lbs-10-2610>: HTTP status code is not handled or not allowed 2026-01-27 21:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:53:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-11-high-capacity-xl11-pleated-panel-extended-surface-24-inch-w-x-24-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-27 21:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-38-thick-x-38-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 21:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoreline-collection-pellet-underliner-fits-9-1-2-pellet-cranberry>: HTTP status code is not handled or not allowed 2026-01-27 21:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-oz-coffee-cup-navy-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barware-beer-mug-16oz-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cup-mug-slate-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 21152 pages (at 91 pages/min), scraped 8268 items (at 22 items/min) 2026-01-27 21:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-tote-tan-t110-19l-x-10-1-2w-x-3-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 21:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-push-trolley-14-10-36>: HTTP status code is not handled or not allowed 2026-01-27 21:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steer-arm-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks-yl-524254003>: HTTP status code is not handled or not allowed 2026-01-27 21:53:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axle-for-mpb045vg-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-bank-roller-cabinet-w-4-drawers-27-w-x-22-3-8-d-x-38-1-2-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:54:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 21:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-18-quickpick-double-open-bins-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-push-trolley-14-15-36>: HTTP status code is not handled or not allowed 2026-01-27 21:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-adapter-9v-600ma-for-318506-244701-318513-244243-244244>: HTTP status code is not handled or not allowed 2026-01-27 21:54:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x75-steel-shelving-with-21-magnum-giant-hopper-bins-red>: HTTP status code is not handled or not allowed 2026-01-27 21:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ubc-universal-beam-clamp-5-flange-adjustability-4-to-12>: HTTP status code is not handled or not allowed 2026-01-27 21:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9u-linier-fixed-wall-mount-cabinet-vented-door>: HTTP status code is not handled or not allowed 2026-01-27 21:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-flat-polyurethane-coated-gloves-hi-viz-lime-medium-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 21:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-20-inch-w-x-20-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-27 21:54:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock landed on page that is not a product page. 2026-01-27 21:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-12ft-mobile-cafeteria-fixed-bench-unit-with-mdf-core-top-protect-edge-oak>: HTTP status code is not handled or not allowed 2026-01-27 21:54:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygienic-wall-bracket-single-hook-module-yellow-polypropylene-polyamide>: HTTP status code is not handled or not allowed 2026-01-27 21:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-short-butcher-coat-white-polyestercotton-4xl>: HTTP status code is not handled or not allowed 2026-01-27 21:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toolbox-with-tray-21-5-16-l-x-12-1-2-w-x-13-1-2-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wexterior-top-pocket-spun-polyester-white-m>: HTTP status code is not handled or not allowed 2026-01-27 21:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-rubber-roll-no-adhesive-60a-14-thick-x-12-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 21:54:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 21:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/material-handling-basket-16l-x-10w-x-3-15-16h-plain-steel-price-each-for-qty-5-25-wire>: HTTP status code is not handled or not allowed 2026-01-27 21:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-1-10-14>: HTTP status code is not handled or not allowed 2026-01-27 21:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-button-front-chef-coat-knot-buttons-black-spun-polyester-xs>: HTTP status code is not handled or not allowed 2026-01-27 21:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-332-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5203zz-double-row-angular-contact-bearing-double-shielded-17mm-bore-x-40mm-od-x-17-5mm-w>: HTTP status code is not handled or not allowed 2026-01-27 21:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5308zz-double-row-angular-contact-bearing-double-shielded-40mm-bore-x-90mm-od-x-36-5mm-w>: HTTP status code is not handled or not allowed 2026-01-27 21:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-filled-container-40ml-1-34-oz-click-close-lid-attached-hazard-label-96-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-front-butcher-coat-spun-polyester-white-xs>: HTTP status code is not handled or not allowed 2026-01-27 21:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwikool-portable-air-conditioner-kib12023-10-ton-120000-btu-with-two-20-in-condenser-flanges>: HTTP status code is not handled or not allowed 2026-01-27 21:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-container-16-oz-480ml-polyethylene-snap-lid-natural-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/107-series-duo-trac-tractor-tire-chains-pair-1079410>: HTTP status code is not handled or not allowed 2026-01-27 21:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-77-4-h-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-tite-rite-container-90ml-3-oz-sterile-screw-cap-id-label-with-tab-seal-300-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-mid-length-bib-apron-black-polyestercotton-30-x-33>: HTTP status code is not handled or not allowed 2026-01-27 21:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-quart-16448012-clear-storage-tote-with-white-lid-16-3-4-x-11-7-8-x-7>: HTTP status code is not handled or not allowed 2026-01-27 21:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-gpw-series-pallet-trucks-cr-071894-201>: HTTP status code is not handled or not allowed 2026-01-27 21:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-plastic-bar-34-thick-x-1-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 21:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-mpb030-040-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-33-4-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-for-mpb-040-e-b827-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-27 21:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-drawer-wood-top-cast-vertical-storage-dresser-white-light-gray-fabric-drawers>: HTTP status code is not handled or not allowed 2026-01-27 21:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-33-4-h-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-18-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/variable-speed-controller>: HTTP status code is not handled or not allowed 2026-01-27 21:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-table-72-x-30-black>: HTTP status code is not handled or not allowed 2026-01-27 21:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axle-for-ewp-2-pallet-trucks-br-301766-000>: HTTP status code is not handled or not allowed 2026-01-27 21:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-spacer-for-7400-reach-pallet-trucks-5-x-2-88-wheels-open-toe>: HTTP status code is not handled or not allowed 2026-01-27 21:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-magazine-12-brochure-oak-acrylic-wall-display-light-oak>: HTTP status code is not handled or not allowed 2026-01-27 21:54:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wexterior-pockets-white-polyestercombed-cotton-l>: HTTP status code is not handled or not allowed 2026-01-27 21:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alligator-clip-c-clamp-w-5ft-7x19-insulated-stranded-flex-steel-cable>: HTTP status code is not handled or not allowed 2026-01-27 21:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-alligator-clips-w-5-ft-7x19-stranded-flex-steel-cable>: HTTP status code is not handled or not allowed 2026-01-27 21:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-goliath-black-plain-toe-w-power-lug-outsole-pvc-size-15>: HTTP status code is not handled or not allowed 2026-01-27 21:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-316-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 21:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-grinders-buffer-330b-24m-2p-buffer>: HTTP status code is not handled or not allowed 2026-01-27 21:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x39-steel-shelving-with-16-6-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:54:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-grinders-buffer-8250w-24c-2p-grndr-buffer>: HTTP status code is not handled or not allowed 2026-01-27 21:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-wheel-kit-for-manual-pallet-jack-gwk-hpt28-ck-fits-doosan-model-hpt28>: HTTP status code is not handled or not allowed 2026-01-27 21:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-acetal-plastic-bar-12-thick-x-1-14-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 21:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-pneumatic-hydraulic-mobile-scissor-lift-table-1500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-truck-with-48-4-h-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 21245 pages (at 93 pages/min), scraped 8297 items (at 29 items/min) 2026-01-27 21:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x48x74-chrome-wire-shelving-with-91-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-8hbw30-lw-fits-toyota-model-8hbw30>: HTTP status code is not handled or not allowed 2026-01-27 21:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-27 21:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-box-for-50-slides-cork-lined-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x48x74-chrome-wire-shelving-with-91-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-vita-resin-outdoor-dining-chair-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-grille-36-cd-premium-fans>: HTTP status code is not handled or not allowed 2026-01-27 21:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48w-x-13d-duron-shelf-cherry>: HTTP status code is not handled or not allowed 2026-01-27 21:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-4-1-8x5-3-8x3-beige>: HTTP status code is not handled or not allowed 2026-01-27 21:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-chemtex-green-bib-overall-plain-front-pvc-on-polyester-size-small>: HTTP status code is not handled or not allowed 2026-01-27 21:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-yellow-jacket-w-attached-hood-pvc-size-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:55:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-chemtex-green-bib-overall-plain-front-pvc-on-polyester-size-3x>: HTTP status code is not handled or not allowed 2026-01-27 21:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x-detector-mono-lelo2co-h2s-so2-ul-charcoal-instrument-only-10116924>: HTTP status code is not handled or not allowed 2026-01-27 21:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-full-brim-hard-hat-mate-camo-pattern-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-27 21:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-5-1-2x14-3-4x5-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48w-x-36h-mobile-reversible-magnetic-whiteboard>: HTTP status code is not handled or not allowed 2026-01-27 21:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-yellow-bib-overall-plain-front-pvc-size-medium>: HTTP status code is not handled or not allowed 2026-01-27 21:55:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/hoists/electric_powered_hoists already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-olive-green-3-piece-suit-pvc-size-extra-large>: HTTP status code is not handled or not allowed 2026-01-27 21:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-fabric-reinforced-silicone-rubber-sheet-no-adhesive-70a-116-thick-x-12w-x-12l>: HTTP status code is not handled or not allowed 2026-01-27 21:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freezing-box-2-cardboard-64-place-8x8-format-fits-10ml-and-20ml-cryoclear-vials-white>: HTTP status code is not handled or not allowed 2026-01-27 21:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-jig-saw-blade-high-speed-steel-18-teeth-inch-2-34-length-48-42-0120>: HTTP status code is not handled or not allowed 2026-01-27 21:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-n-rack-tube-rack-for-12mm-and-13mm-tubes-90-place-polypropylene-red>: HTTP status code is not handled or not allowed 2026-01-27 21:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-38-thick-x-38-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-plastic-self-dumping-forkli-hopper-5-8-cu-yd>: HTTP status code is not handled or not allowed 2026-01-27 21:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5821-20a-250v-nema-6-20r-2p-3w-single-recpt-grounding-brown>: HTTP status code is not handled or not allowed 2026-01-27 21:55:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-cap-flange-plug-cap-for-ct2-and-cr1-models-13mm-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-bristle-brush-curved-handle-3x1-1-2>: HTTP status code is not handled or not allowed 2026-01-27 21:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-hole-saw-cutter-2-49-57-8331>: HTTP status code is not handled or not allowed 2026-01-27 21:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silent-air-silencer-kit-for-5hp-10hp-with-fittings-and-hoses>: HTTP status code is not handled or not allowed 2026-01-27 21:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-urine-centrifuge-12ml-with-flared-top-polystyrene-kova-type-graduated-2000-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energizer-9v-e-nimh-rechargeable-battery>: HTTP status code is not handled or not allowed 2026-01-27 21:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m5-x-0-8-x-12mm-steel-zinc-clear-class-8-8-din-933-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-kitchen-interlock-rubber-kitchen-mat-58-thick-3-x-3-black>: HTTP status code is not handled or not allowed 2026-01-27 21:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-sheet-1-thick-x-8-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-loaded-roll-up-bug-screen-door-with-11-oz-mesh-panels-10-x-10>: HTTP status code is not handled or not allowed 2026-01-27 21:55:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/cranes_hoists/hoists/electric_powered_hoists landed on page that is not a product page. 2026-01-27 21:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuff-n-lastic-rubber-runner-mat-1-8-thick-4-x-6-black>: HTTP status code is not handled or not allowed 2026-01-27 21:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-m10-steel-zinc-clear-class-8-8-din-125a-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 21:55:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 21:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goodyear-coin-pattern-rubber-floor-mat-3-5mm-thick-3-x-6-black>: HTTP status code is not handled or not allowed 2026-01-27 21:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-plug-12-13mm-santoprene-for-vacuum-and-test-tubes-green-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-2-thick-x-8-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trauma-bag-red-w-padded-dividers>: HTTP status code is not handled or not allowed 2026-01-27 21:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-charger-gb-24v-t45b-t55-t70-641263-641264-641265-641244>: HTTP status code is not handled or not allowed 2026-01-27 21:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-office-partition-panel-with-window-48-1-4w-x-60h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacking-rack-units-42-w-x-24-d-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-4-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 21:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-with-window-60-1-4w-x-43-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-it-ptlhp-tagging-needles>: HTTP status code is not handled or not allowed 2026-01-27 21:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-group-lock-box-latch-tight-portable-or-wall-mount-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-letter-legal-file-tote-34052-18l-x-14w-x-10-3-4h-black>: HTTP status code is not handled or not allowed 2026-01-27 21:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-keypad-locker-lock-horizontal-mount-left-hinged-doors>: HTTP status code is not handled or not allowed 2026-01-27 21:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-ii-cap-with-accessory-slots-and-6-point-mega-ratchet-suspension-hi-viz-orange>: HTTP status code is not handled or not allowed 2026-01-27 21:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-bin-shelf-cart-w-steel-casters-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-vented-full-brim-with-4-point-slide-lock-suspension-red>: HTTP status code is not handled or not allowed 2026-01-27 21:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-drawer-full-height-36-w-cabinet-black-2>: HTTP status code is not handled or not allowed 2026-01-27 21:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightduty-absorbent-pads-201-gallon-capacity-15-x-19-100-padscase>: HTTP status code is not handled or not allowed 2026-01-27 21:55:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-stand-support-for-36-bf-roller-conveyors-adjustable-19-1-2-to-31h>: HTTP status code is not handled or not allowed 2026-01-27 21:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-18-thick-x-14-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 21:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-ii-cap-with-accessory-slots-and-6-point-slide-lock-suspension-black>: HTTP status code is not handled or not allowed 2026-01-27 21:55:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-bin-cabinet-264-red-hook-on-bins-72w-24d-84h>: HTTP status code is not handled or not allowed 2026-01-27 21:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-24-w-cabinet-black-4>: HTTP status code is not handled or not allowed 2026-01-27 21:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-cap-with-accessory-slots-and-4-point-mega-ratchet-suspension-black>: HTTP status code is not handled or not allowed 2026-01-27 21:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-drawer-counter-high-24-w-cabinet-black-2>: HTTP status code is not handled or not allowed 2026-01-27 21:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/200g-skid-sprayer-55hp-k40-pump-300-38-hose-electric-reel>: HTTP status code is not handled or not allowed 2026-01-27 21:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matrix-guard-tunnel-door-single-5-w-x-7-6-h-slide-left-to-open-black>: HTTP status code is not handled or not allowed 2026-01-27 21:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-bin-cabinet-4-adj-shelves-and-14-door-shelves-48w-24d-72h>: HTTP status code is not handled or not allowed 2026-01-27 21:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock>: HTTP status code is not handled or not allowed 2026-01-27 21:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 21341 pages (at 96 pages/min), scraped 8324 items (at 27 items/min) 2026-01-27 21:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1236vs-with-acu-rite-303-dro-with-collet-closer>: HTTP status code is not handled or not allowed 2026-01-27 21:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotor-swing-out-for-use-with-gcc-mp-series-4000rpm-max-2-place-for-microplates>: HTTP status code is not handled or not allowed 2026-01-27 21:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e15-plastic-face-shield-carrier-for-omega-ii-americana-and-liberty-caps-black>: HTTP status code is not handled or not allowed 2026-01-27 21:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jmd-18-mill-drill-with-newall-dp500-dro-and-x-axis-table-powerfeed>: HTTP status code is not handled or not allowed 2026-01-27 21:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jmd-18pfn-mill-drill-with-newall-dp500-dro-and-x-axis-table-powerfeed>: HTTP status code is not handled or not allowed 2026-01-27 21:56:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=e-1236vs-with-taper-attachment-and-collet-closer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-stainless-steel-utility-sink-24-x-24-x-14-deep-non-nsf>: HTTP status code is not handled or not allowed 2026-01-27 21:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-50ml-large-bulb-graduated-to-1ml-145mm-sterile-pp-cellophane-pack-400-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-flat-panel-tilt-mount-black>: HTTP status code is not handled or not allowed 2026-01-27 21:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-top-refrigerator-2-section-60-38w-30-18d-33-38h-twt-60-ada>: HTTP status code is not handled or not allowed 2026-01-27 21:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-guard-w-rounded-top-bottom-edges-plastic-clip-retainer-system-7-3-4-h-x-12-l-woodlands>: HTTP status code is not handled or not allowed 2026-01-27 21:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wp3476-wh-cat-6-quick-connect-rj45-keystone-insert-white>: HTTP status code is not handled or not allowed 2026-01-27 21:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-drawer-counter-high-30-w-cabinet-black-1>: HTTP status code is not handled or not allowed 2026-01-27 21:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-uninsulated-prime-coat-cyinder-lock-18x18-fr18x18pc-cl>: HTTP status code is not handled or not allowed 2026-01-27 21:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-uninsulated-prime-coat-standard-latch-12x24-fr12x24pc-rtl>: HTTP status code is not handled or not allowed 2026-01-27 21:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=e-1236vs-with-taper-attachment-and-collet-closer>: HTTP status code is not handled or not allowed 2026-01-27 21:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72in-blue-plus-ii-quarter-in-hose-21272>: HTTP status code is not handled or not allowed 2026-01-27 21:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drywall-door-prime-coat-with-screwdriver-latch-16-ga-dw12x24pc-sdl>: HTTP status code is not handled or not allowed 2026-01-27 21:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jmd-45gh-geared-head-square-column-mill-drill-with-newall-dp700-2-axis-dro>: HTTP status code is not handled or not allowed 2026-01-27 21:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-17-x-100mm-14ml-polystyrene-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-bar-cooler-3-section-71-78w-24-14d-34-14h-tbb-24gal-72g-s>: HTTP status code is not handled or not allowed 2026-01-27 21:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brute-ii-manifold-with-60in-ryb-hoses-and-three-eighths-in-x-45-degree-46022>: HTTP status code is not handled or not allowed 2026-01-27 21:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-aquamax-plastic-locker-double-tier-1-wide-12w-x-18d-x-36h-taupe-body-blue-doors>: HTTP status code is not handled or not allowed 2026-01-27 21:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-camwear-spoon-beige>: HTTP status code is not handled or not allowed 2026-01-27 21:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1340vs-with-acu-rite-303-css-dro-with-collet-closer>: HTTP status code is not handled or not allowed 2026-01-27 21:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freezer-merch-3-section-78-18w-29-78d-79-38h-gdm-72f>: HTTP status code is not handled or not allowed 2026-01-27 21:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1236vs-with-acu-rite-303-css-dro>: HTTP status code is not handled or not allowed 2026-01-27 21:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2014-pm-13-lathe-bed-ex-and-post>: HTTP status code is not handled or not allowed 2026-01-27 21:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hbs-56s-5-inch-x-6-inch-variable-speed-mitering-horizontal-mitering-bandsaw>: HTTP status code is not handled or not allowed 2026-01-27 21:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-7-x-6-x-4->: HTTP status code is not handled or not allowed 2026-01-27 21:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-mailer-10-x-3-x-1->: HTTP status code is not handled or not allowed 2026-01-27 21:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-shell-stool-with-chrome-foot-ring-black>: HTTP status code is not handled or not allowed 2026-01-27 21:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-milk-cooler-16-crts-dual-sided-58w-33-38d-41-18h-tmc-58-ds>: HTTP status code is not handled or not allowed 2026-01-27 21:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-gear-locker-with-door-foot-locker-legs-24x24x72-red>: HTTP status code is not handled or not allowed 2026-01-27 21:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-902-9153-multi-link-asian-interchange-1-4-body-size-safety-esafe-kit-3-out-1-2-fem-inlet>: HTTP status code is not handled or not allowed 2026-01-27 21:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-mobile-steel-square-edge-work-bench-adjustable-height-1-1-4-top>: HTTP status code is not handled or not allowed 2026-01-27 21:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-inch-equal-barbed-y-connector-gray-kynar>: HTTP status code is not handled or not allowed 2026-01-27 21:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96x30-shop-top-square-edge-work-bench-adjustable-height-1-1-2-top>: HTTP status code is not handled or not allowed 2026-01-27 21:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bactizyme-drain-cleaner-maintainer-fresh-clean-50-gallon-nl044-d55>: HTTP status code is not handled or not allowed 2026-01-27 21:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-front-brim-hard-hat-non-vented-4-pt-ratchet-suspension-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-totally-enclosed-dry-environment-duct-fan-3-phase-3-4-hp>: HTTP status code is not handled or not allowed 2026-01-27 21:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-x-stainless-steel-bird-spikes-100ft-l>: HTTP status code is not handled or not allowed 2026-01-27 21:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-microtube-rack-with-handles-for-15ml-and-20ml-microcentrifuge-tubes-96-place-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyurethane-coated-gloves-black-black-large-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 21:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-melamine-floor-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-27 21:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-mobile-dunnage-rack-42x20x8>: HTTP status code is not handled or not allowed 2026-01-27 21:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-4000-series-hardboard-over-stainless-72-w-x-30-d-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:56:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-2-axis-acu-rite-203-dro already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melamine-dry-erase-whiteboard-48-x-36-double-sided-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 21:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-carpet-bonnets-mini-floor-scrubber-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-3512-series-esd-square-edge-60-w-x-30-d-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-05ml-polypropylene-orange-stand-up-zipbag-mg-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-3505-series-hardboard-over-stainless-48-w-x-36-d-black>: HTTP status code is not handled or not allowed 2026-01-27 21:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5390-95-cast-iron-immersion-type-coolant-pump-56gpm-seal-less-design-1-2-inch-npt-discharge>: HTTP status code is not handled or not allowed 2026-01-27 21:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-stock-picking-ladder-perforated-tread-spl-10-p>: HTTP status code is not handled or not allowed 2026-01-27 21:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/282b-95-1-5-inch-cast-iron-self-priming-centrifugal-pump-buna-n-seal-2hp-tefc-3-phase-motor>: HTTP status code is not handled or not allowed 2026-01-27 21:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-2-axis-acu-rite-203-dro>: HTTP status code is not handled or not allowed 2026-01-27 21:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-commercial-duty-exhaust-fan-3-phase-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 21:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-15ml-polypropylene-orange-stand-up-zipbag-mg-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rv-pette-dispenser-tip-for-repeat-volume-pipettors-10ml-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-2-x-72>: HTTP status code is not handled or not allowed 2026-01-27 21:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camrack-base-rack-7-1-2-inch-inside-stack-height-red-nsf>: HTTP status code is not handled or not allowed 2026-01-27 21:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-easy-fold-mailer-9-5-8-x-6-5-8-x-2-1-2>: HTTP status code is not handled or not allowed 2026-01-27 21:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-tray-top-shelf-lawn-garden-shopping-cart-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camrack-base-rack-7-1-2-inch-inside-stack-height-teal-nsf>: HTTP status code is not handled or not allowed 2026-01-27 21:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 21437 pages (at 96 pages/min), scraped 8355 items (at 31 items/min) 2026-01-27 21:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-36x18x84-self-latch-industrial-cabinet-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/berries-plastic-chair-with-powder-coated-legs-12-ht-camel>: HTTP status code is not handled or not allowed 2026-01-27 21:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/howard-butcher-block-conditioner-1-gallon-jug-4-case>: HTTP status code is not handled or not allowed 2026-01-27 21:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-7-19-05mm-x-25-4mm-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-27 21:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1848-sf-5l6-1-2-x-1-4-double-cut-round-nose-tree-bur>: HTTP status code is not handled or not allowed 2026-01-27 21:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-totally-enclosed-direct-drive-duct-fan-3-phase-3-hp-1>: HTTP status code is not handled or not allowed 2026-01-27 21:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bound-vinyl-platform-truck-30-x-48-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1851-se-3l6-3-8-x-1-4-double-cut-egg-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-27 21:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1846-sb-5-1-2-x-1-4-standard-cut-cylindrical-bur-w-end-cut>: HTTP status code is not handled or not allowed 2026-01-27 21:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-jumbo-mailer-32-x-22-x-6>: HTTP status code is not handled or not allowed 2026-01-27 21:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-3-9-53mm-x-19-1mm-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-27 21:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-aluminum-rolling-ladder-16w-grip-tread-14d-top-step>: HTTP status code is not handled or not allowed 2026-01-27 21:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1846-sb-1-1-4-x-1-4-standard-cut-cylindrical-bur-w-end-cut>: HTTP status code is not handled or not allowed 2026-01-27 21:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-clipboard-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-aluminum-wheel-barrow-style-rolling-ladder-16w-plat-ribbed-tread-wlartr107164c>: HTTP status code is not handled or not allowed 2026-01-27 21:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preprinted-dividers-220903-top-open-11-tab-set>: HTTP status code is not handled or not allowed 2026-01-27 21:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-dock-board-with-lock-pins-60in-w-x-60in-l-20-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/280xl025-standard-timing-belt-xl-1-4-x-28-t140-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 21:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-safety-fan-guard-42-duct-fans>: HTTP status code is not handled or not allowed 2026-01-27 21:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1849-sg-44-3-00mm-x-12-7mm-double-cut-pointed-tree-bur>: HTTP status code is not handled or not allowed 2026-01-27 21:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-container-ramp-72in-w-x-72in-l-15-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unsupported-8-step-40-cantilever-ladder-perforated>: HTTP status code is not handled or not allowed 2026-01-27 21:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dissolve-it-waste-digester-odor-counteractant-gallon-bottle-cl-3000>: HTTP status code is not handled or not allowed 2026-01-27 21:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1849-sg-3l6-3-8-x-1-4-standard-cut-pointed-tree-bur>: HTTP status code is not handled or not allowed 2026-01-27 21:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/190xl037-standard-timing-belt-xl-3-8-x-19-t95-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 21:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-51-1-4-x-1-8-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-27 21:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1845-sa-3-3-8-x-1-4-double-cut-cylindrical-bur-w-o-end-cut>: HTTP status code is not handled or not allowed 2026-01-27 21:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-14-and-516-plug-and-gasket-for-sealright>: HTTP status code is not handled or not allowed 2026-01-27 21:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-black-stealthnet-standard-duty-bird-netting-25-x-75-n1-b130>: HTTP status code is not handled or not allowed 2026-01-27 21:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100xl037-standard-timing-belt-xl-3-8-x-10-t50-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 21:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jewel-magsnap-magground-coil-cord-adapter>: HTTP status code is not handled or not allowed 2026-01-27 21:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/210xl050-standard-timing-belt-xl-1-2-x-21-t105-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 21:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-corner-tilter-48-x48-x24-4000-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 21:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-polypropylene-molded-graduations-500ml>: HTTP status code is not handled or not allowed 2026-01-27 21:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unex-gravity-flow-roller-rack-with-wheel-bed-starter-96w-x-96d-x-84h-with-4-levels>: HTTP status code is not handled or not allowed 2026-01-27 21:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unex-additional-level-for-gravity-flow-roller-rack-with-knuckled-span-track-wheel-bed-48w-x-96d>: HTTP status code is not handled or not allowed 2026-01-27 21:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-cross-over-ladder-103-1-2-l>: HTTP status code is not handled or not allowed 2026-01-27 21:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-1-4-x-47-1-2-h-deluxe-office-partition-panel-electric-gray-277543gy>: HTTP status code is not handled or not allowed 2026-01-27 21:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-5kw-240v-flowco-electric-tankless-water-heater>: HTTP status code is not handled or not allowed 2026-01-27 21:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/322l037-standard-timing-belt-l-3-8-x-32-3-16-t86-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 21:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-traffic-light-system>: HTTP status code is not handled or not allowed 2026-01-27 21:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-manual-reset-pressure-switch-410-psi-open>: HTTP status code is not handled or not allowed 2026-01-27 21:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banking-vault-safe-interiors-3-compartment-2303-17-i-16-1-4w-x-17d-x-15-11-16h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-inch-heavy-duty-adjustable-height-steel-work-platform-gray-9-h-to-14-h>: HTTP status code is not handled or not allowed 2026-01-27 21:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-therm-o-disc-sequencer-q105>: HTTP status code is not handled or not allowed 2026-01-27 21:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-174-large-blue-looped-mop-head-narrow-band>: HTTP status code is not handled or not allowed 2026-01-27 21:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tilt-out-storage-bin-3-5-8-l-x-23-5-8-w-x-11-3-16-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-with-screwcap-narrow-mouth-ldpe-graduated-500ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-solid-shelving-48-x-24-x-75>: HTTP status code is not handled or not allowed 2026-01-27 21:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gate-valve-stem-shield-cable-lock-5-inch-stem-9105s>: HTTP status code is not handled or not allowed 2026-01-27 21:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-with-rfid-for-captrack-ct1-and-ct2-models-half-size-13mm-36-place-red>: HTTP status code is not handled or not allowed 2026-01-27 21:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tork-advanced-masterfold-dispenser-napkins-d802a>: HTTP status code is not handled or not allowed 2026-01-27 21:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2200h075-standard-timing-belt-h-3-4-x-220-t440-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-27 21:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/39272-pocket-fold-up-thermometer-wadjustable-probe-black-45l>: HTTP status code is not handled or not allowed 2026-01-27 21:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/furniture-pipe-fittings-5l-34dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-27 21:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-set-tape-2-inch-x-60-yards>: HTTP status code is not handled or not allowed 2026-01-27 21:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-bar-20-clear>: HTTP status code is not handled or not allowed 2026-01-27 21:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-polypropylene-molded-graduations-250ml>: HTTP status code is not handled or not allowed 2026-01-27 21:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workstation-4-way-polypropylene-02ml-05ml-pcr-microtubes-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40btl60-taper-bushed-12-pitch-60-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcruiser-vending-cart-55-3-16-l-x-31-1-4-w-x-93-1-2-h-granite-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcruiser-vending-cart-55-3-16-l-x-31-1-4-w-x-93-1-2-h-granite-green>: HTTP status code is not handled or not allowed 2026-01-27 21:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-stack-bin-7-5-16-inch-w-x-11-13-16-inch-d-x-6-1-8-inch-h-price-for-pkg-qty-24>: HTTP status code is not handled or not allowed 2026-01-27 21:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-or-countertop-magazine-rack-20-w-medium-oak>: HTTP status code is not handled or not allowed 2026-01-27 21:57:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-security-gate-6-hx12-w-use>: HTTP status code is not handled or not allowed 2026-01-27 21:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biobox-81-for-30ml-40ml-and-50ml-cryoclear-vials-polycarbonate-holds-81-place-red-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:57:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-angle-beam-72-w-x-48-d-x-84-h-4-level-add-on-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octagon-sign-base-with-98h-post-green-8w-x-20h-base>: HTTP status code is not handled or not allowed 2026-01-27 21:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sfp22a-cp-8-in-trim-plate-kit-single-hole-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-27 21:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-48-w-x-36-d-x-84-h-3-level-starter-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-27 21:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 21534 pages (at 97 pages/min), scraped 8384 items (at 29 items/min) 2026-01-27 21:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tornado-bd-14-4-compact-automatic-scrubber-14-cleaning-width-black>: HTTP status code is not handled or not allowed 2026-01-27 21:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nitrogen-gas-cylinder-1066-99999-pure-103l-j>: HTTP status code is not handled or not allowed 2026-01-27 21:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbon-monoxide-gas-cylinder-1016-200-ppm-bal-n2-17l-p>: HTTP status code is not handled or not allowed 2026-01-27 21:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-caddies-slate-blue-175-lbs-cap-short-2-fixed-2-swivel-1-with-brake>: HTTP status code is not handled or not allowed 2026-01-27 21:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-custom-paint-color-agb3200>: HTTP status code is not handled or not allowed 2026-01-27 21:58:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-27 21:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-27 21:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-caddies-beige-125-lbs-cap-tall>: HTTP status code is not handled or not allowed 2026-01-27 21:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-duty-3-8-inch-square-drive-size-impact-wrench-25-to-230-ft-lb-torque>: HTTP status code is not handled or not allowed 2026-01-27 21:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-start-jsef55-smart-float-55-cell-grow-tray-flat-wplugs>: HTTP status code is not handled or not allowed 2026-01-27 21:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-standard-size-cluster-fiber-fill-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35b10hx38mpb-38-pitch-38-plain-bore-10-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advanced-crazy-glue-gel-maximum-bond-4g-tube>: HTTP status code is not handled or not allowed 2026-01-27 21:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12a30h-metric-a-plate-34-pitch-19mm-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8366-glowear-174-type-r-class-3-lightweight-hi-vis-rain-jacket-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-27 21:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-direct-drive-blower-motor-208-230-volts-1075-rpm-1>: HTTP status code is not handled or not allowed 2026-01-27 21:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs34hx112-58-pitch-1-12-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-primer-coat-saltwater-agb2400>: HTTP status code is not handled or not allowed 2026-01-27 21:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-polypropylene-molded-graduations-250ml-16-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs22hx114-34-pitch-1-14-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16a22-metric-a-plate-1-pitch-24mm-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-with-screwcap-narrow-mouth-ldpe-graduated-2000ml-20-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-childs-rectangular-outdoor-steel-picnic-table-expanded-metal-red>: HTTP status code is not handled or not allowed 2026-01-27 21:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-pmp-tpx-printed-graduations-5000ml-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8in-mold-on-rubber-swivel-caster-with-brake-for-little-giant-carts>: HTTP status code is not handled or not allowed 2026-01-27 21:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-vented-shelf-48-x-24>: HTTP status code is not handled or not allowed 2026-01-27 21:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs32hx112-58-pitch-1-12-finished-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-s60x6-female-buttress-x-3-4-male-garden-hose-pipe-thread-adapter>: HTTP status code is not handled or not allowed 2026-01-27 21:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-with-screwcap-wide-mouth-polypropylene-graduated-100ml-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20a15h-metric-a-plate-1-14-pitch-25mm-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-double-sha-motor-115-volts-1550-rpm-1>: HTTP status code is not handled or not allowed 2026-01-27 21:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armor-poly-vci-sheeting-4-mil-hs-20-x-100-blue-1-roll-pkg>: HTTP status code is not handled or not allowed 2026-01-27 21:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs23hx35-metric-34-pitch-35mm-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-with-screwcap-wide-mouth-polypropylene-graduated-100ml-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packard-c-frame-nutone-replacement-motor-120-volts-3000-rpm-6>: HTTP status code is not handled or not allowed 2026-01-27 21:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-06bs16hx18-metric-38-pitch-18mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drying-rack-72-place-removable-pegs-high-impact-polystyrene>: HTTP status code is not handled or not allowed 2026-01-27 21:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-2-2-white-red-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/if-seal-is-broken-3-5-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-27 21:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-48-x-48-x-96-1-mil-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-jeep-jack-with-7-000-lb-lifting-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs09hx34-58-pitch-34-finished-bore-9-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-amp-portable-smart-charger>: HTTP status code is not handled or not allowed 2026-01-27 21:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shake-well-2-dia-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-27 21:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-bags-6-x-9-650-pack>: HTTP status code is not handled or not allowed 2026-01-27 21:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/number-1-adjustable-height-complete-packing-workbench-laminate-safety-edge-60-x-30-blue>: HTTP status code is not handled or not allowed 2026-01-27 21:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charger-6-12-24v-70-65-30a-agm-280-amp-cranking>: HTTP status code is not handled or not allowed 2026-01-27 21:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-bubble-roll-with-dispenser-12-x-50-x-1-2>: HTTP status code is not handled or not allowed 2026-01-27 21:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cotton-twine-8-ply-20-lb-6300>: HTTP status code is not handled or not allowed 2026-01-27 21:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazard-class-2-inhalation-hazard-4-4-white-black>: HTTP status code is not handled or not allowed 2026-01-27 21:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/number-3-hydraulic-adjustable-height-packing-workbench-laminate-square-edge-96-x-30-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ntep-mobile-bench-scale-w-backrail-led-display-500-lb-x-0-1-lb>: HTTP status code is not handled or not allowed 2026-01-27 21:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sling-positioning-2000lb-for-shop-cranes>: HTTP status code is not handled or not allowed 2026-01-27 21:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-c-frame-dra-inducer-motor-115-volts-2950-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/painted-edge-procelain-markerboard-48-x72-frameless-hidden-z-bar-installation>: HTTP status code is not handled or not allowed 2026-01-27 21:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs24hx1-58-pitch-1-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fragile-this-side-up-handle-with-care-3-5-style-2-white-red>: HTTP status code is not handled or not allowed 2026-01-27 21:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fragile-this-side-up-handle-with-care-4-6-white-red>: HTTP status code is not handled or not allowed 2026-01-27 21:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-tier-9-door-premium-steel-locker-12-w-x-15-d-x-24-h-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 21:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-to-know-4-6-white-red-black-blue-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-chrome-21w-x-72l-x-40h-3-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-totally-enclosed-motor-115-volts-1500-rpm-11>: HTTP status code is not handled or not allowed 2026-01-27 21:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluorescent-green-2-dia-discs>: HTTP status code is not handled or not allowed 2026-01-27 21:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/six-tier-6-door-premium-steel-locker-12-w-x-18-d-x-12-h-black-assembled>: HTTP status code is not handled or not allowed 2026-01-27 21:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-chrome-24w-x-36l-x-40h-2-wire-1-solid-shelf-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-container-4011-2-3-8-x-7-8>: HTTP status code is not handled or not allowed 2026-01-27 21:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-permanent-split-capacitor-motor-115-volts-3000-rpm-1>: HTTP status code is not handled or not allowed 2026-01-27 21:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keep-away-from-heat-3-4-white-red-black>: HTTP status code is not handled or not allowed 2026-01-27 21:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-aluminum-camlock-fitting-male-barb-x-male-coupler-thread>: HTTP status code is not handled or not allowed 2026-01-27 21:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 21630 pages (at 96 pages/min), scraped 8411 items (at 27 items/min) 2026-01-27 21:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-aluminum-camlock-fitting-male-coupler-x-mpt-thread>: HTTP status code is not handled or not allowed 2026-01-27 21:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-aluminum-camlock-fitting-dust-cap-thread>: HTTP status code is not handled or not allowed 2026-01-27 21:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs34hx1-12-pitch-1-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-1-1-2-mr-clip-safety-pink-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 21:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-premium-two-tone-hooded-rain-coat-black-bottom-lime-l-xl>: HTTP status code is not handled or not allowed 2026-01-27 21:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-chrome-21w-x-48l-x-63h-4-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-27 21:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-ansi-premium-rain-bib-pants-black-6809-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-27 21:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-multi-color-vest-blue-s-m>: HTTP status code is not handled or not allowed 2026-01-27 21:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-container-ramp-60-w-x-96-l-15-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 21:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb4310-men-s-athletic-work-shoe-black-grey-size-9-5-m>: HTTP status code is not handled or not allowed 2026-01-27 21:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-surveyors-safety-vest-black-2xl>: HTTP status code is not handled or not allowed 2026-01-27 21:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs17hx114-34-pitch-1-14-finished-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50btl35-taper-bushed-58-pitch-35-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-blower-115-volts-3000-rpm-25>: HTTP status code is not handled or not allowed 2026-01-27 21:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inspect-for-damage-1-3-8-2-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-27 21:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-thermostat-guard-includes-one-replacement-key>: HTTP status code is not handled or not allowed 2026-01-27 21:59:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-silver-ep-18w-x-36l-x-43h-2-wire-1-solid-shelf-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-silver-ep-24w-x-42l-x-72h-4-wire-shelves-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-27 21:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs15hx50-metric-1-14-pitch-50mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fri-2-dia-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-27 21:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs38x138-34-pitch-1-38-finished-bore-38-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rack-upright-36-inches-d-x-96-inches-h>: HTTP status code is not handled or not allowed 2026-01-27 21:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-tip-out-bin-unit-single-sided-24-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 21:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-m1kalfsts-magnum-laminated-steel-padlock-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-27 21:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-4696d-t-s-a-accepted-luggage-combination-padlock-1-5-16-inch-w-syo-black>: HTTP status code is not handled or not allowed 2026-01-27 21:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquasense-z6913-xl-cp4-tmv-1-battery-powered-sensor-faucet-4-deck-plate-mixing-valve>: HTTP status code is not handled or not allowed 2026-01-27 21:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-tip-out-bin-unit-double-sided-70-h-white>: HTTP status code is not handled or not allowed 2026-01-27 21:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats>: HTTP status code is not handled or not allowed 2026-01-27 21:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs27hx1-34-pitch-1-finished-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-hype-lite-safety-vest-w-black-side-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-27 21:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/touch-free-condiment-dispenser-silver>: HTTP status code is not handled or not allowed 2026-01-27 21:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-hp-motor-global-30-deluxe-pedestal-fan-model-652299y-yellow>: HTTP status code is not handled or not allowed 2026-01-27 21:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-piece-12-point-standard-sae-mechanics-tool-set-with-12-drive-tang>: HTTP status code is not handled or not allowed 2026-01-27 21:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs18hx28-metric-1-pitch-28mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hold-by-3-5-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-27 21:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/653-4-1-2-fnpt-x-3-8-mnpt-hose-fitting-adapter>: HTTP status code is not handled or not allowed 2026-01-27 21:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t8-quantum-lamp-25w-x-18-25-case>: HTTP status code is not handled or not allowed 2026-01-27 21:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-catch-clip-for-mantis>: HTTP status code is not handled or not allowed 2026-01-27 21:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-682-tank-conversion-kit-with-4-hose-assembly-kit>: HTTP status code is not handled or not allowed 2026-01-27 21:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-demi-diamond-blue-plastic-station-50-box>: HTTP status code is not handled or not allowed 2026-01-27 21:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-green-disc-with-16>: HTTP status code is not handled or not allowed 2026-01-27 21:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/655-1-4-fnpt-brass-tee-hose-fitting-box-of-5>: HTTP status code is not handled or not allowed 2026-01-27 21:59:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/rugs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs24x114-1-pitch-1-14-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs27hx11516-34-pitch-1-1516-finished-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-27 21:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflecktobakt-glue-board-sleeve-t12-x-24>: HTTP status code is not handled or not allowed 2026-01-27 21:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-mobile-cabinet-24-wx21-dx35-1-4-h-everest-blue-1>: HTTP status code is not handled or not allowed 2026-01-27 21:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/group-5-lithium-ion-powersports-battery-rechargeable-250a-12-8v>: HTTP status code is not handled or not allowed 2026-01-27 21:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skittles-fun-size-packs-4-lb-gr>: HTTP status code is not handled or not allowed 2026-01-27 21:59:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-ec09b-1-hp-1-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-8330-1-4-hp-1-phase-1350-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-drawer-mobile-multi-drawer-cabinet-60-wx27-dx37-1-2-h-everest-blue-1>: HTTP status code is not handled or not allowed 2026-01-27 21:59:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ff15e1gv-15-hp-3-phase-3495-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/decor_linens/rugs>: HTTP status code is not handled or not allowed 2026-01-27 21:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-4125-1-30-hp-1-phase-1100-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-5454-1-5-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-ceiling-mount-ventilation-fan-434-cfm-2-3-sones-l400>: HTTP status code is not handled or not allowed 2026-01-27 21:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t13cm2j-1-3-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24-wx70-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-27 21:59:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-1964-1-8-hp-1-phase-1500-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dum-dums-bulk-lollipops-30-lb-gr>: HTTP status code is not handled or not allowed 2026-01-27 21:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-ec09b-1-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:59:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/crackers_chips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-6794-home-exercise-package-pro-set>: HTTP status code is not handled or not allowed 2026-01-27 21:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee>: HTTP status code is not handled or not allowed 2026-01-27 21:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-only-153-91160-windlass-tourniquet>: HTTP status code is not handled or not allowed 2026-01-27 21:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-bottles-cans-recycling-lid-green>: HTTP status code is not handled or not allowed 2026-01-27 21:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-1-4-inch-worm-drive-circular-saw-with-electric-brake-dws535b>: HTTP status code is not handled or not allowed 2026-01-27 21:59:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_grinder/angle_grinders/corded_angle_grinders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 21:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-25-2-drawer-legal-fire-and-water-resistant-file-cabinet-lt-gray-lgl2w25lg>: HTTP status code is not handled or not allowed 2026-01-27 21:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-1-2-gallon-wet-dry-portable-vacum-with-hepa-filter-dcv517b>: HTTP status code is not handled or not allowed 2026-01-27 21:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-1964-1-8-hp-1-phase-1500-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frito-lay-variety-big-grab-30-count-gr>: HTTP status code is not handled or not allowed 2026-01-27 21:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-180-1-3-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-xr-compact-reciprocating-saw-kit-dcs367p1>: HTTP status code is not handled or not allowed 2026-01-27 21:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 21722 pages (at 92 pages/min), scraped 8433 items (at 22 items/min) 2026-01-27 21:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-h5v1bc-5-hp-3-phase-3520-rpm>: HTTP status code is not handled or not allowed 2026-01-27 21:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-xr-brushless-high-torque-3-4-inch-impact-wrench-hog-ring-bare-tool-only-dcf897b>: HTTP status code is not handled or not allowed 2026-01-27 21:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-anti-fatigue-mat-7-8-thick-48-w-yellow-border-from-3-up-to-60>: HTTP status code is not handled or not allowed 2026-01-27 21:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/power_grinder/angle_grinders/corded_angle_grinders>: HTTP status code is not handled or not allowed 2026-01-27 21:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u1v3bc-1-hp-3-phase-1155-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-eh740-3-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linea-4-shelf-statuary-bronze-etagere-with-hang-bar>: HTTP status code is not handled or not allowed 2026-01-27 22:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regulator-ng-2-psig-min-inlet-boss-1000>: HTTP status code is not handled or not allowed 2026-01-27 22:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lbr-6-inch-round-retrofit-downlight-1000-2000-lumens-3000-5000k-silver>: HTTP status code is not handled or not allowed 2026-01-27 22:00:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/crackers_chips landed on page that is not a product page. 2026-01-27 22:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datum-large-mobile-cpu-locker-black>: HTTP status code is not handled or not allowed 2026-01-27 22:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-174-locker-single-tier-18x18x72-3-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-spreader-6-0-cubic-feet-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uberlight-26-flex-led-task-light-with-round-base-white>: HTTP status code is not handled or not allowed 2026-01-27 22:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ee707-3-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ec3002-3-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn47-7-5-1-h-143-5tc-cast-iron-helical-bevel-speed-reducer-143-5tc-input-flange-7-5-1-ft-mt>: HTTP status code is not handled or not allowed 2026-01-27 22:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-graduated-globe-glass-class-a-to-deliver-td-dual-grads-astm-e1272-1000ml>: HTTP status code is not handled or not allowed 2026-01-27 22:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ready-built-ii-locker-six-tier-1-wide-12x12x78-parchment>: HTTP status code is not handled or not allowed 2026-01-27 22:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-knock-down-corrosion-resistant-locker-single-tier-1-wide-12x15x78>: HTTP status code is not handled or not allowed 2026-01-27 22:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ready-built-ii-locker-single-tier-1-wide-12x12x78-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-supported-portable-personal-safety-partition-2w-x-5h-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/181501-rfx-pt300dw-double-wide-wireless-wheel-load-scale-30000-x-50-lb>: HTTP status code is not handled or not allowed 2026-01-27 22:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ready-built-ii-locker-triple-tier-1-wide-12x12x78-parchment>: HTTP status code is not handled or not allowed 2026-01-27 22:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vxmtal-multi-tube-vortex-mixer-analog-120v>: HTTP status code is not handled or not allowed 2026-01-27 22:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-assembled-electronic-access-locker-six-tier-3-wide-12x12x78>: HTTP status code is not handled or not allowed 2026-01-27 22:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-infrared-patio-heater-two-stage-35000-btu-glass-series>: HTTP status code is not handled or not allowed 2026-01-27 22:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vp40n21-vacuum-packer-40cm-sealing-bar>: HTTP status code is not handled or not allowed 2026-01-27 22:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securitymax-high-security-solid-welded-locker-24x22x72>: HTTP status code is not handled or not allowed 2026-01-27 22:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u1p3dc-1-hp-3-phase-1155-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t1p1a-1-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dandux-rectangular-plastic-box-truck-blue-32-bushel-1120-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-ply-disposable-face-mask-youth-size-individually-packed-50-box>: HTTP status code is not handled or not allowed 2026-01-27 22:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-96-w-x-18-d-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:00:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-xs1ca1j-1-hp-1-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-galvanized-steel-blower-wheel-3-27-32-diameter-1-4-bore-1>: HTTP status code is not handled or not allowed 2026-01-27 22:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/connecting-s-hooks-2-inch-safety-green-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-c250p1cs-250-hp-3-phase-3575-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-bread-bags-10x15-1-25-mili>: HTTP status code is not handled or not allowed 2026-01-27 22:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs15i-a145-200-3-60-base-mount-145-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-4742-1-6-hp-1-phase-1650-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan77-7-5-1-h-213-5tc-cast-iron-helical-bevel-speed-reducer-213-5tc-input-flange-7-5-1>: HTTP status code is not handled or not allowed 2026-01-27 22:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-mount-u-shaped>: HTTP status code is not handled or not allowed 2026-01-27 22:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-5460-1-2-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan67-20-1-h-182-4tc-cast-iron-helical-bevel-speed-reducer-182-4tc-input-flange-20-1>: HTTP status code is not handled or not allowed 2026-01-27 22:00:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-5846-3-4-hp-1-phase-1075-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/over-work-wall-mounted-pegboard-swing-panel-48-w-x-48-h>: HTTP status code is not handled or not allowed 2026-01-27 22:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-xs1ca1j-1-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-stem-so-tread-caster-with-brake-75mm-dia-1-2-13-x-1-stem-black>: HTTP status code is not handled or not allowed 2026-01-27 22:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-stem-so-tread-caster-60mm-dia-3-8-16-x-3-4-stem-black>: HTTP status code is not handled or not allowed 2026-01-27 22:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kan-series-helical-bevel-speed-reducer-b5-output-flg-kit-size-97-b5-output-flg-kit-hardw-incl>: HTTP status code is not handled or not allowed 2026-01-27 22:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan97-20-1-h-213-5tc-cast-iron-helical-bevel-speed-reducer-213-5tc-input-flange-20-1>: HTTP status code is not handled or not allowed 2026-01-27 22:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-gray-60-1-4-x-96-h>: HTTP status code is not handled or not allowed 2026-01-27 22:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-food-bars-work-table-cold-food-72-x-29-low-navy-blue-3>: HTTP status code is not handled or not allowed 2026-01-27 22:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-strut-aluminum-walk-ramp-16-l-x-38-w>: HTTP status code is not handled or not allowed 2026-01-27 22:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-5846-3-4-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-mobile-office-partition-panel-with-partial-window-36-1-4-w-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-mobile-office-partition-panel-with-partial-window-60-1-4-w-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-deluxe-mobile-office-partition-panel-with-partial-window-36-1-4-w-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-retrofit-door-for-upch-400-series-heated-ultra-pancarrier-220v-granite-green>: HTTP status code is not handled or not allowed 2026-01-27 22:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-deluxe-mobile-office-partition-panel-with-partial-window-36-1-4-w-x-96-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-roll-file-24-compartment>: HTTP status code is not handled or not allowed 2026-01-27 22:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/92-pocket-steel-rotary-magazine-rack-black>: HTTP status code is not handled or not allowed 2026-01-27 22:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camcart-heated-food-pan-carrier-front-loading-granite-green-110v-60-1-ph-529-watts>: HTTP status code is not handled or not allowed 2026-01-27 22:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/defendair-hepa-panel-filter-for-defendair-500>: HTTP status code is not handled or not allowed 2026-01-27 22:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-high-base-steel-flat-files-white>: HTTP status code is not handled or not allowed 2026-01-27 22:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-flammable-cabinet-with-self-close-doors-11-gallon>: HTTP status code is not handled or not allowed 2026-01-27 22:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-rack-with-12-bins-25-1-8-l-x-21-3-8-d-x-14-1-4-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cherry-counter-blue-panel-l-shaped-reception-station-3>: HTTP status code is not handled or not allowed 2026-01-27 22:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-double-tier-1-wide-12-x-12-x-30-deep-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-18-diameter-turntable-7-8-h-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-24-diameter-turntable-7-8-h-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locker-slope-top-kit-for-3-lockers-12-x-36-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-rubber-round-bumper-guard-3-1-4-diameter-case-of-16>: HTTP status code is not handled or not allowed 2026-01-27 22:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seal-cover-for-camwear-6-and-8-qt-round-storage-container-translucent-sheer-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camtainer-beverage-carrier-insulated-plastic-10-1-2-gallon-capacity-granite-sand>: HTTP status code is not handled or not allowed 2026-01-27 22:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-post-kit-14-w-x-84-h-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-27 22:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meal-delivery-cart-tall-profile-3-doors-60x29-1-4x63-5-8-granite-gray-with-cream-color-door>: HTTP status code is not handled or not allowed 2026-01-27 22:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 21820 pages (at 98 pages/min), scraped 8455 items (at 22 items/min) 2026-01-27 22:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handwashing-station-w-paper-towel-and-soap-dispenser-use-w-2-1-2-or-5-gallon-camtainer-dark-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingredient-bin-mobile-37-gallon-capacity-white-with-clear-cover>: HTTP status code is not handled or not allowed 2026-01-27 22:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-angle-frame-mirror-18-wx30-h>: HTTP status code is not handled or not allowed 2026-01-27 22:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-shelf-plate-kit-14-w-x-48-l-solid-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-27 22:01:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/bathroom_wall_mirrors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunnage-rack-solid-top-60x60-speckled-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-shelf-plate-kit-14-w-x-72-l-solid-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-27 22:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-add-on-unit-18-w-x-60-l-x-64-h-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-27 22:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-wardrobe-cabinet-36x22x84>: HTTP status code is not handled or not allowed 2026-01-27 22:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducing-manifold-10mm-tube-x-6mm-tube-x-1-4-swift-fit>: HTTP status code is not handled or not allowed 2026-01-27 22:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5mm-balldriver-l-wrench-10964>: HTTP status code is not handled or not allowed 2026-01-27 22:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-stainless-steel-6mm-tube-x-1-8-swift-fit>: HTTP status code is not handled or not allowed 2026-01-27 22:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forced-air-circulation-incubator-programmable-449-liters-115-volt>: HTTP status code is not handled or not allowed 2026-01-27 22:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forced-air-circulation-incubator-programmable-256-liters-115-volt>: HTTP status code is not handled or not allowed 2026-01-27 22:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/decor_linens/bathroom_wall_mirrors>: HTTP status code is not handled or not allowed 2026-01-27 22:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-digital-caliper-0-12-inch-0-300mm-range>: HTTP status code is not handled or not allowed 2026-01-27 22:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-v-block-3-0-inch-l-x-2-3-16-inch-w-x-3-0-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 22:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/measuring-tool-set-7-7-8-inch-l-2-piece>: HTTP status code is not handled or not allowed 2026-01-27 22:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-magnetic-stand-w-225-lb-magnetic-pull>: HTTP status code is not handled or not allowed 2026-01-27 22:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pb-insulated-wax-glycerin-melting-heater-for-5-gallon-bucket-200-degrees>: HTTP status code is not handled or not allowed 2026-01-27 22:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-direct-mount-w-interlock-6-inch-l-x-8-inch-w-14-inch-offset>: HTTP status code is not handled or not allowed 2026-01-27 22:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-curved-direct-mount-w-o-interlock-12-inch-l-x-8-inch-w>: HTTP status code is not handled or not allowed 2026-01-27 22:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-automatic-slide-cutter-24-inch-l>: HTTP status code is not handled or not allowed 2026-01-27 22:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-economy-magnetic-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 22:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/birdwire-stainless-steel-500l>: HTTP status code is not handled or not allowed 2026-01-27 22:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/birdwire-stainless-steel-1000l>: HTTP status code is not handled or not allowed 2026-01-27 22:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tower-guard-14-zip-ties-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stealthnet-2-standard-bird-netting-25l-x-50w-black>: HTTP status code is not handled or not allowed 2026-01-27 22:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tree-shock-bird-deterrent-for-trees-15l>: HTTP status code is not handled or not allowed 2026-01-27 22:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-w-integrated-shackle-58-dia-x-75l>: HTTP status code is not handled or not allowed 2026-01-27 22:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-antimicrobial-vinyl-basket-truck-w-bumper-18-bushel-capacity-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquavantage-aquaflush-exp-urinal-fv-3-0-gpf>: HTTP status code is not handled or not allowed 2026-01-27 22:01:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_cleaner_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/springville-lounge-chair-black>: HTTP status code is not handled or not allowed 2026-01-27 22:01:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgecrest-pergola-120l-x-120w-coastal-teak>: HTTP status code is not handled or not allowed 2026-01-27 22:01:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/muskoka-adirondack-5-piece-bistro-dining-set-36h-table-weathered-acorn>: HTTP status code is not handled or not allowed 2026-01-27 22:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orlando-silver-lines-slab-door-wood-36w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-27 22:01:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:01:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/largo-night-lines-slab-door-wood-36w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-27 22:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labella-slab-door-wood-24w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-27 22:01:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmdale-slab-door-wood-24w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-27 22:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orlando-night-lines-slab-door-wood-32w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-27 22:01:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_cleaner_filters>: HTTP status code is not handled or not allowed 2026-01-27 22:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-cover-plates-white>: HTTP status code is not handled or not allowed 2026-01-27 22:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butterfly-hinge-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets>: HTTP status code is not handled or not allowed 2026-01-27 22:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-shower-commode-chair-slideout-footrest-310-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:01:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables landed on page that is not a product page. 2026-01-27 22:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-40l-x-4w-black>: HTTP status code is not handled or not allowed 2026-01-27 22:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 22:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-50l-x-2w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-27 22:01:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:01:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-40l-x-4w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-27 22:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 22:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-60l-x-5w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-27 22:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 22:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chillshield-mens-insulated-jacket-small-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chillshield-mens-insulated-pants-xl-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-enhanced-visibility-softshell-insulated-bib-overalls-4xl-black>: HTTP status code is not handled or not allowed 2026-01-27 22:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-diamond-quilted-jacket-2xl-black>: HTTP status code is not handled or not allowed 2026-01-27 22:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-tea-brewer-filters-w-flat-bottom-pack-of-3000>: HTTP status code is not handled or not allowed 2026-01-27 22:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-27 22:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors>: HTTP status code is not handled or not allowed 2026-01-27 22:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coated-paper-dinnerware-plate-9-dia-white-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-cup-dome-lids-fits-16-24-oz-cups-pet-plastic-clear-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 22:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-teaspoon-polypropylene-black-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 22:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/newspring-delitainer-microwavable-container-2-l-x-2-w-x-2-h-pack-of-240>: HTTP status code is not handled or not allowed 2026-01-27 22:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microgourmet-deli-container-4-11-16-dia-x-5-11-16-h-clear-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-poly-food-combo-pack-8-oz-white-pack-of-250>: HTTP status code is not handled or not allowed 2026-01-27 22:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comet-plastic-squat-tumblers-9-oz-clear-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/world-art-lids-for-12-oz-16-oz-32-oz-soup-container-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 21906 pages (at 86 pages/min), scraped 8474 items (at 19 items/min) 2026-01-27 22:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polystyrene-vented-hot-cup-lids-for-4-oz-cups-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 22:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-compact-bench-scale-330-lb-x-0-1-lb-12-in-x-12-in-platform>: HTTP status code is not handled or not allowed 2026-01-27 22:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-black-primer-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-ivy-leaf-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl_composite_tile_vct_stripping_polishing_scrubbing_pad_chemical_package_20>: HTTP status code is not handled or not allowed 2026-01-27 22:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-cooled-chiller-w-closed-loop-water-application-1-ton-capacity-9373-btus-per-hour>: HTTP status code is not handled or not allowed 2026-01-27 22:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-flow-rack-4-levels-spantrack-wheel-bed-96-w-x-96-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-27 22:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-2-x-4-led-light-panel-1000-k-with-wiring>: HTTP status code is not handled or not allowed 2026-01-27 22:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-abdominal-binder-9h-to-fit-63--78-rib-measurement-universal>: HTTP status code is not handled or not allowed 2026-01-27 22:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pediatric-cast-shoe-3x-small>: HTTP status code is not handled or not allowed 2026-01-27 22:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k1-basic-wheelchair-w-swing-back-desk-length-arms-elevating-leg-rests-nylon-20w-seat>: HTTP status code is not handled or not allowed 2026-01-27 22:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/feeding-system-single-syringe-w-iv-pole-bag-60ml-clear-pack-of-30>: HTTP status code is not handled or not allowed 2026-01-27 22:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-pitcher-kit-w-inner-plastic-liner-32-oz-pack-of-40>: HTTP status code is not handled or not allowed 2026-01-27 22:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-tumbler-pitcher-set-32-oz-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 22:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multilayer-disposable-exam-shorts-w-elastic-waist-size-xl-blue-30-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplicity-2-rollator-w-8-casters-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabric-urinary-drain-bag-covers-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-27 22:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sterile-wytex-undercast-padding-144l-x-2w-white-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-27 22:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garden-cart-steel-1200-lb-capacity-66-1-4l-x-30-1-4w-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-stainless-steel-ballcock-connector-20l-38-x-78-od-x-bc-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 22:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delta-seat-spring-kit-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rebuild-kit-for-sayco-shower-valves>: HTTP status code is not handled or not allowed 2026-01-27 22:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-handle-basin-faucet-12-gpm-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cartridge-for-moen-single-handle-faucets-plastic-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-standing-rack-for-tubing-or-jump-ropes-23l-x-23w-x-73h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerwave-spartan-training-device>: HTTP status code is not handled or not allowed 2026-01-27 22:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beverage-center-1-glass-door-31-cuft-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apartment-sized-refrigeratorfreezer-combo-unit-101-cuft-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 22:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apartment-size-refrigerator-11-cuft-capacity-black-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dh016a1w-t-undercounter-laboratory-refrigerator-solid-door-16-cuft-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:02:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/wet_dry_vacuums/general_purpose_shop_vacuums already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-wet-and-dry-vacuum-3-hp-55-gallon>: HTTP status code is not handled or not allowed 2026-01-27 22:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-wet-and-dry-vacuum-4-5-hp-10-gallon>: HTTP status code is not handled or not allowed 2026-01-27 22:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-6-door-wood-locker-36-w-x-15-d-x-72-h-cherry-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 22:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-1-door-digital-wood-locker-12-w-x-15-d-x-72-h-cherry-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 22:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-assembled-24w-x-18d-x-72h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-cabinet-w-drawer--laminate-top-30w-x-18d-x-36h-walnut>: HTTP status code is not handled or not allowed 2026-01-27 22:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-assembled-24w-x-18d-x-72h-walnut>: HTTP status code is not handled or not allowed 2026-01-27 22:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-fixed-shelves-assembled-36w-x-24d-x-72h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-w-fixed-shelves-assembled-48w-x-24d-x-78h-red>: HTTP status code is not handled or not allowed 2026-01-27 22:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-55h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-27 22:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-45h-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 22:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/wet_dry_vacuums/general_purpose_shop_vacuums>: HTTP status code is not handled or not allowed 2026-01-27 22:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loadwell-gel-loading-pipette-tips-sterile-pack-of-960>: HTTP status code is not handled or not allowed 2026-01-27 22:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microtube-w-locktop-style-cap-05-ml-capacity-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 22:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/testculture-tube-sterile-17-x-100-mm-14-ml-capacity-20-bags-of-25-tubes>: HTTP status code is not handled or not allowed 2026-01-27 22:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-standard-safety-vest-w-black-contrasting-trim-class-2-5xl-lime>: HTTP status code is not handled or not allowed 2026-01-27 22:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-premium-heavy-duty-vest-w-multi-pockets-sm-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-diamond-quilted-jacket-w-removable-hood-black-2xl>: HTTP status code is not handled or not allowed 2026-01-27 22:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-waterproof-flame-resistant-winter-quilted-jacket-class-1-black-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-waterproof-flame-resistant-winter-quilted-jacket-class-1-blue-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diy-4th-generation-multi-zone-2-zone-condenser-27000-btu-22-seer-230v>: HTTP status code is not handled or not allowed 2026-01-27 22:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-frame-shelf-truck-w-lower-shelf-3600-lb-capacity-40l-x-36w-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-bar--pipe-truck-5000-lb-capacity-48l-x-30w-x-59h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-nursery-truck-1200-lb-capacity-53-12l-x-24w-x-63h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-truck-w-rigid--swivel-casters-3600-lb-cap-48l-x-24w-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-bar--pipe-truck-w-2-rigid-casters-3600-lb-cap-60l-x-30w-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkliftable-truck-w-3-shelves-3600-lb-cap-53-12l-x-24w-x-58-12h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-class-2-hi-vis-safety-vest-2-reflective-strips-polyester-solid-lime-l-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-class-2-hi-vis-safety-vest-2-refl-strips-mesh-or-l-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6667-wet-evaporative-cooling-vest-pva-zipper-4xl-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8381-hi-vis-4-in-1-winter-bomber-jacket-large-lime>: HTTP status code is not handled or not allowed 2026-01-27 22:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6689-cooling-long-sleeve-sun-shirt-w-uv-protection-3xl-lime>: HTTP status code is not handled or not allowed 2026-01-27 22:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8915bk-hi-vis-rain-pants-w-black-bottom-class-e-polyester-5xl-lime>: HTTP status code is not handled or not allowed 2026-01-27 22:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-n-ferno-warming-variety-pack-white>: HTTP status code is not handled or not allowed 2026-01-27 22:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7001-abrasion-resistant-gloves-nitrile-coated-m-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 22:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6630-high-performance-terry-cloth-skull-cap-black>: HTTP status code is not handled or not allowed 2026-01-27 22:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7000-nitrile-coated-gloves-w-microfoam-palm-xl-gray-12-pairs>: HTTP status code is not handled or not allowed 2026-01-27 22:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22001 pages (at 95 pages/min), scraped 8502 items (at 28 items/min) 2026-01-27 22:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7041-cut-resistant-gloves-nitrile-coated-ansi-a4-l-lime-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 22:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7030-cut-resistant-gloves-polyurethane-coated-ansi-a3-m-gray-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 22:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7072-cut-resistant-gloves-nitrile-coated-ansi-a7-s-gray-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 22:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7024-cut-resistant-gloves-polyurethane-coated-ansi-a2-2xl-blue-12-pairs>: HTTP status code is not handled or not allowed 2026-01-27 22:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8928-high-visibility-insulated-bib-pants-ansi-class-e-300d-polyester-l-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-6472-insulated-bib-overalls-300d-oxford-shell-polyester-m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-bulk-dispenser-tall-12-316w-x-5-34d-x-17-116h-stainless>: HTTP status code is not handled or not allowed 2026-01-27 22:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-bulk-protective-wear-dispenser-14-58w-x-5-116d-x-15-516h-quartz-beige>: HTTP status code is not handled or not allowed 2026-01-27 22:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-12-air-impact-wrench-20000-ft-lbs-torque-t-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-air-impact-wrench-150-ft-lbs-torque-straight>: HTTP status code is not handled or not allowed 2026-01-27 22:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-random-orbital-air-sander-316-orbit-diameter-vinyl-pad-12000-rpm-02-hp>: HTTP status code is not handled or not allowed 2026-01-27 22:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-angle-air-grinder-5-wheel-58-in-11-thread-12000-rpm-rear-exhaust-088-hp>: HTTP status code is not handled or not allowed 2026-01-27 22:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iqv-20-lithium-ion-battery-20v-25-ah-extended-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pavement-breaker-1-14-x-6-hex-shank-575-stroke-length-262-bore>: HTTP status code is not handled or not allowed 2026-01-27 22:03:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/impact_wrenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-14-hex-cordless-impact-driver-2-battery-kit-mid-torque-compact-pistol-grip>: HTTP status code is not handled or not allowed 2026-01-27 22:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-bench-diamond-seat-surface-mount-8l-black>: HTTP status code is not handled or not allowed 2026-01-27 22:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blanket-warmer-457-cu-ft-capacity-23-58w-x-23-12d-x-36h-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msa-safety--full-brim-hard-hat-vented-fas-trac-iii-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc-board-for-yc-300hl--yc-450hl-l-bar-sealers>: HTTP status code is not handled or not allowed 2026-01-27 22:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-pad-for-w-300a-w-305a-w-3010a>: HTTP status code is not handled or not allowed 2026-01-27 22:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-convex-mirror-w-galvanised-metal-backer-plastic-outdoor-26-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/installerbell-hanger-bit-18l-x-516-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/par38-led-spotlight-bulb-medium-base-15w-1200-lumens-3000k-warm-white>: HTTP status code is not handled or not allowed 2026-01-27 22:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/air_tools_accessories/impact_wrenches>: HTTP status code is not handled or not allowed 2026-01-27 22:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-tree-shaped-bur-double-cut-2-12l-x-14-shank-dia-38-cut-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointed-tree-shaped-bur-for-stainless-steel-2l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cylindrical-bur-double-cut-2-34l-x-14-shank-dia-716-cut-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-r14-bulb-120v-4w-280-lumens-intermediate-screw-base-warm-white-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-27 22:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blender-bag-400mlx70m-w-full-nylon-filter-300x190mm-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-holder-for-4-x-10-15ml-2-per-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mc-12-high-speed-microcentrifuge-w-12-place-rotor-15000-rpm-230v>: HTTP status code is not handled or not allowed 2026-01-27 22:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-for-40x2ml-tubes-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 22:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-rocking-platform-w-rubber-mat-4-12l-x-3w>: HTTP status code is not handled or not allowed 2026-01-27 22:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-for-one-deep-well-micro-plate>: HTTP status code is not handled or not allowed 2026-01-27 22:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drychill-ice-free-cooling-block-6x50ml-tube-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-style-pull-cord-alarm-2l-x-2w-x-2h>: HTTP status code is not handled or not allowed 2026-01-27 22:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk2000-step-beam-w-seismic-weld-96w-x-4-34h-6080-pair-capacity-poppy-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-heavy-duty-cabinet-w-168-blue-bins-14-gauge-48w-x-24d-x-76h>: HTTP status code is not handled or not allowed 2026-01-27 22:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-personal-self-retracting-lifeline-w-rebar-hook-2726-lb-wt-72l>: HTTP status code is not handled or not allowed 2026-01-27 22:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finesse-it-natural-wool-buffing-pad-81470-3-dia-white-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-sanding-soft-interface-disc-pad-20278-5-dia-x-12-thick-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-contour-band-saw-20-x-13-machine-cap-doall-2013-v3-460v>: HTTP status code is not handled or not allowed 2026-01-27 22:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-18w-x-54h-antique-white>: HTTP status code is not handled or not allowed 2026-01-27 22:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-16w-x-48h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-36l-x-20w-x-96h-white>: HTTP status code is not handled or not allowed 2026-01-27 22:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-36l-x-32w-x-60h-antique-white>: HTTP status code is not handled or not allowed 2026-01-27 22:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-14w-x-84h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-36l-x-16w-x-54h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-14w-x-48h-antique-white>: HTTP status code is not handled or not allowed 2026-01-27 22:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-air-conditioner-10000-btu-1120w-115v-white>: HTTP status code is not handled or not allowed 2026-01-27 22:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altakal36cl-ao-v-tec-mini-personal-fall-limiter-single-leg-6l>: HTTP status code is not handled or not allowed 2026-01-27 22:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tp1-staircase-platform-330-lb-load-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8251hdz-bk-two-tone-hi-vis-safety-vest-ansi-class-2-lxl-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-ytx14-bsgel-12v-12ah-200cca-gel-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-ytx14l-bs-12v-12ah-200cca-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobilecare-electronic-medical-cart-27w-x-27d-x-39h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/490-blood-pressure-cuff-for-535-spot-check-vital-signs-monitor-xs>: HTTP status code is not handled or not allowed 2026-01-27 22:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gel-hand-sanitizer-for-cs2-dispensers-fragrance-free-1000-ml-capacity-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-27 22:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-sanitizer-gel-refill-for-ltx-12-dispensers-fragrance-free-1200-ml-capacity-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 22:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-2-bar-aluminum-ladder-rack-system-for-chevy-express-1996-on-black>: HTTP status code is not handled or not allowed 2026-01-27 22:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hip-pack-w-guard-logo-ppe-supply-pack-black-7-pieces>: HTTP status code is not handled or not allowed 2026-01-27 22:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-supply-hip-pack-w-guard-logo-mesh-drain-clear-49-pieces>: HTTP status code is not handled or not allowed 2026-01-27 22:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-conveyor-netting-w-debris-liner-1146-lb-capacity-300l-x-108w-black>: HTTP status code is not handled or not allowed 2026-01-27 22:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-steel-back-plate-6l-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secure-click-filter-retainer-d701-for-secure-click-cartridges-d8000-series>: HTTP status code is not handled or not allowed 2026-01-27 22:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ring-buoy-usgc-approved-30-dia-white>: HTTP status code is not handled or not allowed 2026-01-27 22:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protect-liquid-cooled-standby-generator-130kw-120-240v-1-phase-ng>: HTTP status code is not handled or not allowed 2026-01-27 22:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protect-liquid-cooled-standby-generator-150kw-120-240v-1-phase-lp>: HTTP status code is not handled or not allowed 2026-01-27 22:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceramic-simple-touch-heater-1500w-black>: HTTP status code is not handled or not allowed 2026-01-27 22:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22100 pages (at 99 pages/min), scraped 8532 items (at 30 items/min) 2026-01-27 22:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-tape-1800l-black-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs40x1316-1-pitch-1-316-finished-bore-40-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs20hx11516-1-pitch-1-1516-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-skylar-work-zip-bootie-composite-toe-size-9m-4-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-certified-advanced-refreshing-gel-hand-sanitizer-for-ltx-7-700-ml-3-ctn>: HTTP status code is not handled or not allowed 2026-01-27 22:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ant-and-roach-killer-17-5-oz-aerosol-lavendar-12-carton>: HTTP status code is not handled or not allowed 2026-01-27 22:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solar-13w-top-of-pole-24-7-flashing-12-red-led-yellow-housing>: HTTP status code is not handled or not allowed 2026-01-27 22:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-top-birch-butcher-block-square-edge-60-in-w-x-30-in-d-x-1-1-2-in-thick>: HTTP status code is not handled or not allowed 2026-01-27 22:04:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-6-5m-8-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lk4405bf-outdoor-wall-mount-bottle-filling-station-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:04:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-adhesive-aperture-drape-59-inch-x-72-inch-25-bx-2-bx-cs>: HTTP status code is not handled or not allowed 2026-01-27 22:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-adhesive-split-sheet-9055-118-inch-x-138-inch-8-each-carton-2-carton-case>: HTTP status code is not handled or not allowed 2026-01-27 22:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-12w-6-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-high-top-sneaker-composite-toe-size-8-5w-black-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-aperture-pouch-drape-1084-34-inch-x-42-inch-30-each-case>: HTTP status code is not handled or not allowed 2026-01-27 22:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-internal-met-guard-steel-toe-size-7m-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 22:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-pull-on-boots-composite-toe-size-12w-11-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:04:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 22:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs23hx11516-1-14-pitch-1-1516-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-external-met-guard-steel-toe-size-10-5m-8-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-high-top-sneaker-composite-toe-size-10m-black-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs25x38-metric-1-pitch-38mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs20hx212-1-14-pitch-2-12-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-flowtubes-with-standard-cap-sterile-5-ml-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40a24hx58-a-plate-12-pitch-58-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-microcentrifuge-tubes-with-cap-sterile-1-5-ml-yellow-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 22:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41a35hx34-a-plate-12-pitch-34-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 22:04:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80btl11h-bushed-tapered-locks-1-pitch-11-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-women-s-low-cut-sneaker-composite-toe-size-10m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs10hx58-34-pitch-58-finished-bore-10-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-5-5m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-13m-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-transfer-pipette-with-extended-tip-non-sterile-5-ml-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-blucher-sneaker-composite-toe-size-7m-black-gold>: HTTP status code is not handled or not allowed 2026-01-27 22:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-transfer-pipette-non-sterile-4-ml-250-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-600-ho-594cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35ja30h-38-pitch-qd-bushed-30-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs25hx58-38-pitch-58-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 22:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-steel-toe-size-11m-brown-burnt-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-13w-black-red>: HTTP status code is not handled or not allowed 2026-01-27 22:04:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 22:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-w-steel-toe-and-internal-met-guard-size-10w-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-smc1000-2uc-smart-ups-ups-battery-9ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-w-steel-toe-and-internal-met-guard-size-6w-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerware-bat-0370-ups-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs18hx138-12-pitch-1-38-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-9-5w-gray-black>: HTTP status code is not handled or not allowed 2026-01-27 22:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/philips-m17-medical-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-heavy-duty-bubble-rolls-24-x-250-x-1-2-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-6-x-5-32-green-2000-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-w-steel-toe-and-internal-met-guard-size-9m-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-mcgaw-medical-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-10w-dark-brown-khaki>: HTTP status code is not handled or not allowed 2026-01-27 22:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-8-5m-navy-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/philips-str112053-medical-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-920-industrial-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs16hx1716-34-pitch-1-716-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-caddx-b1245-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galion-3500-industrial-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22189 pages (at 89 pages/min), scraped 8557 items (at 25 items/min) 2026-01-27 22:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-7w-dark-brown-khaki>: HTTP status code is not handled or not allowed 2026-01-27 22:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-10-x-5-32-red-2000-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs14hx35-metric-34-pitch-35mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adi-9092w-alarm-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-613-industrial-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs24hx1716-12-pitch-1-716-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-bd6-5-12-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-oxford-shoes-steel-toe-size-8d-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severance-hss-6-flute-chatterless-countersink-5-8-diameter-90-degree>: HTTP status code is not handled or not allowed 2026-01-27 22:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severance-chatter-free-stop-countersink-cutter-82-5-8-7-32-pilot-hole>: HTTP status code is not handled or not allowed 2026-01-27 22:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs13hx32-metric-34-pitch-32mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-11-5m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledsm9dnkl-8-dimmable-led-can-disk-light-42w-4000-cct-3500-lumens-82-cri-white>: HTTP status code is not handled or not allowed 2026-01-27 22:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-112-112-alarm-replacement-battery-100ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-8w-black-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-7-5w-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-12m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-12w-black-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-ingredient-bin-clear-cover-148cov>: HTTP status code is not handled or not allowed 2026-01-27 22:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pearl-eraser-medium-3-pk-pink>: HTTP status code is not handled or not allowed 2026-01-27 22:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-9w-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-8m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50btl26h-taper-bushed-58-pitch-26-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/591-portable-blower-power-fishing-system>: HTTP status code is not handled or not allowed 2026-01-27 22:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adi-pwps12260f-alarm-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-7-5m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-7m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-pedestal-workbench-w-7-drawers-shop-top-square-edge-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:05:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/conduit_fishing_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-maxim33-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs09hx58-34-pitch-58-finished-bore-9-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-8w-gray-red-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-7m-gray-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08a14h-metric-a-plate-12-pitch-10mm-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-624-home-alarm-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-8-5m-gray-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-orange-3-8-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-27 22:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/conduit_fishing_tools>: HTTP status code is not handled or not allowed 2026-01-27 22:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-rb4-home-alarm-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40a22hx58-a-plate-12-pitch-58-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-10m-gray-red-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-smp10pm12p4-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-black-3-4-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-27 22:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-14w-silver-gray-clay-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-s1412-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-orange-3-4-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-27 22:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25a22hx14-a-plate-14-pitch-14-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25bs20hx14-14-pitch-14-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:05:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/best-r-7-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/09824-lid-polycarbonate-12-size-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-protector-rack-end-mounting-3-x-3-opening-18h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:05:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adtech-bulk-hot-melt-glue-tan-950-viscosity-135f-57c>: HTTP status code is not handled or not allowed 2026-01-27 22:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-8-5m-triple-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-skate-inspired-work-shoes-composite-toe-size-7w-navy-celestial-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-women-s-athletic-work-shoes-composite-toe-size-10-5w-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-softshell-high-bib-black-60f-comfort-rating-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 22:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-5-5m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gs-gt4l-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-tapered-roller-bearing-e30310j-50mm-bore-110mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers>: HTTP status code is not handled or not allowed 2026-01-27 22:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-logistic-strap-641201-with-spring-loaded-fitting-12-x-2-gold>: HTTP status code is not handled or not allowed 2026-01-27 22:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-quest-opt-500cc-atv-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 22:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-20l-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 22:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-14ah-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-43505-bl-3505-series-5-adjustable-frame-41w-x-27d-x-32-37h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elsar-2318-emergency-light-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:05:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressguard-report-cover-prong-clip-letter-2-capacity-light-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/presstex-report-cover-prong-clip-letter-3-capacity-light-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22284 pages (at 95 pages/min), scraped 8584 items (at 27 items/min) 2026-01-27 22:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-remote-mount-wall-indoor-sensor-c7189u1005-for-visionpro-8000-thermostat>: HTTP status code is not handled or not allowed 2026-01-27 22:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-flame-sensor-c7027a1023-uv-minipeeper-0-to-215f-range-12-mount>: HTTP status code is not handled or not allowed 2026-01-27 22:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerstar-pm30l-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht60-18-364ts-gp-tefc-rigid-3-ph-364ts-705-fla>: HTTP status code is not handled or not allowed 2026-01-27 22:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht40-18-324tc-f2-gp-tefc-rigid-3-ph-f2-324tc-485-fla>: HTTP status code is not handled or not allowed 2026-01-27 22:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-xta20hl-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:06:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 22:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb4500-work-high-top-work-sneaker-composite-toe-size-12m-black-holographic-spectrum>: HTTP status code is not handled or not allowed 2026-01-27 22:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb4500-work-high-top-work-sneaker-composite-toe-size-8w-black-holographic-spectrum>: HTTP status code is not handled or not allowed 2026-01-27 22:06:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lottus-49cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc101b-98-s2-polished-stainless-steel-commercial-room-temp-cold-water-cooler-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 22:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prang-colored-pencils-assorted-lead-assorted-barrel-12-set>: HTTP status code is not handled or not allowed 2026-01-27 22:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht5-18-184t-gp-tefc-rigid-3-ph-184t-208-230-460v-69-fla>: HTTP status code is not handled or not allowed 2026-01-27 22:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe5-18-184jm-tefc-rigid-c-3-ph-184jm-5-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:06:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-lcd-control-panel-for-48-in-portable-evaporative-cooler-604152>: HTTP status code is not handled or not allowed 2026-01-27 22:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe30-18-286jp-tefc-rigid-c-3-ph-286jp-30-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbk-ovetto-50cc-motorcycle-replacement-battery-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-rev-800-800cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permobil-400ps-mobility-scooter-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-27 22:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bf-135sl-hole-filler-plate-334dia-silver-coated>: HTTP status code is not handled or not allowed 2026-01-27 22:06:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 22:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adly-moto-rt-50-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peugeot-sv-geo-125cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht15-12-284tc-gp-tefc-rigid-c-3-ph-284tc-193-fla>: HTTP status code is not handled or not allowed 2026-01-27 22:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe40-36-324jm-tefc-rigid-c-3-ph-324jm-40-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:06:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 22:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-zr-500-cc-497cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-550-550cc-snowmobile-replacement-battery-2003-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-lift-furniture-mover-3950-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdmi-over-dual-cat5-cat6-extender-wall-plate-kit-f-f>: HTTP status code is not handled or not allowed 2026-01-27 22:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10pk-rj45-plugs-solid-stranded-conductor-4-pair-cat5e-cat5-cable>: HTTP status code is not handled or not allowed 2026-01-27 22:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-stopalto-3-x-110-yds-redwhite-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-27 22:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-hatch-galvanized-54l-x-30w>: HTTP status code is not handled or not allowed 2026-01-27 22:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-smartups-750va-usb-sua750-ups-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75ft-dvi-single-link-digital-tmds-monitor-cable-dvi-d-m-m-75>: HTTP status code is not handled or not allowed 2026-01-27 22:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waters-instruments-mox-100-medical-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenline-626-hand-truck-w-pin-handle-mold-on-rubber-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-port-vga-over-cat5-cat6-extender-splitter-transmitter-edid>: HTTP status code is not handled or not allowed 2026-01-27 22:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-port-cat6-patch-panel-568b-110-punch-down-rj45-1urm-taa-gsa>: HTTP status code is not handled or not allowed 2026-01-27 22:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amsco-3080rl-motor-medical-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-class-3-waterproof-quilt-lined-bomber-jacket-lime-black-3xl>: HTTP status code is not handled or not allowed 2026-01-27 22:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-xl-twin-leg-self-retracting-lifeline-w-quick-connect-carabiner-11l>: HTTP status code is not handled or not allowed 2026-01-27 22:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-hand-truck-w-curved-continuous-handle-mold-on-rubber-wheels-900-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-economy-carton-sealing-tape-2-x-55-yds-tan-pack-of-36>: HTTP status code is not handled or not allowed 2026-01-27 22:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-trio-lighting-tl930007-6v-4-5ah-emergency-light-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-w-dryer-200v-115psi-185cfm-5hp-3ph-120-gal-tank>: HTTP status code is not handled or not allowed 2026-01-27 22:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vector-vec022-450-jump-starter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala174-nano-lok-xl-order-picker-self-retracting-lifeline-w-steel-snap-hook-11l>: HTTP status code is not handled or not allowed 2026-01-27 22:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upg-ub1270-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digitech-safety-view-plus-4-tier-12-doors-box-locker-36w-x-18d-x-78h-tan-assembled>: HTTP status code is not handled or not allowed 2026-01-27 22:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digitech-safety-view-plus-4-tier-12-doors-wardrobe-locker-36w-x-18d-x-78h-assembled>: HTTP status code is not handled or not allowed 2026-01-27 22:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-eb20-12-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7175-nonslip-coating-durable-antislip-paint-1-gal-red-7175-re-gl>: HTTP status code is not handled or not allowed 2026-01-27 22:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shotgun-storage-case-3842-sa-blk-1-gun-capacity-8w-x-3-12d-x-42h-semi-flat-black>: HTTP status code is not handled or not allowed 2026-01-27 22:06:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/specialty_coatings_paint already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bigboy-folding-saw-360mm-medium-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scheduled-maintenance-kit-for-air-cooled-generators-530cc-engine-10-watt>: HTTP status code is not handled or not allowed 2026-01-27 22:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-k-jump-n-carry-jump-starter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porcelain-pro-lite-markerboard-144w-x-60h-white>: HTTP status code is not handled or not allowed 2026-01-27 22:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-stand-alone-shelving-6-shelves-800-lb-cap-36w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-stand-alone-shelving-8-shelves-500-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-for-8700-series-cafetorium-stacking-chair-with-ergonomic-back-35-chair-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sureway-1003-sealed-lead-acid-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powered-drum-truck-f89503f-fiber-chime-hook-10-wheels>: HTTP status code is not handled or not allowed 2026-01-27 22:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/health-o-meter-professional-connectivity-kit-for-welch-allyn-lxi-monitors>: HTTP status code is not handled or not allowed 2026-01-27 22:06:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/specialty_coatings_paint landed on page that is not a product page. 2026-01-27 22:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/health-o-meter-counterweights-for-professional-mechanical-beam-scales>: HTTP status code is not handled or not allowed 2026-01-27 22:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-waist-high-digital-scale-600lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22379 pages (at 95 pages/min), scraped 8612 items (at 28 items/min) 2026-01-27 22:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aleco-anchorbar-chairmat-rectangle-46w-x-60l-premium-thick-beveled-edge>: HTTP status code is not handled or not allowed 2026-01-27 22:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kydz-ladderback-chair-pair-12-height>: HTTP status code is not handled or not allowed 2026-01-27 22:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm40-101-56c-aluminum-worm-gear-reducer-40mm-101-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm90-401-145tc-aluminum-worm-gear-reducer-90mm-401-145tc-nema-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-metal-shelving-8-shelves-800-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-style-deep-bin-shelving-8-shelves-add-on-unit-36w-x-48d-x-87h-bluegray>: HTTP status code is not handled or not allowed 2026-01-27 22:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-shelving-6-shelves-starter-unit-800-lb-cap-36w-x-24d-x-87h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm30-751-56c-aluminum-worm-gear-reducer-30mm-751-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-heavy-duty-double-entry-work-platform-36w-steps-dep6-3660>: HTTP status code is not handled or not allowed 2026-01-27 22:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ritar-rt12120h-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/970-08-platform-landing-48-x-48-floor-height-96>: HTTP status code is not handled or not allowed 2026-01-27 22:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-flo-sup64-submersible-utility-pump-stainless-steel-manual>: HTTP status code is not handled or not allowed 2026-01-27 22:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jerry-can-w-spout-adapter-red-5-liter-3015>: HTTP status code is not handled or not allowed 2026-01-27 22:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempest-tr712-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upsonic-pcm-55-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-irish-garden-rubber-cast-iron-door-mat-18-x-30-entrance-mat>: HTTP status code is not handled or not allowed 2026-01-27 22:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-in-aluminum-wall-exhaust-shutter-rear-flange>: HTTP status code is not handled or not allowed 2026-01-27 22:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-dn-2020-debris-safety-netting-20-x-20>: HTTP status code is not handled or not allowed 2026-01-27 22:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-dn-0814-debris-safety-netting-8-x-14>: HTTP status code is not handled or not allowed 2026-01-27 22:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-in-backdraft-damper>: HTTP status code is not handled or not allowed 2026-01-27 22:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-lp12-60-sealed-lead-acid-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-27 22:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sigmastek-sp6-6-sealed-lead-acid-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stair-tread-rubber-square-nose-48l-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 22:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b-b-bp17-12-f2-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-var-es412-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-tile-low-profile-circular-design-50cm-black>: HTTP status code is not handled or not allowed 2026-01-27 22:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-lpx12-24-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-w-black-carpet-5-semi-pneumatic-wheels-coastal-finish>: HTTP status code is not handled or not allowed 2026-01-27 22:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-bp5-12-t2-bp5-12t2-12v-5ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-single-strap-anchor-black>: HTTP status code is not handled or not allowed 2026-01-27 22:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powertron-pt10-6-sealed-lead-acid-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-house-650net-12v-45ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-mx-12180-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-carbidetipped-jobbers-length-drill-letter-f>: HTTP status code is not handled or not allowed 2026-01-27 22:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fast-track-e-track-horizontal-vertical-anchor-track-8-galvanized-steel-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 22:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shovel-nose-hand-truck-tf-364-8s-8-rubber-with-foot-kick-loop-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-adj-height-pallet-stand-pdse4848-solid-deck-48-x-48-with-floor-locks>: HTTP status code is not handled or not allowed 2026-01-27 22:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-charging-station-for-hot-swappable-lifepo4-batteries>: HTTP status code is not handled or not allowed 2026-01-27 22:07:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spark-resistant-manual-chain-hoist-3-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-27 22:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labclean-cleanroom-wipes-10037-polyester-4l-x-4w-pack-of-600>: HTTP status code is not handled or not allowed 2026-01-27 22:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spark-resistant-manual-chain-hoist-12-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-27 22:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-4-in-galvanized-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-27 22:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exair-super-air-nozzle-cluster-4-nozzle-38-fnpt-zincaluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n202436-2-shelving-unit-2-shelf-20w-x-24h-x-36l-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-close-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-27 22:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-sdc602-home-alarm-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:07:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/black_malleable_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws1248-wall-mount-shelf-12w-x-12h-x-48l-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belkin-residential-gateway-battery-backup-bu3dc001-12v-12v-8ah-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:07:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/portable_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-fed-eyewash-insulated-jacket-for-10-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al1012ulacmj-alarm-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:07:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/exam_patient_room_supplies/exam_room_consumables/table_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tylenol-extra-strength-tablets-indigestion-heartburn-pain-15-bx>: HTTP status code is not handled or not allowed 2026-01-27 22:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cotton-tip-applicator-latex-free-and-non-sterile-3l-200bx-wh>: HTTP status code is not handled or not allowed 2026-01-27 22:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-w-unitary-colored-caps-ldpe-500ml-capacity-clear-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 22:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instrument-storage-tray-polypropylene-small-white-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 22:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/black_malleable_pipe_fittings>: HTTP status code is not handled or not allowed 2026-01-27 22:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zipr-mobility-3w-wheelchair-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pink-plastic-shim-coil-015-5-20>: HTTP status code is not handled or not allowed 2026-01-27 22:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/portable_air_conditioners>: HTTP status code is not handled or not allowed 2026-01-27 22:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/exam_patient_room_supplies/exam_room_consumables/table_paper>: HTTP status code is not handled or not allowed 2026-01-27 22:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-narrow-mouth-hdpe-60ml-capacity-amber-pack-of-72>: HTTP status code is not handled or not allowed 2026-01-27 22:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-plastic-shim-coil-010-20-20>: HTTP status code is not handled or not allowed 2026-01-27 22:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62132rs-deep-groove-ball-bearing-double-sealed-65mm-bore-120mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-recoil-air-hose-1-4-inch-x-25-ft>: HTTP status code is not handled or not allowed 2026-01-27 22:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-rehab-p222-wheelchair-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-shower-floor-mount-open-abs-bowl-stainless-steel-pipe>: HTTP status code is not handled or not allowed 2026-01-27 22:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63092rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-45mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-clamp-6-inch>: HTTP status code is not handled or not allowed 2026-01-27 22:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-narrow-mouth-hdpe-1000ml-capacity-amber-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tier-test-tube-rack-for-13mm-tubes-plastic-31-places-white-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 22:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickie-s626-gp24-agm-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-203-heavy-duty-canvas-hood>: HTTP status code is not handled or not allowed 2026-01-27 22:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-bolted-pallet-rack-starter-108w-x-42d-x-96h>: HTTP status code is not handled or not allowed 2026-01-27 22:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-bolted-pallet-rack-add-on-144w-x-36d-x-96h>: HTTP status code is not handled or not allowed 2026-01-27 22:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fortress-2200-fs-u1-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22474 pages (at 95 pages/min), scraped 8633 items (at 21 items/min) 2026-01-27 22:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6305zznr-deep-groove-ball-bearing-double-shielded-snap-ring-25mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/630002rs-deep-groove-ball-bearing-wide-width-double-sealed-10mm-bore-26mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-24l-x-21w-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersol-1212h-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ariens-st-1336-lawn-and-garden-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60062rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-30mm-bore-55mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-30-d-standing-height-workbench-plastic-laminate-square-edge-black>: HTTP status code is not handled or not allowed 2026-01-27 22:08:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440201550-cloth-belt-341d-6w-x-48l-60-grit>: HTTP status code is not handled or not allowed 2026-01-27 22:08:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelhorse-308-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/john-deere-650-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rich-wr-2000-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-rehab-pulse-6-wheelchair-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-27 22:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-gel-pen-comfort-grip-07mm-blue-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 22:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-72l-x-24w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scag-sth-20kh-lawn-and-garden-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-42l-x-21w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440201188-341d-3-4dia-x-1w-80-grit-100-case>: HTTP status code is not handled or not allowed 2026-01-27 22:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3gw3d-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 22:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-72l-x-14w-x-69h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-speed-hump-middle-section>: HTTP status code is not handled or not allowed 2026-01-27 22:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 22:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-bearing-double-row-bore-55mm-0005-to-0015-radial-clearance-nn3011m2kc9nap4>: HTTP status code is not handled or not allowed 2026-01-27 22:08:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-bearing-double-row-bore-110mm-0040-to-0060-radial-clearance-nn3022m2kc1nap4>: HTTP status code is not handled or not allowed 2026-01-27 22:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-gallon-plastic-storage-tank-square-end-with-flat-bottom-987270>: HTTP status code is not handled or not allowed 2026-01-27 22:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-707-14s-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precise-v5-rt-rolling-ball-refill-extra-fine-black-ink-2pack>: HTTP status code is not handled or not allowed 2026-01-27 22:08:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 22:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energel-liquid-retractable-gel-ink-pen-metal-tip-refillable-07mm-blue-ink>: HTTP status code is not handled or not allowed 2026-01-27 22:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ryobi-971255100-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/807-0016-external-spindle-series-12>: HTTP status code is not handled or not allowed 2026-01-27 22:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-45-series-1-34-x-1-34-lite-four-t-slotted-extrusion-profile-238-316l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-27 22:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10309-532-hex-end-power-bit-3-handle-14-stock>: HTTP status code is not handled or not allowed 2026-01-27 22:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lxob01-18v-lxt174-lithium-ion-cordless-5-random-orbit-sander>: HTTP status code is not handled or not allowed 2026-01-27 22:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-square-ada-in-ground-mount-picnic-table-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 22:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enviroalert-professional174-wireless-temperature-sensor-12vdc>: HTTP status code is not handled or not allowed 2026-01-27 22:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-no-bump-dump-hopper-steel-3-cu-yd-6000-lb-capacity-white>: HTTP status code is not handled or not allowed 2026-01-27 22:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-speed-low-profile-diesel-pump-9005lp-27gpm>: HTTP status code is not handled or not allowed 2026-01-27 22:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technologies-motorized-mail-room-cart-mmc-1772-smo1-1500-lb-cap-with-baskets>: HTTP status code is not handled or not allowed 2026-01-27 22:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skate-wheel-conveyor-flexible-extendable-42-to-168l-x-34w-zinc-plated-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-razor-point-marker-pen-extra-fine-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-27 22:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-no-bump-dump-hopper-steel-2-cu-yd-2000-lb-capacity-machine-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sd-t36-air-sample-tube-36>: HTTP status code is not handled or not allowed 2026-01-27 22:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-540d2-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperlite-extension-ladder-w-v-rung-ratchet-levelers-20-type-iaa-375-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-1-gallon-bucket-grid-24-case-bg-1cr>: HTTP status code is not handled or not allowed 2026-01-27 22:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/johnlite-2928-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x3-8-xhigh-density-poly-acrylic-wool-roller-cover-12-case-18kl038>: HTTP status code is not handled or not allowed 2026-01-27 22:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pam1-encapsulated-spdt-relay>: HTTP status code is not handled or not allowed 2026-01-27 22:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louisville-8-type-1aa-fiberglass-pro-platform-step-ladder-fxp1808hd>: HTTP status code is not handled or not allowed 2026-01-27 22:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-1624-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-9-emergency-light-replacement-battery-8ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/general_purpose_sealed_lead_acid_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-head-pro-series-sl200-yellow-6pk>: HTTP status code is not handled or not allowed 2026-01-27 22:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powercore-100575-12v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-tap-extension-cord-sl801-retractable-reel-30l-cord-143-ga-blk-4pk>: HTTP status code is not handled or not allowed 2026-01-27 22:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cord-wrap-k150-150l-cord-holder-for-indooroutdoor-24pk>: HTTP status code is not handled or not allowed 2026-01-27 22:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-label-holder-24-inch-w-jet-black>: HTTP status code is not handled or not allowed 2026-01-27 22:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-bolt-on-hitch-bar-led-flood-light-for-2013-current-dodge-ram-3500-44a>: HTTP status code is not handled or not allowed 2026-01-27 22:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-air-compressor-w-intek-engine-10-hp-30-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-bulk-storage-rack-beam-zs-60-inch-l-for-metal-shelves>: HTTP status code is not handled or not allowed 2026-01-27 22:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-etxfl-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-bulk-storage-rack-upright-144-inch-h-x-42-inch-d-8-489-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-l26-7-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/general_purpose_sealed_lead_acid_batteries>: HTTP status code is not handled or not allowed 2026-01-27 22:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enersys-np76a-6v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astral-square-umbrella-w-centerpost-sunbrella-awning-137w-x-137d-x-110h-tuscan>: HTTP status code is not handled or not allowed 2026-01-27 22:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-2cl6s16-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-single-cylinder-deadbolt-w-bumpstop-brushed-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-electric-air-compressor-5-hp-80-gal-cap-1-phase-230v-457-lb-wt>: HTTP status code is not handled or not allowed 2026-01-27 22:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flex-90-degree-corner-with-adjustable-height-class-a--c-103h-white>: HTTP status code is not handled or not allowed 2026-01-27 22:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-channel-class-c-8l-white>: HTTP status code is not handled or not allowed 2026-01-27 22:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22567 pages (at 93 pages/min), scraped 8653 items (at 20 items/min) 2026-01-27 22:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astralite-dca-400-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/framed-view-binder-with-one-touch-ezd-rings-3inch-capacity-navy-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13051-self-aligning-slidein-tnut-wball-spring>: HTTP status code is not handled or not allowed 2026-01-27 22:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kaufel-860-0004-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-black-epoxy-3-tier-mobile-sales-unit-power-36-w-x-18-d-x-40-h>: HTTP status code is not handled or not allowed 2026-01-27 22:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-accessory-closed-front-base-12w-x-6h-tan>: HTTP status code is not handled or not allowed 2026-01-27 22:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2617-expanded-pvc-panel-black>: HTTP status code is not handled or not allowed 2026-01-27 22:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-white-5xl>: HTTP status code is not handled or not allowed 2026-01-27 22:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3916-rollin-tnut-wball-spring>: HTTP status code is not handled or not allowed 2026-01-27 22:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biometric-wall-safe-3-34w-x-15-716d-x-20-34h-white>: HTTP status code is not handled or not allowed 2026-01-27 22:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12-879-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3627-socket-head-cap-screw-114l>: HTTP status code is not handled or not allowed 2026-01-27 22:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvec50i-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-watt-power-inverter-pwrinv500012w>: HTTP status code is not handled or not allowed 2026-01-27 22:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4198-standard-pivot-nub-assembly>: HTTP status code is not handled or not allowed 2026-01-27 22:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2500-watt-24-volt-power-inverter-pwrinv250024w>: HTTP status code is not handled or not allowed 2026-01-27 22:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2111-standard-tslot-cover>: HTTP status code is not handled or not allowed 2026-01-27 22:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3rw5-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-jsm9-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-paper-towel-dispenser-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-elt250-emergency-light-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machinists-level-w-ground-graduated-vial-12l-x-2w-x-3h-wood-case>: HTTP status code is not handled or not allowed 2026-01-27 22:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-treme-xr-401-go-kart-6v-7ah-scooter-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gs-portalac-px12072-broadband-12v-75ah-telecom-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ups-pick-up-delivery-location-sign-adhesive-vinyl-10-x-14-blackwhite>: HTTP status code is not handled or not allowed 2026-01-27 22:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interstate-cytx14ahl-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-d-dynasty-bba-180rt-12v-100ah-telecom-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6725-double-flange-linear-bearing>: HTTP status code is not handled or not allowed 2026-01-27 22:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dorcy-spotlight-41-1088-6v-5ah-spotlight-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2472-pvc-coated-wire-mesh-panel>: HTTP status code is not handled or not allowed 2026-01-27 22:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-wide-turn-sign-graphic-adhesive-reflective-sheet-10-x-14-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp010s-20-ner-electric-chain-hoist-push-trolley-1-ton-20-lift-28-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-27 22:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3410-flat-head-socket-cap-screw-58l>: HTTP status code is not handled or not allowed 2026-01-27 22:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3120-slidein-economy-tslot-stud>: HTTP status code is not handled or not allowed 2026-01-27 22:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cell-pc613-emergency-light-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp005ld-10-ner-electric-hoist-push-trolley-12-ton-10-lift-1525-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-27 22:09:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2477-pvc-coated-wire-mesh-panel>: HTTP status code is not handled or not allowed 2026-01-27 22:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-cyclone-ride-on-toys-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-morini-camel-500cc-motorcycle-replacement-battery-1984-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-tx750-750cc-motorcycle-replacement-battery-1973-1974-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-contoured-pullover-sweatshirt-class-3-l-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contoured-vest-w-adj-waist-solid-front--mesh-back-class-3-m-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huot-toolscoot-tree-for-hsk-100acnc-holders>: HTTP status code is not handled or not allowed 2026-01-27 22:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner020cd-20-ner-dual-speed-electric-chain-hoist-2-ton-20-lift-71-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-27 22:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1>: HTTP status code is not handled or not allowed 2026-01-27 22:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sym-hd200-200cc-motorcycle-replacement-battery-2004-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/munch-all-1200cc-motorcycle-replacement-battery-1969-1971-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr5-self-retracting-lifeline-single-leg-hmpe-webbing-aluminium-snap-hook-6l>: HTTP status code is not handled or not allowed 2026-01-27 22:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al100-hand-chain-hoist-aluminum-1-ton-capacity-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 22:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7000-system-500-voc-cold-galvanizing-compound-quart-206194t>: HTTP status code is not handled or not allowed 2026-01-27 22:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clipper-swinging-doors-pair-36-w-36-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al100-hand-chain-hoist-aluminum-5-ton-capacity-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 22:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-only-label-w-recycle-sign-plastic-5-x-7>: HTTP status code is not handled or not allowed 2026-01-27 22:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-s235-mobility-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-only-label-w-recycle-sign-plastic-10-x-14>: HTTP status code is not handled or not allowed 2026-01-27 22:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-stainless-steel-drum-dolly-30-gallon-zinc-rigs-hard-rubber-987294>: HTTP status code is not handled or not allowed 2026-01-27 22:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kb-unit-heater-with-bracket-thermostat-75-kw-240208v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 22:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kb-unit-heater-with-bracket-thermostat-10-kw-480v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 22:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22660 pages (at 93 pages/min), scraped 8689 items (at 36 items/min) 2026-01-27 22:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kb-unit-heater-with-bracket-thermostat-125-kw-240208v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 22:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-pipette-filler-74010005-use-w-1-100ml-pipets-pink>: HTTP status code is not handled or not allowed 2026-01-27 22:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ktw-convertible-cabinet-unit-heater-15-kw-240208v-1-phase-white>: HTTP status code is not handled or not allowed 2026-01-27 22:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cover-rc-rb80-for-round-base-magnetic-cups-rb80-3187-dia-375-hole>: HTTP status code is not handled or not allowed 2026-01-27 22:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lpw-2-forced-air-wall-heater-12502750w-120v-white-dove>: HTTP status code is not handled or not allowed 2026-01-27 22:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-tek-polykor-seamless-knit-blended-cr-gloves-nitrile-coated-ansi-a4-s-blue-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 22:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-xcp-knee-boots-chevron-outsole-steel-toe-size-8-15h-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ezip-ezip-750-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astrobrights-card-stock-paper-8-1-2-inch-x-11-inch-fireball-fuschia-250-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-96-slatwall-panel-walnut-laminate-without-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-27 22:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-tape-individual-strips-with-adhesive-75l-x-4w-black>: HTTP status code is not handled or not allowed 2026-01-27 22:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linen-business-paper-8-1-2-inch-x-11-inch-32-lb-white-250-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-expedition-550f-sport-550cc-snowmobile-replacement-battery-2006-2012-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-wide-series-refrigerator-freezer-comb-lhd-solid-door-988-cu-ft-capacity-white>: HTTP status code is not handled or not allowed 2026-01-27 22:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyberpower-pfc-sinewave-or2200pfcrt2u-ups-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snugboot-workpro-full-safety-knee-boots-cleated-outsole-composite-toe-size-5-16h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bruno-vpl-3153b-vertical-platform-stairlift-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modesto-42-commercial-planter-espresso>: HTTP status code is not handled or not allowed 2026-01-27 22:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aequitron-medical-mcr911d-muscle-stimulator-medical-replacement-battery-7ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-xcp-knee-boots-chevron-outsole-steel-toe-size-15-16h-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seating-2300-series-31h-poly-stack-multi-purpose-chair-with-perforated-back-brownstone>: HTTP status code is not handled or not allowed 2026-01-27 22:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Serenity-Gel-Overlay-4200B-42-x-78-x-4-90002>: HTTP status code is not handled or not allowed 2026-01-27 22:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Classic-Chair-Sensor-Pad-7-x-15-1-Year-10112>: HTTP status code is not handled or not allowed 2026-01-27 22:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-tape-individual-strips-with-adhesive-75l-x-1w-white>: HTTP status code is not handled or not allowed 2026-01-27 22:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Buckle-Seat-Belt-Sensor-10320>: HTTP status code is not handled or not allowed 2026-01-27 22:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loop-tape-individual-dots-with-adhesive-1-78l-x-1-78w-white-pack-of-450>: HTTP status code is not handled or not allowed 2026-01-27 22:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibuprofen-200mg-250-box>: HTTP status code is not handled or not allowed 2026-01-27 22:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibt-technologies-bt12-12-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sola-3000-s31000-s31000r-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/index-maker-clear-label-divider-punched-85x11-8-tabs-25-sets-white-white>: HTTP status code is not handled or not allowed 2026-01-27 22:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-single-fork-mounted-forklift-drum-gripper-steel-1500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-spring-scissor-table-4500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclops-spotlight-thor-s250-sealed-lead-acid-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-tab-divider-blank-85x11-8-tabs-multicolor-multicolor>: HTTP status code is not handled or not allowed 2026-01-27 22:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-edge-o-dock-leveler-66-ramp-width-steel-20000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-day-deluxe-dry-bag-2-person-backpack-80-pieces>: HTTP status code is not handled or not allowed 2026-01-27 22:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-day-professional-emergency-kit-2-person-backpack-42-pieces>: HTTP status code is not handled or not allowed 2026-01-27 22:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gruber-power-gpsu1-34-f2-sealed-lead-acid-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/personal-headset-with-in-line-microphone-and-trrs-plug>: HTTP status code is not handled or not allowed 2026-01-27 22:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-patrol-sla1119-88-watt-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-pocket-drawer-organizer-plastic-tray-10l-x-3w-x-14h>: HTTP status code is not handled or not allowed 2026-01-27 22:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-pocket-drawer-organizer-plastic-tray-10l-x-3w-x-14h>: HTTP status code is not handled or not allowed 2026-01-27 22:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-procedure-cart-front-locking-20l-x-31w-x-48h-global-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lb-style-threaded-conduit-body-w-cover-and-gasket-1-14-size>: HTTP status code is not handled or not allowed 2026-01-27 22:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-sof-tred-12-thick-safety-anti-fatigue-floor-mat-3x6-black>: HTTP status code is not handled or not allowed 2026-01-27 22:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-wardrobe-cabinet-easy-assembly-36x24x72-gray-270033GY>: HTTP status code is not handled or not allowed 2026-01-27 22:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub12180-wheelchair-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-clear-quartz-lamp-631-38579-for-462-463-and-mm-electric-infrared-heaters-3800w-600v>: HTTP status code is not handled or not allowed 2026-01-27 22:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-source-wp28-12-91-223-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-clear-quartz-lamp-630-16249-for-222-223-and-mm-electric-infrared-heaters-1600w-240v>: HTTP status code is not handled or not allowed 2026-01-27 22:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-nestable-shelf-bin-6-5-8w-x-17-7-8d-x-4h>: HTTP status code is not handled or not allowed 2026-01-27 22:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-degree-liquid-tight-connector-alloy-steel-1-size-5-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/950-2004-950-case-w-padded-divider-228l-x-183w-x-117h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-conduit-sealing-locknut-carbon-steel-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-person-stage-14-inch-w-x-8-ft-l-2408>: HTTP status code is not handled or not allowed 2026-01-27 22:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/935-1006-935-case-w-foam-220l-x-140w-x-90h-olive>: HTTP status code is not handled or not allowed 2026-01-27 22:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-quantum-6000-xl-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dwa-dwe402-412-small-angle-grinder-no-lockon>: HTTP status code is not handled or not allowed 2026-01-27 22:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-way-group-bw-12350-nb-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2361-20-portable-18v-led-flood-light-1100-lumens>: HTTP status code is not handled or not allowed 2026-01-27 22:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-500t-indoor-outdoor-scooter-wheelchair-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-style-threaded-conduit-body-w-cover-and-gasket-4-size>: HTTP status code is not handled or not allowed 2026-01-27 22:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ft-aluminum-decked-aluma-plank-5510-19>: HTTP status code is not handled or not allowed 2026-01-27 22:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-gp600-cc-22nf-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-dress-uniform-shirt-slu2-navy-size-xl-long>: HTTP status code is not handled or not allowed 2026-01-27 22:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permobil-chairman-entra-stander-jr-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ll-threaded-conduit-body-w-cover-and-gasket-3-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/climate-control-air-curtain-120-inch-w-door-240v-unheated-3-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22760 pages (at 100 pages/min), scraped 8721 items (at 32 items/min) 2026-01-27 22:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-120-little-rascal-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-1000010036-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-9k-98-98-30-us-10-pc-pliers-screwdriver-insulated-tool-set-1000v-hard-case>: HTTP status code is not handled or not allowed 2026-01-27 22:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pulling-hook-316-size>: HTTP status code is not handled or not allowed 2026-01-27 22:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supreme-ap-100-high-volume-air-pump>: HTTP status code is not handled or not allowed 2026-01-27 22:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-gogo-elite-traveller-plus-wheelchair-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-7010cydup4-universal-ground-duplex-50mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1005-standard-class-2-two-tone-mesh-zipper-safety-vest-lime-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibt-technologies-bt4-5-6-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelcare-superlight-scooter-patriot-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-fishing-piston-durable-foam-4-size>: HTTP status code is not handled or not allowed 2026-01-27 22:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-fishing-piston-durable-foam-1-12-size>: HTTP status code is not handled or not allowed 2026-01-27 22:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-and-square-flat-head-machine-screw-kit-6-32-size-assorted>: HTTP status code is not handled or not allowed 2026-01-27 22:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7003-class-3-zipper-front-hooded-sweatshirt-with-black-bottom-lime-large>: HTTP status code is not handled or not allowed 2026-01-27 22:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-8-32-x-3-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1008-standard-class-2-two-tone-mesh-hook-loop-safety-vest-orange-large>: HTTP status code is not handled or not allowed 2026-01-27 22:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-38-16-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1004-standard-class-2-mesh-hook-loop-safety-vest-orange-large>: HTTP status code is not handled or not allowed 2026-01-27 22:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conical-anchor-kit-w-combo-pan-head-screw-10-size-tuff-pack-201-pieces>: HTTP status code is not handled or not allowed 2026-01-27 22:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-bow-front-desk-shell-72-inchw-x-36-inchd-x-29-1-2-inchh-cherry>: HTTP status code is not handled or not allowed 2026-01-27 22:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-return-shell-48-inchw-x-24-inchd-x-29-1-2-inchh-cherry>: HTTP status code is not handled or not allowed 2026-01-27 22:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-8-step-stl-roll-lad-14-d-top-stp-hndrl-lck-orng-fs083214go>: HTTP status code is not handled or not allowed 2026-01-27 22:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oval-head-wall-plate-screw-slotted-almond-6-32-x-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducing-bushing-zinc-alloy-1-x-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-big-beam-2sc6g8p2-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallpro-450-orange-wall-mount-retracting-barrier-20-yellowblack-out-of-service-belt>: HTTP status code is not handled or not allowed 2026-01-27 22:11:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-knockout-seal-carbon-steel-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-90-door-swing-sign-black-on-yellow-28-x-28>: HTTP status code is not handled or not allowed 2026-01-27 22:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-phillips-pan-head-stainless-steel-6-x-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wilson-portable-ball-machine-w-2-line-tennis-ball-machine-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ehvm2hg-mp3-smart-alert-user-programmable-off-white-ac100v-to-ac240v>: HTTP status code is not handled or not allowed 2026-01-27 22:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-anti-tilt-switch-thp-atme-heaters-from-2009-or-newer>: HTTP status code is not handled or not allowed 2026-01-27 22:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-degree-easyjet-mc101a-motorcaddy-and-golf-caddy-replacement-battery-26ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-stainless-steel-0-316-id-0-716-od-8-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts>: HTTP status code is not handled or not allowed 2026-01-27 22:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs206501r-cast-iron-right-angle-worm-gear-reducer-501-ratio>: HTTP status code is not handled or not allowed 2026-01-27 22:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-ticket-roll-blue-2000-roll>: HTTP status code is not handled or not allowed 2026-01-27 22:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs262401r-cast-iron-right-angle-worm-gear-reducer-401-ratio>: HTTP status code is not handled or not allowed 2026-01-27 22:11:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves landed on page that is not a product page. 2026-01-27 22:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eye-bolt-w-hex-nut-38-16-x-5-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-falcon-quad-green-ed033-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eye-bolt-w-hex-nut-38-16-x-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf133301l56c-cast-iron-right-angle-worm-gear-reducer-301-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-staples-20-sheet-capacity-1-4-leg-length-210-per-strip-5000-box>: HTTP status code is not handled or not allowed 2026-01-27 22:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/card-reel-with-ez-clip-30-cord-1-1-4-diameter-black>: HTTP status code is not handled or not allowed 2026-01-27 22:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-pegaso-trail-650cc-motorcycle-replacement-battery-2009-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf262301r145tc-cast-iron-right-angle-worm-gear-reducer-301-ratio-145t-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-phillipsslotted-hex-washer-head-12-x-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf325501de145tc-cast-iron-right-angle-worm-gear-reducer-501-ratio-145t-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-lath-metal-piercing-screw-square-drive-wafer-head-8-x-1-12-size-pk-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf325101de1824tc-cast-iron-right-angle-worm-gear-reducer-101-ratio-1824t-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-up-notes-dispenser-3-in-x-3-in-black-dispenser-50-sheets-dispenser-1-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-cvo-dyna-fat-bob-fxdfse2-1584cc-motorcycle-battery-2010-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-construction-style-positioning-harness-tongue-buckle-pass-thru-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-compact-stapler-25-sheet-capacity-silver>: HTTP status code is not handled or not allowed 2026-01-27 22:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strain-relief-connector-steel-34-dia-purple-grommet>: HTTP status code is not handled or not allowed 2026-01-27 22:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-strut-strap-carbon-steel-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hercules-sachs-limbo-ma-50cc-motorcycle-replacement-battery-1995-1997-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-case-16l-x-13w-x-5h-silver-dot>: HTTP status code is not handled or not allowed 2026-01-27 22:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-pdr3-portable-3-drum-rack-71-1-2-l-2400-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb73-2448-6x-48-inch-w-x-24-inch-d-x-73-inch-h-6-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c0001-container-placard-label-holder-cstb2-4-12-x-6-12-white>: HTTP status code is not handled or not allowed 2026-01-27 22:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-gl1800a-gold-wing-abs-1800cc-motorcycle-replacement-battery-2001-2012-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bx1642x-42-inch-w-x-16-inch-d-18-gauge-800-lb-capacity-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/victory-arlen-ness-vision-1731cc-motorcycle-replacement-battery-2010-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab85-1248-6x-48-inch-w-x-12-inch-d-x-85-inch-h-6-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmw-hp4-without-alarm-system-1000cc-motorcycle-replacement-battery-2013-2014-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-stainless-steel-516-18-x-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22858 pages (at 98 pages/min), scraped 8749 items (at 28 items/min) 2026-01-27 22:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-motorcycle-batteries-12-volt-sealed-agm-motorcycle-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-ironhorse-classic-1820cc-motorcycle-replacement-battery-2000-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combo-led-emergency-exit-sign-red-letters-battery-backup>: HTTP status code is not handled or not allowed 2026-01-27 22:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/old-english-furniture-scratch-cover-for-lite-wood-8oz-btl-6cs-rac75462>: HTTP status code is not handled or not allowed 2026-01-27 22:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixture-carrier-in-wall-floor-mount>: HTTP status code is not handled or not allowed 2026-01-27 22:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala174-exofit-x300-comfort-vest-safety-harness-back-d-ring-2xl>: HTTP status code is not handled or not allowed 2026-01-27 22:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala174-exofit-x200-comfort-vest-safety-harness-back-d-ring-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-series-popcorn-machine-12-oz-popper-240-one-oz-servings-per-hour>: HTTP status code is not handled or not allowed 2026-01-27 22:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheila-shine-stainless-steel-cleaner-polish-gallon-can-1-case-ssi4ea>: HTTP status code is not handled or not allowed 2026-01-27 22:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jh1100-b-ultra-130-1100cc-personal-watercraft-battery-2001-2004-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wal-6-3-flute-extractor>: HTTP status code is not handled or not allowed 2026-01-27 22:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-forklift-fork-extensions-72-l-for-5-w-forkpair-987447>: HTTP status code is not handled or not allowed 2026-01-27 22:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protecta-edge-self-retracting-lifeline-galvanized-cable--steel-swivel-snap-hook-33l>: HTTP status code is not handled or not allowed 2026-01-27 22:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-hcflu208-24-flange-mount-bearing-2-bolt-flange-eccentric-locking-collar-bore-38-1-mm>: HTTP status code is not handled or not allowed 2026-01-27 22:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-wire-shelf-cover-60w-x-18d-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-general-purpose-npt-valve-body-7-5-cv-vt2427>: HTTP status code is not handled or not allowed 2026-01-27 22:12:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/portable_electric_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucp211-35-pillow-block-bearing-set-screw-locking-bore-55-5625-mm>: HTTP status code is not handled or not allowed 2026-01-27 22:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucf210-30-flange-mount-bearing-4-bolt-flange-set-screw-locking-bore-47-625-mm>: HTTP status code is not handled or not allowed 2026-01-27 22:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-21319exw33c3-95mm-bore-200mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jt1500-ultra-310x-1500cc-personal-watercraft-battery-2014-2016-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metatarsal-knee-boots-chevron-outsole-steel-toe-size-7-16h-brick-redcream>: HTTP status code is not handled or not allowed 2026-01-27 22:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amigo-mobility-classicfd-mobility-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23220ex1w33c3-100mm-bore-180mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heartway-mystere-xpf5x-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-hcfu207-23-flange-mount-bearing-4-bolt-flange-eccentric-locking-collar-bore-36-5125-mm>: HTTP status code is not handled or not allowed 2026-01-27 22:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22308exw33c3-40mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-21318exw33c3-90mm-bore-190mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/portable_electric_heaters>: HTTP status code is not handled or not allowed 2026-01-27 22:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22334ew33c3-170mm-bore-360mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cease-fire-round-waste-receptacle-with-aluminum-head-30-gallon-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23226ex1w3kc3-130mm-bore-230mm-od-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-27 22:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-square-partition-wall-divider-10w-x-6h-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bladez-executive-dks-320-mobilityscooter-mobility-scooter-battery-26ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23052ew33c3-260mm-bore-400mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6717fr-evaporative-cooling-hard-hat-pad-with-neck-shade-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3400-grabber-red>: HTTP status code is not handled or not allowed 2026-01-27 22:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu320myc3-100mm-bore-215mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3216-microfiber-cleaning-cloth-black>: HTTP status code is not handled or not allowed 2026-01-27 22:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-partition-store-single-bay-cart-with-wire-baskets-25l-x-29-12w-x-58-12h-white>: HTTP status code is not handled or not allowed 2026-01-27 22:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6710fr-evaporative-fr-cooling-triangle-hat-lime>: HTTP status code is not handled or not allowed 2026-01-27 22:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu322myc3-110mm-bore-240mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-n308-40mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nj312-60mm-bore-130mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/avigo-surge-24v-dirt-rider-electric-scooter-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ball-transfer-conveyor-table-btit220403-with-3-center-75-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-wildcat-450-wildcat450bk24ss-mobility-scooter-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-wheel-cylinder-2-pack-for-global-industrial-utility-vehicle-615162>: HTTP status code is not handled or not allowed 2026-01-27 22:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-in-316-stainless-steel-swing-check-valve-200-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-lead-free-brass-tee-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-27 22:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-54w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-starter-72w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-in-304-stainless-steel-union-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-27 22:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-jazzy-selectelite-mobility-scooter-replacement-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-starter-ost75-3648-5-48-inch-w-x-36-inch-d-x-75-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-starter-ost87-1836-7x-36-inch-w-x-18-inch-d-x-87-inch-h-7-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-add-on-oat87-1842-6-42-inch-w-x-18-inch-d-x-87-inch-h-6-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-x-1-1-8-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-27 22:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-skandic-550f-tundra-sport-550cc-snowmobile-battery-2010-2011-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-skandic-tundra-lt-550f-550cc-snowmobile-battery-2008-2011-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-lead-free-brass-coupling-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-27 22:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-add-on-cat75-1836-6-36-inch-w-x-18-inch-d-x-75-inch-h-6-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-03280-su-q50-cl-gy6-12v-50w-single-ended-t3-5-halogen-bulb-gy6-35-base-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-add-on-oat75-3042-8x-42-inch-w-x-30-inch-d-x-75-inch-h-8-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5201zz-double-row-angular-contact-ball-bearing-double-shielded-od-32mm-bore-12mm-metric>: HTTP status code is not handled or not allowed 2026-01-27 22:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hotpod-8-in-duct-mounted-heater-hardwired-hp8-1440120-2t-1440-720w-120v>: HTTP status code is not handled or not allowed 2026-01-27 22:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-expedition-le-4-tec-1200-1200cc-snowmobile-battery-2015-2018-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-past-due-1-5-8-x-1-2-red>: HTTP status code is not handled or not allowed 2026-01-27 22:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-posted-5-8-diameter-red>: HTTP status code is not handled or not allowed 2026-01-27 22:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 22954 pages (at 96 pages/min), scraped 8779 items (at 30 items/min) 2026-01-27 22:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-add-on-60w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-tnt-ace-900-899cc-snowmobile-replacement-battery-2014-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/print-or-write-notarial-certificate-seals-2-diameter-gold-44-labels-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-poly-bags-36-x-48-8-mil-clear-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-14-x-12-x-3-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-correct-correction-tape-1-6-in-x-400-in-white-10-box>: HTTP status code is not handled or not allowed 2026-01-27 22:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-3-x-3-x-2-200lb-test-ect-32-kraft-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-seal-reclosable-poly-bags-22-x-22-3-mil-clear-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-received-1-2-x-1-5-8-blue-red>: HTTP status code is not handled or not allowed 2026-01-27 22:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-se-e-tec-600-ho-snowmobile-replacement-battery-2012-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-easy-fold-mailers-7-1-2-x-7-1-2-x-2-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-24w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-m1000-efi-1000cc-snowmobile-replacement-battery-2007-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expansion-poly-mailers-13-x-16-x-4-2-5-mil-white-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-42w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-chrome-esd-wire-shelving-unit-starter-60w-x-12d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-chrome-esd-wire-shelving-unit-starter-60w-x-12d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-green-wire-shelving-unit-add-on-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mx-z-500ss-trail-adrenaline-593cc-snowmobile-battery-2004-2005-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-gold-wing-gl1000-1000cc-snowmobile-replacement-battery-1975-1979-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 22:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-gas-appliance-regulator-210d-1-1-4-up-to-6500000-btu>: HTTP status code is not handled or not allowed 2026-01-27 22:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-12-x-5-x-4-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-green-wire-shelving-unit-starter-60w-x-12d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-keyboard-display-module-s7800a1001>: HTTP status code is not handled or not allowed 2026-01-27 22:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwik-spin-w-maxcore-cable-25-feet-l-x-1-4-inch-w>: HTTP status code is not handled or not allowed 2026-01-27 22:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-xf-9000-cross-country-limited-1056cc-snowmobile-battery-2015-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-green-wire-shelving-unit-starter-36w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-skandic-wt-lc-500cc-snowmobile-replacement-battery-1998-2001-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 22:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-h700-full-body-harness-comfort-quick-connect-d-ring>: HTTP status code is not handled or not allowed 2026-01-27 22:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8657-containment-berm-rapid-rise-12-x-40-22-oz-pvc>: HTTP status code is not handled or not allowed 2026-01-27 22:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gtx-sport-600-ho-sdi-594cc-snowmobile-replacement-battery-2007-2008-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-961217820-six-tier-12-x-18-x-12-1-wide-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-frame-with-drywall-afterset-curries-hinge-location-left-hand-48w-x-84h>: HTTP status code is not handled or not allowed 2026-01-27 22:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-921212600-double-tier-12-x-12-x-30-1-wide-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-formula-500-deluxe-500cc-snowmobile-replacement-battery-1997-1998-12v-i>: HTTP status code is not handled or not allowed 2026-01-27 22:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-renegade-backcountry-800r-800cc-snowmobile-battery-2014-2016-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2811-wh-90-flat-elbow-white-2l>: HTTP status code is not handled or not allowed 2026-01-27 22:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-811218721-single-tier-12-x-18-x-72-dove-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/courier-3000-shipping-scale-70-lb-cap-x-005-lb-readability-13-x-12-58-platform>: HTTP status code is not handled or not allowed 2026-01-27 22:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrically-conductive-floor-mat-916-thick-3-x-12-black>: HTTP status code is not handled or not allowed 2026-01-27 22:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-8z1212721-z-style-12-x-12-x-72-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-27 22:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fmlwl-48-840-linear-flush-mount-wrap-4-led-wrap-4000-cct-white>: HTTP status code is not handled or not allowed 2026-01-27 22:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-stick-sheet-protector-8-1-2w-x-11h-clear-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contractor-3-inch-stiff-scraper-angled-140900430>: HTTP status code is not handled or not allowed 2026-01-27 22:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3rd-generation-smart-tsa-travel-padlock-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-mule-1000-utility-vehicle-450cc-utv-replacement-battery-1987-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-730-2-piece-full-port-ball-valve-carbon-steel-2-threaded>: HTTP status code is not handled or not allowed 2026-01-27 22:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-725-2-piece-large-port-ball-valve-carbon-steel-12-threaded>: HTTP status code is not handled or not allowed 2026-01-27 22:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sky-3-piece-outdoor-lounge-sets-23-5-8-w-x-15-11-16-h-table-black>: HTTP status code is not handled or not allowed 2026-01-27 22:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4991-double-sided-vhb-acrylic-foam-tape-1-x-5-yds-90-mil-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-408nl-non-rising-stem-gate-valve-no-lead-brass-2-threaded>: HTTP status code is not handled or not allowed 2026-01-27 22:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-365ss-butterfly-valve-with-epdm-seals--10-position-handle-4-lug>: HTTP status code is not handled or not allowed 2026-01-27 22:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-546nl-lf-brass-commercial-multi-turn-sillcock-valve-with-lockshield-12-fnpt>: HTTP status code is not handled or not allowed 2026-01-27 22:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/471-vinyl-tape-1-4-x-36-yds-5-2-mil-blue-3-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-travel-first-aid-kit-plastic-case-68-piece>: HTTP status code is not handled or not allowed 2026-01-27 22:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-712-2-piece-full-port-316-ball-valve-stainless-steel-12-threaded>: HTTP status code is not handled or not allowed 2026-01-27 22:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-conforming-gauze-non-sterile-4-x-4-yd-24-box>: HTTP status code is not handled or not allowed 2026-01-27 22:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-room-fan-forced-wall-heater-sra1512dsf-1500w-120v>: HTTP status code is not handled or not allowed 2026-01-27 22:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-g651-056c17g5315-1-3hp-115-208-230v-1800rpm-1ph-epfc>: HTTP status code is not handled or not allowed 2026-01-27 22:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-cover-karma-25>: HTTP status code is not handled or not allowed 2026-01-27 22:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-response-2-complete-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23052 pages (at 98 pages/min), scraped 8816 items (at 37 items/min) 2026-01-27 22:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-367ss-butterfly-valve-with-buna-seals--10-position-handle-10-lug>: HTTP status code is not handled or not allowed 2026-01-27 22:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-365ab-g-butterfly-valve-with-epdm-seals--gear-operator-8-lug>: HTTP status code is not handled or not allowed 2026-01-27 22:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x1903-1-4hp-115v-1725rpm-1ph-tenv-48z-fr>: HTTP status code is not handled or not allowed 2026-01-27 22:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dittmar-742102-weighmobile-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parks-medical-1al-doppler-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phs-west-ergo-express-3000-cart-medical-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-w537-215thfs9001-10hp-460v-3600rpm-3ph-215t-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-27 22:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y537-145thtr5376-1hp-230-460v-1200rpm-3ph-145tc-tenv>: HTTP status code is not handled or not allowed 2026-01-27 22:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-335di-butterfly-valve-with-epdm-seals--10-position-handle-5-wafer>: HTTP status code is not handled or not allowed 2026-01-27 22:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-335ab-butterfly-valve-with-epdm-seals--10-position-handle-3-wafer>: HTTP status code is not handled or not allowed 2026-01-27 22:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gruber-power-gpsu1-34-sealed-lead-acid-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lzws-erpb8-rf-filtered-bottle-filling-station-w-retrofit-swirlflo-fountain-refrig-ss>: HTTP status code is not handled or not allowed 2026-01-27 22:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperpure-pe-rt-tubing-12id-x-58od-x-100-coil-red>: HTTP status code is not handled or not allowed 2026-01-27 22:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y520-445thfn8050-200hp-460v-1800rpm-3ph-445t-tebc>: HTTP status code is not handled or not allowed 2026-01-27 22:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arjo-century-29182-chair-lift-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e261-5kcr46mn0090x-1-2hp-1725-1425rpm-100-120-200-240v-1ph-56c-fr-dp>: HTTP status code is not handled or not allowed 2026-01-27 22:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-90407-2-hp-220v-60hz-ultra-quiet-oil-free-air-compressor-motor>: HTTP status code is not handled or not allowed 2026-01-27 22:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/princeton-collection-table-with-white-laminate-top-and-tungsten-legs-120w-x-48d-x-29h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lcl-24p-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/springer-contr-merz-w151-3-i2-da-20a-3-pole-encl-reversing-switch-maintained-lockable-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-312-ductile-iron-check-valve-with-epdm-seats-stainless-steel-disc-4-wafer>: HTTP status code is not handled or not allowed 2026-01-27 22:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-147-fish-tape-50-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coopower-cp12-8-0-sealed-lead-acid-replacement-battery-8ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperpure-pe-rt-tubing-1id-x-1-18od-x-100-coil-red>: HTTP status code is not handled or not allowed 2026-01-27 22:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigeration-duty-motor-x528-1hp-3-4hp-900rpm-208-230-460v-3ph-56y-opao>: HTTP status code is not handled or not allowed 2026-01-27 22:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-classic-wicking-birdseye-t-shirt-with-pocket-yellow-4xl>: HTTP status code is not handled or not allowed 2026-01-27 22:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-head-solar-street-parking-lot-led-area-light-150w-31500-lm-black>: HTTP status code is not handled or not allowed 2026-01-27 22:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-6fm75td-x-sealed-lead-acid-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-27 22:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-k1487-1-3hp-1140-950rpm-208-230-460v-3ph-56-fr-tenv>: HTTP status code is not handled or not allowed 2026-01-27 22:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-g142-056t17d5347-1hp-1800rpm-208-230-460v-3-ph-56-fr>: HTTP status code is not handled or not allowed 2026-01-27 22:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-pipe-fitting-two-socket-cross-1-1-4-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60010013989-stikitgold-paper-df-disc-roll-216u-5dia-x-nh-p320-grit>: HTTP status code is not handled or not allowed 2026-01-27 22:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-x251-56t34d5364-5hp-3600rpm-208-230-460v-3ph-56hz-fr-dp>: HTTP status code is not handled or not allowed 2026-01-27 22:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kung-long-wp22-12rn-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelon-blue-wire-shelving-unit-add-on-42w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nm20-c5-plugmold-120v-15a-60l-5-outlets>: HTTP status code is not handled or not allowed 2026-01-27 22:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelon-blue-wire-shelving-unit-add-on-54w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bk2011-90-flat-elbow-125v-15a-2-12l>: HTTP status code is not handled or not allowed 2026-01-27 22:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesa-safe-14-gun-safe-mgl14-c-with-mechanical-lock-12-hour-fire-20l-x-20w-x-55h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelon-blue-wire-shelving-unit-add-on-60w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gruber-power-gps12-6-sealed-lead-acid-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelon-blue-wire-shelving-unit-starter-30w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-pvc-ceiling-tile-75307-waterproof-washable-icon-coffer-2l-x-2w-satin-blk>: HTTP status code is not handled or not allowed 2026-01-27 22:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-tee-23200-use-for-1516w-grid-white>: HTTP status code is not handled or not allowed 2026-01-27 22:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-neoprene-commercial-grade-60a-rubber-sheet-3-16-thick-x-36-wx-6-l>: HTTP status code is not handled or not allowed 2026-01-27 22:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-neoprene-commercial-grade-60a-rubber-sheet-1-16-thick-x-36-wx-14-l>: HTTP status code is not handled or not allowed 2026-01-27 22:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelon-blue-wire-shelving-unit-starter-48w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-starter-54w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-starter-24w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-universal-power-ub1280-12-volt-8-ah-sealed-agm-12v-8ah-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firstpower-fp12280l-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thirst-quencher-energy-drink-fruit-punch-24-oz-24carton>: HTTP status code is not handled or not allowed 2026-01-27 22:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unison-union-mx-12120-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sandwich-crackers-peanut-butter-18-oz-12box>: HTTP status code is not handled or not allowed 2026-01-27 22:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironguard-laminated-dock-bumper-24-1003-16-w-x-4-1-2-d-x-12-h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-gallon-1-door-manual-compac-acid-corrosive-cabinet-23-1-4w-x-18d-x-35h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironguard-laminated-dock-bumper-24-3600-13-w-x-9-d-x-20-h>: HTTP status code is not handled or not allowed 2026-01-27 22:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ev-rider-super-light-2-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-horizontal-safety-drum-vent-for-petroleum-based-applications>: HTTP status code is not handled or not allowed 2026-01-27 22:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-gallon-1-door-self-close-slimline-flammable-cabinet-23-1-4w-x-18d-x-65h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-gallon-1-door-manual-left-hinge-fume-hood-acid-cabinet-24x21-5-8x35-3-4-silver>: HTTP status code is not handled or not allowed 2026-01-27 22:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-gallon-2-door-self-close-paint-ink-cabinet-34w-x-34d-x-65h-red>: HTTP status code is not handled or not allowed 2026-01-27 22:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51428-deluxe-medical-cart-with-swinging-hinged-door-23-x-19-x-35-global-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-caddx-networx-nx-6-12v-7ah-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-caddx-networx-nx-4-12v-7ah-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23146 pages (at 94 pages/min), scraped 8845 items (at 29 items/min) 2026-01-27 22:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-cat-14-inch-or-less-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-gallon-2-door-manual-paint-ink-cabinet-34w-x-34d-x-65h-red>: HTTP status code is not handled or not allowed 2026-01-27 22:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibc-outdoor-shed-w-pallet>: HTTP status code is not handled or not allowed 2026-01-27 22:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-mini-stackable-and-nesting-tek-tray-37752-12-1-4-l-x-8-15-16-w-x-2-h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-utility-cart-handle-nexelate-price-each-package-of-2>: HTTP status code is not handled or not allowed 2026-01-27 22:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-action-16-inch-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-72w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gasoline-rotary-pump-fm-91drp>: HTTP status code is not handled or not allowed 2026-01-27 22:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-60w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-39005275-34-male-pipe-x-34-female-pipe-swivel>: HTTP status code is not handled or not allowed 2026-01-27 22:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apache-dust-cap-39041852-12-body-2-ea-for-use-on-coupler-female-half-of-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-8209-4-to-6-restraint-lanyard-adjustable-single-leg-with-2-snap-hooks>: HTTP status code is not handled or not allowed 2026-01-27 22:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-8240-elastech-4-1-2-to-6-shock-absorbing-lanyard-with-2-snap-hooks>: HTTP status code is not handled or not allowed 2026-01-27 22:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-locking-panel-26w-x-3-4d-x-11-1-4h-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoprider-te-787-scootie-wheelchair-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-wing-free-air-fan-blade-interchangeable-hub-aluminum-blade-ccw-14-inch-dia-27-pitch>: HTTP status code is not handled or not allowed 2026-01-27 22:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-174-slim-jim-174-1883459-plastic-step-on-container-end-step-13-gallon-beige>: HTTP status code is not handled or not allowed 2026-01-27 22:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-174-slim-jim-174-1883606-plastic-step-on-container-front-step-24-gallon-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-plastic-push-on-fan-blade-4-inch-dia-cw-1-8-inch-bore-3-4-inch-blade-depth-4-blade>: HTTP status code is not handled or not allowed 2026-01-27 22:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-04106-1-2-in-wrot-copper-street-tee-copper-x-street-x-copper>: HTTP status code is not handled or not allowed 2026-01-27 22:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-02621-3-8-in-wrot-copper-90-degree-long-radius-elbow-street-x-street>: HTTP status code is not handled or not allowed 2026-01-27 22:15:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/bags_cases/computer_bags_briefcases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-6-5-16-inch-dia-ccw-2000-rpm-1-2-inch-bore-2-1-2-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 22:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shredder-bags-for-401xx-series-200-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-6-5-16-inch-dia-ccw-2000-rpm-1-2-inch-bore-2-1-16-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 22:15:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-9-1-8-inch-dia-ccw-1750-rpm-1-2-inch-bore-3-3-4-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 22:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-z-brite-wire-shelving-unit-starter-36w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-three-wing-condenser-fan-blade-30-inch-dia-cw-33-pitch-720-850-1000-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-5-3-4-inch-dia-ccw-3450-rpm-1-2-inch-bore-8-1-2-inch-w-aluminium>: HTTP status code is not handled or not allowed 2026-01-27 22:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dfl-f-54x60-drainable-blade-fixed-louver-with-flange-54wx60h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-12-5-8-inch-dia-cw-or-ccw-6-inch-w-1-inch-bore>: HTTP status code is not handled or not allowed 2026-01-27 22:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thurst-collars-5-8-inch-shaft-diameter-2pk>: HTTP status code is not handled or not allowed 2026-01-27 22:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-6-5-16-inch-dia-cw-3450-rpm-1-4-inch-bore-7-5-8-inch-w-aluminium>: HTTP status code is not handled or not allowed 2026-01-27 22:15:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/bags_cases/computer_bags_briefcases landed on page that is not a product page. 2026-01-27 22:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-z-brite-wire-shelving-unit-add-on-54w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 22:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-7-1-2-inch-dia-ccw-2500-rpm-1-4-inch-bore-4-inch-w-aluminium>: HTTP status code is not handled or not allowed 2026-01-27 22:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-starter-30w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 22:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-insulated-bin-lid-966c-50197-48l-x-43w-x-3h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technacell-tc12240-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cartridge-type-sleeve-bearings-with-steel-journals>: HTTP status code is not handled or not allowed 2026-01-27 22:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 22:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-m-9-2-p-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-5-1-4-inch-dia-ccw-3450-rpm-1-2-inch-bore-5-7-8-inch-w-aluminium>: HTTP status code is not handled or not allowed 2026-01-27 22:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-solid-shelving-unit-starter-48w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-wing-condenser-fan-blade-interchangeable-hub-aluminum-ccw-18-inch-dia-33-pitch>: HTTP status code is not handled or not allowed 2026-01-27 22:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-3-shelf-vented-plastic-mat-shelving-unit-starter-42w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-tev12210-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-cf18-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/talkabout-emergency-two-way-radio-22-channels-15-watt-redwhite-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 22:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-12rsm36-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermal-presentation-covers-1-240-sheets-black-10-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-041-plastic-box-w-dividers-8-x-525-x-15>: HTTP status code is not handled or not allowed 2026-01-27 22:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-8-wide-electronic-heavy-duty-tape-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 22:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-wide-manual-multi-roll-tape-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 22:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-72-in-w-x-48-in-d-x-84-in-h-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-60-in-w-x-24-in-d-x-96-in-h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-extra-strength-adhesive-labeling-tape-1w-black-on-white>: HTTP status code is not handled or not allowed 2026-01-27 22:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-12-dsm-36-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightalarms-ce1-5ck-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62-pc-import-cobalt-polished-jobbers-1-60-drill-set>: HTTP status code is not handled or not allowed 2026-01-27 22:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbell-12-828-12-829-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-high-cap-boltless-shelving-add-on-72-in-w-x-24-in-d-x-96-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-high-cap-boltless-shelving-steel-deck-add-on-48-in-w-x-18-in-d-x-84-in-h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-headings-calendar-dates-1-31-white-on-black>: HTTP status code is not handled or not allowed 2026-01-27 22:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-96-in-w-x-36-in-d-x-60-in-h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/business_card_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rc4ctcbk-poke-thru-flange-slide-holder-assembly-black>: HTTP status code is not handled or not allowed 2026-01-27 22:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-48-in-w-x-36-in-d-x-60-in-h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imc270ms-ice-maker-compact-portable-metallic-silver-makes-27-lbs-per-day>: HTTP status code is not handled or not allowed 2026-01-27 22:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23240 pages (at 94 pages/min), scraped 8869 items (at 24 items/min) 2026-01-27 22:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/818tcal-floor-box-1-gang-combination-carpet-tile-flange-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-72-in-w-x-15-in-d-x-84-in-h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lightning-tl930210-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-heavy-duty-boltless-shelving-add-on-36-in-w-x-18-in-d-x-96-in-h>: HTTP status code is not handled or not allowed 2026-01-27 22:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/york-wide-light-m2e12-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/national-power-gt024p6-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-153302003-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-valley-bariatric-guest-chair-with-sled-base-solid-vinyl-black-light-oak>: HTTP status code is not handled or not allowed 2026-01-27 22:16:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/business_card_holders landed on page that is not a product page. 2026-01-27 22:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedcell-ready-bay-pick-rack-starter-medium-96w-x-42d-x-96h-bluewhite>: HTTP status code is not handled or not allowed 2026-01-27 22:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bomb-suppression-blanket-jumbo-63l-x-63w-black>: HTTP status code is not handled or not allowed 2026-01-27 22:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traffic-spiked-speed-bump-15-14l-x-39-34w-x-2h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-bookcase-assembled-36w-x-18d-x-36h-putty>: HTTP status code is not handled or not allowed 2026-01-27 22:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm66fa-fg-grizzly-660cc-atv-replacement-battery-2005-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-60inw-x-24ind-x-60inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-27 22:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-gal-drum-gauge-stainless-bushing-rods-float-2-fitting-33-1-2-depth>: HTTP status code is not handled or not allowed 2026-01-27 22:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tank-liquid-level-gauge-aluminum-bushing-galvanized-rod-hdpe-float-2-fitting-42-depth>: HTTP status code is not handled or not allowed 2026-01-27 22:16:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_liquid_level_alarms_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:16:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_liquid_level_alarms_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awsw-partition-80x7-f-navy-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a512-550a-emergency-light-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-48inw-x-18ind-x-96inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-27 22:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-advantage-classic-600cc-atv-replacement-battery-2003-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-24ind-x-84inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-27 22:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-70-pc-blue-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-27 22:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/numatic-henry-hepa-flo-filter-bags-130-180-200-models-hepa-h11-gk-nvm1ch-hepa>: HTTP status code is not handled or not allowed 2026-01-27 22:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-four-runner-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:16:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-36in-w-x-18in-d-x-84in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucky-duck-lucky-flapper-snow-goose-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_liquid_level_alarms_gauges>: HTTP status code is not handled or not allowed 2026-01-27 22:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_liquid_level_alarms_gauges>: HTTP status code is not handled or not allowed 2026-01-27 22:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-36in-w-x-18in-d-x-96in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:16:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awrd-partition-88x84-f-beige>: HTTP status code is not handled or not allowed 2026-01-27 22:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-36in-w-x-24in-d-x-96in-h>: HTTP status code is not handled or not allowed 2026-01-27 22:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-64wsvrdkb-3sided-l-r-open-fr-15l-x-10w-vented-standing-seam-roof-dk-brz>: HTTP status code is not handled or not allowed 2026-01-27 22:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-shelf-extra-heavy-duty-boltless-shelving-add-on-36in-w-x-12in-d-x-60in-h>: HTTP status code is not handled or not allowed 2026-01-27 22:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-security-glove-box-holder-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels>: HTTP status code is not handled or not allowed 2026-01-27 22:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wildgameinnovations-blue-iris-scb3-trailcamera-decoy-battery-5ah-6v>: HTTP status code is not handled or not allowed 2026-01-27 22:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-192-individual-v-track-length-192>: HTTP status code is not handled or not allowed 2026-01-27 22:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-all-425cc-models-425cc-atv-replacement-battery-1995-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd18-2-two-18-skates>: HTTP status code is not handled or not allowed 2026-01-27 22:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels>: HTTP status code is not handled or not allowed 2026-01-27 22:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26256-radial-flow-gac-8-gpm-micron>: HTTP status code is not handled or not allowed 2026-01-27 22:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-3300lb-cap-96wx36dx84h-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-27 22:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hercules-sachs-gipsy-50cc-motorcycle-replacement-battery-1995-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-dog-vintage-classic-1570cc-motorcycle-replacement-battery-1998-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-basket-02035003-38-20-1-4-l-x-17-3-16-w-x-2-1-2-h-stainless-steel-natural>: HTTP status code is not handled or not allowed 2026-01-27 22:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-dog-chopper-dt-1750cc-motorcycle-replacement-battery-2003-2004-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-dc-classic-1507cc-motorcycle-replacement-battery-1998-2004-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bridgestone-350-gto-350cc-motorcycle-replacement-battery-1969-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2025-3-carbon-eyebolt-shoulder-pattern-1-2-13-3-shank>: HTTP status code is not handled or not allowed 2026-01-27 22:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-arc-flash-self-retracting-lifeline-web--aluminum-rebar-lock-hook-8l>: HTTP status code is not handled or not allowed 2026-01-27 22:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-z750-eu-750cc-motorcycle-replacement-battery-2007-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-utility-cart-het-3672-2-5k-95-4000-lb-cap-2-shelves-8-wheels>: HTTP status code is not handled or not allowed 2026-01-27 22:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-cooling-safety-t-shirt-long-sleeve-ansi-class-3-s-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drybrow-sweatband-blue-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 22:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/945-case-w-foam-25-1-8l-x-19-7-8w-x-8-13-16h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-twin-leg-arc-flash-self-retracting-lifeline-web--steel-rebar-hook-8l>: HTTP status code is not handled or not allowed 2026-01-27 22:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pic-a-watt-wall-heater-paw1215-1500w-max-120v-compact-white>: HTTP status code is not handled or not allowed 2026-01-27 22:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/161791-bi-pass-closet-track-kit-48-2-door-hardware-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multithotic-orthotic-anti-fatigue-insole-mens-1011womens-1213>: HTTP status code is not handled or not allowed 2026-01-27 22:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-cvo-softail-flstse3-1803cc-motorcycle-battery-2012-12v>: HTTP status code is not handled or not allowed 2026-01-27 22:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pic-a-watt-unit-heater-kbp1230-2850w-max-120v-1-phase-pearl-white>: HTTP status code is not handled or not allowed 2026-01-27 22:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-baseboard-heater-6k2415bw-1500w-240v-72l-white>: HTTP status code is not handled or not allowed 2026-01-27 22:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/titan-road-runner-112cc-motorcycle-replacement-battery-1995-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-welded-workbench-48-x-24-adj-height-louvered-panel-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-27 22:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-elite-ada-ss-sink-1-station-with-metering-faucet-wall-mount-24l-x-21w-x-5d-sink>: HTTP status code is not handled or not allowed 2026-01-27 22:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/183070003-lead-ring-vinyl-coated-round-36lb-fits-5-10ml-cylinders-red>: HTTP status code is not handled or not allowed 2026-01-27 22:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23336 pages (at 96 pages/min), scraped 8899 items (at 30 items/min) 2026-01-27 22:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/118160008-wash-bottle-ldpe-500ml-isopropanol-4-pk-yellow-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-cabinet-workbench-with-steel-square-edge-48w-x-30d-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-flush-door-with-264-yellow-bins-16-ga-all-welded-cabinet-72-w-x-24-d-x-84-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-flush-door-with-212-blue-bins-16-ga-all-welded-cabinet-72-w-x-24-d-x-84-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/369040000-sterileware-scoops-polystyrene-4oz-100-box-white>: HTTP status code is not handled or not allowed 2026-01-27 22:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-5008-class-3-hi-viz-moisture-wicking-birdeyes-short-sleeve-t-shirt-orange-3xl>: HTTP status code is not handled or not allowed 2026-01-27 22:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-d238-disruptor-genie-cell-disruptor-homogenizer-120v-analog>: HTTP status code is not handled or not allowed 2026-01-27 22:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ct661bisshhada-ada-compliant-built-in-undercounter-refrigerator-freezer-51-cu-ft-24w>: HTTP status code is not handled or not allowed 2026-01-27 22:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imc-heartway-marage-fp6-mobility-scooter-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:17:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wine-bottle-rackwall-mount-27-bottle-36-x-14-x-34-797154>: HTTP status code is not handled or not allowed 2026-01-27 22:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permobil-lowrider-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 22:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-stp-stl-safet-roll-lad-wt-actu-stp-24-perf-stp-wa073214p>: HTTP status code is not handled or not allowed 2026-01-27 22:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-42w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-24w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-cover-lpgblue-26dia-x-41-1-4h-4-rings-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-60w-x-30d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motofino-mf125qt-7-125cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-48w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thru-wall-drawer-medium-transfer-area-ul-approved-bullet-resistant-faceplate-insert>: HTTP status code is not handled or not allowed 2026-01-27 22:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos>: HTTP status code is not handled or not allowed 2026-01-27 22:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-30w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sea-dye-marker-yellow-1-case-dx1517m>: HTTP status code is not handled or not allowed 2026-01-27 22:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-oal-long-spring-assist-gate-section-galvanized-steel-roller-conveyor-19-roller-dia-36-bf>: HTTP status code is not handled or not allowed 2026-01-27 22:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-quartz-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rad2go-great-white-e36-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccsm-small-cylinder-cart>: HTTP status code is not handled or not allowed 2026-01-27 22:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-tire-tube-20601-2-80-2-50-4-jag-tread-8-5-x-3->: HTTP status code is not handled or not allowed 2026-01-27 22:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koala-kare-174-diaper-kit-diaper-dispenser-kb113-99>: HTTP status code is not handled or not allowed 2026-01-27 22:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-loop-fastener-1-tape-black-1-loop>: HTTP status code is not handled or not allowed 2026-01-27 22:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bladez-xtr-comp-4-800w-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 22:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-loop-fastener-78-buttons-78-hook-white>: HTTP status code is not handled or not allowed 2026-01-27 22:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econo-locking-tie-48>: HTTP status code is not handled or not allowed 2026-01-27 22:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-wobbler-34-x-34>: HTTP status code is not handled or not allowed 2026-01-27 22:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-42w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-strip-hanger-plastic>: HTTP status code is not handled or not allowed 2026-01-27 22:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u2061-cantilever-rack-single-sided-upright-61d-x-20h>: HTTP status code is not handled or not allowed 2026-01-27 22:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-1000-sdi-renegade-x-998cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-48w-x-30d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/du2082-cantilever-rack-double-sided-upright-82d-x-20h>: HTTP status code is not handled or not allowed 2026-01-27 22:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-kaf620-mule-2520-turf-620cc-utv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1274-ns-cantilever-rack-single-sided-upright-74w-x-12h>: HTTP status code is not handled or not allowed 2026-01-27 22:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econo-tag-extra-wide-upclabel-holder-1-14-x-3-38>: HTTP status code is not handled or not allowed 2026-01-27 22:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-drum-spillnest-utility-tray-t8101g-with-grate-32-14-x-32-14-x-3-10-gallon-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-legend-700-693cc-snowmobile-replacement-battery-2004-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hang-tab-system-516-hole-dia-34w-x-1-5h>: HTTP status code is not handled or not allowed 2026-01-27 22:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-wheel-kit-for-manual-pallet-jack-gwk-btu-ck-fits-bt-model-l-2000-u-l-2300-u>: HTTP status code is not handled or not allowed 2026-01-27 22:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-36w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-48w-x-36d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-strip-12-station-wtape-header-34-14l-white>: HTTP status code is not handled or not allowed 2026-01-27 22:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-16028-nipple-34-body-size-34-female-sae-111612-unf-oring-boss-orb>: HTTP status code is not handled or not allowed 2026-01-27 22:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-16028-coupler-12-body-size-58-female-sae-7814-unf-oring-boss-orb>: HTTP status code is not handled or not allowed 2026-01-27 22:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubby-cabinet-cc-52-18-welded-34-1-2w-x-13-1-2d-x-52h-bright-red>: HTTP status code is not handled or not allowed 2026-01-27 22:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unassembled-350w-direct-drive-mixer-w-stand>: HTTP status code is not handled or not allowed 2026-01-27 22:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vttr5-6024-60-x-24-18-ga-stainless-workbench-with-5-riser-galvanized-base>: HTTP status code is not handled or not allowed 2026-01-27 22:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-54w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-renegade-sport-600-carb-600cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-72w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-rolling-door-lock-keyed-differently-hdrdl-kd>: HTTP status code is not handled or not allowed 2026-01-27 22:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-elite-1500-2nd-edition-1500cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 22:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/attachment-lock-short-keyed-differently-ats-kd>: HTTP status code is not handled or not allowed 2026-01-27 22:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-magnetic-spreader-beam-120l-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-36w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-steel-flat-file-for-30-42-d-black>: HTTP status code is not handled or not allowed 2026-01-27 22:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-top-dome-receptacles-15-gallon-white-9639wh>: HTTP status code is not handled or not allowed 2026-01-27 22:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facil-steel-flat-file-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-magnetic-fork-tip-protector-714l-x-81316w-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-48w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28ft-fiberglass-aero-box-rail-extension-ladder-iaa-b7128-2>: HTTP status code is not handled or not allowed 2026-01-27 22:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23435 pages (at 99 pages/min), scraped 8930 items (at 31 items/min) 2026-01-27 22:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b36-5l390-v-belt-5-8-x-39>: HTTP status code is not handled or not allowed 2026-01-27 22:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-30w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-30w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:17:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/ceiling_fans/high_volume_low_speed_hvls_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b186-v-belt-5-8-x-189>: HTTP status code is not handled or not allowed 2026-01-27 22:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b112-v-belt-5-8-x-115>: HTTP status code is not handled or not allowed 2026-01-27 22:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mth1-3036-ah-heavy-duty-machine-table-adjustable-height>: HTTP status code is not handled or not allowed 2026-01-27 22:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8246z-s-two-tone-mesh-hi-vis-safety-vest-class-2-single-size-xl-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-office-partitions-blue-48-14w-x-60h-238637FBL>: HTTP status code is not handled or not allowed 2026-01-27 22:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b258-v-belt-5-8-x-261>: HTTP status code is not handled or not allowed 2026-01-27 22:18:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b52-5l550-v-belt-5-8-x-55>: HTTP status code is not handled or not allowed 2026-01-27 22:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-alike-1-1-2-plastic-steel-orange-6-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-different-1-1-2-plastic-nylon-red-12-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/fans_blowers/ceiling_fans/high_volume_low_speed_hvls_fans>: HTTP status code is not handled or not allowed 2026-01-27 22:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b240-v-belt-5-8-x-243>: HTTP status code is not handled or not allowed 2026-01-27 22:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b246-v-belt-5-8-x-249>: HTTP status code is not handled or not allowed 2026-01-27 22:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-460-v-150-hp-1785-rpm-3-ph-444ts-dp>: HTTP status code is not handled or not allowed 2026-01-27 22:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-28-1-8-qt-plastic-recycling-wastebasket-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-208-230-460-v-75-hp-1770-rpm-3-ph-213tc-tefc-B909050>: HTTP status code is not handled or not allowed 2026-01-27 22:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-27 22:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-30w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-iqcrew-premium-85-piece-microscope-color-camera-software-kit-25-prepared-slide-set>: HTTP status code is not handled or not allowed 2026-01-27 22:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp84400t-5-3-ph-100-hp-575-v-1785-rpm-tefc-405t-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-linea-71l-x-30d-table-with-metal-legs-bark-grey>: HTTP status code is not handled or not allowed 2026-01-27 22:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-em3556t-5-1155-hp-1-rpm-145t-frame-foot-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-27 22:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/whistler-cap-style-hard-hat-hdpe-shell-4-point-textile-suspension-and-pin-lock-adjustment-white>: HTTP status code is not handled or not allowed 2026-01-27 22:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-24w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolution-deluxe-6161-full-brim-hard-hat-hdpe-shell-6-pt-polyester-suspension-ratchet-adj-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-60-hp-1775-rpm-3-ph-364tc-opsb>: HTTP status code is not handled or not allowed 2026-01-27 22:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ken-forging-tb107-4-s-turnbuckle-assembly-stub-stub-5-8-11-x-11-carbon>: HTTP status code is not handled or not allowed 2026-01-27 22:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-idwnm3611t-3-phase-3-hp-1760-rpm-230-460-volts-tenv-184tc-fr>: HTTP status code is not handled or not allowed 2026-01-27 22:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ken-forging-tbs-10-rh-turnbuckle-stub-1-8-x-9-carbon-right-hand>: HTTP status code is not handled or not allowed 2026-01-27 22:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-cesswdm3559t-3-ph-3-hp-3470-rpm-208-230-460-v-tefc-145tc-fr>: HTTP status code is not handled or not allowed 2026-01-27 22:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-tek-polykor-industry-grade-seamless-knit-blended-glove-polyurethane-coated-flat-grip-large-12pk>: HTTP status code is not handled or not allowed 2026-01-27 22:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-hertz-motor-vm3534-57-3-ph-033-hp-1425-ip44-rpm-230-400-volts-tefc-56c-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-steel-wheel-875-8x175-2-1-2-centered-hub-1-2bb-diamond-tread>: HTTP status code is not handled or not allowed 2026-01-27 22:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prefilled-homogenizer-tubes-2-0ml-zirconium-beads-1-0mm-triple-pure-50-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8000240b-4-peg-hook-ball-tip-bright-silver-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2100m-rotating-literature-display-w-16-oversized-wire-pockets-round-base-black>: HTTP status code is not handled or not allowed 2026-01-27 22:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp84108t-5-3-ph-30-hp-575-v-3520-rpm-tefc-286ts-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp84115t-4-3-ph-50-hp-460-v-1770-rpm-tefc-326t-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp3583t-3-ph-15-hp-208-230-460-v-3450-rpm-tefc-143t-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-resettable-3-dial-combination-padlock-16040-c-12>: HTTP status code is not handled or not allowed 2026-01-27 22:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/505-10-breeze-machine-pivoting-table-fan-2-speed-110v-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-42w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/monthly-planner-9-x-11-black-2016-2017>: HTTP status code is not handled or not allowed 2026-01-27 22:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c556-standard-cable-lockout-00356-with-6-sheathed-metal-cable>: HTTP status code is not handled or not allowed 2026-01-27 22:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifugal-basket-for-sieva-3-500ml-non-perforated>: HTTP status code is not handled or not allowed 2026-01-27 22:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-54w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-42w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v303-gate-valve-lockout-1-25-diameter-red-00362>: HTTP status code is not handled or not allowed 2026-01-27 22:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-48wx14dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2e-mach-rod-end-machined-black-oxided-c1030-1035-5-16-18-x-6>: HTTP status code is not handled or not allowed 2026-01-27 22:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8e-b7mach-rod-end-machined-black-oxided-4140-7-8-9-x-6>: HTTP status code is not handled or not allowed 2026-01-27 22:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-9-x-19-x-16mm>: HTTP status code is not handled or not allowed 2026-01-27 22:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-safe-wmc-4-231208h-ws56-4-tier-12-w-x-8-d-x-23-h-8-pistol-cap-hasp-lock-sand>: HTTP status code is not handled or not allowed 2026-01-27 22:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-36-d-birch-butcher-block-square-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-27 22:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-shop-top-square-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-27 22:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-maple-butcher-block-square-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-27 22:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-24w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-step-steel-roll-ladd-rear-exit-gate-24-30-plat-perf-rwsr114246-xr>: HTTP status code is not handled or not allowed 2026-01-27 22:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-72wx18dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-30wx21dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23531 pages (at 96 pages/min), scraped 8964 items (at 34 items/min) 2026-01-27 22:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-magnet-motor-dmg2333-33-hp-1750-rpm-dpfg-328at-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-steel-stock-cart-36-x-24-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vl-san-giorgio-vsmk10am-vsg-life-jacket-solas-med-orange-adult-oversize>: HTTP status code is not handled or not allowed 2026-01-27 22:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-30wx24dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-heavy-duty-surveyors-vest-l-xl-orange-21455>: HTTP status code is not handled or not allowed 2026-01-27 22:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duet-molded-seat-sled-base-poly-stacking-chair-with-arms-ivory-clouds-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-1-4-20-transfer-screw-set>: HTTP status code is not handled or not allowed 2026-01-27 22:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-60wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-60w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-lite-gloves-18-gauge-nylon-shell-polyurethane-palm-fingertips-blue-black-2xl>: HTTP status code is not handled or not allowed 2026-01-27 22:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-bnf-gloves-18-gauge-nylon-shell-nitrile-coated-palm-fingertips-red-black-s>: HTTP status code is not handled or not allowed 2026-01-27 22:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-scr-nema-4x-control-accessory-bc145-signal-isolator-board>: HTTP status code is not handled or not allowed 2026-01-27 22:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-54w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-30w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpm-iii-dc-motor-tachometer-kit-417708-34-dpg-dpfv-frames-dc180-c180-dc2112>: HTTP status code is not handled or not allowed 2026-01-27 22:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1900-series-freestanding-file-file-pedestal-15w-x-22-5-8d-x-27-5-8h-desert-putty>: HTTP status code is not handled or not allowed 2026-01-27 22:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azle-shampoo-chair>: HTTP status code is not handled or not allowed 2026-01-27 22:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-36w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-er1030-7bbw-window-entry-awning-7-4-1-2-w-x-2-6-d-x-1-4-h-bright-blue-white>: HTTP status code is not handled or not allowed 2026-01-27 22:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-42w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-54w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-acting-hydraulic-cylinder-30-ton-8-stroke>: HTTP status code is not handled or not allowed 2026-01-27 22:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-36w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-microfiber-washing-pad-phw20>: HTTP status code is not handled or not allowed 2026-01-27 22:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pair-of-glove-clamps-for-cabinets-41500-41800-and-42000>: HTTP status code is not handled or not allowed 2026-01-27 22:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/main-support-poles-for-cabinet-41800-and-42000>: HTTP status code is not handled or not allowed 2026-01-27 22:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-in-1-environmental-meter-with-air-flow-red>: HTTP status code is not handled or not allowed 2026-01-27 22:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-24w-x-18d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-60w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closure-gasket-for-cabinet-42000>: HTTP status code is not handled or not allowed 2026-01-27 22:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-54w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-wih400-commercial-induction-range-120v>: HTTP status code is not handled or not allowed 2026-01-27 22:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duty-front-action-sealer-38-strap-width-double-notch-015-to-025-strap-gauge>: HTTP status code is not handled or not allowed 2026-01-27 22:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-250l-pipette-tips-mla-stacked-dense-rack-nonsterile-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-36w-x-18d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-60w-x-18d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-72w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w56-982-chefs-set-8-piece-high-carbon-steel-storage-bag>: HTTP status code is not handled or not allowed 2026-01-27 22:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-1000l-pipette-ovation-f1-fixed-volume-one-stroke>: HTTP status code is not handled or not allowed 2026-01-27 22:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knives-medium-weight-polypropylene-1000-carton-white>: HTTP status code is not handled or not allowed 2026-01-27 22:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-cab-60-cap-w-locking-panel-woodgrain-49-3-4w-x-17d-x-70-1-8h>: HTTP status code is not handled or not allowed 2026-01-27 22:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-1010l-pipette-ovation-m-mechanical>: HTTP status code is not handled or not allowed 2026-01-27 22:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stirrers-5-1-2l-plastic-1000-box-white-red>: HTTP status code is not handled or not allowed 2026-01-27 22:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-1000l-pipette-mla-precision-silver>: HTTP status code is not handled or not allowed 2026-01-27 22:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-cab-30-cap-w-locking-panel-beige-49-3-4w-x-17d-x-43-3-4h>: HTTP status code is not handled or not allowed 2026-01-27 22:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-flip-top-training-table-with-casters-60l-x-24w-x-29h-columbian-walnut>: HTTP status code is not handled or not allowed 2026-01-27 22:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-250850l-pipette-ovation-e12-electronic-multichannel-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r036c-6-air-sander-self-generating-vacuum-332-orbit-dia-13000-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rocacrylic-3800-acrylic-enamel-paint-1-gallon-can-gloss-white>: HTTP status code is not handled or not allowed 2026-01-27 22:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-single-face-shelving-base-37-w-x-12-1-4-d-x-71-1-8-h-oiled-cherry>: HTTP status code is not handled or not allowed 2026-01-27 22:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-234-x-334-x-12-black-rubber-elliptical-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-1675-back-support-brace-with-coolingwarming-pack-2xl-black>: HTTP status code is not handled or not allowed 2026-01-27 22:19:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handhole-gasket-spiral-wound-3-x-4-x-12-0175-thick-obround-pk-3>: HTTP status code is not handled or not allowed 2026-01-27 22:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-m2233-ergonomic-scissor-lift-table-foot-operated-3300-lb-cap-48l-x-36w-115v>: HTTP status code is not handled or not allowed 2026-01-27 22:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-manway-gasket-11-x-15-x-134-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6476-thermal-insulated-freezer-jacket-l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-mycart-two-shelf-utility-cart-with-chrome-plated-posts-28x23-shelves-green>: HTTP status code is not handled or not allowed 2026-01-27 22:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-212-x-314-x-38-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/western-global-fuelcube-type-s-diesel-fuel-storage-tank-w-12v15gpm-pump-kit-119-gal-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanix-wear-fastfit174hivizretail-work-gloves-synthetic-leather-black-large>: HTTP status code is not handled or not allowed 2026-01-27 22:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters>: HTTP status code is not handled or not allowed 2026-01-27 22:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-scrub-brush-for-vortex-9-multi-surface-scrubber-9w>: HTTP status code is not handled or not allowed 2026-01-27 22:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23628 pages (at 97 pages/min), scraped 8999 items (at 35 items/min) 2026-01-27 22:19:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/heater_accessories_components/heater_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cep-6210pdc30-2-100-amp-3-ph-cart-w-30kva-transformer>: HTTP status code is not handled or not allowed 2026-01-27 22:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-coverall-5xl-white>: HTTP status code is not handled or not allowed 2026-01-27 22:19:57 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 22:19:58 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:9 2026-01-27 22:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wearwell-weldsafe-anti-fatigue-mat-36x60>: HTTP status code is not handled or not allowed 2026-01-27 22:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-series-clamp-for-pipe-hdsscp100-1-inch-id>: HTTP status code is not handled or not allowed 2026-01-27 22:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-bracket-u3l007-filter-bracket-for-fha1-fha2-series>: HTTP status code is not handled or not allowed 2026-01-27 22:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bg10-belt-guard-fits-reducer-style-smr10>: HTTP status code is not handled or not allowed 2026-01-27 22:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-assembly-hfa12515-25-micron-15-psi-bypass-3-4-inch-npt-ports-2-1-8-inch-npt-gage-ports>: HTTP status code is not handled or not allowed 2026-01-27 22:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-nexus-self-adhesive-vinyl-floor-tile-12-x-12-classic-light-oak-diamond-parquet-20-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9wtbk-31516-tapered-bushing-kit-3-1516-fits-reducer-styles-smr9wsmr9>: HTTP status code is not handled or not allowed 2026-01-27 22:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/heater_accessories_components/heater_accessories>: HTTP status code is not handled or not allowed 2026-01-27 22:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-majestic-self-adhesive-vinyl-floor-tile-18-x-18-light-gray-slate-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-nexus-self-adhesive-vinyl-floor-tile-12-x-12-quartose-granite-20-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wsmr4-151-shaft-mount-reducer-size-4-151-ratio-2-716-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-27 22:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-retro-self-adhesive-vinyl-floor-tile-12-x-12-greytan-20-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2wtbk-1516-tapered-bushing-kit-1-1516-fits-reducer-styles-smr2wsmr2>: HTTP status code is not handled or not allowed 2026-01-27 22:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5wtbk-2316-tapered-bushing-kit-2-316-fits-reducer-styles-smr5wsmr5>: HTTP status code is not handled or not allowed 2026-01-27 22:20:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/gearboxes_speed_reducers/speed_reducer_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7wtbk-3316-tapered-bushing-kit-3-316-fits-reducer-styles-smr7wsmr7>: HTTP status code is not handled or not allowed 2026-01-27 22:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smr3-151-shaft-mount-reducer-size-3-151-ratio-2-316-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-27 22:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/salamander-heater-electric-wall-mount-fan-forced-208v-15-kw-3-phase-41-7-amps>: HTTP status code is not handled or not allowed 2026-01-27 22:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-next-stack-chair-white>: HTTP status code is not handled or not allowed 2026-01-27 22:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-whiffle-typical-15-double-60-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-easy-change-style-mop-handle-steel-head-60l-hardwood>: HTTP status code is not handled or not allowed 2026-01-27 22:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husky-pallet-rack-solid-beam-60x3-regular-duty>: HTTP status code is not handled or not allowed 2026-01-27 22:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-extra-shelf-for-super-adjustable-2-shelving-24d-60>: HTTP status code is not handled or not allowed 2026-01-27 22:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fmfl-30840-caml-wh-led-cambridge-linear-flush-mount-35w-4000cct-white>: HTTP status code is not handled or not allowed 2026-01-27 22:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/gearboxes_speed_reducers/speed_reducer_accessories>: HTTP status code is not handled or not allowed 2026-01-27 22:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl37-20-1-145tc-helical-inline-speed-reducer-145tc-input-flange-20-1-ratio>: HTTP status code is not handled or not allowed 2026-01-27 22:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-button-down-work-shirt-xl-green>: HTTP status code is not handled or not allowed 2026-01-27 22:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-button-down-work-shirt-4xl-tall-black>: HTTP status code is not handled or not allowed 2026-01-27 22:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-button-down-work-shirt-5xl-tall-black>: HTTP status code is not handled or not allowed 2026-01-27 22:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl67-3-5-1-182tc-helical-inline-speed-reducer-182tc-input-flange-3-5-1-ratio>: HTTP status code is not handled or not allowed 2026-01-27 22:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hickory-half-zip-pull-over-long-sleeve-shirt-s-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-spreader-valve-hvc1-console-only>: HTTP status code is not handled or not allowed 2026-01-27 22:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-athletic-performance-t-shirt-2xl-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:20:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl87-2-1-213-5tc-helical-inline-speed-reducer-213-5tc-input-flange-2-1-ratio>: HTTP status code is not handled or not allowed 2026-01-27 22:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zcc-12hd-40t3-zipcombo-centrifuge-with-12-place-microhematocrit-rotor>: HTTP status code is not handled or not allowed 2026-01-27 22:20:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-267100w-shrink-wrap-26w-x-100l-7mil-white>: HTTP status code is not handled or not allowed 2026-01-27 22:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-176270b-shrink-wrap-17w-x-270l-6mil-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:20:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-187200w-shrink-wrap-18w-x-200l-7mil-white>: HTTP status code is not handled or not allowed 2026-01-27 22:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-327065w-shrink-wrap-32w-x-65l-7mil-white>: HTTP status code is not handled or not allowed 2026-01-27 22:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-407200w-shrink-wrap-40w-x-200l-7mil-white>: HTTP status code is not handled or not allowed 2026-01-27 22:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-locker-24x18x72-w-top-shelf-security-box-foot-locker-grand-slam-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 22:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-locker-24w-x-22d-x-72h-w-top-shelf-foot-locker-relay-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 22:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 22:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/le1-wood-cutting-reciprocating-saw-blade-6-tpi-6x34x050-25-pack-B925751>: HTTP status code is not handled or not allowed 2026-01-27 22:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/view-adjust-floor-stand-reference-organizer-10-panel>: HTTP status code is not handled or not allowed 2026-01-27 22:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-accessory-slope-top-end-closure-18d-x-6h-725-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-27 22:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grd-super-brute-3-speed-circulator-water-pump-ups-15-55-sfc-59896773-115v-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purp-truck-chest-black-alum-full-compact-10-0-cu-ft-cap-674-5-01>: HTTP status code is not handled or not allowed 2026-01-27 22:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_sheets>: HTTP status code is not handled or not allowed 2026-01-27 22:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/box-drawer-cabinet-1b-3-b-single-3-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/footrest-tube-pbft-48-adjustable-pb-series-48>: HTTP status code is not handled or not allowed 2026-01-27 22:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-33w-x-34l-green>: HTTP status code is not handled or not allowed 2026-01-27 22:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-32w-x-28l-black>: HTTP status code is not handled or not allowed 2026-01-27 22:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-60x21x54-nexelon-finish-331480N>: HTTP status code is not handled or not allowed 2026-01-27 22:20:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-30w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/md-vertical-unit-heater-v279s01-279000-btu-5460-cfm-115v>: HTTP status code is not handled or not allowed 2026-01-27 22:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-heavy-duty-poly-dustpan-581>: HTTP status code is not handled or not allowed 2026-01-27 22:20:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/artificial-christmas-tree-7-5-ft-canyon-pine-clear-led-lights>: HTTP status code is not handled or not allowed 2026-01-27 22:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-54w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:20:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sealed-sheave-bearing-e5020xw33nnts1-less-snap-rings-and-coating-100mm-bore-150mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-pro-ctl-bandsaw-blade-13-6-long-x-1-wide-58-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-27 22:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-cardboard-corrugated-box-12-x-12-x-18-275-lb-ect-48-15-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-27 22:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-single-wall-corrugated-box-17-x-17-x-9-200lb-test-ect-32-kraft-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-32w-x-28l-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:20:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23717 pages (at 89 pages/min), scraped 9020 items (at 21 items/min) 2026-01-27 22:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-38w-x-36l-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:20:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-28w-x-29l-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-50w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-27 22:20:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 22:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 22:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-33w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-27 22:21:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/450hs-34-inch-roller-cabinet-6-drawer-blue-34-inch-l-x-41-inch-h-x-25-inchd>: HTTP status code is not handled or not allowed 2026-01-27 22:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-housekeeping-cart-wunder-deck-shelf-organizer-beige-2148-be>: HTTP status code is not handled or not allowed 2026-01-27 22:21:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dieless-mechanical-compression-tool-crimps-8-500-kcmil-aluminum-or-copper>: HTTP status code is not handled or not allowed 2026-01-27 22:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 22:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 22:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-stucco-locking-column-mailbox-in-burnt-tuscan-w-decorative-fleur-de-lis-door-in-black>: HTTP status code is not handled or not allowed 2026-01-27 22:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b3612-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-5715mm>: HTTP status code is not handled or not allowed 2026-01-27 22:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-stucco-locking-column-mailbox-in-burnt-tuscan-w-decorative-fleur-de-lis-door-in-bronze>: HTTP status code is not handled or not allowed 2026-01-27 22:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-stucco-locking-column-mailbox-in-slate-gray-w-decorative-fleur-de-lis-door-in-bronze>: HTTP status code is not handled or not allowed 2026-01-27 22:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-stucco-locking-column-mailbox-in-sandstone-w-plain-door-in-black>: HTTP status code is not handled or not allowed 2026-01-27 22:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 22:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-50w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-import-9-pc-figure-steel-stamp-set>: HTTP status code is not handled or not allowed 2026-01-27 22:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 22:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b2020-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-3175mm>: HTTP status code is not handled or not allowed 2026-01-27 22:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-48w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:21:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cel11307-75hp-56c-frame-1800rpm-115-230v-odp-c-face-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-27 22:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-52w-x-33l-green>: HTTP status code is not handled or not allowed 2026-01-27 22:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectra-glitter-assortment-3-4-oz-6-colors-12-jars-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-playful-combo-ready-letters-yellow-1-set>: HTTP status code is not handled or not allowed 2026-01-27 22:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pentel-oil-pastels-36-assorted-colors-set-of-36>: HTTP status code is not handled or not allowed 2026-01-27 22:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ksm-50-refrigerated-merchandiser-2-glass-doors-50-cu-ft-black-79-1-2-h-x-52-3-8-w>: HTTP status code is not handled or not allowed 2026-01-27 22:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-52w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tb-1002-motor-terminal-conduit-box>: HTTP status code is not handled or not allowed 2026-01-27 22:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-32w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-stainless-steel-compact-ash-bin-908>: HTTP status code is not handled or not allowed 2026-01-27 22:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-open-top-stainless-steel-waste-receptacle-32-gallon-310s>: HTTP status code is not handled or not allowed 2026-01-27 22:21:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 22:21:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-tank-w-155b-w-series-155-gal>: HTTP status code is not handled or not allowed 2026-01-27 22:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-stack-chair-w-perforated-back-black>: HTTP status code is not handled or not allowed 2026-01-27 22:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pannier-box-set-of-2-pkb-2t>: HTTP status code is not handled or not allowed 2026-01-27 22:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-jeans-40w-x-32l-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-cabinet-with-6-drawers-4-shelves-48w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-27 22:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-52w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-52w-x-33l-tan>: HTTP status code is not handled or not allowed 2026-01-27 22:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-48w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-11-foot-1-inch-long-x-3-4-inch-wide-18-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-27 22:21:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 22:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-48w-x-34l-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-7-foot-9-inch-long-x-3-4-inch-wide-4-6-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-27 22:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-7-foot-9-inch-long-x-3-4-inch-wide-8-12-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-27 22:21:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 22:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-13-foot-2-inch-long-x-1-inch-wide-10-14-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-27 22:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-34w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-27 22:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13403-narrow-scalloped-roast-slicer-high-carbon-steel-white-handle-10-l>: HTTP status code is not handled or not allowed 2026-01-27 22:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19953-spatula-offset-high-carbon-steel-white-handle-5-l>: HTTP status code is not handled or not allowed 2026-01-27 22:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31366-paring-knife-high-carbon-steel-stamped-2-3-4-l>: HTTP status code is not handled or not allowed 2026-01-27 22:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-29w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:21:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 22:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coverall-with-leg-zippers-42-regular-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r4i-tas-115-2301-rotary-screw-air-compressor-1-phase-230-volts-5hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-27 22:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threadlock-red-27536-36ml-bottle>: HTTP status code is not handled or not allowed 2026-01-27 22:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-patch-fill-50345-3-oz-tube>: HTTP status code is not handled or not allowed 2026-01-27 22:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-divider-set-for-whisper-medical-carts>: HTTP status code is not handled or not allowed 2026-01-27 22:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loaded-rescue-series-emergency-room-medical-cart-white-frame-with-6-red-drawers>: HTTP status code is not handled or not allowed 2026-01-27 22:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rmd-a-1-rubber-in-shear-mounts-3-1-8-l-x-1-3-4-w-x-1-1-4-h>: HTTP status code is not handled or not allowed 2026-01-27 22:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-48-tall-black>: HTTP status code is not handled or not allowed 2026-01-27 22:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-compartment-hanging-garment-dispenser-locker-gray-w-turn-knob-locks>: HTTP status code is not handled or not allowed 2026-01-27 22:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a20k-v-belt-kevlar-1-2-x-22>: HTTP status code is not handled or not allowed 2026-01-27 22:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-compartment-hanging-garment-dispenser-locker-silver-vein-w-turn-knob-locks>: HTTP status code is not handled or not allowed 2026-01-27 22:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-35w-x-30l-tan>: HTTP status code is not handled or not allowed 2026-01-27 22:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-shelf-steel-shelving-with-60-akro-mils-shelf-bins-603440WH>: HTTP status code is not handled or not allowed 2026-01-27 22:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b158k-v-belt-kevlar-5-8-x-161>: HTTP status code is not handled or not allowed 2026-01-27 22:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b77k-v-belt-kevlar-5-8-x-80>: HTTP status code is not handled or not allowed 2026-01-27 22:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-34w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23806 pages (at 89 pages/min), scraped 9038 items (at 18 items/min) 2026-01-27 22:21:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 22:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vp-50-antivibration-pad-waffle-design-10-50-psi-18x18x5-16>: HTTP status code is not handled or not allowed 2026-01-27 22:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en-14-hd-316ss-forged-eye-nut-1-1-2-6-style-b-316-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-35w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-42w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-patio-grill-33118-30-inchw-x-36-inchh-white>: HTTP status code is not handled or not allowed 2026-01-27 22:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-scrubber-negative-air-machine-2000-1000-cfm-w-hepa-audible-visual-alarm>: HTTP status code is not handled or not allowed 2026-01-27 22:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sheet-union-jack-56008-24-inchl-x-12-inchw-x-02-inchh-silver>: HTTP status code is not handled or not allowed 2026-01-27 22:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-52w-x-34l-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl1-fluidloc-sorbent-48-oz-shaker>: HTTP status code is not handled or not allowed 2026-01-27 22:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-trowel-14-inch-20047-1-16-inchx1-32-inchx1-32-inch-u-notch-silver>: HTTP status code is not handled or not allowed 2026-01-27 22:22:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dpu-16-universal-drip-pan-105-l-x-105-w-x-3-h-16-per-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-42-inch-w-x-21-inch-d-x-86-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 22:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-48w-x-30l-red>: HTTP status code is not handled or not allowed 2026-01-27 22:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frh10020-1-x-20-retail-hose-designed-for-use-with-all-electric-pumps>: HTTP status code is not handled or not allowed 2026-01-27 22:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-48w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-27 22:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-48w-x-34l-black>: HTTP status code is not handled or not allowed 2026-01-27 22:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-48-inch-w-x-14-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 22:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-30-inch-w-x-18-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 22:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-24-inch-w-x-14-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 22:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-36-inch-w-x-14-inch-d-x-74-inch-h>: HTTP status code is not handled or not allowed 2026-01-27 22:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 22:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-40w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-oil-base-dtm-enamel-gloss-finish-safety-yellow-quart-371906>: HTTP status code is not handled or not allowed 2026-01-27 22:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-30w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/painters-select-urethane-fortified-satin-porch-floor-coating-white-gallon-106649>: HTTP status code is not handled or not allowed 2026-01-27 22:22:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-32w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-36w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-40w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-27 22:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-decorative-flat-enamel-12-oz-aerosol-can-black-792245>: HTTP status code is not handled or not allowed 2026-01-27 22:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-24w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-separate-coil-voltage-reset-button-250-500v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-36w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/painters-select-porch-floor-coating-polyurethane-oil-gloss-finish-medium-gray-gallon-209296>: HTTP status code is not handled or not allowed 2026-01-27 22:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bp2200-automatic-blood-pressure-wrist-monitor>: HTTP status code is not handled or not allowed 2026-01-27 22:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rtl10266bk-h-nitro-euro-style-walker-rollator-hemi-height-black>: HTTP status code is not handled or not allowed 2026-01-27 22:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-portable-speed-bump-8-sections-black-yellow-psb-118-10-1>: HTTP status code is not handled or not allowed 2026-01-27 22:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-remote-start-terminals-reset-button-100-250v-1-7-2-3a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-start-stop-24-60v-2-3-3-1a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manitowoc-ice-b-970-ice-bin-stainless-steel-exterior-top-hinged-front-opening-access-door>: HTTP status code is not handled or not allowed 2026-01-27 22:22:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 22:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manitowoc-ice-qm-45a-ice-maker-with-bin-cube-style-air-cooled-self-contained-condenser>: HTTP status code is not handled or not allowed 2026-01-27 22:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-start-stop-24-60v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-remote-start-reset-button-24-60v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-remote-start-reset-button-250-500v-2-3-3-1a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cross-member-high-roof-full-size-van-2056-3>: HTTP status code is not handled or not allowed 2026-01-27 22:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-remote-start-start-stop-100-250v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-separate-coil-voltage-reset-button-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-tables-24-w-x-48-l-x-36-h-black-granite>: HTTP status code is not handled or not allowed 2026-01-27 22:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/library-tables-30-w-x-60-l-x-29-h-gray-granite>: HTTP status code is not handled or not allowed 2026-01-27 22:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500031-quick-spin-adaptor-pen-holder-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-remote-start-start-stop-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-remote-start-terminals-start-stop-250-500v-13-16a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olf72-a31-light-accy-supt-reqr-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-outdoor-metal-slatted-receptacle-w-access-door-rain-bonnet-lid-36-gallon-green>: HTTP status code is not handled or not allowed 2026-01-27 22:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6205-zz-2-metal-shields-medium-duty-25mm-bore-52mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-separate-coil-voltage-reset-button-100-250v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6212-zz-2-metal-shields-medium-duty-60mm-bore-110mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-direct-online-start-stop-100-250v-20-24a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-direct-online-reset-button-100-250v-16-20a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-separate-coil-voltage-start-stop-100-250v-13-16a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-remote-start-terminals-reset-button-250-500v-16-20a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-remote-start-terminals-reset-button-100-250v-24-29a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/494049-hex-bolt-3-8-16-x-1-1-2-grade-a-steel-zinc-unc-pt-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800-wood-classic-2-drawers-gun-storage-cabinet-8-long-guns>: HTTP status code is not handled or not allowed 2026-01-27 22:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38190-cb-push-pull-trim-kit-1-58-16-thread-bushing-chrome-brushed>: HTTP status code is not handled or not allowed 2026-01-27 22:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23900 pages (at 94 pages/min), scraped 9067 items (at 29 items/min) 2026-01-27 22:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/848054-finished-hex-nut-3-8-16-medium-carbon-steel-zinc-unc-grade-5-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-direct-online-reset-button-100-250v-35-40a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/ball_point_socket_set_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-remote-start-reset-button-24-60v-29-35a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-remote-start-reset-button-250-500v-29-35a>: HTTP status code is not handled or not allowed 2026-01-27 22:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-1ph-direct-online-start-stop-100-250v-16-20a>: HTTP status code is not handled or not allowed 2026-01-27 22:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/write-on-scoreboard-this-department-has-worked-days-without-a-lost-time-accident-28-x-20-whtgrn>: HTTP status code is not handled or not allowed 2026-01-27 22:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-remote-start-start-stop-250-500v-25-33a>: HTTP status code is not handled or not allowed 2026-01-27 22:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-direct-online-start-stop-250-500v-36-47a>: HTTP status code is not handled or not allowed 2026-01-27 22:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e40c-extension-spring-0375-od-x-00475-wire-dia-x-25-oal-559-lbs-in-mbhd>: HTTP status code is not handled or not allowed 2026-01-27 22:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dl12ap-dot-shipping-labels-corrosive-8-4-x-4-whiteblack-25-per-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-maintenance-tarp-28439-20l-x-10w>: HTTP status code is not handled or not allowed 2026-01-27 22:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-1ph-remote-start-reset-button-24-60v-29-35a>: HTTP status code is not handled or not allowed 2026-01-27 22:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-012-od-x-0016-x-075-music-wire-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-27 22:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-3ph-start-stop-24-60v-44-53a>: HTTP status code is not handled or not allowed 2026-01-27 22:23:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/screws/ball_point_socket_set_screws landed on page that is not a product page. 2026-01-27 22:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-1ph-remote-start-start-stop-24-60v-30-40a>: HTTP status code is not handled or not allowed 2026-01-27 22:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-3ph-start-stop-24-60v-50-60a>: HTTP status code is not handled or not allowed 2026-01-27 22:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m81rb-sign-emergency-eye-wash-10-x-14-whitegreen>: HTTP status code is not handled or not allowed 2026-01-27 22:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c525pb-osha-sign-caution-hot-surface-do-not-touch-10-x-14-yellowblack>: HTTP status code is not handled or not allowed 2026-01-27 22:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n43rb-osha-sign-notice-wash-Hands-before-returning-to-work-10-x-14-whiteblueblack>: HTTP status code is not handled or not allowed 2026-01-27 22:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm145j-traffic-sign-handicapped-parking-only-18-x-12-whitebluegreen>: HTTP status code is not handled or not allowed 2026-01-27 22:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-3ph-reset-button-24-60v-50-60a>: HTTP status code is not handled or not allowed 2026-01-27 22:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1001500-wes-150-waterfree-urinal-cartridge-kit>: HTTP status code is not handled or not allowed 2026-01-27 22:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-102484-silicon-carbide-4-x-118-180-grit>: HTTP status code is not handled or not allowed 2026-01-27 22:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-119448-zirconia-alumina-4-x-36-120-grit>: HTTP status code is not handled or not allowed 2026-01-27 22:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-reset-button-24-60v-75-87a>: HTTP status code is not handled or not allowed 2026-01-27 22:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-bamboo-palm-with-decorative-vase>: HTTP status code is not handled or not allowed 2026-01-27 22:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-15704-aluminum-oxide-1-2-x-18-36-grit>: HTTP status code is not handled or not allowed 2026-01-27 22:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peony-silk-arrangement>: HTTP status code is not handled or not allowed 2026-01-27 22:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-48-w-x-24-d-x-54-h>: HTTP status code is not handled or not allowed 2026-01-27 22:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-exhaust-fan-w-shutter-42-inch-prop-1hp-15455-cfm-3-phase-belt-drive>: HTTP status code is not handled or not allowed 2026-01-27 22:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-285782-ceramic-2-x-132-40-grit>: HTTP status code is not handled or not allowed 2026-01-27 22:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-powered-audio-visual-cart-lockable-cabinet-40ah-battery-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valor-speaker-microphone-kenwood-hyt-relm-radios>: HTTP status code is not handled or not allowed 2026-01-27 22:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-260-dip-and-splash-ultrasonic-cleaning-solution-7-1-ph-2-5-l>: HTTP status code is not handled or not allowed 2026-01-27 22:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/369509-female-connector-6063a-5p-230250vac-9-hr-ip67>: HTTP status code is not handled or not allowed 2026-01-27 22:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraclipse-fruit-fly-patrol-ultraviolet-replace-lamp-72480>: HTTP status code is not handled or not allowed 2026-01-27 22:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-motegi-3mt170-bn-single-lever-bathroom-faucet-with-brass-pop-up-pvd-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-27 22:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/satin-nickel-victorian-style-knob-set>: HTTP status code is not handled or not allowed 2026-01-27 22:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olympia-i2-k-5015-single-lever-pre-rinse-spring-pull-down-kitchen-faucet-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-5342-two-handle-kitchen-faucet-with-spray-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:23:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_blades already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-americana-2am401-bn-two-handle-kitchen-faucet-with-spray-pvd-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-27 22:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-steel-truck-dock-access-ladder-32-x-60-base-sw-ta-5-24>: HTTP status code is not handled or not allowed 2026-01-27 22:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-configurable-forward-descent-roll-ladder-grip-strut-ukdec108242>: HTTP status code is not handled or not allowed 2026-01-27 22:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-configurabl-forward-descent-roll-ladder-grip-strut-ukdec112242>: HTTP status code is not handled or not allowed 2026-01-27 22:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41-ibc-stairway-stair36i-6-41>: HTTP status code is not handled or not allowed 2026-01-27 22:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-rack-guard-left-side-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-ibc-stairway-stair36i-8-56>: HTTP status code is not handled or not allowed 2026-01-27 22:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-ibc-stairway-stair36i-18-120>: HTTP status code is not handled or not allowed 2026-01-27 22:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/110-osha-stairway-stair36o-13-110>: HTTP status code is not handled or not allowed 2026-01-27 22:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_blades>: HTTP status code is not handled or not allowed 2026-01-27 22:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/130-ibc-stairway-stair36i-19-130>: HTTP status code is not handled or not allowed 2026-01-27 22:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/139-osha-stairway-stair36o-16-139>: HTTP status code is not handled or not allowed 2026-01-27 22:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-24-inch-d-x-62-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 22:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-coupling-wkeyway-mrc15skw-stainless-steel-15mm-5pk>: HTTP status code is not handled or not allowed 2026-01-27 22:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-coupling-wkeyway-mrc35kw-black-oxide-35mm-1pk>: HTTP status code is not handled or not allowed 2026-01-27 22:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-rigid-coupling-c600e275-steel-275d-x-5826d-234l-shaft>: HTTP status code is not handled or not allowed 2026-01-27 22:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/89-ibc-stairway-stair36i-13-89>: HTTP status code is not handled or not allowed 2026-01-27 22:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-rigid-coupling-c600e425-steel-425d-x-7756d-414l-shaft>: HTTP status code is not handled or not allowed 2026-01-27 22:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compressor-l800053-model-lpw6548a-single-stage-compressor-pump-3-cylinder-25-5-hp>: HTTP status code is not handled or not allowed 2026-01-27 22:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac1-0039-43-whole-room-hepa-air-purifier-335-sq-ft-white>: HTTP status code is not handled or not allowed 2026-01-27 22:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14mm-locking-assembly-c193-series-c193m14-metric-m4-x-14>: HTTP status code is not handled or not allowed 2026-01-27 22:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24mm-locking-assembly-c193-series-c193m24-metric-m5-x-18>: HTTP status code is not handled or not allowed 2026-01-27 22:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-frame-folding-tank-stf-5000-207l-x-207w-x-29h-5000-gallon-cap-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m70-c600-series-steel-70mm-shaft>: HTTP status code is not handled or not allowed 2026-01-27 22:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 23995 pages (at 95 pages/min), scraped 9097 items (at 30 items/min) 2026-01-27 22:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-arbors-fhl8x-lefthand-thread-14-arbor-316-shank-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-48-inch-w-x-18-inch-d-x-74-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 22:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-frame-folding-tank-alf-3500-171l-x-171w-x-29h-3500-gallon-cap-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-al4fs-lefthand-type-b-11316l-thread-fits-12-shaft>: HTTP status code is not handled or not allowed 2026-01-27 22:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-5-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 22:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-sided-self-supporting-tank-ls-250-70-dia-x-28h-250-gallon-cap-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shower-commode-wheelchair-nrs185006-aluminum-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sws-plus-100-micro-precision-wire-strippers-18awg-solid-stranded-wires>: HTTP status code is not handled or not allowed 2026-01-27 22:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsv221-3x-ansi-class-2-two-tone-mesh-vest-3xl>: HTTP status code is not handled or not allowed 2026-01-27 22:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dpg94-2d-ansi-z87-1-dominator-smoke-glasses>: HTTP status code is not handled or not allowed 2026-01-27 22:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsv521-2x-ansi-class-2-heavy-duty-surveyor-vest-2xl>: HTTP status code is not handled or not allowed 2026-01-27 22:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-48-x-18-x-74-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-27 22:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-36-x-18-x-86-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-27 22:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-4-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 22:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-48-inch-w-x-21-inch-d-1000-lbs-cap-removable-open-grid-mat-polymer-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-4-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 22:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5095-33-w-x-244-l-black-resin-ribbon>: HTTP status code is not handled or not allowed 2026-01-27 22:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10010028-lbl-dt-z-perform-2000d-2-w-x-1-l-perforated-1-core-5-od>: HTTP status code is not handled or not allowed 2026-01-27 22:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10010035-2-4-w-x-6-l-dt-z-perform-2000d-perforated-flood-coated-pms-021-orange-430-lb-rl>: HTTP status code is not handled or not allowed 2026-01-27 22:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kni-electronics-super-knips-cutter-w-multi-component-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kni-high-leverage-lineman-s-plier-w-fish-tape-puller-crimper>: HTTP status code is not handled or not allowed 2026-01-27 22:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contempo-exhibit-post-24h-black-post-7-retractable-black-yellow-belt>: HTTP status code is not handled or not allowed 2026-01-27 22:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-foot-rigid-tube-steel-post-bolt-on-style-for-3-ribbed-bolt-on-style-guard-rails-black>: HTTP status code is not handled or not allowed 2026-01-27 22:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x5-rejuvenator-end-female>: HTTP status code is not handled or not allowed 2026-01-27 22:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-mechanism-for-use-w-beltrac-stanchions-13l-bronze-belt>: HTTP status code is not handled or not allowed 2026-01-27 22:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-basket-truck-with-vinyl-liner-6-bushel-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-right-curved-desk-extension-47w-x-28d-x-29-1-2h-mocha>: HTTP status code is not handled or not allowed 2026-01-27 22:24:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/barrier_rope_chain already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stethoscope-single-head-22-grey>: HTTP status code is not handled or not allowed 2026-01-27 22:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-tf2111-75-hp-243-cfm-175-max-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x48-metro-q-shelf>: HTTP status code is not handled or not allowed 2026-01-27 22:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensi-wrap-self-adherent-bandage-rolls-4w-x-5-yards-pink-18-pcs>: HTTP status code is not handled or not allowed 2026-01-27 22:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensi-wrap-self-adherent-bandage-wo-rubber-latex-6w-x-5-yards-assorted-12-pcs>: HTTP status code is not handled or not allowed 2026-01-27 22:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-festooning-13-16>: HTTP status code is not handled or not allowed 2026-01-27 22:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinc-oxide-ointment-1-oz-tube-pack-of-72>: HTTP status code is not handled or not allowed 2026-01-27 22:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbless-folding-ramp-traverse-sfel06-31-x-72-1-8-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbless-folding-ramp-traverse-sfel08-31-x-96-3-16-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-torx-power-bit-16040x-1-4-hexagon-t6-drive-1-15-16-long>: HTTP status code is not handled or not allowed 2026-01-27 22:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/barrier_rope_chain>: HTTP status code is not handled or not allowed 2026-01-27 22:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorola-clp1060-muc-6-up-bluetooth-pod-charging-conversion-kit-hkln4508>: HTTP status code is not handled or not allowed 2026-01-27 22:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abdominal-binder-medium-fits-30-x-36-waist-9h-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-cervical-collar-4-x-22-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-sling-wo-head-support-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-sling-w-head-support-large>: HTTP status code is not handled or not allowed 2026-01-27 22:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-sling-wo-head-support-small>: HTTP status code is not handled or not allowed 2026-01-27 22:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-tray-toddler-mobile-fold-n-lock-no-tray-96w-x-15d-x-24-1-2h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-27 22:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-storage-island-twin-w-clear-trays-48w-x-29d-x-29-1-2h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-27 22:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biopsy-punches-80-mm-purple-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 22:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medi-cut-disposable-sterile-scalpels-size-12-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medi-cut-disposable-sterile-scalpels-size-22-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medi-cut-disposable-sterile-scalpels-size-15-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubbie-lid-13-1-2l-x-8-5-8w-x-1-4h-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms328j-traffic-sign-reserved-parking-north-carolina-24-x-12-white>: HTTP status code is not handled or not allowed 2026-01-27 22:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms323g-traffic-sign-reserved-parking-nevada-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-27 22:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm015k-traffic-sign-no-parking-any-time-with-double-arrow-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-27 22:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms334g-traffic-sign-reserved-parking-rhode-island-18-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bariatric-full-electric-home-care-bed-w-emergency-hand-crank-48>: HTTP status code is not handled or not allowed 2026-01-27 22:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms316g-traffic-sign-reserved-parking-illinois-24-x-12-white->: HTTP status code is not handled or not allowed 2026-01-27 22:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergo-bar-cradle-truck-24-x-36>: HTTP status code is not handled or not allowed 2026-01-27 22:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18l-synthetic-non-absorbable-nylon-sutures-c3-needle-black-size-6-to-0-12-pcs>: HTTP status code is not handled or not allowed 2026-01-27 22:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm506j-traffic-sign-aux-straight-arrow-15-x-21-white>: HTTP status code is not handled or not allowed 2026-01-27 22:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-storage-cabinet-w-2-adj-shelves-48w-x-26d-x-78h>: HTTP status code is not handled or not allowed 2026-01-27 22:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tmas10g-traffic-sign-violators-will-be-towed-6-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tmas16j-traffic-sign-parking-250-fine-6-x-12-white>: HTTP status code is not handled or not allowed 2026-01-27 22:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-hand-held-body-massage-tool-3-point>: HTTP status code is not handled or not allowed 2026-01-27 22:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louver-steel-beveled-vision-lite-vlfez0722b-temp-pak-7-x-22-bronze-w-tempered-glaze>: HTTP status code is not handled or not allowed 2026-01-27 22:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-half-cylinder-tunable-led-mission-style-outdoor-fixture-12w-800-lumens-black-finish>: HTTP status code is not handled or not allowed 2026-01-27 22:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-led-mission-style-outdoor-rectangle-light-fixture-12w-800-lumens-black-finish>: HTTP status code is not handled or not allowed 2026-01-27 22:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-led-light-bulb-14w-1500-lumens-twist-and-lock-base-dimmable-super-white-6-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 24092 pages (at 97 pages/min), scraped 9126 items (at 29 items/min) 2026-01-27 22:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-body-dual-door-depository-safe-with-electronic-lock-fdd-3214-14-x-14-x-32-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-dust-cover-full-size-standard-microscopes-m>: HTTP status code is not handled or not allowed 2026-01-27 22:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-fluorescent-ring-light-bulb-8w-2>: HTTP status code is not handled or not allowed 2026-01-27 22:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-flexible-spine-classic-femur-heads>: HTTP status code is not handled or not allowed 2026-01-27 22:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-thoracic-spinal-column>: HTTP status code is not handled or not allowed 2026-01-27 22:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mc-hydraulic-flaring-accessory>: HTTP status code is not handled or not allowed 2026-01-27 22:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/monitor-riser-ktkms500-65-x-20-x-133-black-up-to-50lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-all-purpose-band-saw-1-hp-220v-3-phase-ef1459>: HTTP status code is not handled or not allowed 2026-01-27 22:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-thermoplastic-32-gallon-mesh-recycling-receptacle-w-dome-lid-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secure-digital-high-capacity-sdhc-ver96808-16-gb-storage-capcity-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-safe-with-keyed-lock-cb12488-160-key-cap-14-1-2-x-11-x-3-1-4-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-lime-resistant-full-grain-leather-brown-10-5m>: HTTP status code is not handled or not allowed 2026-01-27 22:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75214-mounted-grinding-point-metal-a15>: HTTP status code is not handled or not allowed 2026-01-27 22:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-dual-layer-stretch-mesh-upper-black-dark-grey-9-54e>: HTTP status code is not handled or not allowed 2026-01-27 22:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77114-drum-sander-4pc-kit-1-4-shank-3-4-x-2>: HTTP status code is not handled or not allowed 2026-01-27 22:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76853-bench-grinder-wire-wheels-arbor-1-2-5-8-fine-5-crimped>: HTTP status code is not handled or not allowed 2026-01-27 22:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversible-jaw-puller-4046-5-ton-reversible-2-or-3-jaws>: HTTP status code is not handled or not allowed 2026-01-27 22:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-oxford-knit-black-10d>: HTTP status code is not handled or not allowed 2026-01-27 22:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-waterproof-leather-brown-8-5w>: HTTP status code is not handled or not allowed 2026-01-27 22:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-oxford-knit-black-11eee>: HTTP status code is not handled or not allowed 2026-01-27 22:25:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-ruched-bootie-full-grain-leather-black-10w>: HTTP status code is not handled or not allowed 2026-01-27 22:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-height-work-table-60l-x-36w-x-30h>: HTTP status code is not handled or not allowed 2026-01-27 22:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wooden-treatment-table-with-shelf-blue-upholstery-natural-frame-78l-x-24w-x-30h>: HTTP status code is not handled or not allowed 2026-01-27 22:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-waterproof-leather-brown-9-5w>: HTTP status code is not handled or not allowed 2026-01-27 22:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss304-66010x04-1x12-class-150-hex-bushing-stainless-steel-304>: HTTP status code is not handled or not allowed 2026-01-27 22:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sleeping-pillow-standard-firmness-mid-size-22-x-15>: HTTP status code is not handled or not allowed 2026-01-27 22:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/413451-hvbs-710s-7-x-10-1-2-mitering-horizontal-vertical-bandsaw-115-230v1-phase>: HTTP status code is not handled or not allowed 2026-01-27 22:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-two-eye-tie-work-sneaker-breathable-knit-textile-leather-brown-tan-11w>: HTTP status code is not handled or not allowed 2026-01-27 22:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-lamp-infrared-single-row-suspension-bar-5-bulb-120v-6006-5>: HTTP status code is not handled or not allowed 2026-01-27 22:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-lamp-infrared-portable-counter-unit-8-bulb-120v-6008-8>: HTTP status code is not handled or not allowed 2026-01-27 22:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-waterproof-leather-brown-14w>: HTTP status code is not handled or not allowed 2026-01-27 22:25:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 22:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-hi-low-treatment-table-2-section-76l-x-27w-x-18-37h>: HTTP status code is not handled or not allowed 2026-01-27 22:25:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/band-ade-band-saw-fluid-68003-5-gallon>: HTTP status code is not handled or not allowed 2026-01-27 22:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-waterproof-leather-brown-11-5m>: HTTP status code is not handled or not allowed 2026-01-27 22:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-lime-resistant-full-grain-leather-brown-8-5m>: HTTP status code is not handled or not allowed 2026-01-27 22:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h14781-0000-polypropylene-60ml-utility-type-funnels-12pk>: HTTP status code is not handled or not allowed 2026-01-27 22:25:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-wedge-work-boot-leather-brown-12w>: HTTP status code is not handled or not allowed 2026-01-27 22:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-contractor-fbh-1d-standard-non-belted-unifit-tb-legs-mb-chest>: HTTP status code is not handled or not allowed 2026-01-27 22:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 22:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slatted-steel-outdoor-ashtray-13-gallon-black>: HTTP status code is not handled or not allowed 2026-01-27 22:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kmp1560-steel-locker-accessory-universal-finished-end-panel-15dx60h-parchment>: HTTP status code is not handled or not allowed 2026-01-27 22:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 22:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gallon-instant-powder-mix-lemon-lime>: HTTP status code is not handled or not allowed 2026-01-27 22:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-a1106-anodized-aluminum-safety-padlock-1-1-2-inchw-1-1-2-inchtall-shackle-keyed-alike-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3548-2a-premium-locker-double-tier-15x24x36-6-doors-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-27 22:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-products-microfiber-economy-cloth-16-x-16-red-polyester-nylon-red>: HTTP status code is not handled or not allowed 2026-01-27 22:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1286-5-premium-locker-five-tier-12x18x12-5-doors-ready-to-assemble-parchment>: HTTP status code is not handled or not allowed 2026-01-27 22:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 22:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironcat-heavyweight-top-grain-pigskin-mig-welding-gloves-natural-xl-all-leather>: HTTP status code is not handled or not allowed 2026-01-27 22:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-48w-x-36d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-solid-door-storage-cabinet-36wx18dx72h-parchment-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 22:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-safety-view-door-wardrobe-cabinet-36wx18dx72h-midnight-ebony-assembled>: HTTP status code is not handled or not allowed 2026-01-27 22:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-solid-door-storage-cabinet-48wx24dx72h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 22:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inner-ring-for-machined-type-needle-roller-bearing-metric-14mm-bore-17mm-od-17mm-width>: HTTP status code is not handled or not allowed 2026-01-27 22:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-36w-x-36d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-add-on-unit-36w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-add-on-unit-48w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1020rbws-26-pc-wall-storage-unit-w-12-red-bins-12-blue-bins-2-wall-mount-rails>: HTTP status code is not handled or not allowed 2026-01-27 22:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-ring-retractable-plunger-ss-body-ss-nose-0-75-3lbs-pressure-38-16-thread>: HTTP status code is not handled or not allowed 2026-01-27 22:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-heat-pump-dryer-14-dry-programs-24-inch-wide-208-240v-white>: HTTP status code is not handled or not allowed 2026-01-27 22:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lb2-bkit-2-18-ga-blue-steel-square-hole-pegboard-w-63-pc-lochook-set>: HTTP status code is not handled or not allowed 2026-01-27 22:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-lithium-battery-for-auto-floor-scrubber-713170>: HTTP status code is not handled or not allowed 2026-01-27 22:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-power-supply-psh75a-enclosed-single-75va-120-208-240-277-480-24vac>: HTTP status code is not handled or not allowed 2026-01-27 22:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/79-d-storagemaster-chest-48-l-x-30-w-x-49-h-steel-tan>: HTTP status code is not handled or not allowed 2026-01-27 22:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathcade-barrier-system-w-o-sheeting-72-inch-x-3-inch-x-38-inch-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-springless-sign-stand-for-roll-up-signs-36-inch-and-48-inch-powder-coated-orange-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/luvraflex-chair-charcoal-poly-back-seat-chrome-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 24186 pages (at 94 pages/min), scraped 9152 items (at 26 items/min) 2026-01-27 22:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-variable-speed-scroll-saw-dw788-13-amps->: HTTP status code is not handled or not allowed 2026-01-27 22:25:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sliding-door-handle-flush-mount-white>: HTTP status code is not handled or not allowed 2026-01-27 22:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-phillips-power-bit-dw2022b-2-bit-length-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fly-pheromone-fa5000>: HTTP status code is not handled or not allowed 2026-01-27 22:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-10-bushel-ups-fedex-able-vinyl-basket-truck-red>: HTTP status code is not handled or not allowed 2026-01-27 22:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-double-bo-top-loading-glove-dispenser-5103-11-1-4d>: HTTP status code is not handled or not allowed 2026-01-27 22:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-4-pair-boot-rack-1004-black-35l>: HTTP status code is not handled or not allowed 2026-01-27 22:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-16-bushel-antimicrobial-basket-all-swivel-casters-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-rectangular-24x14-duct-fan-frd-24-14-115v-2318-cfm>: HTTP status code is not handled or not allowed 2026-01-27 22:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-27 22:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-window-48-1-4w-x-61-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-roof-mount-curb-centrifugal-direct-drive-ventilator-rec-6-115v-1-ph-227-cfm>: HTTP status code is not handled or not allowed 2026-01-27 22:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toggle-switch-125-277v-10-20a-black-silver-for-merco-000716sp>: HTTP status code is not handled or not allowed 2026-01-27 22:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-rhino-3fm4-6v-4-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:26:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/folding_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-sunnyway-sw650-6v-4-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-koyo-np4-6-6v-4-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-elk-elk1280-12v-8ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-hkbil-3fm10-6v-10ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duk-alta-all-weather-faux-rattan-4-ppl-seat-with-black-cushions>: HTTP status code is not handled or not allowed 2026-01-27 22:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorola-hkln4510a-rm-series-replacement-holster-with-3-1-2-swivel-belt-clip>: HTTP status code is not handled or not allowed 2026-01-27 22:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aberdeen-series-12-feet-boat-shaped-conference-table-gray-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-strip-door-sd14-8-6x8-6w-x-8h-8-amber-tint-pvc>: HTTP status code is not handled or not allowed 2026-01-27 22:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clam-shell-a-c-leak-freeze-w-1-4-adapter-cool-shot-1-5-oz>: HTTP status code is not handled or not allowed 2026-01-27 22:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-2-signature-wheel-with-sealed-ball-bearing-for-1-2-axle-400-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-2-1-2-urethane-on-iron-wheel-with-roller-bearing-for-3-8-axle-1620-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-1-1-4-performance-tpr-wheel-with-ball-bearing-for-3-8-axle-190-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/tables/folding_tables>: HTTP status code is not handled or not allowed 2026-01-27 22:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaker-rooftop-gas-heat-electric-cool-unit-7-5-ton-3-ph>: HTTP status code is not handled or not allowed 2026-01-27 22:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-2-urethane-on-iron-wheel-with-roller-bearing-for-1-2-axle-1050-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65-series-7-1-2height-6-gt-wheel-with-demountable-swivel-lock-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-27 22:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-multipoise-gas-furnace-45000-btu-17-1-2-w>: HTTP status code is not handled or not allowed 2026-01-27 22:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-single-stage-ecm-multipoise-gas-furnace-40000-btu-14-3-16-w>: HTTP status code is not handled or not allowed 2026-01-27 22:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16in-floor-stripping-pads-black-5-case-gjo90216>: HTTP status code is not handled or not allowed 2026-01-27 22:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/112708-vertical-slanted-l-shaped-acrylic-sign-holder-11-x-17-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lnr-xt-150-waste-oil-heater-pkg-6-inch-chimney-roof-kit-215-gallon-tank-150000-btu>: HTTP status code is not handled or not allowed 2026-01-27 22:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/122032-vertical-wall-mount-sign-holder-w-adhesive-tape-11-x-17-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/192803-acrylic-two-sided-nameplate-11-x-2-acrylic>: HTTP status code is not handled or not allowed 2026-01-27 22:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-roofing-kit-w-pass-thru-buckle-harness-30-feet-basic>: HTTP status code is not handled or not allowed 2026-01-27 22:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/152725-horizontal-double-sided-stand-up-sign-holder-6-x-5-acrylic>: HTTP status code is not handled or not allowed 2026-01-27 22:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/162724-vertical-wall-mount-acrylic-sign-holder-3-5-x-5-acrylic>: HTTP status code is not handled or not allowed 2026-01-27 22:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-1-inch-web-positioning-lanyard-w-2-snaphooks-3-feet-l>: HTTP status code is not handled or not allowed 2026-01-27 22:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/532f-05-model-532f-with-flow-rate-of-05-gpm>: HTTP status code is not handled or not allowed 2026-01-27 22:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-construction-fall-protection-harness-w-quick-connect-leg-s>: HTTP status code is not handled or not allowed 2026-01-27 22:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/225524-72-slot-cosmetic-display-for-pegboard-slatwall-13-x-1-5-acrylic>: HTTP status code is not handled or not allowed 2026-01-27 22:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/225544-4-compartment-tray-for-pegboard-slatwall-9-375-x-1-5-acrylic>: HTTP status code is not handled or not allowed 2026-01-27 22:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/556810-acrylic-cylinder-8-x-1-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/th-24003-entrygard-crank-handle-cover-white>: HTTP status code is not handled or not allowed 2026-01-27 22:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-positioning-harness-w-tongue-buckle-legs-xxl>: HTTP status code is not handled or not allowed 2026-01-27 22:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-144-led-adjustable-compact-microscope-ring-light-adapter-with-black-finish>: HTTP status code is not handled or not allowed 2026-01-27 22:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-positioning-belt-for-harness-gray-xxl>: HTTP status code is not handled or not allowed 2026-01-27 22:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-12-gauge-heavy-duty-36-w-x-24-d-x-78-h-cabinet-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/556099-acrylic-shelf-for-pegboard-slatwall-13-5-x-2-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-312wl-royal-series-solid-arm-pre-rinse-low-lead>: HTTP status code is not handled or not allowed 2026-01-27 22:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-bantam-9-feet-compact-self-retracting-lifeline-w-steel-tie-back-snap-hook>: HTTP status code is not handled or not allowed 2026-01-27 22:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-115l-rigid-to-swing-adapter-top-of-riser-low-lead>: HTTP status code is not handled or not allowed 2026-01-27 22:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/703389-blu-4-sided-interlocking-pegboard-display-8-x-60-blue-opaque>: HTTP status code is not handled or not allowed 2026-01-27 22:26:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/gear_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/771322-gre-pegboard-wall-panel-13-5-x-22-green-opaque>: HTTP status code is not handled or not allowed 2026-01-27 22:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gm-tactical-megamover-72-inch-x-32-inch-gray-8-case>: HTTP status code is not handled or not allowed 2026-01-27 22:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-h700-construction-comfort-harness-quick-connect-buckle-back-front-side-d-ring-l-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-plus-lense-tissues-500-carton>: HTTP status code is not handled or not allowed 2026-01-27 22:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700226-blu-60-pegboard-rolling-floor-display-4-sided-blue-translucent>: HTTP status code is not handled or not allowed 2026-01-27 22:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-412l-silver-series-4-center-deck-mount-faucet-12-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-27 22:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900020-acrylic-headband-holder-display-for-slatwall-pegboard-11-75-wide-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700509-org-two-sided-non-revolving-pegboard-countertop-display-8-x-20-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belleville-disc-spring-25-od-x-125-id-x-012-thick-x-018-oah-1074-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/gear_lockers>: HTTP status code is not handled or not allowed 2026-01-27 22:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belleville-disc-spring-2-od-x-1-id-x-0084-thick-x-0136-oah-1074-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/375-piece-cotter-pin-assortment-1-16-to-5-32-zinc>: HTTP status code is not handled or not allowed 2026-01-27 22:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workman-rescuer-w-stainless-steel-cable-50-ft>: HTTP status code is not handled or not allowed 2026-01-27 22:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 24284 pages (at 98 pages/min), scraped 9180 items (at 28 items/min) 2026-01-27 22:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keystock-2-x-2-x-3-ft-carbon-steel-plain-undersize-astm-a29>: HTTP status code is not handled or not allowed 2026-01-27 22:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrp-low-density-antistatic-rigid-pail-insert-5-gallon>: HTTP status code is not handled or not allowed 2026-01-27 22:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-8x10-2-wall-2-lgts-2-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-absolute-origin-indicator-w-1-inch-range-0-00016-inch-accuracy>: HTTP status code is not handled or not allowed 2026-01-27 22:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-12x24-3-wall-4-lgt-5-dplx-1-dr-gry>: HTTP status code is not handled or not allowed 2026-01-27 22:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-digital-caliper-ip54-w-24-inch-range>: HTTP status code is not handled or not allowed 2026-01-27 22:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clorox-forceflex-tall-trash-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-nut-driver-2-9-16-l-x-5-16-cut-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-12x20-4-wall-4-lgts-5-dplx-1-door-white>: HTTP status code is not handled or not allowed 2026-01-27 22:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-10x20-3-wall-3-lgts-4-dplx-1-door-white>: HTTP status code is not handled or not allowed 2026-01-27 22:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-16x16-3-wall-5-lgts-4-dplx-1-door-white>: HTTP status code is not handled or not allowed 2026-01-27 22:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-10x10-3-wall-2-lgt-2-dplx-1-dr-gry>: HTTP status code is not handled or not allowed 2026-01-27 22:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-plastic-barrier-chain-1-1-2-inch-x-500-feet-l-army-tan>: HTTP status code is not handled or not allowed 2026-01-27 22:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cartp536-heavy-duty-mobile-stand-with-locking-casters-36w-x-34h-x-28d>: HTTP status code is not handled or not allowed 2026-01-27 22:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-plastic-barrier-chain-1-1-2-inch-x-25-feet-l-slate-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:27:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/work_surface_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-mats-work-surface-male-snaps-23-1-2l-x-35-1-2w-x-1-16h>: HTTP status code is not handled or not allowed 2026-01-27 22:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circuit-board-shipping-and-storage-box-w-foam-8l-x-5-3-8w-x-1-3-4h>: HTTP status code is not handled or not allowed 2026-01-27 22:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-3-inch-heavy-duty-stowable-stanchion-41-inch-h-white-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-27 22:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-open-bin-box-for-reels-and-rail-dip-tubes-4w-x-24d-x-9h>: HTTP status code is not handled or not allowed 2026-01-27 22:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-1-2-inch-medium-duty-stowable-stanchion-40-inch-h-yellow-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-aluminum-rolling-ladder-16inw-ribbed-tread-28ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-27 22:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conductive-reel-storage-container-w-lid-12l-x-7-1-4w-x-7-1-4h>: HTTP status code is not handled or not allowed 2026-01-27 22:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-aluminum-rolling-ladder-24inw-grip-tread-28ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-27 22:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-swivel-plate-caster-204256445-brk5-rubber-total-lock-brake-4dia-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/work_surface_mats>: HTTP status code is not handled or not allowed 2026-01-27 22:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-in-plant-handle-container-w-fixed-dividers-lid-cell-size-5-7-8-x-4-x-1-1-4>: HTTP status code is not handled or not allowed 2026-01-27 22:27:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-408199459-rubber-on-polyolefin-8dia-675-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-405109459-rubber-on-polyolefin-5dia-500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/book-bottle-w-spigot-118620010-polypropylene-25-gal-1-pk-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp100-11-radar-feedback-sign-ac-power-with-your-speed-sign-white-sign-1485-00065>: HTTP status code is not handled or not allowed 2026-01-27 22:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-wall-container-24-x-15-x-11-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-gable-vent-louver-gvro18f-18w-x-18h>: HTTP status code is not handled or not allowed 2026-01-27 22:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scented-exercise-putty-5-lb-4-piece-set-tan-yellow-red-green>: HTTP status code is not handled or not allowed 2026-01-27 22:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-putty-set-6-pieces-1-pound-tan-yellow-red-green-blue-black>: HTTP status code is not handled or not allowed 2026-01-27 22:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-5-tools-4-x-6-oz-putties-medium-yellow-red-green-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs>: HTTP status code is not handled or not allowed 2026-01-27 22:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skb-2s-stainless-steel-replacement-blade>: HTTP status code is not handled or not allowed 2026-01-27 22:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-designer-wood-locker-23368-triple-tier-3-wide-15x18x24-maple-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 22:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11051676-led-t8-x-series-48in-15w-5000k-frosted-lens-non-dimming>: HTTP status code is not handled or not allowed 2026-01-27 22:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-progressive-starter-pack-green-4-additional-buttons>: HTTP status code is not handled or not allowed 2026-01-27 22:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-eva-foam-roller-half-round-6-dia-x-36l>: HTTP status code is not handled or not allowed 2026-01-27 22:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-eva-foam-roller-round-6-dia-x-36l>: HTTP status code is not handled or not allowed 2026-01-27 22:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-finger-exerciser-8-piece-set>: HTTP status code is not handled or not allowed 2026-01-27 22:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-medium-black-x-heavy>: HTTP status code is not handled or not allowed 2026-01-27 22:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-finger-exerciser-silver-xx-heavy>: HTTP status code is not handled or not allowed 2026-01-27 22:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-basic-starter-pack-yellow-x-light>: HTTP status code is not handled or not allowed 2026-01-27 22:27:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collapsible-solid-wall-bulk-container-with-casters-39-1-4-l-x-31-1-2-w-x-29-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-battery-powered-electric-keg-lifting-hand-truck-fkl100-200-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-vestibular-seating-standing-disc-35-cm-14-green>: HTTP status code is not handled or not allowed 2026-01-27 22:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-wall-rack-for-inflatable-exercise-balls-1-shelf-holds-3-balls-64l-x-18w-x-2h>: HTTP status code is not handled or not allowed 2026-01-27 22:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-exercise-jump-ball-green-20-50-cm>: HTTP status code is not handled or not allowed 2026-01-27 22:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-ton-cap-aluminum-gantry-crane-8-ft-span-adj-height-8-11-min-11-5-max>: HTTP status code is not handled or not allowed 2026-01-27 22:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-stp-steel-safe-roll-lad-wgt-act-lock-16-w-exp-stp-org-wa052414x-o>: HTTP status code is not handled or not allowed 2026-01-27 22:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-943-pvc-floor-sink-full-grate-dome-strainer-3-solvent-weld-outlet-for-sch-40-pvc-pipe>: HTTP status code is not handled or not allowed 2026-01-27 22:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55004-1-z-4-no-hub-cleanout-round-nikaloy-top>: HTTP status code is not handled or not allowed 2026-01-27 22:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dayton-pedicure-stool-red>: HTTP status code is not handled or not allowed 2026-01-27 22:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geogrid-light-duty-cellular-paving-system-195-square-geol01>: HTTP status code is not handled or not allowed 2026-01-27 22:27:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices landed on page that is not a product page. 2026-01-27 22:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-pass-thru-cable-24-1-4w-x-46h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 24378 pages (at 94 pages/min), scraped 9216 items (at 36 items/min) 2026-01-27 22:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3in-x-1-4in-shed-resistant-motech-mini-roller-covers-2-pack-12-case-3emt025d>: HTTP status code is not handled or not allowed 2026-01-27 22:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-ibc-low-top-w-drain>: HTTP status code is not handled or not allowed 2026-01-27 22:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90617-first-aid-refill-kit-50-person-ansi-compliant-class-a>: HTTP status code is not handled or not allowed 2026-01-27 22:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90615-first-aid-kit-refill-25-person-ansi-compliant-class-a>: HTTP status code is not handled or not allowed 2026-01-27 22:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/benchtop-muffle-furnace-with-a1-controller-5-8l-120v>: HTTP status code is not handled or not allowed 2026-01-27 22:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truck-lid-rmtt50lid-1-2-cu-yd>: HTTP status code is not handled or not allowed 2026-01-27 22:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9050m-e-f-blk-integra-esd-fabric-upholstered-chair-medium-back-aluminum-base-black>: HTTP status code is not handled or not allowed 2026-01-27 22:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/972210-f-10-floor-10-ton-manual-h-frame-press>: HTTP status code is not handled or not allowed 2026-01-27 22:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/974315-2-super-cut-315-12-1-2-manual-cold-saw-220v-3-ph>: HTTP status code is not handled or not allowed 2026-01-27 22:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-electric-portable-comepressor-653036l-3hp-65-gal-67-cfm-90-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9551m-e-v-blk-integra-esd-vinyl-upholstered-chair-medium-back-aluminum-base-black>: HTTP status code is not handled or not allowed 2026-01-27 22:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-electric-portable-compressor-p3124v1-3hp-24-gal-6-cfm-100-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-electric-portable-compressor-p4125h1-5hp-220v-25-gal-125-cfm-100-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medstoremax-double-column-shelf-w-5-adjustable-dividers>: HTTP status code is not handled or not allowed 2026-01-27 22:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-pie-unit-with-carpet-for-48w-x-24h-stage-units-black>: HTTP status code is not handled or not allowed 2026-01-27 22:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-test-tube-rack-for-0-5-ml-tubes-requires-clip-fastener>: HTTP status code is not handled or not allowed 2026-01-27 22:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-ml-flask-clip-for-precision-shaking-water-baths>: HTTP status code is not handled or not allowed 2026-01-27 22:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-20mm-security-machine-screw-flat-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-nylon-mesh-4-1-8-dia-x-14-l-200-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-27 22:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-phillips-pin-head-screwdriver>: HTTP status code is not handled or not allowed 2026-01-27 22:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-64-balldriver-screwdriver-10604>: HTTP status code is not handled or not allowed 2026-01-27 22:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-2-1-2-security-sheet-metal-screw-flat-phillips-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-hex-l-wrench-short-12216>: HTTP status code is not handled or not allowed 2026-01-27 22:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polypropylene-felt-5-1-2-d-x-21-l-5-micron-steel-ring-pkg-50>: HTTP status code is not handled or not allowed 2026-01-27 22:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-felt-5-1-2-d-x-15-l-1-micron-steel-ring-pkg-50>: HTTP status code is not handled or not allowed 2026-01-27 22:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werner-24-1a-fiberglass-3-section-compact-extension-ladder-d6224-3>: HTTP status code is not handled or not allowed 2026-01-27 22:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-3-4-security-machine-screw-flat-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locker-six-tier-12x18x12-18-door-ready-to-assemble-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/booster-seat-15-1-2-inch-w-x-12-inch-d-x-8-inch-h-dual-heights-wide-base-seat-belt-dark-gray-4-per-case>: HTTP status code is not handled or not allowed 2026-01-27 22:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/booster-seat-15-1-2-inch-w-x-12-inch-d-x-8-inch-h-dual-heights-wide-base-w-seat-belt-drk-gry-single-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-pass-thru-cable-48-1-4w-x-47-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/do-not-double-stack-2-w-x-110-yards-white-red>: HTTP status code is not handled or not allowed 2026-01-27 22:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chair-leather-coil-br>: HTTP status code is not handled or not allowed 2026-01-27 22:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chair-guest-leather-my-bk>: HTTP status code is not handled or not allowed 2026-01-27 22:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/check-valve-6mm-tube>: HTTP status code is not handled or not allowed 2026-01-27 22:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-54w-x-14d-x-14h-1-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-54w-x-18d-x-14h-1-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelf-level-30w-x-18d-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-30w-x-14d-x-63h-4-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-way-block-valve-1-8-male-sf-1-8-female-npt>: HTTP status code is not handled or not allowed 2026-01-27 22:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-uz-964-upstream-hepa-filter>: HTTP status code is not handled or not allowed 2026-01-27 22:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelf-level-36w-x-14d-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-valve-3-8-female-x-3-8-male-bspt>: HTTP status code is not handled or not allowed 2026-01-27 22:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8n25p05b-set-screw-w-flat-ball-m8-x-125-thread-25mm-thread-length>: HTTP status code is not handled or not allowed 2026-01-27 22:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-eliminator-2-synthetic-dust-bag>: HTTP status code is not handled or not allowed 2026-01-27 22:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-72w-x-14d-x-34h-2-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fowler-xtra-value-ii-electronic-micrometer>: HTTP status code is not handled or not allowed 2026-01-27 22:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-pc-short-paddle-with-holes-white>: HTTP status code is not handled or not allowed 2026-01-27 22:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-196-6-inch-variable-speed-bench-grinder>: HTTP status code is not handled or not allowed 2026-01-27 22:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activated-carbon-chemical-odor-removing-filter-sock-9feet>: HTTP status code is not handled or not allowed 2026-01-27 22:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-tint-3-wall-style-specimen-trans-bag-prnt-bio-6w-9l>: HTTP status code is not handled or not allowed 2026-01-27 22:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-seal-bag-10w-7l>: HTTP status code is not handled or not allowed 2026-01-27 22:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-mini-stirrer-with-telemodul-20-c-controller-100-240v>: HTTP status code is not handled or not allowed 2026-01-27 22:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-48-x-30-adj-height-workbench-w-drawer-gray-maple-safety-edge-top>: HTTP status code is not handled or not allowed 2026-01-27 22:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189254gz-60w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transport-bag-tamper-evident-10w-14l>: HTTP status code is not handled or not allowed 2026-01-27 22:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelchair-power-wheelchair-cover-on-roll-28w-60l>: HTTP status code is not handled or not allowed 2026-01-27 22:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189244gz-48w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starburst-fruit-chews-original-variety-50-oz-gr>: HTTP status code is not handled or not allowed 2026-01-27 22:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxq-shaker-universal-platform-without-clamps-30120bi-36in-x-24in>: HTTP status code is not handled or not allowed 2026-01-27 22:28:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-72-h-starter-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-holder-for-maximix-iii-vortex-mixer>: HTTP status code is not handled or not allowed 2026-01-27 22:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-platform-for-88880025>: HTTP status code is not handled or not allowed 2026-01-27 22:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-120-h-add-on-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-84-h-add-on-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-panels-galvanized-16-x-32-2-pc>: HTTP status code is not handled or not allowed 2026-01-27 22:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-36-d-x-84-h-add-on-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-panels-powdercoat-blue-16-x-32-2-pc>: HTTP status code is not handled or not allowed 2026-01-27 22:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-platform-kit-8-x-18-x-72>: HTTP status code is not handled or not allowed 2026-01-27 22:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-tabletop-ironing-board-w-retractable-iron-rest-white-frame-aqua-blue-cover-06mm-wood-top>: HTTP status code is not handled or not allowed 2026-01-27 22:28:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-platform-kit-12-x-36-x-18>: HTTP status code is not handled or not allowed 2026-01-27 22:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-27 22:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-800-series-storage-cabinet-36w-x-18d-x-78h-midnight-ebony-single-tier-knockdown>: HTTP status code is not handled or not allowed 2026-01-27 22:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-heater-4-x-50-ml-conical-tubes>: HTTP status code is not handled or not allowed 2026-01-27 22:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500ml-erlenmeyer-flask-clamp-30156bi-for-use-with-maxq-shaker-platforms>: HTTP status code is not handled or not allowed 2026-01-27 22:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-coil-thread-repair-kit-for-metal-1-2-20-x-15d>: HTTP status code is not handled or not allowed 2026-01-27 22:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 24473 pages (at 95 pages/min), scraped 9235 items (at 19 items/min) 2026-01-27 22:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-deskside-box-box-file-cabinet-ash-grey>: HTTP status code is not handled or not allowed 2026-01-27 22:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-36-w-x-18-d-x-78-h-729-parchment-triple-tier-3-wide-knock-down>: HTTP status code is not handled or not allowed 2026-01-27 22:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-264-modular-racetrack-conference-table-with-3-power-data-grommets-ash-grey>: HTTP status code is not handled or not allowed 2026-01-27 22:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portfolio-clipboard-red-61632>: HTTP status code is not handled or not allowed 2026-01-27 22:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slim-clipboard-storage-box-83304>: HTTP status code is not handled or not allowed 2026-01-27 22:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-adjustable-shower-caddy-bt1098>: HTTP status code is not handled or not allowed 2026-01-27 22:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-27 22:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chenille-kraft-3584-gemstones-classroom-pack-acrylic-1-lbs-assorted-colorssizes>: HTTP status code is not handled or not allowed 2026-01-27 22:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-200003441-3-1-2-x-1-1-4-performa-rubber-3-8-delrin-bushing-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:29:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:29:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/media_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/command-17001-vp-6pk-general-purpose-hooks-value-pack-medium-holds-3-lb-white-6pack>: HTTP status code is not handled or not allowed 2026-01-27 22:29:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-120-h-add-on-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-12-d-x-87-h-725-hallowell-gray-starter-unit-38-bins>: HTTP status code is not handled or not allowed 2026-01-27 22:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-200005944-5-x-1-1-4-polyurethane-on-polyolefin-3-8-delrin-bushing-maroon>: HTTP status code is not handled or not allowed 2026-01-27 22:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-200005445-5-x-1-1-4-performa-rubber-3-8-annular-ball-bearing-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1021068-drain-flat-strain-1-1-2-inch-nps-for-standard-keil>: HTTP status code is not handled or not allowed 2026-01-27 22:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901334-screw-truss-head-10-32-x-25-inch-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 22:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-72-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 22:29:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ese2020101-gourmet-elite-by-sink-20l-x-20w-x-10-1-8d>: HTTP status code is not handled or not allowed 2026-01-27 22:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-84-h-add-on-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 22:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermo-flask-benchtop-liquid-nitrogen-container-with-lid-and-handle-1-liters>: HTTP status code is not handled or not allowed 2026-01-27 22:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/media_labels>: HTTP status code is not handled or not allowed 2026-01-27 22:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321421-o-ring-2-7-8-od-for-hobart>: HTTP status code is not handled or not allowed 2026-01-27 22:29:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-27 22:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-120-h-add-on-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 22:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serrated-2-step-18-alum-rolling-ladder-10-top-step-spring-load-a2shg>: HTTP status code is not handled or not allowed 2026-01-27 22:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-48-w-x-48-d-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-27 22:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1291233-filter-baffle-20x20-ss-he-fmp>: HTTP status code is not handled or not allowed 2026-01-27 22:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics>: HTTP status code is not handled or not allowed 2026-01-27 22:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-72-h-add-on-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alabama-state-flag-4x6-nylon>: HTTP status code is not handled or not allowed 2026-01-27 22:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-120-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:29:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-24-d-x-120-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-capacity-reach-in-co2-incubator-with-tc-sensor-120v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-27 22:29:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/computer_desk_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-alesd214824bw-single-pedestal-steel-desk-metal-desk-45-14w-x-24d-x-29-12h-walnutblack>: HTTP status code is not handled or not allowed 2026-01-27 22:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-50-foot-medium-duty-pvc-discharge-hose-coupled-with-cxe-aluminum-cam-and-groove-fittings>: HTTP status code is not handled or not allowed 2026-01-27 22:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deflect-o-77441-multi-compartment-docuholder-4-compartments-9-14w-x-7d-x-13-12h-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deflect-o-77501-docuholder-for-countertop-or-wall-mount-use-4-38w-x-3-14d-x-7-34h-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pharmacy-vaccine-refrigerator-single-swing-glass-door-26-cu-ft-ph-abt-s26g>: HTTP status code is not handled or not allowed 2026-01-27 22:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pharmacy-vaccine-refrigerator-single-swing-solid-door-16-cu-ft-ph-abt-s16s>: HTTP status code is not handled or not allowed 2026-01-27 22:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deflect-o-775383-euro-style-docuholder-4-12w-x-3-34d-x-8h-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:29:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-36-d-x-72-h-add-on-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches>: HTTP status code is not handled or not allowed 2026-01-27 22:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ton-in-line-bottle-jack-shorty-10208>: HTTP status code is not handled or not allowed 2026-01-27 22:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2801846-bowl-mixing-10-1-2-qt-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-96-h-add-on-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:29:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/computer_desk_accessories landed on page that is not a product page. 2026-01-27 22:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-36-d-x-96-h-add-on-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chateau-series-walnut-laminate-desking-661x236x30-credenza>: HTTP status code is not handled or not allowed 2026-01-27 22:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chateau-series-mahogany-laminate-desking-661x295x30-table>: HTTP status code is not handled or not allowed 2026-01-27 22:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-drip-pan-92510>: HTTP status code is not handled or not allowed 2026-01-27 22:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-12-drawer-174-compart-classic-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-27 22:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters>: HTTP status code is not handled or not allowed 2026-01-27 22:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3907-burner-orifice-43-natural-gas-1-8-inch-mpt-thread>: HTTP status code is not handled or not allowed 2026-01-27 22:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-ton-air-hydraulic-truck-jack-23301c>: HTTP status code is not handled or not allowed 2026-01-27 22:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-brake-drum-handler-46000>: HTTP status code is not handled or not allowed 2026-01-27 22:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013299-motor-fan-w-shaft-gas-for-rational-cooking-systems>: HTTP status code is not handled or not allowed 2026-01-27 22:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-11-drawer-162-compart-classic-blue-master-keyed>: HTTP status code is not handled or not allowed 2026-01-27 22:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet-7-drawers-94-compart-classic-blue-master-keyed>: HTTP status code is not handled or not allowed 2026-01-27 22:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1621154-grate-top-18-inch-for-montague-oven>: HTTP status code is not handled or not allowed 2026-01-27 22:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/osb-65-105-75-a-pof-shrink-bags-6-1-2-x-10-1-2-75-gauge-clear-500-case>: HTTP status code is not handled or not allowed 2026-01-27 22:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-12-drawer-177-compart-bright-blue-master-keyed>: HTTP status code is not handled or not allowed 2026-01-27 22:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crews-2310af-stryker-safety-goggles-chemical-protection-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alka-seltzer-80659297-antacid-and-pain-relief-medicine-50-two-packsbox>: HTTP status code is not handled or not allowed 2026-01-27 22:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-mobile-cabinet-8-drawers-90-compart-light-gray-no-lock>: HTTP status code is not handled or not allowed 2026-01-27 22:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271159-lid-gasket-screw-hp-4req-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-27 22:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-9-drawer-120-compart-light-gray-no-lock>: HTTP status code is not handled or not allowed 2026-01-27 22:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263197-hex-lock-nut>: HTTP status code is not handled or not allowed 2026-01-27 22:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-tubing-yellow-100-roll-box>: HTTP status code is not handled or not allowed 2026-01-27 22:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet6-drawer72-compart-light-gray-individual-lock>: HTTP status code is not handled or not allowed 2026-01-27 22:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 24565 pages (at 92 pages/min), scraped 9258 items (at 23 items/min) 2026-01-27 22:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ae18z-poly-z-brite-safety-push-handle-18w>: HTTP status code is not handled or not allowed 2026-01-27 22:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ad824s-stainless-steel-divider-24d-x-8h-for-wire-shelves>: HTTP status code is not handled or not allowed 2026-01-27 22:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet-5-drawer-51-compart-classic-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-27 22:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-16-drawer-270-compart-light-gray-individual-lock>: HTTP status code is not handled or not allowed 2026-01-27 22:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ah18z-poly-z-brite-utility-cart-handle-18w>: HTTP status code is not handled or not allowed 2026-01-27 22:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-16-drawer-270-compart-classic-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-27 22:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-single-wall-heat-shrink-5670-100r-3-4-expanded-diameter-100-pcs>: HTTP status code is not handled or not allowed 2026-01-27 22:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x12x12-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 22:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-inch-x-16-inch-x-14-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 22:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-x-10-inch-x-10-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-27 22:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-back-guest-stool>: HTTP status code is not handled or not allowed 2026-01-27 22:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-leather-guest-seating-aluminum-silver-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phoenix-6-cantilever-recycled-table-with-backless-benches-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tefc-3ph-1725rpm-c6t17wk1jj>: HTTP status code is not handled or not allowed 2026-01-27 22:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-pro-bleeding-control-kit-plastic-case>: HTTP status code is not handled or not allowed 2026-01-27 22:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/denali-38-12-square-recycled-picnic-table-with-4-seats-in-ground-mount-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:30:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/stretch_bands_tubing already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madison-4-outdoor-bench-with-back-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-length-squeeze-disher-47402-pink-0-1-24-oz-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/221160-kason-11239c00004d-latch-for-kason>: HTTP status code is not handled or not allowed 2026-01-27 22:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phoenix-6-cantilever-recycled-plastic-bench-without-back-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphite-compression-packing-316w-x-316h-x-50-ft>: HTTP status code is not handled or not allowed 2026-01-27 22:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010653-caster-stem-w-brake-for-alto-shaam>: HTTP status code is not handled or not allowed 2026-01-27 22:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-push-in-grommet-for-1-38-hole-id-and-116-edge-thickness-1-id-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-27 22:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iec-metric-motor-160l-ip55-3ph-c160t34fz6cc>: HTTP status code is not handled or not allowed 2026-01-27 22:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-barstools-coral-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-27 22:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321671-hose-gas-125-x-36-for-dormont-mfg>: HTTP status code is not handled or not allowed 2026-01-27 22:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-12x18x72-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/stretch_bands_tubing>: HTTP status code is not handled or not allowed 2026-01-27 22:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-conference-chair-mid-back-19-12-22-12h-seat-black>: HTTP status code is not handled or not allowed 2026-01-27 22:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-tee-connector-8mm-tube-od>: HTTP status code is not handled or not allowed 2026-01-27 22:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-prismatic-ball-6-in-diameter>: HTTP status code is not handled or not allowed 2026-01-27 22:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-split-lock-washer-21-64-i-d-3-32-thick-steel-galvanized-grade-2-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 22:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-75-plasteur-pasteur-pipet-bulk-packed-in-bags-non-sterile-500-case>: HTTP status code is not handled or not allowed 2026-01-27 22:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-in-neckless-ball-holder-kit-white>: HTTP status code is not handled or not allowed 2026-01-27 22:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-75-plasteur-pasteur-pipet-individually-wrapped-in-bags-sterile-200-case>: HTTP status code is not handled or not allowed 2026-01-27 22:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-caster-chairs-navy-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-27 22:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-tomato-pro-w-o-safety-guard-0646n-3-8-cut-straight-blade>: HTTP status code is not handled or not allowed 2026-01-27 22:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-round-table-with-2-imme-armless-barstools-coral-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-27 22:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100ml-polystyrene-reagent-reservoir-bulk-packed-sterile-white-200-case>: HTTP status code is not handled or not allowed 2026-01-27 22:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36x24x60-with-4-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-inch-charbroiler-lp>: HTTP status code is not handled or not allowed 2026-01-27 22:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fishing-retractable-gear-tether-0tr2-209-medium-36extention-black-carabiner>: HTTP status code is not handled or not allowed 2026-01-27 22:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-fda-silicone-rubber-cord-0275-cross-section-10-ft-length>: HTTP status code is not handled or not allowed 2026-01-27 22:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-buna-n-rubber-cord-0375-cross-section-10-ft-length>: HTTP status code is not handled or not allowed 2026-01-27 22:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iec-metric-motor-200l-ip55-3ph-c200t17fz1cc>: HTTP status code is not handled or not allowed 2026-01-27 22:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-cord-4mm-cross-section-10-ft-length>: HTTP status code is not handled or not allowed 2026-01-27 22:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-esd-square-edge-work-bench-adjustable-height-1-1-4-top>: HTTP status code is not handled or not allowed 2026-01-27 22:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/servewell-sl-hot-food-table-38203-3-well-12-amp>: HTTP status code is not handled or not allowed 2026-01-27 22:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-9-drawer-standard-width-cabinet-blue-master-keyed-2>: HTTP status code is not handled or not allowed 2026-01-27 22:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/316ss-straight-adapters-tubeto-mnpt-for-quick-clamp-ftg-for-1-12-tubeodx-1-12-npt-male>: HTTP status code is not handled or not allowed 2026-01-27 22:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-hour-big-and-tall-mesh-back-chair-leather-black>: HTTP status code is not handled or not allowed 2026-01-27 22:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/304ss-straight-adapters-tubeto-fnptfor-quick-clamp-fittings-for-34-tubeodx-34-npt-female>: HTTP status code is not handled or not allowed 2026-01-27 22:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sec-aluminum-67-crossover-truck-box-dual-lid-deep-79011046>: HTTP status code is not handled or not allowed 2026-01-27 22:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/200-pound-vibrator-kit-for-tgs03-spreader>: HTTP status code is not handled or not allowed 2026-01-27 22:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-day-liquid-hand-soap-lemon-12-5-oz-pump-6-carton-651321>: HTTP status code is not handled or not allowed 2026-01-27 22:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elevator-social-distancing-sign>: HTTP status code is not handled or not allowed 2026-01-27 22:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waste-watcher-single-organics-only-23-gallon-gray-green-8105013-5>: HTTP status code is not handled or not allowed 2026-01-27 22:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-mount-tape-dispenser-2-w>: HTTP status code is not handled or not allowed 2026-01-27 22:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8nf34k-nylon-plastic-adjustable-lever-w-steel-components-m8-x-1-25-tapped-thread>: HTTP status code is not handled or not allowed 2026-01-27 22:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3t16f34k-nylon-plastic-adjustable-lever-w-steel-components-1-4-20-x-63-stud>: HTTP status code is not handled or not allowed 2026-01-27 22:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12n40a04k-zinc-die-cast-adjustable-lever-w-steel-components-m12-x-40mm-stud>: HTTP status code is not handled or not allowed 2026-01-27 22:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-drop-in-guard-rail-6-ft-with-2-brackets-and-hardware>: HTTP status code is not handled or not allowed 2026-01-27 22:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circular-wire-flight-caddy-wr-1026-06-holds-6-glasses-9-x-11>: HTTP status code is not handled or not allowed 2026-01-27 22:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-96x48x84-with-3-level-steel-deck-1500lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:30:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5t25a02o-zinc-die-cast-adjustable-lever-w-steel-components-5-16-18-x-98-stud>: HTTP status code is not handled or not allowed 2026-01-27 22:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-tapered-sauce-pan-z434312-8-3-4-bottom-diameter-4-1-2-quart-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:30:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=691209-jtm-1050-milling-machine-w-3-axis-newall-dp700-dro-quill-x-y-axis-powerfeeds-3-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g7-10-hp-rotary-screw-comp-120-gal-horiz-125-psig-3-phase-208-230-460v-w-dryer>: HTTP status code is not handled or not allowed 2026-01-27 22:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-60x24x96-with-3-levels-wire-deck-1300lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-24-push-broom-w-plastic-block-steel-handle-rough-sweep>: HTTP status code is not handled or not allowed 2026-01-27 22:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 24660 pages (at 95 pages/min), scraped 9284 items (at 26 items/min) 2026-01-27 22:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1361042-lid-lexan-kit-for-franke>: HTTP status code is not handled or not allowed 2026-01-27 22:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/noseplate-magliner-hand-truck-2>: HTTP status code is not handled or not allowed 2026-01-27 22:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soot-cleaner-spray-soot-remover-spray-16-oz-1-qty>: HTTP status code is not handled or not allowed 2026-01-27 22:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-72x36x84-with-3-levels-steel-deck-1000lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boiler-treatment-boiler-water-cleaner-ph-neutralizer-1-qt-1-qty>: HTTP status code is not handled or not allowed 2026-01-27 22:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries>: HTTP status code is not handled or not allowed 2026-01-27 22:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-sleeve-floor-savers-1-25-diameter-8-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690174-jvm-836-3-milling-machine-w-x-axis-powerfeed-1-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 22:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=691209-jtm-1050-milling-machine-w-3-axis-newall-dp700-dro-quill-x-y-axis-powerfeeds-3-hp>: HTTP status code is not handled or not allowed 2026-01-27 22:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hessaire-36-belt-drive-box-fan-36x550s-n-3-4hp-1ph-11010-cfm-with-shutter>: HTTP status code is not handled or not allowed 2026-01-27 22:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-inch-industrial-bench-grinder>: HTTP status code is not handled or not allowed 2026-01-27 22:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hessaire-48-direct-drive-box-fan-48d750-n-1hp-1ph-18926-cfm>: HTTP status code is not handled or not allowed 2026-01-27 22:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-caster-chairs-coral-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-27 22:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck-38-clamping-kit-52-pc-tray-for-1-2-inch-t-slot>: HTTP status code is not handled or not allowed 2026-01-27 22:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silverware-soak-system-52619-3-pc-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbaum-fingerprint-lock-luxury-fire-res-safe-w-walnut-door-3-0-cu-ft-black-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-72x24-high-capacity-rack-steel-deck-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:31:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/packing_workbenches/stationary_packing_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-adjust-boltless-shelf-truck-with-laminate-shelves-21>: HTTP status code is not handled or not allowed 2026-01-27 22:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/691202-jtm-4vs-milling-machine-w-3-axis-newall-dp700-dro-quill-3-hp>: HTTP status code is not handled or not allowed 2026-01-27 22:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butt-splice-16-14-awg-blue-15-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rail-kit-two-one-procart-40-l-x-19-1-2-w>: HTTP status code is not handled or not allowed 2026-01-27 22:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basetek-cut-resistant-gloves-polyurethane-coated-ansi-a2-xl-salt-pepper-12-pair>: HTTP status code is not handled or not allowed 2026-01-27 22:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-commander-2-hour-digital-fire-water-resistant-safe-24-12-cu-ft-off-white-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butterfly-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-27 22:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66253044535-gemini-bench-and-pedestal-wheel-8-inch-x-1-inch-x-1-inch-120-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-27 22:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-shelf-bracket>: HTTP status code is not handled or not allowed 2026-01-27 22:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66253044534-gemini-bench-and-pedestal-wheel-8-inch-x-1-inch-x-1-inch-80-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-27 22:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/work-benches/packing_workbenches/stationary_packing_workbenches>: HTTP status code is not handled or not allowed 2026-01-27 22:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2251072-fry-basket-ez-grip-17-1-8-inch-x-8-3-8-inch>: HTTP status code is not handled or not allowed 2026-01-27 22:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261074700-bear-tex-non-woven-hand-pad-6-inch-x-9-inch-very-fine-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 22:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-4-compartment-w-handles-half-tub-1303-beige-24-1-2-x-13-3-8-x-5-1-4>: HTTP status code is not handled or not allowed 2026-01-27 22:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slant-shelf-48x18>: HTTP status code is not handled or not allowed 2026-01-27 22:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-print-pivot-mobile-rack-with-12-pivot-hangers-12-36-hanging-clamps>: HTTP status code is not handled or not allowed 2026-01-27 22:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-desk-w-pigeonhole-compartments-slope-top-34-1-2-w-x-30-d-x-38-to-42-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-cable-tie-8-50-lb-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-ac-parallel-59rpm-c4c17fz34c>: HTTP status code is not handled or not allowed 2026-01-27 22:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-charging-clip-20-amp>: HTTP status code is not handled or not allowed 2026-01-27 22:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-size-soup-merchandiser-base-w-menu-board-720200103-18-1-2-x-26-1-4-x-25-1-2>: HTTP status code is not handled or not allowed 2026-01-27 22:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261149825-paper-psa-disc-roll-5-inch-dia-p220-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 22:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-long-divider-sold-pack-of-6-3>: HTTP status code is not handled or not allowed 2026-01-27 22:31:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/charbroilers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rw10-3s1y-lightweight-rain-jacket-hi-viz-lime-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-boardroom-6-boat-top-table-figured-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 22:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-caster-chairs-white-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-27 22:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7401-coated-waterproof-winter-work-gloves-xl-orange-case>: HTTP status code is not handled or not allowed 2026-01-27 22:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trex-spikeless-traction-slipons-large-black>: HTTP status code is not handled or not allowed 2026-01-27 22:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-30-w-modular-cabinet-8-drawers-38-h-no-lock-textured-regal-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rw32-3z1y-heavy-duty-rip-stop-waterproof-rain-jacket-hi-viz-lime-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014112-hood-filter-type6-alum-16x25-w-lock-handles>: HTTP status code is not handled or not allowed 2026-01-27 22:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acry-fab-vertical-lid-holder-fml-4v-4-column-25-1-2-x-6-1-2-x-5-3-8>: HTTP status code is not handled or not allowed 2026-01-27 22:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-microscope-storage-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 22:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/charbroilers>: HTTP status code is not handled or not allowed 2026-01-27 22:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-chairs-white-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-27 22:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1291126-kason-67001002016-filter-hood-for-kason>: HTTP status code is not handled or not allowed 2026-01-27 22:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x20-canopy-white-replacement-cover-for-2-inch-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartlink153-plastic-classroom-chair-275-lb-capacity-16h-seat-lava-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 22:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31-400-20-inch-h-x-20-inch-w-x-2-inch-t-frameless-stainless-steel-hood-filter>: HTTP status code is not handled or not allowed 2026-01-27 22:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-bin-rack-removable-wire-bins-8>: HTTP status code is not handled or not allowed 2026-01-27 22:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-ul2043-white-cone-diffuser-for-12-duct-str-c-12w-fr>: HTTP status code is not handled or not allowed 2026-01-27 22:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miramar-13-high-dome-cover-49429-fits-49428-satin-finish>: HTTP status code is not handled or not allowed 2026-01-27 22:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012545-motor-filter-pump115v-1-3-hp-1p-1725>: HTTP status code is not handled or not allowed 2026-01-27 22:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-2-inch-black-nylon-strap-w-hardware-bcnsk>: HTTP status code is not handled or not allowed 2026-01-27 22:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2031153-motor-slicer-115v-for-globe-food-equipment>: HTTP status code is not handled or not allowed 2026-01-27 22:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-caster-chairs-light-gray-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-27 22:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331494-filter-oil-175-x-21-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/MaxiPlus-22-Moss-Floor-Squeegee-Metal-Frame-96822-S>: HTTP status code is not handled or not allowed 2026-01-27 22:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-electrodes-2-round-stainless-steel-mesh-40-case>: HTTP status code is not handled or not allowed 2026-01-27 22:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-movers-aluminum-base-6-bushel-with-blue-tub>: HTTP status code is not handled or not allowed 2026-01-27 22:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-table-with-poly-top-and-backsplash-36-inch-w-72-inch-l>: HTTP status code is not handled or not allowed 2026-01-27 22:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hsr270-sign-holder-bracket-for-fences>: HTTP status code is not handled or not allowed 2026-01-27 22:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561145-shelf-ref-16-1-2-inch-x24-3-8-inch-x6-inch-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-27 22:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tac812-5s-red-tag-center>: HTTP status code is not handled or not allowed 2026-01-27 22:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 24758 pages (at 98 pages/min), scraped 9310 items (at 26 items/min) 2026-01-27 22:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp208gn-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-27 22:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271129-hp-bw-blower-motor-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-27 22:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28x17x110-1-mil-furniture-covers>: HTTP status code is not handled or not allowed 2026-01-27 22:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2321107-shelf-wire-22-inch-x26-1-2-inch-cp-for-kairak>: HTTP status code is not handled or not allowed 2026-01-27 22:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481070-shelf-ref-16-inch-d-x23-1-2-inch-w-ctr-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 22:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3-series-half-solid-door-refrigerator-2-door>: HTTP status code is not handled or not allowed 2026-01-27 22:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-water-filter-pfas-3600-gallon-capacity-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-tee-crossover-3>: HTTP status code is not handled or not allowed 2026-01-27 22:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331553-cart-oil-short-shuttle-115-inch-h-for-worchester-industrial-products>: HTTP status code is not handled or not allowed 2026-01-27 22:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locbin-wall-storage-3-235yws-w-rails-large-yellow-8-pc>: HTTP status code is not handled or not allowed 2026-01-27 22:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-flange-2>: HTTP status code is not handled or not allowed 2026-01-27 22:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1051002-dispenser-drink-triple-bowl>: HTTP status code is not handled or not allowed 2026-01-27 22:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10194978-harness-back-d-ring-tongue-buckle-leg-straps-extra-large>: HTTP status code is not handled or not allowed 2026-01-27 22:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3-series-solid-door-refrigerator-2-door>: HTTP status code is not handled or not allowed 2026-01-27 22:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-stainless-steel-5-leg-iv-height-adjustable-stand-52-94-4-hook-rams-horn>: HTTP status code is not handled or not allowed 2026-01-27 22:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/translucent-liner-30-x-72>: HTTP status code is not handled or not allowed 2026-01-27 22:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-x4-1-2-x72-telescoping-outer-boxes>: HTTP status code is not handled or not allowed 2026-01-27 22:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-shrink-tube-187-to-062-8-red>: HTTP status code is not handled or not allowed 2026-01-27 22:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-office-chair-with-arms-fabric-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-rest-pebble-foam-mat-hd-2-ft-x-3-ft-coal>: HTTP status code is not handled or not allowed 2026-01-27 22:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-21-x-48-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spillmagic-sm202dban-spillmagic-acid-neutralizer-5-lb-bottle>: HTTP status code is not handled or not allowed 2026-01-27 22:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511363-conversion-kit-to-lp>: HTTP status code is not handled or not allowed 2026-01-27 22:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-extra-heavy-duty-boltless-shelving-starter-36in-w-x-18in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-horizontal-brace-set-9>: HTTP status code is not handled or not allowed 2026-01-27 22:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eb-double-bank-tool-cabinet-60-w-x-44-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x10x2-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-27 22:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-heavy-duty-boltless-shelving-starter-42in-w-x-30in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-shelf-truck-36x18x80-1200-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-shelf-truck-36x18x80-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-plastic-chain-red>: HTTP status code is not handled or not allowed 2026-01-27 22:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packard-contactor-2-pole-40-24>: HTTP status code is not handled or not allowed 2026-01-27 22:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x22x60-wardrobe-boxes>: HTTP status code is not handled or not allowed 2026-01-27 22:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-shelf-truck-72x24x80-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/224471-top-cover-knob-assembly>: HTTP status code is not handled or not allowed 2026-01-27 22:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-wide-boltless-shelving-starter-60in-w-x-48in-d-x-84in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-2-1-2-fluid-glycerine-filled-pressure-gage-center-back-60-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-2-1-2-fluid-glycerine-filled-pressure-gage-panel-flange-100-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96in-w-x-36in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-lid-26>: HTTP status code is not handled or not allowed 2026-01-27 22:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flipak-attached-lid-container-15>: HTTP status code is not handled or not allowed 2026-01-27 22:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-xps-153-1-4-square-2-socket-adapter-retention-ball-matte-nickel>: HTTP status code is not handled or not allowed 2026-01-27 22:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circuit-sensor-for-dual-cord-machines-with-1-wall-outlet-plug-1-twistlock-988cs>: HTTP status code is not handled or not allowed 2026-01-27 22:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012175-drain-screen-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 22:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-picture-book-shelving-base-37-w-x-23-7-8-d-x-40-7-8-h-oiled-cherry>: HTTP status code is not handled or not allowed 2026-01-27 22:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inox-grinding-wheel-36-grit-type-27-6-dia-x-1-4-t-x-7-8-cntr-hole-dia-5-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-low-speed-high-torque-hydraulic-motor-sae-a-4-bolt-mount-150-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-steel-frame-bandsaw-175-hp-1-ph-115-230-v-jwbs-14sfx>: HTTP status code is not handled or not allowed 2026-01-27 22:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-hydraulic-gear-pump-0-31-cu-in-rev-1-2-dia-straight-drive-shaft-6-71-gpm-5000-rpm>: HTTP status code is not handled or not allowed 2026-01-27 22:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-heavy-duty-boltless-shelving-add-on-42in-w-x-30in-d-x-36in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x2900-1-5-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-27 22:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x2900-1-5-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-27 22:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-utility-basket-mail-cart-200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-hydraulic-gear-pump-1-95-cu-in-rev-spline-9-tooth-shaft-shaft>: HTTP status code is not handled or not allowed 2026-01-27 22:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x10-x36-3-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1381181-thermometer-c22-t-type-for-comark-instruments>: HTTP status code is not handled or not allowed 2026-01-27 22:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-12in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-in-adjustable-bookcase-36-wide-11-deep-30-high-medium-oak>: HTTP status code is not handled or not allowed 2026-01-27 22:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-48in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-13-black>: HTTP status code is not handled or not allowed 2026-01-27 22:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x15-clear-face-document-envelopes>: HTTP status code is not handled or not allowed 2026-01-27 22:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-gallon-rubbermaid-slim-jim-recycling-container-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-immersion-blender-2-speeds-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 22:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-30-x-48-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-60-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x18x2-kraft-easy-fold-mailer>: HTTP status code is not handled or not allowed 2026-01-27 22:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-12-triangular-sign-caution-slow-blind-corner>: HTTP status code is not handled or not allowed 2026-01-27 22:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-96x48x60-with-3-shelves-wire-deck-1100-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-27 22:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461493-t-stat-rx-for-falcon-fabricators>: HTTP status code is not handled or not allowed 2026-01-27 22:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031007-module-ignition-25v-6-second-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-27 22:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x2150-2-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-27 22:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 24857 pages (at 99 pages/min), scraped 9339 items (at 29 items/min) 2026-01-27 22:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-leather-glove-protectors-size-8-dwh10l8>: HTTP status code is not handled or not allowed 2026-01-27 22:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/581001-steam-solenoid-valve3-4-inch-120v>: HTTP status code is not handled or not allowed 2026-01-27 22:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-13-light-grey>: HTTP status code is not handled or not allowed 2026-01-27 22:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-cooler-4-capacity-gallons>: HTTP status code is not handled or not allowed 2026-01-27 22:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-for-snap-loc-dolly-slac4sb-swivel-brake-4-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-36ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-20-octagone-sign-stop>: HTTP status code is not handled or not allowed 2026-01-27 22:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-dbl-solenoid-valve-pilot-spr-cntred-1-4-nptf-24v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-27 22:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9245-02-supplied-air-shield-system-2-workers>: HTTP status code is not handled or not allowed 2026-01-27 22:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-60x24x120-add-on>: HTTP status code is not handled or not allowed 2026-01-27 22:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kithp27-27-cal-fr-ar-goggle-balaclava-combo>: HTTP status code is not handled or not allowed 2026-01-27 22:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1155-1-2-inch-fpt-union-x-1-2-inch-fpt-water-pressure-reducing-valve-10-to-35-lb-range>: HTTP status code is not handled or not allowed 2026-01-27 22:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-steel-decking-60x24x96-starter>: HTTP status code is not handled or not allowed 2026-01-27 22:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-knit-glove-gray-large-g16rglg>: HTTP status code is not handled or not allowed 2026-01-27 22:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7190-03-spanbak-back-support-large>: HTTP status code is not handled or not allowed 2026-01-27 22:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7115-04-flexbak-back-support-x-large>: HTTP status code is not handled or not allowed 2026-01-27 22:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h58nlhg-deluxe-aluminized-hood>: HTTP status code is not handled or not allowed 2026-01-27 22:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-dexterity-performance-work-glove-mechanics-plus-dbl-extra-large>: HTTP status code is not handled or not allowed 2026-01-27 22:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8414-11-phase-change-inserts-4pack>: HTTP status code is not handled or not allowed 2026-01-27 22:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-42inw-x-15ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pres-cntr-dbl-solenoid-vlv-pilot-spr-cntred-1-8-nptf-12v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 22:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009369-ignition-module-for-moffat>: HTTP status code is not handled or not allowed 2026-01-27 22:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-cleaner-338-oz-spray-bottle>: HTTP status code is not handled or not allowed 2026-01-27 22:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-42-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-36ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-g-1-4-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/th230150nao-1-50lb-2-30lb-nao-tank-rack>: HTTP status code is not handled or not allowed 2026-01-27 22:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/st-drawer-layout-20-compartments-3-h>: HTTP status code is not handled or not allowed 2026-01-27 22:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hs-drawer-layout-9-compartments-7-h>: HTTP status code is not handled or not allowed 2026-01-27 22:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-60x36x96-add-on>: HTTP status code is not handled or not allowed 2026-01-27 22:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wgr42-d-double-headed-rack-protector-42>: HTTP status code is not handled or not allowed 2026-01-27 22:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-cal-compliance-arc-flash-coat-s-navy-c04uquq40sm32>: HTTP status code is not handled or not allowed 2026-01-27 22:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wgr42-r-right-side-rack-protector-42>: HTTP status code is not handled or not allowed 2026-01-27 22:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-72x24x72-starter>: HTTP status code is not handled or not allowed 2026-01-27 22:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/68249-pusher-assy1-4in-cut-for-nemco>: HTTP status code is not handled or not allowed 2026-01-27 22:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-hi-vis-work-shirt-type-r-class-3-3xl-t-fluorescent-yellow-shrtv3c33xltl>: HTTP status code is not handled or not allowed 2026-01-27 22:33:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/rack_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2351153-shelf-w-ft-bkstp-21-inch-x19-1-4-inch-for-delfield>: HTTP status code is not handled or not allowed 2026-01-27 22:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-18-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-72x24x72-add-on>: HTTP status code is not handled or not allowed 2026-01-27 22:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-42inw-x-30ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-12v-led-utility-light-18-watts>: HTTP status code is not handled or not allowed 2026-01-27 22:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-1-2-nptf-12v-dc-3w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-rws-red-wall-galvanized-steel-flexible-wiring-conduit-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-27 22:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-15ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-inch-dia-pin-for-2-inch-receiver>: HTTP status code is not handled or not allowed 2026-01-27 22:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8064-12-tubing-clamp-10pkg>: HTTP status code is not handled or not allowed 2026-01-27 22:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-14>: HTTP status code is not handled or not allowed 2026-01-27 22:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/rack_protectors>: HTTP status code is not handled or not allowed 2026-01-27 22:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6031-34-tubing-kit-300-ft>: HTTP status code is not handled or not allowed 2026-01-27 22:33:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/roof_pipe_heating_cables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pressure-cntr-g1-2-dbl-solenoid-valve-pilot-spr-cntred-24v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 22:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cork-bulletin-board-hardwood-oak-6>: HTTP status code is not handled or not allowed 2026-01-27 22:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-48-cryogenic-apron-a02crc24x48>: HTTP status code is not handled or not allowed 2026-01-27 22:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-in-w-x-46-in-h-panel-with-pass-thru-cable-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-14036-mlb-new-york-yankees-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-27 22:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-ext-pilot-1-8-nptf-24v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-in-w-x-46-in-h-panel-with-electric-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-1-2-phillips-flat-head-machine-screw-pkg-of-100-dwa03016>: HTTP status code is not handled or not allowed 2026-01-27 22:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/481177-hi-limit>: HTTP status code is not handled or not allowed 2026-01-27 22:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-file-lock-kit-2>: HTTP status code is not handled or not allowed 2026-01-27 22:33:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/roof_pipe_heating_cables landed on page that is not a product page. 2026-01-27 22:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-g-1-8-24v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2411025-clip-air-filter-black-plst-for-panasonic-microwave>: HTTP status code is not handled or not allowed 2026-01-27 22:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-16-x-12-x-900-feet-upsable-perforated-air-foam-roll>: HTTP status code is not handled or not allowed 2026-01-27 22:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelving-36x16x51>: HTTP status code is not handled or not allowed 2026-01-27 22:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelving-66x24x72-adjustable>: HTTP status code is not handled or not allowed 2026-01-27 22:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-drive-anchor-3-16-x-7-8-mushroom-head-steel-zinc-pkg-of-100-266010>: HTTP status code is not handled or not allowed 2026-01-27 22:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-series-maple-cutting-boad-20-x-15-x-1-1-2>: HTTP status code is not handled or not allowed 2026-01-27 22:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-breakable-cap-670-25-2-1-2-plastic->: HTTP status code is not handled or not allowed 2026-01-27 22:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011736-auxiliary-switch>: HTTP status code is not handled or not allowed 2026-01-27 22:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-48ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 24951 pages (at 94 pages/min), scraped 9363 items (at 24 items/min) 2026-01-27 22:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-48ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-48ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hotdog-roller-grills-10-dogs>: HTTP status code is not handled or not allowed 2026-01-27 22:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-96inw-x-24ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-long-sleeve-fr-t-shirt-xl-t-desert-sand-df2-cm-446ls-ds-xlt>: HTTP status code is not handled or not allowed 2026-01-27 22:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-closed-cntr-spr-cntred-g1-8-24v-dc-3w-coil-black>: HTTP status code is not handled or not allowed 2026-01-27 22:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-96inw-x-48ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snow-cone-cup-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 22:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-ext-pilot-1-4-nptf-12v-dc-3w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-back-black-luggage-rack-with-black-straps-6-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gun-caddy-with-pistol-rack-51653-gc-for-closet-vault-ii-gun-cabinet-51653-s>: HTTP status code is not handled or not allowed 2026-01-27 22:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-48inw-x-48ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wax-resin-thermal-transfer-ribbon-110mm-x-450m-apr6-outside-ink-wax-resin>: HTTP status code is not handled or not allowed 2026-01-27 22:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-30ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/computer-desk-with-cpu-caddy-44w-x-24d-x-30h-dark-honey>: HTTP status code is not handled or not allowed 2026-01-27 22:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardner-bender-outlet-tester-120-vac>: HTTP status code is not handled or not allowed 2026-01-27 22:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-sided-wire-exchange-truck-four-wire-one-galvanized-shelf-1000-lb-cap-1>: HTTP status code is not handled or not allowed 2026-01-27 22:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-1-4-nptf-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainable-blade-fixed-louver-with-flange-12w-x-12h-dfl-f-12x12>: HTTP status code is not handled or not allowed 2026-01-27 22:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-28-amp-208-230v-825rpm-cwse>: HTTP status code is not handled or not allowed 2026-01-27 22:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainable-blade-fixed-louver-with-flange-60w-x-60h-dfl-f-60x60>: HTTP status code is not handled or not allowed 2026-01-27 22:34:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/concession_stand_equipment/cotton_candy_machines_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stickweld-250-250-amp-stick-welder>: HTTP status code is not handled or not allowed 2026-01-27 22:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-enclosed-blower-115v-1135rpm-14hp>: HTTP status code is not handled or not allowed 2026-01-27 22:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-5x-ln-tan-tcg01120235>: HTTP status code is not handled or not allowed 2026-01-27 22:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-ultrasoft-flame-resistant-coverall-3xl-x-32-navy-c88uj3xl32>: HTTP status code is not handled or not allowed 2026-01-27 22:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heatmaster-208-230v-825rpm-16hp-ball>: HTTP status code is not handled or not allowed 2026-01-27 22:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-unit-heater-115v-1075rpm-16hp-240-amps>: HTTP status code is not handled or not allowed 2026-01-27 22:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-48ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx30-dx73-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-27 22:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012188-sheet-clip-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-27 22:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrs-10l-18w-straight-gal-steel-roller-conveyor-19-roller-dia-15-bf-6-axle-center>: HTTP status code is not handled or not allowed 2026-01-27 22:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-power-cleaner-gallon-citrus-scent-2085>: HTTP status code is not handled or not allowed 2026-01-27 22:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/concession_stand_equipment/cotton_candy_machines_supplies>: HTTP status code is not handled or not allowed 2026-01-27 22:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-utility-shirt-xl-tan-df2-324ls-kh-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8404181-wire-belt-33-inch-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-27 22:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/attix-33-01-ic-8-gallon-wet-dry-vacuum-w-auto-filter-cleaning>: HTTP status code is not handled or not allowed 2026-01-27 22:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4c-horizontal-mailbox-n1029453-28-1-2h-single-column-6-doors-usps-approved>: HTTP status code is not handled or not allowed 2026-01-27 22:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carrier-replacement-1050rpm-115v-13hp>: HTTP status code is not handled or not allowed 2026-01-27 22:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haws-16gallon-portable-eyewash-station-includes-bottle-of-bacteriostatic-additive>: HTTP status code is not handled or not allowed 2026-01-27 22:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx12-dx85-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-27 22:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haws-combination-shower-softflo-eyewash-ss>: HTTP status code is not handled or not allowed 2026-01-27 22:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4c-horizontal-mailbox-n1029416-56-1-2h-single-column-9-doors-1-parcel-usps>: HTTP status code is not handled or not allowed 2026-01-27 22:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haws-axion-msr-combination-eyeface-wash-stationdrench-shower>: HTTP status code is not handled or not allowed 2026-01-27 22:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331503-lid-milk-dispenser-2-qt-for-carlisle-foodservice-products>: HTTP status code is not handled or not allowed 2026-01-27 22:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-kevlar-knit-sleeve-with-thumbhole-yellow-s00kn0318>: HTTP status code is not handled or not allowed 2026-01-27 22:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-control-2-0-neck-gaiter-osfm-navy-h01fk159>: HTTP status code is not handled or not allowed 2026-01-27 22:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genoa-60-pedestal-desk-with-return-lateral-file-quartered-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 22:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spr-cntred-closed-cntr-g1-8-12v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-27 22:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012768-kit-front-plate-shake-for-sani-serve>: HTTP status code is not handled or not allowed 2026-01-27 22:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-capacity-33-lbs-cylinders-heavy-duty-steel-gas-cylinder-cage-44w-x-30d-x-70h-white>: HTTP status code is not handled or not allowed 2026-01-27 22:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-96inw-x-36ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-12-outdoor-ball-fan-208-230460v-1140rpm-12hp>: HTTP status code is not handled or not allowed 2026-01-27 22:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-10canrack-chromefinish-cr10c>: HTTP status code is not handled or not allowed 2026-01-27 22:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-accessory-closed-side-base-15d-x-6h-729-parchment>: HTTP status code is not handled or not allowed 2026-01-27 22:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481098-coil-evaporator-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 22:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-48inw-x-48ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-web-sling-hd-double-ply-eye-and-eye-with-durable-edge-8-ft-l-2-in-w>: HTTP status code is not handled or not allowed 2026-01-27 22:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-replacement-lennox-208-230v-1075rpm-13hp>: HTTP status code is not handled or not allowed 2026-01-27 22:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-locker-double-tier-12x18x36-6-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strongknit-hi-vis-long-sleeve-fr-t-shirt-type-r-class-3-xl-t-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-tier-locker-with-legs-3-wide-12w-x-18d-x-24h-assembled-sand>: HTTP status code is not handled or not allowed 2026-01-27 22:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-open-cntr-spr-cntred-g1-4-220v-ac-5va-coil-black>: HTTP status code is not handled or not allowed 2026-01-27 22:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-thru-standard-welded-steel-wardrobe-cabinet-wardrobe-cabinet-36w-x-18d-x-72h-putty>: HTTP status code is not handled or not allowed 2026-01-27 22:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-pegboard-hook-kit-white>: HTTP status code is not handled or not allowed 2026-01-27 22:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-flame-resistant-coverall-m-t-navy-blue-df2-450c-ca-nb-mdt>: HTTP status code is not handled or not allowed 2026-01-27 22:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281022-dial-insert>: HTTP status code is not handled or not allowed 2026-01-27 22:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-closed-cntr-g1-4-110v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-27 22:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-2-security-machine-screw-button-torx-plus-head-18-8-stainless-steel-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-steel-table-2-shelves-48x30-1200-lb-capacity-unassembled-2>: HTTP status code is not handled or not allowed 2026-01-27 22:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-3-4-in-6-in-magnetic-in-c-in-channel>: HTTP status code is not handled or not allowed 2026-01-27 22:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-cabinet-drawer-combination-36w-x-18d-x-66h-1-drawer2-shelf-cabinet-black>: HTTP status code is not handled or not allowed 2026-01-27 22:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-1-4-nptf-24v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-long-sleeve-fr-t-shirt-m-t-desert-sand-df2-cm-446ls-ds-mdt>: HTTP status code is not handled or not allowed 2026-01-27 22:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-cabinet-shelf-for-24-deep-jumbo-48-cabinet-medium-grey>: HTTP status code is not handled or not allowed 2026-01-27 22:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelf-truck-36x18x60-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 25049 pages (at 98 pages/min), scraped 9386 items (at 23 items/min) 2026-01-27 22:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-slat-back-restaurant-chair-natural-wood-hercules-series>: HTTP status code is not handled or not allowed 2026-01-27 22:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-unassembled-deluxe-storage-cabinet-36w-x-18d-x-78-3-4-h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelf-truck-72x18x69-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-shell-chair-right-handed-tablet-arm-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-40mm-security-machine-screw-flat-torx-head-18-8-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012730-sticker-mylar-ctrl-brd-for-ayrking-corporation>: HTTP status code is not handled or not allowed 2026-01-27 22:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-ink-jet-insert-letter-pref-1-in-2-5-8-in-1800-per-package>: HTTP status code is not handled or not allowed 2026-01-27 22:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531448-3-bulb-ballast-electronic-t-8>: HTTP status code is not handled or not allowed 2026-01-27 22:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-shelf-truck-36x24x80-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-27 22:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-36ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-double-solenoid-valve-ext-pilot-g-1-4-24v-dc-2w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-steel-shelving-18-ga-36-wx18-dx97-h-closed-clip-5-shelves-starter>: HTTP status code is not handled or not allowed 2026-01-27 22:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-double-solenoid-valve-ext-pilot-g-1-8-220v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-garden-tool-board-organizer-red-black-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-27 22:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-double-solenoid-valve-ext-pilot-1-8-nptf-110v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-48inw-x-12ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-36ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561074-pin-pivot-pk-10-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-27 22:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561091-cover-bottom-freezer-lexan-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-27 22:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-3-8-security-machine-screw-flat-torx-head-alloy-steel-black-oxide-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-strip-curtain-bulk-roll-scratch-resistant-ribbed-clear-8-x-150-x-072>: HTTP status code is not handled or not allowed 2026-01-27 22:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-2-security-machine-screw-button-hex-socket-head-alloy-steel-black-oxide-ft-100-pk-21210>: HTTP status code is not handled or not allowed 2026-01-27 22:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nvt2201-portable-balance-2-200g-x-0-1g-6-15-16-x-9-1-8-platform>: HTTP status code is not handled or not allowed 2026-01-27 22:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g1-4-dbl-solenoid-valve-pilot-spring-cntred-110v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-27 22:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-5-8-security-machine-screw-button-hex-socket-head-alloy-steel-black-oxide-100-pk-21250>: HTTP status code is not handled or not allowed 2026-01-27 22:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-adjust-boltless-shelf-truck-with-wood-shelves-14>: HTTP status code is not handled or not allowed 2026-01-27 22:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4588-soho-1-light-mini-pendant-satin-white-glass-polished-chrome-7w-x-44h>: HTTP status code is not handled or not allowed 2026-01-27 22:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-3-4-security-machine-screw-button-torx-plus-head-alloy-steel-black-oxide-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-spoon-11-long-twisted-shanks-red-knob-stainless>: HTTP status code is not handled or not allowed 2026-01-27 22:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lacer-face-strip-fsman4-5-36>: HTTP status code is not handled or not allowed 2026-01-27 22:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-dplpm75sg-exit-sign-green-aluminum-face-back-w-photoluminescent-letters-single-face>: HTTP status code is not handled or not allowed 2026-01-27 22:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-swivel-plate-caster-5-polyurethane-wheel-with-brake-1>: HTTP status code is not handled or not allowed 2026-01-27 22:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-187-ballerina-5-light-chandelier-alabaster-bell-textured-white-24w-x-18h>: HTTP status code is not handled or not allowed 2026-01-27 22:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-rigid-plate-caster-2-1-2-polyolefin-wheel-175-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-1-division-2-combo-12v-40w-nimh-20w-ho-mr16>: HTTP status code is not handled or not allowed 2026-01-27 22:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-994-cornerstone-1-light-clear-seed-white-7w-x-14-25h>: HTTP status code is not handled or not allowed 2026-01-27 22:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-60x24x60-with-3-shelves-no-deck-1200-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-27 22:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bare-ground-liquid-deicer-5-gallon>: HTTP status code is not handled or not allowed 2026-01-27 22:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-60x36x60-with-3-shelves-no-deck-1200-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-27 22:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010562-oven-rack-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-27 22:35:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-steel-emergency-light-6v-54w-lead-calcium>: HTTP status code is not handled or not allowed 2026-01-27 22:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-96w-x-48d-x-144h-4900-lbs-cap-per-level-starter-unit>: HTTP status code is not handled or not allowed 2026-01-27 22:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-e-aluminum-spec-cam-and-groove-adapter-x-hose-shank>: HTTP status code is not handled or not allowed 2026-01-27 22:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64-inch-width-x-19-1-2-inch-height-utv-snow-plow-with-hitch>: HTTP status code is not handled or not allowed 2026-01-27 22:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-611-polaris-1-light-vanity-wall-opal-white-brushed-nickel-4-5w-x-8-75h>: HTTP status code is not handled or not allowed 2026-01-27 22:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2721189-sprocket-outer-13-tooth-for-nieco-corp>: HTTP status code is not handled or not allowed 2026-01-27 22:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-single-union-ball-valve>: HTTP status code is not handled or not allowed 2026-01-27 22:35:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/emergency_lighting_signage/emergency_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-290-ballerina-7-light-vanity-wall-alabaster-polished-chrome-48w-x-7-625h>: HTTP status code is not handled or not allowed 2026-01-27 22:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-distribution-unit-19-inch-1u-12x-c13-2x-c19-100-240v-16a>: HTTP status code is not handled or not allowed 2026-01-27 22:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbc94-2u-replacement-battery-cartridge-for-select-tripp-lite-and-other-major-ups-brand>: HTTP status code is not handled or not allowed 2026-01-27 22:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-7-bourbon-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-a-aluminum-spec-cam-and-groove-adapter-x-female-npt>: HTTP status code is not handled or not allowed 2026-01-27 22:35:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-27 22:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-5-8-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-edge-work-bench-top-plastic-60-w-x-30-d-x-1-5-8-thick>: HTTP status code is not handled or not allowed 2026-01-27 22:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-mesh-vest-c2-lime-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-27 22:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scrub-sponge-regular-duty-5-sponges>: HTTP status code is not handled or not allowed 2026-01-27 22:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/emergency_lighting_signage/emergency_lighting>: HTTP status code is not handled or not allowed 2026-01-27 22:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-cylinder-cart-pneumatic-wheels-33-1-4-x-23-1-16-x-66-1-2>: HTTP status code is not handled or not allowed 2026-01-27 22:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-2-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk-75030>: HTTP status code is not handled or not allowed 2026-01-27 22:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-1-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk-75410>: HTTP status code is not handled or not allowed 2026-01-27 22:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-aluminum-male-and-female-short-shank-pair>: HTTP status code is not handled or not allowed 2026-01-27 22:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-2-station-with-electronic-faucets-rountube-brackets-42-l-x20-wxd>: HTTP status code is not handled or not allowed 2026-01-27 22:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-edge-work-bench-top-shop-top-60-w-x-30-d-x-2-1-4-thick>: HTTP status code is not handled or not allowed 2026-01-27 22:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4964-boxwood-1-light-outdoor-wall-clear-beveled-white-9-875w-x-19h>: HTTP status code is not handled or not allowed 2026-01-27 22:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sgna040gv-self-closing-safety-gate-38-5-inch-to-42-inch-length-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 22:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badger-neoprene-boots-steel-toe-upper-rubber-sole-steel-shank-15-h-blk-size-6>: HTTP status code is not handled or not allowed 2026-01-27 22:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ljt24-35mlg-fsa12-edu-led-troffer-recessed-2x4-45w-4800l-3500k-0-10v-dim-dlc>: HTTP status code is not handled or not allowed 2026-01-27 22:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-8-vegan-blackout>: HTTP status code is not handled or not allowed 2026-01-27 22:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009894-tensioner-plate-assemblyvct2010-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-27 22:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x12x84-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-3-hooded-pull-over-sweatshirt-61540-lime>: HTTP status code is not handled or not allowed 2026-01-27 22:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-222-2-light-ceiling-flush-mount-alabaster-textured-white-13-125w-x-5-375h>: HTTP status code is not handled or not allowed 2026-01-27 22:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 25147 pages (at 98 pages/min), scraped 9410 items (at 24 items/min) 2026-01-27 22:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-decorative-bollard-cover-fit-pipe-6-in-6-5-8-in-black>: HTTP status code is not handled or not allowed 2026-01-27 22:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-box-spreader-bar-black>: HTTP status code is not handled or not allowed 2026-01-27 22:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-contractor-single-striplight-48-long-adjustable-lumens>: HTTP status code is not handled or not allowed 2026-01-27 22:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-cleaning-ribbed-mat-3x5-green-1>: HTTP status code is not handled or not allowed 2026-01-27 22:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-20-ga-open-steel-shelving-unit-48inw-x-12ind-x-97inh-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-cleaning-ribbed-mat-3x10-charcoal-1>: HTTP status code is not handled or not allowed 2026-01-27 22:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-jewelers-saw-1-1-4-inch-dia-x-010-inch-face-x-3-8-inch-hole-x-120-teeth>: HTTP status code is not handled or not allowed 2026-01-27 22:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/letter-depth-hanging-folder-drawer-non-locking-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1381100-thermometer-kit-352-probes-for-cooper-atkins>: HTTP status code is not handled or not allowed 2026-01-27 22:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-nitrile-palm-coated-nylon-gloves-posigrip-713snfl>: HTTP status code is not handled or not allowed 2026-01-27 22:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-constant-pull-12>: HTTP status code is not handled or not allowed 2026-01-27 22:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-12-x-20-6-oz-tarp-white>: HTTP status code is not handled or not allowed 2026-01-27 22:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gauge-36-w-x-36-d-x-86-h-5-shelf-corrugate-rack-100-lb-shelf-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adder-unit-legal-31-inch-38-3-4-inch-92-1-2-inch-8-opening-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dewalt-80-gallon-5-hp-two-stage-stationary-air-compressor>: HTTP status code is not handled or not allowed 2026-01-27 22:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-bollard-with-galvanized-steel-cap-wg-24>: HTTP status code is not handled or not allowed 2026-01-27 22:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-11-step-steel-rolling-ladder-14-d-top-step>: HTTP status code is not handled or not allowed 2026-01-27 22:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adder-unit-legal-31-inch-38-3-4-inch-29-1-2-inch-2-opening-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011614-switch-kit>: HTTP status code is not handled or not allowed 2026-01-27 22:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-3-8-poly-barb-hose-splicer-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661120-splash-shield-taylor-358-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-27 22:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr221-portable-electronic-balance-220-g-x-0-1-g>: HTTP status code is not handled or not allowed 2026-01-27 22:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-brass-coupler-1-4-x-1-4-male-npt-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-36inw-x-18ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-331-ballerina-5-light-vanity-wall-alabaster-polished-brass-36w-x-7-625h>: HTTP status code is not handled or not allowed 2026-01-27 22:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-48inw-x-12ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gray-extreme-stripping-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-27 22:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-copper-press-x-press-w-no-stop-coupling>: HTTP status code is not handled or not allowed 2026-01-27 22:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266198-plate-kick-brass-8x34-inch>: HTTP status code is not handled or not allowed 2026-01-27 22:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-mid-back-fabric-stool-with-aluminum-base-foot-ring-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-7-step-steel-rolling-ladder-21-d-top-step-lock-type-b>: HTTP status code is not handled or not allowed 2026-01-27 22:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-vibration-isolation-hanger-3-long-4-wide-black>: HTTP status code is not handled or not allowed 2026-01-27 22:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rl-4-neoprene-leveling-mount-leveling-stud-red>: HTTP status code is not handled or not allowed 2026-01-27 22:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-48inw-x-24ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-ratio-dusk-to-dawn-led-floodlight-4800l-34w-40k-wide-dist-knuckle-mt-120-277v>: HTTP status code is not handled or not allowed 2026-01-27 22:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009580-evaporator-coil-assembly-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 22:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-single-rivet-laminate-deck-36inw-x-12ind-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jungle-jake-cleaner-degreaser-2-oz-packs-2381503>: HTTP status code is not handled or not allowed 2026-01-27 22:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-48inw-x-24ind-x-48inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-awg-3-cond-45-ft-20-amp-flying-leads>: HTTP status code is not handled or not allowed 2026-01-27 22:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-pedestal-3-8-50-ft-300-psi-air-water-with-hose>: HTTP status code is not handled or not allowed 2026-01-27 22:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-48inw-x-12ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-5-step-36-wx-36-l-platform-w-handrails>: HTTP status code is not handled or not allowed 2026-01-27 22:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-plain-trolley-12-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 22:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-75-250-psi-191-lbs-hose-assemblies>: HTTP status code is not handled or not allowed 2026-01-27 22:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421856-rotary-switch-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-27 22:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009793-door-magnet-bracketofe-ofg-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-27 22:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inside-stational-deck-dome-oven-square-exterior-51-gas-92500-btu-120v-digital-control>: HTTP status code is not handled or not allowed 2026-01-27 22:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18v-lxt-lithium-ion-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-emergency-exit-combo-with-self-diagnostics-white-with-red-letters-120-277v>: HTTP status code is not handled or not allowed 2026-01-27 22:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-add-on-48inw-x-12ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-bin-cup-for-quantum-tip-out-storage-bin-qtb309-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-48inw-x-18ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681437-computer-fpph50-fv-eurolook-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-27 22:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-with-removable-bins-33>: HTTP status code is not handled or not allowed 2026-01-27 22:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-rectangular-outdoor-table-expanded-metal-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-forklift-jib-lift-crane-jlt411-4000-lb-capacity-11-on-center-fork-pockets>: HTTP status code is not handled or not allowed 2026-01-27 22:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-boom-forklift-jib-lift-crane-pb-jlt436-4000-lb-capacity-36-on-center-fork-pockets>: HTTP status code is not handled or not allowed 2026-01-27 22:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-rack-7709-for-car-dolly-7708holds-up-to-4-dollies>: HTTP status code is not handled or not allowed 2026-01-27 22:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342304-element-cal-rod-72-inch-200w120v>: HTTP status code is not handled or not allowed 2026-01-27 22:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-fibc-bulk-bags-duffel-top-spout-bottom-4000-lbs-coated-pp-35-x-35-x-50-pkg-qty-5>: HTTP status code is not handled or not allowed 2026-01-27 22:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49752-green-grinding-wheel-4-1-2-inch-x-1-4-inch-x-7-8-inch-t27-36-grit-zirconia>: HTTP status code is not handled or not allowed 2026-01-27 22:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-4-shelf-boltless-shelving-add-on-36inw-x-12ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caged-walk-through-fixed-access-ladder-yellow-3>: HTTP status code is not handled or not allowed 2026-01-27 22:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 25244 pages (at 97 pages/min), scraped 9444 items (at 34 items/min) 2026-01-27 22:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datum-tekstak-laptop-storage-charging-locker-10-tier-key-lock-8>: HTTP status code is not handled or not allowed 2026-01-27 22:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-7l-x-6w-x-2h-white-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 22:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-14-gallon-high-efficiency-770-25-for-drywall-dust-vacuum-bag>: HTTP status code is not handled or not allowed 2026-01-27 22:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-74-inch-high-post-chrome-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62-1006-rinse-thermometer-100-220-f-panel-mount>: HTTP status code is not handled or not allowed 2026-01-27 22:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661136-cross-member-for-rearbearing-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-27 22:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispense-rite-countertop-wrapped-unwrapped-straw-holder>: HTTP status code is not handled or not allowed 2026-01-27 22:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-literature-mailers-12l-x-9w-x-3h-white-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-27 22:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sgna500pc-universal-self-closing-safety-gate-15-inch-to-44-inch-length-safety-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-row-gtg-bleacher-w-mid-aisle-guardrail-21ft-l-dbl-footboard>: HTTP status code is not handled or not allowed 2026-01-27 22:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8981-filament-tape-1-1-2-x-60-yds-66-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x5-ovation-premium-nylon-black>: HTTP status code is not handled or not allowed 2026-01-27 22:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266240-latch-w-fl-1-8-inch-3-8-inch-strikes>: HTTP status code is not handled or not allowed 2026-01-27 22:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8915-clean-removal-filament-tape-3-4-x-60-yds-6-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8934-filament-tape-3-x-60-yds-4-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-baby-changing-table-stainless-steel-23-1-2-w-250lb-cap-100ssv-r>: HTTP status code is not handled or not allowed 2026-01-27 22:37:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-plate-caster-10-full-pneumatic-wheel-330-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-cardboard-corrugated-boxes-5l-x-5w-x-48h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-27 22:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-socket-1-2-drive-13-16-100-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-27 22:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-jack-w-double-pumper-3-1-2-ton-heavy-duty>: HTTP status code is not handled or not allowed 2026-01-27 22:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-bl04004193-rs-pro-series-41w-x-24d-x-39h-9-drawer-blue-roller-cabinet-with-lift-latch>: HTTP status code is not handled or not allowed 2026-01-27 22:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-bk02065800-rs-pro-series-54-w-x-23-1-2-d-x-21-3-8-h-8-drawer-black-tool-chest>: HTTP status code is not handled or not allowed 2026-01-27 22:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-mobile-production-workbench-with-power-apron-stainless-steel-square-edge-edge-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-replacement-battery-rbc24>: HTTP status code is not handled or not allowed 2026-01-27 22:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-esd-safety-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-27 22:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-extension-1-drive-300-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-27 22:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-replacement-battery-rbc32>: HTTP status code is not handled or not allowed 2026-01-27 22:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cpu-power-supply-holder-beige>: HTTP status code is not handled or not allowed 2026-01-27 22:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 22:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfs7w-835-7w-compact-fluorescent-w-g23-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-27 22:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-locker-number-plate-kit-pkg-of-200-numbered-2900-3099>: HTTP status code is not handled or not allowed 2026-01-27 22:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1188-water-line-inch-y-inch-strainer-3-4-inch-fpt>: HTTP status code is not handled or not allowed 2026-01-27 22:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241401-switch-defrost-term-cooler-for-russell>: HTTP status code is not handled or not allowed 2026-01-27 22:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cft26w-4p-830-26w-compact-fluorescent-w-gx24vq-3-base-warm>: HTTP status code is not handled or not allowed 2026-01-27 22:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-jack-12-ton-super-duty-low-profile>: HTTP status code is not handled or not allowed 2026-01-27 22:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421139-switch>: HTTP status code is not handled or not allowed 2026-01-27 22:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-4-1-8-d-x-23-5-8-d-x-4-h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-jack-2-ton-super-duty>: HTTP status code is not handled or not allowed 2026-01-27 22:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-caressoft-vinyl-medical-stool-with-back-cushion-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014210-switch-push-button-flush-red>: HTTP status code is not handled or not allowed 2026-01-27 22:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-glasses-matte-black-frame-espresso-lens-scratch-resistanthard-coat>: HTTP status code is not handled or not allowed 2026-01-27 22:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-deluxe-thermoplastic-coated-32-gallon-mesh-receptacle-w-flat-lid-base-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-cubicle-shower-covered-abs-eye-face-wash-sd32k45g>: HTTP status code is not handled or not allowed 2026-01-27 22:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-follower-full-comp-inch-cry30vuur-crowned-od-double-sealed-1-78-od>: HTTP status code is not handled or not allowed 2026-01-27 22:37:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-ton-ironworker-3-phase-380v-50-hz-w-hydraulic-accessory-pack-iw75-3p380-ac600>: HTTP status code is not handled or not allowed 2026-01-27 22:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hulk-power-7-5hp-silent-air-2-stage-compressor-8-gal-vertical-125-psi-5-77-cfm-208-230v>: HTTP status code is not handled or not allowed 2026-01-27 22:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-pressure-grease-pump-3-500-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65-ton-ironworker-3-phase-575v-w-hydraulic-accessory-pack-iw65-3p575-ac600>: HTTP status code is not handled or not allowed 2026-01-27 22:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfs5w-835-5w-compact-fluorescent-w-g23-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-27 22:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661072-valve-draw-off-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-27 22:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-8>: HTTP status code is not handled or not allowed 2026-01-27 22:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd16168-concept-wall-mount-encl-1600x1600x800-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 22:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 22:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-chaise-lounge-natural-sling-tekwood-vintage-armcaps-4-pk>: HTTP status code is not handled or not allowed 2026-01-27 22:37:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/outdoor_chaise_lounges_daybeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:37:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-muscle-low-foam-fryer-boil-out-pkt-362-oz>: HTTP status code is not handled or not allowed 2026-01-27 22:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jackson-safety-a-5500x-slotted-cap-style-hard-hat-adapter-blue-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-27 22:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-short-divider-13>: HTTP status code is not handled or not allowed 2026-01-27 22:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-short-divider-18>: HTTP status code is not handled or not allowed 2026-01-27 22:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ind-qlty-steel-wool-reel-2-med-coarse-65-lb>: HTTP status code is not handled or not allowed 2026-01-27 22:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-2-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 22:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-long-divider-24>: HTTP status code is not handled or not allowed 2026-01-27 22:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009344-pilot-kit-nat-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-27 22:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-long-divider-26>: HTTP status code is not handled or not allowed 2026-01-27 22:37:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/circular_saws/circular_saw_blades already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines>: HTTP status code is not handled or not allowed 2026-01-27 22:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1ns-long-sleeve-pullover-hoodie-with-uv-protection-4xl-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-27 22:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loom-clamps-carbon-steel-6>: HTTP status code is not handled or not allowed 2026-01-27 22:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-cantilever-rack-double-sided-add-on-medium-duty-48-w-x-60-d-x-8-h-w-lip>: HTTP status code is not handled or not allowed 2026-01-27 22:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-strip-door-curtain-8-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-27 22:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 25339 pages (at 95 pages/min), scraped 9471 items (at 27 items/min) 2026-01-27 22:37:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/outdoor_chaise_lounges_daybeds landed on page that is not a product page. 2026-01-27 22:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012304-filter-cartridge-cg5-20s>: HTTP status code is not handled or not allowed 2026-01-27 22:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/micro-jet-automatic-ignition-torch-refillable-fuel-cell-included>: HTTP status code is not handled or not allowed 2026-01-27 22:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-60-computer-workstation-double-sided>: HTTP status code is not handled or not allowed 2026-01-27 22:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tripower-classical-section-molded-notch-vbelt-gates-bx40>: HTTP status code is not handled or not allowed 2026-01-27 22:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/circular_saws/circular_saw_blades>: HTTP status code is not handled or not allowed 2026-01-27 22:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-1-8-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 22:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scratch-resistant-strip-door-curtain-9-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-27 22:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fast-pack-spill-kit-universal-5-gallon-capacity-yellow-1300-ye>: HTTP status code is not handled or not allowed 2026-01-27 22:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511607-pilot-burner-nat>: HTTP status code is not handled or not allowed 2026-01-27 22:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-sheet-1-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 22:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-drum-topperfor-open-or-closed-head-black>: HTTP status code is not handled or not allowed 2026-01-27 22:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grill-protective-cover-for-indu-bistrogrill-island-57l-x-28w-x-36h>: HTTP status code is not handled or not allowed 2026-01-27 22:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wd-40-multi-use-lubricant-16-oz-aerosol-can-490088>: HTTP status code is not handled or not allowed 2026-01-27 22:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ensorbsuper-absorbent-spill-kit-universal-water-resistant-bag-enp-d710>: HTTP status code is not handled or not allowed 2026-01-27 22:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-71-executive-desk-kit-dark-chocolate>: HTTP status code is not handled or not allowed 2026-01-27 22:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30r20-30w-incandescent-w-medium-base-120v>: HTTP status code is not handled or not allowed 2026-01-27 22:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-heavy-duty-electric-vibrator-2pcd-650-575v>: HTTP status code is not handled or not allowed 2026-01-27 22:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-71-u-shaped-desk-dark-chocolate>: HTTP status code is not handled or not allowed 2026-01-27 22:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/923-series-airtight-watertight-case-923-0007-18-5-8-l-x-14-3-8-w-x-6-5-16-h-graphite>: HTTP status code is not handled or not allowed 2026-01-27 22:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-vs-electric-chain-hoist-2-ton-10-foot-lift-1-3-8-fpm-115-1-60-3-step-iv-control>: HTTP status code is not handled or not allowed 2026-01-27 22:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-ball-vibrator-v-10>: HTTP status code is not handled or not allowed 2026-01-27 22:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-ball-vibrator-v-19>: HTTP status code is not handled or not allowed 2026-01-27 22:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381369-cord-set>: HTTP status code is not handled or not allowed 2026-01-27 22:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh401-non-vented-safety-helmet-4-point-adjustable-ratchet-suspension-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pld-u-bend-fluorescent-bulb-g24q2-base-18w-1080-lumens-2700k-warm-white-pk-of-10>: HTTP status code is not handled or not allowed 2026-01-27 22:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-f21t5-841-34in85cri>: HTTP status code is not handled or not allowed 2026-01-27 22:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lighthawk-pir-ultrasonic-1-button-wall-switch-occupancy-sensor-single-relay-white>: HTTP status code is not handled or not allowed 2026-01-27 22:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gojo-fast-wipes-hand-cleaning-towels-bucket-130bucket>: HTTP status code is not handled or not allowed 2026-01-27 22:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-egm-jcv120v-1000wbp28>: HTTP status code is not handled or not allowed 2026-01-27 22:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-2-sided-driver-cage-4w-x-10d-x-8h>: HTTP status code is not handled or not allowed 2026-01-27 22:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-panels-5w-x-10h>: HTTP status code is not handled or not allowed 2026-01-27 22:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-8-thick-x-1-1-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 22:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh400-vented-safety-helmet-4-point-adjustable-ratchet-suspension-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-metal-174-dark-green-propionate-faceshield-window-8-x-16-1-2-x-06-t>: HTTP status code is not handled or not allowed 2026-01-27 22:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-sm-8g101-sci-medlamp>: HTTP status code is not handled or not allowed 2026-01-27 22:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidwire-welded-wire-4-sided-cage-w-3-hinged-door-ceiling-8-4-x-8-4-x-8-5-1-4h>: HTTP status code is not handled or not allowed 2026-01-27 22:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010183-coil-208-240-vac-60hz>: HTTP status code is not handled or not allowed 2026-01-27 22:38:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-4-thick-x-1-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 22:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-1103-burner-gas-valve-1-8-inch-gas-in-3-8-inch-27-gas-out>: HTTP status code is not handled or not allowed 2026-01-27 22:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a19-light-bulb-e26-base-11w-1100-lumens-4000k-cool-white-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-27 22:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-767w-v-style-high-flow-coupler-3-8-mnpt>: HTTP status code is not handled or not allowed 2026-01-27 22:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-turn-and-taillight-socket-intermotor-s2612>: HTTP status code is not handled or not allowed 2026-01-27 22:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-gm2c-15-b>: HTTP status code is not handled or not allowed 2026-01-27 22:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-100-b>: HTTP status code is not handled or not allowed 2026-01-27 22:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-plastic-sheet-1-2-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 22:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-27 22:38:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-4-petroleum-sorbent-mini-boom-3-x-4-12-boomscase>: HTTP status code is not handled or not allowed 2026-01-27 22:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x30-maple-square-edge-mobile-power-apron-production-bench-tan-32313642>: HTTP status code is not handled or not allowed 2026-01-27 22:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-300-b>: HTTP status code is not handled or not allowed 2026-01-27 22:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1661178-cut-off-low-water>: HTTP status code is not handled or not allowed 2026-01-27 22:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/composite-reel-spring-rewind-with-3-8-hose-2>: HTTP status code is not handled or not allowed 2026-01-27 22:38:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-w-push-broom-head-with-green-polypropylene-bristles-and-steel-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-gm1c-35-b>: HTTP status code is not handled or not allowed 2026-01-27 22:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-131-ss>: HTTP status code is not handled or not allowed 2026-01-27 22:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-mounted-mop-sink-20l-x-16w-x-12d-bowl>: HTTP status code is not handled or not allowed 2026-01-27 22:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-shop-top-square-edge-mobile-power-apron-production-bench-blue-32313750>: HTTP status code is not handled or not allowed 2026-01-27 22:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-27 22:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x36-esd-square-edge-mobile-power-apron-production-bench-blue-32313763>: HTTP status code is not handled or not allowed 2026-01-27 22:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par30-short-neck-colored-recessed-light-bulb-e26-base-8w-blue-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-27 22:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sofia-modern-pendant-light-fixture-e26-base-40w-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-27 22:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vapor-tight-industrial-jar-fixture-surface-mount-100w-120v-metallic-finish>: HTTP status code is not handled or not allowed 2026-01-27 22:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-27 22:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 25433 pages (at 94 pages/min), scraped 9502 items (at 31 items/min) 2026-01-27 22:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010441-solenoid-valve-assembly-120v-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-27 22:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-ageia5007-mens-6-work-boot-black-size-12-m>: HTTP status code is not handled or not allowed 2026-01-27 22:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-262-ss>: HTTP status code is not handled or not allowed 2026-01-27 22:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-ageia0163-mens-6-internal-met-guard-work-boot-brown-size-10-w>: HTTP status code is not handled or not allowed 2026-01-27 22:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-27-hss-long-taper-tmx-pipe-tap-npt-ground-rh-4-flutes-4-inch-oal>: HTTP status code is not handled or not allowed 2026-01-27 22:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-225-ss>: HTTP status code is not handled or not allowed 2026-01-27 22:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-swivel-plate-caster-5-mold-on-rubber-wheel>: HTTP status code is not handled or not allowed 2026-01-27 22:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reebokrb1910-mens-classic-skateboard-shoe-black-size-11-w>: HTTP status code is not handled or not allowed 2026-01-27 22:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-outdoor-post-top-light-fixture-75w-9750-lumens-15-dia-bronze>: HTTP status code is not handled or not allowed 2026-01-27 22:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/std050334-10-hp-oil-less-scroll-comp-80-gal-horiz-116-psi-3-phase-230v-refrigerated-dryer>: HTTP status code is not handled or not allowed 2026-01-27 22:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seo40072hp-40-hp-oil-less-scroll-compressor-tankless-145-psi-3-phase-208v>: HTTP status code is not handled or not allowed 2026-01-27 22:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-tall-cabinet-set-35-5-x-21-x-80-white>: HTTP status code is not handled or not allowed 2026-01-27 22:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-containment-sump-lockable-containment-unit>: HTTP status code is not handled or not allowed 2026-01-27 22:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-recessed-downlight-fixture-10w-700-lumens-5-58dia-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-5-port-2-pos-man-valve-1-8-nptf-port-green-mushroom-head-actr-air-spring-ret>: HTTP status code is not handled or not allowed 2026-01-27 22:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-0-1-oil-hardening-flat-stock-1-2x1-16x18>: HTTP status code is not handled or not allowed 2026-01-27 22:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearkat-bkh25-safety-glasses-bk1-magnifier-25-strength-clear-lens>: HTTP status code is not handled or not allowed 2026-01-27 22:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-containment-sump-dispensing-shelf>: HTTP status code is not handled or not allowed 2026-01-27 22:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sts050234hp-5hp-oil-less-scroll-comp-60-gal-horiz-145-psi-3-ph-208-230v-refrigerated-dryer>: HTTP status code is not handled or not allowed 2026-01-27 22:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sts030132hp-3-hp-oil-less-scroll-compressor-30-gal-horizontal-145-psi-3-phase-208-230v>: HTTP status code is not handled or not allowed 2026-01-27 22:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-108w-olefin-lemon-fabric>: HTTP status code is not handled or not allowed 2026-01-27 22:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-hand-ctrl-remote-logic-unit-w-low-stress-foot-mount-valve->: HTTP status code is not handled or not allowed 2026-01-27 22:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ses030842-3-hp-oil-less-scroll-compressor-13-gallon-horizontal-116-psi-3-phase-460v>: HTTP status code is not handled or not allowed 2026-01-27 22:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-deck-36-wx12-d>: HTTP status code is not handled or not allowed 2026-01-27 22:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-three-head-gimbal-regressed-downlight-fixture-36w-2270-lumens-white>: HTTP status code is not handled or not allowed 2026-01-27 22:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-vertical-file-letter-size-2-drawer-desert-putty-15w-x-25d-x-29h>: HTTP status code is not handled or not allowed 2026-01-27 22:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011349-main-pcb-for-turbo-air-refrigeration>: HTTP status code is not handled or not allowed 2026-01-27 22:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-steel-stock-picking-ladder-abrasive-tread-w-cal-osha-handrail-cal-spl-8-14r>: HTTP status code is not handled or not allowed 2026-01-27 22:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-channel-cable-guard-end-caps>: HTTP status code is not handled or not allowed 2026-01-27 22:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1586-thermostat-type-bjwa-temperature-150-400-f-48-inch-capillary>: HTTP status code is not handled or not allowed 2026-01-27 22:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riot-control-body-police-shield-non-ballistic-polycarbonate-clear-24-bs-7p>: HTTP status code is not handled or not allowed 2026-01-27 22:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cone-shade-vanity-light-fixture-60w-5l-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-27 22:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-grc-075>: HTTP status code is not handled or not allowed 2026-01-27 22:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/newport-patio-umbrella-w-silver-pole-108w-sunbrella-1a-antique-beige-fabric>: HTTP status code is not handled or not allowed 2026-01-27 22:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-24-wx72-d-stainless-steel-rolling-safety-ladder-serrated-grating-w-cal-osha-handrail-cal-ss073228g>: HTTP status code is not handled or not allowed 2026-01-27 22:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bl-364-pt-grn-counter-high-storage-cabinet-all-welded-36-wx18-dx42-h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-27 22:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hulk-silent-air-2-stage-compressor-5-hp-80-gal-vertical-175-psi-18-cfm-208-230v>: HTTP status code is not handled or not allowed 2026-01-27 22:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/926-atg-adhesive-transfer-tape-1-2-x-18-yds-5-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9498-adhesive-transfer-tape-1-x-120-yds-2-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toothbrush-style-brass-detail-scratch-brush>: HTTP status code is not handled or not allowed 2026-01-27 22:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-safety-rolling-ladder-w-weight-actuated-lock-16-w-serrated-step-orange-w-cal-osha-handrail-cal-wa062414g-o>: HTTP status code is not handled or not allowed 2026-01-27 22:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nesting-cutlery-box-14-3-16-l-x-4-7-16-w-x-4-1-8-h-cutlery-box-polypropylene-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-truck-60-l-x-30-w-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-truck-36-l-x-24-w-2400-lb-capacity-with-ergo-handle-1>: HTTP status code is not handled or not allowed 2026-01-27 22:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-safety-view-locker-double-tier-12x18x36-2-doors-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-27 22:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-12-h-x-12-d-v-bank-merv-13-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 22:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bussing-tub-22-l-x-17-w-x-7-h-ribbed-bottom-bus-box-polypropylene-black>: HTTP status code is not handled or not allowed 2026-01-27 22:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-367213-c-bookcase-all-welded-36-wx13-dx72-h-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 22:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfmt-umbrella-base-with-steel-cover-19-34w-white>: HTTP status code is not handled or not allowed 2026-01-27 22:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-28in-gray-inlet-section>: HTTP status code is not handled or not allowed 2026-01-27 22:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-signs-danger-flammable-vinyl-7-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-27 22:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-16-w-stainless-steel-fold-and-store-rolling-ladder-perforated-tread-w-cal-osha-handrail-cal-ssfawl-6p>: HTTP status code is not handled or not allowed 2026-01-27 22:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-367224ds-h-grn-wardrobe-cabinet-all-welded-36-wx24-dx72-h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-27 22:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mooreco-iteach-spider-flat-panel-cart-electric-height-adjustable>: HTTP status code is not handled or not allowed 2026-01-27 22:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valor-4000-v41pwe3t-water-resistant-scale-6-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-w-x-12-h-x-1-d-pleated-merv-8-standard-capacity-air-filter-wire-back-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 22:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rbmag3-r-storage-cabinet-all-welded-36-wx24-dx78-h-red>: HTTP status code is not handled or not allowed 2026-01-27 22:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-aluminum-platform-step-ladder>: HTTP status code is not handled or not allowed 2026-01-27 22:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/padded-seat-transfer-bench>: HTTP status code is not handled or not allowed 2026-01-27 22:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-stock-picking-ladder-perf-step>: HTTP status code is not handled or not allowed 2026-01-27 22:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-grip-tub-rail-16-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-27 22:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-w-x-18-h-x-1-d-pleated-merv-8-standard-capacity-air-filter-wire-back-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 22:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-20-h-x-1-d-pleated-merv-10-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 22:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanofiber-filter-for-attx-19-xc>: HTTP status code is not handled or not allowed 2026-01-27 22:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rbmag1-bl-storage-cabinet-all-welded-36-wx24-dx72-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 25530 pages (at 97 pages/min), scraped 9534 items (at 32 items/min) 2026-01-27 22:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000005-tongue-buckle-belt-restraint-310-lbs-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronze-hose-braid-w-copper-sweat-ends-1x8>: HTTP status code is not handled or not allowed 2026-01-27 22:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-48722rb-n-mobile-cabinet-all-welded-48-wx24-dx72-h-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-w-x-16-h-x-1-d-carbon-pleated-merv-6-standard-performance-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 22:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1001210-rescue-wristlets-12l-x-1w-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-27 22:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-15x18x72-1-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-guard-gel-foam-overlay>: HTTP status code is not handled or not allowed 2026-01-27 22:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prominence-heavy-duty-floor-cleaner-citrus-scent-5-l-bottle>: HTTP status code is not handled or not allowed 2026-01-27 22:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-16-w-steel-safety-angle-orange-rolling-ladder-w-handrails-perforated-tread-w-cal-osha-handrail-cal-sw524p-o>: HTTP status code is not handled or not allowed 2026-01-27 22:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-mhz-whip-antenna-for-use-with-dtr600-and-dtr700-portable-radios>: HTTP status code is not handled or not allowed 2026-01-27 22:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-spring-action-belt-clip-for-xpr-series-radios>: HTTP status code is not handled or not allowed 2026-01-27 22:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-24-h-x-12-d-rigid-cell-merv-11-air-filter-box-fiberglass-global-industrial>: HTTP status code is not handled or not allowed 2026-01-27 22:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-wheel-chock-with-rubber-pad-polyethylene-18l-x-15w-x-9-12h>: HTTP status code is not handled or not allowed 2026-01-27 22:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1340125-pro-shock-absorbing-web-lanyard-6l-130-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-27 22:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-outward-swing-partition-door-w-hardware-24w-azure>: HTTP status code is not handled or not allowed 2026-01-27 22:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxygen-cylinder-rack-use-with-28-cylinder-e-d-c-or-m9-rack>: HTTP status code is not handled or not allowed 2026-01-27 22:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-removable-top-i-v-pole-silver-vein-4-hook>: HTTP status code is not handled or not allowed 2026-01-27 22:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-3w-x-82h-almond>: HTTP status code is not handled or not allowed 2026-01-27 22:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hs12-x03s-office-and-retail-two-way-radio-headset-with-screw-in-connector>: HTTP status code is not handled or not allowed 2026-01-27 22:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valencia-series-hutch-with-doors-64-34wx15dx35-12h-espresso>: HTTP status code is not handled or not allowed 2026-01-27 22:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/web-sling-1-ply-endless-3-long-2-es-wide>: HTTP status code is not handled or not allowed 2026-01-27 22:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s201038-12-poly-web-sling-endless-24800-31000-62000-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-8w-x-82h-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 22:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/q-series-vertical-terminal-air-conditioner-17600-btu-cool-34-kw-208230v>: HTTP status code is not handled or not allowed 2026-01-27 22:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-mobile-raised-planter-cart-with-wheels-16d-x-39w-x-31h-white>: HTTP status code is not handled or not allowed 2026-01-27 22:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-wash-fountain-circular-off-line-vent-15>: HTTP status code is not handled or not allowed 2026-01-27 22:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-pilaster-w-shoe-3w-x-82h-satin>: HTTP status code is not handled or not allowed 2026-01-27 22:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-wash-fountain-circular-110-24-vac-19>: HTTP status code is not handled or not allowed 2026-01-27 22:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-closed-linear-bearing-sw12-34id-1625l>: HTTP status code is not handled or not allowed 2026-01-27 22:40:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/planters_pots/planters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1816-9-64-hss-heavy-duty-bright-135-1-4-hex-shank-drill>: HTTP status code is not handled or not allowed 2026-01-27 22:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-closed-linear-bearing-w-resin-retainer-and-seals-sw10guu-58id-15l>: HTTP status code is not handled or not allowed 2026-01-27 22:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-nilfisk-advance-vf90120>: HTTP status code is not handled or not allowed 2026-01-27 22:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-6w-x-82h-khaki>: HTTP status code is not handled or not allowed 2026-01-27 22:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-inches-open-galvanized-steel-seals-s-50a-for-poly-strapping>: HTTP status code is not handled or not allowed 2026-01-27 22:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-hand-dynamometer-200-lb-dial-gauge-and-analog-output-signal-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151060-10-single-leg-chain-sling-w-grab-hook>: HTTP status code is not handled or not allowed 2026-01-27 22:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-label-34-12l-x-1-14h-gray-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 22:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-planter-forklift-knockouts-48lx24wx30h-rectangle-gray-limestone>: HTTP status code is not handled or not allowed 2026-01-27 22:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-12w-x-82h-khaki>: HTTP status code is not handled or not allowed 2026-01-27 22:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/planters_pots/planters>: HTTP status code is not handled or not allowed 2026-01-27 22:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-nss-2691001>: HTTP status code is not handled or not allowed 2026-01-27 22:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-push-pull-force-gauge>: HTTP status code is not handled or not allowed 2026-01-27 22:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-import-aircraft-interchangeable-pilot-counterbore-1-1-4-dia-1-2-shank-3-16-pilot>: HTTP status code is not handled or not allowed 2026-01-27 22:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-pilaster-w-shoe-22w-x-82h-satin>: HTTP status code is not handled or not allowed 2026-01-27 22:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1821-1-2-12in-oal-hss-h-d-sand-blasted-118-point-carbide-tipped-sds-plus-2-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-27 22:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-3-16-neo-for-nobles-tennant-390923>: HTTP status code is not handled or not allowed 2026-01-27 22:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flipak-attached-lid-container-26-7-8-17x12-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-12w-x-82h-olive>: HTTP status code is not handled or not allowed 2026-01-27 22:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-bookcase-in-espresso-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-27 22:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-wear-safety-shoes-rigid-plastic-10-h-x-14-w>: HTTP status code is not handled or not allowed 2026-01-27 22:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-wear-safety-shoes-rigid-plastic-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-27 22:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dcs7485t1-flexvolt-60v-max-table-saw-kit-8-14-1-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-arm-adjustable-closer-hold-open-duranodic>: HTTP status code is not handled or not allowed 2026-01-27 22:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-notice-keep-this-area-clean-vinyl-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-27 22:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-12w-x-82h-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 22:40:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/wood_drill_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-5w-x-82h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151129-6-single-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-27 22:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bag-spill-kit-4-capacity-gallon-bag-oil-only>: HTTP status code is not handled or not allowed 2026-01-27 22:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-door-lock-2200-surface-rim-mount-jet-black>: HTTP status code is not handled or not allowed 2026-01-27 22:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-pilaster-w-shoe-5w-x-82h-satin>: HTTP status code is not handled or not allowed 2026-01-27 22:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151059-8-single-leg-chain-sling-w-grab-hook>: HTTP status code is not handled or not allowed 2026-01-27 22:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-set-urethane-for-nobles-tennant-1215609>: HTTP status code is not handled or not allowed 2026-01-27 22:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1889-5-8-6in-oal-hss-heavy-duty-bright-118-point-fast-helix-carbide-tipped-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-27 22:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152055-8-poly-web-sling-endless-2500-3200-6400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-shelf-bracket-pair-18-depth>: HTTP status code is not handled or not allowed 2026-01-27 22:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5712w-royal-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/sockets_bits/wood_drill_bits>: HTTP status code is not handled or not allowed 2026-01-27 22:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-double-tier-3-wide-12-3-4w-x-18d-x-36-1-2h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 22:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-skirt-for-nobles-tennant-1055025-nobles-tennant-1011316>: HTTP status code is not handled or not allowed 2026-01-27 22:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cluster-box-unit-13-b-size-doors-type-iv-sandstone-usps-access>: HTTP status code is not handled or not allowed 2026-01-27 22:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-012-z>: HTTP status code is not handled or not allowed 2026-01-27 22:40:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-mouth-hdpe-economy-bottles-with-closure-500ml-case-of-48>: HTTP status code is not handled or not allowed 2026-01-27 22:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 25629 pages (at 99 pages/min), scraped 9561 items (at 27 items/min) 2026-01-27 22:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1899-29-hss-general-purpose-steam-oxide-118-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-27 22:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-couplings-recessed-screw-w-keyway-climax-cc-175-175-kw>: HTTP status code is not handled or not allowed 2026-01-27 22:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-rectangular-strip-carbide-blank-18x14x1-stb48a>: HTTP status code is not handled or not allowed 2026-01-27 22:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-table-with-casters-phenolic-top-adjustable-height-30-x-60-black-black>: HTTP status code is not handled or not allowed 2026-01-27 22:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-rectangular-strip-carbide-blank-18x38x12-stb412l>: HTTP status code is not handled or not allowed 2026-01-27 22:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5712w-azure>: HTTP status code is not handled or not allowed 2026-01-27 22:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-squeegee-set-for-nilfisk-advance-56325101-nilfisk-advance-56393395>: HTTP status code is not handled or not allowed 2026-01-27 22:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-27 22:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-industry-standard-clamping-couplings-w-keyway-climax-2miscc-40-40-kw>: HTTP status code is not handled or not allowed 2026-01-27 22:41:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siz-11-oval-sizzling-platter>: HTTP status code is not handled or not allowed 2026-01-27 22:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-inward-swing-partition-door-24w-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 22:41:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-72-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-button-up-safety-shirt-cottonnylon-l-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-carbon-fiber-tube-unidirectional-3-8-id-x-1-2-od-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-factory-cat-36-755u>: HTTP status code is not handled or not allowed 2026-01-27 22:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5912w-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-g-10-fr-4-garolite-rod-1-1-4-diameter-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invisible-solid-antiperspirant-deodorant-floral-scent-05-oz>: HTTP status code is not handled or not allowed 2026-01-27 22:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/759-28-solid-carbide-general-purpose-bright-118-4-facet-point-stub-length-drill>: HTTP status code is not handled or not allowed 2026-01-27 22:41:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/laboratory_tables landed on page that is not a product page. 2026-01-27 22:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starduster-wallbrush-duster-3-12-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psc-16-scraper-w-flat-blade-16l-plastic>: HTTP status code is not handled or not allowed 2026-01-27 22:41:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions landed on page that is not a product page. 2026-01-27 22:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40310-2-os-all-sport-life-vest-pink-oversize-adult>: HTTP status code is not handled or not allowed 2026-01-27 22:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psm-r-rare-steak-markers>: HTTP status code is not handled or not allowed 2026-01-27 22:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-carbon-fiber-sheet-unidirectional-1-16-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 22:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-heavyweight-zip-up-hoodie-xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-carbon-fiber-tube-twill-weave-7-8-id-x-1-od-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-x-10-x-4-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40201-2-unv-multi-purpose-life-vest-blue-universal-adult>: HTTP status code is not handled or not allowed 2026-01-27 22:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-3-4-x-10-1-4-x-9-1-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-safety-coveralls-4xl-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5912w-burgundy>: HTTP status code is not handled or not allowed 2026-01-27 22:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-shovel-large-blade-green>: HTTP status code is not handled or not allowed 2026-01-27 22:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-chair-with-back-vinyl-marine-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cap-with-1-touch-suspension-hi-viz-yellow-green-with-silver-stripe>: HTTP status code is not handled or not allowed 2026-01-27 22:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-shovel-10-in-blade-green>: HTTP status code is not handled or not allowed 2026-01-27 22:41:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/aluminum_shelf_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-6-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tbh-18-table-number-holder-18h-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-8w-x-82h-khaki-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-ceiling-panel-kit-belt-x-plain-end-16-dia-x-8l-x-6-pitch-white>: HTTP status code is not handled or not allowed 2026-01-27 22:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tmt-ft1-dial-frothing-thermometer>: HTTP status code is not handled or not allowed 2026-01-27 22:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3755-self-adhering-tape-trap-orange-12ft-roll>: HTTP status code is not handled or not allowed 2026-01-27 22:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cap-with-1-touch-suspension-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-tec-edge-personal-fall-limiter-twin-leg-coated-snap-hook-8l>: HTTP status code is not handled or not allowed 2026-01-27 22:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-industry-standard-clamping-couplings-climax-2miscc-06-06-s>: HTTP status code is not handled or not allowed 2026-01-27 22:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-106-s>: HTTP status code is not handled or not allowed 2026-01-27 22:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-112>: HTTP status code is not handled or not allowed 2026-01-27 22:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-squeegee-blade-32-auto-ride-on-floor-scrubber>: HTTP status code is not handled or not allowed 2026-01-27 22:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5875-buddy-organizer-large-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-12-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cap-with-fas-trac-iii-suspension-gold-with-staz-on-suspension>: HTTP status code is not handled or not allowed 2026-01-27 22:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5561-small-tool-and-radio-holster-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-20-x-18-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:41:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/aluminum_shelf_trucks landed on page that is not a product page. 2026-01-27 22:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ir-higher-performance-polyolefin-cf-shrink-film-45-ga-16w-x-5830l-clear-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 22:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-037-z>: HTTP status code is not handled or not allowed 2026-01-27 22:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wbkg-8r-round-x-2-1-4>: HTTP status code is not handled or not allowed 2026-01-27 22:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-6-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-outdoor-sidebar-table-with-tablet-holder>: HTTP status code is not handled or not allowed 2026-01-27 22:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-3w-plain-ramekins-3-oz-melamine-white>: HTTP status code is not handled or not allowed 2026-01-27 22:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-050-a>: HTTP status code is not handled or not allowed 2026-01-27 22:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-glue-3-grams-2-per-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-5-utility-scoop-5-oz-clear-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-27 22:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-0-375-x-48-000-x-96-000>: HTTP status code is not handled or not allowed 2026-01-27 22:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-187-z>: HTTP status code is not handled or not allowed 2026-01-27 22:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-oil-filled-cast-nylon-sheet-2-000-x-24-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-27 22:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 25723 pages (at 94 pages/min), scraped 9587 items (at 26 items/min) 2026-01-27 22:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psb-08y-squeeze-bottles-8-oz>: HTTP status code is not handled or not allowed 2026-01-27 22:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-pilaster-w-shoe-24w-x-82h-folkstone-celesta>: HTTP status code is not handled or not allowed 2026-01-27 22:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfm-2k-fluted-ramekins-2-oz-melamine-black>: HTTP status code is not handled or not allowed 2026-01-27 22:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-fep-rod-0-500-dia-ft>: HTTP status code is not handled or not allowed 2026-01-27 22:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-6w-x-82h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ductless-mini-split-ac-heat-pump-12000-btu-17-seer-115v-25-lineset-white>: HTTP status code is not handled or not allowed 2026-01-27 22:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63309-aware-wear-hi-vis-short-sleeve-t-shirt-class-2-hi-vis-lime-black-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-c-phenolic-sheet-0-125-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-27 22:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-16-x-6-4-2-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emax-erv0200001-20-hp-rotary-screw-compressor-tankless-145-psi--86-cfm-208-230v>: HTTP status code is not handled or not allowed 2026-01-27 22:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-pilaster-w-shoe-10w-x-82h-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-27 22:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-dust-lock-fiber-refill-dusters-yellow-6-box-21620bx>: HTTP status code is not handled or not allowed 2026-01-27 22:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ev-fire-suppressor-blanket-300l-x-396w-white>: HTTP status code is not handled or not allowed 2026-01-27 22:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-36-x-36-24-22-20-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-1-4-x-8-3-4-x-12-regular-slotted-container-1>: HTTP status code is not handled or not allowed 2026-01-27 22:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-film-for-hand-dispenser-cast-120-gauge-15w-x-1000l-black-opaque-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 22:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wlouvered-doors-42wx24dx78h-redall-welded>: HTTP status code is not handled or not allowed 2026-01-27 22:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-660-wrist-support-sleeve-ambidextrous-s-black>: HTTP status code is not handled or not allowed 2026-01-27 22:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-industry-standard-clamping-couplings-w-keyway-climax-2miscc-12-12-kw>: HTTP status code is not handled or not allowed 2026-01-27 22:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-x-15-kra-crimped-end-tubes-case>: HTTP status code is not handled or not allowed 2026-01-27 22:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp-09a-pebbled-tumblers-95-oz-11h>: HTTP status code is not handled or not allowed 2026-01-27 22:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-143-z>: HTTP status code is not handled or not allowed 2026-01-27 22:42:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airwater-inlet-hose-250-psi-34-id-x-4l-red>: HTTP status code is not handled or not allowed 2026-01-27 22:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-phenolic-sheet-0-125-thick-36-x-48>: HTTP status code is not handled or not allowed 2026-01-27 22:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-gutter-guard-rt-with-5-weir-72l-x-8-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipment-stand-w-adjustable-undershelf-24-x-30-24-high-ss-top-galvanized-legs-undershelf>: HTTP status code is not handled or not allowed 2026-01-27 22:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-20>: HTTP status code is not handled or not allowed 2026-01-27 22:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmct-9k-triple-fold-menu-cover-9-1-2w-12h-plastic-w-vinyl-binding-three-page-black>: HTTP status code is not handled or not allowed 2026-01-27 22:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-12-red-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-27 22:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmp-12-molcajete-salsa-plate-set-12-oz-plastic-resin>: HTTP status code is not handled or not allowed 2026-01-27 22:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supernova-lounge-cushioned-vinyl-loveseat-56w-x-29d-x-33h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-36-white-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-27 22:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-paper-phenolic-sheet-0-500-thick-36-x-48>: HTTP status code is not handled or not allowed 2026-01-27 22:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-6r-round-wire-skimmer-6d>: HTTP status code is not handled or not allowed 2026-01-27 22:42:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-27 22:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-recessed-screw-climax-tc-175-16>: HTTP status code is not handled or not allowed 2026-01-27 22:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wkcs-14-wok-cover-13-3-4-d-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-bxfootlockervented24x18x76blall-welded>: HTTP status code is not handled or not allowed 2026-01-27 22:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/landscape-exterior-filler-adhesive-12-0-oz-black-7565040440>: HTTP status code is not handled or not allowed 2026-01-27 22:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-hose-clamp-12-dia-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/step-up-clamp-on-adaptor-sua-series-climax-sua-125>: HTTP status code is not handled or not allowed 2026-01-27 22:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advanced-exterior-sealant-10-1-oz-brown-7079818217>: HTTP status code is not handled or not allowed 2026-01-27 22:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-24wx24dx76h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 22:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-style-cc-and-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-single-face-corrugated>: HTTP status code is not handled or not allowed 2026-01-27 22:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sg-58bmd-af-helium-15-safety-glasses-metal-detectable-blue-lens->: HTTP status code is not handled or not allowed 2026-01-27 22:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sg-57bmd-af-ovr-spec-iii-over-the-glasses-m-d-safety-glasses-af-blue-lens>: HTTP status code is not handled or not allowed 2026-01-27 22:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-22-s>: HTTP status code is not handled or not allowed 2026-01-27 22:42:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-industry-standard-clamping-couplings-w-keyway-climax-miscc-08-08-kw>: HTTP status code is not handled or not allowed 2026-01-27 22:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/132c-ice-logger-boot-regular-tan-11>: HTTP status code is not handled or not allowed 2026-01-27 22:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-and-tall-side-chair-black-crusoe-series>: HTTP status code is not handled or not allowed 2026-01-27 22:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-24wx24dx72h-blue-all-welded>: HTTP status code is not handled or not allowed 2026-01-27 22:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-7002-eco-recycled-pu-coated-gloves-s-green-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 22:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-pad-on-sleeve-for-kira-b-50-b-60-w-bp-medium-red>: HTTP status code is not handled or not allowed 2026-01-27 22:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-skullerz-8951-vented-hard-shell-bump-cap-short-brim-one-size-fits-most-red>: HTTP status code is not handled or not allowed 2026-01-27 22:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-14x54-nexelon>: HTTP status code is not handled or not allowed 2026-01-27 22:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-018-z>: HTTP status code is not handled or not allowed 2026-01-27 22:42:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls landed on page that is not a product page. 2026-01-27 22:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0031-05-peacock-dinner-fork>: HTTP status code is not handled or not allowed 2026-01-27 22:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-silver-epoxy-wire-shelf-42x18>: HTTP status code is not handled or not allowed 2026-01-27 22:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0345r-iron-tuff-low-bib-overall-short-navy-3xl>: HTTP status code is not handled or not allowed 2026-01-27 22:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asp-2c-cover-for-asp-2-and-8-fry-pans>: HTTP status code is not handled or not allowed 2026-01-27 22:42:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-3-axis-acu-rite-g-2-millpower-cnc already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-bxfootlockervented24x24x72grall-welded>: HTTP status code is not handled or not allowed 2026-01-27 22:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-t-link-bump-cap-assembly>: HTTP status code is not handled or not allowed 2026-01-27 22:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-24wx18dx72h-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 22:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-plastic-trash-container-lid-garbage-can-lid-44-gallon-bright-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jo80414e-hydrostatic-release-kit-tron-40s-fb5-fb6>: HTTP status code is not handled or not allowed 2026-01-27 22:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oklahoma-sound-multi-purpose-greystone-lectern-gsl>: HTTP status code is not handled or not allowed 2026-01-27 22:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-wire-shelf-21x60>: HTTP status code is not handled or not allowed 2026-01-27 22:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 25817 pages (at 94 pages/min), scraped 9613 items (at 26 items/min) 2026-01-27 22:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-lift-standard-scissor-lift-table-foot-operated-4000-lb-capacity-48l-x-36w>: HTTP status code is not handled or not allowed 2026-01-27 22:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-silver-epoxy-wire-shelf-24x24>: HTTP status code is not handled or not allowed 2026-01-27 22:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-3-axis-acu-rite-g-2-millpower-cnc>: HTTP status code is not handled or not allowed 2026-01-27 22:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-8-duct-ceiling-kit-with-a-stainless-steel-flange-for-bioair>: HTTP status code is not handled or not allowed 2026-01-27 22:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-600612-blk-c-channel-12-w-x-1-4-d-x-6-h>: HTTP status code is not handled or not allowed 2026-01-27 22:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-600524-blk-c-channel-24-w-x-1-4-d-x-5-h>: HTTP status code is not handled or not allowed 2026-01-27 22:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-2000-nylon-cape-hot-air-tube>: HTTP status code is not handled or not allowed 2026-01-27 22:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-2000-leather-capeflow-control>: HTTP status code is not handled or not allowed 2026-01-27 22:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-8-corrosive-tagboard-placard>: HTTP status code is not handled or not allowed 2026-01-27 22:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-gx4-mounting-bracket>: HTTP status code is not handled or not allowed 2026-01-27 22:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-carbide-non-ferrous-circular-saw-blade-for-j-ck350-24k-saw-84-tpi-14-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-60x36>: HTTP status code is not handled or not allowed 2026-01-27 22:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-climax-rc-137>: HTTP status code is not handled or not allowed 2026-01-27 22:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-metered-air-care-refills-mango-6-6-oz-can-12-cans-case-1042810>: HTTP status code is not handled or not allowed 2026-01-27 22:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-hot-air-spinner>: HTTP status code is not handled or not allowed 2026-01-27 22:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-industry-standard-clamping-couplings-climax-miscc-16-16-s>: HTTP status code is not handled or not allowed 2026-01-27 22:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-traffic-floor-polish-gallon-bottle-4-bottles-case-1044999>: HTTP status code is not handled or not allowed 2026-01-27 22:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-industry-standard-clamping-couplings-w-keyway-climax-miscc-25-25-kw>: HTTP status code is not handled or not allowed 2026-01-27 22:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0490-insulated-softshell-jacket-regular-black-charcoal-large>: HTTP status code is not handled or not allowed 2026-01-27 22:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-back-swivel-metal-barstool-mahogany-wood-seat>: HTTP status code is not handled or not allowed 2026-01-27 22:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0323-iron-tuff-womans-coat-regular-navy-large>: HTTP status code is not handled or not allowed 2026-01-27 22:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0925-econo-tuff-jacket-regular-navy-2xl>: HTTP status code is not handled or not allowed 2026-01-27 22:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerquad153-vacuum-kit-with-2-inlet-30-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerquad153-atex-vacuum-kit-with-2-inlet-30-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-sar-breathing-tube-t100-z100>: HTTP status code is not handled or not allowed 2026-01-27 22:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0442-chillbreaker-parka-regular-navy-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-translucent-smoke-side-by-side-double-roll-bathroom-tissue-dispenser-56784>: HTTP status code is not handled or not allowed 2026-01-27 22:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0322r-iron-tuff-polar-jacket-regular-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-27 22:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-axle-size-3-4-16>: HTTP status code is not handled or not allowed 2026-01-27 22:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344l2-hivis-minus-50-suit-regular-hivis-lime-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-27 22:43:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/welding_face_masks_respirators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxicut-ultra-micro-foam-nitrile-coated-palm-fingers-gloves-ansi-a6-m-black-6-dozencase>: HTTP status code is not handled or not allowed 2026-01-27 22:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-inch-brass-interlocking-stencil-numbers-fifteen-piece-set>: HTTP status code is not handled or not allowed 2026-01-27 22:43:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-car-cup-holder-phone-mount-with-21w-usb-charger-2-cigarette-lighter-sockets-mcuppower>: HTTP status code is not handled or not allowed 2026-01-27 22:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-non-latex-dark-purple-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 22:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-px5-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-column-protectors-4-to-6-inch-column-opening-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msb-12f-fine-mesh-12-diameter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ssbd-5-stainless-steel-ice-tea-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 22:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/respiratory_protection/welding_face_masks_respirators>: HTTP status code is not handled or not allowed 2026-01-27 22:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-3-c40>: HTTP status code is not handled or not allowed 2026-01-27 22:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-037-037-s>: HTTP status code is not handled or not allowed 2026-01-27 22:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxflow-ansi-life-vest-mesh-uscgtc-type-iii-m-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-27 22:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-015-s>: HTTP status code is not handled or not allowed 2026-01-27 22:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jla-300-15-lever-hoist-3-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-27 22:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-maple-top-pedestal-workbench-w-3-drawer-cabinet>: HTTP status code is not handled or not allowed 2026-01-27 22:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-person-heat-stress-kit>: HTTP status code is not handled or not allowed 2026-01-27 22:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0317-insulator-mitt-gold-large>: HTTP status code is not handled or not allowed 2026-01-27 22:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0317-insulator-mitt-gold-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plc-10046-sterile-natural-pp-cornell-hinged-vials-3-dram-11ml-case-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-237-bo>: HTTP status code is not handled or not allowed 2026-01-27 22:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-hepa-filter>: HTTP status code is not handled or not allowed 2026-01-27 22:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-hepa-wet-dry-vacuum-stainless-steel-21-gallon>: HTTP status code is not handled or not allowed 2026-01-27 22:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-inch-x-5-yards-self-adhesive-bandage-non-latex-yellow-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 22:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1118-1-40-micron-filter-element-sintered-bronze-for-use-with-5-or-6-oz-bowls>: HTTP status code is not handled or not allowed 2026-01-27 22:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-18-x-1500-dispenser-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1122-8-filter-bowl-metal-bowl-1-npt-250-psi-40-micron>: HTTP status code is not handled or not allowed 2026-01-27 22:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-single-sided-upright-44>: HTTP status code is not handled or not allowed 2026-01-27 22:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-no-lip-2>: HTTP status code is not handled or not allowed 2026-01-27 22:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-by-24-stage-package-24-inches-height-grey-carpet-black-shirred-pleat-skirting>: HTTP status code is not handled or not allowed 2026-01-27 22:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-steel-bookcase-3-openings-36-w-x-12-d-x-42-h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-1142-mini-piggyback-filterregulator-polycarbonate-bowl-14-npt-150-psi-20-micron>: HTTP status code is not handled or not allowed 2026-01-27 22:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-steel-bookcase-5-openings-36-w-x-12-d-x-60-h-putty>: HTTP status code is not handled or not allowed 2026-01-27 22:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-with-2-lip-34>: HTTP status code is not handled or not allowed 2026-01-27 22:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 25909 pages (at 92 pages/min), scraped 9641 items (at 28 items/min) 2026-01-27 22:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-5-yards-self-adhesive-bandage-non-latex-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-outdoor-steel-picnic-bench-with-backrest-perforated-metal-black>: HTTP status code is not handled or not allowed 2026-01-27 22:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-22>: HTTP status code is not handled or not allowed 2026-01-27 22:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-bp-11213cnc-156-2-axis-programmable-hydraulic-press-brake-3ph-220v>: HTTP status code is not handled or not allowed 2026-01-27 22:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-262>: HTTP status code is not handled or not allowed 2026-01-27 22:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twpo-7-offset-spatulas-7-3-4l-blade-white-polypropylene-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-no-adhesive-70a-116-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ift-1-insulated-food-transporter-2-1-2-8-deep-pans-polypropylene-green>: HTTP status code is not handled or not allowed 2026-01-27 22:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-starter-unit-42-w-x-24-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 22:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ins-40-inset-4qt-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-cabinet-10>: HTTP status code is not handled or not allowed 2026-01-27 22:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-243-a>: HTTP status code is not handled or not allowed 2026-01-27 22:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-round-cranium-led-flush-mount-light-30w-120v-to-277v-3000k-white>: HTTP status code is not handled or not allowed 2026-01-27 22:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twps-9-bakery-spatulas-9-1-2l-blade-white-polypropylene-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-12-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-with-acrylic-adhesive-70a-38-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 22:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23169-cut-off-wheel-type-1-saitech-4-inch-x-035-inch-x-3-8-inch-ceramic-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 22:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24053-cut-off-wheel-type-1-steelworker-14-inch-x-3-32-inch-x-1-inch-ceramic>: HTTP status code is not handled or not allowed 2026-01-27 22:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1301805-universal-curb-guard>: HTTP status code is not handled or not allowed 2026-01-27 22:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bc12914-universal-console-box>: HTTP status code is not handled or not allowed 2026-01-27 22:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-256-a>: HTTP status code is not handled or not allowed 2026-01-27 22:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-256-dt>: HTTP status code is not handled or not allowed 2026-01-27 22:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-starter-unit-36-w-x-18-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 22:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-pt-105hd-w-v2-cnc-plasma-cutting-water-table-1ph-220v>: HTTP status code is not handled or not allowed 2026-01-27 22:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sssp-2-sauce-pan-w-cover-2-qt>: HTTP status code is not handled or not allowed 2026-01-27 22:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d1-8-14-faceplate-for-elite-egh-1880-egh-2180-egh-21120-lathe>: HTTP status code is not handled or not allowed 2026-01-27 22:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-starter-unit-solid-galvanized-steel-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-062-bo>: HTTP status code is not handled or not allowed 2026-01-27 22:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/241-punch-assembly-for-50t-55t-60t-ironworkers-2013-older>: HTTP status code is not handled or not allowed 2026-01-27 22:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/241-punch-assembly-for-75t-100t-ironworkers-2013-older>: HTTP status code is not handled or not allowed 2026-01-27 22:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28006-bench-wheel-vitrified-6-inch-x-1-inch-x-1-inch-36-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 22:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-rubber-strip-no-adhesive-60a-1-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-rubber-roll-no-adhesive-40a-14-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-starter-unit-solid-galvanized-steel-42w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-wjt-sb422uw-16-square-block-11-34l-x-7-34w-x-4h>: HTTP status code is not handled or not allowed 2026-01-27 22:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-spring-rewind-hose-reel-for-air-water-1-2-i-d-50-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-tier-shelving-add-on-unit-solid-galvanized-steel-24w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kcp-15-15-cheese-knife-double-pp-handles>: HTTP status code is not handled or not allowed 2026-01-27 22:44:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-tier-shelving-starter-unit-solid-galvanized-steel-54w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 22:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-strip-with-high-temp-adhesive-75a-116-thick-x-1-wide-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-drawer-tool-toter>: HTTP status code is not handled or not allowed 2026-01-27 22:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-mss-14h-ce-hydraulically-operated-shrinker-stretcher-220v>: HTTP status code is not handled or not allowed 2026-01-27 22:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-strip-no-adhesive-75a-18-thick-x-14-wide-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-efficient-heavy-duty-power-cord-reel-with-a-fluorescent-tube-light-with-tool-tap-16-ga>: HTTP status code is not handled or not allowed 2026-01-27 22:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-replacement-liner-20-bushel-yellow-2>: HTTP status code is not handled or not allowed 2026-01-27 22:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-112-07>: HTTP status code is not handled or not allowed 2026-01-27 22:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-43-welding-positioner-4400-lb-capacity-1-ph-220v>: HTTP status code is not handled or not allowed 2026-01-27 22:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-roll-no-adhesive-75a-332-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:44:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-27 22:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-ticket-holder-vinyl-with-red-white-stripes-25-box>: HTTP status code is not handled or not allowed 2026-01-27 22:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pbc-24-pastry-bag-24-cotton-plastic-coated>: HTTP status code is not handled or not allowed 2026-01-27 22:44:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notcher-assembly-for-45-ton-ironworkers>: HTTP status code is not handled or not allowed 2026-01-27 22:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-18-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-stacking-box-green-14-3-8x14-3-8x3-1-2>: HTTP status code is not handled or not allowed 2026-01-27 22:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50157-2a-fiber-disc-4-inch-x-5-8-inch-80-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-27 22:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-double-clevis-link-1-2-9200-lbs-wll-s>: HTTP status code is not handled or not allowed 2026-01-27 22:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-09-s>: HTTP status code is not handled or not allowed 2026-01-27 22:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-70a-38-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 22:44:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_curtains already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosion-resistant-set-screw-collar-cr-climax-crc-075-s>: HTTP status code is not handled or not allowed 2026-01-27 22:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zirconium-oxide-belt-2-x-48-80-grit-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-27 22:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-immersion-heater-circulation-6000-240-3>: HTTP status code is not handled or not allowed 2026-01-27 22:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-150>: HTTP status code is not handled or not allowed 2026-01-27 22:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-bracket-for-all-terrain-vise153>: HTTP status code is not handled or not allowed 2026-01-27 22:44:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/closet_garment_organizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-with-acrylic-adhesive-60a-18-thick-x-36-w-x-10-ft-l>: HTTP status code is not handled or not allowed 2026-01-27 22:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-24-3-8-x-14-7-8x8-tote-red>: HTTP status code is not handled or not allowed 2026-01-27 22:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77440-sand-light-hand-pad-6-inch-x-9-inch-brown-non-woven-heavy-duty>: HTTP status code is not handled or not allowed 2026-01-27 22:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-48-300-pound>: HTTP status code is not handled or not allowed 2026-01-27 22:44:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_curtains>: HTTP status code is not handled or not allowed 2026-01-27 22:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26002 pages (at 93 pages/min), scraped 9666 items (at 25 items/min) 2026-01-27 22:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pebble-surface-mat-black-yellow-24x36>: HTTP status code is not handled or not allowed 2026-01-27 22:44:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/closet_garment_organizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-143-dt>: HTTP status code is not handled or not allowed 2026-01-27 22:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-cabinet-with-polycarbonate-door-keyboard-and-mouse-support-avalanche-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-5-drawer-deluxe-flat-file-gray-2>: HTTP status code is not handled or not allowed 2026-01-27 22:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-explosion-proof-motor-15hp-1800rpm-254tc-epfc-230-460v-60hz-40c-1-15sf-rigid-c>: HTTP status code is not handled or not allowed 2026-01-27 22:45:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-boat-hull-cleaner-gallon-bottle-4-case>: HTTP status code is not handled or not allowed 2026-01-27 22:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-d-ring-vinyl-view-binder-4-capacity-white>: HTTP status code is not handled or not allowed 2026-01-27 22:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-70a-116-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 22:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-70a-116-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 22:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-18-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:45:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-27 22:45:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 22:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-1-5hp-1800-145tc-tefc-230-460v-60hz-c-face>: HTTP status code is not handled or not allowed 2026-01-27 22:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/closet_garment_organizers>: HTTP status code is not handled or not allowed 2026-01-27 22:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-96x18x72-add-on>: HTTP status code is not handled or not allowed 2026-01-27 22:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-cart-poly-green-24l-x-24w-x-40h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 22:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers>: HTTP status code is not handled or not allowed 2026-01-27 22:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-with-high-temp-adhesive-40a-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 22:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-25-ft-lb-coupler-brake-182-4tc-213-5tc-nema2-ip23-230-460v-1ph-aluminum-iron-stearns>: HTTP status code is not handled or not allowed 2026-01-27 22:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l100-200wo-10-hand-chain-hoist-with-overload-protection-2-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-27 22:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-with-high-temp-adhesive-40a-132-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-3-lb-ft-coupler-brake-56c-nema4x-ip55-bissc-115-230v>: HTTP status code is not handled or not allowed 2026-01-27 22:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-metal-shear-7-5-hp-3-phase-220v-sh-10010>: HTTP status code is not handled or not allowed 2026-01-27 22:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l100-1000wo-20-hand-chain-hoist-with-overload-protection-10-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-27 22:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-bench-grinder-single-phase-115v-igb-8>: HTTP status code is not handled or not allowed 2026-01-27 22:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-farm-ag-motor-1-2hp-3450rpm-tenv-230v-60hz-60-min-spec-rigid-c>: HTTP status code is not handled or not allowed 2026-01-27 22:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-flush-deck-30-x-40-mold-on-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-27 22:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-truck-2-shelves-slat-sides-30-x-48>: HTTP status code is not handled or not allowed 2026-01-27 22:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/best-value-pallet-jack-skid-truck-chock>: HTTP status code is not handled or not allowed 2026-01-27 22:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10lb-dry-chemical-fire-extinguisher-wall-mount-type-a-b-c>: HTTP status code is not handled or not allowed 2026-01-27 22:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-base-12-d-x-6-h-blue-pair-le-right>: HTTP status code is not handled or not allowed 2026-01-27 22:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-pallet-rack-add-on-144w-x-42d-x-120h-7110-lbs-shelf-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-in-1-combination-shear-brake-and-roll-30-bed-width-20-gauge>: HTTP status code is not handled or not allowed 2026-01-27 22:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-mesh-tarp-7-1-2-ft-x-15-ft-3008209>: HTTP status code is not handled or not allowed 2026-01-27 22:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-small-double-coat-hook-satin-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-shop-top-pedestal-workbench-w-7-drawers-1>: HTTP status code is not handled or not allowed 2026-01-27 22:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-wagon-truck-24-x-48-10-inch-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-27 22:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-stake-truck-24-x-36-polyurethane-wheels>: HTTP status code is not handled or not allowed 2026-01-27 22:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cnc-plasma-cutting-table-single-phase-220v-pt-48ah-w>: HTTP status code is not handled or not allowed 2026-01-27 22:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-sliding-gate-10x6>: HTTP status code is not handled or not allowed 2026-01-27 22:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-3-hp-single-phase-220v-tn-400>: HTTP status code is not handled or not allowed 2026-01-27 22:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-large-moving-boxes-18l-x-18w-x-24h-kraft-blue-15-ctn>: HTTP status code is not handled or not allowed 2026-01-27 22:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrislynn-helical-thread-single-size-repair-kit-m8x125-left-hand>: HTTP status code is not handled or not allowed 2026-01-27 22:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-steel-deck-10-x-350-rubber-wheel>: HTTP status code is not handled or not allowed 2026-01-27 22:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-steel-deck-8-x-250-rubber-wheel>: HTTP status code is not handled or not allowed 2026-01-27 22:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-70a-38-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-27 22:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-fired-dual-fuel-heater-360000-btu>: HTTP status code is not handled or not allowed 2026-01-27 22:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-5lj>: HTTP status code is not handled or not allowed 2026-01-27 22:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-50a-116-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-70a-332-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-j-trim-in-grecian-earth-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/291-acrylic-carton-sealing-tape-2-x-110-yds-26-mil-tan-6pack>: HTTP status code is not handled or not allowed 2026-01-27 22:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-inside-corner-trim-in-rain-cloud-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-tier-plastic-lockers-flat-top-12x15x36-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-black-double-foam-floor-squeegee-rubber-refill-1124>: HTTP status code is not handled or not allowed 2026-01-27 22:45:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-truck-5-flush-shelves-30-x-48-w-writing-shelf-document-pocket>: HTTP status code is not handled or not allowed 2026-01-27 22:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb920b-dipped-neoprene-snugleg-boots-brick-redbrown-size-11>: HTTP status code is not handled or not allowed 2026-01-27 22:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v81622-job-sight-fr-class-2-safety-vest-fluorescent-lime-2xl3xl>: HTTP status code is not handled or not allowed 2026-01-27 22:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-chain-hoist-20-foot-li-10-000-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-36x12x39-9>: HTTP status code is not handled or not allowed 2026-01-27 22:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-shelf-truck-3-inch-deep-18-x-30-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26099 pages (at 97 pages/min), scraped 9702 items (at 36 items/min) 2026-01-27 22:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x18x39-2>: HTTP status code is not handled or not allowed 2026-01-27 22:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x18x75-6>: HTTP status code is not handled or not allowed 2026-01-27 22:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v70522-class-2-highvis-5point-breakaway-vest-fluorescent-lime-2xl3xl>: HTTP status code is not handled or not allowed 2026-01-27 22:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-kd-wardrobe-cabinet-36-w-x-18-d-x-78-h-medium-grey>: HTTP status code is not handled or not allowed 2026-01-27 22:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-27 22:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x8-safety-barrier-net-net-only-orange>: HTTP status code is not handled or not allowed 2026-01-27 22:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hx1-18-c45-steel-black-oxide-split-taper-bushing-1-18-inch-bore>: HTTP status code is not handled or not allowed 2026-01-27 22:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1350-wintertuff-ice-traction-stretch-overshoes-black-studded-outsole-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x25-cargo-net-roll-1-polypropylene-webbing-5-mesh-size-700lb-tensile-strength>: HTTP status code is not handled or not allowed 2026-01-27 22:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x25-cargo-net-roll-1-polypropylene-webbing-5-mesh-size-700lb-tensile-strength>: HTTP status code is not handled or not allowed 2026-01-27 22:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-with-acrylic-adhesive-70a-18-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-10-ft-18-inch-w-skatewheel-section-18-inch-oaw-16-wpf>: HTTP status code is not handled or not allowed 2026-01-27 22:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-electric-horizontal-unit-heater-10kw-480v>: HTTP status code is not handled or not allowed 2026-01-27 22:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixed-stand-36-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-27 22:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-10-ft-42-inch-w-1-9-inch-dia-galvanized-rollers-39-inch-between-rail-3-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-27 22:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-timer-extra-loud-black>: HTTP status code is not handled or not allowed 2026-01-27 22:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ketron-peek-sheet-0-250-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-27 22:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-door-directory-cabinet-72w-36h>: HTTP status code is not handled or not allowed 2026-01-27 22:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-5-ft-40-inch-w-1-9-inch-dia-galvanized-rollers-37-inch-between-rail-3-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-27 22:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-light-duty-ribbed-stair-tread-square-nose-1225-x-42-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-sheet-0-375-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-27 22:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-framed-letter-board-message-center-36w-48h>: HTTP status code is not handled or not allowed 2026-01-27 22:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-raised-circular-stair-tread-square-nose-204375-x-48-fawn>: HTTP status code is not handled or not allowed 2026-01-27 22:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600-hot-melt-tape-2-x-55-yds-16-mil-tan-6pack>: HTTP status code is not handled or not allowed 2026-01-27 22:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slate-design-rubber-tile-1969-x-1969-x-125-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-door-design-enclosed-letter-board-medium-grey-48w-36h>: HTTP status code is not handled or not allowed 2026-01-27 22:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-320-nipple-1-8-male-npt-european-interchange>: HTTP status code is not handled or not allowed 2026-01-27 22:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-peek-film-sheet-0-010-thick-x-24-000-w-x-24-000-l>: HTTP status code is not handled or not allowed 2026-01-27 22:46:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-rubber-wall-base-4-in-x-48-in-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-a-frame-sidewalk-white-marker-board-18w-42h>: HTTP status code is not handled or not allowed 2026-01-27 22:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-410-nipple-11-mm-x-16-mm-streamline-connection-eurostandard-10-4>: HTTP status code is not handled or not allowed 2026-01-27 22:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-315-nipple-1-2-male-npt-asian-interchange>: HTTP status code is not handled or not allowed 2026-01-27 22:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o56107-durascrim-snap-fly-front-overall-yellow-4xl>: HTTP status code is not handled or not allowed 2026-01-27 22:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-no-toe-wall-base-coil-25-in-x-125-in-x-120-ft-white>: HTTP status code is not handled or not allowed 2026-01-27 22:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ketron-peek-sheet-q-0-500-thick-x-12-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-27 22:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-ss-304304l-38-14-hex-bushing-npt-male-female>: HTTP status code is not handled or not allowed 2026-01-27 22:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-12-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-low-circular-profile-square-nose-125-x-48-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 22:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-sheet-0-250-thick-x-24-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-27 22:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-4-4-14l-x-2-18w-orange-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:46:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-27 22:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-alum-40-pipe-nipple-4-6-npt-male>: HTTP status code is not handled or not allowed 2026-01-27 22:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j12148-magnaprene-hooded-jacket-green-inner-cuffs-lg>: HTTP status code is not handled or not allowed 2026-01-27 22:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o53122-comfortbrite-snap-fly-front-overall-fluorescent-lime-sm>: HTTP status code is not handled or not allowed 2026-01-27 22:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-50a-316-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 22:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb920b-dipped-neoprene-snugleg-boots-brick-redbrown-size-5>: HTTP status code is not handled or not allowed 2026-01-27 22:46:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-38-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-ss-304-barstock-half-coupling-38-npt-female-plain>: HTTP status code is not handled or not allowed 2026-01-27 22:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silencer-gp-band-saw-blade-1-inch-w-035-thick-gauge-5-8-tpi-303-905138>: HTTP status code is not handled or not allowed 2026-01-27 22:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-96x48x60-with-3-shelves-wire-deck-800-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-27 22:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-drafting-stool-fabric-upholstered-high-back-black>: HTTP status code is not handled or not allowed 2026-01-27 22:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-990-mandrel048011-15012>: HTTP status code is not handled or not allowed 2026-01-27 22:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-2-semi-steel-caster-kit-d-ck4-sc8-2-for-hopper-4800-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 22:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-line-vac-only-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-clear-plastic-box-5-gallon-18x12x9>: HTTP status code is not handled or not allowed 2026-01-27 22:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-rod-2-000-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1736s11-osha-stairway-36-width-11-stairs>: HTTP status code is not handled or not allowed 2026-01-27 22:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-27 22:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-wired-3-3-34l-x-1-78w-fluorescent-orange-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-shelf-bench-rack-with-32-bins-8-wide-33x12x21-1>: HTTP status code is not handled or not allowed 2026-01-27 22:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-rod-0-312-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-rod-0-437-dia>: HTTP status code is not handled or not allowed 2026-01-27 22:46:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/labels_barcode_equipment/tags/blank_shipping_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-steel-mesh-outdoor-counter-height-stool-black-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/woodruff-key-m3-w-x-m3-7-outer-dia-carbon-steel-plain-din-6888>: HTTP status code is not handled or not allowed 2026-01-27 22:46:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-2-34l-x-1-38w-blue-100pack>: HTTP status code is not handled or not allowed 2026-01-27 22:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-rubber-sheet-with-high-temp-adhesive-50a-18-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 22:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1-pneumatic-grease-pump-120-lb>: HTTP status code is not handled or not allowed 2026-01-27 22:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-rubber-strip-no-adhesive-60a-18-thick-x-34-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-shelf-steel-shelving-with-48-akro-mils-shelf-bins-2>: HTTP status code is not handled or not allowed 2026-01-27 22:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65-black-original-ink-cartridge-120-page-yield>: HTTP status code is not handled or not allowed 2026-01-27 22:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wetordry-tri-m-ite-coated-paper-sheet-3>: HTTP status code is not handled or not allowed 2026-01-27 22:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26194 pages (at 95 pages/min), scraped 9726 items (at 24 items/min) 2026-01-27 22:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/labels_barcode_equipment/tags/blank_shipping_tags>: HTTP status code is not handled or not allowed 2026-01-27 22:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-18-bu-black-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 22:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-27 22:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-8-6-14l-x-3-18w--fluorescent-green-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-6x1x1-2-2sfi048011-13742>: HTTP status code is not handled or not allowed 2026-01-27 22:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-oil-filled-cast-nylon-tube-2-500-id-x-3-250-od-x-26-l>: HTTP status code is not handled or not allowed 2026-01-27 22:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-70a-38-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 22:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-3-3-34l-x-1-78w--fluorescent-red-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-60x36-high-capacity-rack-steel-deck>: HTTP status code is not handled or not allowed 2026-01-27 22:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbr-rubber-roll-with-acrylic-adhesive-75a-116-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 22:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-wire-deck-add-on-4-levels-gray-11>: HTTP status code is not handled or not allowed 2026-01-27 22:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-cone-nozzle-7-3-4-l-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 22:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-machine-table-30-x-48-x-30>: HTTP status code is not handled or not allowed 2026-01-27 22:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-vacuum-hose-red-50-l>: HTTP status code is not handled or not allowed 2026-01-27 22:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8002526-dunnage-rack-18w-x-22d-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-48x48x96-gray-with-3-shelves-laminated-deck-1200-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-27 22:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3772-printed-message-carton-sealing-tape-2-x-110-yds-2-2-mil-white-red-36-rolls-case>: HTTP status code is not handled or not allowed 2026-01-27 22:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-serrated-nozzle-8-l-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-hd-free-standing-jib-crane-12-ft-span-and-8-ft-height-under-boom-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p21107-eagle-snap-fly-front-pants-yellow-drawstring-waist-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-pp3-48-xl-portable-pole-rolling-sign-base-48-inch-pole-black>: HTTP status code is not handled or not allowed 2026-01-27 22:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-42x18x54-nexelon-finish-2>: HTTP status code is not handled or not allowed 2026-01-27 22:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accuglide-high-speed-hst-taping-head-blue-upper-taping-head-2>: HTTP status code is not handled or not allowed 2026-01-27 22:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkliftable-spill-control-platform-2-drum-33-gallon>: HTTP status code is not handled or not allowed 2026-01-27 22:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-power-enzyme-cleaner-and-deodorizer-spice-gallon-bottle-4-bottles-902253>: HTTP status code is not handled or not allowed 2026-01-27 22:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-with-backstop-adjustable-height-28-x-72>: HTTP status code is not handled or not allowed 2026-01-27 22:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oven-brite-ready-to-use-oven-cleaner-5-gallon-drum-5-gallon-pail-1-pail>: HTTP status code is not handled or not allowed 2026-01-27 22:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nomex-410-sheet-0-003-thick-x-36-000-w-x-36-000-l>: HTTP status code is not handled or not allowed 2026-01-27 22:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wst2-3684-ah-84w-x-36d-wst2-3684-ah-adj-height-welded-workbench>: HTTP status code is not handled or not allowed 2026-01-27 22:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-vinyl-tubing-5-8-i-d-x-1-8-wall-75-feet-reel>: HTTP status code is not handled or not allowed 2026-01-27 22:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-portable-frame-unit-with-tip-out-bins-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceramic-peek-nc30-sheet-0-375-thick-x-12-w-x-12-l>: HTTP status code is not handled or not allowed 2026-01-27 22:47:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-strapping-1-2-wide-x-5800>: HTTP status code is not handled or not allowed 2026-01-27 22:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zepride-e-multi-use-liquid-cleaner-degreaser-55-gallon-drum>: HTTP status code is not handled or not allowed 2026-01-27 22:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-dolly-27-1-2-x-18-x-3-4-casters-650-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/195173-3-dust-extraction-cup-set-for-rotary-hammers>: HTTP status code is not handled or not allowed 2026-01-27 22:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51-natural-rubber-tape-2-x-55-yds-22-mil-clear-6pack>: HTTP status code is not handled or not allowed 2026-01-27 22:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-ludington-2-x-2-nail-up-tin-ceiling-tile-in-copper-t57-08>: HTTP status code is not handled or not allowed 2026-01-27 22:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-89-2229-titanium-coated-drill-bit-1-2>: HTTP status code is not handled or not allowed 2026-01-27 22:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-42wx18dx54h>: HTTP status code is not handled or not allowed 2026-01-27 22:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-tuck-folding-cartons-3l-x-2w-x-3h-white-500pack>: HTTP status code is not handled or not allowed 2026-01-27 22:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving>: HTTP status code is not handled or not allowed 2026-01-27 22:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/furno-500-variable-temperature-corded-heat-gun>: HTTP status code is not handled or not allowed 2026-01-27 22:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supreme-sliptech-mat-11-16-thick-36x120-black-w-yellow-border>: HTTP status code is not handled or not allowed 2026-01-27 22:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-12-oz-looped-end-wet-mop>: HTTP status code is not handled or not allowed 2026-01-27 22:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-with-36-shelf-bins-13-shelves-36x18x75-4>: HTTP status code is not handled or not allowed 2026-01-27 22:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-48wx21dx54h>: HTTP status code is not handled or not allowed 2026-01-27 22:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-32-4413-3-phillips-1-insert-bits>: HTTP status code is not handled or not allowed 2026-01-27 22:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/auxiliary-pan-for-p230-series-ultrasonic-part-cleaners>: HTTP status code is not handled or not allowed 2026-01-27 22:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-48-huron-tin-crown-molding-in-clear-195-04>: HTTP status code is not handled or not allowed 2026-01-27 22:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020m-hose-fitting-5507596>: HTTP status code is not handled or not allowed 2026-01-27 22:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4200a-bearing-lock-nut-5508460>: HTTP status code is not handled or not allowed 2026-01-27 22:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasonic-table-top-parts-cleaning-system-digital-timer-heat-1-5-gal-45-khz-115v>: HTTP status code is not handled or not allowed 2026-01-27 22:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledge-18-l-x-4-h-wire-shelves-black-epoxy>: HTTP status code is not handled or not allowed 2026-01-27 22:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-saginaw-2-x-2-lay-in-tin-ceiling-tile-in-copper-y53-08>: HTTP status code is not handled or not allowed 2026-01-27 22:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collomix-xo1-professional-hand-held-power-mixer>: HTTP status code is not handled or not allowed 2026-01-27 22:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxithins-sanitary-pads-250-carton>: HTTP status code is not handled or not allowed 2026-01-27 22:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bntm1212-12-x-12-exposed-flange-mortise-lock-prep>: HTTP status code is not handled or not allowed 2026-01-27 22:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-shaft-1230r-5234561>: HTTP status code is not handled or not allowed 2026-01-27 22:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-72wx14dx86h>: HTTP status code is not handled or not allowed 2026-01-27 22:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-brush-for-14-id-tubes-blue-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-27 22:47:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/brass_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tire-rack-3-tier-starter-96x18x72>: HTTP status code is not handled or not allowed 2026-01-27 22:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-8-stainless-steel-stock-pot-w-cover-80-qt>: HTTP status code is not handled or not allowed 2026-01-27 22:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26293 pages (at 99 pages/min), scraped 9762 items (at 36 items/min) 2026-01-27 22:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-moisturizing-hand-and-body-lotion-fresh-scent-1-l-bottle-6-case>: HTTP status code is not handled or not allowed 2026-01-27 22:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porta-king-6-x-8-guard-booth-gray-pre-assembled>: HTTP status code is not handled or not allowed 2026-01-27 22:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bitk1818-18-x-18-exposed-flange-knurled-knob>: HTTP status code is not handled or not allowed 2026-01-27 22:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-bottom-cylinder-pin-5519497>: HTTP status code is not handled or not allowed 2026-01-27 22:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-ferrule>: HTTP status code is not handled or not allowed 2026-01-27 22:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-72-panel-track-heater-34-element>: HTTP status code is not handled or not allowed 2026-01-27 22:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/brass_pipe_fittings>: HTTP status code is not handled or not allowed 2026-01-27 22:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-34-element-72-panel-track-heaters>: HTTP status code is not handled or not allowed 2026-01-27 22:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-standard-ultrafog-lubricator-w-metal-bowl>: HTTP status code is not handled or not allowed 2026-01-27 22:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drc-wipers-white-10-x-12-centerpull-200-box>: HTTP status code is not handled or not allowed 2026-01-27 22:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561-ergodeck-heavy-duty-open-grid-with-grit-shield-18x18-black>: HTTP status code is not handled or not allowed 2026-01-27 22:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stageair1-gal-desiccant-dryer>: HTTP status code is not handled or not allowed 2026-01-27 22:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-rubber-skirts-261990-641244-641264-floor-scrubbers>: HTTP status code is not handled or not allowed 2026-01-27 22:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-ksp-splicer-set>: HTTP status code is not handled or not allowed 2026-01-27 22:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/click-gel-automatic-toilet-bowl-cleaner-ocean-fresh-6-box-4-boxes-case>: HTTP status code is not handled or not allowed 2026-01-27 22:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structured-multifold-towels-1-ply-9-x-9-5-white-250-pack-16-packs-case>: HTTP status code is not handled or not allowed 2026-01-27 22:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stain-remover-and-color-booster-powder-original-49-2-oz-box-4-case>: HTTP status code is not handled or not allowed 2026-01-27 22:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-plastic-storage-container-43-1-2-x-43-1-2-x-34-1-2>: HTTP status code is not handled or not allowed 2026-01-27 22:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-motor-cfswdm41903t-ip69-25-hp-1775-rpm-3-ph-60-hz-284t-c-4068m-tef-c-f>: HTTP status code is not handled or not allowed 2026-01-27 22:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounting-bracket-for-arrow-modular-units>: HTTP status code is not handled or not allowed 2026-01-27 22:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-infrared-vent-free-thermostatic-heater-irss18ngt-2n-18000-btu>: HTTP status code is not handled or not allowed 2026-01-27 22:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-36x24x60-2>: HTTP status code is not handled or not allowed 2026-01-27 22:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-washer-lock-black-14-5713651>: HTTP status code is not handled or not allowed 2026-01-27 22:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upper-shaft---vsf-14-5519729>: HTTP status code is not handled or not allowed 2026-01-27 22:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-osha-lockout-3-way-valve-for-standard-arrow-modular-units>: HTTP status code is not handled or not allowed 2026-01-27 22:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flextec-650x-multi-process-welder-w-crosslinc-technology-815a-5060hz-red>: HTTP status code is not handled or not allowed 2026-01-27 22:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-lab-coat-no-pockets-elastic-wrists-snap-front-single-collar-white-4xl-30cs>: HTTP status code is not handled or not allowed 2026-01-27 22:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-48x24x60-14>: HTTP status code is not handled or not allowed 2026-01-27 22:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6665-evaporative-cooling-vest-lime-large>: HTTP status code is not handled or not allowed 2026-01-27 22:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfswdm3615t-5e-ip69-5hp-1750rpm-3ph-60hz-184tc-3646m-tefc-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-sintered-muffler>: HTTP status code is not handled or not allowed 2026-01-27 22:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-for-dispatcher-locker-for-d1-series-in-the-2-mid-shelf-locations-30w-x-24d>: HTTP status code is not handled or not allowed 2026-01-27 22:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-midflow-regulator-with-gauge-t-handle-220-scfm>: HTTP status code is not handled or not allowed 2026-01-27 22:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-8-compartment-3>: HTTP status code is not handled or not allowed 2026-01-27 22:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-1-7-8-drywall-screw-phillips-bugle-head-black-phosphate-tek-self-drilling-pt-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kf-605f-24-foot-sealer-with-5mm-seal-width>: HTTP status code is not handled or not allowed 2026-01-27 22:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410-airug-anti-fatigue-mat-38-thick-2w-x-60l-black>: HTTP status code is not handled or not allowed 2026-01-27 22:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-beard-cover-100-latex-free-white-18-100bag-10-bagcase>: HTTP status code is not handled or not allowed 2026-01-27 22:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8225hl-class-2-standard-vest-orange-l-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-bi-level-drinking-fountain-pet-station-green>: HTTP status code is not handled or not allowed 2026-01-27 22:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-magnetic-switch-1-phase-5713041>: HTTP status code is not handled or not allowed 2026-01-27 22:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-20-compartment-8>: HTTP status code is not handled or not allowed 2026-01-27 22:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft---vsf-14-5519811>: HTTP status code is not handled or not allowed 2026-01-27 22:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versatile-single-storage-unassembled-46-3-4w-x-12d-x-33-7-8h>: HTTP status code is not handled or not allowed 2026-01-27 22:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a697-60-deluxe-razor-x-cutter-60>: HTTP status code is not handled or not allowed 2026-01-27 22:48:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jrt-jumbo-bath-tissue-septic-safe-2-ply-white-3-3-x-500-ft-12-case>: HTTP status code is not handled or not allowed 2026-01-27 22:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/downflex-prism-downdraft-table-208-230-v-3-ph-60-hz-black>: HTTP status code is not handled or not allowed 2026-01-27 22:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxx-legroom-wood-folding-table-30x96-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sms-lab-coat-3-pockets-knit-wrists-snap-front-knit-collar-white-xl-30case>: HTTP status code is not handled or not allowed 2026-01-27 22:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8205hl-class-2-super-econo-vest-orange-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-27 22:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-vantage-multi-process-welder-566x-deutz-600a-60-hz-silver>: HTTP status code is not handled or not allowed 2026-01-27 22:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/on-off-plate-5630211>: HTTP status code is not handled or not allowed 2026-01-27 22:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hnd-wheel-5630231>: HTTP status code is not handled or not allowed 2026-01-27 22:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-jrt-bath-tissue-septic-safe-2-ply-white-3-1-4-x-720-ft-12-rolls-case>: HTTP status code is not handled or not allowed 2026-01-27 22:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8245psv-public-safety-vest-orange-6xl-7xl>: HTTP status code is not handled or not allowed 2026-01-27 22:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rac-line-aluminum-straight-leg-dunnage-rack-60-lx20-wx12-h-6006>: HTTP status code is not handled or not allowed 2026-01-27 22:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions>: HTTP status code is not handled or not allowed 2026-01-27 22:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shcs-m6x10mm-5640431>: HTTP status code is not handled or not allowed 2026-01-27 22:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trough-coolant-screen-5711261>: HTTP status code is not handled or not allowed 2026-01-27 22:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyboard-tray-driftwood>: HTTP status code is not handled or not allowed 2026-01-27 22:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-security-lcd-computer-cabinet-black-2>: HTTP status code is not handled or not allowed 2026-01-27 22:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/37u-72-data-cabinet-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 22:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8oz-natural-hdpe-wide-mouth-round-bottle-48-400-neck-finish-250-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:48:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/chimney_caps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glazed-reception-desk-48wx26dx41-5h-driftwood>: HTTP status code is not handled or not allowed 2026-01-27 22:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-cantilever-solid-brute-shelf-24-wx36-l>: HTTP status code is not handled or not allowed 2026-01-27 22:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-l-deluxe-save-t-loc-strip-curtain-door-mounting-bracket-kit>: HTTP status code is not handled or not allowed 2026-01-27 22:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sm65-arch-strapping-machine-high-speed-automatic-850-x-600-9mm>: HTTP status code is not handled or not allowed 2026-01-27 22:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-615-knee-sleeve-open-patella-anterior-pad-black-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/382357-clampon-ground-resistance-tester-case-included>: HTTP status code is not handled or not allowed 2026-01-27 22:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bishamon-li-25k-power-scissor-li-table-48-l-x-28-w-2500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/893-filament-tape-12-x-60-yds-6-mil-clear-72pack>: HTTP status code is not handled or not allowed 2026-01-27 22:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26387 pages (at 94 pages/min), scraped 9785 items (at 23 items/min) 2026-01-27 22:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elec-comp-board-12t1t2t1ph-1et-1c-501>: HTTP status code is not handled or not allowed 2026-01-27 22:48:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/chimney_caps landed on page that is not a product page. 2026-01-27 22:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8249z-class-2-economy-surveyors-vest-orange-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-27 22:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-high-lift-skid-truck-gwk-l270dc-lw-fits-model-no-l270dc>: HTTP status code is not handled or not allowed 2026-01-27 22:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8210hl-class-2-economy-vest-lime-s-m>: HTTP status code is not handled or not allowed 2026-01-27 22:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-x-60mm-2-dram-clear-vial-w-15-425-black-phenolic-rubber-lined-cap-attached-144pk>: HTTP status code is not handled or not allowed 2026-01-27 22:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t1c-cobalt-jobbers-drill-bronze-oxide-38-6>: HTTP status code is not handled or not allowed 2026-01-27 22:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-1-mill-3-axis-newall-dp500-dro-knee-690675>: HTTP status code is not handled or not allowed 2026-01-27 22:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-6w-x-16l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-24-d-x-9-h-stacking-bin-sold-per-package-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carriage-bolt-m8-x-15-5784621>: HTTP status code is not handled or not allowed 2026-01-27 22:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-9w-x-16l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-vfswdl3506-ip69-75hp-3450rpm-1ph-60hz-56c-3516l-tefc-f1>: HTTP status code is not handled or not allowed 2026-01-27 22:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-shaft-5625081>: HTTP status code is not handled or not allowed 2026-01-27 22:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-twin-black-post-retracting-belt-barrier-ada-compliant-11-ft-yellow-authorized-belt>: HTTP status code is not handled or not allowed 2026-01-27 22:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-75-x-95mm-10-dram-vial-w-24-400-black-phenolic-rubber-lined-cap-attached-144pk>: HTTP status code is not handled or not allowed 2026-01-27 22:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-powder-coat-folding-bollard-42-h>: HTTP status code is not handled or not allowed 2026-01-27 22:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-15w-x-20l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-4w-x-28l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-twin-red-post-retracting-belt-barrier-ada-compliant-11-ft-red-belt>: HTTP status code is not handled or not allowed 2026-01-27 22:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7w-x-30l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-9w-x-20l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crew-sweatshirt-hi-vis-yellow-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-cover-10-gauge-vinyl-for-18-x-48-x-74-unit-zipper-closure-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crew-sweatshirt-hi-vis-orange-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/managers-desk-shell-medium-cherry-office-furniture-groupings-1>: HTTP status code is not handled or not allowed 2026-01-27 22:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lookout-gen-3-blue-led-clear-lens-48-light-bar-7905-b>: HTTP status code is not handled or not allowed 2026-01-27 22:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8365-class-3-rain-jacket-orange-3-x-large>: HTTP status code is not handled or not allowed 2026-01-27 22:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-75-x-50mm-10ml-amber-glass-crimp-neck-serum-vial-w-20mm-neck-finish-800pk>: HTTP status code is not handled or not allowed 2026-01-27 22:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulley-cover-assy-jdp-17mmffse-10909012a1>: HTTP status code is not handled or not allowed 2026-01-27 22:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-400-universal-wrist-wrap-tan-one-size>: HTTP status code is not handled or not allowed 2026-01-27 22:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-coat-rack-with-4-double-prong-hooks-silver>: HTTP status code is not handled or not allowed 2026-01-27 22:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-battery-powered-li-truck-261090-2000-lb-cap-80-h-24-x27-pltfrm>: HTTP status code is not handled or not allowed 2026-01-27 22:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8365-class-3-rain-jacket-lime-5-x-large>: HTTP status code is not handled or not allowed 2026-01-27 22:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-28w-x-40l-2-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-dummy-enclosure-only-30-series>: HTTP status code is not handled or not allowed 2026-01-27 22:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-dummy-enclosure-only-30-series>: HTTP status code is not handled or not allowed 2026-01-27 22:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-14w-x-14l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-14w-x-22l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-clear-jug-w-38-400-black-phenolic-solid-pe-cap-vacuum-4pk>: HTTP status code is not handled or not allowed 2026-01-27 22:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/web-sling-1-ply-eye-eye-12-long-1-wide>: HTTP status code is not handled or not allowed 2026-01-27 22:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breathable-foul-weather-coat-hi-viz-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5ml-sterile-grad-ldpe-transfer-pipet-individually-wrapped-pkd-in-bags-of-100-400pk>: HTTP status code is not handled or not allowed 2026-01-27 22:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-cotton-high-visibility-long-sleeve-t-shirt-with-pocket-orange-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-11w-x-24l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-clear-self-standing-desk-frame-for-8-1-2-x-11-insert-3-pack-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neo-thumb-wrist-wrap-navy-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neo-thumb-wrist-wrap-navy-large>: HTTP status code is not handled or not allowed 2026-01-27 22:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-dia-1-8-shank-1-4-loc-1-1-2-oal-4-flute-solid-carbide-single-end-mill-uncoated>: HTTP status code is not handled or not allowed 2026-01-27 22:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-5w-x-7l-6-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7-12w-x-7-12l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-premium-wicking-hoodie-hi-viz-orange-3xl>: HTTP status code is not handled or not allowed 2026-01-27 22:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-4-1-8-w-x-11-5-8-d-x-6-h-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-paper-wiper-4-ply-8-1-2-x-16-1-2-blue-90-towels-bx-10-bx-carton-440245a>: HTTP status code is not handled or not allowed 2026-01-27 22:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-hp-60-gallon-230v-ingersoll-rand-air-compressor>: HTTP status code is not handled or not allowed 2026-01-27 22:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-inplant-office-w-1-window-class-c-10-w-x-12-d-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-wheels-must-be-chocked-before-10x14-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-hard-hat-area-10x14-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-hat-sweatband-w-neck-shade-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3kas6wht-laminated-steel-safety-padlock-1-916w-x-34h-shackle-white-6set>: HTTP status code is not handled or not allowed 2026-01-27 22:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s31ltylw-safety-padlock-1-38w-x-3h-shackle-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/separator-w-single-clamping-spindle-5-16-8-mm-to-2-3-8-60-mm-used-w-18-0-pulling-device>: HTTP status code is not handled or not allowed 2026-01-27 22:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-standard-wicking-t-shirt-with-pocket-ansi-hi-viz-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miracool-terry-lined-ranger-hat-khaki-medium>: HTTP status code is not handled or not allowed 2026-01-27 22:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s33teal-snap-lock-safety-padlock-1-38w-x-1-12h-teal>: HTTP status code is not handled or not allowed 2026-01-27 22:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-8w-x-9l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kas6ylw-safety-padlock-1-12w-x-1-12h-yellow-6set>: HTTP status code is not handled or not allowed 2026-01-27 22:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/separating-set-with-pulling-device-7-8-22-mm-to-4-1-2-115-mm-open>: HTTP status code is not handled or not allowed 2026-01-27 22:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-parking-18x12-040-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/private-parking-unauthorized-cars-will-be-towed-18x12-040-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reserved-parking-for-18x12-063-aluminum2>: HTTP status code is not handled or not allowed 2026-01-27 22:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scratch-pads-unruled-3-x-5-white-100-sheetspad-12pack>: HTTP status code is not handled or not allowed 2026-01-27 22:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26485 pages (at 98 pages/min), scraped 9811 items (at 26 items/min) 2026-01-27 22:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miracool-snap-on-hard-hat-sweatband-navy>: HTTP status code is not handled or not allowed 2026-01-27 22:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartfit-detectable-triple-flange-earplug-25nrr-sdt-30>: HTTP status code is not handled or not allowed 2026-01-27 22:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/checklite-safety-glassesuncoated-clear-lens-cl010>: HTTP status code is not handled or not allowed 2026-01-27 22:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-jaw-self-centering-puller-15-ton-capacity-1-4-to-2-3-8-open-2-reach->: HTTP status code is not handled or not allowed 2026-01-27 22:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knob-41002-41>: HTTP status code is not handled or not allowed 2026-01-27 22:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-cotton-high-visibility-t-shirt-lime-small>: HTTP status code is not handled or not allowed 2026-01-27 22:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3lhred-laminated-steel-safety-padlock-1-916w-x-2h-shackle-red>: HTTP status code is not handled or not allowed 2026-01-27 22:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-cotton-high-visibility-t-shirt-orange-small>: HTTP status code is not handled or not allowed 2026-01-27 22:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-3w-x-7l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-vise-fmz-with-clamp>: HTTP status code is not handled or not allowed 2026-01-27 22:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-bucket-seat-adjustable-height-barstool-vinyl-black>: HTTP status code is not handled or not allowed 2026-01-27 22:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-3-tier-12-x-15-x-24-9-door-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-27 22:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washout-construction-washout-corrugated-cardboard-50-gallon-30-l-x-30-w-x-14-h>: HTTP status code is not handled or not allowed 2026-01-27 22:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capri-comfortable-sleep-12-inch-memory-foam-and-pocket-spring-mattress-full-size>: HTTP status code is not handled or not allowed 2026-01-27 22:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anchor-concrete-bolt-on-2104560>: HTTP status code is not handled or not allowed 2026-01-27 22:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-triple-tier-12x18x24-9-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-12x15x60-3-door-ready-assemble-parchment>: HTTP status code is not handled or not allowed 2026-01-27 22:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pans-28-1598-tru810231>: HTTP status code is not handled or not allowed 2026-01-27 22:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-12x12x72-1-door-ready-assemble-parchment>: HTTP status code is not handled or not allowed 2026-01-27 22:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-10w-x-24l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metaltech-aluminum-maxi-drywall-baker-scaffold-74l-x-29-1-2w-x-75h>: HTTP status code is not handled or not allowed 2026-01-27 22:50:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoses-32-1374-cle08510>: HTTP status code is not handled or not allowed 2026-01-27 22:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harn-pt-1d-xl-first-ab17510-xl>: HTTP status code is not handled or not allowed 2026-01-27 22:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boltless-luggage-garment-rack-combo-48-x-48-x-84>: HTTP status code is not handled or not allowed 2026-01-27 22:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-static-shielding-bags-4w-x-5l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-27 22:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-gh-1340w-gh1440w-04-03>: HTTP status code is not handled or not allowed 2026-01-27 22:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30319235>: HTTP status code is not handled or not allowed 2026-01-27 22:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-jbj12-33>: HTTP status code is not handled or not allowed 2026-01-27 22:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/timetrax-elite-time-and-attendance-system>: HTTP status code is not handled or not allowed 2026-01-27 22:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-12w-x-18l-6-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 22:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-triple-tier-12x15x24-3-door-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:50:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-27 22:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-triple-tier-12x18x24-3-door-parchment>: HTTP status code is not handled or not allowed 2026-01-27 22:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activated-carbon-filtration-with-3-fnpt-connections>: HTTP status code is not handled or not allowed 2026-01-27 22:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-triple-tier-12x18x24-9-door-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-plug-body-with-industrial-profile-1-4-fnpt-connection-used-with-isi-coupling>: HTTP status code is not handled or not allowed 2026-01-27 22:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-static-shielding-bags-5w-x-10l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-27 22:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-l-x-2-w-duckbill-trowel-wood-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-six-tier-12x18x12-6-door-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-515-wonder-bar-pry-bar-12-3-4-inch-long>: HTTP status code is not handled or not allowed 2026-01-27 22:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seals-26-4154-hos4a3820-01>: HTTP status code is not handled or not allowed 2026-01-27 22:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-plug-body-with-automotive-truflate-profile-3-8-fnpt-connection-used-w-usi-coupling>: HTTP status code is not handled or not allowed 2026-01-27 22:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filling-block-fk350-310>: HTTP status code is not handled or not allowed 2026-01-27 22:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fix-plate-cos18-155>: HTTP status code is not handled or not allowed 2026-01-27 22:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shell-reamer-arbor-morse-taper-shank-mt4-x-1-inch>: HTTP status code is not handled or not allowed 2026-01-27 22:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-21w-x-54l-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-single-tier-12x15x60-1-door-assembled-champagne-2>: HTTP status code is not handled or not allowed 2026-01-27 22:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-single-tier-12x15x60-3-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torsion-spring-hbs814gh-800-12>: HTTP status code is not handled or not allowed 2026-01-27 22:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-fittings-1-4-equal-union-w-tube>: HTTP status code is not handled or not allowed 2026-01-27 22:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-16in-w-30in-d-top-step-steel-rolling-ladder-perforated-tread-36in-handrail-kdsr102166-d3>: HTTP status code is not handled or not allowed 2026-01-27 22:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-20w-x-10d-x-36h-2-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-27 22:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermostats-46-1000-gro009730>: HTTP status code is not handled or not allowed 2026-01-27 22:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-3-8-industrial-interchange-with-1-2-hose-barb-connection>: HTTP status code is not handled or not allowed 2026-01-27 22:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-3w-x-12l-6-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:50:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-18w-x-30l-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motors-68-1073-hen25753>: HTTP status code is not handled or not allowed 2026-01-27 22:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceiling-kit-2-ton-2-5-ton-air-conditioners-1>: HTTP status code is not handled or not allowed 2026-01-27 22:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-5w-x-10l-6-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-mill-holder-nst-nmtb-40-shank-1-2-inch-type-7620-40-1-2-2-qc>: HTTP status code is not handled or not allowed 2026-01-27 22:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/assembly-fastening-kits-m-47>: HTTP status code is not handled or not allowed 2026-01-27 22:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-24in-w-30in-d-top-step-steel-rolling-ladder-perforated-tread-36in-handrail-kdsr111246-d3>: HTTP status code is not handled or not allowed 2026-01-27 22:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/826-00-knee-pad-plastic-hard-shell-cover-foam-pad-dual-straps-plastic-button-closure>: HTTP status code is not handled or not allowed 2026-01-27 22:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks>: HTTP status code is not handled or not allowed 2026-01-27 22:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-rule-6-x-150mm-1-32-1-64-1mm-1-2mm-3-64-thick-x-3-4-wide-satin-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-27 22:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apwk724nfss-window-kit-700x2400-950x2650x31-ss>: HTTP status code is not handled or not allowed 2026-01-27 22:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spd-label-jmlvs-90>: HTTP status code is not handled or not allowed 2026-01-27 22:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-cap-316-jsm4140-26>: HTTP status code is not handled or not allowed 2026-01-27 22:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-18w-x-48l-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-parts-bags-with-hang-hole-8w-x-10l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26583 pages (at 98 pages/min), scraped 9839 items (at 28 items/min) 2026-01-27 22:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-ready-set-staple-belt-lacing-galvanized-rs62j18>: HTTP status code is not handled or not allowed 2026-01-27 22:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a6648t1t-wire-trough-type-1-600x600x4800-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 22:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-od-polyurethane-tubing-natural-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-long-stacking-box-48-x-15-x-7-1-2-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosed-three-phase-disconnect-manual-motor-controller>: HTTP status code is not handled or not allowed 2026-01-27 22:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-double-tier-15x18x36-6-door-assembled-2>: HTTP status code is not handled or not allowed 2026-01-27 22:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a42p36-panel-nema-12-3900x3300-fits-42x36-steelwhite>: HTTP status code is not handled or not allowed 2026-01-27 22:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-19-inch-adjustable-height-steel-work-platform-5inh-to-8inh-mcos24195>: HTTP status code is not handled or not allowed 2026-01-27 22:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repeat-cycle-timer-0-60-sec-dpdt-120-vac>: HTTP status code is not handled or not allowed 2026-01-27 22:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-mm-od-polyurethane-tubing-blue-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-27 22:51:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/bin_cabinets/stationary_bin_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck23-311-contactor-3-pole-460v>: HTTP status code is not handled or not allowed 2026-01-27 22:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-plastic-step-stand-19-1-2-w-x-13-1-2-d-x-12-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/convoluted-foam-bed-pad-mattress-topper-hospital-size-blue-33-x-72-x-4-inch>: HTTP status code is not handled or not allowed 2026-01-27 22:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/890msr-filament-tape-34-x-60-yds-8-mil-clear-48pack>: HTTP status code is not handled or not allowed 2026-01-27 22:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22mm-non-metallic-non-illuminated-round-flush-button-black>: HTTP status code is not handled or not allowed 2026-01-27 22:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-leverleft-ghd-2020pf-2401067>: HTTP status code is not handled or not allowed 2026-01-27 22:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-ring-15x24-zx-lathes-zx-ca23>: HTTP status code is not handled or not allowed 2026-01-27 22:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aslda-safety-lockout-dual-access-steelred>: HTTP status code is not handled or not allowed 2026-01-27 22:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-copper-tube-zx-lathes-zx-ca75>: HTTP status code is not handled or not allowed 2026-01-27 22:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/bin_cabinets/stationary_bin_cabinets>: HTTP status code is not handled or not allowed 2026-01-27 22:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f22t24hc-wire-trough-hinged-cover-250x250x2400-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 22:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rakes-r-10fg>: HTTP status code is not handled or not allowed 2026-01-27 22:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-8x30-zx-h236>: HTTP status code is not handled or not allowed 2026-01-27 22:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/angle-flange-4-inch-diameter-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 22:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drill-mill-spindle-1820171>: HTTP status code is not handled or not allowed 2026-01-27 22:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-infrared-heater-091015ngu-u-configuration-15-l-100000-btu>: HTTP status code is not handled or not allowed 2026-01-27 22:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-corner-bumper-guard-b-plus-edge-39-inches-long-by-2inches-wide-black-60-6890>: HTTP status code is not handled or not allowed 2026-01-27 22:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-9w-x-12l-2-mil-green-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-stacking-box-top-overall-dimensions-26l-x-20w-x-1-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 22:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-bulk-box-6-bushel-truck-direct-mount-base-red>: HTTP status code is not handled or not allowed 2026-01-27 22:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-6w-x-4d-x-12h-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-bulk-box-12-bushel-truck-steel-chassis-base-red>: HTTP status code is not handled or not allowed 2026-01-27 22:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scale-1200-15-3684208>: HTTP status code is not handled or not allowed 2026-01-27 22:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goliath-eyewear-gray-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dark-blue-cap-style-4-point-ratchet-suspension-hard-hat>: HTTP status code is not handled or not allowed 2026-01-27 22:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63mm-smh-load-chain-for-smh-1t-187725>: HTTP status code is not handled or not allowed 2026-01-27 22:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/salerno-series-high-back-red-mesh-office-chair>: HTTP status code is not handled or not allowed 2026-01-27 22:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-oz-bottle-super-lube-air-tool-lubricant>: HTTP status code is not handled or not allowed 2026-01-27 22:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmxtreme-eyewear-infinity-blue-lens-with-black-frame-cord>: HTTP status code is not handled or not allowed 2026-01-27 22:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-tread-rib-pattern-48-w-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1400-strapping-tape-1-x-60-yds-43-mil-clear-12pack>: HTTP status code is not handled or not allowed 2026-01-27 22:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-23w-x-17d-x-46h-4-mil-clear-50pack>: HTTP status code is not handled or not allowed 2026-01-27 22:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-gal-bottle-super-lube-synthetic-gear-oil-iso-220>: HTTP status code is not handled or not allowed 2026-01-27 22:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-shrink-bags-100-ga-12w-x-10l-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 22:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gal-pail-syncopen-synthetic-penetrant-bulk-metal-protectant>: HTTP status code is not handled or not allowed 2026-01-27 22:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-20w-x-18d-x-36h-4-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-27 22:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tinted-shopping-bags-16w-x-6d-x-12h-buttercup-250pack>: HTTP status code is not handled or not allowed 2026-01-27 22:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lumecel-autofoam-dispenser-white-black-1980831>: HTTP status code is not handled or not allowed 2026-01-27 22:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-flow-rack-add-on-4>: HTTP status code is not handled or not allowed 2026-01-27 22:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-standing-mat-16-x-28-safety-edges-waterproof-foam-meets-flammability-standard>: HTTP status code is not handled or not allowed 2026-01-27 22:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-26w-x-24d-x-48h-2-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-27 22:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-half-skid-24x24>: HTTP status code is not handled or not allowed 2026-01-27 22:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-assembly-8>: HTTP status code is not handled or not allowed 2026-01-27 22:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-cfm-breather-box-2-outlets-schrader-fitting-bb30-co>: HTTP status code is not handled or not allowed 2026-01-27 22:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-aah-48rbmag1-b-storage-cabinet-assembled-48x24x72-black>: HTTP status code is not handled or not allowed 2026-01-27 22:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2-readers-eyewear-clear-3-0-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-27 22:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-x-12-breathing-air-rated-hose-hansen-fittings-h-100-5>: HTTP status code is not handled or not allowed 2026-01-27 22:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-aah-36rb-g-storage-cabinet-assembled-36x18x72-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-hanford-single-post-with-ornate-base-e1-economy-mailbox>: HTTP status code is not handled or not allowed 2026-01-27 22:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hon-310-series-5-drawer-vertical-file-26-d-legal-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/casing-nut-assy-c-3-2901150>: HTTP status code is not handled or not allowed 2026-01-27 22:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-scale-truck-pallet-scale-jack-with-weight-indicator-4400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-cabinet-36-x-18-x-48>: HTTP status code is not handled or not allowed 2026-01-27 22:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4930-double-sided-foam-tape-1-x-5-yds-25-mil-white>: HTTP status code is not handled or not allowed 2026-01-27 22:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-foot-x-30-foot-heavy-duty-white-tarp>: HTTP status code is not handled or not allowed 2026-01-27 22:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-one-jumbo-mesh-pencil-cup-black>: HTTP status code is not handled or not allowed 2026-01-27 22:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-7-anti-bacterial-8-way-adjustable-stool-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-stainless-steel-storage-cabinet-36-x-24-x-60>: HTTP status code is not handled or not allowed 2026-01-27 22:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offices-to-go-visual-board-cabinet-48-wx48d-walnut>: HTTP status code is not handled or not allowed 2026-01-27 22:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-cottered-pin-roller-chain-80-1c-1-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-27 22:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26682 pages (at 99 pages/min), scraped 9868 items (at 29 items/min) 2026-01-27 22:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-production-workbench-esd-laminate-square-edge-complete-bench-tan>: HTTP status code is not handled or not allowed 2026-01-27 22:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-auto-shift-hydraulic-scissor-lift-cart-200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-5051081>: HTTP status code is not handled or not allowed 2026-01-27 22:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-16-x-10-x-5-200-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-seal-ref-10--1230-s-5232551>: HTTP status code is not handled or not allowed 2026-01-27 22:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4016-double-sided-foam-tape-2-x-5-yds-625-mil-natural>: HTTP status code is not handled or not allowed 2026-01-27 22:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/casing-nut-assy-c2-2900170>: HTTP status code is not handled or not allowed 2026-01-27 22:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Utility-AirSpade-ASU4002EX-4000-2Ft-Extension-With-Coupler>: HTTP status code is not handled or not allowed 2026-01-27 22:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-24-x-30-double-shelf-shop-stand-shop-top-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-mdl-ghbbdb-1340a-5707>: HTTP status code is not handled or not allowed 2026-01-27 22:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-62042z-5051461>: HTTP status code is not handled or not allowed 2026-01-27 22:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-disc-769f-05919-t27-5-x-7-8-in-80-yf-weight-10-per-case>: HTTP status code is not handled or not allowed 2026-01-27 22:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-0913b-9l-cut-resistant-gloves-smooth-nitrile-coating-a5-e-size-9>: HTTP status code is not handled or not allowed 2026-01-27 22:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-double-roller-chain-25-2r-1-4-pitch-offset-link>: HTTP status code is not handled or not allowed 2026-01-27 22:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-jtm-4vs-key6645>: HTTP status code is not handled or not allowed 2026-01-27 22:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-2000-ht130-150-scfm-with-4-barrel>: HTTP status code is not handled or not allowed 2026-01-27 22:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-flange-jmd15-226>: HTTP status code is not handled or not allowed 2026-01-27 22:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-foot-x-40-foot-heavy-duty-white-tarp>: HTTP status code is not handled or not allowed 2026-01-27 22:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-island-bench-black-double-door-6x2>: HTTP status code is not handled or not allowed 2026-01-27 22:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rociaplanar-led-industrial-task-light-dimming-art-arm-100-240v-18w>: HTTP status code is not handled or not allowed 2026-01-27 22:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linuraedge-slim-profile-led-light-22-26v-dc-21w-acrylic-407>: HTTP status code is not handled or not allowed 2026-01-27 22:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-recessed-handle-triple-tier-locker-12x15x24-assembled-1-wide-champagne>: HTTP status code is not handled or not allowed 2026-01-27 22:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-decking-58-l-x-36-d-3380-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-27 22:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40192-hose-adapter-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-scale-jtm-1050-1050c-3>: HTTP status code is not handled or not allowed 2026-01-27 22:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-decking-58-l-x-48-d-2720-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-27 22:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-50-incline-ladder-24-inch-w-grip-strut>: HTTP status code is not handled or not allowed 2026-01-27 22:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clampgo-drum-dolly-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-8w-x-30l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 22:52:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/left-blade-jsm-204s-20438>: HTTP status code is not handled or not allowed 2026-01-27 22:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crossover-bridge-20-inch-l-x-24-inch-w-perforated>: HTTP status code is not handled or not allowed 2026-01-27 22:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polypropylene-bags-3l-x-2w-15-mil-clear-10000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-8w-x-5l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unsupported-6-step-30-inch-cantilever-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-27 22:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-12w-x-15l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 22:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05075su-f13t5ww-13w-fluorescent-t5-bulb-mini-bipin-warm-white>: HTTP status code is not handled or not allowed 2026-01-27 22:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41110-20-30-grit-urea-plastic-10-lbs>: HTTP status code is not handled or not allowed 2026-01-27 22:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dividable-tip-out-bin-4-clear-dividers>: HTTP status code is not handled or not allowed 2026-01-27 22:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4001244-bottle-blaster-80-110-cast-aluminum-plastic>: HTTP status code is not handled or not allowed 2026-01-27 22:52:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-27 22:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brake-lock-block-jtm-1050-pvs-054>: HTTP status code is not handled or not allowed 2026-01-27 22:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30450su-f54t5865ho-54w-fluorescent-t5-mini-bipin-bulb-daylight>: HTTP status code is not handled or not allowed 2026-01-27 22:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40059-5-16-id-ceramic-nozzle-20-cfm-siphon>: HTTP status code is not handled or not allowed 2026-01-27 22:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wla-led-workstation-light-3000-850-t-120-277v-37w-354>: HTTP status code is not handled or not allowed 2026-01-27 22:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lumatris-led-msal-96-s-24v-dc-32w-side-connection-lighting-forming-303-x-37>: HTTP status code is not handled or not allowed 2026-01-27 22:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-single-stream-bronze-vein-15-gal-mixed-recycle-m-1242>: HTTP status code is not handled or not allowed 2026-01-27 22:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-push-button-for-outdoor-drinking-fountains-bottle-fillers>: HTTP status code is not handled or not allowed 2026-01-27 22:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sloped-rim-trays-15-alum-pizza-tray-040-thick>: HTTP status code is not handled or not allowed 2026-01-27 22:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bib20-bench-in-a-box-cantilever-workbench-60-w-x-30-d-esd-laminate-top-dark-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-qt-1-2-size-steam-table-pan-anti-jam-22-ga>: HTTP status code is not handled or not allowed 2026-01-27 22:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-27 22:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40015-portable-blast-kit-rubber-cast-aluminum-steel>: HTTP status code is not handled or not allowed 2026-01-27 22:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-diamond-grip-rubber-runner-mats-2mm-x-4-x-40-rubber-flooring-rolls-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/icing-spatula-12-x-175>: HTTP status code is not handled or not allowed 2026-01-27 22:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-1791075b-pm1900-collection-and-filter-bag-kit>: HTTP status code is not handled or not allowed 2026-01-27 22:52:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/office_machine_accessories/3d_printer_filaments_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-anystream-icon-8-jet-showerhead-polished-chrome-finish-2-5-gpm>: HTTP status code is not handled or not allowed 2026-01-27 22:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sketch-pla-filament-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40249-cloth-lined-blast-gloves-premium-rubber>: HTTP status code is not handled or not allowed 2026-01-27 22:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-polypropylene-bags-3l-x-2w-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-anystream-hotel-4-1-4-dia-5-jet-showerhead-polished-chrome-finish-2-0-gpm>: HTTP status code is not handled or not allowed 2026-01-27 22:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-upright-vacuum-12-cleaning-path>: HTTP status code is not handled or not allowed 2026-01-27 22:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35-oz-ss-scoops>: HTTP status code is not handled or not allowed 2026-01-27 22:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-handle-60-x-30-structural-foam-plastic-platform-trucks>: HTTP status code is not handled or not allowed 2026-01-27 22:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26776 pages (at 94 pages/min), scraped 9898 items (at 30 items/min) 2026-01-27 22:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_machines/office_machine_accessories/3d_printer_filaments_accessories>: HTTP status code is not handled or not allowed 2026-01-27 22:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a6044sc-screw-cover-type-12-600x400x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 22:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-conductor-foil-shield-10-conductors-22-awg-7-30-tc-gy>: HTTP status code is not handled or not allowed 2026-01-27 22:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-3w-x-8l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-conductor-unshielded-plenum-cable-4-conductor-18-awg-7-26-bc-natural2>: HTTP status code is not handled or not allowed 2026-01-27 22:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-athletic-sneakers-water-and-oil-resistant-size-13m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piston-jet-1t-t30201020>: HTTP status code is not handled or not allowed 2026-01-27 22:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-dominator-extra-stripping-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-27 22:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/service-sink-faucet-rough-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-slip-on-shoes-size-105m-white>: HTTP status code is not handled or not allowed 2026-01-27 22:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-removable-foam-tape-12-x-36-yds-625-mil-white-24pack>: HTTP status code is not handled or not allowed 2026-01-27 22:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-18w-x-24l-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 22:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a404nf-j-box-clamp-cover-type-4-400x400x300-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 22:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-sign-glow-acrylic-5-3-4-x-8-3-4>: HTTP status code is not handled or not allowed 2026-01-27 22:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-packing-workbench-maple-butcher-block-safety-edge-72-x-36-with-riser-kit>: HTTP status code is not handled or not allowed 2026-01-27 22:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-packing-workbench-esd-square-edge-60-x-36-with-riser-kit>: HTTP status code is not handled or not allowed 2026-01-27 22:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-nut-and-bolt-assembly-mdl-648hd-2648003>: HTTP status code is not handled or not allowed 2026-01-27 22:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-comp-toe-athletic-sneakers-size-55m-black>: HTTP status code is not handled or not allowed 2026-01-27 22:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-gal-ibc-hose-kit-for-2-bung-aluminum-nozzle>: HTTP status code is not handled or not allowed 2026-01-27 22:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-electronic-workbench-esd-safety-edge-72-x-36-with-riser-kit>: HTTP status code is not handled or not allowed 2026-01-27 22:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanco-full-featured-coverall-7-5-oz-100-fr-cotton-tan-khaki-frc681tn-2xl>: HTTP status code is not handled or not allowed 2026-01-27 22:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optiloc-3-sections-14>: HTTP status code is not handled or not allowed 2026-01-27 22:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cllr-54a-6296151>: HTTP status code is not handled or not allowed 2026-01-27 22:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-with-legs-self-close-door-45-gallon>: HTTP status code is not handled or not allowed 2026-01-27 22:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a20n20alp-medium-type-1-enclosure-2000x2000x662-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 22:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-barrier-fastener-plastic-metal-red-ms4>: HTTP status code is not handled or not allowed 2026-01-27 22:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapeless-seal-wall-mount-plastic-black-sbr4>: HTTP status code is not handled or not allowed 2026-01-27 22:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warehouse-broom-yucca-corn-fiber-bristles>: HTTP status code is not handled or not allowed 2026-01-27 22:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-resin-stack-chair-white-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 22:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-tampico-floor-brush-head-24>: HTTP status code is not handled or not allowed 2026-01-27 22:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-14w-x-20l-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-27 22:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-loaded-pole-kit-stainless-steel-silver-slp4>: HTTP status code is not handled or not allowed 2026-01-27 22:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotor-jsm5130-15>: HTTP status code is not handled or not allowed 2026-01-27 22:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-lady-industrial-cruiser-hd-105-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-2-drawer-with-plastic-top-workbench>: HTTP status code is not handled or not allowed 2026-01-27 22:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-steel-desk-single-left-pedestal-30-66-black-walnut>: HTTP status code is not handled or not allowed 2026-01-27 22:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-door-gate-48-w-x-40-h-986577>: HTTP status code is not handled or not allowed 2026-01-27 22:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madera-elongated-flushometer-valve-toilet-1>: HTTP status code is not handled or not allowed 2026-01-27 22:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-pin-jsm-6196195b-sm-61952>: HTTP status code is not handled or not allowed 2026-01-27 22:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urine-digester-with-odor-neutralizer-lemon-gallon-bottle-4-bottles-case>: HTTP status code is not handled or not allowed 2026-01-27 22:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tet1gnc32-exposed-eco-16-gpf-efv-wvb9cp32-accessory-kit-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:53:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/125-lf-34-12-reducing-coupling-npt-female>: HTTP status code is not handled or not allowed 2026-01-27 22:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commode-floor-guard-mat-urinal-mount-fresh-scent-6-case>: HTTP status code is not handled or not allowed 2026-01-27 22:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a884gsc-galvanized-box-screw-cover-800x800x400-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 22:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-gallon-sharps-container-8-1-2w-x-7-1-4d-x-10h>: HTTP status code is not handled or not allowed 2026-01-27 22:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jbc-revolution-28-reflective-traffic-cone-red-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 22:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-housing-jsm5130-01>: HTTP status code is not handled or not allowed 2026-01-27 22:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-wall-mounted-stainless-steel-receptacle-11-gallon>: HTTP status code is not handled or not allowed 2026-01-27 22:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1614nf-j-box-clamp-cover-type-4-1600x1400x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 22:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats>: HTTP status code is not handled or not allowed 2026-01-27 22:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a84xd3ew18ftclp-sequestr-external-disc-pkg-3-door-wo-panel-8412x11875x1812>: HTTP status code is not handled or not allowed 2026-01-27 22:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frontier-scraper-mat-dark-gray-3-x-5>: HTTP status code is not handled or not allowed 2026-01-27 22:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fae-6017-first-aid-guide-refill-kit>: HTTP status code is not handled or not allowed 2026-01-27 22:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-oz-wall-block-with-hanger-cherry-scent-6-case>: HTTP status code is not handled or not allowed 2026-01-27 22:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-316-cast-hex-locknut-2-npt-female>: HTTP status code is not handled or not allowed 2026-01-27 22:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-304-cast-reducing-coupling-4-x-2-npt-female>: HTTP status code is not handled or not allowed 2026-01-27 22:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silencer-25-6290396>: HTTP status code is not handled or not allowed 2026-01-27 22:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-butts-smoking-shelters-back-to-wall-4-sided-3-6-x-10-4>: HTTP status code is not handled or not allowed 2026-01-27 22:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a8r84nk-screw-cover-type-3r-800x800x400>: HTTP status code is not handled or not allowed 2026-01-27 22:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a16126gsc-galvanized-box-screw-cover-1600x1200x600-galvanized>: HTTP status code is not handled or not allowed 2026-01-27 22:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-313a-angle-sander>: HTTP status code is not handled or not allowed 2026-01-27 22:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-kit-1-id-x-300l>: HTTP status code is not handled or not allowed 2026-01-27 22:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barrier-post-mirror>: HTTP status code is not handled or not allowed 2026-01-27 22:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-arm-spring-return-hose-reel-300-psi-38-id-x-75l>: HTTP status code is not handled or not allowed 2026-01-27 22:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-dolly-55-gal-green>: HTTP status code is not handled or not allowed 2026-01-27 22:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccs2wjhlg-wall-joint-horizontal-p-arm-fits-45x60mm-alumltgray>: HTTP status code is not handled or not allowed 2026-01-27 22:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-horizontal-rail-satin>: HTTP status code is not handled or not allowed 2026-01-27 22:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tubing-90-degree-elbow>: HTTP status code is not handled or not allowed 2026-01-27 22:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-hands-free-ceiling-or-wall-vent-grille-vent-register-cover-w-3-way-reflexctor-4-x-10>: HTTP status code is not handled or not allowed 2026-01-27 22:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-grease-gun-kit-with-18v-lxt-3ah-lithium-ion-battery>: HTTP status code is not handled or not allowed 2026-01-27 22:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a12n126-small-type-1-enclosure-1200x1200x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 22:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-bookcase-34-1-2-w-x-13-d-x-42-h-black>: HTTP status code is not handled or not allowed 2026-01-27 22:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-return-air-vent-grille-vent-cover-24-x-8>: HTTP status code is not handled or not allowed 2026-01-27 22:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26875 pages (at 99 pages/min), scraped 9925 items (at 27 items/min) 2026-01-27 22:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-unit-5-tier-60w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-side-locker-5-shelves-19w-x-21d-x-56-12h-matte-black-with-black-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-roller-cabinet-6-drawers-41w-x-25d-x-41-1316h-orange-with-black-drawer-pulls>: HTTP status code is not handled or not allowed 2026-01-27 22:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-pro-power-workstation-hutch-roller-cabinet-55w-x-25d-black-with-blue-dr-pulls>: HTTP status code is not handled or not allowed 2026-01-27 22:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a60x4912lpftc-2-door-wfloor-stands-disc-encl-6012x4975x1212-paint>: HTTP status code is not handled or not allowed 2026-01-27 22:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vise-jaw-insert-9180-181>: HTTP status code is not handled or not allowed 2026-01-27 22:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bad-boy-chrome>: HTTP status code is not handled or not allowed 2026-01-27 22:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-manifold-34-npt-inlet-x-34-npt-outlet-5-ports>: HTTP status code is not handled or not allowed 2026-01-27 22:54:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_stackers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-galvanized-steel-load-stabilizer-2-o-d>: HTTP status code is not handled or not allowed 2026-01-27 22:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-connector-sets-regulator-to-hose-connector-set-145-psi-fueloxygen>: HTTP status code is not handled or not allowed 2026-01-27 22:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a10106chfl-continuous-hinge-wquick-turn-fast-latch-type-4-1000x1000x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-27 22:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-starter-unit-5-tier-72w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-pro-power-workstation-hutch-roller-cabinet-72w-x-25d-black-with-blue-dr-pulls>: HTTP status code is not handled or not allowed 2026-01-27 22:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-2-od-x-19-316l>: HTTP status code is not handled or not allowed 2026-01-27 22:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-gauge-part-replacement-for-kerosene-heater>: HTTP status code is not handled or not allowed 2026-01-27 22:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/windex-non-ammoniated-multi-surface-cleaner-128-oz-bottle-4-case-697262>: HTTP status code is not handled or not allowed 2026-01-27 22:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-greenhouse-kit-20w-x-107h-x-36l-natural-gas>: HTTP status code is not handled or not allowed 2026-01-27 22:54:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_stackers landed on page that is not a product page. 2026-01-27 22:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4916v-two-stage-air-compressor-5hp-60-gallon-vertical-230v-single-phase>: HTTP status code is not handled or not allowed 2026-01-27 22:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-2-layer-epoxy-system-2500-sq-ft-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bracket-jwbs-18-jwbs18-121>: HTTP status code is not handled or not allowed 2026-01-27 22:54:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-wall-desk-single-size-manual-close-combination-lock-cherry>: HTTP status code is not handled or not allowed 2026-01-27 22:54:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/wall_mount_desks_workstations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vulcan-shine-round-flame-tower-heater-32000-btu-hammered-bronze>: HTTP status code is not handled or not allowed 2026-01-27 22:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34x12x48-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides-gas-heater>: HTTP status code is not handled or not allowed 2026-01-27 22:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-72w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-clearview-storage-cabinet-24x24x54>: HTTP status code is not handled or not allowed 2026-01-27 22:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-computer-cabinet-27w-x-24d-x-50h-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440106627-utility-cloth-sheet-314d-9w-x-11l-p180-grit>: HTTP status code is not handled or not allowed 2026-01-27 22:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-model-201planer-6012103>: HTTP status code is not handled or not allowed 2026-01-27 22:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/majestic-greenhouse-28w-x-60l-drop-down-w-film>: HTTP status code is not handled or not allowed 2026-01-27 22:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-buna-n-pvc-strip-120-l-x-2-w-x-1-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-27 22:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_machines>: HTTP status code is not handled or not allowed 2026-01-27 22:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/wall_mount_desks_workstations>: HTTP status code is not handled or not allowed 2026-01-27 22:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-14-foot-w-fits-3-1-2-inches-to-4-1-2-inches-dia-brsn-414-5>: HTTP status code is not handled or not allowed 2026-01-27 22:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x48-solar-star-greenhouse-w-poly-top-and-ends-drop-down-sides-prop-heater>: HTTP status code is not handled or not allowed 2026-01-27 22:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-24w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-2-layer-epoxy-system-2500-sq-ft-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-cogged-bx-v-belt-bx76>: HTTP status code is not handled or not allowed 2026-01-27 22:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-3-layer-epoxy-system-5000-sq-ft-charcoal-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorola-ultra-capacity-lithium-ion-battery-rdx>: HTTP status code is not handled or not allowed 2026-01-27 22:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-drive-pf3-48-6288948>: HTTP status code is not handled or not allowed 2026-01-27 22:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/support-plate--upper-150606w>: HTTP status code is not handled or not allowed 2026-01-27 22:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-spindle-assembly-30105000i>: HTTP status code is not handled or not allowed 2026-01-27 22:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sol-glow-infrared-pendant-electric-heater-with-remote-control-1500w-120v-white>: HTTP status code is not handled or not allowed 2026-01-27 22:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/66050-lockout-tag-danger-do-not-operate-2-sided-heavy-duty-polyester-25pack>: HTTP status code is not handled or not allowed 2026-01-27 22:54:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-54w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/majestic-greenhouse-20w-x-96l-drop-down-w-film>: HTTP status code is not handled or not allowed 2026-01-27 22:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-mailers-7-14-14w-x-20l-kraft-50pack>: HTTP status code is not handled or not allowed 2026-01-27 22:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bpo200-basic-oil-only-pads15w-x-17llight-weightbale200>: HTTP status code is not handled or not allowed 2026-01-27 22:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-model-201planer-6012177>: HTTP status code is not handled or not allowed 2026-01-27 22:54:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stud-pjc-ho5-15-planer-6284804>: HTTP status code is not handled or not allowed 2026-01-27 22:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-30w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-30w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanger-pja-c49-15-planer-6284818>: HTTP status code is not handled or not allowed 2026-01-27 22:54:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 22:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-lined-poly-mailers-6-12w-x-10l-2-mil-white-250pack>: HTTP status code is not handled or not allowed 2026-01-27 22:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-4-x-30-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:54:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peel-seal-glamour-mailers-9-12w-x-12-34l-translucent-silver-250pack>: HTTP status code is not handled or not allowed 2026-01-27 22:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-60w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x72-solar-star-greenhouse-w-poly-top-and-ends-drop-down-sides-gas-heater>: HTTP status code is not handled or not allowed 2026-01-27 22:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-invoice-enclosed-print-3l-x-2w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x36-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides>: HTTP status code is not handled or not allowed 2026-01-27 22:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 22:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pan-hd-screw-wflange-sf069300>: HTTP status code is not handled or not allowed 2026-01-27 22:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-3-8-diameter-7x19-stainless-steel-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-27 22:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 26966 pages (at 91 pages/min), scraped 9951 items (at 26 items/min) 2026-01-27 22:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-96-l-x-48-w-x-1-8-thick-frosted>: HTTP status code is not handled or not allowed 2026-01-27 22:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-type-bracket-right-jbos-5-6286949>: HTTP status code is not handled or not allowed 2026-01-27 22:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-add-on-unit-5-tier-24w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-27 22:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-12-w-x-3-16-thick-green>: HTTP status code is not handled or not allowed 2026-01-27 22:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45a-3-motor-220v60hz3ph-6288988>: HTTP status code is not handled or not allowed 2026-01-27 22:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-strip-36-l-x-7-w-x-1-8-thick-blue-detectable-60a-high-temp-adhesive-bulk-rs-s60md-83>: HTTP status code is not handled or not allowed 2026-01-27 22:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-48w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-42w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-unilast-wheel-8x2-12-ball>: HTTP status code is not handled or not allowed 2026-01-27 22:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storplus-125-gallon-box-26-18-9white>: HTTP status code is not handled or not allowed 2026-01-27 22:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storplus-166-gallon-box-26-18-12white>: HTTP status code is not handled or not allowed 2026-01-27 22:55:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86757-out-of-service-production-tag-100pkg-cardstock-5-34w-x-3w>: HTTP status code is not handled or not allowed 2026-01-27 22:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-metal-wheel-10x2-12-34-ball>: HTTP status code is not handled or not allowed 2026-01-27 22:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-16-x-16-doublewall-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-1-w-x-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 22:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redi-seal-envelopes-9-12w-x-12-12l-white-500pack>: HTTP status code is not handled or not allowed 2026-01-27 22:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/215-60-8-18-x-850-8-lrc-trailer-tire-wheel-assembly>: HTTP status code is not handled or not allowed 2026-01-27 22:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-tube-72-l-x-1-4-id-x-1-2-od-beige>: HTTP status code is not handled or not allowed 2026-01-27 22:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-starter-unit-1-dunnage-shelf-48w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 22:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51345-lockout-padlock-keyed-differently-1-12-plasticsteel-green-6pack>: HTTP status code is not handled or not allowed 2026-01-27 22:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-18-x-20-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redi-seal-envelopes-6w-x-9l-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-27 22:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ldpe-film-1200-l-x-6-w-x-0-004-thick-clear-bulk-pf-ldpe-12>: HTTP status code is not handled or not allowed 2026-01-27 22:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-plastex-wheel-6x1-12-12-roller>: HTTP status code is not handled or not allowed 2026-01-27 22:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 22:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-mailers-4-9-12w-x-14-12l-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-27 22:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-doctor-die-cast-push-on-starter-switch>: HTTP status code is not handled or not allowed 2026-01-27 22:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-inside-packages-comply-print-6l-x-4w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x-17-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-36w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-strip-36-l-x-7-w-x-3-16-thick-blue-detectable-60a-high-temp-adhesive-bulk-rs-s60md-84>: HTTP status code is not handled or not allowed 2026-01-27 22:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-18-x-18-d-w-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-40-x-72-pcs-mod-201-plnr-6012274>: HTTP status code is not handled or not allowed 2026-01-27 22:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simonize-aerosol-stainless-steel-cleaner-water-base>: HTTP status code is not handled or not allowed 2026-01-27 22:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/check-nut-m8-x-125p-mod-201-plnr-6012279>: HTTP status code is not handled or not allowed 2026-01-27 22:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-16-x-1-soc-set-screw-6716004>: HTTP status code is not handled or not allowed 2026-01-27 22:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-neo-rubber-on-alum-5x1-12-34-roller>: HTTP status code is not handled or not allowed 2026-01-27 22:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelon-wire-shelving-starter-unit-1-dunnage-shelf-30w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-20-x-12-doublewall-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-starter-unit-1-dunnage-shelf-24w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metallic-permanent-marker-metallic-silver-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-piece-assy-c-3-2901130>: HTTP status code is not handled or not allowed 2026-01-27 22:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fine-point-permanent-marker-assorted-colors-4-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-direct-thermal-labels-4w-x-1-12l-1-core-4od-white-12pack>: HTTP status code is not handled or not allowed 2026-01-27 22:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-heavy-duty-standard-threaded-hex-base-warning-whip-w-light-12-x11-orange-rectangle-flag>: HTTP status code is not handled or not allowed 2026-01-27 22:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-916-x-116-washer-6-6861600>: HTTP status code is not handled or not allowed 2026-01-27 22:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-20-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-27 22:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-scrw-m8-x-125p-x-12lg-model201pln-6012124>: HTTP status code is not handled or not allowed 2026-01-27 22:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-12x30>: HTTP status code is not handled or not allowed 2026-01-27 22:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-gallon-haz-mat-box>: HTTP status code is not handled or not allowed 2026-01-27 22:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-x-10-x-8-1-4-insulated-container>: HTTP status code is not handled or not allowed 2026-01-27 22:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-heavy-duty-standard-threaded-hex-base-warning-whip-w-o-light-12-x9-yellow-triangle-flag>: HTTP status code is not handled or not allowed 2026-01-27 22:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lamp-12-volt-1156-38cp-2-1-amps>: HTTP status code is not handled or not allowed 2026-01-27 22:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-retractable-belt-barrier-black-ylw-mount-black-ylw-caution-do-not-enter-belt-30-ft-l>: HTTP status code is not handled or not allowed 2026-01-27 22:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-9-clevis-pin-low-carbon-steel-plain-clp-1000-9000>: HTTP status code is not handled or not allowed 2026-01-27 22:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-priority-print-5l-x-3w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:55:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-number-paper-labels-with-3-print-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/112736-vert-l-shaped-acrylic-sign-hlr-3w-x-4h-10pack>: HTTP status code is not handled or not allowed 2026-01-27 22:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bib10-bench-in-a-box-packing-workbench-maple-butcher-block-eased-edge-72-x-30>: HTTP status code is not handled or not allowed 2026-01-27 22:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-32-x-1-2-cotter-pin-316-stainless-steel-asme-18-8-1-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-27 22:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-32-x-11-16-spring-pin-420-stainless-steel-passivated-asme-b18-8-2-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-27 22:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-7l-x-5w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-4-x-4-mailers>: HTTP status code is not handled or not allowed 2026-01-27 22:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-x-3-x-2-mailers>: HTTP status code is not handled or not allowed 2026-01-27 22:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-8-x-6-mailers>: HTTP status code is not handled or not allowed 2026-01-27 22:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38a-gun-grease-6289074>: HTTP status code is not handled or not allowed 2026-01-27 22:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-density-foam-roller-36lx6-diameter-round>: HTTP status code is not handled or not allowed 2026-01-27 22:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-27ii-industrial-rugged-multimeter-1>: HTTP status code is not handled or not allowed 2026-01-27 22:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27063 pages (at 97 pages/min), scraped 9979 items (at 28 items/min) 2026-01-27 22:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breaker-bar-1-2-drive-w-24-flex-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louisiana-state-hitch-cover-4-1-2-x-3-3-8-14972>: HTTP status code is not handled or not allowed 2026-01-27 22:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-based-landmine-training-station-with-wide-handle>: HTTP status code is not handled or not allowed 2026-01-27 22:55:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories/hitch_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-sheet-36-l-x-36-w-x-1-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-27 22:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-chicago-blackhawks-hitch-cover-4-1-2-x-3-3-8-14963>: HTTP status code is not handled or not allowed 2026-01-27 22:56:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-27 22:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnh2-2460-6pyah-with-lower-shelf-24-x-60-adj-height>: HTTP status code is not handled or not allowed 2026-01-27 22:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smucker-s-174-natural-jam-0-5-oz-container-strawberry-200-carton>: HTTP status code is not handled or not allowed 2026-01-27 22:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-direct-thermal-labels-4w-x-3l-1-core-4od-white-12pack>: HTTP status code is not handled or not allowed 2026-01-27 22:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-pass-thru-cable-36-1-4w-x-101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-27 22:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ax12476-biometric-keypad-security-safe-1412-x-1134-x-7-046-cubic-ft>: HTTP status code is not handled or not allowed 2026-01-27 22:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-bit-8-cold-chisel>: HTTP status code is not handled or not allowed 2026-01-27 22:56:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories/hitch_covers>: HTTP status code is not handled or not allowed 2026-01-27 22:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-pass-thru-cable-60-1-4w-x-100h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-27 22:56:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olcs-8-ddb-m4-led-wall-pack-9w>: HTTP status code is not handled or not allowed 2026-01-27 22:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-roll-120-l-x-12-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 22:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-48-1-4w-x-101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-27 22:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoline-storage-building-30w-x-15h-x-60l-green-pony-wall>: HTTP status code is not handled or not allowed 2026-01-27 22:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-9-1-2x14-1-2-self-seal-white-padded-mailers>: HTTP status code is not handled or not allowed 2026-01-27 22:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prop-65-labels-california-proposition-65-2-38l-x-1-12w-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:56:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-7-1-4x12-self-seal-kra-padded-mailers>: HTTP status code is not handled or not allowed 2026-01-27 22:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictogram-environment-labels-2l-x-2w-redwhiteblack-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-profile-connectable-spill-berm-5-l-x-4-w-x-4-1-2-h>: HTTP status code is not handled or not allowed 2026-01-27 22:56:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 22:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-4-drive-9-32-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 22:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-door-enclosed-flannel-letter-board-w-oak-frame-30w-x-36h-burgundy>: HTTP status code is not handled or not allowed 2026-01-27 22:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-thermal-transfer-labels-4w-x-6l-3-core-orange-4pack>: HTTP status code is not handled or not allowed 2026-01-27 22:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-sheet-12-l-x-12-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 22:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kss142-lockout-procedure-station-aluminum-14-14w-x-21-15h>: HTTP status code is not handled or not allowed 2026-01-27 22:56:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/htg-trolley-1-2-ton-geared-wide-flange-width>: HTTP status code is not handled or not allowed 2026-01-27 22:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msmk120vp-danger-sign-no-smoking-or-open-flame-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-27 22:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats>: HTTP status code is not handled or not allowed 2026-01-27 22:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-set-1-2-drive-6-point-deep-12-piece>: HTTP status code is not handled or not allowed 2026-01-27 22:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-magnetic-wall-mount-barrier-suction-cup>: HTTP status code is not handled or not allowed 2026-01-27 22:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-1-2-w-x-1-4-thick-gray-oil-filled>: HTTP status code is not handled or not allowed 2026-01-27 22:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-lever-dolly-84-plastex-wheels>: HTTP status code is not handled or not allowed 2026-01-27 22:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-composite-carbon-fiber-bar-12-l-x-3-w-x-1-8-thick-black-bulk-cs-cf-43>: HTTP status code is not handled or not allowed 2026-01-27 22:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/07157-53169-ergonic-insulated-6-pc-set-slotted-phillips>: HTTP status code is not handled or not allowed 2026-01-27 22:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-1-w-x-1-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 22:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x30-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 22:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x4-x24-2-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-id-x-1-33-cush-a-therm>: HTTP status code is not handled or not allowed 2026-01-27 22:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-4l-x-4w-fluorescent-orange-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-27 22:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn310-steel-gear-lever-w-ball-knob-12mm-d-100mm-l-m10x15>: HTTP status code is not handled or not allowed 2026-01-27 22:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-roll-120-l-x-12-w-x-1-8-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-27 22:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd960va-first-aid-station-sign-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-post-86in-h-leveler-installed-pack-of-four>: HTTP status code is not handled or not allowed 2026-01-27 22:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp133va-danger-sign-confined-space-enter-by-permit-only-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp006vs-danger-sign-confined-space-do-not-enter-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-27 22:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-hex-bit-10mm>: HTTP status code is not handled or not allowed 2026-01-27 22:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-size-col-series-cushion-clamps>: HTTP status code is not handled or not allowed 2026-01-27 22:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f6-woven-split-wrappable-sleeve-1-dia-50-black>: HTTP status code is not handled or not allowed 2026-01-27 22:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp140va-danger-sign-confined-space-authorized-personnel-only-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tube-assembly-heavy-series-clamp>: HTTP status code is not handled or not allowed 2026-01-27 22:56:46 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 22:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-4-drive-1-3-4-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 22:56:46 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:10 2026-01-27 22:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-4-drive-1-15-16-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 22:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-8-electro-galvanized-thermo-plastic-elastomer-omega-series>: HTTP status code is not handled or not allowed 2026-01-27 22:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16x24-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melc114va-danger-sign-high-voltage-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 22:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-96-l-x-48-w-x-3-16-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 22:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-5-8-6-point-short>: HTTP status code is not handled or not allowed 2026-01-27 22:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-12-l-x-4-w-x-1-2-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-27 22:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-tube-od-zinc-plated-omega-cushion-clamp>: HTTP status code is not handled or not allowed 2026-01-27 22:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-30-dri-shieldtm-moisture-barrier-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-sanding-disc-735u-6-p120-cweight-50inner-250case>: HTTP status code is not handled or not allowed 2026-01-27 22:56:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-wr-84v-cnc-router-table-with-t-slots-7-12-hp-1ph-220v>: HTTP status code is not handled or not allowed 2026-01-27 22:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27154 pages (at 91 pages/min), scraped 10003 items (at 24 items/min) 2026-01-27 22:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lx3-powderfree-textured-industrial-grade-latex-gloves-small-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-27 22:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x3-x12-2-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-indoor-led-message-sign-full-color-4120rgb>: HTTP status code is not handled or not allowed 2026-01-27 22:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x30-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-4-drive-10mm-deep>: HTTP status code is not handled or not allowed 2026-01-27 22:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duraflex-woven-high-abrasion-sleeve-83-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-27 22:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-precision-balance-300-g-x-0001-g>: HTTP status code is not handled or not allowed 2026-01-27 22:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 22:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-1-2-x-10-7-8-x-7-lewisbins-divider-box-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-2mp-hd-tvi-ptz-speed-dome-camera-47-94mm-20x-optical-zoom-lens-white-housing>: HTTP status code is not handled or not allowed 2026-01-27 22:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4x8-1-4-1-5-mil-flat-polypropylene-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-1200-l-x-36-w-x-0-002-thick-clear>: HTTP status code is not handled or not allowed 2026-01-27 22:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x12-1-5-mil-flat-polypropylene-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2flexo-pet-general-purpose-sleeving-dia-200-red>: HTTP status code is not handled or not allowed 2026-01-27 22:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd160-lockout-120240-circuit-breaker-lockout-single-pole>: HTTP status code is not handled or not allowed 2026-01-27 22:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coxreels-p-lp-350-hv-3-8in-x-50ft-300psi-performance-spring-retractable-low-pressure-safety-hose-reel>: HTTP status code is not handled or not allowed 2026-01-27 22:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1flexo-pet-general-purpose-sleeving-dia-250-red>: HTTP status code is not handled or not allowed 2026-01-27 22:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40x48-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronco-waste-container-55-gal-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-led-radar-feedback-trailer-sign-solar-powered-55w-x-106d-x-97h-blackwhite>: HTTP status code is not handled or not allowed 2026-01-27 22:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x15-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-type-needle-roller-bearing-metric-separable-cage-30mm-bore-40mm-od>: HTTP status code is not handled or not allowed 2026-01-27 22:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/af315-disinfectant-cleaner-citrus-floral-scent-2-l-bottle-4case>: HTTP status code is not handled or not allowed 2026-01-27 22:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inch-composite-body-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-27 22:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-handrail-socket-1>: HTTP status code is not handled or not allowed 2026-01-27 22:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coxreels-ez-p-lp-450-hv-1-2inx50ft-300psi-ez-coil-safety-performance-spring-retractable-low-pressure>: HTTP status code is not handled or not allowed 2026-01-27 22:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150-cable-climbing-system-top-ext-38-dia-1x7-strands-galvanized-steel-cable>: HTTP status code is not handled or not allowed 2026-01-27 22:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparta-spectrum-duo-sweep-polyethylene-angle-broom-56-long-green>: HTTP status code is not handled or not allowed 2026-01-27 22:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/untouchable-floor-finish-with-srt153-1-gallon-bottle-4case>: HTTP status code is not handled or not allowed 2026-01-27 22:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparta-hand-nail-brush-with-polyester-bristles-5-x-2>: HTTP status code is not handled or not allowed 2026-01-27 22:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermashield-aluminized-fiberglass-tube-1-dia-250-silver>: HTTP status code is not handled or not allowed 2026-01-27 22:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x14-1-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3flexo-pet-general-purpose-sleeving-dia-200-green>: HTTP status code is not handled or not allowed 2026-01-27 22:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airpot-racksthree-25l-airpots>: HTTP status code is not handled or not allowed 2026-01-27 22:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meqm617vp-caution-sign-low-overhead-clearance-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-27 22:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerated-truck-edge-of-dock-leveler-72-usable-w-94-overall-w-25-000-lb-986647>: HTTP status code is not handled or not allowed 2026-01-27 22:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x6-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-12-l-x-12-w-x-3-8-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 22:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-400-black-phenolic-caps-14b-rubber-liner-case-of-72>: HTTP status code is not handled or not allowed 2026-01-27 22:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-oz-bottles-wide-mouth-round-clear-33-400-ptfe-lined-caps-case-of-48>: HTTP status code is not handled or not allowed 2026-01-27 22:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnimed-stainless-twin-narcotic-cabinet-double-door-4-adjustable-shelves-22w-x-8d-x-15h>: HTTP status code is not handled or not allowed 2026-01-27 22:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-15-x-10-x-12-200lb-testect32-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-48-l-x-3-4-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 22:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2ml-shorty-vials-in-a-box-rubber-lined-caps-case-of-200>: HTTP status code is not handled or not allowed 2026-01-27 22:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x12-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lip-and-tape-seal-bubble-pouch-10-x-1512-x-316-with-112-lip-seal-clear-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:57:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12v-jump-starter-1100-peak-amps-jnc4000>: HTTP status code is not handled or not allowed 2026-01-27 22:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-48-l-x-24-w-x-1-8-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-27 22:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5550101-flat-file-10-bastard-cut>: HTTP status code is not handled or not allowed 2026-01-27 22:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-24-l-x-1-w-x-1-4-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-24-l-x-2-w-x-1-2-thick-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5550123-flat-file-12-smooth-cut>: HTTP status code is not handled or not allowed 2026-01-27 22:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuff-cut-cutting-boards-tc152012>: HTTP status code is not handled or not allowed 2026-01-27 22:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-emergency-light-dual-head-self-diagnostic-remote-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-575-laboratory-eyewash>: HTTP status code is not handled or not allowed 2026-01-27 22:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35211-twist-lock-locking-liquid-dispenser-white-pump-top-round-bottle-4-oz>: HTTP status code is not handled or not allowed 2026-01-27 22:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 22:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/batterystar-battery-powered-chain-hoist-with-battery--charger-rigid-hook-1-ton-cap-20-lift>: HTTP status code is not handled or not allowed 2026-01-27 22:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlp-a-series-lever-hoist-w-shipyard-hooks-3-ton-5-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 22:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5a-battery-charger-5-bank-on-board-battery-charger-waterproof-at-ip68-genius5>: HTTP status code is not handled or not allowed 2026-01-27 22:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-lazer-pistol-grip-18-alum-ext-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-27 22:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-2-panel-corner-room-divider-24-x-72-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0995-1038-soil-analysis-astm-151h-hydrometer>: HTTP status code is not handled or not allowed 2026-01-27 22:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-24-x-42-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-48-x-73-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:57:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyboard-shelf-cpu-platform-sandstone-modular-furniture-2>: HTTP status code is not handled or not allowed 2026-01-27 22:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelf-36w-x-12-d>: HTTP status code is not handled or not allowed 2026-01-27 22:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-24-l-x-1-w-x-3-4-thick-black-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 22:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-perforated-air-foam-rolls-24w-x-2000l-x-132-thick-white-3-rolls>: HTTP status code is not handled or not allowed 2026-01-27 22:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27249 pages (at 95 pages/min), scraped 10029 items (at 26 items/min) 2026-01-27 22:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-12-sheet-6-l-x-6-w-x-1-4-thick-off-white>: HTTP status code is not handled or not allowed 2026-01-27 22:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-thumbswitch-48-alum-ext-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-27 22:57:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frontline-countertop-box-system-p4800bk>: HTTP status code is not handled or not allowed 2026-01-27 22:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cohesive-singleface-corrugated-roll-30w-x-200l-kraft-1-roll>: HTTP status code is not handled or not allowed 2026-01-27 22:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-36-kra-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-27 22:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 22:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-add-on-a36365ep-36w-x-36d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:58:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/loop_process_calibrators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0700-0810-specific-gravity-hydrometer-for-liquids-lighter-than-water>: HTTP status code is not handled or not allowed 2026-01-27 22:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-30727ep-72w-x-30d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-with-partial-window-60-x-60-gray>: HTTP status code is not handled or not allowed 2026-01-27 22:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-ultra-whisper-jet-6-alum-ext-alum-nozzle-short-trigger>: HTTP status code is not handled or not allowed 2026-01-27 22:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 22:58:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/cryogenic_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-panel-to-wall-panel-to-pilaster-kit>: HTTP status code is not handled or not allowed 2026-01-27 22:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-zone-shadow-board-yellow-white-68-x-30-acp-aluminum-composite-panel-sb137acp>: HTTP status code is not handled or not allowed 2026-01-27 22:58:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/multimeters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-zone-shadow-board-green-red-68-x-30-acp-aluminum-composite-panel-sb134acp>: HTTP status code is not handled or not allowed 2026-01-27 22:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-lazer-palmswitch-48-alum-ext-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-27 22:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/loop_process_calibrators>: HTTP status code is not handled or not allowed 2026-01-27 22:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-36488ep-48w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-garage-jack-1-3-ton-dk13hlq>: HTTP status code is not handled or not allowed 2026-01-27 22:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-add-on-a30368ep-36w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calibrated-electronic-thermometer-with-ss-probe-50-200c-58-392f-63-x-97mm>: HTTP status code is not handled or not allowed 2026-01-27 22:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-dust-collector-cartridge-open-closed-with-bolt-hole-paper-base>: HTTP status code is not handled or not allowed 2026-01-27 22:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/cryogenic_storage>: HTTP status code is not handled or not allowed 2026-01-27 22:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloud-foam-sheets-12w-x-12l-x-12-thick-white-96pack>: HTTP status code is not handled or not allowed 2026-01-27 22:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-24-l-x-1-1-2-dia-black>: HTTP status code is not handled or not allowed 2026-01-27 22:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-gallon-used-fluid-drain-black-polyethylene-3626>: HTTP status code is not handled or not allowed 2026-01-27 22:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-spinfin-teflon-magnetic-stirring-bar-254-x-191mm-white>: HTTP status code is not handled or not allowed 2026-01-27 22:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shureshop-bench-w-acc-kit-portable-stainless-steel-top-72-x-29-monaco-blue>: HTTP status code is not handled or not allowed 2026-01-27 22:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/autoclavable-polypropylene-carboy-without-spigot-20-liters-53-gallons>: HTTP status code is not handled or not allowed 2026-01-27 22:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-container-solid-sides-base-23-3-4-x15-3-4-x12-1-4-red-662125rd>: HTTP status code is not handled or not allowed 2026-01-27 22:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-wall-container-solid-sides-base-15-3-4-x11-3-4-x8-1-4-red-662123rd>: HTTP status code is not handled or not allowed 2026-01-27 22:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drain-transmission-3610>: HTTP status code is not handled or not allowed 2026-01-27 22:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-oz-stand-up-zip-pouches-4-mil-clear-1000-case-stp-4z-400a>: HTTP status code is not handled or not allowed 2026-01-27 22:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-36-l-x-1-4-dia-white>: HTTP status code is not handled or not allowed 2026-01-27 22:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-grease-gun-g160>: HTTP status code is not handled or not allowed 2026-01-27 22:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-chrome-wire-linen-cart-with-nylon-cover-4-shelves-48-l-x-18-w-x-80-h>: HTTP status code is not handled or not allowed 2026-01-27 22:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-foam-shippers-12w-x-14l-x-4d-pinkwhite-12pack>: HTTP status code is not handled or not allowed 2026-01-27 22:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-air-foam-rolls-6w-x-2000l-x-132-thick-white-12-rolls>: HTTP status code is not handled or not allowed 2026-01-27 22:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calibrated-elec-stainless-steel-stem-thermometer-50-200c-120mm-47-blunt-tip-probe>: HTTP status code is not handled or not allowed 2026-01-27 22:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-60-l-x-5-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-27 22:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-cs120-2t-20-amp-120-277-volt-single-pole-toggle-side-wired-switch-light-almond>: HTTP status code is not handled or not allowed 2026-01-27 22:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-2-liter-polypropylene-spout-pouring-pitcher>: HTTP status code is not handled or not allowed 2026-01-27 22:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-2w-12l-2-ply-endless-poly-flat-web-sling>: HTTP status code is not handled or not allowed 2026-01-27 22:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-paper-30-lbs-9w-x-9l-kraft-1000-sheets>: HTTP status code is not handled or not allowed 2026-01-27 22:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-esd-safe-divider-box-10-1316l-x-8-516w-x-5h>: HTTP status code is not handled or not allowed 2026-01-27 22:58:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/multimeters landed on page that is not a product page. 2026-01-27 22:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adventure-power-utx14-battery-12-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-27 22:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-drawer-dividers-2-9-16w-x-2-1-16h>: HTTP status code is not handled or not allowed 2026-01-27 22:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-21368gz-36w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gas-purge-grande-desiccator-cabinet-36-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 22:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taski-paper-vacuum-bag-baby-bora>: HTTP status code is not handled or not allowed 2026-01-27 22:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-sheet-48-l-x-12-w-x-1-2-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-27 22:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-plastic-cabinet-drawer-5-5-8w-x-11d-x-2-1-2h>: HTTP status code is not handled or not allowed 2026-01-27 22:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-2w-6l-2-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-27 22:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-21428gz-42w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-advanced-classroom-training-table-24-x-48-folkstone>: HTTP status code is not handled or not allowed 2026-01-27 22:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-4-x-3-1-8-8-pink-fluorescent-wired-tag>: HTTP status code is not handled or not allowed 2026-01-27 22:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-advanced-classroom-training-table-30-x-72-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 22:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euro-drawer-8-3-8w-x-11-5-8d-x4-5-8h-red>: HTTP status code is not handled or not allowed 2026-01-27 22:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-enviro-safe-liquid-in-glass-pocket-thermometer-20-to-120f-closed-metal-case>: HTTP status code is not handled or not allowed 2026-01-27 22:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-24-l-x-1-4-id-x-1-2-od-white>: HTTP status code is not handled or not allowed 2026-01-27 22:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-alloy-latching-j-hook-style-a-2300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 22:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-48-l-x-1-w-x-1-2-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-27 22:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-61-1-4-x-5-1-4-x-7-yellow>: HTTP status code is not handled or not allowed 2026-01-27 22:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-hd-cartridge-braid-34od-3l-240v-500w-85>: HTTP status code is not handled or not allowed 2026-01-27 22:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-butterfly-step-can-8-gallon-brushed-ss>: HTTP status code is not handled or not allowed 2026-01-27 22:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-40c-solvents-distillation-72-to-126c>: HTTP status code is not handled or not allowed 2026-01-27 22:58:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-1-5-8-channel-nut-p1008eg-electro-galvanized-3-8-16>: HTTP status code is not handled or not allowed 2026-01-27 22:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-channel-strip-120v-t3-10-12l-250w>: HTTP status code is not handled or not allowed 2026-01-27 22:58:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/threading/taps/spiral_point_taps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-x-5-1-2-yellow-packing-list-enclosed-panel-face>: HTTP status code is not handled or not allowed 2026-01-27 22:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-bistro-table-4-barstool-set-espresso-table-top-with-black-stools>: HTTP status code is not handled or not allowed 2026-01-27 22:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-modular-lounge-chair-leather-melrose-white-hercules-regal-series>: HTTP status code is not handled or not allowed 2026-01-27 22:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-modular-lounge-sofa-leather-black-hercules-imagination-series>: HTTP status code is not handled or not allowed 2026-01-27 22:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27339 pages (at 90 pages/min), scraped 10046 items (at 17 items/min) 2026-01-27 22:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-24-l-x-1-2-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 22:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-marker-oil-based-medium-blue-ink>: HTTP status code is not handled or not allowed 2026-01-27 22:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05400002-uchannel-sign-post-8l-2-lbsft-green>: HTTP status code is not handled or not allowed 2026-01-27 22:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-27 22:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-brasscopper-immersion-2-220d-10000-480v-t-stat>: HTTP status code is not handled or not allowed 2026-01-27 22:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-12-l-x-1-1-2-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 22:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inhalation-narcosis-chamber>: HTTP status code is not handled or not allowed 2026-01-27 22:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x2-2-mil-white-block-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:59:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/threading/taps/spiral_point_taps landed on page that is not a product page. 2026-01-27 22:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-36-l-x-1-5-8-id-x-1-15-16-od-white>: HTTP status code is not handled or not allowed 2026-01-27 22:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-24-l-x-2-w-x-1-4-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 22:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-6-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-27 22:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-72w-x-14d-x-34h-2-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 22:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/estate-10w-x-6h-king-cedar-alum-composite-adj-fence-double-gate-kit-in-ground-only-ef-et2216>: HTTP status code is not handled or not allowed 2026-01-27 22:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-42w-x-18d-x-63h-4-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 22:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-48-l-x-12-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 22:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wire-shelves-utility-cart-pneumatic-wheel-casters-chrome-18-w-x-36-l-x-42-h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wall-mount-wine-rack-single-wide-chrome-14-d-x-48-w-x-34-h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-refrigerator-verification-thermometer-20-to-60f>: HTTP status code is not handled or not allowed 2026-01-27 22:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en5631-technopolymer-thandle-wthreaded-stud-mm-diameter-55mm-length-51618>: HTTP status code is not handled or not allowed 2026-01-27 22:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-oven-verification-thermometer-50-to-200c>: HTTP status code is not handled or not allowed 2026-01-27 22:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/itm-1-38-17-sds-max>: HTTP status code is not handled or not allowed 2026-01-27 22:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-2-w-x-1-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 22:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-50-basis-weight-kra-paper>: HTTP status code is not handled or not allowed 2026-01-27 22:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-2u-toolless-dring-cable-manager>: HTTP status code is not handled or not allowed 2026-01-27 22:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-solid-plastic-shelving-unit-nexelon-posts-18-w-x-36-l-x-63-h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-horizon-glass-half-glass-doors-78w-hrp3-1hg>: HTTP status code is not handled or not allowed 2026-01-27 22:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-96-performance-work-bench-no-upper-shelving>: HTTP status code is not handled or not allowed 2026-01-27 22:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-60w-x-18d-x-63h-4-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 22:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-general-purpose-liquid-in-glass-thermometer-0-to-230f-total-immersion>: HTTP status code is not handled or not allowed 2026-01-27 22:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-zip-slider-bags-freezer-1-quart-clear-35-pack>: HTTP status code is not handled or not allowed 2026-01-27 22:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-calibrated-dry-block-incubator-liquid-in-glass-thermometer-18-to-60c-35mm-immersion>: HTTP status code is not handled or not allowed 2026-01-27 22:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-horizon-solid-half-solid-doors-35w-hr1w-1s>: HTTP status code is not handled or not allowed 2026-01-27 22:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-30w-x-14d-x-54h-3-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 22:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-door-glass-door-merch-refrigerator-freezer-26w-crg24>: HTTP status code is not handled or not allowed 2026-01-27 22:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-30w-x-14d-x-63h-4-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-27 22:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automated-external-defibrillator-aed-cabinet-alarm>: HTTP status code is not handled or not allowed 2026-01-27 22:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-maple-square-edge-double-4-drawer>: HTTP status code is not handled or not allowed 2026-01-27 22:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-aluminum-propel-dolly-non-tilt-6-roller-9000-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-27 22:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-resiliant-rollstock-sj6232-4-1-2-x-72-yds-black-1-16-thick-70006459435>: HTTP status code is not handled or not allowed 2026-01-27 22:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-24-l-x-24-w-x-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 22:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-gray-36-1-4x60>: HTTP status code is not handled or not allowed 2026-01-27 22:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-resiliant-rollstock-sj6008-4-1-2-x-36-yds-black-1-8-thick-70006459740>: HTTP status code is not handled or not allowed 2026-01-27 22:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/remote-chiller-er21y>: HTTP status code is not handled or not allowed 2026-01-27 22:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-4-w-x-3-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 22:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mylar-emergency-response-blanket-25pack>: HTTP status code is not handled or not allowed 2026-01-27 22:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-wire-rack-id-tags-3-1-2-x-1-1-2-x-1-8-6pk>: HTTP status code is not handled or not allowed 2026-01-27 22:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-hay-rack-corner-stall-feeder-enclosed-back-w-rounded-edges-21l-x24h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/middle-buster-implement-for-tractors-under-50hp-category-1>: HTTP status code is not handled or not allowed 2026-01-27 22:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folded-stacked-chair-tote>: HTTP status code is not handled or not allowed 2026-01-27 22:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-24w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-24-l-x-24-w-x-1-4-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-27 22:59:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/01-120-entree-only-grab-and-go-kit-120-servings>: HTTP status code is not handled or not allowed 2026-01-27 22:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-48w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-mount-float-valve-for-use-with-behlen-poly-galvanized-or-steel-stock-tanks>: HTTP status code is not handled or not allowed 2026-01-27 22:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hay-rack-corner-stall-feeder-30-from-corner>: HTTP status code is not handled or not allowed 2026-01-27 22:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-electric-baseboard-convection-heater-84-l-240-208v>: HTTP status code is not handled or not allowed 2026-01-27 22:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chem-crest-75a-phosphoric-acid-wash-solution-55-gallon-drum-70075ad>: HTTP status code is not handled or not allowed 2026-01-27 22:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-48-l-x-24-w-x-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 22:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-1221-2-20-amp-120-277-volt-toggle-single-pole-ac-quiet-switch-extra-heavy-duty-spec-grade-brown>: HTTP status code is not handled or not allowed 2026-01-27 22:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chem-crest-211-non-caustic-medical-wash-solution-55-gallon-drum-700211d>: HTTP status code is not handled or not allowed 2026-01-27 22:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chem-crest-211-non-caustic-medical-wash-solution-4-x-1-gallon-bottle-700211c>: HTTP status code is not handled or not allowed 2026-01-27 22:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chem-crest-2003-automotive-carburetor-wash-solution-55-gallon-drum-702003d>: HTTP status code is not handled or not allowed 2026-01-27 22:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-24w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-48w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 22:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-12-l-x-12-w-x-2-thick-black-bulk-ps-acb-2093>: HTTP status code is not handled or not allowed 2026-01-27 22:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35-lb-table-umbrella-base-black>: HTTP status code is not handled or not allowed 2026-01-27 22:59:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-5-w-x-2-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-27 22:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-60w-x-30d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-60w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/artisan-cabinet-chart-rack-20-binder-capacity-cherry-top-with-light-gray-rack>: HTTP status code is not handled or not allowed 2026-01-27 22:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27436 pages (at 97 pages/min), scraped 10071 items (at 25 items/min) 2026-01-27 22:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 22:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-floor-cleaner-deodorizer-case-of-two-1-gallon-bottles>: HTTP status code is not handled or not allowed 2026-01-27 22:59:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 22:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-72w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 22:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-36w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermodisc-steam-trap-td6524-1-2>: HTTP status code is not handled or not allowed 2026-01-27 23:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9520-05m-8-inch-gas-centrifugal-blower-system-w-8-inch-mvp-9505-blower>: HTTP status code is not handled or not allowed 2026-01-27 23:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riga-iii-greenhouse-kit-10-6l-x-9-8w-x-7-6h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riga-v-greenhouse-17-2l-x-9-8w-x-7-6h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-kit-with-18-wlouver-36-w-pegboard-60-w-workbench-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-octagon-magnetic-stirring-bar-127-x-8mm-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-1-1-2-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 23:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-72w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-slip-aluminum-platform-10-x-19-640257>: HTTP status code is not handled or not allowed 2026-01-27 23:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-72w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plano-water-resistant-storage-box-13-3-4-l-x-5-5-8-w-x-5-9-16-h-green>: HTTP status code is not handled or not allowed 2026-01-27 23:00:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups landed on page that is not a product page. 2026-01-27 23:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-4-w-x-1-4-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 23:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-60w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plano-68-quart-storage-trunk-30-l-x-14-1-4-w-x-12-3-4-h-black>: HTTP status code is not handled or not allowed 2026-01-27 23:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-wye-y-tubing-connectors-for-3-16-tubing-polypropylene-12pk>: HTTP status code is not handled or not allowed 2026-01-27 23:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-samplit-scoop-non-sterile-plastic-25pk>: HTTP status code is not handled or not allowed 2026-01-27 23:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-72w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-48w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 23:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-stationary-floor-support-36w-max-leg-21-5-8h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-office-desk-white-studio-c-series>: HTTP status code is not handled or not allowed 2026-01-27 23:00:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-600-l-x-12-w-x-1-16-thick-black-70a>: HTTP status code is not handled or not allowed 2026-01-27 23:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-1-1-2-w-x-5-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 23:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-27 23:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-all-purpose-heavy-duty-blade-bracket-chrome>: HTTP status code is not handled or not allowed 2026-01-27 23:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-microcentrifuge-tube-mini-floating-rack-no-vortexing-attachment-15-20ml-tubes-fuchsia>: HTTP status code is not handled or not allowed 2026-01-27 23:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-electric-chain-hoist-1-ton-20-li-3-phase-230-460v>: HTTP status code is not handled or not allowed 2026-01-27 23:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-14608b-60w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-acetal-bar-24-l-x-1-w-x-1-4-thick-off-white-antistatic>: HTTP status code is not handled or not allowed 2026-01-27 23:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinstar-teflon-magnetic-stirring-bar-62mm-fits-250ml-beakers-white>: HTTP status code is not handled or not allowed 2026-01-27 23:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-alum-barn-door-truck-box-18x18x36-1705305>: HTTP status code is not handled or not allowed 2026-01-27 23:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-21365b-36w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups>: HTTP status code is not handled or not allowed 2026-01-27 23:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recyclockout-lockout-station-28-padlock-stocked-7116>: HTTP status code is not handled or not allowed 2026-01-27 23:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-proculture-plastic-pestles-and-tubes-for-micro-tube-homogenizersystem-15ml-100pk>: HTTP status code is not handled or not allowed 2026-01-27 23:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-cd-dvd-holders-polypropylene-double-sided-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-4-w-x-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-27 23:00:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tagout-hasp-12-hole-7240>: HTTP status code is not handled or not allowed 2026-01-27 23:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-china-bristle-chip-brush-1-2>: HTTP status code is not handled or not allowed 2026-01-27 23:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-deluxe-hook-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-27 23:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/230001-es-p-e-stop-switch-knockout-12npt-2nc-1no-m20-die-cast>: HTTP status code is not handled or not allowed 2026-01-27 23:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-pc-wall-storage-unit-brown-interlock-poly-bins-wall-mount-rails-w-hardware-2-pk>: HTTP status code is not handled or not allowed 2026-01-27 23:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-18305b-30w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 23:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-flow-industrial-lubricants-6-oz-drip-bottle>: HTTP status code is not handled or not allowed 2026-01-27 23:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-teflon-fep-steel-forceps-1-1-2-coated-tip-3-7-8-length-2pk>: HTTP status code is not handled or not allowed 2026-01-27 23:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-4-person-wall-locker-starter-45w-x-18d-x-13h-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:00:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-16-w-x-3-16-thick-white-food-60a>: HTTP status code is not handled or not allowed 2026-01-27 23:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrider-flex-1-4in-25ft-hybrid-air-hose-w-quick-connect-air-fittings>: HTTP status code is not handled or not allowed 2026-01-27 23:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20020ad-ultra-quiet-oil-free-air-compressor2-0-hp-20-0-gal-air-compressor>: HTTP status code is not handled or not allowed 2026-01-27 23:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10tl-ultra-quiet-oil-free-1-0-hp-tankless-air-compressorw-power-pedal>: HTTP status code is not handled or not allowed 2026-01-27 23:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20040spcad-ultra-quiet-oil-free-4-0-hp-20-0-gal-air-compressor>: HTTP status code is not handled or not allowed 2026-01-27 23:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cuso-wh-led-outdoor-emergency-light-3000k-nicad-batt-wet-loc-white>: HTTP status code is not handled or not allowed 2026-01-27 23:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sg2-50-pcu-led-low-profile-wall-pack-w-photocontrol-51w-5500l-5000k-dark-bronze-dlc>: HTTP status code is not handled or not allowed 2026-01-27 23:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-maple-square-edge-mobile-production-bench-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-1-8-ton-20-lift-56-9-3-ft-min-230v>: HTTP status code is not handled or not allowed 2026-01-27 23:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-12-l-x-12-w-x-3-16-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-27 23:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-shop-top-square-edge-mobile-production-bench-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-scale-beer-and-wine-hydrometer-shatterproof>: HTTP status code is not handled or not allowed 2026-01-27 23:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-120-l-x-1-4-w-x-1-16-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-27 23:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-3-wide-12w-x-18d-x-15h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-27 23:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27526 pages (at 90 pages/min), scraped 10094 items (at 23 items/min) 2026-01-27 23:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-3-panel-corner-room-divider-60-1-4-w-x-43-1-2-h-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-1-4-ton-20-lift-33-5-5-ft-min-230v>: HTTP status code is not handled or not allowed 2026-01-27 23:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-1440-l-x-36-w-x-1-32-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-27 23:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jewel-174-magsnap-174-adjustable-metal-wrist-strap-09186-black>: HTTP status code is not handled or not allowed 2026-01-27 23:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-gas-valve-1-2-fip>: HTTP status code is not handled or not allowed 2026-01-27 23:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-120-l-x-1-4-w-x-1-8-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-27 23:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-faucet-supply-line-3-8-od-x-1-2-fip-x-12>: HTTP status code is not handled or not allowed 2026-01-27 23:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4l-round-tubing-w-1-1-16-dia-chrome>: HTTP status code is not handled or not allowed 2026-01-27 23:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-single-sided-starter-unit-extra-5>: HTTP status code is not handled or not allowed 2026-01-27 23:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solvent-base-street-utility-marking-paint-20-oz-red-fluorescent-20-954-12-case>: HTTP status code is not handled or not allowed 2026-01-27 23:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drain-auger-3-8-x-25>: HTTP status code is not handled or not allowed 2026-01-27 23:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-heavy-weight-single-slot-w-1-2-slots-on-1-centers-satin-zinc>: HTTP status code is not handled or not allowed 2026-01-27 23:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lf-brass-full-port-ball-valve-threaded-1-1-4>: HTTP status code is not handled or not allowed 2026-01-27 23:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-auger-1-4-x-15>: HTTP status code is not handled or not allowed 2026-01-27 23:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-3-8-thick-black-high-strength-90a-acrylic-adhesive-bulk-rs-h90-65>: HTTP status code is not handled or not allowed 2026-01-27 23:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-hook-waterfall-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-27 23:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-security-cabinet-bench-phenolic-resin-safety-edge-2>: HTTP status code is not handled or not allowed 2026-01-27 23:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-single-tier-locker-3-wide-12w-x-15d-x-60h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-27 23:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-grip-hand-film-dispenser-stretch-film-dispenser-ep-760-3-5>: HTTP status code is not handled or not allowed 2026-01-27 23:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1w-x-5h-grid-panel-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-27 23:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-shower-curtain-rod-stainless-steel-9538-036000>: HTTP status code is not handled or not allowed 2026-01-27 23:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-3-8-thick-black-high-strength-90a-bulk-rs-h90-34>: HTTP status code is not handled or not allowed 2026-01-27 23:01:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/portable_electric_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:01:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/strobe_flashing_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patio-bar-height-stools-all-weather-textilene-sling-fabric-seat-back-navy-2-pk>: HTTP status code is not handled or not allowed 2026-01-27 23:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-bracket-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-27 23:01:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:01:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-40-3-gauge-vinyl-taffeta-w-window-zipper-black-w-gold-trim>: HTTP status code is not handled or not allowed 2026-01-27 23:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-anywhere-basket-12-6-4-w>: HTTP status code is not handled or not allowed 2026-01-27 23:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-three-bay-22>: HTTP status code is not handled or not allowed 2026-01-27 23:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-tht-152-494-gn-b-494-color-polyester-labels-0-375-h-x-1-w-green-white-3000-roll>: HTTP status code is not handled or not allowed 2026-01-27 23:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-340ex-6g5-explosion-proof-6-inch-vibrating-bell-24v-ac>: HTTP status code is not handled or not allowed 2026-01-27 23:01:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-sbr-roll-720-l-x-16-w-x-1-4-thick-black-high-strength-60a-bulk-rs-sbrhs60-4>: HTTP status code is not handled or not allowed 2026-01-27 23:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-acrylic-pencil-holder>: HTTP status code is not handled or not allowed 2026-01-27 23:01:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/strobe_flashing_lights>: HTTP status code is not handled or not allowed 2026-01-27 23:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kantek-clear-acrylic-business-card-holder-80-card-capacity-4-w-x-1-7-8-d-x-2-h>: HTTP status code is not handled or not allowed 2026-01-27 23:01:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/portable_electric_heaters landed on page that is not a product page. 2026-01-27 23:01:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts>: HTTP status code is not handled or not allowed 2026-01-27 23:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 23:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-96br-n5-small-xenon-strobe-red-120v-ac>: HTTP status code is not handled or not allowed 2026-01-27 23:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-236bc-36-mm-led-stacklight-base-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beam-tongs-li-ing-attachment-2000-lb-capapcity>: HTTP status code is not handled or not allowed 2026-01-27 23:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-frame-motor-1-100-hp-3000-rpm-115v-oao-c-frame>: HTTP status code is not handled or not allowed 2026-01-27 23:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels>: HTTP status code is not handled or not allowed 2026-01-27 23:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30629-shim-254-mm-od-x-19-mm-od-x-005-mm-thick-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-27 23:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-150741-inspection-timer-30-day-10-pack-led-lights-abs-plastic-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels>: HTTP status code is not handled or not allowed 2026-01-27 23:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-unslotted-beam-120-l-6678-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-27 23:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels>: HTTP status code is not handled or not allowed 2026-01-27 23:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-d320-ice-bin-22-wide-stainless-steel-exterior-top-hinged-front-opening-access-door>: HTTP status code is not handled or not allowed 2026-01-27 23:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrmb24db-125xbr-xtra-brite-led-multi-mode-blue-24-vdc>: HTTP status code is not handled or not allowed 2026-01-27 23:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270bc-70-mm-led-stacklight-base-and-top-cover-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x24-maple-square-edge-production-bench-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-exhaust-fan-shutter-mounted>: HTTP status code is not handled or not allowed 2026-01-27 23:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-3250-rpm-115v-oao-1-6-fl-amps>: HTTP status code is not handled or not allowed 2026-01-27 23:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-tape-low-density-china-3-4-x-520>: HTTP status code is not handled or not allowed 2026-01-27 23:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-16-bu-orange-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 23:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-pump-sk-329-110v-60hz-cube-ice-machine>: HTTP status code is not handled or not allowed 2026-01-27 23:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-14-bu-orange-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 23:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledr120v-led-bulb-red-120v>: HTTP status code is not handled or not allowed 2026-01-27 23:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-full-sensor-sk-129-169-219-289-110v-60hz-cube-ice-machines>: HTTP status code is not handled or not allowed 2026-01-27 23:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270mda120a-70-mm-magnetodynamic-sounder-gray-120v-ac>: HTTP status code is not handled or not allowed 2026-01-27 23:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-20-industrial-pedestal-oscillating-fan-5250-cfm-1-6-hp>: HTTP status code is not handled or not allowed 2026-01-27 23:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifugal-blower-3000-rpm-208-240v-oao-0-75-0-67-fl-amps>: HTTP status code is not handled or not allowed 2026-01-27 23:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-8-bu-yellow-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-27 23:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-fabric-table-cover-black-four-feet>: HTTP status code is not handled or not allowed 2026-01-27 23:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filament-tape-898-36mm-x-55m-6-6-mil-clear>: HTTP status code is not handled or not allowed 2026-01-27 23:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l10-portable-outdoor-tankless-water-heater-eccoflo-diaphragm-12v-pump-strainer-shower-set>: HTTP status code is not handled or not allowed 2026-01-27 23:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4108t-4-30-hp-3520-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-chalk-reel-blue-chalk>: HTTP status code is not handled or not allowed 2026-01-27 23:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcd-industrial-computer-cabinet-black-assembled>: HTTP status code is not handled or not allowed 2026-01-27 23:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-foot-outdoor-steel-bench-with-backrest-expanded-metal-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-tenv-motor-3-4-hp-1725-rpm-200-230-460v-tenv>: HTTP status code is not handled or not allowed 2026-01-27 23:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27619 pages (at 93 pages/min), scraped 10117 items (at 23 items/min) 2026-01-27 23:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/specialty-molded-dock-bumper-8-wx18-lx2-h-1>: HTTP status code is not handled or not allowed 2026-01-27 23:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrmr24d-125xbr-xtra-brite-led-multi-mode-red-24-vdc-0215-amps>: HTTP status code is not handled or not allowed 2026-01-27 23:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-tooth-dual-material-locking-flex-head-teardrop-ratchet-with-1-4-drive-tang-8>: HTTP status code is not handled or not allowed 2026-01-27 23:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-x-6-clear-matte-snap-on-package-qty-25>: HTTP status code is not handled or not allowed 2026-01-27 23:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cem3586t-5-2-hp-3490-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-72wx48dx84h-4-levels-add-on-no-decking-1000-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-ez-grab-flared-black-post--2-3-high-intensity-prismatic-collars>: HTTP status code is not handled or not allowed 2026-01-27 23:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/room-air-conditioner-motor-1-6-hp-1550-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-27 23:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/li-tilt-scissor-table-1>: HTTP status code is not handled or not allowed 2026-01-27 23:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-elevating-spring-table-5>: HTTP status code is not handled or not allowed 2026-01-27 23:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-bm3569-33-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-li-er-7>: HTTP status code is not handled or not allowed 2026-01-27 23:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-bumper-4-25-w-x-36-l-x-4-h>: HTTP status code is not handled or not allowed 2026-01-27 23:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storm-sentinel-catch-basin-insert-round-27-to-29-diameter>: HTTP status code is not handled or not allowed 2026-01-27 23:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-gaylord-pallet-container-with-lid-caster-black>: HTTP status code is not handled or not allowed 2026-01-27 23:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-96wx18dx84h-4-levels-add-on-no-decking-1400-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-full-width-rod-48-w-x-24-d-x-75-h-red>: HTTP status code is not handled or not allowed 2026-01-27 23:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlh-series-compact-lever-chain-hoist-1-2-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-27 23:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-1-8-tube-x-1-4-swift-fit-universal-thread-1-2-7-l>: HTTP status code is not handled or not allowed 2026-01-27 23:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-48wx48dx84h-4-levels-starter-no-decking-750-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pool-pump-motor-1-hp-3450-rpm-208-230-115v-odp-48y-frame>: HTTP status code is not handled or not allowed 2026-01-27 23:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-shelving-42-inch-w-x-15-inch-d-x-84-inch-h-4-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-4-shelves-36-w-x-24-d-x-75-h-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-oem-replacement-motor-1-5-hp-825-rpm-208-230v-teao>: HTTP status code is not handled or not allowed 2026-01-27 23:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-cylinder-flow-screw-adjustment-5-32-tube-x-1-8-universal-thread-5-6-l>: HTTP status code is not handled or not allowed 2026-01-27 23:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-inch-w-x-36-inch-d-1-level-w-wood-decking-black>: HTTP status code is not handled or not allowed 2026-01-27 23:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-female-4mm-tube-x-1-8-bspp-944-l>: HTTP status code is not handled or not allowed 2026-01-27 23:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-configured-6x8-partitioned-office-72-h-add-on-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-72wx36dx120h-5-levels-add-on-no-decking-1490-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-1-4-tube-x-1-4-swift-fit-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-27 23:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-size-stacking-bin-11x23-7-8x10-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-tier-starter-unit-36-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-27 23:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-y-1-8-tube-1-1-7-l>: HTTP status code is not handled or not allowed 2026-01-27 23:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-72wx30dx120h-5-levels-starter-no-decking-500-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-5-16-tube-x-1-8-swift-fit-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-27 23:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toolbox-z300-white-1-4-fold-90-sheets-bundle-12-bundles-case-2010001>: HTTP status code is not handled or not allowed 2026-01-27 23:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-broom-cabinet-60-w-x-24-d-x-75-h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-polymer-shelf-with-solid-mat-36-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-27 23:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idvsm4406t-4-150-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-1-2-tube-x-1-4-swift-fit-universal-thread-2-2-5-l>: HTTP status code is not handled or not allowed 2026-01-27 23:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-kbm3454-25-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-ticket-holders-stitched-both-sides-clear-6-x-9-25-bx>: HTTP status code is not handled or not allowed 2026-01-27 23:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-1-2-tube-x-3-8-swift-fit-universal-thread-1-1-5-l>: HTTP status code is not handled or not allowed 2026-01-27 23:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redi-mount-photo-mounting-sheets-11-x-9-50-bx>: HTTP status code is not handled or not allowed 2026-01-27 23:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabric-hopper-36-w-x-36-lx-55-h>: HTTP status code is not handled or not allowed 2026-01-27 23:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-door-indoor-letterboard-18-x-24-x-2>: HTTP status code is not handled or not allowed 2026-01-27 23:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-network-capable-electronic-lock-with-software-48-w-x-24-d-x-78-h-dust-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l1322tm-2-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-tire-storage-shelving-60-inch-w-x-21-inch-d-x-192-inch-h-6-levels-starter-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/113071000-00580645-mach-led-plus-48-led-machine-luminaire-24-watts>: HTTP status code is not handled or not allowed 2026-01-27 23:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-kl3405-1-3-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-electronic-lock-with-digital-screen-60-w-x-24-d-x-78-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:02:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/leaf_blowers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27716 pages (at 97 pages/min), scraped 10162 items (at 45 items/min) 2026-01-27 23:03:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/leaf_blowers landed on page that is not a product page. 2026-01-27 23:03:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:03:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:03:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/planers_jointers/planers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:03:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:03:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-27 23:03:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-27 23:03:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:03:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/planers_jointers/planers landed on page that is not a product page. 2026-01-27 23:03:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-27 23:03:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:03:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/wire_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:03:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:03:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-27 23:03:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices landed on page that is not a product page. 2026-01-27 23:03:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-27 23:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27804 pages (at 88 pages/min), scraped 10241 items (at 79 items/min) 2026-01-27 23:03:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/wire_markers landed on page that is not a product page. 2026-01-27 23:04:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:04:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-27 23:04:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:04:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers landed on page that is not a product page. 2026-01-27 23:04:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/chair_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:04:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:04:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:04:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/chair_parts_accessories landed on page that is not a product page. 2026-01-27 23:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27899 pages (at 95 pages/min), scraped 10333 items (at 92 items/min) 2026-01-27 23:04:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories landed on page that is not a product page. 2026-01-27 23:04:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels landed on page that is not a product page. 2026-01-27 23:05:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:05:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/preconfigured_workbenches/heavy_duty_preconfigured_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:05:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:05:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 23:05:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/preconfigured_workbenches/heavy_duty_preconfigured_workbenches landed on page that is not a product page. 2026-01-27 23:05:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 23:05:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:05:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:05:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:05:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 23:05:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 23:05:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 23:05:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/isolation_station_dispensers_organizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:05:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:05:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/isolation_station_dispensers_organizers landed on page that is not a product page. 2026-01-27 23:05:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/contactors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:05:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 23:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 27989 pages (at 90 pages/min), scraped 10413 items (at 80 items/min) 2026-01-27 23:05:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/contactors landed on page that is not a product page. 2026-01-27 23:05:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 23:06:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper landed on page that is not a product page. 2026-01-27 23:06:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards landed on page that is not a product page. 2026-01-27 23:06:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1050evs2-230-mill already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1050vs2-3-axis-millwr-w-air-draw-bar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_kits_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-27 23:06:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-27 23:06:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards landed on page that is not a product page. 2026-01-27 23:06:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_kits_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/shoe_covers_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards landed on page that is not a product page. 2026-01-27 23:06:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1050vs2-3-axis-millwr-w-air-draw-bar landed on page that is not a product page. 2026-01-27 23:06:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_kits_stations landed on page that is not a product page. 2026-01-27 23:06:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1050evs2-230-mill landed on page that is not a product page. 2026-01-27 23:06:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_kits_stations landed on page that is not a product page. 2026-01-27 23:06:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-27 23:06:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/shoe_covers_guards landed on page that is not a product page. 2026-01-27 23:06:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/dock_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28074 pages (at 85 pages/min), scraped 10483 items (at 70 items/min) 2026-01-27 23:06:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:07:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:07:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes landed on page that is not a product page. 2026-01-27 23:07:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/dock_lights landed on page that is not a product page. 2026-01-27 23:07:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps landed on page that is not a product page. 2026-01-27 23:07:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:07:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps landed on page that is not a product page. 2026-01-27 23:07:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-27 23:07:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/color_coding_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:07:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/color_coding_labels landed on page that is not a product page. 2026-01-27 23:07:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/address_shipping_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:07:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/address_shipping_labels landed on page that is not a product page. 2026-01-27 23:07:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/shopping_baskets_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:07:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/dot_placards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:07:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/label_makers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28159 pages (at 85 pages/min), scraped 10562 items (at 79 items/min) 2026-01-27 23:08:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/dot_placards landed on page that is not a product page. 2026-01-27 23:08:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_machines/label_makers landed on page that is not a product page. 2026-01-27 23:08:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:08:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/shopping_baskets_carts landed on page that is not a product page. 2026-01-27 23:08:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-27 23:08:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:08:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28251 pages (at 92 pages/min), scraped 10650 items (at 88 items/min) 2026-01-27 23:08:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs landed on page that is not a product page. 2026-01-27 23:08:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance/horns_horn_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs landed on page that is not a product page. 2026-01-27 23:09:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/bin_shelving/steel_bin_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/gear_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-27 23:09:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports landed on page that is not a product page. 2026-01-27 23:09:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance landed on page that is not a product page. 2026-01-27 23:09:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/gear_lockers landed on page that is not a product page. 2026-01-27 23:09:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/bin_shelving/steel_bin_shelving landed on page that is not a product page. 2026-01-27 23:09:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/name_badges_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:09:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/name_badges_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/name_badges_kits landed on page that is not a product page. 2026-01-27 23:09:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:09:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:09:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/name_badges_kits landed on page that is not a product page. 2026-01-27 23:09:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns landed on page that is not a product page. 2026-01-27 23:09:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28339 pages (at 88 pages/min), scraped 10725 items (at 75 items/min) 2026-01-27 23:09:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:09:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 23:10:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pencil_sharpeners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_balls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 23:10:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pencil_sharpeners landed on page that is not a product page. 2026-01-27 23:10:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock landed on page that is not a product page. 2026-01-27 23:10:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_balls landed on page that is not a product page. 2026-01-27 23:10:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 23:10:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers landed on page that is not a product page. 2026-01-27 23:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-24-inch-w-x-24-inch-h-x-4-inch-d>: HTTP status code is not handled or not allowed 2026-01-27 23:10:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 23:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-push-trolley-1-12-15-183>: HTTP status code is not handled or not allowed 2026-01-27 23:10:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kids-sensory-table-clear-p1108-48l-x-16w-x-6h>: HTTP status code is not handled or not allowed 2026-01-27 23:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-dw-3comp-9-white>: HTTP status code is not handled or not allowed 2026-01-27 23:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slb-lever-hoists-2200-lb-capacity-5-ft-lift-14-38-head-room>: HTTP status code is not handled or not allowed 2026-01-27 23:10:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/550s-top-chest-w-12-drawers-50-w-x-25-1-4-d-x-27-h-red-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-push-trolley-2-20-71>: HTTP status code is not handled or not allowed 2026-01-27 23:10:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12u-linier-fixed-wall-mount-cabinet-vented-door>: HTTP status code is not handled or not allowed 2026-01-27 23:10:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100w-solar-panel-with-650wh-battery-4-cameras>: HTTP status code is not handled or not allowed 2026-01-27 23:10:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-tan-2xl>: HTTP status code is not handled or not allowed 2026-01-27 23:10:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets landed on page that is not a product page. 2026-01-27 23:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28427 pages (at 88 pages/min), scraped 10790 items (at 65 items/min) 2026-01-27 23:10:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-sheet-w-lse-acrylic-adhesive-18-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-27 23:11:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:11:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 23:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biohazard-specimen-transport-bag-6-x-9-zipper-score-line-document-pouch-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 23:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-acetal-plastic-sheet-w-lse-acrylic-adhesive-132-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 23:11:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x39-steel-shelving-with-20-6-h-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-27 23:11:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/dry_cleaning_laundry_equipment/irons_garment_steamers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-1-12-thick-x-48-wide-x-72-long>: HTTP status code is not handled or not allowed 2026-01-27 23:11:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 23:11:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-ladder-7-step-aluminum-perforated-21-deep-top-step-with-handrails-24-w-step>: HTTP status code is not handled or not allowed 2026-01-27 23:11:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/dry_cleaning_laundry_equipment/irons_garment_steamers landed on page that is not a product page. 2026-01-27 23:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 23:11:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-rod-1-18-diameter-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-27 23:11:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-27 23:11:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 23:11:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders landed on page that is not a product page. 2026-01-27 23:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-14-thick-x-3-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 23:11:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/ice_machines_equipment/ice_machines/countertop_ice_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-royal-blue-polyestercombed-cotton-3xl>: HTTP status code is not handled or not allowed 2026-01-27 23:11:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock landed on page that is not a product page. 2026-01-27 23:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-1-14-thick-x-1-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 23:11:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-27 23:11:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sanitex-green-bib-overall-plain-front-pvc-on-polyester-size-medium>: HTTP status code is not handled or not allowed 2026-01-27 23:11:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/ice_machines_equipment/ice_machines/countertop_ice_machines landed on page that is not a product page. 2026-01-27 23:11:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-acetal-plastic-sheet-w-lse-acrylic-adhesive-116-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 23:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-38-thick-x-5-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-27 23:11:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pedestal-base-cd-premium-fan-292650>: HTTP status code is not handled or not allowed 2026-01-27 23:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-14-thick-x-2-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-27 23:11:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-27 23:11:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands landed on page that is not a product page. 2026-01-27 23:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-for-body-forms-12-x-12-x-30h>: HTTP status code is not handled or not allowed 2026-01-27 23:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28510 pages (at 83 pages/min), scraped 10842 items (at 52 items/min) 2026-01-27 23:11:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays landed on page that is not a product page. 2026-01-27 23:11:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kneeling-sitting-creeper-w-3-casters-chest-support-01rac3cs>: HTTP status code is not handled or not allowed 2026-01-27 23:11:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-wide-bore-large-bulb-124mm-500-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:12:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-aluminum-hose-cable-bridge-yellow-24-x-718-x-1116>: HTTP status code is not handled or not allowed 2026-01-27 23:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear>: HTTP status code is not handled or not allowed 2026-01-27 23:12:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-holder-use-with-gtr-hd-series-tube-rotators-16-vertical-places-for-15ml-microcentrifuge-tubes>: HTTP status code is not handled or not allowed 2026-01-27 23:12:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-system-qp-1-rs3-50>: HTTP status code is not handled or not allowed 2026-01-27 23:12:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/exhaust_fan_accessories/dampers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorized-roll-up-door-pvc-coated-blue-vinyl-panels-vision-panel-10-x-10>: HTTP status code is not handled or not allowed 2026-01-27 23:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/berko-surface-mounting-frame-navajo-white-sedsm>: HTTP status code is not handled or not allowed 2026-01-27 23:12:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-27 23:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/exhaust_fan_accessories/dampers>: HTTP status code is not handled or not allowed 2026-01-27 23:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-circuit-breaker-compact-padlock>: HTTP status code is not handled or not allowed 2026-01-27 23:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-ii-cap-with-accessory-slots-and-6-point-mega-ratchet-suspension-brown>: HTTP status code is not handled or not allowed 2026-01-27 23:12:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-27 23:12:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:12:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-group-lock-box-latch-tight-portable-red>: HTTP status code is not handled or not allowed 2026-01-27 23:12:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mediumduty-absorbent-pads-303-gallon-capacity-15-x-19-100-padscase>: HTTP status code is not handled or not allowed 2026-01-27 23:12:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-27 23:12:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock>: HTTP status code is not handled or not allowed 2026-01-27 23:12:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-27 23:12:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibgb-436vs-combination-8-inch-variable-grinder-with-4-inch-x-36-inch-belt-sander>: HTTP status code is not handled or not allowed 2026-01-27 23:12:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-949evs-dp700-3x-k-dro-x-y-pwrfd already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear>: HTTP status code is not handled or not allowed 2026-01-27 23:12:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glacier-extreme-self-contained-cubical-safety-shower-eyewash-for-extreme-cold-conditions>: HTTP status code is not handled or not allowed 2026-01-27 23:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28594 pages (at 84 pages/min), scraped 10901 items (at 59 items/min) 2026-01-27 23:12:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets landed on page that is not a product page. 2026-01-27 23:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serological-pipette-5ml-polystyrene-standard-tip-342mm-sterile-blue-band-pp-200-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:12:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-949evs-dp700-3x-k-dro-x-y-pwrfd landed on page that is not a product page. 2026-01-27 23:12:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-ray-construction-paper-12-x-18-turquoise25-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:13:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands landed on page that is not a product page. 2026-01-27 23:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41-series-manifold-with-60in-ball-valve-hoses-41315>: HTTP status code is not handled or not allowed 2026-01-27 23:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-bar-cooler-2-section-61-18w-24-14d-35-58h-tbb-24-60g>: HTTP status code is not handled or not allowed 2026-01-27 23:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1440-3-with-collet-closer>: HTTP status code is not handled or not allowed 2026-01-27 23:13:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-inner-boxes-47-1-4-x-39-1-2-x-36>: HTTP status code is not handled or not allowed 2026-01-27 23:13:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-27 23:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-mailer-9-x-6-x-1->: HTTP status code is not handled or not allowed 2026-01-27 23:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c10-bump-cap-for-minor-bumps-with-absorbent-brow-pad-red->: HTTP status code is not handled or not allowed 2026-01-27 23:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-shipping-containers-16-3-4-x-16-3-4-x-15>: HTTP status code is not handled or not allowed 2026-01-27 23:13:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners landed on page that is not a product page. 2026-01-27 23:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-mobile-steel-square-edge-work-bench-fixed-height-1-3-4-top>: HTTP status code is not handled or not allowed 2026-01-27 23:13:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-acu-rite-203-3x-k-dro-x-y-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:13:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-3-axis-newall-dp700-knee-dro already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-ossmd-mdi-dual-relay-multi-technology-wall-switch-sensor-2400-sq-ft-major-400-sq-ft-minor-motion-coverage-ivory>: HTTP status code is not handled or not allowed 2026-01-27 23:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toilet-brush-carry-caddy-for-commercial-housekeeping-carts>: HTTP status code is not handled or not allowed 2026-01-27 23:13:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-acu-rite-203-3x-k-dro-x-y-powerfeeds landed on page that is not a product page. 2026-01-27 23:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-10x15-green>: HTTP status code is not handled or not allowed 2026-01-27 23:13:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-3-axis-newall-dp700-knee-dro landed on page that is not a product page. 2026-01-27 23:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-3l6-3-8-x-1-4-double-cut-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-27 23:13:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-sheets-24-x-18>: HTTP status code is not handled or not allowed 2026-01-27 23:13:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-newall-dp700-quill-dro-servo-x-y-z-ax-pwrfds-usa-air-p-drw-br already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-stock-picking-ladder-perforated-tread-spl-6-14p>: HTTP status code is not handled or not allowed 2026-01-27 23:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs>: HTTP status code is not handled or not allowed 2026-01-27 23:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-newall-dp700-quill-dro-servo-x-y-z-ax-pwrfds-usa-air-p-drw-br>: HTTP status code is not handled or not allowed 2026-01-27 23:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28685 pages (at 91 pages/min), scraped 10966 items (at 65 items/min) 2026-01-27 23:13:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/job_site_security_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-diamond-pro-fixed-volume-2000ul-2ml-light-green>: HTTP status code is not handled or not allowed 2026-01-27 23:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-explosion-proof-wet-environment-duct-fan-1-phase-3-4-hp>: HTTP status code is not handled or not allowed 2026-01-27 23:14:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-w-butcher-block-top-24-x-48-fixed-height>: HTTP status code is not handled or not allowed 2026-01-27 23:14:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-narrow-mouth-polypropylene-attached-polypropylene-screw-cap-250ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:14:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/job_site_security_trucks landed on page that is not a product page. 2026-01-27 23:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-shutters-42-exhaust-fans>: HTTP status code is not handled or not allowed 2026-01-27 23:14:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-aluminum-wheel-barrow-style-rolling-ladder-24w-plat-grip-strut-tread-wlartr107165c>: HTTP status code is not handled or not allowed 2026-01-27 23:14:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs landed on page that is not a product page. 2026-01-27 23:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-aluminum-rolling-ladder-24w-ribbed-tread-21d-top-step>: HTTP status code is not handled or not allowed 2026-01-27 23:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs>: HTTP status code is not handled or not allowed 2026-01-27 23:14:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers landed on page that is not a product page. 2026-01-27 23:14:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-t2-plus-dissipative-dual-layer-rubber-roll-blue-0060-x-48-x-20-ft>: HTTP status code is not handled or not allowed 2026-01-27 23:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snaps-sockets-and-rivets-10-mm-100-piecespack>: HTTP status code is not handled or not allowed 2026-01-27 23:14:25 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 23:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-pressure-switch-425-psi-open-325-psi-closed>: HTTP status code is not handled or not allowed 2026-01-27 23:14:26 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:11 2026-01-27 23:14:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs landed on page that is not a product page. 2026-01-27 23:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-acrylic-adhesive-tape-2in-x-750ft>: HTTP status code is not handled or not allowed 2026-01-27 23:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lowboy-teller-pedestal-cabinet-s-604l-b-2-drawers-left-hinged-door-19-x-19-x-27-7-8-black>: HTTP status code is not handled or not allowed 2026-01-27 23:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axion-msr-combination-eye-face-wash-drench-shower-8300crp-8309crp>: HTTP status code is not handled or not allowed 2026-01-27 23:14:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/multimeters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-insert-for-new-cryoclear-vials-yellow-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-or-countertop-magazine-rack-11-w-mahogany>: HTTP status code is not handled or not allowed 2026-01-27 23:14:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:14:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/multimeters landed on page that is not a product page. 2026-01-27 23:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72w-x-30d-modular-workbench-with-3-drawers-stainless-steel-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-sump-drain-lockable-valve-1-npt>: HTTP status code is not handled or not allowed 2026-01-27 23:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28779 pages (at 94 pages/min), scraped 11038 items (at 72 items/min) 2026-01-27 23:14:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-27 23:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-galvanized-steel-floor-grating-b4800>: HTTP status code is not handled or not allowed 2026-01-27 23:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-mobile-computer-lanstation-workstation-keyboard-tray-40-hx24-wx48-l-black-3-shelf>: HTTP status code is not handled or not allowed 2026-01-27 23:15:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/chemical_storage_buildings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/earplug-dispenser-small-nrr-28db-250-pairs-dispenser>: HTTP status code is not handled or not allowed 2026-01-27 23:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs25hx38-metric-34-pitch-38mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:15:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/chemical_storage_buildings landed on page that is not a product page. 2026-01-27 23:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-16342-w-20-amp-125-volt-decora-plus-duplex-receptacle-self-grounding-white>: HTTP status code is not handled or not allowed 2026-01-27 23:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shrink-bags-16-x-22-x-100-gauge-100-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-side-compact-clearview-crib-white>: HTTP status code is not handled or not allowed 2026-01-27 23:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-green-discs-1-1-2-dia>: HTTP status code is not handled or not allowed 2026-01-27 23:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs11hx40-metric-1-14-pitch-40mm-finished-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/02ml-8-strip-flat-caps-no-tubes-optically-clear-for-qpcr-125-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-brackets-4000lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 23:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60a25hx1-a-plate-34-pitch-1-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-tier-3-door-premium-steel-locker-12-w-x-15-d-x-24-h-light-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-27 23:15:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-chrome-18w-x-30l-x-34h-3-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-27 23:15:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-trash-can-20-gallon-brown>: HTTP status code is not handled or not allowed 2026-01-27 23:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28871 pages (at 92 pages/min), scraped 11113 items (at 75 items/min) 2026-01-27 23:15:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/masking_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:15:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/oem_replacement_fan_blower_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-disc-with-3-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-27 23:15:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders landed on page that is not a product page. 2026-01-27 23:16:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders landed on page that is not a product page. 2026-01-27 23:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-aluminum-camlock-fitting-female-coupler-x-mpt-thread>: HTTP status code is not handled or not allowed 2026-01-27 23:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/building_construction_tape/masking_tape>: HTTP status code is not handled or not allowed 2026-01-27 23:16:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/oem_replacement_fan_blower_motors landed on page that is not a product page. 2026-01-27 23:16:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sling-here-4-6-white-black>: HTTP status code is not handled or not allowed 2026-01-27 23:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wired-ptac-thermostat-non-programmable-2h-1c-or-1h-1c>: HTTP status code is not handled or not allowed 2026-01-27 23:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 23:16:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qa-approved-4-4-blue-white>: HTTP status code is not handled or not allowed 2026-01-27 23:16:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/611-6w-1-4-mnpt-3-8-id-swivel-hose-end-fitting>: HTTP status code is not handled or not allowed 2026-01-27 23:16:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats landed on page that is not a product page. 2026-01-27 23:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-3-drawer-3-shelf-side-locker-19-w-x-25-d-x-h-61-black-w-red-trim>: HTTP status code is not handled or not allowed 2026-01-27 23:16:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-27 23:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-drawer-mobile-multi-drawer-cabinet-60-wx27-dx37-1-2-h-beige-1>: HTTP status code is not handled or not allowed 2026-01-27 23:16:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/bathroom_exhaust_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t34c1j-3-4-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:16:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/privacy_screens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-12-liter-capacity-sanitizing-cleaning-all-purpose-pump-sprayer>: HTTP status code is not handled or not allowed 2026-01-27 23:16:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/candy_gum already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:16:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t12cm1j-1-2-hp-1-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t2c1jh-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:16:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/training_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:16:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/bathroom_exhaust_fans landed on page that is not a product page. 2026-01-27 23:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lindor-assorted-truffles-platinum-bag-15-2-oz-gr>: HTTP status code is not handled or not allowed 2026-01-27 23:16:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/privacy_screens landed on page that is not a product page. 2026-01-27 23:16:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/candy_gum landed on page that is not a product page. 2026-01-27 23:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thank-you-soft-mint-puffs-31-74-oz-gr>: HTTP status code is not handled or not allowed 2026-01-27 23:16:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-t12cm1j-1-2-hp-1-phase-3450-rpm landed on page that is not a product page. 2026-01-27 23:16:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/training_tables landed on page that is not a product page. 2026-01-27 23:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-eqc1102-1-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 28957 pages (at 86 pages/min), scraped 11173 items (at 60 items/min) 2026-01-27 23:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u7e1a-7-5-hp-3-phase-3510-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-actuated-long-chassis-hydraulic-service-jack-10-ton>: HTTP status code is not handled or not allowed 2026-01-27 23:17:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/led_troffers_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u7p1g-7-5-hp-3-phase-3510-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn97-50-1-h-254-6tc-cast-iron-helical-bevel-speed-reducer-254-6tc-input-flange-50-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-27 23:17:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/led_troffers_panels landed on page that is not a product page. 2026-01-27 23:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn37-7-5-1-h-56c-cast-iron-helical-bevel-speed-reducer-56c-input-flange-7-5-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-27 23:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-yard-front-loading-dumpster-with-bumpers-dark-cool-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:17:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-yc2p3b-2-hp-3-phase-1175-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:17:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_containers/indoor_trash_cans/plastic_indoor_trash_cans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:17:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-master-link-1-5-inch-link-safety-orange-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs22i-a125-200-3-60-base-mount-125-psi>: HTTP status code is not handled or not allowed 2026-01-27 23:17:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_containers/indoor_trash_cans/plastic_indoor_trash_cans landed on page that is not a product page. 2026-01-27 23:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-stainless-steel-assortment-375-piece>: HTTP status code is not handled or not allowed 2026-01-27 23:17:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-27 23:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-prong-tool-wrench-holder>: HTTP status code is not handled or not allowed 2026-01-27 23:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan77-50-1-h-184tc-cast-iron-helical-bevel-speed-reducer-184tc-input-flange-50-1>: HTTP status code is not handled or not allowed 2026-01-27 23:17:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-8052-1-3-hp-1-phase-825-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:17:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-27 23:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-stem-so-tread-caster-with-brake-75mm-dia-5-16-18-x-1-stem-black>: HTTP status code is not handled or not allowed 2026-01-27 23:17:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-5481h-3-4-1-4-hp-1-phase-1075-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-arm-rest-covers-vinyl-black-set-of-2>: HTTP status code is not handled or not allowed 2026-01-27 23:17:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-8052-1-3-hp-1-phase-825-rpm landed on page that is not a product page. 2026-01-27 23:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h13-true-hepa-filter-for-osap4-and-osap5-air-purifiers>: HTTP status code is not handled or not allowed 2026-01-27 23:17:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-5481h-3-4-1-4-hp-1-phase-1075-rpm landed on page that is not a product page. 2026-01-27 23:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-for-slope-top-locker-12-x-72-deep-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cube-landfill-50-gallon-black-19-7-8-19-7-8-30>: HTTP status code is not handled or not allowed 2026-01-27 23:17:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29047 pages (at 90 pages/min), scraped 11239 items (at 66 items/min) 2026-01-27 23:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-starter-unit-18-w-x-54-l-x-64-h-4-shelf-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-27 23:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-post-kit-for-mobile-unit-21-w-x-70-h-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-27 23:18:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-27 23:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-composite-5-16-tube-x-1-8-swift-fit>: HTTP status code is not handled or not allowed 2026-01-27 23:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-in-y-conn-8mm-stud-x-8mm-tube>: HTTP status code is not handled or not allowed 2026-01-27 23:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-electronic-caliper-w-large-measuring-faces-0-8-inch-0-200mm-range>: HTTP status code is not handled or not allowed 2026-01-27 23:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sidedshield-24-inch-reach-w-interlock-24-inch-l-x-9-inch-w-x-6-1-2-inch-h-19-lb>: HTTP status code is not handled or not allowed 2026-01-27 23:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-poly-bag-tubing-stand-36-inch-roll>: HTTP status code is not handled or not allowed 2026-01-27 23:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/birdslide-extension-50w-beige>: HTTP status code is not handled or not allowed 2026-01-27 23:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-w-integrated-shackle-916-dia-x-25l>: HTTP status code is not handled or not allowed 2026-01-27 23:18:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/protective_packaging/roll_dispensers_cutters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bistro-36-dining-height-table-round-coastal-teak>: HTTP status code is not handled or not allowed 2026-01-27 23:18:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocala-gold-lines-slab-door-wood-24w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-27 23:18:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/protective_packaging/roll_dispensers_cutters landed on page that is not a product page. 2026-01-27 23:18:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gainesville-gold-lines-slab-door-wood-24w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-27 23:18:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-max-anti-fatigue-mat-58-thick-40l-x-3w-charcoal>: HTTP status code is not handled or not allowed 2026-01-27 23:18:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-2-tier-2-door-locker-18-in-w-x-21-in-d-x-36-in-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-27 23:18:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/nutrition_bars_mixes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors>: HTTP status code is not handled or not allowed 2026-01-27 23:18:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-27 23:18:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-27 23:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors>: HTTP status code is not handled or not allowed 2026-01-27 23:18:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-27 23:18:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/nutrition_bars_mixes>: HTTP status code is not handled or not allowed 2026-01-27 23:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29124 pages (at 77 pages/min), scraped 11295 items (at 56 items/min) 2026-01-27 23:18:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils landed on page that is not a product page. 2026-01-27 23:18:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-27 23:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comet-plastic-squat-tumblers-5-oz-clear-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-27 23:18:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-27 23:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-single-tube-stir-straws-5-1-4-l-red-pack-of-10000>: HTTP status code is not handled or not allowed 2026-01-27 23:19:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-27 23:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-hex-impact-driver-bare-tool-24v>: HTTP status code is not handled or not allowed 2026-01-27 23:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-peekaboo-blue-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-27 23:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8995-hard-hat-face-shield-for-full-brim-clear>: HTTP status code is not handled or not allowed 2026-01-27 23:19:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_pads_pad_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kidz-pediatric-wheelchair-12w-seat>: HTTP status code is not handled or not allowed 2026-01-27 23:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-k3-wheelchair-w-desk-length-arms-swing-away-footrests-20w-seat>: HTTP status code is not handled or not allowed 2026-01-27 23:19:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_pads_pad_holders landed on page that is not a product page. 2026-01-27 23:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torch-pulse-welding-gloves-medium-black>: HTTP status code is not handled or not allowed 2026-01-27 23:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bu800-20bt-battery-burnisher-234ah-25-hp>: HTTP status code is not handled or not allowed 2026-01-27 23:19:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-sectional-couch-w-double-chaise-lounge-131w-x-62-3-16d-x-35-3-4h-cream>: HTTP status code is not handled or not allowed 2026-01-27 23:19:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-chain-binder-for-516-to-38-chain-6600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 23:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-45h-navy-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:19:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training landed on page that is not a product page. 2026-01-27 23:19:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training landed on page that is not a product page. 2026-01-27 23:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-drawer--shelves-assembled-36w-x-18d-x-72h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 23:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-job-shirt-w-14-zipper-class-3-polyester-fleece-lime-large>: HTTP status code is not handled or not allowed 2026-01-27 23:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-class-2-hi-vis-safety-vest-2-reflective-strips-poly-mesh-lime-s-m>: HTTP status code is not handled or not allowed 2026-01-27 23:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6689-cooling-long-sleeve-sun-shirt-w-uv-protection-3xl-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29221 pages (at 97 pages/min), scraped 11368 items (at 73 items/min) 2026-01-27 23:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6807-winter-baseball-cap-w-ear-flaps-black>: HTTP status code is not handled or not allowed 2026-01-27 23:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-wear-organizer-11-34w-x-4-12d-x-30-12h-white>: HTTP status code is not handled or not allowed 2026-01-27 23:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-18-door-digital-locker-36in-w-x-12in-d-x-78in-h-tan-assembled>: HTTP status code is not handled or not allowed 2026-01-27 23:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-smooth-replacement-strip-for-pedestrian-curtain-doors-8l-x-8w-clear>: HTTP status code is not handled or not allowed 2026-01-27 23:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-switch-for-w-series-auto-sealers-w-300dat-w-300dats>: HTTP status code is not handled or not allowed 2026-01-27 23:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointed-cone-bur-single-cut-2-18l-x-18-shank-dia>: HTTP status code is not handled or not allowed 2026-01-27 23:20:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_sconces already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:20:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t8-led-tube-light-bulb-medium-bi-pin-base-14w-1800-lumens-5000k-super-white>: HTTP status code is not handled or not allowed 2026-01-27 23:20:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:20:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/led_wraparound_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/myfuge-mini-centrifuge-w-2-rotors-6000-rpm-240v-red-lid>: HTTP status code is not handled or not allowed 2026-01-27 23:20:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:20:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights landed on page that is not a product page. 2026-01-27 23:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-balance-500g-capacity-0001g-readability-115v>: HTTP status code is not handled or not allowed 2026-01-27 23:20:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs landed on page that is not a product page. 2026-01-27 23:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-personal-self-retracting-lifeline-w-rebar-hook-276-lb-wt-72l>: HTTP status code is not handled or not allowed 2026-01-27 23:20:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/led_wraparound_lights landed on page that is not a product page. 2026-01-27 23:20:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights landed on page that is not a product page. 2026-01-27 23:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-add-on-48l-x-32w-x-72h-antique-white>: HTTP status code is not handled or not allowed 2026-01-27 23:20:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-16w-x-84h-antique-white>: HTTP status code is not handled or not allowed 2026-01-27 23:20:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/wall_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-graduated-globe-glass-class-b-to-deliver-td-dual-grads-astm-e1272-250ml-2-box>: HTTP status code is not handled or not allowed 2026-01-27 23:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-wheelchair-scale-ac-adapter--btwifi-1000-lb-cap-32l-x-36w-platform>: HTTP status code is not handled or not allowed 2026-01-27 23:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-polypropylene-rope-per-foot-7200l-x-34w-royal-bluewhite>: HTTP status code is not handled or not allowed 2026-01-27 23:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-2-bar-steel-ladder-roof-rack-for-ford-transit-connect-2014-on-black>: HTTP status code is not handled or not allowed 2026-01-27 23:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29310 pages (at 89 pages/min), scraped 11437 items (at 69 items/min) 2026-01-27 23:20:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/wall_air_conditioners landed on page that is not a product page. 2026-01-27 23:20:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/respirator_parts_accessories/respirator_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlg15m-mobile-diesel-generator-13-14kw-mit-engine>: HTTP status code is not handled or not allowed 2026-01-27 23:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs40x158-1-pitch-1-58-finished-bore-40-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:21:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables landed on page that is not a product page. 2026-01-27 23:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssid-post-decon-kit-large-adult>: HTTP status code is not handled or not allowed 2026-01-27 23:21:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/dry_cleaning_wipes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-western-work-boots-steel-toe-size-8w-10-inch-h-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:21:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/respiratory_protection/respirator_parts_accessories/respirator_accessories landed on page that is not a product page. 2026-01-27 23:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16a30-metric-1-pitch-30mm-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/dry_cleaning_wipes>: HTTP status code is not handled or not allowed 2026-01-27 23:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-pouch-with-ioban-2-incise-film-6697-122-inch-x-77-inch-5-each-case>: HTTP status code is not handled or not allowed 2026-01-27 23:21:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bair-hugger-lower-body-blanket-42568-10-case>: HTTP status code is not handled or not allowed 2026-01-27 23:21:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-11-5m-rinsed-black-tower-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:21:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs38x21516-1-pitch-2-1516-finished-bore-38-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:21:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10a16h-metric-a-plate-58-pitch-12mm-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:21:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 23:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 23:21:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:21:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 23:21:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 23:21:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 23:21:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:21:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40b21hx58mpb-12-pitch-58-plain-bore-21-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:21:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/ups_replacement_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyberpower-or500lcdrm1u-ups-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:21:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs20hx32-metric-58-pitch-32mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:21:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:21:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs27hx118-12-pitch-1-18-finished-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:21:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29395 pages (at 85 pages/min), scraped 11494 items (at 57 items/min) 2026-01-27 23:21:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/ups_replacement_batteries landed on page that is not a product page. 2026-01-27 23:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 23:21:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-bags-15-x-17-1-2-150-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs16hx35-metric-34-pitch-35mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pbq-4-5-6-sealed-lead-acid-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:22:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs22hx20-metric-58-pitch-20mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:22:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galion-503l-industrial-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:22:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-589-industrial-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severance-hss-6-flute-chatterless-countersink-1-2-diameter-82-degree>: HTTP status code is not handled or not allowed 2026-01-27 23:22:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-112-113-alarm-replacement-battery-100ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solex-x-ptx-b4-12-alarm-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-10-5w-black>: HTTP status code is not handled or not allowed 2026-01-27 23:22:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs10hx14-metric-12-pitch-14mm-finished-bore-10-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25bs18hx12-14-pitch-12-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:22:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-d60bs23hx112-double-34-pitch-1-12-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-27 23:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-black-3-8-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-27 23:22:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage landed on page that is not a product page. 2026-01-27 23:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-sp43-wheelchair-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 23:22:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:22:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/09145-ingredient-bin-wlid-pp-169-qt-23-size-colorclip-coded-transparent>: HTTP status code is not handled or not allowed 2026-01-27 23:22:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-12w-triple-black>: HTTP status code is not handled or not allowed 2026-01-27 23:22:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers>: HTTP status code is not handled or not allowed 2026-01-27 23:22:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-27 23:22:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-27 23:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29482 pages (at 87 pages/min), scraped 11552 items (at 58 items/min) 2026-01-27 23:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 23:22:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:22:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-27 23:22:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 23:22:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 23:23:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:23:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 23:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 23:23:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-strap-513084-with-wire-hook-30-x-2-gold>: HTTP status code is not handled or not allowed 2026-01-27 23:23:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-opening-pressboard-report-cover-prong-fastener-11-x-17-red>: HTTP status code is not handled or not allowed 2026-01-27 23:23:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 23:23:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-27 23:23:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-bottleless-cold-cooler-w-filtration-black-w-blue-trim>: HTTP status code is not handled or not allowed 2026-01-27 23:23:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers landed on page that is not a product page. 2026-01-27 23:23:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:23:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm-dc-motor-wpmdc2-18-180v-145tcb-tenv-tefc-145tc-180v-2-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-27 23:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht3-12-213t-gp-tefc-rigid-3-ph-213t-43-fla>: HTTP status code is not handled or not allowed 2026-01-27 23:23:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hcf-pacelite-737-electric-scooter-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 23:23:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-responder-bag-bleed-control-airway-mgmnt-bbp-up-to-24-persons-red>: HTTP status code is not handled or not allowed 2026-01-27 23:23:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:23:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/specialty-drum-dolly-for-55-gallon-drum-hard-rubber-wheels-900-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 23:23:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-slimline-gold-db9-coupler-gender-changer-connector-f-f>: HTTP status code is not handled or not allowed 2026-01-27 23:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-insulated-metal-access-panel-16l-x-16w>: HTTP status code is not handled or not allowed 2026-01-27 23:23:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors landed on page that is not a product page. 2026-01-27 23:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenline-626-hand-truck-w-pin-handle-pneumatic-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 23:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-nonslip-coating-durable-antislip-paint-1-gal-safety-yellow-75-ye-gl>: HTTP status code is not handled or not allowed 2026-01-27 23:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-1-tier-1-door-locker-15w-x-24d-x-78h-dark-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-27 23:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29567 pages (at 85 pages/min), scraped 11604 items (at 52 items/min) 2026-01-27 23:23:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/specialty_coatings_paint already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-sign-frame-wedge-base-11w-x-7h-black>: HTTP status code is not handled or not allowed 2026-01-27 23:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-portable-wheelchair-scale-800lb-capacity-emr-connectivity>: HTTP status code is not handled or not allowed 2026-01-27 23:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm40-401-56c-aluminum-worm-gear-reducer-40mm-401-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-27 23:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-chairries-premium-tray-15-seat-height>: HTTP status code is not handled or not allowed 2026-01-27 23:24:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/specialty_coatings_paint landed on page that is not a product page. 2026-01-27 23:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upsonic-ds-600-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-dn-0810-debris-safety-netting-8-x-10>: HTTP status code is not handled or not allowed 2026-01-27 23:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stair-tread-rubber-square-nose-48l-black>: HTTP status code is not handled or not allowed 2026-01-27 23:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/excel-eb1270f2-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryo-coder-for-skirted-base-vials-yellow-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 23:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-4-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-27 23:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-smp7pmctxpd4cb-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/submersible-high-head-effluent-pump-ws50hm-115v-130-gpm-at-5>: HTTP status code is not handled or not allowed 2026-01-27 23:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desiccator-glass-12-dia>: HTTP status code is not handled or not allowed 2026-01-27 23:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-narrow-mouth-hdpe-250ml-capacity-amber-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-27 23:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-bolted-pallet-rack-add-on-96w-x-48d-x-144h>: HTTP status code is not handled or not allowed 2026-01-27 23:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62022rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-15mm-bore-35mm-od>: HTTP status code is not handled or not allowed 2026-01-27 23:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29666 pages (at 99 pages/min), scraped 11687 items (at 83 items/min) 2026-01-27 23:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-vibrator-turbine-ot-20-anodized-aluminum-body>: HTTP status code is not handled or not allowed 2026-01-27 23:25:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gilson-22e-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:25:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:25:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esharp-mechanical-pencil-05mm-black-dozen>: HTTP status code is not handled or not allowed 2026-01-27 23:25:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 23:25:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:25:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 23:25:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils landed on page that is not a product page. 2026-01-27 23:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-womens-short-sleeve-t-shirt-xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-27 23:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-27 23:25:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils landed on page that is not a product page. 2026-01-27 23:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/petropad153-smart-polymer-spill-pad-35-1316l-x-53-78w-large-white-pk-of-2>: HTTP status code is not handled or not allowed 2026-01-27 23:25:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-dr709-30s-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:25:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:25:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/grinders_buffers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-1603-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:25:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 23:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technologies-ez-shopper-electric-grocery-cart-ezs-1772-8000-bl-black-750-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 23:25:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 23:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b-b-sp7-5-12-emergency-light-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:25:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/grinders_buffers landed on page that is not a product page. 2026-01-27 23:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-tb-30-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:25:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_visual_signal_combinations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/petzl-asap-ascender-sorber-accessory-kit-for-hyperlite-limited-arrest-system>: HTTP status code is not handled or not allowed 2026-01-27 23:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safetyapproved-led-flashlight-xpp5420g-80-lumens-industrial-green-4pk>: HTTP status code is not handled or not allowed 2026-01-27 23:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powersonic-ps121000-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-27 23:25:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_visual_signal_combinations landed on page that is not a product page. 2026-01-27 23:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29756 pages (at 90 pages/min), scraped 11754 items (at 67 items/min) 2026-01-27 23:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-ups12580-12v-9ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-27 23:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-panel-5w-x-8h>: HTTP status code is not handled or not allowed 2026-01-27 23:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grill-cover-pow-mia-60l-x-21w-x-36h>: HTTP status code is not handled or not allowed 2026-01-27 23:26:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1530lite72-112-x-3-lite-tslotted-profile-72-stock-bar>: HTTP status code is not handled or not allowed 2026-01-27 23:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/varicap6-expandable-1-6-post-binder-11-x-8-1-2-white-clear>: HTTP status code is not handled or not allowed 2026-01-27 23:26:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/structural_framing already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas>: HTTP status code is not handled or not allowed 2026-01-27 23:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-dse18-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-h3-electric-radiant-infrared-heater-6000w-208240v-black>: HTTP status code is not handled or not allowed 2026-01-27 23:26:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:26:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/structural_framing landed on page that is not a product page. 2026-01-27 23:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prescolite-12-864-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-h2rq6s10-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:26:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-27 23:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-36-d-production-workbench-w-drawer-upright-shelf-birch-butcher-block-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:26:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6092-metric-ball-end-power-bit-6mm>: HTTP status code is not handled or not allowed 2026-01-27 23:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-pe7f1-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:26:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 23:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp020cd-15-ner-electric-hoist-push-trolley-2-ton-15-lift-71-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-27 23:26:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5900-double-shaft-mounting-block-15>: HTTP status code is not handled or not allowed 2026-01-27 23:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fowler-xtra-value-digital-thickness-gage>: HTTP status code is not handled or not allowed 2026-01-27 23:26:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-27 23:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7210bmuc3-angular-contact-ball-bearing-flush-ground-50mm-bore-x-90mm-od-x-20mm-w>: HTTP status code is not handled or not allowed 2026-01-27 23:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29851 pages (at 95 pages/min), scraped 11827 items (at 73 items/min) 2026-01-27 23:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contoured-surveyors-vest-w-solid-front--mesh-back-class-3-xl-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-27 23:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-e200-electric-scooter-replacement-battery-8ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifan-all-150cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 23:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-m2-220-220cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 23:27:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/scooter_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bruno-model-44-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartwave-radiant-electric-heater-3000w-240v-43l-x-6-716w-x-12-58h-black>: HTTP status code is not handled or not allowed 2026-01-27 23:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pt1000-b-glass-coated-temperature-sensor-for-all-digital-hotplates>: HTTP status code is not handled or not allowed 2026-01-27 23:27:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gold-fibre-notebook-8-1-2-inch-x-11-3-4-inch-wide-ruled-green-cover-70-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-27 23:27:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/scooter_batteries landed on page that is not a product page. 2026-01-27 23:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/picker-inernational-l-explorer-xray-medical-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-27 23:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Advanced-ChairBed-Alarm-No-Nurse-Call-10250>: HTTP status code is not handled or not allowed 2026-01-27 23:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snugboot-pioneer-safety-knee-boots-cleated-outsole-plain-toe-size-9-16h-black>: HTTP status code is not handled or not allowed 2026-01-27 23:27:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-aluminum-gantry-crane-6000-lb-capacity-12w-x-13-316h>: HTTP status code is not handled or not allowed 2026-01-27 23:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-18d-x-74h-with-21-ssb465-stackable-shelf-bins-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:27:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-4vs-millacu-rite-200s-drox-y-axis-powerfeeds-power-draw-bar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper>: HTTP status code is not handled or not allowed 2026-01-27 23:27:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-4vs-mill3-axis-acu-rite-vue-dro-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superfoam-perforated-58-thick-safetyanti-fatigue-floor-mat-3x4-black>: HTTP status code is not handled or not allowed 2026-01-27 23:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rph-series-pump-house-convection-specialty-heater-rph25a-500w-240v>: HTTP status code is not handled or not allowed 2026-01-27 23:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/904-1008-904-case-w-foam-102l-x-79w-x-45h-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:27:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-4vs-millacu-rite-200s-drox-y-axis-powerfeeds-power-draw-bar landed on page that is not a product page. 2026-01-27 23:27:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-4vs-mill3-axis-acu-rite-vue-dro-powerfeeds landed on page that is not a product page. 2026-01-27 23:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/904-0004-904-case-102l-x-79w-x-45h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 23:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 29946 pages (at 95 pages/min), scraped 11901 items (at 74 items/min) 2026-01-27 23:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/935-1003-935-case-w-foam-220l-x-140w-x-90h-orange>: HTTP status code is not handled or not allowed 2026-01-27 23:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/960-2003-960-case-w-padded-divider-254l-x-200w-x-145h-orange>: HTTP status code is not handled or not allowed 2026-01-27 23:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-flame-resistant-team-jacket-jet2-navy-size-s-regular>: HTTP status code is not handled or not allowed 2026-01-27 23:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-cargo-pocket-work-pants-plc2-navy-9-oz-size-42-x-36u>: HTTP status code is not handled or not allowed 2026-01-27 23:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-spitfire-ex-1420-spitfire142016f-s21-wheelchair-battery-8ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standup-adjustable-height-workstation-desk-47-1-4w-x-29-1-2d-x-29-42-3-4-h>: HTTP status code is not handled or not allowed 2026-01-27 23:28:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2007-standard-class-3-two-tone-mesh-hook-loop-safety-vest-lime-large>: HTTP status code is not handled or not allowed 2026-01-27 23:28:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ubvt-4-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:28:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 23:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1003-standard-class-2-mesh-hook-loop-safety-vest-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-27 23:28:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 23:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6801-class-e-standard-waterproof-rain-pants-lime-lxl>: HTTP status code is not handled or not allowed 2026-01-27 23:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perf-24-w-8-step-stl-roll-lad-21-d-top-stp-hndrl-lck-orng-fs083221po>: HTTP status code is not handled or not allowed 2026-01-27 23:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-klf300-c-bayou-300-4x4-canada-300cc-atv-battery-1992-2005-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-l-o-x-pneumatic-lockout-valve-y1523c6002-1-npt>: HTTP status code is not handled or not allowed 2026-01-27 23:28:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-mushroom-red-push-button-valve-d1223b2mpr-14-bspp>: HTTP status code is not handled or not allowed 2026-01-27 23:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-halide-ballast-imh70dlfm-120-277v-70-watts>: HTTP status code is not handled or not allowed 2026-01-27 23:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-corral-princess-hp232-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:28:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves landed on page that is not a product page. 2026-01-27 23:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30040 pages (at 94 pages/min), scraped 11976 items (at 75 items/min) 2026-01-27 23:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mp40-3-hole-punch-30-sheet-capacity-black>: HTTP status code is not handled or not allowed 2026-01-27 23:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-sportsman-850-efi-forest-850cc-atv-replacement-battery-2010-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 23:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-phillips-carbon-steel-12-x-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 23:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mz-zschopau-saxon-tour-301cc-motorcycle-replacement-battery-1966-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 23:29:13 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 23:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/victory-v92c-standard-cruiser-deluxe-1507cc-motorcycle-battery-2001-2002-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:29:13 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:12 2026-01-27 23:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-lag-screw-carbon-steel-38-x-3-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 23:29:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-washer-18-8-stainless-steel-10-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-27 23:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-utility-cases-small-case-8-1-2l-x-6-1-2w-x-3h-black>: HTTP status code is not handled or not allowed 2026-01-27 23:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries>: HTTP status code is not handled or not allowed 2026-01-27 23:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-gl1500se-gold-wing-special-edition-1500cc-motorcycle-battery-1990-2000-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb85-1842-5x-42-inch-w-x-18-inch-d-x-85-inch-h-5-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-rsv4-factory-aprc-abs-1000cc-motorcycle-replacement-battery-2013-2015-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jt750-sts-750cc-personal-watercraft-battery-1994-1998-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-overhead-track-kit-with-156-tracks--end-plates-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-27 23:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucf212-36-flange-mount-bearing-4-bolt-flange-set-screw-locking-bore-57-15-mm>: HTTP status code is not handled or not allowed 2026-01-27 23:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pacesaver-plus-iii-junior-plus-3junior-mobility-scooter-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30135 pages (at 95 pages/min), scraped 12055 items (at 79 items/min) 2026-01-27 23:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5156-premium-low-profile-hydration-pack-black-2-ltr>: HTTP status code is not handled or not allowed 2026-01-27 23:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6660-hard-hat-brim-with-shade-lime-one-size>: HTTP status code is not handled or not allowed 2026-01-27 23:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-add-on-oak73-1248-8-48-inch-w-x-12-inch-d-x-73-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-54w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 23:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-add-on-oat87-2448-7-48-inch-w-x-24-inch-d-x-87-inch-h-7-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-starter-42w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 23:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-starter-60w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 23:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-48w-x-12d-x-63h>: HTTP status code is not handled or not allowed 2026-01-27 23:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-void-1-5-8-x-1-2-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-gsx-380f-377cc-snowmobile-replacement-battery-2005-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 23:30:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/money-receipt-book-3-part-carbonless-2-3-4-x-7-50-sets-book>: HTTP status code is not handled or not allowed 2026-01-27 23:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-4-x-4-x-4-200lb-test-ect-32-kraft-50-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:30:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-27 23:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-gas-appliance-regulator-210g-2-1-2-up-to-26000000-btu>: HTTP status code is not handled or not allowed 2026-01-27 23:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-12-violet-spring-vio-r5310-for-rv53-regulators>: HTTP status code is not handled or not allowed 2026-01-27 23:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-reclosable-poly-bags-10-x-3-x-12-2-mil-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-grand-touring-1200-se-4-tec-1200cc-snowmobile-battery-2012-2014-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-bct144-10-bar-cradle-truck-144-l-10-000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 23:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8664-containment-berm-rapid-rise-15-x-50-22-oz-pvc>: HTTP status code is not handled or not allowed 2026-01-27 23:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30234 pages (at 99 pages/min), scraped 12134 items (at 79 items/min) 2026-01-27 23:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-resistant-gloves-smooth-grip-butyl-13-mil-thick-size-8-black>: HTTP status code is not handled or not allowed 2026-01-27 23:30:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/chemical_resistant_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-961212720-six-tier-12-x-12-x-12-1-wide-moss>: HTTP status code is not handled or not allowed 2026-01-27 23:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-200-trade-turbo-rim-diamond-blade-7-dia-x-316t-x-78-center-hole-dia>: HTTP status code is not handled or not allowed 2026-01-27 23:31:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/labels_barcode_equipment/label_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-freeride-146-154-800r-800cc-snowmobile-replacement-battery-2014-2016-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:31:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/chemical_resistant_gloves landed on page that is not a product page. 2026-01-27 23:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-fx10m-fx-nytro-mtx-153-1049cc-snowmobile-replacement-battery-2012-2014-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-811215601-single-tier-12-x-15-x-60-silver-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-1002nl-full-port-ball-valve-no-lead-forged-brass-12-sweat>: HTTP status code is not handled or not allowed 2026-01-27 23:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-600-ho-trail-and-adrenaline-and-x-593cc-snowmobile-battery-2004-2005-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-kf-150cst-portable-direct-heat-sealer-with-15mm-seal-w-pedal-set>: HTTP status code is not handled or not allowed 2026-01-27 23:31:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/gaffer_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-e639-286ttfna6576-20hp-460v-1200rpm-3ph-286t-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-27 23:31:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/labels_barcode_equipment/label_dispensers landed on page that is not a product page. 2026-01-27 23:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-fan-forced-wall-heater-fra4024f-4000-3000w-240-208v>: HTTP status code is not handled or not allowed 2026-01-27 23:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/building_construction_tape/gaffer_tape>: HTTP status code is not handled or not allowed 2026-01-27 23:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x235-carrier-oem-1-hp-200-230-460v-66-6-3a-3-phase>: HTTP status code is not handled or not allowed 2026-01-27 23:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-w642-445thfn19034-200hp-575v-1800rpm-3ph-445t-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-27 23:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c271-5kcr48wn6066-3-4hp-1140rpm-115-230v-1ph-56-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-27 23:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/see-a-160-degree-outdoor-acrylic-convex-mirror-36-diameter-plxo36>: HTTP status code is not handled or not allowed 2026-01-27 23:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ar-series-industrial-thermostat-heat-only-25a>: HTTP status code is not handled or not allowed 2026-01-27 23:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cx1-provector-explosion-proof-convection-heater-with-tstat-1800w-120v-1-phase>: HTTP status code is not handled or not allowed 2026-01-27 23:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-k277-5k46kn4085-3-4hp-1725-1425rpm-208-230-460v-3-ph-56-fr>: HTTP status code is not handled or not allowed 2026-01-27 23:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnyway-sw1235-sealed-lead-acid-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30329 pages (at 95 pages/min), scraped 12208 items (at 74 items/min) 2026-01-27 23:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2003-supporting-clip-125v-15a-2l>: HTTP status code is not handled or not allowed 2026-01-27 23:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelon-blue-wire-shelving-unit-starter-54w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 23:32:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/preconfigured_workbenches/heavy_duty_preconfigured_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/on-the-go-mix-sticks-raspberry-ice-08-oz-30box>: HTTP status code is not handled or not allowed 2026-01-27 23:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-13850-50-extension-cord-orange-green>: HTTP status code is not handled or not allowed 2026-01-27 23:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-free-laminator-8-1-2-wide-1-10-maximum-document-thickness>: HTTP status code is not handled or not allowed 2026-01-27 23:32:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/preconfigured_workbenches/heavy_duty_preconfigured_workbenches landed on page that is not a product page. 2026-01-27 23:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-security-power632-option-2-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-30w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 23:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/connector-39036845-12-male-jic-x-12-male-oring>: HTTP status code is not handled or not allowed 2026-01-27 23:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-h-cylinder-vertical-medical-fire-lined-gas-cabinet-43w-x-34d-x-65h>: HTTP status code is not handled or not allowed 2026-01-27 23:32:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-poly-z-brite-wire-shelving-unit-add-on-24w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 23:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-ez2-old-style-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:32:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables landed on page that is not a product page. 2026-01-27 23:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-z-brite-wire-shelving-unit-starter-42w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-27 23:32:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_hvac_blades_wheels/single_double_inlet_blower_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:32:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/bags_cases/computer_bags_briefcases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-poly-z-brite-wire-shelving-unit-starter-54w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-27 23:32:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wing-belt-drive-bearing-brackets-for-12-inch-blower>: HTTP status code is not handled or not allowed 2026-01-27 23:32:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_hvac_blades_wheels/single_double_inlet_blower_wheels landed on page that is not a product page. 2026-01-27 23:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/bags_cases/computer_bags_briefcases>: HTTP status code is not handled or not allowed 2026-01-27 23:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-ribbed-bollard-post-sleeve-8-black-1730-blk>: HTTP status code is not handled or not allowed 2026-01-27 23:32:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-27 23:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30424 pages (at 95 pages/min), scraped 12283 items (at 75 items/min) 2026-01-27 23:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-ind12300-emergency-light-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:33:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_fan_blades_blower_wheels/aluminum_fan_blades already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-002019-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-27 23:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-dr7395sg-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-27 23:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_fan_blades_blower_wheels/aluminum_fan_blades>: HTTP status code is not handled or not allowed 2026-01-27 23:33:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schedule-planner-kit-24-x-36>: HTTP status code is not handled or not allowed 2026-01-27 23:33:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl10000-series-right-hand-pedestal-steel-desk-30-x-48-putty-oak>: HTTP status code is not handled or not allowed 2026-01-27 23:33:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_stands_stools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_filters landed on page that is not a product page. 2026-01-27 23:33:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/wall_corner_bumper_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transport-wardrobe-cabinet-all-welded-46w-x-24d-x-78h-putty>: HTTP status code is not handled or not allowed 2026-01-27 23:33:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges landed on page that is not a product page. 2026-01-27 23:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-tall-storage-cabinet-all-welded-36w-x-24d-x-72h-dove-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:33:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_stands_stools landed on page that is not a product page. 2026-01-27 23:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/wall_corner_bumper_guards>: HTTP status code is not handled or not allowed 2026-01-27 23:33:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tank-liquid-level-gauge-aluminum-bushing-galvanized-rod-hdpe-float-2-fitting-36-depth>: HTTP status code is not handled or not allowed 2026-01-27 23:33:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regenerative-blower-ab-600-3-phase-1-stage-5-hp>: HTTP status code is not handled or not allowed 2026-01-27 23:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers>: HTTP status code is not handled or not allowed 2026-01-27 23:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels>: HTTP status code is not handled or not allowed 2026-01-27 23:33:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-27 23:33:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-acid-corrosive-cabinet-cra4510-with-self-close-45-gallon-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:33:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-60-in-w-x-48-in-d-x-60-in-h-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-27 23:33:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplace_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30507 pages (at 83 pages/min), scraped 12347 items (at 64 items/min) 2026-01-27 23:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pam-esd-anti-fatigue--anti-static-insole-mens-1213>: HTTP status code is not handled or not allowed 2026-01-27 23:33:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges landed on page that is not a product page. 2026-01-27 23:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries>: HTTP status code is not handled or not allowed 2026-01-27 23:34:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:34:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplace_accessories landed on page that is not a product page. 2026-01-27 23:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-twin-leg-hot-work-self-retracting-lifeline-web--steel-snap-hook-6l>: HTTP status code is not handled or not allowed 2026-01-27 23:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/victory-vegas-low-1634cc-motorcycle-replacement-battery-2008-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 23:34:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/vertical_hollow_shaft_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories>: HTTP status code is not handled or not allowed 2026-01-27 23:34:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_baseboard_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/134730000-write-on-label-tape-dispensers-multi-roll-economy-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:34:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/bin_cabinets/stationary_bin_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/vertical_hollow_shaft_motors>: HTTP status code is not handled or not allowed 2026-01-27 23:34:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_baseboard_heaters landed on page that is not a product page. 2026-01-27 23:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-48-x-24-2-drawers-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-27 23:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-1617-adhering-mat-blue-18-x-18>: HTTP status code is not handled or not allowed 2026-01-27 23:34:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/bin_cabinets/stationary_bin_cabinets landed on page that is not a product page. 2026-01-27 23:34:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-heavy-duty-workbench-72w-x-36d-x-36h-3600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 23:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-heated-softshell-jacket-xl-black>: HTTP status code is not handled or not allowed 2026-01-27 23:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-42w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 23:34:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos landed on page that is not a product page. 2026-01-27 23:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-36w-x-30d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-power-x-600-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-27 23:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-60w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:34:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/cash_handling_equipment/transaction_drawers_deal_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dp20-large-capacity-package-passer-drawer-ul-approved-bullet-resistant>: HTTP status code is not handled or not allowed 2026-01-27 23:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-36w-x-36d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 23:34:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_prep_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30596 pages (at 89 pages/min), scraped 12414 items (at 67 items/min) 2026-01-27 23:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-48w-x-36d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 23:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-42w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:34:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/cash_handling_equipment/transaction_drawers_deal_trays landed on page that is not a product page. 2026-01-27 23:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walmart-style-strip-wms-12>: HTTP status code is not handled or not allowed 2026-01-27 23:35:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_prep_tables landed on page that is not a product page. 2026-01-27 23:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rx-1-mountain-le-998cc-snowmobile-replacement-battery-2003-12v-b>: HTTP status code is not handled or not allowed 2026-01-27 23:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rs-vector-gt-40th-anniversary-973cc-snowmobile-battery-2008-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-summit-highmark-x-800-800cc-snowmobile-battery-2001-2004-12v>: HTTP status code is not handled or not allowed 2026-01-27 23:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roto-clip-extenda-print-protectorsignholder-5-12w-x-3-12h>: HTTP status code is not handled or not allowed 2026-01-27 23:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-lm25-lw-fits-american-lifts-model-little-mule>: HTTP status code is not handled or not allowed 2026-01-27 23:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/SVT-7230-72-W-x-30-D-18-ga-T-430-Stainless-Steel-Workbench>: HTTP status code is not handled or not allowed 2026-01-27 23:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-42w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 23:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbide-tip-engraving-cutter-for-computer-engravers-030k>: HTTP status code is not handled or not allowed 2026-01-27 23:35:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/panel_carts_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-base-for-4996-and-4986-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-27 23:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-magnetic-spreader-beam-96l-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 23:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elkay-92715c-flexi-guard-bubbler-replacement-kit>: HTTP status code is not handled or not allowed 2026-01-27 23:35:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/panel_carts_trucks landed on page that is not a product page. 2026-01-27 23:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-36w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 23:35:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/head_face_protection/hard_hats_helmets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:35:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-different-1-1-2-aluminum-steel-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:35:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rackguard-3-w-x-3-d-x-15-3-4-h-yellow>: HTTP status code is not handled or not allowed 2026-01-27 23:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30691 pages (at 95 pages/min), scraped 12489 items (at 75 items/min) 2026-01-27 23:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/head_face_protection/hard_hats_helmets>: HTTP status code is not handled or not allowed 2026-01-27 23:35:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:35:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-27 23:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-54w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:36:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-27 23:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-kids-120x-240x-300x-480x-600x-1200x-educational-kids-microscope-kit-experiment-cards>: HTTP status code is not handled or not allowed 2026-01-27 23:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-60w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-27 23:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-linea-return-table-white>: HTTP status code is not handled or not allowed 2026-01-27 23:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-42w-x-18d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-60-hp-1780-rpm-3-ph-364t-dp>: HTTP status code is not handled or not allowed 2026-01-27 23:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-60-hp-1185-rpm-3-ph-404t-opsb>: HTTP status code is not handled or not allowed 2026-01-27 23:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evo-6151-ascend-short-brim-safety-helmet-hdpe-shell-6-pt-suspension-wheel-ratchet-adj-white>: HTTP status code is not handled or not allowed 2026-01-27 23:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolution-deluxe-6161-full-brim-hard-hat-hdpe-shell-6-pt-suspension-ratchet-adjustment-red>: HTTP status code is not handled or not allowed 2026-01-27 23:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-48w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 23:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-bath-block-20-x-12mm-or-13mm-test-tubes>: HTTP status code is not handled or not allowed 2026-01-27 23:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-48w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-24wx24dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3212t-g-3-ph-5-hp-208-230-460-v-3600-rpm-odp-182t-frame>: HTTP status code is not handled or not allowed 2026-01-27 23:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-stainless-steel-needle-roller-bearing-w-inner-ring-7-x-17-x-16mm>: HTTP status code is not handled or not allowed 2026-01-27 23:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-12-x-24-x-16mm>: HTTP status code is not handled or not allowed 2026-01-27 23:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-handling-motor-ebm3611t-d-3-ph-3-hp-208-230-460-v-1760-rpm-tefc-182t-frame>: HTTP status code is not handled or not allowed 2026-01-27 23:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-28-x-45-x-23mm>: HTTP status code is not handled or not allowed 2026-01-27 23:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shrink-wrap-mini-cup-clip-for-hand-pallet-truck-grey>: HTTP status code is not handled or not allowed 2026-01-27 23:36:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/permanent_magnet_dc_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30787 pages (at 96 pages/min), scraped 12562 items (at 73 items/min) 2026-01-27 23:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-72w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 23:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-36w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:37:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/permanent_magnet_dc_motors landed on page that is not a product page. 2026-01-27 23:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/umi-pedicure-stool>: HTTP status code is not handled or not allowed 2026-01-27 23:37:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/coated_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combo-25-ton-6-stroke-low-profile-cylinder-with-p1000-pump>: HTTP status code is not handled or not allowed 2026-01-27 23:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-30w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:37:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/coated_gloves landed on page that is not a product page. 2026-01-27 23:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/constant-velocity-blower-cooling-conversion-kit-blwm18-f-3-ph-230-380-460v-444tc-447tc>: HTTP status code is not handled or not allowed 2026-01-27 23:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2517-x-1-7-16-1-7-16-x-24-2517-series-tapered-locking-steel-bushing-1-7-16-bore>: HTTP status code is not handled or not allowed 2026-01-27 23:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-30w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-27 23:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-chain-technologies-w10-air-cargo-cover-euro-pallet-uk-47l-x-3112w-x-24h-tyvek-white>: HTTP status code is not handled or not allowed 2026-01-27 23:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-25ml-wobblenot-serological-pipet-plasticplastic-bag-sterile-200->: HTTP status code is not handled or not allowed 2026-01-27 23:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubblefoampoly-disppenser-floor-unit-single-arm-w-slide-cutter-36-material-width>: HTTP status code is not handled or not allowed 2026-01-27 23:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-72w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-27 23:37:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-mc440-16875-vhs-alternate-coupling-bore-size-16875-frame-444tp-or-445tp>: HTTP status code is not handled or not allowed 2026-01-27 23:37:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/portable_electric_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-cab-32-cap-big-beam-w-locking-panel-light-gray-34-1-2w-x-17d-x-70-1-8h>: HTTP status code is not handled or not allowed 2026-01-27 23:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-vertical-divider-mg-divider-9-for-securall-medical-gas-cabinets-mg121-and-mg321>: HTTP status code is not handled or not allowed 2026-01-27 23:37:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls landed on page that is not a product page. 2026-01-27 23:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-358-x-558-x-916-black-rubber-obround-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-234-x-412-x-12-black-rubber-obround-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:37:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/portable_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-3-4-circles-20-pack-red>: HTTP status code is not handled or not allowed 2026-01-27 23:37:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/portable_electric_heaters landed on page that is not a product page. 2026-01-27 23:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-multi-purpose-table-with-t-legs--glides-60l-x-24w-x-29h-fusion-maple>: HTTP status code is not handled or not allowed 2026-01-27 23:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30883 pages (at 96 pages/min), scraped 12635 items (at 73 items/min) 2026-01-27 23:37:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-ultra-speed-20-battery-burnisher-56383523>: HTTP status code is not handled or not allowed 2026-01-27 23:37:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/portable_air_conditioners landed on page that is not a product page. 2026-01-27 23:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanix-wear-durahide153-fastfit174-leather-gloves-brown-large>: HTTP status code is not handled or not allowed 2026-01-27 23:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ma531-protective-glass-for-all-emz-models-except-emz-12-series>: HTTP status code is not handled or not allowed 2026-01-27 23:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-nexus-self-adhesive-vinyl-floor-tile-12-x-12-metallic-marble-diamond-20-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:38:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/gearboxes_speed_reducers/shaft_mount_reducers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-27 23:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4wtbk-2-tapered-bushing-kit-2-fits-reducer-styles-smr4wsmr4>: HTTP status code is not handled or not allowed 2026-01-27 23:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9oz-23-fr-sateen-cotton-sleeve-blue-9oz>: HTTP status code is not handled or not allowed 2026-01-27 23:38:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/gearboxes_speed_reducers/shaft_mount_reducers landed on page that is not a product page. 2026-01-27 23:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/techstar-sos-storage-bin-18-1-2-cu-ft-yellow>: HTTP status code is not handled or not allowed 2026-01-27 23:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-connector-h5205x12x16-3-4-inch-tube-od-1-inch-npt>: HTTP status code is not handled or not allowed 2026-01-27 23:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-extra-shelf-for-open-wire-shelving-24x14>: HTTP status code is not handled or not allowed 2026-01-27 23:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hooded-fleece-sweater-14-25-oz-flame-resistant-m-tall-navy>: HTTP status code is not handled or not allowed 2026-01-27 23:38:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl147-120-1-254-6tc-helical-inline-reducer-254-6tc-input-flange-120-1-ratio>: HTTP status code is not handled or not allowed 2026-01-27 23:38:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/delineator_posts_channelizer_cones already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-xl-navy>: HTTP status code is not handled or not allowed 2026-01-27 23:38:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-27 23:38:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-27 23:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wind-pro-full-zip-hooded-sweater-reflective-flame-resistant-4xl-tall-orange>: HTTP status code is not handled or not allowed 2026-01-27 23:38:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-27 23:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-3xl-tall-navy>: HTTP status code is not handled or not allowed 2026-01-27 23:38:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/delineator_posts_channelizer_cones landed on page that is not a product page. 2026-01-27 23:38:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-professional-monitor-printer-stand-w-drawer>: HTTP status code is not handled or not allowed 2026-01-27 23:38:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-27 23:38:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-27 23:38:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/document_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purp-truck-chest-black-alum-compact-size-12-0-cu-ft-cap-654-5-01>: HTTP status code is not handled or not allowed 2026-01-27 23:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 30964 pages (at 81 pages/min), scraped 12691 items (at 56 items/min) 2026-01-27 23:38:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-27 23:38:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-27 23:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:38:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-27 23:39:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-rat-3-compart-drawer-white-48-l-x-30-w-x-12-12-h-337-3>: HTTP status code is not handled or not allowed 2026-01-27 23:39:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/document_holders landed on page that is not a product page. 2026-01-27 23:39:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes landed on page that is not a product page. 2026-01-27 23:39:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-capacity-33-lbs-cylinders-heavy-duty-steel-gas-cylinder-cage-90w-x-30d-x-53h-white>: HTTP status code is not handled or not allowed 2026-01-27 23:39:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes landed on page that is not a product page. 2026-01-27 23:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-29w-x-36l-navy>: HTTP status code is not handled or not allowed 2026-01-27 23:39:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-27 23:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-40w-x-32l-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:39:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes landed on page that is not a product page. 2026-01-27 23:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/post-kit-63-highsingle-797327>: HTTP status code is not handled or not allowed 2026-01-27 23:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activity-tables-48-l-x-48-w-standard-height-round-white>: HTTP status code is not handled or not allowed 2026-01-27 23:39:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5650300-sase-shlvg-60x18x63-add-on>: HTTP status code is not handled or not allowed 2026-01-27 23:39:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-folding-handle-steel-platform-truck-35x23-5-rubber-casters-987773>: HTTP status code is not handled or not allowed 2026-01-27 23:39:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:39:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:39:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailbox-post-ornate-base-black-bayview-solar-lamp-w-3-address-plates-support-brace-black>: HTTP status code is not handled or not allowed 2026-01-27 23:39:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-long-corrugated-box-28-x-10-x-10-200lb-test-ect-32-kraft-25-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:39:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-23-15-70mm-stack-light-flashing-120v-acdc-bulb-amber>: HTTP status code is not handled or not allowed 2026-01-27 23:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-50w-x-33l-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:39:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-set-7>: HTTP status code is not handled or not allowed 2026-01-27 23:39:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b166-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-254mm>: HTTP status code is not handled or not allowed 2026-01-27 23:39:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:39:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-combination-lock-cash-box-spr15508-115w-x-78h-x-33h-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:39:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31040 pages (at 76 pages/min), scraped 12731 items (at 40 items/min) 2026-01-27 23:39:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:39:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bh1616-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-254mm>: HTTP status code is not handled or not allowed 2026-01-27 23:39:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:39:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em31154-15hp-1800rpm-56-frame-3ph-230-460v-odp-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-27 23:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:40:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics landed on page that is not a product page. 2026-01-27 23:40:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/stencils_letters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/instructional_materials/flash_cards_educational_games already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tb-1001-motor-terminal-conduit-box>: HTTP status code is not handled or not allowed 2026-01-27 23:40:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-52w-x-34l-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:40:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/stencils_letters landed on page that is not a product page. 2026-01-27 23:40:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/instructional_materials/flash_cards_educational_games landed on page that is not a product page. 2026-01-27 23:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-42w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-27 23:40:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-ghs205ap-toxic-ghs-label-vinyl-2-x-2-5-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:40:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-38w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-27 23:40:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:40:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16343-hamburger-turner-high-carbon-steel-white-handle-4-l-x-3-w>: HTTP status code is not handled or not allowed 2026-01-27 23:40:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/07060-butcher-steel-high-carbon-steel-14-l>: HTTP status code is not handled or not allowed 2026-01-27 23:40:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-12w-x-15d-x-30h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-27 23:40:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:40:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:40:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-ripstop-cargo-pants-34w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-27 23:40:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a70k-v-belt-kevlar-1-2-x-72>: HTTP status code is not handled or not allowed 2026-01-27 23:40:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-34w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-27 23:40:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/vibration_isolating_spring_floor_mounts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31110 pages (at 70 pages/min), scraped 12758 items (at 27 items/min) 2026-01-27 23:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-angle-equal-leg-60855-48-inchl-x-1-inchw-x-1-inchh-x-1-16-inchd-silver-d0230>: HTTP status code is not handled or not allowed 2026-01-27 23:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-36w-x-unhemmed-black>: HTTP status code is not handled or not allowed 2026-01-27 23:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:41:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stick-n-step-46602-4-inchd-x-16-inchw-grey>: HTTP status code is not handled or not allowed 2026-01-27 23:41:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:41:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/vibration_isolating_spring_floor_mounts landed on page that is not a product page. 2026-01-27 23:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-38w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-27 23:41:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:41:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl4108-plus-wall-mount-set-yellow-caution-do-not-enter-banner>: HTTP status code is not handled or not allowed 2026-01-27 23:41:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:41:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:41:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-satin-enamel-12-oz-aerosol-can-white-792195>: HTTP status code is not handled or not allowed 2026-01-27 23:41:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/color-decor-decorative-enamel-spray-10-oz-aerosol-can-white-satin-115397>: HTTP status code is not handled or not allowed 2026-01-27 23:41:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:41:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-fluorescent-fast-drying-enamel-12-oz-aerosol-can-blazing-orange-flat-641969>: HTTP status code is not handled or not allowed 2026-01-27 23:41:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-27 23:41:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-painter-5-piece-paint-tray-set-3-8-nap-133236>: HTTP status code is not handled or not allowed 2026-01-27 23:41:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:41:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-48w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-27 23:41:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-direct-online-start-stop-100-250v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-27 23:41:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-27 23:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-14w-x-61-12h-deluxe-freestanding-office-partition-panel-gray-with-cherry-277529FGY>: HTTP status code is not handled or not allowed 2026-01-27 23:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-variable-speed-axial-fan-w-3-hour-timer-1-3-hp-x-47atr>: HTTP status code is not handled or not allowed 2026-01-27 23:41:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-direct-online-reset-button-250-500v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-27 23:41:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_storage_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-plastic-box-truck-12-bushel-red-272547-8-casters>: HTTP status code is not handled or not allowed 2026-01-27 23:41:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers landed on page that is not a product page. 2026-01-27 23:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-1622-2rs-sealed-light-duty-05625-inch-bore-1375-inch-od>: HTTP status code is not handled or not allowed 2026-01-27 23:41:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers>: HTTP status code is not handled or not allowed 2026-01-27 23:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31196 pages (at 86 pages/min), scraped 12812 items (at 54 items/min) 2026-01-27 23:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-remote-start-terminals-start-stop-100-250v-13-16a>: HTTP status code is not handled or not allowed 2026-01-27 23:41:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/socket_screws/socket_head_cap_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/323120-finished-hex-nut-3-8-16-low-carbon-steel-hot-dip-galvanized-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 23:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/391020-flat-washer-10-18-8-stainless-steel-pkg-of-500>: HTTP status code is not handled or not allowed 2026-01-27 23:42:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers?token=null already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-1ph-direct-online-reset-button-100-250v-24-29a>: HTTP status code is not handled or not allowed 2026-01-27 23:42:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/nuts/lock_nuts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:42:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/screws/socket_screws/socket_head_cap_screws landed on page that is not a product page. 2026-01-27 23:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v24c-extension-spring-043-od-x-0054-wire-dia-x-6-oal-246-lbs-in-mbhd>: HTTP status code is not handled or not allowed 2026-01-27 23:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-remote-start-reset-button-100-250v-30-40a>: HTTP status code is not handled or not allowed 2026-01-27 23:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/nuts/lock_nuts>: HTTP status code is not handled or not allowed 2026-01-27 23:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latch-shield-u-9481-anodized-aluminum>: HTTP status code is not handled or not allowed 2026-01-27 23:42:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cycas-silk-plant>: HTTP status code is not handled or not allowed 2026-01-27 23:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-1966-aluminum-oxide-25-x-48-120-grit>: HTTP status code is not handled or not allowed 2026-01-27 23:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-286225-ceramic-2-x-72-80-grit>: HTTP status code is not handled or not allowed 2026-01-27 23:42:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers landed on page that is not a product page. 2026-01-27 23:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/external-speaker-for-blackbox-mobile-radios>: HTTP status code is not handled or not allowed 2026-01-27 23:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hfc-72-72-damp-ceiling-fan-59136-matte-black>: HTTP status code is not handled or not allowed 2026-01-27 23:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-7330-bn-two-handle-bathroom-widespread-faucet-with-pop-up-pvd-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-27 23:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-osha-stairway-stair36o-6-55>: HTTP status code is not handled or not allowed 2026-01-27 23:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-4-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 23:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-3-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 23:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-bushing-srb081020-galvanized-steel-12id-x-58od-114l>: HTTP status code is not handled or not allowed 2026-01-27 23:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-uhmwpe-bearing-pbuhuh075-solidrigid-housing-34-bore>: HTTP status code is not handled or not allowed 2026-01-27 23:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31287 pages (at 91 pages/min), scraped 12882 items (at 70 items/min) 2026-01-27 23:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-frame-folding-tank-stf-750-88l-x-88w-x-29h-750-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-27 23:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-4-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-27 23:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/winding-arbor-wa3322-steel-0032w-slot-764od>: HTTP status code is not handled or not allowed 2026-01-27 23:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-48-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-4-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-27 23:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waste-mate-m267-submersible-sewage-pump-auto-eject-with-built-in-float-switch-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 23:43:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sz-300-medium-table-top-ultrasonic-cleaner-3-5-gallons>: HTTP status code is not handled or not allowed 2026-01-27 23:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burglary-file-safe-cabinet2-hr-factory-fire-rating-digital-lock17-1-4wx18-3-4dx20h>: HTTP status code is not handled or not allowed 2026-01-27 23:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aberdeen-72w-hutch-with-wood-doors-72w-x-15d-x-39-1-8h-gray-steel>: HTTP status code is not handled or not allowed 2026-01-27 23:43:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/exam_patient_room_supplies/exam_room_consumables/cotton_balls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patient-bibs-2-ply-tissue--1-ply-poly-13-x-18-lavender-125-pk-4-pk-case>: HTTP status code is not handled or not allowed 2026-01-27 23:43:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-27 23:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elastic-bandage-w-self-closure-2w-x-5-yards-50-pcs>: HTTP status code is not handled or not allowed 2026-01-27 23:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/exam_patient_room_supplies/exam_room_consumables/cotton_balls>: HTTP status code is not handled or not allowed 2026-01-27 23:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-full-body-sling-large>: HTTP status code is not handled or not allowed 2026-01-27 23:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xeroform-gauze-dressing-5l-x-9w-200-pcs>: HTTP status code is not handled or not allowed 2026-01-27 23:43:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm015j-traffic-sign-no-parking-any-time-with-double-arrow-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-27 23:43:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/tool_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-button-folding-walker-adult-size-300-lb-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-27 23:43:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-27 23:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-storage-locker-w-center-shelf-mesh-sides-61w-x-27d-x-52h>: HTTP status code is not handled or not allowed 2026-01-27 23:43:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/tool_boxes landed on page that is not a product page. 2026-01-27 23:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynarest-airfloat-deluxe-air-mattress-w-digital-pump-80l-x-36w-x-8h>: HTTP status code is not handled or not allowed 2026-01-27 23:43:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/exam_patient_room_supplies/anatomical_models_charts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-inspection-dissecting-zoom-power-stereo-microscope-7x-45x-magnification-w-64-led-light>: HTTP status code is not handled or not allowed 2026-01-27 23:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mc-intellasense-iii-combustible-gas-leak-detector>: HTTP status code is not handled or not allowed 2026-01-27 23:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31382 pages (at 95 pages/min), scraped 12955 items (at 73 items/min) 2026-01-27 23:43:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/desk_grommets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:43:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belkin-cord-concealer-blkf8b023-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:43:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:43:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_drawers_keyboard_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/store-n-go-v3-usb-flash-drive-ver49173-32-gb-storage-capcity-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:43:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/exam_patient_room_supplies/anatomical_models_charts landed on page that is not a product page. 2026-01-27 23:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dvd-recordable-media-ver97016-dvd-r-media-16x-speed-470-gb-capcity>: HTTP status code is not handled or not allowed 2026-01-27 23:44:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/desk_grommets landed on page that is not a product page. 2026-01-27 23:44:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media landed on page that is not a product page. 2026-01-27 23:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_drawers_keyboard_trays>: HTTP status code is not handled or not allowed 2026-01-27 23:44:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/accessories landed on page that is not a product page. 2026-01-27 23:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75202-mounted-grinding-point-metal-a12>: HTTP status code is not handled or not allowed 2026-01-27 23:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-cutoff-tool-up874-20000-rpm-38-hose-id>: HTTP status code is not handled or not allowed 2026-01-27 23:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-ultraknit-flexweave-black-white-11m>: HTTP status code is not handled or not allowed 2026-01-27 23:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-slip-on-boat-shoe-smooth-leather-cognac-10d>: HTTP status code is not handled or not allowed 2026-01-27 23:44:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-fixed-sign-frame-50-1130f7v-s-mb-7-x-11-for-7-posts-matte-black>: HTTP status code is not handled or not allowed 2026-01-27 23:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h42053-0000-small-stacking-polystyrene-desiccator-cabinet-014-cu-ft>: HTTP status code is not handled or not allowed 2026-01-27 23:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-pedestal-table-with-crisp-linen-top-round-silver-base>: HTTP status code is not handled or not allowed 2026-01-27 23:44:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-27 23:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-6-sal-single-leg-internal-with-snap-hooks>: HTTP status code is not handled or not allowed 2026-01-27 23:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ntep-platform-scale-pt112-gkam-2500-lb-capacity-200-gram-readability>: HTTP status code is not handled or not allowed 2026-01-27 23:44:33 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 23:44:34 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:13 2026-01-27 23:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-solid-door-storage-cabinet-48wx18dx72h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-27 23:44:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/specialty_cleaners/deck_house_wash already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3558-2hdv-heavy-duty-ventilated-locker-double-tier-15x15x36-6-doors-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1282-6me-black-tie-locker-six-tier-12x18x12-6-doors-unassembled-black>: HTTP status code is not handled or not allowed 2026-01-27 23:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bark-spud-with-handle-t-009-018-spud-hardwood-handle-18>: HTTP status code is not handled or not allowed 2026-01-27 23:44:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/specialty_cleaners/deck_house_wash landed on page that is not a product page. 2026-01-27 23:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indexing-plunger-w-pull-ring-zinc-6-0-22-0n-pressure-m12-1-75-thread-8-8mm-pin>: HTTP status code is not handled or not allowed 2026-01-27 23:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsv1260-blk-12-x-60-shadow-board-black-vinyl-self-adhesive-tape-roll>: HTTP status code is not handled or not allowed 2026-01-27 23:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transformer-tr20va001-20va-120-24v-single-hub-foot-mount>: HTTP status code is not handled or not allowed 2026-01-27 23:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31477 pages (at 95 pages/min), scraped 13024 items (at 69 items/min) 2026-01-27 23:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diplomat-fly-control-device-120w-indoor-fc7800>: HTTP status code is not handled or not allowed 2026-01-27 23:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-10-bushel-ups-fedex-able-vinyl-basket-truck-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-marking-tape-blue-rectangle-shape-25pkg>: HTTP status code is not handled or not allowed 2026-01-27 23:45:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/electric_motor_power_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-16-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-navy>: HTTP status code is not handled or not allowed 2026-01-27 23:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jn-uces-24-inch-led-undercabinet-fixture-switchable-cct-2700k-3000k-3500k-white>: HTTP status code is not handled or not allowed 2026-01-27 23:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/electric_motor_power_supplies>: HTTP status code is not handled or not allowed 2026-01-27 23:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rocker-switch-125-250v-20a-black-for-southbend-1177541>: HTTP status code is not handled or not allowed 2026-01-27 23:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contactor-3-pole-30-40a-208-240v-for-cleveland-ke50750-3>: HTTP status code is not handled or not allowed 2026-01-27 23:45:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/conversation_sets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r2141-w-3-siphon-jet-floor-mounted-toiletw-back-spud-white-enviro-finish>: HTTP status code is not handled or not allowed 2026-01-27 23:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genoa-double-pedestal-desk-dark-espresso-finish-g3672dp-des>: HTTP status code is not handled or not allowed 2026-01-27 23:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-series-7-1-2height-6-urethane-on-iron-wheel-with-total-lock-brake-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-27 23:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/122029-wall-mount-square-sign-holder-w-adhesive-tape-5-5-x-5-5-10-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-150-feet-vertical-lifeline-w-5-8-inch-poly-blend-rope-snap-hook>: HTTP status code is not handled or not allowed 2026-01-27 23:45:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/conversation_sets landed on page that is not a product page. 2026-01-27 23:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-metal-locker-70024-open-access-24w-x-24d-x-72h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-27 23:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-7-feet-baseline-twin-leg-web-self-retracting-lifeline-w-snap-hook>: HTTP status code is not handled or not allowed 2026-01-27 23:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-roof-anchor-knock-down-plated-steel-60-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gm-exam-gown-30-inch-x-42-inch-tpt-white-50-case>: HTTP status code is not handled or not allowed 2026-01-27 23:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701465-gre-4-sided-interlocking-pegboard-floor-display-w-wheels-14-x-60-green>: HTTP status code is not handled or not allowed 2026-01-27 23:45:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/ceiling_mount_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-fire-water-safe-xx-large-fingerprint-interior-capacity-2-cubic-feet>: HTTP status code is not handled or not allowed 2026-01-27 23:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31575 pages (at 98 pages/min), scraped 13102 items (at 78 items/min) 2026-01-27 23:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-tri-point-internal-bore-gauge-ip54-0-236-0-315-inch-0-001mm-0-00005-accuracy-0-00015-inch>: HTTP status code is not handled or not allowed 2026-01-27 23:45:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/ceiling_mount_fans landed on page that is not a product page. 2026-01-27 23:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-blue-poly-tarp-mt4060-5-mil-40l-x-60w>: HTTP status code is not handled or not allowed 2026-01-27 23:46:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/hedge_trimmers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reciprocating-saw-dcs380b-20vmax-0-3000-spm-1-1-8l-stroke-tool-only>: HTTP status code is not handled or not allowed 2026-01-27 23:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-12x20-4-wall-4-lgts-5-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:46:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/rotary_screw_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-12x24-2-wall-4-lgt-5-dplx-1-dr-white>: HTTP status code is not handled or not allowed 2026-01-27 23:46:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/hedge_trimmers landed on page that is not a product page. 2026-01-27 23:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-plastic-barrier-chain-1-1-2-inch-x-25-feet-l-army-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:46:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/rotary_screw_air_compressors landed on page that is not a product page. 2026-01-27 23:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-reflective-plastic-barrier-chain-2-inch-x-100-feet-l-army-tan>: HTTP status code is not handled or not allowed 2026-01-27 23:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-408199559-brk4-rubber-total-lock-brake-8dia-600-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 23:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-rigid-plate-caster-408198929-ss-polyurethane-on-polyolefin-8dia-1000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-27 23:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stack-rack-test-tube-rack-188602630-polypropylene-26-30mm-24-places-white>: HTTP status code is not handled or not allowed 2026-01-27 23:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-bar-table-60-inches-x-60-inches-x-29-inches-with-medium-oak-top-and-dual-pedestal-black-cross-base>: HTTP status code is not handled or not allowed 2026-01-27 23:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-5-tools-4-x-6-oz-putties-easy-tan-yellow-red-green>: HTTP status code is not handled or not allowed 2026-01-27 23:46:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/knives_blades/utility_knives_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:46:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/wood_standard_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-stem-casters-2-w-brakes-polyurethane-set-of-4-w-bumper-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 23:46:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:46:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/rollers_wedges_cushions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-small-red-light>: HTTP status code is not handled or not allowed 2026-01-27 23:46:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/knives_blades/utility_knives_1 landed on page that is not a product page. 2026-01-27 23:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disc-361f-1-1-2-inch-diameter-tr-aluminum-oxide-36-grit>: HTTP status code is not handled or not allowed 2026-01-27 23:46:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/rollers_wedges_cushions>: HTTP status code is not handled or not allowed 2026-01-27 23:46:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands landed on page that is not a product page. 2026-01-27 23:46:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/standard_lockers/wood_standard_lockers landed on page that is not a product page. 2026-01-27 23:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-stp-steel-safe-roll-lad-wgt-act-lock-24-w-exp-stp-org-wa154014x-o>: HTTP status code is not handled or not allowed 2026-01-27 23:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31667 pages (at 92 pages/min), scraped 13171 items (at 69 items/min) 2026-01-27 23:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-shock-absorption-mounts-conical-type-1-50-146-max-load-B1121248>: HTTP status code is not handled or not allowed 2026-01-27 23:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3in-x-3-8in-high-density-polyester-fabric-roller-covers-2-pack-12-case-3sc038d>: HTTP status code is not handled or not allowed 2026-01-27 23:47:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices landed on page that is not a product page. 2026-01-27 23:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3555-sit-stand-polyurethane-seat-aluminum-base-black>: HTTP status code is not handled or not allowed 2026-01-27 23:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailer-tire-570-8-6-ply-on-8x375-5-45-wheel>: HTTP status code is not handled or not allowed 2026-01-27 23:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-multifilament-731-x-165-250-micron-snap-band-pkg-50>: HTTP status code is not handled or not allowed 2026-01-27 23:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-25mm-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 23:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-pass-thru-cable-36-1-4w-x-64h-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-slit-tube-poly-foam-pipe-ins-38-thick-for-1-copper>: HTTP status code is not handled or not allowed 2026-01-27 23:47:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/hand_sanitizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-straight-roller-conveyor-5f10t06b51-51bf-2-5-8-roller-dia-6-axle-centers>: HTTP status code is not handled or not allowed 2026-01-27 23:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gd-10-telescoping-aluminum-wand>: HTTP status code is not handled or not allowed 2026-01-27 23:47:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/hand_sanitizers landed on page that is not a product page. 2026-01-27 23:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/veranda-outdoor-metal-chair-with-arms>: HTTP status code is not handled or not allowed 2026-01-27 23:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-xtex-blanket-and-tethers-for-ultraoil-blanket>: HTTP status code is not handled or not allowed 2026-01-27 23:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/karcher-1-107-380-0-2500psi-2-4gpm-gas-pressure-washer>: HTTP status code is not handled or not allowed 2026-01-27 23:47:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/furniture_appliance_feet already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-800-series-wardrobe-cabinet-36w-x-24d-x-78h-midnight-ebony-single-tier-knockdown>: HTTP status code is not handled or not allowed 2026-01-27 23:47:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/cafeteria_restaurant_bar_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:47:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21903-seektech-st-510-transmitter-10-watts>: HTTP status code is not handled or not allowed 2026-01-27 23:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-96-h-add-on-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31760 pages (at 93 pages/min), scraped 13246 items (at 75 items/min) 2026-01-27 23:47:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/screw_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-500005929-ws-5-x-2-polyurethane-on-polyolefin-1-2-straight-roller-bearing>: HTTP status code is not handled or not allowed 2026-01-27 23:47:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/cafeteria_restaurant_bar_tables landed on page that is not a product page. 2026-01-27 23:47:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-27 23:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locator-8-cryogenic-rack-and-box-system-111-liters>: HTTP status code is not handled or not allowed 2026-01-27 23:48:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/endust-259000-antistatic-premoistened-wipes-for-electronics-cloth-5-12-x-7-70tub>: HTTP status code is not handled or not allowed 2026-01-27 23:48:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/furniture_appliance_feet landed on page that is not a product page. 2026-01-27 23:48:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/anchors_hangers/screw_anchors landed on page that is not a product page. 2026-01-27 23:48:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roval-inter-lok-stainless-steel-framed-mirror-tempered-glass-18-x-30>: HTTP status code is not handled or not allowed 2026-01-27 23:48:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sign-exit-and-exit-please-do-not-enter-double-sided-7-inch-by-11-inch>: HTTP status code is not handled or not allowed 2026-01-27 23:48:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-27 23:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-84-h-add-on-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:48:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-27 23:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels>: HTTP status code is not handled or not allowed 2026-01-27 23:48:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-120-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charcoal-steel-desk-series-stack-on-hutch-60>: HTTP status code is not handled or not allowed 2026-01-27 23:48:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks landed on page that is not a product page. 2026-01-27 23:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ton-service-jack-hw93657>: HTTP status code is not handled or not allowed 2026-01-27 23:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-loop-8-red>: HTTP status code is not handled or not allowed 2026-01-27 23:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/physicianscare-90087-sinus-decongestant-congestion-medication-50-doses-10mg>: HTTP status code is not handled or not allowed 2026-01-27 23:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handles-for-exercise-band-tubing-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 23:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet-6-drawer-72-compart-bright-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-27 23:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-tubing-with-handles-tan-48>: HTTP status code is not handled or not allowed 2026-01-27 23:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010722-fryer-burner-for-imperial-cooking-equipment>: HTTP status code is not handled or not allowed 2026-01-27 23:48:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31853 pages (at 93 pages/min), scraped 13316 items (at 70 items/min) 2026-01-27 23:48:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:48:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-2-compartment-wardrobe-cabinet-grey-grill-door-folkstone-color-6>: HTTP status code is not handled or not allowed 2026-01-27 23:48:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:48:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-steel-cart-2-flush-shelves-18-x-30>: HTTP status code is not handled or not allowed 2026-01-27 23:49:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps landed on page that is not a product page. 2026-01-27 23:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps>: HTTP status code is not handled or not allowed 2026-01-27 23:49:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-27 23:49:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters>: HTTP status code is not handled or not allowed 2026-01-27 23:49:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings landed on page that is not a product page. 2026-01-27 23:49:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-27 23:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-ground-magnalugs-6420-005h-1-2-5-pcs>: HTTP status code is not handled or not allowed 2026-01-27 23:49:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/fuses/electronic_glass_fuses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-27 23:49:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-27 23:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors>: HTTP status code is not handled or not allowed 2026-01-27 23:49:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/garment_supplies/hangers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71602-24-single-blade-ultra-hygiene-squeegee-green>: HTTP status code is not handled or not allowed 2026-01-27 23:49:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011494-relay-110-120v>: HTTP status code is not handled or not allowed 2026-01-27 23:49:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/fuses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/garment_supplies/hangers>: HTTP status code is not handled or not allowed 2026-01-27 23:49:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_closers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-27 23:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77749-24-foam-blade-refill-cartridge-for-7754-or-7764-black>: HTTP status code is not handled or not allowed 2026-01-27 23:49:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-27 23:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-loop-15-long-green>: HTTP status code is not handled or not allowed 2026-01-27 23:49:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/fuses landed on page that is not a product page. 2026-01-27 23:49:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_closers landed on page that is not a product page. 2026-01-27 23:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64408-small-hand-brush-stiff-purple>: HTTP status code is not handled or not allowed 2026-01-27 23:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55104-handheld-cleaning-pad-holder-red>: HTTP status code is not handled or not allowed 2026-01-27 23:49:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/clamps/toggle_clamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56867-3-gallon-bucket-orange>: HTTP status code is not handled or not allowed 2026-01-27 23:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-30w-x-14d-white>: HTTP status code is not handled or not allowed 2026-01-27 23:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 31935 pages (at 82 pages/min), scraped 13373 items (at 57 items/min) 2026-01-27 23:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/clamps/toggle_clamps>: HTTP status code is not handled or not allowed 2026-01-27 23:50:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/machine_screws/pan_head_machine_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polyester-filter-18-w-x-30-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-27 23:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sterilite-19453v04-industrial-latch-tote-35-gallon-32-1-2-x-19-3-4-x-18-5-8-flat-gray>: HTTP status code is not handled or not allowed 2026-01-27 23:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/screws/machine_screws/pan_head_machine_screws>: HTTP status code is not handled or not allowed 2026-01-27 23:50:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-16-w-x-16-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-27 23:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-heritage-translucent-lidfits-dx4300-9oz-bowl-1000-cs-clear-dx43008714>: HTTP status code is not handled or not allowed 2026-01-27 23:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-stainless-steel-double-door-independent-locking-cabinet-60-x-24-x-66>: HTTP status code is not handled or not allowed 2026-01-27 23:50:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-27 23:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium46-34-59-collapsible-inside-46l-x-34w-x-59>: HTTP status code is not handled or not allowed 2026-01-27 23:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wardrobe-cabinet-with-7-drawers-48-x-24-x-78>: HTTP status code is not handled or not allowed 2026-01-27 23:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-fenwick-insulated-mug-8-oz-48-cs-onyx-dx500003>: HTTP status code is not handled or not allowed 2026-01-27 23:50:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-36-maple-square-edge-work-bench-adjustable-height-1-3-4-top>: HTTP status code is not handled or not allowed 2026-01-27 23:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-translucent-lid-fits-cambro-style-5-oz-newport-tumbler-1500-cs-translucent-dx20019000>: HTTP status code is not handled or not allowed 2026-01-27 23:50:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-27 23:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-starter-96inw-x-48ind-x-144inh-3230-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-27 23:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-turnbury-insulated-pedestal-based-bowl-5-oz-48-cs-onyx-dx320003>: HTTP status code is not handled or not allowed 2026-01-27 23:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-able-shipping-container-with-lid-44-x-29-7>: HTTP status code is not handled or not allowed 2026-01-27 23:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32030 pages (at 95 pages/min), scraped 13451 items (at 78 items/min) 2026-01-27 23:50:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_fitness_equipment_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263109-black-iron-nipple-3-8-inch-close>: HTTP status code is not handled or not allowed 2026-01-27 23:51:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-36-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-27 23:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chc04010-machine-screw>: HTTP status code is not handled or not allowed 2026-01-27 23:51:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_fitness_equipment_storage_racks landed on page that is not a product page. 2026-01-27 23:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-60-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-27 23:51:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-radius-wall-return-for-15-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 23:51:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:51:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage landed on page that is not a product page. 2026-01-27 23:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-cube-ice-maker-air-cooled-approx-897-lb-production-half-size-cube>: HTTP status code is not handled or not allowed 2026-01-27 23:51:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-27 23:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cnc06045-machine-screw>: HTTP status code is not handled or not allowed 2026-01-27 23:51:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-27 23:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-42l-x-24w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-27 23:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-safety-coverall-2xl-black>: HTTP status code is not handled or not allowed 2026-01-27 23:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-34l-inseam-x-32-waist-black>: HTTP status code is not handled or not allowed 2026-01-27 23:51:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/01205-2-shock-absorbing-extension-lanyard-single-leg>: HTTP status code is not handled or not allowed 2026-01-27 23:51:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/self_retracting_lifelines_lanyards/self_retracting_lifelines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10925-30-leading-edge-self-retracting-lifeline>: HTTP status code is not handled or not allowed 2026-01-27 23:51:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-edge-work-bench-top-esd-60-w-x-36-d-x-1-1-4-thick>: HTTP status code is not handled or not allowed 2026-01-27 23:51:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:51:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors landed on page that is not a product page. 2026-01-27 23:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tablesawaccessories-powermatic-pj1696-011>: HTTP status code is not handled or not allowed 2026-01-27 23:51:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivet-nut-1-4-20-x-200-grip-flat-head-aluminum-usa-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-27 23:51:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/pocket_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:51:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets landed on page that is not a product page. 2026-01-27 23:51:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fall_protection/self_retracting_lifelines_lanyards/self_retracting_lifelines landed on page that is not a product page. 2026-01-27 23:51:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders landed on page that is not a product page. 2026-01-27 23:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-vinyl-welding-curtain--steel-frame-combo-kit-6w-x-6h-gold>: HTTP status code is not handled or not allowed 2026-01-27 23:51:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders landed on page that is not a product page. 2026-01-27 23:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009873-run-cap-leeson-208vmotor-for-powersoak>: HTTP status code is not handled or not allowed 2026-01-27 23:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32119 pages (at 89 pages/min), scraped 13514 items (at 63 items/min) 2026-01-27 23:51:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/pocket_folders landed on page that is not a product page. 2026-01-27 23:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-54-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-27 23:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-24-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-27 23:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bandsawaccessories-jet-707203>: HTTP status code is not handled or not allowed 2026-01-27 23:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-without-hem-36-waist-black>: HTTP status code is not handled or not allowed 2026-01-27 23:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-recycled-interior-file-folders-13-cut-top-tab-legal-green-100box>: HTTP status code is not handled or not allowed 2026-01-27 23:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbide-blade-721005-a-3-3-8-24t>: HTTP status code is not handled or not allowed 2026-01-27 23:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-pie-set-carpet-48w-stage-units-8h-16h-24h-grey>: HTTP status code is not handled or not allowed 2026-01-27 23:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoulder-cuff-with-gravity-feed-cooler>: HTTP status code is not handled or not allowed 2026-01-27 23:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-with-6-lb-peach-paraffin-100-liners-1-mitt-and-1-bootie>: HTTP status code is not handled or not allowed 2026-01-27 23:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-1676-sight-gauge-glass-tube-red-and-white-stripe-5-8-inch-x-12-inch>: HTTP status code is not handled or not allowed 2026-01-27 23:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelf-truck-36x24x69-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-27 23:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-70mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 23:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-350mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 23:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-1100mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 23:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-coupler-80621-06-14-x-38-male-nptf>: HTTP status code is not handled or not allowed 2026-01-27 23:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-140mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 23:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-89968-08-06-knob-adj-12-tube-x-38-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-27 23:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-55222-4-14-4mm-tube-x-14-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-27 23:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-72-easyreach-pick-up-tool>: HTTP status code is not handled or not allowed 2026-01-27 23:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32215 pages (at 96 pages/min), scraped 13590 items (at 76 items/min) 2026-01-27 23:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-hooks-package-of-12>: HTTP status code is not handled or not allowed 2026-01-27 23:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-vinyl-reusable-cold-pack-oversize-11-x-21-12-pk>: HTTP status code is not handled or not allowed 2026-01-27 23:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-single-acting-magnetic-cylinder-8mm-bore-x-10mm-stroke>: HTTP status code is not handled or not allowed 2026-01-27 23:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quilted-vest-with-sherpa-lining-nylonpolyester-s-black>: HTTP status code is not handled or not allowed 2026-01-27 23:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009094-timer-kit-w-knob-seal>: HTTP status code is not handled or not allowed 2026-01-27 23:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-roll-fold-steel-rolling-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-27 23:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-60110-04-02-14-tube-x-18-swift-fit-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 23:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-heavy-duty-cabinet-3>: HTTP status code is not handled or not allowed 2026-01-27 23:53:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/hook_loop_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exl-deburring-wheel-8-inch-x-3-8-inch-x-3-inch-fin-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-27 23:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-plug-30a-125-250v-l14-30pb-w>: HTTP status code is not handled or not allowed 2026-01-27 23:53:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:53:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/hook_loop_sanding_discs landed on page that is not a product page. 2026-01-27 23:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collection-vault-mailbox-and-parcel-drop-dvcs0023-free-standing-front-access-sand>: HTTP status code is not handled or not allowed 2026-01-27 23:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00015-inch-steel-shim-stock-6-inch-x-18-inch-flat-sheets-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-27 23:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-steel-shim-0020-inch-thick-0002-inch-laminations-20-inch-x-24-inch-sheet>: HTTP status code is not handled or not allowed 2026-01-27 23:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50030-100-alternating-plastic-barrier-chain-hdpe-2-x100-8-51mm-yellow-pink>: HTTP status code is not handled or not allowed 2026-01-27 23:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50109-plastic-barrier-chain-on-a-reel-hdpe-2-x125-8-51mm-gold>: HTTP status code is not handled or not allowed 2026-01-27 23:53:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_netting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011638-drain-pan-evaporator-for-continental-refrigerator>: HTTP status code is not handled or not allowed 2026-01-27 23:53:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes landed on page that is not a product page. 2026-01-27 23:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b44hl-shieldedlined-hose-clamp-2-516-inch-3-14-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 23:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341706-booster-element-208v-5000w-for-hubbell-the-electric-heater-co>: HTTP status code is not handled or not allowed 2026-01-27 23:53:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_netting landed on page that is not a product page. 2026-01-27 23:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32312 pages (at 97 pages/min), scraped 13666 items (at 76 items/min) 2026-01-27 23:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apex-industrial-led-headlamp-650-lumens-160m-beam-distance-black>: HTTP status code is not handled or not allowed 2026-01-27 23:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-x-0-8-x-12mm-socket-head-cap-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-27 23:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd64h-916-inch-band-heavy-duty-3-pc-part-ss-hose-clamp-10-pcs>: HTTP status code is not handled or not allowed 2026-01-27 23:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-arm-for-orbit-with-vesa-mount-black>: HTTP status code is not handled or not allowed 2026-01-27 23:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-steel-casters-8-x-2-2-swivel-2-rigid-self-dumping-hopper>: HTTP status code is not handled or not allowed 2026-01-27 23:54:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-band-metric-worm-gear-hose-clamp-32mm-50mm-clamping-diam-box-of-10>: HTTP status code is not handled or not allowed 2026-01-27 23:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-partition-flexible-three-panel-16>: HTTP status code is not handled or not allowed 2026-01-27 23:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ph-benchtop-meter-and-stand-vstar10>: HTTP status code is not handled or not allowed 2026-01-27 23:54:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:54:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls landed on page that is not a product page. 2026-01-27 23:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-cup-company-symphony-trophy-plus-dual-temperature-cups-12-oz-beige-1000carton>: HTTP status code is not handled or not allowed 2026-01-27 23:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-2xl-tall-navy>: HTTP status code is not handled or not allowed 2026-01-27 23:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8015535-gasket-door-53-1-8-inch-x-25-1-8-inch-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 23:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carpenter-saws-irwin-marathon-2011202>: HTTP status code is not handled or not allowed 2026-01-27 23:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-childerens-mannequin-3-years-old-height-33>: HTTP status code is not handled or not allowed 2026-01-27 23:54:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters landed on page that is not a product page. 2026-01-27 23:54:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/batteries_power_protection/usb_chargers_hubs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-gantry-crane-adjustable-height-2000-lb-capacity-3>: HTTP status code is not handled or not allowed 2026-01-27 23:54:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-2-forced-air-wall-heater-lpw2445t-s2-ob-r-bronze-240v-4500w>: HTTP status code is not handled or not allowed 2026-01-27 23:54:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/floor_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:54:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_wall_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-round-rack>: HTTP status code is not handled or not allowed 2026-01-27 23:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-inch-plastic-classroom-chair-set-of-five-yellow>: HTTP status code is not handled or not allowed 2026-01-27 23:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32405 pages (at 93 pages/min), scraped 13740 items (at 74 items/min) 2026-01-27 23:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/floor_heaters>: HTTP status code is not handled or not allowed 2026-01-27 23:54:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_wall_heaters landed on page that is not a product page. 2026-01-27 23:54:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs landed on page that is not a product page. 2026-01-27 23:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-slide-plug-polarized-brown>: HTTP status code is not handled or not allowed 2026-01-27 23:55:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/batteries_power_protection/usb_chargers_hubs landed on page that is not a product page. 2026-01-27 23:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06045-1-4-x-2-5-16-x-3-plastic-horseshoe-shim-24-500pc>: HTTP status code is not handled or not allowed 2026-01-27 23:55:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/cabinet_accessories/cabinet_locks_keys already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:55:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-6-gallon-manual-close-single-door-23-w-x-18-d-x-22-h>: HTTP status code is not handled or not allowed 2026-01-27 23:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyn12i-06l-dynamo-industrial-led-emergency-unit-wet-rated-6w-led-lamps-self-diagnostics>: HTTP status code is not handled or not allowed 2026-01-27 23:55:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/cabinet_accessories/cabinet_locks_keys landed on page that is not a product page. 2026-01-27 23:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ft-high-dry-erase-overlay>: HTTP status code is not handled or not allowed 2026-01-27 23:55:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-27 23:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-in-wired-fixture-holder-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-27 23:55:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huntington-6-bench-with-back-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-27 23:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971162-tube-tee-to-ir-burner-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-27 23:55:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-27 23:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxford-6-outdoor-bench-with-back-surface-mount-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ft-cord-set-18-2-spt-1-brown>: HTTP status code is not handled or not allowed 2026-01-27 23:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvdf-syringe-filter-0-45um-13mm-sterile-75-case>: HTTP status code is not handled or not allowed 2026-01-27 23:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-table-with-2-imme-armless-barstools-coral-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-27 23:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500ml-bottle-top-filter-0-22um-pes-filter-90mm-diameter-sterile-24-case>: HTTP status code is not handled or not allowed 2026-01-27 23:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-fda-silicone-rubber-cord-0070-cross-section-10-ft-length>: HTTP status code is not handled or not allowed 2026-01-27 23:55:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_purifiers/hepa_media_air_purifiers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681343-vacuum-pump-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-27 23:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-matic-metal-filler-plate-for-case-sealers-200a37000a7000a37000r7000r38000a8000a3>: HTTP status code is not handled or not allowed 2026-01-27 23:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32504 pages (at 99 pages/min), scraped 13816 items (at 76 items/min) 2026-01-27 23:55:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_purifiers/hepa_media_air_purifiers landed on page that is not a product page. 2026-01-27 23:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-48x24x60-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-27 23:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-dripcut-dredges-caps-4906-32-medium-beige-lid>: HTTP status code is not handled or not allowed 2026-01-27 23:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wire-shelving-with-55-conductive-4-h-bins-black-12-shelves-36-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-27 23:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorola-replacement-tube-with-earbud>: HTTP status code is not handled or not allowed 2026-01-27 23:56:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm1050-mill-200sxtpfadrw-bar-riser-blk already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lube-tube-oil-lubricating-all-purpose-w-telescopic-spout-4-oz-1-qty>: HTTP status code is not handled or not allowed 2026-01-27 23:56:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-4vs-mill-w-200s-dro-3axis-q-andx-tpfa already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:56:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=691183-jvm-836-3-milling-machine-w-dp700-dro-x-y-axis-1-1-2-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241013-evaporator-230v-300w-max-for-standard-keil>: HTTP status code is not handled or not allowed 2026-01-27 23:56:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm1050-mill-200sxtpfadrw-bar-riser-blk landed on page that is not a product page. 2026-01-27 23:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-chicken-rotisserie-oven-40841-15-bird-5000-watts>: HTTP status code is not handled or not allowed 2026-01-27 23:56:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-4vs-mill-w-200s-dro-3axis-q-andx-tpfa landed on page that is not a product page. 2026-01-27 23:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=691183-jvm-836-3-milling-machine-w-dp700-dro-x-y-axis-1-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 23:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-table-with-power-rail-butcher-block-square-edge-top-72-x-30>: HTTP status code is not handled or not allowed 2026-01-27 23:56:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=691201-jtm-4vs-milling-machine-w-newall-dp700-dro-x-y-axis-powerfeeds-3-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66254461164-bluefire-fiberglass-conical-flap-disc-t29-4-1-2-inch-x-7-8-inch-p80-grit-zirconia-alumina>: HTTP status code is not handled or not allowed 2026-01-27 23:56:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/packing_workbenches/stationary_packing_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-14-flat-top-electric-griddle-40715-15-amps-1800-watts>: HTTP status code is not handled or not allowed 2026-01-27 23:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66252823604-gemini-right-angle-cut-off-wheel-6-inch-x-040-inch-x-7-8-inch-36-grit-aluminum-oxide-type-1>: HTTP status code is not handled or not allowed 2026-01-27 23:56:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/heavy_duty_steel_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:56:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/packing_workbenches/stationary_packing_workbenches landed on page that is not a product page. 2026-01-27 23:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instabloom-ii-onion-cutter-15604-spring-loaded-handles>: HTTP status code is not handled or not allowed 2026-01-27 23:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-wall-bin-stackable-20>: HTTP status code is not handled or not allowed 2026-01-27 23:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-dc-parallel-30rpm-627h>: HTTP status code is not handled or not allowed 2026-01-27 23:56:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/heavy_duty_steel_lockers landed on page that is not a product page. 2026-01-27 23:56:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=691201-jtm-4vs-milling-machine-w-newall-dp700-dro-x-y-axis-powerfeeds-3-hp landed on page that is not a product page. 2026-01-27 23:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8988-hard-hat-replacement-suspension-black>: HTTP status code is not handled or not allowed 2026-01-27 23:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32593 pages (at 89 pages/min), scraped 13883 items (at 67 items/min) 2026-01-27 23:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-cut-resistant-gloves-nano-foam-nitrile-coated-ansi-a5-s-yellow-12-pair>: HTTP status code is not handled or not allowed 2026-01-27 23:56:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/food_holding_warming_equipment/heated_cabinets_proofers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-center-drawer-avant-honey>: HTTP status code is not handled or not allowed 2026-01-27 23:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickflex-w-buckle-knee-pads-1-pair>: HTTP status code is not handled or not allowed 2026-01-27 23:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/induction-buffet-table-7552284-dark-red-mahogany-60-x-30>: HTTP status code is not handled or not allowed 2026-01-27 23:57:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/food_holding_warming_equipment/heated_cabinets_proofers landed on page that is not a product page. 2026-01-27 23:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/allegroair-airline-cooling-system-high-pressure>: HTTP status code is not handled or not allowed 2026-01-27 23:57:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-beam-pair-120-l-1>: HTTP status code is not handled or not allowed 2026-01-27 23:57:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/lounge_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al-stratus-plaque-diffuser-with-8-neck-black-str-pq-8bk>: HTTP status code is not handled or not allowed 2026-01-27 23:57:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems landed on page that is not a product page. 2026-01-27 23:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-filling-can-type-2-with-flexible-nozzle-two-gallon-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-27 23:57:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/ball_chairs_active_seating already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-1-brad-nailer-s2-118g2-18-gauge-100-nails-staples-magazine-capacity>: HTTP status code is not handled or not allowed 2026-01-27 23:57:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/lounge_chairs landed on page that is not a product page. 2026-01-27 23:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-3-23-3-4-x-23-3-4-pvc-lay-in-tile-in-oil-rubbed-bronze-pl5426>: HTTP status code is not handled or not allowed 2026-01-27 23:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-gravity-flow-rack-28177-add-on-4-level-72w-x-72d-x-72h>: HTTP status code is not handled or not allowed 2026-01-27 23:57:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/ball_chairs_active_seating landed on page that is not a product page. 2026-01-27 23:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761149-2-range-burner-broiler-for-rocky-mountain-cookware>: HTTP status code is not handled or not allowed 2026-01-27 23:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-keg-capacity-beer-dispenser-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-27 23:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-dome-top-for-mesh-trash-container-black>: HTTP status code is not handled or not allowed 2026-01-27 23:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-shrink-tubing-1-8-1-16-4-l-1-4-1-8>: HTTP status code is not handled or not allowed 2026-01-27 23:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x21x10-flat-wardrobe-boxes>: HTTP status code is not handled or not allowed 2026-01-27 23:57:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012328-controller-for-carter-hoffmann>: HTTP status code is not handled or not allowed 2026-01-27 23:57:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/relays_sequencers/relays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32686 pages (at 93 pages/min), scraped 13955 items (at 72 items/min) 2026-01-27 23:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421403-light-switch>: HTTP status code is not handled or not allowed 2026-01-27 23:57:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/contactors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-pasta-cooker>: HTTP status code is not handled or not allowed 2026-01-27 23:57:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-27 23:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x18x18-double-wall-boxes>: HTTP status code is not handled or not allowed 2026-01-27 23:58:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/relays_sequencers/relays landed on page that is not a product page. 2026-01-27 23:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-35-50-gallon-square-rubbermaid-waste-receptacles-beige>: HTTP status code is not handled or not allowed 2026-01-27 23:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x2150-2-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-27 23:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-hydraulic-gear-pump-0-24-cu-in-rev-spline-9-tooth-shaftshaft>: HTTP status code is not handled or not allowed 2026-01-27 23:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x1450-3-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-27 23:58:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/anti_fatigue_mats/wet_area_anti_fatigue_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:58:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:58:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/contactors landed on page that is not a product page. 2026-01-27 23:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-in-adjustable-bookcase-36-wide-11-deep-35-high-medium-oak>: HTTP status code is not handled or not allowed 2026-01-27 23:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-21-x-60-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:58:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/anti_fatigue_mats/wet_area_anti_fatigue_mats landed on page that is not a product page. 2026-01-27 23:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torq-bar-blender-48-oz-copolyester-jar-timer-2-speed-2-hp>: HTTP status code is not handled or not allowed 2026-01-27 23:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-24-round-sign-no-pedestrian-traffic>: HTTP status code is not handled or not allowed 2026-01-27 23:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-ext-pilot-g-1-4-220v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-27 23:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-14-x-48-x-13-white>: HTTP status code is not handled or not allowed 2026-01-27 23:58:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards landed on page that is not a product page. 2026-01-27 23:58:34 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-27 23:58:35 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:14 2026-01-27 23:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266246-float-3-inch-oa-condensate-evap>: HTTP status code is not handled or not allowed 2026-01-27 23:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-60inw-x-48ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-27 23:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2025-full-mask-storage-bag>: HTTP status code is not handled or not allowed 2026-01-27 23:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-30-light-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-27 23:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-universal-leadhead-213552-001-2-0-gauge-1-pc>: HTTP status code is not handled or not allowed 2026-01-27 23:58:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-ciel-blue-cotton-polyester-fashion-blend-reversible-scrub-pants-size-s>: HTTP status code is not handled or not allowed 2026-01-27 23:58:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32780 pages (at 94 pages/min), scraped 14025 items (at 70 items/min) 2026-01-27 23:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-3-compartment-black-grill-door-48-w-cabinet-natural-oak-color>: HTTP status code is not handled or not allowed 2026-01-27 23:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-exercise-band-blue-50-yard-roll-1-roll-box>: HTTP status code is not handled or not allowed 2026-01-27 23:59:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/stretch_bands_tubing already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-27 23:59:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_tie_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-27 23:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2491081-magnetron-for-amana-litton>: HTTP status code is not handled or not allowed 2026-01-27 23:59:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009901-nut-hex-keps-8-32-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-27 23:59:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/exit_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/stretch_bands_tubing landed on page that is not a product page. 2026-01-27 23:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_tie_tools>: HTTP status code is not handled or not allowed 2026-01-27 23:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges>: HTTP status code is not handled or not allowed 2026-01-27 23:59:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/exit_devices landed on page that is not a product page. 2026-01-27 23:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylinder-tube-rack-1-wide-x-3-deep-16w-x-38d-x-30h3-cylinder-cap>: HTTP status code is not handled or not allowed 2026-01-27 23:59:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5350-61-stainless-steel-flex-rod-handle>: HTTP status code is not handled or not allowed 2026-01-27 23:59:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-double-robe-hook-bright-polished>: HTTP status code is not handled or not allowed 2026-01-27 23:59:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 23:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pentaview-lcd-digital-microscope>: HTTP status code is not handled or not allowed 2026-01-27 23:59:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/machine_screws/round_head_machine_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-27 23:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-long-gray-double-rivet-beam>: HTTP status code is not handled or not allowed 2026-01-27 23:59:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-concrete-installation-black-cover-yellow-tapes>: HTTP status code is not handled or not allowed 2026-01-27 23:59:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/screws/machine_screws/round_head_machine_screws landed on page that is not a product page. 2026-01-27 23:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-30mm-machine-screw-pan-head-phillips-steel-zinc-pkg-of-150>: HTTP status code is not handled or not allowed 2026-01-27 23:59:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-27 23:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281241-boot-90-deg>: HTTP status code is not handled or not allowed 2026-01-27 23:59:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-72w-x-12d-blue>: HTTP status code is not handled or not allowed 2026-01-27 23:59:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-27 23:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-16-w-x-20-h-x-2-d>: HTTP status code is not handled or not allowed 2026-01-27 23:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32868 pages (at 88 pages/min), scraped 14089 items (at 64 items/min) 2026-01-27 23:59:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-27 23:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-hand-truck-curved-handle-semi-pneumatic-wheels>: HTTP status code is not handled or not allowed 2026-01-28 00:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable>: HTTP status code is not handled or not allowed 2026-01-28 00:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-sign-please-wait-here-the-next-available-cashier-11-x14-w-adapter-1>: HTTP status code is not handled or not allowed 2026-01-28 00:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29608-51-ultra-hygiene-handle-purple>: HTTP status code is not handled or not allowed 2026-01-28 00:00:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 00:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-starter-96inw-x-48ind-x-120inh-5030-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 00:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-security-cage-48x24x72>: HTTP status code is not handled or not allowed 2026-01-28 00:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-power-1-2-gallon>: HTTP status code is not handled or not allowed 2026-01-28 00:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-ss-nsf-wall-shelf-single-bar-pot-rack-29>: HTTP status code is not handled or not allowed 2026-01-28 00:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/350-10-3ble-dual-ramp-wheelchair-scale-with-handrail-bluetooth-ble-4-0-1000-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 00:00:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/saute_pots_pans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1037-high-temperature-small-porcelain-wire-connectors-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-add-on-60-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 00:00:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/saute_pots_pans landed on page that is not a product page. 2026-01-28 00:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-cube-ice-maker-water-cooled-approx-898-lb-production-full-size-cube>: HTTP status code is not handled or not allowed 2026-01-28 00:00:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-insulated-safety-bib-overall-2xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 00:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-oxford-insulated-safety-bib-overall-l-black>: HTTP status code is not handled or not allowed 2026-01-28 00:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters>: HTTP status code is not handled or not allowed 2026-01-28 00:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-ball-tee-side-outlet-for-2-tubing-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 00:00:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/bins/hang_stack_bins already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-34l-inseam-x-38-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 00:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 32964 pages (at 96 pages/min), scraped 14165 items (at 76 items/min) 2026-01-28 00:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-11-drawer-machinist-brown-1>: HTTP status code is not handled or not allowed 2026-01-28 00:00:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/bins/hang_stack_bins landed on page that is not a product page. 2026-01-28 00:00:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:01:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=690197-jtm-4vs-1-milling-machine-w-x-y-axis-powerfeeds-2-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-file-folders-13-cut-assorted-two-ply-top-tab-legal-manila-100box>: HTTP status code is not handled or not allowed 2026-01-28 00:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-safety-rain-jacket-csa-class-2-level-2-s-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 00:01:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders landed on page that is not a product page. 2026-01-28 00:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=690197-jtm-4vs-1-milling-machine-w-x-y-axis-powerfeeds-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 00:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-360mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 00:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-750mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 00:01:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/water_safety/water_rescue_lifeguard_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cpr-mask-with-02-inlet-10-502>: HTTP status code is not handled or not allowed 2026-01-28 00:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-shirred-pleat-skirting-16h-stage-green>: HTTP status code is not handled or not allowed 2026-01-28 00:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-triangular-cup-dolly-3310-semi-steel-wheels-750-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:01:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/water_safety/water_rescue_lifeguard_equipment landed on page that is not a product page. 2026-01-28 00:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-36-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 00:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2781022-handle-chrome-for-anthony-international-california>: HTTP status code is not handled or not allowed 2026-01-28 00:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-add-on-72-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 00:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-pain-relief-gel-5-gram-packet-dispenser-of-100-packets>: HTTP status code is not handled or not allowed 2026-01-28 00:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-engineer-vest-green-l-sv55-2zgd-l>: HTTP status code is not handled or not allowed 2026-01-28 00:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-edge-work-bench-top-12-gauge-steel-1>: HTTP status code is not handled or not allowed 2026-01-28 00:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-two-tone-surveyor-safety-vest-3xl-orange-sv6o3x>: HTTP status code is not handled or not allowed 2026-01-28 00:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-96x48x96-with-3-shelves-wood-deck-1100-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 00:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33061 pages (at 97 pages/min), scraped 14241 items (at 76 items/min) 2026-01-28 00:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-30-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 00:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-xs-black>: HTTP status code is not handled or not allowed 2026-01-28 00:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-poly-nylon-vacuum-pouch-16-x-12-3-mil>: HTTP status code is not handled or not allowed 2026-01-28 00:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wraps-2-1-2-x-24-blue-package-of-3>: HTTP status code is not handled or not allowed 2026-01-28 00:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-40-easyreach-pick-up-tool>: HTTP status code is not handled or not allowed 2026-01-28 00:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-55222-8-14-8mm-tube-x-14-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 00:02:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_wine_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-pack-chilling-unit-with-12-standard-cold-packs-upright-4-3-cu-ft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-36-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 00:02:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_wine_tools landed on page that is not a product page. 2026-01-28 00:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-dot-approved-transport-can-5-8flexable-hose-type-ii-red-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 00:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-pack-pressure-washer-accessory-nozzles-9-hp-washers-above>: HTTP status code is not handled or not allowed 2026-01-28 00:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-55910-10-38-screw-adj-10mm-tube-x-38-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 00:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolt-on-steel-post-for-single-3-rib-guard-rail-24-in-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 00:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-hd-boltless-shelving-add-on-36-in-w-x-12-in-d-x-72-in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flange-adapter-5-telescoping-1-inch-x-1-inch-x-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 00:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-extra-shelving-48x18x60-gray-with-5-shelves-1500-lb-cap-per-shelf>: HTTP status code is not handled or not allowed 2026-01-28 00:02:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_pumps/utility_pumps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0010-inch-brass-shim-stock-6-inch-x-180-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 00:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-shelf-with-laminated-deck-96x36-gray-3>: HTTP status code is not handled or not allowed 2026-01-28 00:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33152 pages (at 91 pages/min), scraped 14315 items (at 74 items/min) 2026-01-28 00:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-1069-warmer-element-208v-1000w-18-inch-x-8-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 00:02:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_pumps/utility_pumps landed on page that is not a product page. 2026-01-28 00:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/355-series-universal-fold-down-back-seat-w-hip-restraints--seat-belt-vinyl-blk>: HTTP status code is not handled or not allowed 2026-01-28 00:03:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-mount-above-ground-post-for-weekend-away-mail-protector-dvjr0060-dvcs0070-dvjr0060pa-sd>: HTTP status code is not handled or not allowed 2026-01-28 00:03:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261874-kason-10065009072-pilaster-72-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 00:03:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors landed on page that is not a product page. 2026-01-28 00:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-dividable-7>: HTTP status code is not handled or not allowed 2026-01-28 00:03:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors landed on page that is not a product page. 2026-01-28 00:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-long-divider-6>: HTTP status code is not handled or not allowed 2026-01-28 00:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-36-2-door-outdoor-enclosed-corkboard-satin-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 00:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-4-x-96-single-cedar-post-hardware>: HTTP status code is not handled or not allowed 2026-01-28 00:03:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:03:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/kitchen_cleaners_detergents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-gallon-square-receptacle-with-dome-lid-gray-with-riverstone-panels>: HTTP status code is not handled or not allowed 2026-01-28 00:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-48-tenv-1ph-3450rpm-c4c34nb2ee>: HTTP status code is not handled or not allowed 2026-01-28 00:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1051003-cover-bowl-m-msd-10-20-30>: HTTP status code is not handled or not allowed 2026-01-28 00:03:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports landed on page that is not a product page. 2026-01-28 00:03:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/kitchen_cleaners_detergents landed on page that is not a product page. 2026-01-28 00:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-5xl-long-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 00:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-1ph-3450rpm-m6c34fc11kk>: HTTP status code is not handled or not allowed 2026-01-28 00:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series-bookcase-hutch-36-w-x-14-63-d-x-37-13-h-harvest>: HTTP status code is not handled or not allowed 2026-01-28 00:03:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/bookcases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9443-15w-par38-led-25-beam-spread-medium-base-4000k-dimmable-ip65>: HTTP status code is not handled or not allowed 2026-01-28 00:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-plastic-box-truck-10-bushel>: HTTP status code is not handled or not allowed 2026-01-28 00:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/size-c-4-inch-x-4-inch-stainless-steel-slotted-shim-130-piece-mini-assortment>: HTTP status code is not handled or not allowed 2026-01-28 00:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33246 pages (at 94 pages/min), scraped 14387 items (at 72 items/min) 2026-01-28 00:03:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/bookcases landed on page that is not a product page. 2026-01-28 00:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-forge-and-foundry-eight-inch-bench-grinder>: HTTP status code is not handled or not allowed 2026-01-28 00:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-piece-brass-shim-stock-assortment-6-inch-x-12-inch-sheets>: HTTP status code is not handled or not allowed 2026-01-28 00:04:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/batteries_power_protection/usb_chargers_hubs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-gantry-crane-adjustable-height-8000-lb-capacity-3>: HTTP status code is not handled or not allowed 2026-01-28 00:04:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/isobar-ultra-8-outlet-12ft-2850-joules>: HTTP status code is not handled or not allowed 2026-01-28 00:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1021172-drain-lock-floor-35-inch-rd-josam>: HTTP status code is not handled or not allowed 2026-01-28 00:04:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters landed on page that is not a product page. 2026-01-28 00:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-12-inch-id-x-2-18-inch-od-steel-arbor-shim-assortment>: HTTP status code is not handled or not allowed 2026-01-28 00:04:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/batteries_power_protection/usb_chargers_hubs landed on page that is not a product page. 2026-01-28 00:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-panel-divider-6-ft-high-x-24-ft-1-inch-long-fabric-summer-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ul401bc-multi-outlet-power-unit-125v-15a-48l-8-outlets-6-cord>: HTTP status code is not handled or not allowed 2026-01-28 00:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ezh20-outdoor-bottle-filling-station-w-drinking-fountain-freeze-resistant-black>: HTTP status code is not handled or not allowed 2026-01-28 00:04:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-4in-rubber-swivel-casters-for-assembled-basket-bulk-trucks>: HTTP status code is not handled or not allowed 2026-01-28 00:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-back-bonded-leather-executive-chair-padded-fixed-arms>: HTTP status code is not handled or not allowed 2026-01-28 00:04:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-24-steel-safety-angle-orange-rolling-ladder-serrated-sw1232g-o>: HTTP status code is not handled or not allowed 2026-01-28 00:04:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories landed on page that is not a product page. 2026-01-28 00:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tefc-3ph-3450-2850rpm-c6t34wk12cc>: HTTP status code is not handled or not allowed 2026-01-28 00:04:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories landed on page that is not a product page. 2026-01-28 00:04:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/frying_pans_skillets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-plug-polarized-18-2-spt-2-black>: HTTP status code is not handled or not allowed 2026-01-28 00:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33338 pages (at 92 pages/min), scraped 14459 items (at 72 items/min) 2026-01-28 00:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-90-degree-elbow-adapter-4mm-tube-od-x-18-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 00:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-1-2-thick-mat-3x60-foot-black-yellow-border>: HTTP status code is not handled or not allowed 2026-01-28 00:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1292059-filter-baffle-grease-gal12x16>: HTTP status code is not handled or not allowed 2026-01-28 00:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-base-pull-chain-current-tap-ivory>: HTTP status code is not handled or not allowed 2026-01-28 00:05:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/frying_pans_skillets landed on page that is not a product page. 2026-01-28 00:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-16-flat-washer-uss-5-8-i-d-086-132-thick-steel-zinc-grade-2-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 00:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-hp-emod-motor56j-c-face15-sf>: HTTP status code is not handled or not allowed 2026-01-28 00:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/casters-for-ladder-racks>: HTTP status code is not handled or not allowed 2026-01-28 00:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-push-stacker-2200-lb-capacity-98-lift-42-forks>: HTTP status code is not handled or not allowed 2026-01-28 00:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-in-coat-towel-rack-shelf-silver>: HTTP status code is not handled or not allowed 2026-01-28 00:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010654-caster-stem-w-o-brake-for-alto-shaam>: HTTP status code is not handled or not allowed 2026-01-28 00:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014172-hood-filter-type6-stainless-steel-25x20-w-lock-handles>: HTTP status code is not handled or not allowed 2026-01-28 00:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-18-push-broom-w-plastic-block-steel-handle-multi-surface-sweep>: HTTP status code is not handled or not allowed 2026-01-28 00:05:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-black-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 00:05:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jvm-836-3-mill-c80-3-axis-q-dro-and-x-pwf already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-caster-chairs-moonbeam-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 00:05:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jvm-836-3-mill-acu-rite-200s-dro-x-powerfeed-installed already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/lathes>: HTTP status code is not handled or not allowed 2026-01-28 00:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-tapered-sauce-pan-434212-6-1-2-bottom-diameter-2-3-4-quart-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:05:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=690179-jtm-4vs-1-milling-machine-w-acu-rite-200s-dro-x-axis-powerfeed-2-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:05:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jvm-836-3-mill-c80-3-axis-q-dro-and-x-pwf landed on page that is not a product page. 2026-01-28 00:05:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jvm-836-3-mill-acu-rite-200s-dro-x-powerfeed-installed landed on page that is not a product page. 2026-01-28 00:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-48x48-high-capacity-rack-steel-deck-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:05:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/packing_workbenches/stationary_packing_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66252843219-bluefire-cutting-wheel-4-1-2-inch-x-1-16-inch-x-7-8-inch-zirconia-alumina-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 00:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33428 pages (at 90 pages/min), scraped 14529 items (at 70 items/min) 2026-01-28 00:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-sandwich-presses-flat-plate-style-40793>: HTTP status code is not handled or not allowed 2026-01-28 00:05:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=690179-jtm-4vs-1-milling-machine-w-acu-rite-200s-dro-x-axis-powerfeed-2-hp landed on page that is not a product page. 2026-01-28 00:05:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=690008-jtm-4vs-milling-machine-w-x-y-axis-powerfeeds-3-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-5-oz-compostable-wheat-bowl-1000-pcs>: HTTP status code is not handled or not allowed 2026-01-28 00:06:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/packing_workbenches/stationary_packing_workbenches landed on page that is not a product page. 2026-01-28 00:06:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/heavy_duty_steel_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-hd-extended-angle-grinder>: HTTP status code is not handled or not allowed 2026-01-28 00:06:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=690008-jtm-4vs-milling-machine-w-x-y-axis-powerfeeds-3-hp landed on page that is not a product page. 2026-01-28 00:06:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-wall-bin-stackable-1>: HTTP status code is not handled or not allowed 2026-01-28 00:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8974-safety-helmet-is-a-class-e-safety-helmet-orange>: HTTP status code is not handled or not allowed 2026-01-28 00:06:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/heavy_duty_steel_lockers landed on page that is not a product page. 2026-01-28 00:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66623399156-bluefire-plastic-flat-flap-disc-t27-7-inch-x-5-8-11-inch-p40-grit-zirconia-alumina>: HTTP status code is not handled or not allowed 2026-01-28 00:06:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners landed on page that is not a product page. 2026-01-28 00:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-caster-chairs-white-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 00:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennsco-locker-number-plate-76-100-aluminum-with-1-2-black-lettering-lnp-a-100-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 00:06:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/item-ml3-125-sb3-rear-panel-mounting-extension-rod-coupling>: HTTP status code is not handled or not allowed 2026-01-28 00:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-output-xc6-0-battery-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:06:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/winches_accessories/winch_cables_ropes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-fit-test-kit-banana-oil>: HTTP status code is not handled or not allowed 2026-01-28 00:06:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases landed on page that is not a product page. 2026-01-28 00:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb2120-radband-2-banded-earplugs-25db-orange-pods-yellow-band>: HTTP status code is not handled or not allowed 2026-01-28 00:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-facility-signs-no-smoking-plastic-7x7>: HTTP status code is not handled or not allowed 2026-01-28 00:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-caster-chairs-black-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 00:06:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/winches_accessories/winch_cables_ropes landed on page that is not a product page. 2026-01-28 00:06:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-l-row-spacer-interlake-pallet-rack>: HTTP status code is not handled or not allowed 2026-01-28 00:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5200-grade-1-heavy-duty-surface-door-closer-mlt-adj-2-5-alm-slc>: HTTP status code is not handled or not allowed 2026-01-28 00:06:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:06:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/thresholds_bottom_sweeps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vpl906led-sign-projector-with-lens>: HTTP status code is not handled or not allowed 2026-01-28 00:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems>: HTTP status code is not handled or not allowed 2026-01-28 00:06:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/thresholds_bottom_sweeps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems>: HTTP status code is not handled or not allowed 2026-01-28 00:06:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/thresholds_bottom_sweeps landed on page that is not a product page. 2026-01-28 00:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-table-with-poly-top-36-inch-w-36-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 00:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33518 pages (at 90 pages/min), scraped 14591 items (at 62 items/min) 2026-01-28 00:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/thresholds_bottom_sweeps>: HTTP status code is not handled or not allowed 2026-01-28 00:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-2922-5-inch-swivel-stem-caster-for-1-inch-od-tubing-260-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-retractable-fuel-delivery-hose-reel-with-3-4-in-x-25-ft-l-hose-250-psi>: HTTP status code is not handled or not allowed 2026-01-28 00:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x4-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 00:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kd-8-bushel-blue-vinyl-basket-bulk-truck>: HTTP status code is not handled or not allowed 2026-01-28 00:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971190-faceplate-fwm3-34-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 00:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spillmagic-sm125an-spillmagic-145-lb-drum-acid-neutralizer>: HTTP status code is not handled or not allowed 2026-01-28 00:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16x12x6-double-wall-boxes>: HTTP status code is not handled or not allowed 2026-01-28 00:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tutco-crankcase-45-480-32>: HTTP status code is not handled or not allowed 2026-01-28 00:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011632-defrost-terminationswitch-for-continental-refrigerator>: HTTP status code is not handled or not allowed 2026-01-28 00:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-hydraulic-gear-pump-0-61-cu-in-rev-3-4-dia-straight-shaft>: HTTP status code is not handled or not allowed 2026-01-28 00:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22x18x18-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 00:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-54-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:07:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_fan_blades_blower_wheels/repair_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inox-flex-grinding-wheel-36-grit-type-27-4-1-2-dia-x-5-32-x-7-8-cntr-holedia-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 00:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-x2900-1-5-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 00:07:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/carpeted_message_shower_safety_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-hydraulic-gear-pump-1-95-cu-in-rev-5-8-dia-straight-shaft>: HTTP status code is not handled or not allowed 2026-01-28 00:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33613 pages (at 95 pages/min), scraped 14670 items (at 79 items/min) 2026-01-28 00:07:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_fan_blades_blower_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triton-steel-plastic-pegboard-mounting-space-kit-for-duraboard-or-1-8-or-1-4-pegboard-16-sets>: HTTP status code is not handled or not allowed 2026-01-28 00:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergomat-classic-4-x-12>: HTTP status code is not handled or not allowed 2026-01-28 00:08:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:08:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/carpeted_message_shower_safety_mats landed on page that is not a product page. 2026-01-28 00:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-2x10-orange-packing-list-enclosed-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 00:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-72-black-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:08:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_fan_blades_blower_wheels landed on page that is not a product page. 2026-01-28 00:08:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks landed on page that is not a product page. 2026-01-28 00:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-16-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:08:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-24ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pres-cntr-dbl-solenoid-vlv-pilot-spr-cntred-1-2-nptf-24v-dc-3w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 00:08:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-24x12-arrow-sign-exit-this-way>: HTTP status code is not handled or not allowed 2026-01-28 00:08:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 00:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-12-round-sign-emergency-shower-and-eyewash>: HTTP status code is not handled or not allowed 2026-01-28 00:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kleenex-facial-tissue-in-boutique-pop-up-box-95-box-6-boxes-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:08:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 00:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-steel-decking-72x48x72-add-on>: HTTP status code is not handled or not allowed 2026-01-28 00:08:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-36ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-24ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:08:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011782-solenoid-valve-left-for-vulcan-hart>: HTTP status code is not handled or not allowed 2026-01-28 00:08:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls landed on page that is not a product page. 2026-01-28 00:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-96x24x72-starter>: HTTP status code is not handled or not allowed 2026-01-28 00:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-48-vdc-low-profile-permanent-mount-dual-flash-strobe-light>: HTTP status code is not handled or not allowed 2026-01-28 00:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc403x08-40-cal-compliance-arc-flash-kit-w-short-coat-bib-overall-3xl-sz-08>: HTTP status code is not handled or not allowed 2026-01-28 00:08:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 00:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv112x10-12-cal-cm2-ultrasoft-arc-flash-kit-with-fr-coverall-2xl-glove-size-10>: HTTP status code is not handled or not allowed 2026-01-28 00:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33704 pages (at 91 pages/min), scraped 14736 items (at 66 items/min) 2026-01-28 00:08:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-1-4-npt-double-solenoid-valve-pilot-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 00:09:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010720-high-limit-switch-manual-for-imperial-cooking-equipment>: HTTP status code is not handled or not allowed 2026-01-28 00:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers>: HTTP status code is not handled or not allowed 2026-01-28 00:09:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners landed on page that is not a product page. 2026-01-28 00:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelving-96x16x45-adjustable>: HTTP status code is not handled or not allowed 2026-01-28 00:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2441092-strain-relief-cord-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 00:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-wedge-anchor-1-2-13-x-4-1-2-steel-zinc-pkg-of-25-279130>: HTTP status code is not handled or not allowed 2026-01-28 00:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010942-bearing-wheel-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 00:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-24ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fedders-replacement-1080rpm-230v>: HTTP status code is not handled or not allowed 2026-01-28 00:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-pilot-spr-return-g-1-4-220v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 00:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-uv-lamp-for-genpure-and-labtower-edi-uv-systems-only>: HTTP status code is not handled or not allowed 2026-01-28 00:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-208-230v-1625rpm-double-shaft>: HTTP status code is not handled or not allowed 2026-01-28 00:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx24-dx85-h-open-clip-style-4-shelf>: HTTP status code is not handled or not allowed 2026-01-28 00:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-36inw-x-12ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-locker-single-tier-12x15x72-3-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-flame-resistant-t-shirt-3xl-desert-sand-df2-cm-446ts-ds-3xl>: HTTP status code is not handled or not allowed 2026-01-28 00:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33798 pages (at 94 pages/min), scraped 14812 items (at 76 items/min) 2026-01-28 00:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kitchen-pegboard-pack-storage-organization-kit-white-black-32-x-32-x-6>: HTTP status code is not handled or not allowed 2026-01-28 00:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-long-sleeve-fr-t-shirt-3xl-desert-sand-df2-cm-446ls-ds-3xl>: HTTP status code is not handled or not allowed 2026-01-28 00:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-24ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-1-security-machine-screw-truss-spanner-head-18-8-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 00:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-foam-sheet-no-adhesive-1-2-x-13-x-13>: HTTP status code is not handled or not allowed 2026-01-28 00:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-36inw-x-18ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2641013-driveshaft-glass-washer>: HTTP status code is not handled or not allowed 2026-01-28 00:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262904-collar-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 00:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-887-central-park-1-light-wall-lantern-w-clear-beveled-glass-textured-black-6w-x-20h>: HTTP status code is not handled or not allowed 2026-01-28 00:10:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266090-tray-rack-for-randell>: HTTP status code is not handled or not allowed 2026-01-28 00:10:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/emergency_lighting_signage/emergency_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:10:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnex-anti-virbration-mount-12-13x6-bolt-stainless>: HTTP status code is not handled or not allowed 2026-01-28 00:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits>: HTTP status code is not handled or not allowed 2026-01-28 00:10:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/uninterrupted_power_supply_backup_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/emergency_lighting_signage/emergency_lighting>: HTTP status code is not handled or not allowed 2026-01-28 00:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-red-buffing-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-28 00:10:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 00:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-137-1-light-wall-mount-w-glass-cylinder-black-4-75w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 00:10:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/uninterrupted_power_supply_backup_systems landed on page that is not a product page. 2026-01-28 00:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-859-1-light-round-cage-wall-fixt-polysynthetic-body-lens-black-10h>: HTTP status code is not handled or not allowed 2026-01-28 00:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/265850-saw-guide-lower-w-plug-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 00:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-3-station-with-manual-faucets-wall-brackets-60l-x20wx8d>: HTTP status code is not handled or not allowed 2026-01-28 00:10:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33892 pages (at 94 pages/min), scraped 14887 items (at 75 items/min) 2026-01-28 00:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badger-neoprene-boots-steel-toe-upper-rubber-sole-steel-shank-15-h-blk-size-11>: HTTP status code is not handled or not allowed 2026-01-28 00:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-non-ansi-vest-61320-lime>: HTTP status code is not handled or not allowed 2026-01-28 00:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pyramid-sign-base-with-wheels-and-98-foot-high-post-black>: HTTP status code is not handled or not allowed 2026-01-28 00:11:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/canister_vacuums already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:11:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:11:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 00:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mk-296-nitrile-powder-free-disposable-gloves-4-7-mil-black-xl-100-box>: HTTP status code is not handled or not allowed 2026-01-28 00:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-high-legal-end-panel-kit-black>: HTTP status code is not handled or not allowed 2026-01-28 00:11:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 00:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-acrylic-desk-divider-60-x-24-mounted>: HTTP status code is not handled or not allowed 2026-01-28 00:11:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches/power_drill_combo_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1761612-adaptor-switch-for-hamilton-beach>: HTTP status code is not handled or not allowed 2026-01-28 00:11:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/canister_vacuums landed on page that is not a product page. 2026-01-28 00:11:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/pendant_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-unit-legal-31-inch-45-1-2-inch-61-inch-5-opening-black>: HTTP status code is not handled or not allowed 2026-01-28 00:11:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches/power_drill_combo_kits landed on page that is not a product page. 2026-01-28 00:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-990-cornerstone-1-light-wall-lantern-arm-down-w-clear-seed-glass-7w-x-13h>: HTTP status code is not handled or not allowed 2026-01-28 00:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-48inw-x-18ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:11:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/pendant_lighting landed on page that is not a product page. 2026-01-28 00:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-add-on-48inw-x-18ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ball-i-m-style-brass-coupler-1-4-x-3-8-push-lock-barb-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 00:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2200-series-safe-t-alert-back-up-alarm-107-db-12-24-volts-wire-leads->: HTTP status code is not handled or not allowed 2026-01-28 00:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-step-24-w-grip-all-directional-steel-ladder>: HTTP status code is not handled or not allowed 2026-01-28 00:11:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_area_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-starter-36inw-x-24ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:11:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/humidifiers_dehumidifiers/dehumidifiers_desiccators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:11:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/casters_wheels/plate_casters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-low-headroom-geared-trolley-1-1-2-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 00:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 33982 pages (at 90 pages/min), scraped 14956 items (at 69 items/min) 2026-01-28 00:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-48inw-x-24ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 00:11:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:11:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/humidifiers_dehumidifiers/dehumidifiers_desiccators landed on page that is not a product page. 2026-01-28 00:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-72-economy-lift-beam-adjustable-length-8000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:12:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_area_lighting landed on page that is not a product page. 2026-01-28 00:12:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/casters_wheels/plate_casters landed on page that is not a product page. 2026-01-28 00:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/58-alloy-latching-j-hook-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:12:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 00:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-stand-with-glass-divider-50w-x-68-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 00:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coil-lifter-2000-lb-capacity-14466>: HTTP status code is not handled or not allowed 2026-01-28 00:12:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/security_safes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ebf-615-8-bdm>: HTTP status code is not handled or not allowed 2026-01-28 00:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-beam-bulk-container-48-spread-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi-metal-bandsaw-blade-1-x-0035-x-128-12-46t-for-ehb-916v>: HTTP status code is not handled or not allowed 2026-01-28 00:12:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/security_safes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-a-frame-bin-cart-2-pegboard-panels-48w-x-30d-x-62h-red>: HTTP status code is not handled or not allowed 2026-01-28 00:12:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/security_safes landed on page that is not a product page. 2026-01-28 00:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010256-air-filter-for-manitowoc-machines>: HTTP status code is not handled or not allowed 2026-01-28 00:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-a-frame-bin-cart-1-louvered-1-pegboard-panels-36w-x-30d-x-62h-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:12:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/security_safes landed on page that is not a product page. 2026-01-28 00:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-c-fold-multifold-towel-dispenser-2>: HTTP status code is not handled or not allowed 2026-01-28 00:12:34 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 00:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-outside-tuck-mailers-14-12l-x-7-14w-x-5h-white-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 00:12:35 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:15 2026-01-28 00:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40g25-220vv-40w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 00:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-row-national-rep-bleacher-12ft-l-sgl-footboard>: HTTP status code is not handled or not allowed 2026-01-28 00:12:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:12:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-7l-x-5w-x-3h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 00:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-9l-x-7w-x-4h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 00:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kx20fr-3m-mc-20w-halogen-w-mini-can-base>: HTTP status code is not handled or not allowed 2026-01-28 00:12:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs landed on page that is not a product page. 2026-01-28 00:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats>: HTTP status code is not handled or not allowed 2026-01-28 00:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series-l-workstation-right-pedestal-desk-rectangle-harvest>: HTTP status code is not handled or not allowed 2026-01-28 00:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34074 pages (at 92 pages/min), scraped 15021 items (at 65 items/min) 2026-01-28 00:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microfiber-tube-mop-head-med-5-headband-6>: HTTP status code is not handled or not allowed 2026-01-28 00:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tilt-out-storage-bin-2-compartments-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hopper-bin-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266168-latch-w-1-1-4-inch-strike>: HTTP status code is not handled or not allowed 2026-01-28 00:13:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-label-50-l-x-3-h-roll>: HTTP status code is not handled or not allowed 2026-01-28 00:13:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-32-bistro-table-tekwood-natural>: HTTP status code is not handled or not allowed 2026-01-28 00:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51-1429-baso-coaxial-thermocouple-36-inch>: HTTP status code is not handled or not allowed 2026-01-28 00:13:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 00:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables>: HTTP status code is not handled or not allowed 2026-01-28 00:13:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:13:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlp1-long-sleeve-pullover-t-shirt-with-uv-protection-class-3-3xl-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 00:13:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scratch-resistant-strip-door-curtain-9-w-x-7-h>: HTTP status code is not handled or not allowed 2026-01-28 00:13:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:13:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 00:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-2-thick-x-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 00:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-single-sided-upright-26>: HTTP status code is not handled or not allowed 2026-01-28 00:13:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh327-non-vented-cap-style-hard-hat-4-point-adjustable-ratchet-suspension-orange>: HTTP status code is not handled or not allowed 2026-01-28 00:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-16-diameter-vinyl-coated-1-8-diameter-7x7-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 00:13:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2462009-wire-assembly-120v-for-rf-hunter-co-filtration-systems>: HTTP status code is not handled or not allowed 2026-01-28 00:13:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offset-right-cut-aviation-sni-p>: HTTP status code is not handled or not allowed 2026-01-28 00:13:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/outdoor_storage/deck_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:13:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisan-lambswool-extendable-duster-handle-extends-35-48-assort-colors>: HTTP status code is not handled or not allowed 2026-01-28 00:13:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34162 pages (at 88 pages/min), scraped 15086 items (at 65 items/min) 2026-01-28 00:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-linestra-vanity-replacement-light-bulb-s14s-base-8w-660-lumens-27k-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 00:13:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs landed on page that is not a product page. 2026-01-28 00:13:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/outdoor_storage/deck_boxes landed on page that is not a product page. 2026-01-28 00:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-container-forkli-able-yellow-1>: HTTP status code is not handled or not allowed 2026-01-28 00:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-r134a-low-side-service-port-adapter-four-seasons-59973>: HTTP status code is not handled or not allowed 2026-01-28 00:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-g16-frosted-globe-light-bulb-e26-base-7w-500-lumens-27k-warm-white-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 00:14:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs landed on page that is not a product page. 2026-01-28 00:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-112-b>: HTTP status code is not handled or not allowed 2026-01-28 00:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireway-pallet-rack-tear-drop-upright-frame-120x42>: HTTP status code is not handled or not allowed 2026-01-28 00:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-t8-filament-light-bulb-e26-base-5w-450-lumens-2700k-soft-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 00:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1318-15-psi-chrome-steam-safety-relief-valve-3-4-inch-npt-446-lb-hour>: HTTP status code is not handled or not allowed 2026-01-28 00:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nsf-fabricated-2-compartment-15l-x-15w-bowl-812h-splash-24-left-right-drainboards-16-ga>: HTTP status code is not handled or not allowed 2026-01-28 00:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-regressed-downlight-fixture-18w-1360-lumens-4-12dia-white-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 00:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-16-24-hss-tmx-round-adjustable-die-special-thread-left-hand-1-1-2-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 00:14:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:14:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:14:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:14:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/florsheimfe690-mens-quick-release-6-metatarsal-work-boot-black-size-11-ee-wide>: HTTP status code is not handled or not allowed 2026-01-28 00:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cambridge-limited-quicknotes-planner-ruled-5-3-8-x-8-white-80-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 00:14:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 00:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 00:14:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 00:14:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-hand-ctrl-for-electrical-actuation-of-solenoid-valve>: HTTP status code is not handled or not allowed 2026-01-28 00:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-250-b>: HTTP status code is not handled or not allowed 2026-01-28 00:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ses030822-3-hp-oil-less-scroll-compressor-13-gallon-horizontal-116-psi-3-phase-208v>: HTTP status code is not handled or not allowed 2026-01-28 00:14:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 00:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-w-1-water-hardening-drill-rod-25-32>: HTTP status code is not handled or not allowed 2026-01-28 00:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34254 pages (at 92 pages/min), scraped 15154 items (at 68 items/min) 2026-01-28 00:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-vertical-file-legal-size-4-drawer-black-18w-x-25d-x-52h>: HTTP status code is not handled or not allowed 2026-01-28 00:14:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 00:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-24-w-perf-step-w-cal-osha-handrail-cal-wa-sw63214p>: HTTP status code is not handled or not allowed 2026-01-28 00:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/artic-eco-green-icemelter-44-lb-bag-200-60043>: HTTP status code is not handled or not allowed 2026-01-28 00:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werner-ladder-fiberglass-extension-with-250-lb-capacity-16-h>: HTTP status code is not handled or not allowed 2026-01-28 00:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rotatable-wall-pack-outdoor-vanity-light-fixture-80w-10000-lumens-10l-black>: HTTP status code is not handled or not allowed 2026-01-28 00:15:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/undercabinet_puck_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rbmag3-h-grn-storage-cabinet-all-welded-36-wx24-dx78-h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-28 00:15:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:15:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/safety_training_materials already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:15:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-inch-rubber-parking-stop-curb-block-black-yellow-stripes>: HTTP status code is not handled or not allowed 2026-01-28 00:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-365218-wr-bookcase-all-welded-36-wx18-dx52-h-wine-red>: HTTP status code is not handled or not allowed 2026-01-28 00:15:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-28 00:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/safety_training_materials>: HTTP status code is not handled or not allowed 2026-01-28 00:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-w-x-20-h-x-1-d-pleated-merv-11-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 00:15:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-28 00:15:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/undercabinet_puck_lights landed on page that is not a product page. 2026-01-28 00:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-folding-table-54-inch-round-vinyl-edge-titan-series>: HTTP status code is not handled or not allowed 2026-01-28 00:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guaze-bandages-single-roll-2-x5yds-12-pcs>: HTTP status code is not handled or not allowed 2026-01-28 00:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-42rb-db-storage-cabinet-all-welded-42-wx18-dx72-h-denim-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-5w-x-82h-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 00:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-double-tier-3-wide-12x18x72-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 00:15:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radio_earpieces already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:15:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/self_retracting_lifelines_lanyards/self_retracting_lifelines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/remote-speaker-microphone-with-3-5mm-audio-jack-for-ht-series-portable-radios>: HTTP status code is not handled or not allowed 2026-01-28 00:15:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerator-with-chiller-compartment-44-cu-ft-capacity-blackstainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 00:15:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radio_earpieces landed on page that is not a product page. 2026-01-28 00:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fall_protection/self_retracting_lifelines_lanyards/self_retracting_lifelines>: HTTP status code is not handled or not allowed 2026-01-28 00:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34345 pages (at 91 pages/min), scraped 15222 items (at 68 items/min) 2026-01-28 00:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-closed-linear-bearing-sws6-38id-0875l>: HTTP status code is not handled or not allowed 2026-01-28 00:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-strapping-kit-jsk580-5-8-inches-x-0-020-inches-x-2353-feet-black>: HTTP status code is not handled or not allowed 2026-01-28 00:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-strapping-kit-psk58-5-8-inches-x-0-035-inches-x-4000-feet-black-16-inches-x-6-inches-core>: HTTP status code is not handled or not allowed 2026-01-28 00:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-round-soapstone-holder-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 00:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-3-16-neo-a-for-nilfisk-advance-30937a>: HTTP status code is not handled or not allowed 2026-01-28 00:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-wash-station-eye-wash-fountain-drench-shower-2>: HTTP status code is not handled or not allowed 2026-01-28 00:16:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns landed on page that is not a product page. 2026-01-28 00:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1818-1-4-12in-oal-hss-heavy-duty-sand-blasted-118-point-carbide-tipped-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 00:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1878-1-4-e-hss-heavy-duty-black-gold-135-split-point-3-flatted-shank-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 00:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk2000-174-boltless-pallet-rack-3-9-16-x-108-step-beam-pair>: HTTP status code is not handled or not allowed 2026-01-28 00:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-rubber-overboots-mens-black-medium-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 00:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-skirt-set-for-nilfisk-advance-56413767>: HTTP status code is not handled or not allowed 2026-01-28 00:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-nilfisk-advance-56391355-nilfisk-advance-56391342>: HTTP status code is not handled or not allowed 2026-01-28 00:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1898-14-00mm-hss-general-purpose-bright-118-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 00:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-037-037-s>: HTTP status code is not handled or not allowed 2026-01-28 00:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-dividers-letter-size-literature-sorter-black>: HTTP status code is not handled or not allowed 2026-01-28 00:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1898-tn-5-32-hss-general-purpose-tin-118-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 00:16:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-safety-pant-40-waist-x-34l-inseam-navy>: HTTP status code is not handled or not allowed 2026-01-28 00:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-g-10-fr-4-garolite-rod-3-4-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 00:16:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-1c-series-climax-h1c-343>: HTTP status code is not handled or not allowed 2026-01-28 00:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-panel-to-wallpanel-to-pilaster-bracket-kit-polymeraluminum-stirrup>: HTTP status code is not handled or not allowed 2026-01-28 00:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34438 pages (at 93 pages/min), scraped 15294 items (at 72 items/min) 2026-01-28 00:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-panel-wo-brackets-5712w-khaki-brown>: HTTP status code is not handled or not allowed 2026-01-28 00:16:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/laboratory_tables landed on page that is not a product page. 2026-01-28 00:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-500>: HTTP status code is not handled or not allowed 2026-01-28 00:16:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock landed on page that is not a product page. 2026-01-28 00:17:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/brooms_dust_pans/dusters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-pilaster-w-shoe-3w-x-82h-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:17:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-scoop-32-oz-purple>: HTTP status code is not handled or not allowed 2026-01-28 00:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/canadian-freedom-series-protective-cap-white-with-red-maple-leaf>: HTTP status code is not handled or not allowed 2026-01-28 00:17:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/duct_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-duct-tape-1-88-x-35-yards>: HTTP status code is not handled or not allowed 2026-01-28 00:17:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/brooms_dust_pans/dusters landed on page that is not a product page. 2026-01-28 00:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-24-x-12-regular-slotted-container-1>: HTTP status code is not handled or not allowed 2026-01-28 00:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/building_construction_tape/duct_tape>: HTTP status code is not handled or not allowed 2026-01-28 00:17:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays landed on page that is not a product page. 2026-01-28 00:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rsk-8-round-cast-iron-skillet>: HTTP status code is not handled or not allowed 2026-01-28 00:17:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:17:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-287>: HTTP status code is not handled or not allowed 2026-01-28 00:17:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-rod-1-500-dia-x-48-000-inch>: HTTP status code is not handled or not allowed 2026-01-28 00:17:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap landed on page that is not a product page. 2026-01-28 00:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 00:17:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap landed on page that is not a product page. 2026-01-28 00:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-5w-x-82h-almond>: HTTP status code is not handled or not allowed 2026-01-28 00:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-phenolic-sheet-0-062-thick-36-x-48>: HTTP status code is not handled or not allowed 2026-01-28 00:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-with-extended-core-handle-cast-80-gauge-3w-x-1000l-clear-pack-of-18>: HTTP status code is not handled or not allowed 2026-01-28 00:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwik-seal-ultra-5-5-oz-clear-7079818915>: HTTP status code is not handled or not allowed 2026-01-28 00:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0030-07-shangarila-oyster-fork>: HTTP status code is not handled or not allowed 2026-01-28 00:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34532 pages (at 94 pages/min), scraped 15365 items (at 71 items/min) 2026-01-28 00:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reborn-collection-convertible-crossbody-bag-polyester-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-24-s>: HTTP status code is not handled or not allowed 2026-01-28 00:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-100-schrader-air-supply-hose-3-8>: HTTP status code is not handled or not allowed 2026-01-28 00:18:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:18:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/gas_engines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0345r-iron-tuff-low-bib-overall-tall-navy-medium>: HTTP status code is not handled or not allowed 2026-01-28 00:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-112-112-s>: HTTP status code is not handled or not allowed 2026-01-28 00:18:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls landed on page that is not a product page. 2026-01-28 00:18:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/gas_engines landed on page that is not a product page. 2026-01-28 00:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccb-8r-bouillon-strainer-extra-fine-mesh-with-reinforcement>: HTTP status code is not handled or not allowed 2026-01-28 00:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0385r-iron-tuff-high-bib-overall-regular-navy-xl>: HTTP status code is not handled or not allowed 2026-01-28 00:18:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-949evs-230-mill-with-2-axis-acu-rite-g-2-millpwr-cnc already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:18:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/replacement_scrubber_squeegees already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:18:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1050evs2-230-mill-with-3-axis-acu-rite-milpwr-g2-cnc-controller already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-glowear-8205hl-eco-recycled-hi-vis-safety-vest-lxl-lime>: HTTP status code is not handled or not allowed 2026-01-28 00:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afp-14ns-h-fry-pan>: HTTP status code is not handled or not allowed 2026-01-28 00:18:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-949evs-230-mill-with-2-axis-acu-rite-g-2-millpwr-cnc landed on page that is not a product page. 2026-01-28 00:18:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/replacement_scrubber_squeegees landed on page that is not a product page. 2026-01-28 00:18:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1050evs2-230-mill-with-3-axis-acu-rite-milpwr-g2-cnc-controller landed on page that is not a product page. 2026-01-28 00:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghs-exclamation-mark-pictogram-label-2-x-2-500-roll>: HTTP status code is not handled or not allowed 2026-01-28 00:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-300271-slv-snap-frame-for-freestanding-unit-22-w-x-1-d-x-28-h>: HTTP status code is not handled or not allowed 2026-01-28 00:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-performance-starter-battery-s6523b-auto-vm>: HTTP status code is not handled or not allowed 2026-01-28 00:18:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-polish-14-oz-can-4-cans-case-1048843>: HTTP status code is not handled or not allowed 2026-01-28 00:18:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerquad153-ned-vacuum-kit-with-1-12-inlet-20-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sstc-40-cover-for-sst-20-ssdb-20-20s>: HTTP status code is not handled or not allowed 2026-01-28 00:18:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls landed on page that is not a product page. 2026-01-28 00:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/six-inch-brass-interlocking-stencil-letters-thirty-three-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 00:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34622 pages (at 90 pages/min), scraped 15433 items (at 68 items/min) 2026-01-28 00:18:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 00:18:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hammers_mallets/sledge_hammers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-200>: HTTP status code is not handled or not allowed 2026-01-28 00:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-275-s>: HTTP status code is not handled or not allowed 2026-01-28 00:19:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/hammers_mallets/sledge_hammers>: HTTP status code is not handled or not allowed 2026-01-28 00:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fft-1418k-fast-food-tray-black-14x-18>: HTTP status code is not handled or not allowed 2026-01-28 00:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n12s-swivel-hose-adapter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 00:19:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 00:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-025-s>: HTTP status code is not handled or not allowed 2026-01-28 00:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chito-sam-single-ply-hemostatic-dressing-4-inch-x-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 00:19:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/first_aid_wound_treatment/emergency_blankets_bivouac_sacks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0311-string-knit-liner-white-small>: HTTP status code is not handled or not allowed 2026-01-28 00:19:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-081>: HTTP status code is not handled or not allowed 2026-01-28 00:19:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/first_aid_wound_treatment/emergency_blankets_bivouac_sacks landed on page that is not a product page. 2026-01-28 00:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254rvs-milling-machine-with-x-axis-powerfeed-5-hp-230460v>: HTTP status code is not handled or not allowed 2026-01-28 00:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-450>: HTTP status code is not handled or not allowed 2026-01-28 00:19:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-starter-unit-72-w-x-18-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 00:19:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=bench-yoke-vise-1-8-4-pipe-capacity already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1860zx-large-spindle-bore-lathe-acu-rite-203-dro-collet-closer-7-12-hp-3ph-460v>: HTTP status code is not handled or not allowed 2026-01-28 00:19:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=e-1236vs-elite-evs-lathe-with-newall-dp700-dro-taper-attachment-2-hp-3ph-230v already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-no-adhesive-60a-116-thick-x-1-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 00:19:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords landed on page that is not a product page. 2026-01-28 00:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-rdb-500-rotary-draw-hydraulic-tube-pipe-bender-3-pipe-cap-3ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 00:19:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=bench-yoke-vise-1-8-4-pipe-capacity landed on page that is not a product page. 2026-01-28 00:19:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords landed on page that is not a product page. 2026-01-28 00:19:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords landed on page that is not a product page. 2026-01-28 00:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-with-acrylic-adhesive-50a-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 00:19:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 00:19:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 00:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmpo-138-oval-melamine-platter-oval-melamine-tan-13-x-8>: HTTP status code is not handled or not allowed 2026-01-28 00:19:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=e-1236vs-elite-evs-lathe-with-newall-dp700-dro-taper-attachment-2-hp-3ph-230v landed on page that is not a product page. 2026-01-28 00:19:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 00:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23041-cut-off-wheel-type-1-a60t-3-inch-x-1-16-inch-x-3-8-inch-60-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 00:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-frame-36-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 00:19:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34705 pages (at 83 pages/min), scraped 15486 items (at 53 items/min) 2026-01-28 00:19:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-series-spring-rewind-hose-reel-for-air-water-oil-34-i-d-50-hose-capacity-less-hose-250-psi>: HTTP status code is not handled or not allowed 2026-01-28 00:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-series-spring-rewind-hose-reel-for-air-water-3-8-i-d-25-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 00:20:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-roll-no-adhesive-75a-132-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 00:20:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hac-142-deep-cake-pan>: HTTP status code is not handled or not allowed 2026-01-28 00:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-rack-shelf-tag-side-load-white-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:20:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 00:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-no-adhesive-60a-12-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 00:20:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-immersion-heater-tank-6000-240v-316-ss>: HTTP status code is not handled or not allowed 2026-01-28 00:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-row-national-rep-aluminum-bleacher-with-guard-rail-21-wide>: HTTP status code is not handled or not allowed 2026-01-28 00:20:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:20:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/scales/portion_price_computing_scales already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marine-safe-boat-hull-cleaner-quart-bottle-12-case>: HTTP status code is not handled or not allowed 2026-01-28 00:20:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-4320-latch-kit-new-style-7-1-2t-carbon-11t-alloy-hook-3-56-l-x-1-25-w>: HTTP status code is not handled or not allowed 2026-01-28 00:20:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/scales/portion_price_computing_scales landed on page that is not a product page. 2026-01-28 00:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ts050-010-electric-chain-hoist-w-trolley-4-button-pendant-12-ton-cap-10-lift-460v>: HTTP status code is not handled or not allowed 2026-01-28 00:20:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:20:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-6159-shower-door-handle-set-2-inch-brass>: HTTP status code is not handled or not allowed 2026-01-28 00:20:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders landed on page that is not a product page. 2026-01-28 00:20:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 00:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gd-12316-garage-door-torsion-spring-207-in-x-2-in-x-20-in-orange-left-hand-wind>: HTTP status code is not handled or not allowed 2026-01-28 00:20:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:20:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders landed on page that is not a product page. 2026-01-28 00:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-dc-controls-scr-series-pwm-series-nema-4-1ph-3hp-230v>: HTTP status code is not handled or not allowed 2026-01-28 00:20:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/wet_dry_vacuums/non_combustible_shop_vacuums already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:20:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-60a-332-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 00:20:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-60a-132-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 00:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34793 pages (at 88 pages/min), scraped 15549 items (at 63 items/min) 2026-01-28 00:20:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/wet_dry_vacuums/non_combustible_shop_vacuums landed on page that is not a product page. 2026-01-28 00:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 00:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-general-purpose-motor-1-6hp-1725rpm-48-tefc-115-230v-60hz-40c-1-15sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 00:21:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-explosion-proof-motor-2hp-3450rpm-56-epfc-60hz-automatic-1-0sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 00:21:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=manual-slip-roll-24-width-20-gauge-mild-steel-capacity already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-mailer-3-8-1-2-x-14-1-2-golden-brown-100-ctn>: HTTP status code is not handled or not allowed 2026-01-28 00:21:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:21:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:21:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-nursery-cart-4-shelf-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 00:21:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:21:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=manual-slip-roll-24-width-20-gauge-mild-steel-capacity landed on page that is not a product page. 2026-01-28 00:21:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/pipe_tube_benders/conduit_benders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-intensity-infrared-patio-heater-with-transformer-natural-gas-140000-btu>: HTTP status code is not handled or not allowed 2026-01-28 00:21:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 00:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 00:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46037-cable-splicers-knife-electrician-scissors-kit>: HTTP status code is not handled or not allowed 2026-01-28 00:21:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:21:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 00:21:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/pipe_tube_benders/conduit_benders landed on page that is not a product page. 2026-01-28 00:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-if-seal-is-broken-2-x-110-yds-redwhite-6pack>: HTTP status code is not handled or not allowed 2026-01-28 00:21:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-chain-hoist-20-foot-li-4-000-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:21:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-quart-lockable-storage-trunk-24-inch-l-x-15-inch-w-x-13-inch-h-od-green>: HTTP status code is not handled or not allowed 2026-01-28 00:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-60a-38-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 00:21:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 00:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-keep-refrigerated-2-x-110-yds-22-mil-redwhite-18pack>: HTTP status code is not handled or not allowed 2026-01-28 00:21:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-2-000-thick-x-12-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 00:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34881 pages (at 88 pages/min), scraped 15614 items (at 65 items/min) 2026-01-28 00:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-0-375-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 00:21:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-carton-sealing-tape-2-x-110-yds-22-mil-black-6pack>: HTTP status code is not handled or not allowed 2026-01-28 00:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-310-nipple-3-8-male-npt-industrial-interchange-1-4>: HTTP status code is not handled or not allowed 2026-01-28 00:22:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 00:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 00:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-contour-band-saw-20-x-13-cutting-capacity-230v-2-hp-3-ph-2013-v2-230v>: HTTP status code is not handled or not allowed 2026-01-28 00:22:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j53129-comfortbrite-jacket-fluorescent-orange-md>: HTTP status code is not handled or not allowed 2026-01-28 00:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-in-super-air-knife-shim-set-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 00:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-60a-18-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 00:22:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-50a-12-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 00:22:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:22:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn2277-bull-s-eye-levels-aluminum-surface-mount-0-67-hub-dia-0-98-base-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 00:22:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/dog_park_veterinary_supplies/dog_park_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-storage-rack>: HTTP status code is not handled or not allowed 2026-01-28 00:22:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors landed on page that is not a product page. 2026-01-28 00:22:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 00:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-rod-0-750-dia>: HTTP status code is not handled or not allowed 2026-01-28 00:22:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/dog_park_veterinary_supplies/dog_park_equipment landed on page that is not a product page. 2026-01-28 00:22:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-steel-junior-tall-medical-bedside-cart-push-button-lock-spring-green>: HTTP status code is not handled or not allowed 2026-01-28 00:22:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters landed on page that is not a product page. 2026-01-28 00:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-b44-3-tube-aab00062-1-000-id-x-1-250-od-x-50-l>: HTTP status code is not handled or not allowed 2026-01-28 00:22:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-shelf-steel-shelving-with-96-akro-mils-shelf-bins-1>: HTTP status code is not handled or not allowed 2026-01-28 00:22:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-20-bu-red-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 00:22:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:22:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-1x1-2amed-whl048011-15527>: HTTP status code is not handled or not allowed 2026-01-28 00:22:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs landed on page that is not a product page. 2026-01-28 00:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/508x-high-yield-cyan-original-laserjet-toner-cartridge-9500-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 00:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 34964 pages (at 83 pages/min), scraped 15671 items (at 57 items/min) 2026-01-28 00:22:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 00:22:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 00:22:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-double-sided-floor-rack-with-64-akrobins-36x54-1>: HTTP status code is not handled or not allowed 2026-01-28 00:23:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 00:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-wood-deck-starter-4-level-gray-7>: HTTP status code is not handled or not allowed 2026-01-28 00:23:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/surface_grinding_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-pull-plate-6-l-x-15-h-x-3-4-satin-stainless-steel-6-ctc>: HTTP status code is not handled or not allowed 2026-01-28 00:23:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 00:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-food-grade-vacuum-hose-blue-10-l>: HTTP status code is not handled or not allowed 2026-01-28 00:23:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-polyester-filter-antistatic-5-9-10-l-x-5-9-10-w-x-27-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 00:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-hd-wall-bracket-jib-crane-20-ft-span-and-200and-176-rotation-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubby-locker-welded-34-1-2w-x-13-1-2d-x-30h-6-compartments-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:23:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels landed on page that is not a product page. 2026-01-28 00:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-gpo-3-sheet-0-125-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 00:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acryl-kote-seal-finish-unscented-5-gallon-box-1-box-903375>: HTTP status code is not handled or not allowed 2026-01-28 00:23:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:23:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/gondola_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nomex-410-sheet-0-007-thick-x-24-000-w-x-36-000-l>: HTTP status code is not handled or not allowed 2026-01-28 00:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-ludington-2-x-2-nail-up-tin-ceiling-tile-in-gloss-white-t57-00>: HTTP status code is not handled or not allowed 2026-01-28 00:23:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment landed on page that is not a product page. 2026-01-28 00:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/gondola_shelving>: HTTP status code is not handled or not allowed 2026-01-28 00:23:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:23:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g4-145t-aff-5hp-oil-injected-rotary-screw-71-gal-tank-145psi-208-230-460v-w-dryer>: HTTP status code is not handled or not allowed 2026-01-28 00:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dr3-b-touch-screen-digital-timer-black>: HTTP status code is not handled or not allowed 2026-01-28 00:23:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 00:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-89-2209-titanium-coated-drill-bit-3-16>: HTTP status code is not handled or not allowed 2026-01-28 00:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/health-gards-green-seal-recycled-toilet-seat-covers-250-pack-4-packs-case>: HTTP status code is not handled or not allowed 2026-01-28 00:23:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 00:23:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/lubricants/food_grade_lubricants already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-toronto-2-x-2-nail-up-tin-ceiling-tile-in-penny-vein-t59-05>: HTTP status code is not handled or not allowed 2026-01-28 00:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35058 pages (at 94 pages/min), scraped 15740 items (at 69 items/min) 2026-01-28 00:23:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/parts_cleaning_treating/parts_cleaners_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fresh-products-tidal-wave-urinal-screens-cucumber-melon-scent-6-box>: HTTP status code is not handled or not allowed 2026-01-28 00:24:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/lubricants/food_grade_lubricants landed on page that is not a product page. 2026-01-28 00:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-10w-to-11w-and-8h>: HTTP status code is not handled or not allowed 2026-01-28 00:24:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bloodborne-pathogens-protection-kit>: HTTP status code is not handled or not allowed 2026-01-28 00:24:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/outdoor_chaise_lounges_daybeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/probite-174-3-8-x-3-8-lead-free-brass-coupling>: HTTP status code is not handled or not allowed 2026-01-28 00:24:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/parts_cleaning_treating/parts_cleaners_accessories landed on page that is not a product page. 2026-01-28 00:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles>: HTTP status code is not handled or not allowed 2026-01-28 00:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/outdoor_chaise_lounges_daybeds>: HTTP status code is not handled or not allowed 2026-01-28 00:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lf-74-heavy-duty-wire-feeder-bench-model-24-42-vac>: HTTP status code is not handled or not allowed 2026-01-28 00:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4b-horizontal-mailbox-30-a-doors-29-usable-front-loading-aluminum-usps-access>: HTTP status code is not handled or not allowed 2026-01-28 00:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glance-powerized-glass-and-surface-cleaner-liquid-gallon-bottle-2-case>: HTTP status code is not handled or not allowed 2026-01-28 00:24:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ranges/range_hoods_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyguard-lab-coat-3-pockets-elastic-wrists-snap-front-single-collar-white-2xl-30case>: HTTP status code is not handled or not allowed 2026-01-28 00:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-stackable-sidechair-linen-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 00:24:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/welding/arc_welding/multi_process_welding_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:24:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/stools/task_office_stools/task_work_stools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-bond-super-glue-15-g-bottle-clear>: HTTP status code is not handled or not allowed 2026-01-28 00:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-br-cover-5630661>: HTTP status code is not handled or not allowed 2026-01-28 00:24:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:24:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ranges/range_hoods_accessories landed on page that is not a product page. 2026-01-28 00:24:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/welding/arc_welding/multi_process_welding_machines landed on page that is not a product page. 2026-01-28 00:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-beard-net-honeycomb-116-hole-100-latex-free-blue-18-100bag->: HTTP status code is not handled or not allowed 2026-01-28 00:24:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/stools/task_office_stools/task_work_stools landed on page that is not a product page. 2026-01-28 00:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-lab-coat-no-pockets-elastic-wrists-velcro-front-single-collar-3xl-30cs>: HTTP status code is not handled or not allowed 2026-01-28 00:24:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:24:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:24:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers landed on page that is not a product page. 2026-01-28 00:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-12-compartment-3>: HTTP status code is not handled or not allowed 2026-01-28 00:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-pump-cover-5712461>: HTTP status code is not handled or not allowed 2026-01-28 00:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35148 pages (at 90 pages/min), scraped 15807 items (at 67 items/min) 2026-01-28 00:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5020-duffel-bag-medium>: HTTP status code is not handled or not allowed 2026-01-28 00:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advanced-jumbo-bath-tissue-septic-safe-2-ply-white-1600-ft-roll-6-rolls-case>: HTTP status code is not handled or not allowed 2026-01-28 00:25:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 00:25:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 00:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-roll-bathroom-tissue-septic-safe-2-ply-white-3-4-x-1000-ft-12-rolls-case>: HTTP status code is not handled or not allowed 2026-01-28 00:25:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sms-coverall-elastic-wrists-ankles-zipper-front-single-collar-white-4xl-25case>: HTTP status code is not handled or not allowed 2026-01-28 00:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-solid-brute-shelf-18-wx48-l>: HTTP status code is not handled or not allowed 2026-01-28 00:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caressoft-medical-drafting-stool-with-backrest-vinyl-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:25:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems landed on page that is not a product page. 2026-01-28 00:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-w-shelf-rack-24-wx48-hx42-l>: HTTP status code is not handled or not allowed 2026-01-28 00:25:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/clamp_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1oz-clear-graduated-medium-round-with-33-400-neck-finish-bottle-only-48pk>: HTTP status code is not handled or not allowed 2026-01-28 00:25:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-949evs-230-mill-x-axis-powerfeed-698168 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistachios-dry-roasted-salted-1-oz>: HTTP status code is not handled or not allowed 2026-01-28 00:25:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-949evs-mill-acu-rite-200s-dro-x-and-y-axis-powerfeeds-698177 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/nutrition_bars_mixes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/clamp_meters landed on page that is not a product page. 2026-01-28 00:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-lever-hoist-1-12-ton-cap-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 00:25:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jet-jtm-949evs-230-mill-x-axis-powerfeed-698168 landed on page that is not a product page. 2026-01-28 00:25:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-acu-rite-200s-dro-x-y-and-z-axis-powerfeeds-690607 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t9-hss-reduced-shank-drill-black-oxide-3564>: HTTP status code is not handled or not allowed 2026-01-28 00:25:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars landed on page that is not a product page. 2026-01-28 00:25:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars landed on page that is not a product page. 2026-01-28 00:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-heavy-duty-shelf-24-wx96-l>: HTTP status code is not handled or not allowed 2026-01-28 00:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/short-sleeve-wicking-birdseye-t-shirt-w-pocket-hi-vis-yellow-4xl>: HTTP status code is not handled or not allowed 2026-01-28 00:25:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jet-jtm-949evs-mill-acu-rite-200s-dro-x-and-y-axis-powerfeeds-698177 landed on page that is not a product page. 2026-01-28 00:25:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/nutrition_bars_mixes landed on page that is not a product page. 2026-01-28 00:25:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-vfswdm3550t-e-ip69-2hp-3480rpm-3ph-60hz-56c-3546m-tenv-f1-n>: HTTP status code is not handled or not allowed 2026-01-28 00:25:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets landed on page that is not a product page. 2026-01-28 00:25:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-acu-rite-200s-dro-x-y-and-z-axis-powerfeeds-690607 landed on page that is not a product page. 2026-01-28 00:25:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/birdcontrol-bird-xbirdproofliquid-640239>: HTTP status code is not handled or not allowed 2026-01-28 00:25:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 00:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-x-70mm-4-dram-amber-vial-w-18-400-green-thermoset-f217-ptfe-lined-cap-144pk>: HTTP status code is not handled or not allowed 2026-01-28 00:25:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts landed on page that is not a product page. 2026-01-28 00:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars>: HTTP status code is not handled or not allowed 2026-01-28 00:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-box-pulley-5784181>: HTTP status code is not handled or not allowed 2026-01-28 00:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35234 pages (at 86 pages/min), scraped 15861 items (at 54 items/min) 2026-01-28 00:25:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts landed on page that is not a product page. 2026-01-28 00:25:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-20w-x-42l-1-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 00:26:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/halo-heat-trace-shower-and-eye-face-wash-top-supply-indicator-lights-s19-304gatl>: HTTP status code is not handled or not allowed 2026-01-28 00:26:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/pocket_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-message-stamp-file-copy-pre-inked-re-inkable-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps>: HTTP status code is not handled or not allowed 2026-01-28 00:26:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts landed on page that is not a product page. 2026-01-28 00:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-tube-6l-1-thick-3-5-8>: HTTP status code is not handled or not allowed 2026-01-28 00:26:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-hardboard-clipboard-1-1-4-capacity-holds-8-1-2w-x-14h-brown>: HTTP status code is not handled or not allowed 2026-01-28 00:26:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/pocket_folders landed on page that is not a product page. 2026-01-28 00:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-4w-x-10l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 00:26:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs landed on page that is not a product page. 2026-01-28 00:26:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs landed on page that is not a product page. 2026-01-28 00:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-9w-x-30l-3-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 00:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-bushel-yellow-vinyl-basket-truck-bulk-truck>: HTTP status code is not handled or not allowed 2026-01-28 00:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-wheels-must-be-chocked-before-7x10-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 00:26:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-3w-x-16l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 00:26:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/address_shipping_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-paper-20lb-812-x-11-green-500-sheetsream>: HTTP status code is not handled or not allowed 2026-01-28 00:26:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-32w-x-40l-4-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 00:26:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes landed on page that is not a product page. 2026-01-28 00:26:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/address_shipping_labels landed on page that is not a product page. 2026-01-28 00:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-48w-x-60l-3-mil-clear-50pack>: HTTP status code is not handled or not allowed 2026-01-28 00:26:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes landed on page that is not a product page. 2026-01-28 00:26:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 00:26:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper landed on page that is not a product page. 2026-01-28 00:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ton-capacity-counterstay-internal-extractors-21-3-thru-21-8>: HTTP status code is not handled or not allowed 2026-01-28 00:26:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls landed on page that is not a product page. 2026-01-28 00:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-6w-x-14l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 00:26:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-cos18-123>: HTTP status code is not handled or not allowed 2026-01-28 00:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35320 pages (at 86 pages/min), scraped 15920 items (at 59 items/min) 2026-01-28 00:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/timers-42-2012-mar10-6290>: HTTP status code is not handled or not allowed 2026-01-28 00:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-60363-mini-brute-1500psi--1-8gpm-hot-water-electric-pressure-washer-draine-electric-motor>: HTTP status code is not handled or not allowed 2026-01-28 00:27:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 00:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-1103-a-rebuild-kit-toilet-exposed-boxed-2-4-gpf>: HTTP status code is not handled or not allowed 2026-01-28 00:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-six-tier-12x15x12-6-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-ahj12-52>: HTTP status code is not handled or not allowed 2026-01-28 00:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-595-062-vl-enclosure-wall-mount-computer-workstation>: HTTP status code is not handled or not allowed 2026-01-28 00:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermopiles-51-1357-amra11102>: HTTP status code is not handled or not allowed 2026-01-28 00:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-24w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 00:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-16w-x-14d-x-24h-1-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 00:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24in-w-steel-safety-angle-rolling-ladder-perforated-tread-safety-yellow-kdec110246-y>: HTTP status code is not handled or not allowed 2026-01-28 00:27:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_regulators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-19-inch-adjustable-height-steel-work-platform-9inh-to-14inh-mcos48199>: HTTP status code is not handled or not allowed 2026-01-28 00:27:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_jaws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-4w-x-10l-6-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 00:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al2accw-latch-kit-key-lock-ccw-1-point-steelzinc>: HTTP status code is not handled or not allowed 2026-01-28 00:27:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_regulators landed on page that is not a product page. 2026-01-28 00:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip-slider-grip-reclosable-poly-bags-9w-x-12l-27-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 00:27:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-station-shadow-board-combo-kit-red-white-72-x-36-acp-composite>: HTTP status code is not handled or not allowed 2026-01-28 00:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-inch-ready-set-staple-belt-lacing-galvanized-rs125j36>: HTTP status code is not handled or not allowed 2026-01-28 00:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories>: HTTP status code is not handled or not allowed 2026-01-28 00:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-step-24in-w-30in-d-top-step-steel-rolling-ladder-grip-strut-tread-36in-handrail-kdsr115242-d3>: HTTP status code is not handled or not allowed 2026-01-28 00:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35414 pages (at 94 pages/min), scraped 15994 items (at 74 items/min) 2026-01-28 00:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-six-tier-12x15x12-6-door-assembled-1>: HTTP status code is not handled or not allowed 2026-01-28 00:27:59 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 00:28:00 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:16 2026-01-28 00:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-20-tubingconduit-cutter-58-2-18-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck80-322-contactor-3-pole-120v>: HTTP status code is not handled or not allowed 2026-01-28 00:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-switch-wire-3092012>: HTTP status code is not handled or not allowed 2026-01-28 00:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-1820361>: HTTP status code is not handled or not allowed 2026-01-28 00:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indicating-needle-vbs2012-9700>: HTTP status code is not handled or not allowed 2026-01-28 00:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms70-b1018-70-shade-cloth-shade-tarp-10-x-18>: HTTP status code is not handled or not allowed 2026-01-28 00:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-ghb-1340-4208>: HTTP status code is not handled or not allowed 2026-01-28 00:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-add-on-w-steel-decking-96-w-x-24-d-x-144-h>: HTTP status code is not handled or not allowed 2026-01-28 00:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-12w-x-8d-x-30h-4-mil-clear-200pack>: HTTP status code is not handled or not allowed 2026-01-28 00:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-x-74-chrome-wire-shelving-with-20-24-d-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2g-readers-eyewear-2-0-clear-lens-with-black-strap-temples>: HTTP status code is not handled or not allowed 2026-01-28 00:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-flow-rack-add-on-1>: HTTP status code is not handled or not allowed 2026-01-28 00:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-aah-48rbmag1-g-storage-cabinet-assembled-48x24x72-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:28:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-foam-strips-1-x-3-625-mil-white-324roll>: HTTP status code is not handled or not allowed 2026-01-28 00:28:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/water already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:28:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/power_strips_outlet_taps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewiston-equine-post-only-w-support-bracket-horsehead-finial-decorative-fluted-base-bronze>: HTTP status code is not handled or not allowed 2026-01-28 00:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-50-l-hdpe-brown>: HTTP status code is not handled or not allowed 2026-01-28 00:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35508 pages (at 94 pages/min), scraped 16071 items (at 77 items/min) 2026-01-28 00:28:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens landed on page that is not a product page. 2026-01-28 00:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/power_strips_outlet_taps>: HTTP status code is not handled or not allowed 2026-01-28 00:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-roller-chain-12b-1-3-4-pitch-offset-link>: HTTP status code is not handled or not allowed 2026-01-28 00:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-inch-premium-white-ball-bungie-package-of-50>: HTTP status code is not handled or not allowed 2026-01-28 00:28:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/water landed on page that is not a product page. 2026-01-28 00:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/computer-cabinet-side-car-black-1>: HTTP status code is not handled or not allowed 2026-01-28 00:29:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-disc-769f-05925-t29-4-1-2-x-7-8-in-120-yf-weight-10-per-case>: HTTP status code is not handled or not allowed 2026-01-28 00:29:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/paper_clips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-ref-4--1230-5232481>: HTTP status code is not handled or not allowed 2026-01-28 00:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-foot-x-20-foot-heavy-duty-white-tarp>: HTTP status code is not handled or not allowed 2026-01-28 00:29:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/guest_reception_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:29:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/paper_clips landed on page that is not a product page. 2026-01-28 00:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-72-commercial-flat-bench-1>: HTTP status code is not handled or not allowed 2026-01-28 00:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-double-roller-chain-100-2r-1-1-4-pitch-50ft-reel>: HTTP status code is not handled or not allowed 2026-01-28 00:29:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 00:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-4w-x-7l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 00:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-assembly-container-vented-wall-48-wx40-dx50-h-2200-lbs-cap-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:29:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/guest_reception_chairs landed on page that is not a product page. 2026-01-28 00:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-pin-jtm-4vs-ha-056>: HTTP status code is not handled or not allowed 2026-01-28 00:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-4123-lw-fits-uline-model-h-4123>: HTTP status code is not handled or not allowed 2026-01-28 00:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40132-master-adapter-for-spot-blaster-steel>: HTTP status code is not handled or not allowed 2026-01-28 00:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30410su-f24t5841ho-24w-fluorescent-t5-mini-bipin-bulb-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 00:29:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-steel-rolling-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 00:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40372-nozzle-kit-ceramic-steel-rubber>: HTTP status code is not handled or not allowed 2026-01-28 00:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 00:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pedal-20-5x30x10-641244-641264-floor-scrubbers>: HTTP status code is not handled or not allowed 2026-01-28 00:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35607 pages (at 99 pages/min), scraped 16146 items (at 75 items/min) 2026-01-28 00:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scissor-tong-hvy-duty>: HTTP status code is not handled or not allowed 2026-01-28 00:30:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sandblasting_tumblers/blast_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/method-build-tape-kit>: HTTP status code is not handled or not allowed 2026-01-28 00:30:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8210z-xs-orange-type-r-class-2-economy-mesh-vest>: HTTP status code is not handled or not allowed 2026-01-28 00:30:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sandblasting_tumblers/blast_cabinets landed on page that is not a product page. 2026-01-28 00:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-workbench-plastic-square-edge-72-x-36-with-lower-shelf-kit>: HTTP status code is not handled or not allowed 2026-01-28 00:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-foot-pedal-valve>: HTTP status code is not handled or not allowed 2026-01-28 00:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swing-nozzle-12-1-8in-length-5-11-16in-height>: HTTP status code is not handled or not allowed 2026-01-28 00:30:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_hardware landed on page that is not a product page. 2026-01-28 00:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atc36r248-telephone-cabinet-wood-panel-3600x2400x800-steelwood>: HTTP status code is not handled or not allowed 2026-01-28 00:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-quilt>: HTTP status code is not handled or not allowed 2026-01-28 00:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ase24x24x8nk-pull-box-screw-cover-2400x2400x800-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 00:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-36-4-drawer-with-plastic-top-workbench>: HTTP status code is not handled or not allowed 2026-01-28 00:30:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/125-lf-3-2-12-hex-bushing-npt-male-female>: HTTP status code is not handled or not allowed 2026-01-28 00:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-304-cast-welding-spud-1-12-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 00:30:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 00:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1212chfl-continuous-hinge-wquick-turn-fast-latch-type-4-1200x1200x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 00:30:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-electric-turnstile-right-free-exit-black>: HTTP status code is not handled or not allowed 2026-01-28 00:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-5108max-die-grinder-040-hp>: HTTP status code is not handled or not allowed 2026-01-28 00:30:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes landed on page that is not a product page. 2026-01-28 00:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-dolly-44-gal-white>: HTTP status code is not handled or not allowed 2026-01-28 00:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35701 pages (at 94 pages/min), scraped 16220 items (at 74 items/min) 2026-01-28 00:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-filter-air-vent-grille-vent-cover-20-x-20>: HTTP status code is not handled or not allowed 2026-01-28 00:30:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/ductwork/duct_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:30:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-production-workbench-maple-butcher-block-square-edge-drawe-upright-shelf-tan>: HTTP status code is not handled or not allowed 2026-01-28 00:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-caressoft-vinyl-medical-stool-beige>: HTTP status code is not handled or not allowed 2026-01-28 00:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/ductwork/duct_boots>: HTTP status code is not handled or not allowed 2026-01-28 00:31:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 00:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-regulator-5-to-60-psi-14-npt-pol-inlet-spud-and-nut>: HTTP status code is not handled or not allowed 2026-01-28 00:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-4x4x12-jpm-13-5fk-b05>: HTTP status code is not handled or not allowed 2026-01-28 00:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x36-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides>: HTTP status code is not handled or not allowed 2026-01-28 00:31:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-36w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 00:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-triple-slim-recycling-station-for-organics-26-gallon-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 00:31:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-box-locker-11-1-2-x-18-x-44-three-silver-door-with-combination-lock>: HTTP status code is not handled or not allowed 2026-01-28 00:31:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 00:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-add-on-unit-5-tier-72w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 00:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-72w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 00:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-cogged-bx-v-belt-bx64>: HTTP status code is not handled or not allowed 2026-01-28 00:31:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/spray_paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/majestic-greenhouse-20w-x-96l-w-roll-up-sides>: HTTP status code is not handled or not allowed 2026-01-28 00:31:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090250035-elite-two-stage-vertical-air-compressor-75hp-80-gallon>: HTTP status code is not handled or not allowed 2026-01-28 00:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090253389-iron-series-two-stage-horizontal-duplex-air-compressor-2-x-75hp-120-gallon>: HTTP status code is not handled or not allowed 2026-01-28 00:31:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/painting_supplies/spray_paint_primer>: HTTP status code is not handled or not allowed 2026-01-28 00:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:31:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x10-heavy-duty-commercial-canopy-12-5oz-green>: HTTP status code is not handled or not allowed 2026-01-28 00:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-model-201planer-6012089>: HTTP status code is not handled or not allowed 2026-01-28 00:31:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-1-8-diameter-7x19-stainless-steel-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 00:31:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:31:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 00:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-lined-poly-mailers-14-14w-x-20l-2-mil-white-50pack>: HTTP status code is not handled or not allowed 2026-01-28 00:31:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35792 pages (at 91 pages/min), scraped 16282 items (at 62 items/min) 2026-01-28 00:31:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 00:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-5-16-diameter-7x19-galvanized-aircraft-cable-2>: HTTP status code is not handled or not allowed 2026-01-28 00:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-2-w-x-1-4-thick-yellow>: HTTP status code is not handled or not allowed 2026-01-28 00:32:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 00:32:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-12-x-48-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 00:32:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-x-13-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 00:32:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 00:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-6-l-x-6-w-x-1-16-thick-blue-detectable-60a>: HTTP status code is not handled or not allowed 2026-01-28 00:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-metal-wheel-10x3-1-roller>: HTTP status code is not handled or not allowed 2026-01-28 00:32:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 00:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-duralast-wheel-7x2-1-roller>: HTTP status code is not handled or not allowed 2026-01-28 00:32:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:32:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 00:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-12-x-12-10-8-6-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 00:32:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-66mm-x-13-x-1t-mdl201plnr-6012183>: HTTP status code is not handled or not allowed 2026-01-28 00:32:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:32:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 00:32:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x-22-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 00:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-fan-assembly-parfanj250f0-for-jetstream-250>: HTTP status code is not handled or not allowed 2026-01-28 00:32:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs landed on page that is not a product page. 2026-01-28 00:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-subject-to-static-damage-print-3l-x-2w-redblack-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 00:32:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 00:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switch-rev-1ph-6289115>: HTTP status code is not handled or not allowed 2026-01-28 00:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-x-18-x-18-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 00:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700420blu-pinwheel-pegboard-display-16w-x-60h-bl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 00:32:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-ft-guard-rail-wg9>: HTTP status code is not handled or not allowed 2026-01-28 00:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-dia-round-removable-paper-labels-blue-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 00:32:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35882 pages (at 90 pages/min), scraped 16347 items (at 65 items/min) 2026-01-28 00:32:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/610199blk-flat-revolving-display-base-05h-x-9dia-bk-10pack>: HTTP status code is not handled or not allowed 2026-01-28 00:32:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_strips landed on page that is not a product page. 2026-01-28 00:32:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/casters_wheels/tires already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-corner-wire-shelving-24-w-x-18-d-796554>: HTTP status code is not handled or not allowed 2026-01-28 00:33:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_angle_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 00:33:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 00:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shurtape-hp200-2inx110-yard-clear-carton-sealing-tape>: HTTP status code is not handled or not allowed 2026-01-28 00:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_angle_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:33:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/casters_wheels/tires landed on page that is not a product page. 2026-01-28 00:33:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/office_furniture/desks_workstations/workstations/salon_workstations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/124in-w-x-44in-d-reception-station-with-electric-raceway-cherry-counter-blue-panel>: HTTP status code is not handled or not allowed 2026-01-28 00:33:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories/hitch_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-single-fork-forkli-hook-attachment-4000-lb-cap-swivel-hook>: HTTP status code is not handled or not allowed 2026-01-28 00:33:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/office_furniture/desks_workstations/workstations/salon_workstations>: HTTP status code is not handled or not allowed 2026-01-28 00:33:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tube-bags-6w-x-3-12d-x-45l-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-28 00:33:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/oil_fluid_management/motorcycle_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cb13232-42-key-adjustable-key-lock-box-1612w-x-1334d-x-1618h-black-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 00:33:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoline-storage-building-20w-x-12h-x-30l-green-freestanding>: HTTP status code is not handled or not allowed 2026-01-28 00:33:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leveling-foot-threaded-3150-lbs-capacity-50mm-base-dia-41-50-m12-125-d0-sk>: HTTP status code is not handled or not allowed 2026-01-28 00:33:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/oil_fluid_management already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:33:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories landed on page that is not a product page. 2026-01-28 00:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circle-mailing-labels-1-dia-clear-roll-of-5000>: HTTP status code is not handled or not allowed 2026-01-28 00:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-15mm-deep>: HTTP status code is not handled or not allowed 2026-01-28 00:33:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/oil_fluid_management landed on page that is not a product page. 2026-01-28 00:33:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoline-storage-building-20w-x-12h-x-25l-green-pony-wall>: HTTP status code is not handled or not allowed 2026-01-28 00:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-13-16-deep>: HTTP status code is not handled or not allowed 2026-01-28 00:33:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats landed on page that is not a product page. 2026-01-28 00:33:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 35970 pages (at 88 pages/min), scraped 16409 items (at 62 items/min) 2026-01-28 00:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-tilt-truck-30x48-solid-wood-moldon-rubber-wheels-2200>: HTTP status code is not handled or not allowed 2026-01-28 00:34:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/rugs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msmk050vp-danger-sign-no-smoking-or-open-flame-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 00:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-post-86in-h-leveler-installed-pack-of-four>: HTTP status code is not handled or not allowed 2026-01-28 00:34:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/array-conference-table-with-power-data-grommet-96l-x-48w-x-29h-ash-graywhite>: HTTP status code is not handled or not allowed 2026-01-28 00:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15x30-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 00:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_sheets>: HTTP status code is not handled or not allowed 2026-01-28 00:34:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/decor_linens landed on page that is not a product page. 2026-01-28 00:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveworks-powderfree-industrial-grade-latex-gloves-small-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 00:34:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powderfree-textured-exam-grade-nitrile-gloves-indigo-small-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 00:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-degree-45-degree-adjustable-cross-3>: HTTP status code is not handled or not allowed 2026-01-28 00:34:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fractional-stud-remover-socket-set-1-2-drive-4-piece>: HTTP status code is not handled or not allowed 2026-01-28 00:34:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/credenza-shell-66-x-24-artisan-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:34:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorilla-sleeve-high-abrasion-3-8-dia-500-black>: HTTP status code is not handled or not allowed 2026-01-28 00:34:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock landed on page that is not a product page. 2026-01-28 00:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-4-drive-1-1-2-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 00:34:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collar-30366176>: HTTP status code is not handled or not allowed 2026-01-28 00:34:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mop-bucket-wringer-combo-26-qt-red>: HTTP status code is not handled or not allowed 2026-01-28 00:34:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches landed on page that is not a product page. 2026-01-28 00:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trowel-patch-1-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 00:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-48-l-x-16-w-x-3-32-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 00:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ij-655-10-6-jointer-with-straight-knife-cutter-1hp-1ph-110220v>: HTTP status code is not handled or not allowed 2026-01-28 00:34:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 00:34:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:34:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-l-shaped-desk-with-single-full-pedestal-drawer-unit-66w-x-30d-x-29h-noble-oak>: HTTP status code is not handled or not allowed 2026-01-28 00:34:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/led_traffic_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36058 pages (at 88 pages/min), scraped 16472 items (at 63 items/min) 2026-01-28 00:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-led-clt93-42wt8-840-8-b-8-t8-led-24w-5400-lumens-5000k-ballast-bypass-type-b-d>: HTTP status code is not handled or not allowed 2026-01-28 00:34:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durawrap-1050-ballistic-nylon-wrap-w-velcro-closure-250-dia-150-black>: HTTP status code is not handled or not allowed 2026-01-28 00:34:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:35:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/led_traffic_signs>: HTTP status code is not handled or not allowed 2026-01-28 00:35:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-3-panel-corner-room-divider-with-partial-window-48-x-61-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mppa801va-notice-sign-safety-glasses-required-in-this-area-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 00:35:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iced-tea-coffee-dispensers-5-gal-22h>: HTTP status code is not handled or not allowed 2026-01-28 00:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-grinding-wheel-sxc606gw6-60-grit-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasonic-clam-shell-sealer-220v>: HTTP status code is not handled or not allowed 2026-01-28 00:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-mat-vm5280cl>: HTTP status code is not handled or not allowed 2026-01-28 00:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-with-partial-window-48-x-72-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:35:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-912-t-replacement-stay-open-ball-valve>: HTTP status code is not handled or not allowed 2026-01-28 00:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-3-w-x-3-32-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 00:35:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12v-plug-extension-cable-16-awg-12l-cord>: HTTP status code is not handled or not allowed 2026-01-28 00:35:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-glass-dry-erase-calendar-board-48-x-36>: HTTP status code is not handled or not allowed 2026-01-28 00:35:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights landed on page that is not a product page. 2026-01-28 00:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-36-w-x-12-d>: HTTP status code is not handled or not allowed 2026-01-28 00:35:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-24-x-72-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bt-1012-all-purpose-tarp-10-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/145-165-percent-alcohol-proof---ethyl-alcohol-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 00:35:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock landed on page that is not a product page. 2026-01-28 00:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-48-l-x-5-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 00:35:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryogenic-storage-label-sheets-95mm-dots-for-05-15ml-tubes-white-3840-labels>: HTTP status code is not handled or not allowed 2026-01-28 00:35:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000-2499-wired-inventory-tag-2-part-carbon-style>: HTTP status code is not handled or not allowed 2026-01-28 00:35:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches/corded_cordless_drills/corded_drills_drivers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36147 pages (at 89 pages/min), scraped 16533 items (at 61 items/min) 2026-01-28 00:35:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-gallon-used-fluid-drain-3508>: HTTP status code is not handled or not allowed 2026-01-28 00:35:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-cu-yd-gray-medium-duty-self-dumping-hopper-986764>: HTTP status code is not handled or not allowed 2026-01-28 00:36:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 00:36:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches/corded_cordless_drills/corded_drills_drivers landed on page that is not a product page. 2026-01-28 00:36:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-container-mesh-sides-solid-base-23-3-4-x15-3-4-x8-1-4-red-662120rd>: HTTP status code is not handled or not allowed 2026-01-28 00:36:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 00:36:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:36:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/stationary_automotive_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloud-foam-roll-24w-x-72l-x-12-thick-white-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 00:36:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-light-blue-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-28 00:36:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/stationary_automotive_workbenches landed on page that is not a product page. 2026-01-28 00:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-14427gz-42w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 00:36:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories landed on page that is not a product page. 2026-01-28 00:36:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 00:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-48-x-36-adj-height-workbench-w-drawer-black-plastic-laminate-square-top>: HTTP status code is not handled or not allowed 2026-01-28 00:36:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kenmore-biodegradable-vacuum-bag-50015-upright>: HTTP status code is not handled or not allowed 2026-01-28 00:36:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-1-1-4w-14l-endless-poly-roundsling-yellow>: HTTP status code is not handled or not allowed 2026-01-28 00:36:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-72-x-36-adj-height-workbench-w-drawer-riser-bk-plastic-laminate-safety-top>: HTTP status code is not handled or not allowed 2026-01-28 00:36:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/graphite/graphite_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:36:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 00:36:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hair-dryer-bag-white-with-navy-embroidery>: HTTP status code is not handled or not allowed 2026-01-28 00:36:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/graphite/graphite_sheets landed on page that is not a product page. 2026-01-28 00:36:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-ceiling-mounting-bracket-for-plasma-tv-36in-55in>: HTTP status code is not handled or not allowed 2026-01-28 00:36:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 00:36:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:36:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-channel-strip-120v-t3-5-34l-300w>: HTTP status code is not handled or not allowed 2026-01-28 00:36:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:36:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 00:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-84f-fuel-rating-orifice-tank-75-to-175f>: HTTP status code is not handled or not allowed 2026-01-28 00:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-5-4-mil-reclosable-poly-bags-w-hang-hole>: HTTP status code is not handled or not allowed 2026-01-28 00:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36230 pages (at 83 pages/min), scraped 16583 items (at 50 items/min) 2026-01-28 00:36:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 00:36:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 00:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-aluminum-underbody-box-w-t-handle-18x18x48>: HTTP status code is not handled or not allowed 2026-01-28 00:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-aluminum-underbody-box-w-double-barn-door-18x18x60>: HTTP status code is not handled or not allowed 2026-01-28 00:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-36-l-x-1-1-2-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 00:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n56h4fx450s-jafx4-4-ply-fire-hose-4-x-50-ft-250-psi-yellow>: HTTP status code is not handled or not allowed 2026-01-28 00:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-post-safety-barrier-75ft-yellow-belt>: HTTP status code is not handled or not allowed 2026-01-28 00:37:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-2-with-brakes-poly-green-24-w-x-48-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 00:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-horizon-glass-half-glass-doors-26w-hrs1-1hg>: HTTP status code is not handled or not allowed 2026-01-28 00:37:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/space-ette-floor-cooler-fd7003t1z>: HTTP status code is not handled or not allowed 2026-01-28 00:37:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:37:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dupli-color-engine-enamel-with-ceramic-ford-semi-gloss-black-12-oz-aer>: HTTP status code is not handled or not allowed 2026-01-28 00:37:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-24w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 00:37:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacked-chair-dolly-for-narrow-chairs>: HTTP status code is not handled or not allowed 2026-01-28 00:37:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/emergency_food_drink already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-45te-2rs-spherical-plain-bearing-metric-high-capacity-sealed>: HTTP status code is not handled or not allowed 2026-01-28 00:37:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:37:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-48-l-x-24-w-x-3-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 00:37:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/emergency_food_drink>: HTTP status code is not handled or not allowed 2026-01-28 00:37:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radiant-ceiling-panels-500w-208v>: HTTP status code is not handled or not allowed 2026-01-28 00:37:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/emergency_food_drink already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/briskheat-silicone-rubber-5-gallon-plastic-pail-heater-120v>: HTTP status code is not handled or not allowed 2026-01-28 00:37:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36317 pages (at 87 pages/min), scraped 16646 items (at 63 items/min) 2026-01-28 00:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jr0191id-half-frame-safety-glasses-io-anti-fog-lens-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 00:37:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/parts_cleaning_treating/parts_cleaners_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/switches_receptacles_sensors/plugs_receptacles/surge_protection_plugs_receptacles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-28 00:38:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_shelves_rods already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/emergency_food_drink landed on page that is not a product page. 2026-01-28 00:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-5-in-1-straight-tubing-connectors-3-1-2-polypropylene-12pk>: HTTP status code is not handled or not allowed 2026-01-28 00:38:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/parts_cleaning_treating/parts_cleaners_accessories landed on page that is not a product page. 2026-01-28 00:38:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/switches_receptacles_sensors/plugs_receptacles/surge_protection_plugs_receptacles landed on page that is not a product page. 2026-01-28 00:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-42w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 00:38:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers landed on page that is not a product page. 2026-01-28 00:38:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_shelves_rods landed on page that is not a product page. 2026-01-28 00:38:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-3000-medium-outdoor-waterproof-case-w-sponge-insert-foam-14-1-4-l-x-11-3-4-w-x6-3-4h-black>: HTTP status code is not handled or not allowed 2026-01-28 00:38:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-12-inch-polish-pad-white>: HTTP status code is not handled or not allowed 2026-01-28 00:38:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/display_cases landed on page that is not a product page. 2026-01-28 00:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/overhead-crane-hoist-pallet-li-er-fixed-forks-2000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 00:38:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9510-60-12-inch-manhole-ventilation-passthru-mvp>: HTTP status code is not handled or not allowed 2026-01-28 00:38:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:38:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:38:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:38:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:38:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/blowers/confined_space_blowers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-72w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 00:38:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes landed on page that is not a product page. 2026-01-28 00:38:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes landed on page that is not a product page. 2026-01-28 00:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:38:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:38:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-1-1-2-w-x-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 00:38:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/blowers/confined_space_blowers landed on page that is not a product page. 2026-01-28 00:38:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-20-w-x-3-8-thick-black-ultra-strength-50a>: HTTP status code is not handled or not allowed 2026-01-28 00:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rubber-mudflaps-1-4-inch-thick-18x24-b2418lsp>: HTTP status code is not handled or not allowed 2026-01-28 00:38:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-valve-lockout-2-inch-to-8-inch-diameter-7251>: HTTP status code is not handled or not allowed 2026-01-28 00:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-21366b-36w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 00:38:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/140111-hfh-actkp-km-klp-kl3-ss-k-ss-8l-x-4w-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 00:38:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/201005a-klp-guard-locking-switch-std-actstd-release-110v-12npt-pe>: HTTP status code is not handled or not allowed 2026-01-28 00:38:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/140016-rope-kit-ss-80m-ss>: HTTP status code is not handled or not allowed 2026-01-28 00:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36399 pages (at 82 pages/min), scraped 16694 items (at 48 items/min) 2026-01-28 00:38:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 00:38:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcd6017blk-dual-arm-monitor-desktop-mount-for-13-to-27-screens-black>: HTTP status code is not handled or not allowed 2026-01-28 00:38:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:38:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 00:39:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-sheet-36-l-x-12-w-x-1-32-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-28 00:39:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-12-l-x-12-w-x-3-32-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-28 00:39:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:39:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups landed on page that is not a product page. 2026-01-28 00:39:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-l-x-13-16-d-w-1-slots-on-2-centers-zinc>: HTTP status code is not handled or not allowed 2026-01-28 00:39:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/VTT-1884-84-W-x-18-D-T-430-18ga-Stainless-Steel-Workbench-w-Galvanized-Legs>: HTTP status code is not handled or not allowed 2026-01-28 00:39:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/straight_extension_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-1-wide-12w-x-15d-x-15h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:39:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders landed on page that is not a product page. 2026-01-28 00:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-2880-l-x-36-w-x-1-16-thick-black-high-strength-80a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 00:39:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:39:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_flasks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/straight_extension_ladders landed on page that is not a product page. 2026-01-28 00:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-2-wide-12w-x-15d-x-24h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collapsible-garment-rack-square-tubing-chrome>: HTTP status code is not handled or not allowed 2026-01-28 00:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_flasks>: HTTP status code is not handled or not allowed 2026-01-28 00:39:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 00:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-3-32-thick-black-high-strength-80a-bulk-rs-h80-17>: HTTP status code is not handled or not allowed 2026-01-28 00:39:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-3-32-thick-black-high-strength-80a-acrylic-adhesive-bulk-rs-h80-49>: HTTP status code is not handled or not allowed 2026-01-28 00:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/built-in-all-refrigerator-undercounter-ada-compliant-23-12-wx23-38-dx31-58-h-42-cuft>: HTTP status code is not handled or not allowed 2026-01-28 00:39:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-1440-l-x-36-w-x-3-16-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 00:39:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 00:39:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 00:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a0039-retaining-ring-internal-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 00:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cm3542-5-3-4-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:39:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 00:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36486 pages (at 87 pages/min), scraped 16752 items (at 58 items/min) 2026-01-28 00:39:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-fan-motor-1-hp-850-rpm-230v-teao>: HTTP status code is not handled or not allowed 2026-01-28 00:39:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30442-vacuum-hose-swivel-adapter-1id-x-1id-thread-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 00:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-28 00:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heatstar-portable-propane-cabinet-heater-18000-btu>: HTTP status code is not handled or not allowed 2026-01-28 00:40:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes landed on page that is not a product page. 2026-01-28 00:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ventilation-motor-1-25-hp-1550-rpm-115v-oao-3-3-frame-extended-studs>: HTTP status code is not handled or not allowed 2026-01-28 00:40:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/oem_replacement_fan_blower_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-step-stand-2-step-ssa-2-kd>: HTTP status code is not handled or not allowed 2026-01-28 00:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3775t-4-3-hp-865-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:40:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/oem_replacement_fan_blower_motors landed on page that is not a product page. 2026-01-28 00:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-dumping-steel-hopper-w-bump-release-5>: HTTP status code is not handled or not allowed 2026-01-28 00:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-and-blower-1-25-hp-1550-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-28 00:40:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/composters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cecp4103t-4-25-hp-1780-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-afm3529-1-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l100-series-manual-chain-hoist-w-overload-protection-1-ton15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 00:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ssc-series-electric-chain-hoist-2-ton-20-ft-lift-115v-230v>: HTTP status code is not handled or not allowed 2026-01-28 00:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-48-inch-w-x-18-inch-d-x-84-inch-h-8-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 00:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-4-shelves-36-w-x-24-d-x-75-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 00:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-indus-stripe-wrk-shirt-shrt-slv-gray-blue-stripe-lng-l-sp24>: HTTP status code is not handled or not allowed 2026-01-28 00:40:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/composters landed on page that is not a product page. 2026-01-28 00:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearview-industrial-cabinet-60-w-x-24-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/farm-duty-single-phase-motor-2-hp-1725-rpm-230v-tefc>: HTTP status code is not handled or not allowed 2026-01-28 00:40:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclaimed-rags-pure-white-25-lbs-99209>: HTTP status code is not handled or not allowed 2026-01-28 00:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-elbow-1-2-tube-1-1-5-l>: HTTP status code is not handled or not allowed 2026-01-28 00:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors>: HTTP status code is not handled or not allowed 2026-01-28 00:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36581 pages (at 95 pages/min), scraped 16823 items (at 71 items/min) 2026-01-28 00:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-solid-clear-stackable-shelf-ledge-side-24-w-x-4-h>: HTTP status code is not handled or not allowed 2026-01-28 00:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neon-shop-ticket-holder-stitched-assorted-colors-9-x-12-25-bx>: HTTP status code is not handled or not allowed 2026-01-28 00:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apex-digital-clinical-scale-with-mechanical-height-rod-600-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 00:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-elbow-5-32-tube-2-3-l>: HTTP status code is not handled or not allowed 2026-01-28 00:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dividable-grid-container-16-1-2-l-x-10-7-8-w-x-5-h-blue-polyprolylene>: HTTP status code is not handled or not allowed 2026-01-28 00:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-jl3510a-1-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1558t-5-1-3-hp-1725-850-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slab-super-crib-6-12-24-15231>: HTTP status code is not handled or not allowed 2026-01-28 00:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-non-reflective-roll-up-vinyl-sign-right-lane-closed-ahead>: HTTP status code is not handled or not allowed 2026-01-28 00:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2551t-75-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-double-basin-solution-stand-w-h-brace-ss-29-wx15-dx33-h-8-5-qt-cap>: HTTP status code is not handled or not allowed 2026-01-28 00:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stitched-shop-ticket-holder-neon-assorted-5-color-9-x-12-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 00:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basket-for-s10h-ep10h>: HTTP status code is not handled or not allowed 2026-01-28 00:41:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l3510t-1-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/el-1-arc-flash-labels-warning-arc-flash-hazard-3-1-2-inches-by-5-inches-black-orange-white>: HTTP status code is not handled or not allowed 2026-01-28 00:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-bed-workstation-48-w-x-96-d-additional-shelf-level>: HTTP status code is not handled or not allowed 2026-01-28 00:41:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 00:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atrix-omega-vaccum-dust-brush-black>: HTTP status code is not handled or not allowed 2026-01-28 00:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em4312t-50-hp-1185-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:41:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23210-blank-valve-tag-25-pkg-brass-1-and-a-half-inches-dia>: HTTP status code is not handled or not allowed 2026-01-28 00:41:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:41:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minicade-barricade-sign-stand-36-h-with-2-panels-no-sheeting-1>: HTTP status code is not handled or not allowed 2026-01-28 00:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36676 pages (at 95 pages/min), scraped 16897 items (at 74 items/min) 2026-01-28 00:41:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels landed on page that is not a product page. 2026-01-28 00:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-mobile-storage-bins-ms4-1564-12-openings-64-l-x-20-w-x-45-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 00:42:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels landed on page that is not a product page. 2026-01-28 00:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats>: HTTP status code is not handled or not allowed 2026-01-28 00:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-circle-tags-2-diamter-orange-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-d-handheld-aerosol-room-deodorant-cinnamon>: HTTP status code is not handled or not allowed 2026-01-28 00:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-look-out-sensor-w-floor-burst-ceiling-hung-1-box-3-sensors-3-lights>: HTTP status code is not handled or not allowed 2026-01-28 00:42:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/scales/portion_price_computing_scales already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-safe-stretch-spout-lid-orange>: HTTP status code is not handled or not allowed 2026-01-28 00:42:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-tall-leather-chair-black-277488>: HTTP status code is not handled or not allowed 2026-01-28 00:42:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:42:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/tea already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repair-kit-for-outswing-1-doors-round-edge>: HTTP status code is not handled or not allowed 2026-01-28 00:42:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/scales/portion_price_computing_scales landed on page that is not a product page. 2026-01-28 00:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pilaster-anchor-pak-3-4-larger>: HTTP status code is not handled or not allowed 2026-01-28 00:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/tea>: HTTP status code is not handled or not allowed 2026-01-28 00:42:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers landed on page that is not a product page. 2026-01-28 00:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400d-coverall-zipper-front-elastic-wrist-ankle-stormflap-white-blue-3x>: HTTP status code is not handled or not allowed 2026-01-28 00:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-jacket-size-men-s-2xl-attached-hood-black>: HTTP status code is not handled or not allowed 2026-01-28 00:42:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers landed on page that is not a product page. 2026-01-28 00:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fellowes-compact-foot-rocker>: HTTP status code is not handled or not allowed 2026-01-28 00:42:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/nails_pins_brads/staples_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-rl1324a-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-label-dispenser-for-up-to-4w-labels>: HTTP status code is not handled or not allowed 2026-01-28 00:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-2-1-2-brass-pipe-nipple-schedule-40>: HTTP status code is not handled or not allowed 2026-01-28 00:42:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/nails_pins_brads/staples_1 landed on page that is not a product page. 2026-01-28 00:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36769 pages (at 93 pages/min), scraped 16968 items (at 71 items/min) 2026-01-28 00:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vl3606t-3-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-rated-gloves-11-l-unlined-smooth-finish-beaded-orange-class-00-size-9>: HTTP status code is not handled or not allowed 2026-01-28 00:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vejmm3313t-10-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:43:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:43:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esp-kit-1-pair-black-esp-glove-1-pair-cow-class-2-size-9>: HTTP status code is not handled or not allowed 2026-01-28 00:43:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4100-o-vertical-panel-channelizer-w-oversized-handle-orange>: HTTP status code is not handled or not allowed 2026-01-28 00:43:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/wood_drill_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:43:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories landed on page that is not a product page. 2026-01-28 00:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels>: HTTP status code is not handled or not allowed 2026-01-28 00:43:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories landed on page that is not a product page. 2026-01-28 00:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-2-power-bit-x-2-3-4-gunmetal-bronze-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-28 00:43:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/sockets_bits/wood_drill_bits landed on page that is not a product page. 2026-01-28 00:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-wwc3060-hd6phfl-mobile-heavy-duty-cabinet-workbench-steel-top>: HTTP status code is not handled or not allowed 2026-01-28 00:43:25 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 00:43:26 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:17 2026-01-28 00:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-notice-electrical-room-no-storage-permitted>: HTTP status code is not handled or not allowed 2026-01-28 00:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-filters-9-34x2-12-softening>: HTTP status code is not handled or not allowed 2026-01-28 00:43:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-aluminum-sign-danger-eye-protection-required-this-area>: HTTP status code is not handled or not allowed 2026-01-28 00:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crile-hemostatic-forceps-straight-5-1-2-l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 00:43:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-all-refrigerator-black-wss-door-towel-bar-handle>: HTTP status code is not handled or not allowed 2026-01-28 00:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-80409-w-2-gang-decora-gfci-device-decora-standard-thermoset-white>: HTTP status code is not handled or not allowed 2026-01-28 00:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-aluminum-cylinders-must-be-secured>: HTTP status code is not handled or not allowed 2026-01-28 00:43:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 00:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-trash-container-garbage-can-lid-32-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 00:43:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 00:43:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36859 pages (at 90 pages/min), scraped 17037 items (at 69 items/min) 2026-01-28 00:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-14w-x-72l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 00:44:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-sign-10x7-vinyl-first-aid-station>: HTTP status code is not handled or not allowed 2026-01-28 00:44:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 00:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-sign-10x7-vinyl-this-is-a-smoke-free-workplace>: HTTP status code is not handled or not allowed 2026-01-28 00:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-2-shelf-24w-x-36l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 00:44:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:44:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 00:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-only-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 00:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloth-belt-79199-3-1-2-15-1-2-120-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-28 00:44:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 00:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloth-mesh-belt-90294-3-4-18-medium-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 00:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-sc-3004-ld-commander-widespread-faucet-4-wrist-blade-handles>: HTTP status code is not handled or not allowed 2026-01-28 00:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-12-letter-w>: HTTP status code is not handled or not allowed 2026-01-28 00:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24x1-2-flat-undercut-head-thread-cutting-screws-type-f-1208FPU188>: HTTP status code is not handled or not allowed 2026-01-28 00:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7500-series-450-voc-dtm-alkyd-enamel-safety-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:44:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-blanket-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 00:44:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/specialty_coatings_paint already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:44:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-inch-tow-lawn-sweeper-67-inch-l-x-51-inch-w-x-24-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 00:44:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m2-5x10-metric-thread-rolling-screws-M2-510D7500T>: HTTP status code is not handled or not allowed 2026-01-28 00:44:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards landed on page that is not a product page. 2026-01-28 00:44:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/painting_supplies/specialty_coatings_paint>: HTTP status code is not handled or not allowed 2026-01-28 00:44:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats>: HTTP status code is not handled or not allowed 2026-01-28 00:44:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes landed on page that is not a product page. 2026-01-28 00:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 36946 pages (at 87 pages/min), scraped 17103 items (at 66 items/min) 2026-01-28 00:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultimate-productivity-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:44:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 00:44:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/444-valve-core-removal-and-insertion-tool-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 00:45:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vanity-wastebasket-2953-6-quart-white-261588wh>: HTTP status code is not handled or not allowed 2026-01-28 00:45:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/shoe_covers_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riverdale-queen-tufted-upholstered-platform-bed-dark-gray-pocket-spring-mattress>: HTTP status code is not handled or not allowed 2026-01-28 00:45:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper landed on page that is not a product page. 2026-01-28 00:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-28 00:45:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 00:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riverdale-king-size-tufted-upholstered-platform-bed-in-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:45:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/shoe_covers_guards landed on page that is not a product page. 2026-01-28 00:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grit-anti-slip-tape-white-4-w>: HTTP status code is not handled or not allowed 2026-01-28 00:45:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-diamond-plate-anti-fatigue-mat-9-16-thick-4-x-cut-to-75-blk-yellow>: HTTP status code is not handled or not allowed 2026-01-28 00:45:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_dryers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-led-dock-light-40w-4900-lumens-5000k-on-off-switch-with-25-l-arm>: HTTP status code is not handled or not allowed 2026-01-28 00:45:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 00:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shutter-stamp-with-microban-red-blue-entered-1-5-8-x-1-2>: HTTP status code is not handled or not allowed 2026-01-28 00:45:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/princeton-tec-eos-ii-headlamp>: HTTP status code is not handled or not allowed 2026-01-28 00:45:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/stove_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_dryers landed on page that is not a product page. 2026-01-28 00:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x2-pan-head-machine-screws-1432MPP>: HTTP status code is not handled or not allowed 2026-01-28 00:45:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes landed on page that is not a product page. 2026-01-28 00:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-cord-38-dia-x-10l>: HTTP status code is not handled or not allowed 2026-01-28 00:45:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 00:45:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/stove_heaters landed on page that is not a product page. 2026-01-28 00:45:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-10000-series-lateral-file-36in-wide-3-drawer-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 00:45:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 00:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-25in-deep-vertical-file-cabinet-4-drawer-letter-size-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:45:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-25in-deep-vertical-file-cabinet-2-drawer-legal-size-putty>: HTTP status code is not handled or not allowed 2026-01-28 00:45:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs landed on page that is not a product page. 2026-01-28 00:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs>: HTTP status code is not handled or not allowed 2026-01-28 00:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37032 pages (at 86 pages/min), scraped 17161 items (at 58 items/min) 2026-01-28 00:45:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs landed on page that is not a product page. 2026-01-28 00:45:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 00:45:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens>: HTTP status code is not handled or not allowed 2026-01-28 00:46:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/wrenches/combination_wrenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:46:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/canes_crutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:46:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-super-duty-black-trash-bags-30-33-gallon-2-5-mil-100-bags-case>: HTTP status code is not handled or not allowed 2026-01-28 00:46:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs landed on page that is not a product page. 2026-01-28 00:46:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 00:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-fire-alarm-1>: HTTP status code is not handled or not allowed 2026-01-28 00:46:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/wrenches/combination_wrenches landed on page that is not a product page. 2026-01-28 00:46:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/canes_crutches landed on page that is not a product page. 2026-01-28 00:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-fire-extinguisher-right-arrow>: HTTP status code is not handled or not allowed 2026-01-28 00:46:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 00:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84-120-economy-h-beam-adjustable-length-yellow-126-l-x-40-w-x-36-h-655lbs-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barrel-lifter-yellow-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-cup-pourover-coffee-brewer-2-warmers-vpr-black-w-2-glass-decanters>: HTTP status code is not handled or not allowed 2026-01-28 00:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-x-7-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-28 00:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-emergency-crash-cart-6-drawers-36-3-4-w-x-26-l-x-43-h-white>: HTTP status code is not handled or not allowed 2026-01-28 00:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-l-traffic-barrier-polyethylene-orange>: HTTP status code is not handled or not allowed 2026-01-28 00:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-dia-x-72-l-roll-lifting-beam-yellow-18-l-x-40-w-x-78-h-154lbs-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:46:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/frameless_safety_glasses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s371-ansi-class-3-raincoat-hi-vis-lime-3x-61484>: HTTP status code is not handled or not allowed 2026-01-28 00:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronchoscope-drying-cabinet-wall-mount-key-lock-24-w-x-12-3-4-d-x-48-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 00:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-oxidizer-5-1-1>: HTTP status code is not handled or not allowed 2026-01-28 00:46:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/frameless_safety_glasses landed on page that is not a product page. 2026-01-28 00:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-tote-30-5-8-x-18-7-8-x-9-1-8-cardboard-brown-qty-100-plus>: HTTP status code is not handled or not allowed 2026-01-28 00:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-dia-x-14-working-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-28 00:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37125 pages (at 93 pages/min), scraped 17230 items (at 69 items/min) 2026-01-28 00:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw8guuaj-12-id-clearance-adjustable-type-linear-bearing-wresin-retainer-seals-steel>: HTTP status code is not handled or not allowed 2026-01-28 00:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-platform-p1430c-30w-x-14d>: HTTP status code is not handled or not allowed 2026-01-28 00:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/q12126abd-qline-j-box-screw-cover-type-4x-122x120x55mm-abs>: HTTP status code is not handled or not allowed 2026-01-28 00:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as1032250-screw-pkg-250-1032-steelzinc>: HTTP status code is not handled or not allowed 2026-01-28 00:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500mm-drylin-t-hard-anodized-aluminum-rail-size-15>: HTTP status code is not handled or not allowed 2026-01-28 00:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strobe-sounder-18-30vdc-red-lp7-18-30r>: HTTP status code is not handled or not allowed 2026-01-28 00:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-plastic-2-tray-black-shelf-maintenance-utility-cart-44-x-25-1-2-8-pneumatic>: HTTP status code is not handled or not allowed 2026-01-28 00:47:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-automatic-dual-miter-band-saw-ds-500sa>: HTTP status code is not handled or not allowed 2026-01-28 00:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-short-height-36-3-4-w-x-22-l-x-37-1-4-h-hammertone-green>: HTTP status code is not handled or not allowed 2026-01-28 00:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyjohn-gap-compliant-portable-restroom>: HTTP status code is not handled or not allowed 2026-01-28 00:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns>: HTTP status code is not handled or not allowed 2026-01-28 00:47:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_enclosures already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octagon-sign-base-30lbs>: HTTP status code is not handled or not allowed 2026-01-28 00:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161304-construction-style-positioning-harness-pass-through-s>: HTTP status code is not handled or not allowed 2026-01-28 00:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_enclosures>: HTTP status code is not handled or not allowed 2026-01-28 00:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-occupancy-sign-out-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-tool-500-1>: HTTP status code is not handled or not allowed 2026-01-28 00:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-up-dial-portable-lock-box-set-your-own-combination-5424d>: HTTP status code is not handled or not allowed 2026-01-28 00:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-braille-sign-men-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 00:47:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:47:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/water_filtration/water_treatment_chemicals_testing already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:47:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ns-antibacterial-splinting-material-24-x-36-x-1-8-macro-perforated>: HTTP status code is not handled or not allowed 2026-01-28 00:47:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-acting-pneumatic-actuator-1336-in-lbs-80psi>: HTTP status code is not handled or not allowed 2026-01-28 00:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37218 pages (at 93 pages/min), scraped 17303 items (at 73 items/min) 2026-01-28 00:47:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/water_filtration already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports>: HTTP status code is not handled or not allowed 2026-01-28 00:47:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/grills/grills_smokers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports landed on page that is not a product page. 2026-01-28 00:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-miranda-high-back-dining-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 00:48:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 00:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/water_filtration>: HTTP status code is not handled or not allowed 2026-01-28 00:48:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-part-ez-flo-kit-spray-foam-2pez01>: HTTP status code is not handled or not allowed 2026-01-28 00:48:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs landed on page that is not a product page. 2026-01-28 00:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-267-dn4-non-drip-quick-coupling-2-4-5-l>: HTTP status code is not handled or not allowed 2026-01-28 00:48:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-2-pc-ss-npt-ball-valve-w-da-pneumatic>: HTTP status code is not handled or not allowed 2026-01-28 00:48:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/grills/grills_smokers landed on page that is not a product page. 2026-01-28 00:48:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-black-no-a1105blk>: HTTP status code is not handled or not allowed 2026-01-28 00:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-gripper-front-lab-coat-light-blue-polycotton-xl>: HTTP status code is not handled or not allowed 2026-01-28 00:48:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-310-compressed-air-hose-kit-314-24-25-l>: HTTP status code is not handled or not allowed 2026-01-28 00:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-tape-3-w-x-108-l-5-mil-solid-blue-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 00:48:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-tear-drop-pallet-rack-starter-120-w-x-42-d-x-192-h>: HTTP status code is not handled or not allowed 2026-01-28 00:48:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-industrial-short-sleeve-work-shirt-navy-polycotton-regular-l>: HTTP status code is not handled or not allowed 2026-01-28 00:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-specialized-cuffed-lab-coat-winside-pocket-white-polycombed-cotton-2xl>: HTTP status code is not handled or not allowed 2026-01-28 00:48:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 00:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-long-sleeve-work-shirt-fluorescent-orange-tall-l>: HTTP status code is not handled or not allowed 2026-01-28 00:48:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-for-6hbw30-8hbw30-8hbe30-8hbe40-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 00:48:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lube-fitting-for-mpw060e-a897-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 00:48:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 00:48:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 00:48:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock landed on page that is not a product page. 2026-01-28 00:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-staples-1-4-6mm-5000-pack-20-case>: HTTP status code is not handled or not allowed 2026-01-28 00:48:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37305 pages (at 87 pages/min), scraped 17360 items (at 57 items/min) 2026-01-28 00:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x75-steel-shelving-with-10-24-d-hopper-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 00:48:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:48:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-konnect-153-desk-organizer-power-base-with-phone-stand-black-6-case>: HTTP status code is not handled or not allowed 2026-01-28 00:49:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x75-steel-shelving-with-24-giant-stacking-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:49:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/dock_bumpers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers landed on page that is not a product page. 2026-01-28 00:49:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/general_purpose_glue already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/dock_bumpers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-rubber-strip-no-adhesive-40a-316-thick-x-14-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 00:49:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 00:49:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:49:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-18-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 00:49:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/supplied_air_respirator_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/general_purpose_glue landed on page that is not a product page. 2026-01-28 00:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/dock_bumpers>: HTTP status code is not handled or not allowed 2026-01-28 00:49:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/dock_bumpers landed on page that is not a product page. 2026-01-28 00:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-tote-red-t146-18l-x-10-1-2w-x-2-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 00:49:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/respiratory_protection/supplied_air_respirator_systems landed on page that is not a product page. 2026-01-28 00:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-motor-trolley-14-10-539>: HTTP status code is not handled or not allowed 2026-01-28 00:49:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kl-lever-hoists-6600-lb-capacity-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 00:49:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-28 00:49:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:49:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-28 00:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x74-chrome-shelving-with-12-magnum-giant-hopper-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 00:49:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-plastic-safety-edge-mobile-power-apron-production-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:49:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:49:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-116-thick-x-36-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 00:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 00:49:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37385 pages (at 80 pages/min), scraped 17414 items (at 54 items/min) 2026-01-28 00:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors>: HTTP status code is not handled or not allowed 2026-01-28 00:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6000cd-stainless-steel-dental-steam-cleaner-4-5l-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:50:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-8300-8400-8500-pallet-trucks-ra-632-069-a>: HTTP status code is not handled or not allowed 2026-01-28 00:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-11-step-perforated-cantilever-ladder-28-overhang>: HTTP status code is not handled or not allowed 2026-01-28 00:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcl-1500ia>: HTTP status code is not handled or not allowed 2026-01-28 00:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-frock-wtop-2-lower-outside-pockets-white-polycotton-twill-s>: HTTP status code is not handled or not allowed 2026-01-28 00:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-bracket-for-vostermans-50-in-circulator-fans-cmfbracket72d>: HTTP status code is not handled or not allowed 2026-01-28 00:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bariatric-standard-leg-chair-light-oak-blue-vinyl-3>: HTTP status code is not handled or not allowed 2026-01-28 00:50:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-hazmax-ez-fit-green-yellow-steel-toe-mid-sole-pvc-size-12>: HTTP status code is not handled or not allowed 2026-01-28 00:50:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock landed on page that is not a product page. 2026-01-28 00:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wo-pockets-light-blue-polyestercombed-cotton-2xl>: HTTP status code is not handled or not allowed 2026-01-28 00:50:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:50:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-wheel-kit-for-manual-pallet-jack-gwk-alt50-ck-fits-big-joe-model-alt50>: HTTP status code is not handled or not allowed 2026-01-28 00:50:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:50:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 00:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freezing-box-2-cardboard-81-place-9x9-format-fits-10ml-and-20ml-cryoclear-vials-white>: HTTP status code is not handled or not allowed 2026-01-28 00:50:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:50:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear landed on page that is not a product page. 2026-01-28 00:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:50:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:50:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-hat-accessories-6-point-ratchet-suspension-only>: HTTP status code is not handled or not allowed 2026-01-28 00:50:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 00:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear>: HTTP status code is not handled or not allowed 2026-01-28 00:50:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear landed on page that is not a product page. 2026-01-28 00:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 00:50:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_shears_nibblers_cutters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-4-14-tpi-sawzall-blades-5-48-00-5181>: HTTP status code is not handled or not allowed 2026-01-28 00:50:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-scraper-commercial-entrance-mat-38-thick-3-x-5-black>: HTTP status code is not handled or not allowed 2026-01-28 00:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37476 pages (at 91 pages/min), scraped 17482 items (at 68 items/min) 2026-01-28 00:50:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/power_shears_nibblers_cutters landed on page that is not a product page. 2026-01-28 00:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m8-x-1-25-x-120mm-steel-zinc-clear-class-8-8-din-931-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 00:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fine-rib-corrugated-rubber-floor-mat-1-8-thick-4-x-6-black>: HTTP status code is not handled or not allowed 2026-01-28 00:51:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/flooring/rubber_flooring already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m16-x-2-0-x-170mm-steel-zinc-yellow-class-10-9-din-931-pkg-of-10-aar16170>: HTTP status code is not handled or not allowed 2026-01-28 00:51:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/flooring/rubber_flooring already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elkay-lk4420bf1ldb-tri-level-outdoor-pedestal-tubular-w-pet-fountain-lower-water-refilling-station>: HTTP status code is not handled or not allowed 2026-01-28 00:51:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 00:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-removable-push-button-and-rotary-switch-cover>: HTTP status code is not handled or not allowed 2026-01-28 00:51:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/flooring/rubber_flooring landed on page that is not a product page. 2026-01-28 00:51:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-safety-padlock-dielectric-zenex-1-12w-x-1-34h-red>: HTTP status code is not handled or not allowed 2026-01-28 00:51:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/flooring/rubber_flooring landed on page that is not a product page. 2026-01-28 00:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-safety-padlock-zenex-1-12w-x-1-34h-teal>: HTTP status code is not handled or not allowed 2026-01-28 00:51:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/plumbing_power_tools/pipe_location_inspection_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-sloped-shelf-portable-bin-cart-putty>: HTTP status code is not handled or not allowed 2026-01-28 00:51:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 00:51:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/picnic_tables/metal_picnic_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-drawer-counter-high-24-w-cabinet-beige-2>: HTTP status code is not handled or not allowed 2026-01-28 00:51:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/plumbing_power_tools/pipe_location_inspection_tools landed on page that is not a product page. 2026-01-28 00:51:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-counter-high-36-w-cabinet-beige-3>: HTTP status code is not handled or not allowed 2026-01-28 00:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/picnic_tables/metal_picnic_tables>: HTTP status code is not handled or not allowed 2026-01-28 00:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e17-plastic-face-shield-carrier-w-attachments-for-omega-ii-americana-liberty-capsblack>: HTTP status code is not handled or not allowed 2026-01-28 00:51:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 00:51:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/gauge_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:51:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/gauge_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-counter-high-60-w-cabinet-everest-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 00:51:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-24-w-cabinet-avalanche-blue-4>: HTTP status code is not handled or not allowed 2026-01-28 00:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/gauge_accessories>: HTTP status code is not handled or not allowed 2026-01-28 00:51:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/gauge_accessories landed on page that is not a product page. 2026-01-28 00:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-drawer-counter-high-48-w-cabinet-red-1>: HTTP status code is not handled or not allowed 2026-01-28 00:51:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/laboratory_tables landed on page that is not a product page. 2026-01-28 00:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60in-red-plus-ii-quarter-in-hose-with-sealright-22660>: HTTP status code is not handled or not allowed 2026-01-28 00:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37566 pages (at 90 pages/min), scraped 17547 items (at 65 items/min) 2026-01-28 00:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-aquamax-plastic-locker-single-tier-1-wide-12w-x-18d-x-72h-taupe-body-doors>: HTTP status code is not handled or not allowed 2026-01-28 00:51:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-tabs-repositionable-tabs-2-x-1-1-2-neon-green-orange-pink-48-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:52:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-newall-dp700-3x-k-dro-x-y-powerfeeds-air-power-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/training-table-60-x-24-walnut>: HTTP status code is not handled or not allowed 2026-01-28 00:52:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=etm-949-mill-3-axis-acu-rite-203-knee-dro-x-axis-jet-powerfeed-usa-pwrd-draw-bar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes>: HTTP status code is not handled or not allowed 2026-01-28 00:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-newall-dp700-3x-k-dro-x-y-powerfeeds-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 00:52:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-2-axis-acu-rite-203-dro-and-x-y-axis-jet-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-stainless-steel-outdoor-serving-cart>: HTTP status code is not handled or not allowed 2026-01-28 00:52:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=etm-949-mill-3-axis-acu-rite-203-knee-dro-x-axis-jet-powerfeed-usa-pwrd-draw-bar landed on page that is not a product page. 2026-01-28 00:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-x-stainless-steel-bird-spikes-50ft-l>: HTTP status code is not handled or not allowed 2026-01-28 00:52:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-3-axis-acu-rite-203-quill-dro-and-x-y-axis-jet-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:52:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-2-axis-acu-rite-203-dro-and-x-y-axis-jet-powerfeeds landed on page that is not a product page. 2026-01-28 00:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-glamour-bubble-mailer-7-x-6-3-4>: HTTP status code is not handled or not allowed 2026-01-28 00:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1846-sb-5-1-2-x-1-4-double-cut-cylindrical-bur-w-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 00:52:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-acu-rite-303-quill-dro-x-y-z-axis-jet-pwrfds-usa-pwrd-drw-br already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:52:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-3-axis-acu-rite-203-quill-dro-and-x-y-axis-jet-powerfeeds landed on page that is not a product page. 2026-01-28 00:52:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-3-axis-newall-dp700-knee-dro already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camrack-base-rack-full-size-4-inch-inside-stack-height-beige-nsf>: HTTP status code is not handled or not allowed 2026-01-28 00:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-stock-picking-ladder-perforated-tread-spl-7-14np>: HTTP status code is not handled or not allowed 2026-01-28 00:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-3-axis-newall-dp700-knee-dro>: HTTP status code is not handled or not allowed 2026-01-28 00:52:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-acu-rite-303-quill-dro-x-y-z-axis-jet-pwrfds-usa-pwrd-drw-br landed on page that is not a product page. 2026-01-28 00:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camdolly-milk-crate-dark-brown-load-capacity-250-lbs>: HTTP status code is not handled or not allowed 2026-01-28 00:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-easy-fold-mailer-14-1-4-x-11-1-4-x-2>: HTTP status code is not handled or not allowed 2026-01-28 00:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-wide-mouth-with-handle-square-polypropylene-4l>: HTTP status code is not handled or not allowed 2026-01-28 00:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tmu1nnc-exposed-10-gpf-urinal-nonhold-mfv-chrome>: HTTP status code is not handled or not allowed 2026-01-28 00:52:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/job_site_security_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-silver-base-anti-microbial-binder-side-open-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 00:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37651 pages (at 85 pages/min), scraped 17610 items (at 63 items/min) 2026-01-28 00:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fantech-4-centrifugal-duct-fan-metal-housing-170>: HTTP status code is not handled or not allowed 2026-01-28 00:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-60-mat-ultimat-light-blue-um-2460lb>: HTTP status code is not handled or not allowed 2026-01-28 00:52:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/job_site_security_trucks landed on page that is not a product page. 2026-01-28 00:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preprinted-dividers-220911-side-open-16-tab-set>: HTTP status code is not handled or not allowed 2026-01-28 00:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-protective-gauge-boot-2-12>: HTTP status code is not handled or not allowed 2026-01-28 00:53:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/esd_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forged-steel-forks-1-5-thick-42-l>: HTTP status code is not handled or not allowed 2026-01-28 00:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-storage-box-w-hinged-lid-and-removable-tray-100-place-for-up-to-200-slides-abs-pink-6pk>: HTTP status code is not handled or not allowed 2026-01-28 00:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/esd_mats>: HTTP status code is not handled or not allowed 2026-01-28 00:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frame-dust-collection-hook-up>: HTTP status code is not handled or not allowed 2026-01-28 00:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-176-fittings-1dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 00:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461830-digital-stroboscope-fpmrpm-100-to-10000>: HTTP status code is not handled or not allowed 2026-01-28 00:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-weld-screen-5-5-x-20-clear-pvc>: HTTP status code is not handled or not allowed 2026-01-28 00:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ep-730-48-desk-mount-poly-tubing-dispenser-48>: HTTP status code is not handled or not allowed 2026-01-28 00:53:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:53:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/extra_heavy_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-n-rack-tube-rack-for-25mm-tubes-40-place-polypropylene-yellow>: HTTP status code is not handled or not allowed 2026-01-28 00:53:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/air_sanders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-channel-beam-96-w-x-36-d-x-84-h-3-level-add-on-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-28 00:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters>: HTTP status code is not handled or not allowed 2026-01-28 00:53:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/extra_heavy_boltless_shelves landed on page that is not a product page. 2026-01-28 00:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/air_tools_accessories/air_sanders>: HTTP status code is not handled or not allowed 2026-01-28 00:53:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/salt_spreaders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-r-11-insulation-b8000>: HTTP status code is not handled or not allowed 2026-01-28 00:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-polypropylene-printed-graduations-250ml-16-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37745 pages (at 94 pages/min), scraped 17685 items (at 75 items/min) 2026-01-28 00:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/salt_spreaders>: HTTP status code is not handled or not allowed 2026-01-28 00:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-48-x-42-x-48-1-mil-150-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sore-throat-and-cough-lozenges-mixed-berry-16-pack-24-packs-carton>: HTTP status code is not handled or not allowed 2026-01-28 00:54:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=3-bank-15a-onboard-battery-charger already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs15hx28-metric-1-pitch-28mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 00:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packard-c-frame-nutone-replacement-motor-120-volts-3000-rpm-3>: HTTP status code is not handled or not allowed 2026-01-28 00:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-mattress-5-inch-thick-full-size-fits-13-series-full-size-cribs>: HTTP status code is not handled or not allowed 2026-01-28 00:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-with-rfid-for-captrack-ct1-and-ct2-models-half-size-13mm-36-place-magenta>: HTTP status code is not handled or not allowed 2026-01-28 00:54:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=3-bank-15a-onboard-battery-charger landed on page that is not a product page. 2026-01-28 00:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rejected-4-4-red-white>: HTTP status code is not handled or not allowed 2026-01-28 00:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs12hx112-1-pitch-1-12-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 00:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cart-for-signs-shadow-boards-up-to-72-h-x-48-w-anodized-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 00:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bomber-ii-jacket-black-with-fluorescent-yellow-green-tape-m>: HTTP status code is not handled or not allowed 2026-01-28 00:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs14hx1-1-pitch-1-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 00:54:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs33hx112-12-pitch-1-12-finished-bore-33-teeth>: HTTP status code is not handled or not allowed 2026-01-28 00:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-2-4>: HTTP status code is not handled or not allowed 2026-01-28 00:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-safety-cabinet-with-roof-30-gallon-self-close-doors>: HTTP status code is not handled or not allowed 2026-01-28 00:54:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders landed on page that is not a product page. 2026-01-28 00:54:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/envelopes_mailers/bubble_mailers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-shield-customer-service-panel-breath-guard-polycarbonate-35-w-x-14-d-x-42-h>: HTTP status code is not handled or not allowed 2026-01-28 00:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37839 pages (at 94 pages/min), scraped 17760 items (at 75 items/min) 2026-01-28 00:54:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs34x114-34-pitch-1-14-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-28 00:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-night-glow-sherpa-line-heavy-weight-sierra-jacket-md>: HTTP status code is not handled or not allowed 2026-01-28 00:55:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/envelopes_mailers/bubble_mailers landed on page that is not a product page. 2026-01-28 00:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-e-two-tone-rain-pants-black-4-5xl>: HTTP status code is not handled or not allowed 2026-01-28 00:55:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats landed on page that is not a product page. 2026-01-28 00:55:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/dispensers_organizers/condiment_holders_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:55:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/pallet_carousels_positioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs18hx25-metric-1-pitch-25mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 00:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-piece-phillips-slottedtorx-mini-dual-material-screwdriver-set>: HTTP status code is not handled or not allowed 2026-01-28 00:55:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/dispensers_organizers/condiment_holders_dispensers landed on page that is not a product page. 2026-01-28 00:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-mobile-cabinet-24-wx21-dx35-1-4-h-beige-1>: HTTP status code is not handled or not allowed 2026-01-28 00:55:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-1924-1-2-hp-1-phase-1075-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-6001-1-4-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:55:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/pallet_carousels_positioners landed on page that is not a product page. 2026-01-28 00:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-collapsible-hamper-steel-yellow-vinyl-bag>: HTTP status code is not handled or not allowed 2026-01-28 00:55:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t14b3p9-1-4-hp-1-phase-1140-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:55:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t12c3jcr-1-2-hp-1-phase-1140-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:55:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-5456-1-8-hp-1-phase-825-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-1924-1-2-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:55:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-6178-1-hp-1-phase-1725-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-25-4-drawer-letter-fire-and-water-resistant-file-cabinet-black-ltr4w25b>: HTTP status code is not handled or not allowed 2026-01-28 00:55:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t32c2j14-1-1-2-hp-1-phase-1725-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:55:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-t14b3p9-1-4-hp-1-phase-1140-rpm landed on page that is not a product page. 2026-01-28 00:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-t12c3jcr-1-2-hp-1-phase-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:55:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-5456-1-8-hp-1-phase-825-rpm landed on page that is not a product page. 2026-01-28 00:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-bacterial-woven-cloth-rags-white-4-lbs-99820>: HTTP status code is not handled or not allowed 2026-01-28 00:55:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-t32c2j14-1-1-2-hp-1-phase-1725-rpm landed on page that is not a product page. 2026-01-28 00:55:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-6178-1-hp-1-phase-1725-rpm landed on page that is not a product page. 2026-01-28 00:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-lab-chair-backless-black>: HTTP status code is not handled or not allowed 2026-01-28 00:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twx1-led-wall-pack-photocell-alo-5000k-120-277v-dark-bronze>: HTTP status code is not handled or not allowed 2026-01-28 00:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-loop-bungee-cord-with-nylon-end-black>: HTTP status code is not handled or not allowed 2026-01-28 00:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn87-7-5-1-h-213-5tc-cast-iron-helical-bevel-speed-reducer-213-5tc-input-flange-7-5-1-ft-mt>: HTTP status code is not handled or not allowed 2026-01-28 00:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 37929 pages (at 90 pages/min), scraped 17827 items (at 67 items/min) 2026-01-28 00:55:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-agh10fl2-1-1-8-hp-1-phase-3450-1725-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-agl10fl1nb-1-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u15e2dc-15-hp-3-phase-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horn-24vdc-resonating-52-024-1>: HTTP status code is not handled or not allowed 2026-01-28 00:56:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-60-w-x-24-d-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:56:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:56:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-xs14ca3p-1-4-hp-1-phase-1140-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-x5p2b-5-hp-3-phase-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:56:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-yc1p2b-1-hp-3-phase-1760-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:56:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-agh10fl2-1-1-8-hp-1-phase-3450-1725-rpm landed on page that is not a product page. 2026-01-28 00:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d3p2d-3-hp-3-phase-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:56:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 00:56:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-c200p2c-200-hp-3-phase-1785-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:56:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 00:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-xs14ca3p-1-4-hp-1-phase-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 00:56:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-yc1p2b-1-hp-3-phase-1760-rpm landed on page that is not a product page. 2026-01-28 00:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs15i-a138-tas-230-3-60-base-mount-138-psi>: HTTP status code is not handled or not allowed 2026-01-28 00:56:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-c200p2c-200-hp-3-phase-1785-rpm landed on page that is not a product page. 2026-01-28 00:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252932-premium-clear-curved-sign-holder-11-x-8-5>: HTTP status code is not handled or not allowed 2026-01-28 00:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan47-50-1-h-143tc-cast-iron-helical-bevel-speed-reducer-143tc-input-flange-50-1>: HTTP status code is not handled or not allowed 2026-01-28 00:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-strut-aluminum-walk-ramp-8-l-x-28-w>: HTTP status code is not handled or not allowed 2026-01-28 00:56:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deck-mounted-sensor-faucet-chrome>: HTTP status code is not handled or not allowed 2026-01-28 00:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-single-tier-1-wide-12-x-18-x-72-deep-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:56:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels landed on page that is not a product page. 2026-01-28 00:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meal-delivery-cart-low-profile-2-doors-55-1-8x38x43-1-4-slate-blue>: HTTP status code is not handled or not allowed 2026-01-28 00:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frameless-stainless-steel-mirror-18-wx30-h>: HTTP status code is not handled or not allowed 2026-01-28 00:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45degree-plug-in-elbow-1-4-tube-x-1-4-stud>: HTTP status code is not handled or not allowed 2026-01-28 00:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-in-y-conn-8mm-stud-x-6mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 00:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38025 pages (at 96 pages/min), scraped 17899 items (at 72 items/min) 2026-01-28 00:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l190-1-inch-bore-diameter-1-4-x-1-8-keyway>: HTTP status code is not handled or not allowed 2026-01-28 00:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-flow-control-1-4-male-x-1-4-tube>: HTTP status code is not handled or not allowed 2026-01-28 00:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drill-angle-gage>: HTTP status code is not handled or not allowed 2026-01-28 00:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-industrial-dispenser-60-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 00:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-premium-manual-cutter-48-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 00:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tree-shock-bird-deterrent-for-trees-100l>: HTTP status code is not handled or not allowed 2026-01-28 00:57:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/protective_packaging/roll_dispensers_cutters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-58-dia-x-85l>: HTTP status code is not handled or not allowed 2026-01-28 00:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquasense-single-hole-sensor-faucet-with-0-5-gpm-aerator-6-vdc-plug-in-converter-mixing-valve>: HTTP status code is not handled or not allowed 2026-01-28 00:57:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/door_frames already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cape-coral-silver-lines-slab-door-wood-32w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 00:57:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/protective_packaging/roll_dispensers_cutters landed on page that is not a product page. 2026-01-28 00:57:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-10l-x-3w-black>: HTTP status code is not handled or not allowed 2026-01-28 00:57:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-10l-x-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 00:57:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/door_frames landed on page that is not a product page. 2026-01-28 00:57:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/protective_packaging/dunnage_air_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 00:57:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-hivis-two-tone-insulated-jacket-large-black-lime>: HTTP status code is not handled or not allowed 2026-01-28 00:57:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 00:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-knife-polypropylene-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 00:57:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/protective_packaging/dunnage_air_bags landed on page that is not a product page. 2026-01-28 00:57:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-coffee-creamer-salted-caramel-chocolate-0-38-oz-mini-cups-pack-of-200>: HTTP status code is not handled or not allowed 2026-01-28 00:57:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 00:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors>: HTTP status code is not handled or not allowed 2026-01-28 00:57:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 00:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-hot-drink-cups-20-oz-white-pack-of-600>: HTTP status code is not handled or not allowed 2026-01-28 00:57:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/testing_kits_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-machinery-gray-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 00:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38107 pages (at 82 pages/min), scraped 17958 items (at 59 items/min) 2026-01-28 00:57:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls landed on page that is not a product page. 2026-01-28 00:57:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 00:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iscope-trinocular-microscope-w-plan-polarization-plpoli-51020s50x>: HTTP status code is not handled or not allowed 2026-01-28 00:58:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/testing_kits_supplies landed on page that is not a product page. 2026-01-28 00:58:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:58:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_pads_pad_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/730-uv-adhesive-sealant-5-ml-capacity-transparent>: HTTP status code is not handled or not allowed 2026-01-28 00:58:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/process_cooling_equipment/chillers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/canes-for-the-visually-impaired-aluminum-white>: HTTP status code is not handled or not allowed 2026-01-28 00:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_pads_pad_holders>: HTTP status code is not handled or not allowed 2026-01-28 00:58:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/process_cooling_equipment/chillers landed on page that is not a product page. 2026-01-28 00:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-tread-patient-slippers-child-red-48-pack>: HTTP status code is not handled or not allowed 2026-01-28 00:58:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems landed on page that is not a product page. 2026-01-28 00:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-30-40-mmhg-knee-high-medium-size-b-regular-tan>: HTTP status code is not handled or not allowed 2026-01-28 00:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-panel-moving-truck-steel-2000-lb-cap-63-5-16l-x-24w-x-45h>: HTTP status code is not handled or not allowed 2026-01-28 00:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-pantry-deck-mount-pre-rinse-faucet>: HTTP status code is not handled or not allowed 2026-01-28 00:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/studio-dumbbell-rack-27w-x-31d-x-50h-black>: HTTP status code is not handled or not allowed 2026-01-28 00:58:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:58:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-studio-a-corner-computer-desk-47-3-16w-x-47-3-16d-x-29-11-16h-white>: HTTP status code is not handled or not allowed 2026-01-28 00:58:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/lounge_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:58:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-refrigerator-45-cuft-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:58:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches/power_drill_combo_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:58:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:58:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training landed on page that is not a product page. 2026-01-28 00:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training>: HTTP status code is not handled or not allowed 2026-01-28 00:58:37 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 00:58:38 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:18 2026-01-28 00:58:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/lounge_chairs landed on page that is not a product page. 2026-01-28 00:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wardrobe-cabinet-assembled-42w-x-24d-x-72h-wine-red>: HTTP status code is not handled or not allowed 2026-01-28 00:58:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches landed on page that is not a product page. 2026-01-28 00:58:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches/power_drill_combo_kits landed on page that is not a product page. 2026-01-28 00:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-cap-microtube-w-o-ring-sterile-2-ml-capacity-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 00:58:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets landed on page that is not a product page. 2026-01-28 00:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-waterproof-flame-resistant-insulated-bib-pant-2xl3xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 00:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diy-4th-generation-e-star-heat-pump-condenser-18000-btu-227-seer-230v>: HTTP status code is not handled or not allowed 2026-01-28 00:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38195 pages (at 88 pages/min), scraped 18020 items (at 62 items/min) 2026-01-28 00:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8287-hi-vis-winter-jacket--vest-w-detachable-sleeves-large-lime>: HTTP status code is not handled or not allowed 2026-01-28 00:58:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/hats_headwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-5543-handheld-barcode-scanner-mount-holder-small-gray>: HTTP status code is not handled or not allowed 2026-01-28 00:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8379-hi-vis-3-in-1-winter-bomber-jacket-xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 00:59:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/hats_headwear landed on page that is not a product page. 2026-01-28 00:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-aerospace-riveter-6-stroke-1120-bpm-08-bore>: HTTP status code is not handled or not allowed 2026-01-28 00:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-arbor-series-w-4-ft-barrel-105-cfm>: HTTP status code is not handled or not allowed 2026-01-28 00:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-kf-300f>: HTTP status code is not handled or not allowed 2026-01-28 00:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-convex-mirror-plastic-outdoor-48-dia>: HTTP status code is not handled or not allowed 2026-01-28 00:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundtangular-convex-mirror-glass-outdoor-15l-x-24w>: HTTP status code is not handled or not allowed 2026-01-28 00:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cylindrical-bur-double-cut-2l-x-18-shank-dia-18-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 00:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cylindrical-bur-single-cut-2-34l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 00:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gmrs-frs-two-way-radio-50-channels-46255-4677125-mhz-blacksilver-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 00:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-for-multitherm-touch-2ml-deep-well-microplate-capacity>: HTTP status code is not handled or not allowed 2026-01-28 00:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-nitrile-exam-gloves-powder-free-xl-blue-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 00:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-16w-x-96h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 00:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reelsafe-spring-retractable-hose-reel-300-psi-38-id-x-70l>: HTTP status code is not handled or not allowed 2026-01-28 00:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/container-vent-yellow-24011>: HTTP status code is not handled or not allowed 2026-01-28 00:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-grade-cargo-lifting-net-7000-lb-capacity-10-opening-300l-x-300w-orange>: HTTP status code is not handled or not allowed 2026-01-28 00:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38289 pages (at 94 pages/min), scraped 18096 items (at 76 items/min) 2026-01-28 00:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs36x118-34-pitch-1-18-finished-bore-36-teeth>: HTTP status code is not handled or not allowed 2026-01-28 00:59:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/vital_signs_monitors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 00:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs22x42-metric-1-pitch-42mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-skylar-work-zip-bootie-composite-toe-size-8w-4-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 01:00:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/es6-touch-free-hand-sanitizer-dispenser-1200-ml-white>: HTTP status code is not handled or not allowed 2026-01-28 01:00:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs13hx60-metric-1-12-pitch-60mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:00:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/vital_signs_monitors landed on page that is not a product page. 2026-01-28 01:00:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 01:00:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 01:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 01:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-skylar-sneaker-composite-toe-size-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 01:00:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 01:00:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-microcentrifuge-tubes-with-cap-sterile-1-5-ml-assorted-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:00:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs15hx34-58-pitch-34-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:00:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs18hx42-metric-1-12-pitch-42mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:00:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-legend-600-597cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:00:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs33hx118-38-pitch-1-18-finished-bore-33-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:00:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:00:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:00:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs16hx11516-34-pitch-1516-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:00:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs27hx78-12-pitch-78-finished-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:00:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:00:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 01:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs25hx25-metric-12-pitch-25mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:00:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:00:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs28hx112-12-pitch-1-12-finished-bore-28-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:00:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38376 pages (at 87 pages/min), scraped 18152 items (at 56 items/min) 2026-01-28 01:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs20hx42-metric-58-pitch-42mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs15hx118-34-pitch-1-18-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:01:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-10m-black>: HTTP status code is not handled or not allowed 2026-01-28 01:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-8-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 01:01:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 01:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-lps3c12x-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 01:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-10-5m-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 01:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25bs13hx38-14-pitch-38-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:01:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs15hx58-38-pitch-58-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 01:01:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-draft-shield-22l-x-22w-50240>: HTTP status code is not handled or not allowed 2026-01-28 01:01:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elan-mb-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 01:01:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:01:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers>: HTTP status code is not handled or not allowed 2026-01-28 01:01:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:01:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 01:01:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 01:01:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:01:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ddc-bl-drawer-16w-x-14d-x-11h-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:01:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:01:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-renegade-570cc-atv-replacement-battery-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:01:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 01:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-7-5w-navy>: HTTP status code is not handled or not allowed 2026-01-28 01:01:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pb3672-fa36g-3m3672-72-w-x-36-d-electric-height-adjustable-workstation>: HTTP status code is not handled or not allowed 2026-01-28 01:01:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:01:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 01:01:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38455 pages (at 79 pages/min), scraped 18203 items (at 51 items/min) 2026-01-28 01:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-lead-50cc-motorcycle-replacement-battery-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:01:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-x-1200-1170cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:02:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1551sl-al-door-flush-bolt-1516x414-14offset-silver>: HTTP status code is not handled or not allowed 2026-01-28 01:02:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:02:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:02:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-ranger-570-4-crew-eps-570cc-utv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:02:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/260cc-colored-carton-sealing-tape-2-x-55-yds-clear-pack-of-36>: HTTP status code is not handled or not allowed 2026-01-28 01:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-foot-guards-rubber-strap-wtension-buckle-aluminum-alloy-4-12w-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 01:02:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-25-lb-halotron-1-mercury-2-12-mark-bracket>: HTTP status code is not handled or not allowed 2026-01-28 01:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-time-clock-blue-white-pix-200-030>: HTTP status code is not handled or not allowed 2026-01-28 01:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exide-ep100-12-sealed-lead-acid-replacement-battery-100ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-bp1-2-6-sealed-lead-acid-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 01:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scheduled-maintenance-kit-for-air-cooled-20000-watt-999-cc-engine-generators>: HTTP status code is not handled or not allowed 2026-01-28 01:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vent-cap-slip-mount-15-1>: HTTP status code is not handled or not allowed 2026-01-28 01:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-end-panel-for-locker-18w-x-15d-x-72h-black>: HTTP status code is not handled or not allowed 2026-01-28 01:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm30-501-56c-aluminum-worm-gear-reducer-30mm-501-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 01:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm50-1001-56c-aluminum-worm-gear-reducer-50mm-1001-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 01:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-12-meshed-seal-direct-heat-sealer-foot-operated>: HTTP status code is not handled or not allowed 2026-01-28 01:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-style-metal-shelving-sway-braces-8-shelves-48w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-in-x-24-in-steel-door-louver>: HTTP status code is not handled or not allowed 2026-01-28 01:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38554 pages (at 99 pages/min), scraped 18280 items (at 77 items/min) 2026-01-28 01:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-djw12-33-djw-12-33-12v-35ah-emergency-light>: HTTP status code is not handled or not allowed 2026-01-28 01:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-djw6-10-t2-djw-6-10-t2-6v-12ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 01:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-coupler-lock-keyed-alike-fits-1-78-2-2-516>: HTTP status code is not handled or not allowed 2026-01-28 01:03:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/galvanized_malleable_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:03:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/black_malleable_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryo-vial-sterile-round-base-45ml-capacity-clear-pack-of-250>: HTTP status code is not handled or not allowed 2026-01-28 01:03:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/portable_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-4-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 01:03:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/galvanized_malleable_pipe_fittings landed on page that is not a product page. 2026-01-28 01:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-smp3pmctxpd16cb-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 01:03:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/black_malleable_pipe_fittings landed on page that is not a product page. 2026-01-28 01:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0000000033-ezh2o-drain-cover>: HTTP status code is not handled or not allowed 2026-01-28 01:03:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/portable_electric_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-drive-aquarium-pump-2mdqxsc-115v-770-gph-at-1>: HTTP status code is not handled or not allowed 2026-01-28 01:03:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/portable_air_conditioners landed on page that is not a product page. 2026-01-28 01:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-buret-100ml-capacity-32-78l-clear>: HTTP status code is not handled or not allowed 2026-01-28 01:03:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/conversation_sets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-i-steel-safety-can-with-funnel-1-gallon-4l-self-close-lid-yellow-7110210>: HTTP status code is not handled or not allowed 2026-01-28 01:03:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-wide-mouth-pp-30ml-capacity-clear-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 01:03:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/conversation_sets landed on page that is not a product page. 2026-01-28 01:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuffcare-escort-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-cords-14-inch-epdm-rubber-strap-10-pack-black>: HTTP status code is not handled or not allowed 2026-01-28 01:03:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/portable_electric_heaters landed on page that is not a product page. 2026-01-28 01:03:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables landed on page that is not a product page. 2026-01-28 01:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-impact-vibrator-p-60-cast-iron-body>: HTTP status code is not handled or not allowed 2026-01-28 01:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-motor-capacitor-for-global-industrial-1-2-ton-portable-outdoor-ac>: HTTP status code is not handled or not allowed 2026-01-28 01:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-2-door-wood-locker-12-w-x-15-d-x-72-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 01:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-1a-aluminum-step-ladder-4-ft-dxl201004>: HTTP status code is not handled or not allowed 2026-01-28 01:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38645 pages (at 91 pages/min), scraped 18348 items (at 68 items/min) 2026-01-28 01:03:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-24l-x-24w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:03:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:04:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/murray-40713-lawn-and-garden-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 01:04:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:04:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-24l-x-21w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:04:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders landed on page that is not a product page. 2026-01-28 01:04:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-womens-long-sleeve-shirt-l-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 01:04:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uni-paint-marker-oilbased-fine-red-ink>: HTTP status code is not handled or not allowed 2026-01-28 01:04:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:04:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:04:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/grinders_buffers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-dr70712-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brio-canister-steam-cleaner-kit-15l-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/grinders_buffers>: HTTP status code is not handled or not allowed 2026-01-28 01:04:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 01:04:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperlite-extension-ladder-w-limited-arrest-system-safety-line-24-type-iaa>: HTTP status code is not handled or not allowed 2026-01-28 01:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/project-tray-for-ladder-25-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-person-adjustable-ladder-telescoping-plank-108l-x-15w-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 01:04:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/job_site_work_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sigmas-sp1218-nb-12v-18ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 01:04:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hf-acid-eater-safety-spill-kit-5-gallons-2901-005>: HTTP status code is not handled or not allowed 2026-01-28 01:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/run-post-10-6h>: HTTP status code is not handled or not allowed 2026-01-28 01:04:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/job_site_work_lights landed on page that is not a product page. 2026-01-28 01:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas>: HTTP status code is not handled or not allowed 2026-01-28 01:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38737 pages (at 92 pages/min), scraped 18418 items (at 70 items/min) 2026-01-28 01:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firstpower-lfp1250-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 01:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-lites-39-12-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 01:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-puller-with-2-3-swiveling-jaws-35-ton-cap-4-34-opening-3-78-adj-reach>: HTTP status code is not handled or not allowed 2026-01-28 01:05:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/structural_framing already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-teal-xl>: HTTP status code is not handled or not allowed 2026-01-28 01:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-l26-50-emergency-light-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 01:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/structural_framing>: HTTP status code is not handled or not allowed 2026-01-28 01:05:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/calipers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:05:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-this-vehicle-makes-wide-right-turns-sign-graphic-reflective-sheet-10-x-14>: HTTP status code is not handled or not allowed 2026-01-28 01:05:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mongoose-j3-electric-bicycle-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 01:05:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/measurement_layout_tools/calipers landed on page that is not a product page. 2026-01-28 01:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1>: HTTP status code is not handled or not allowed 2026-01-28 01:05:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp010sd-10-ner-electric-hoist-push-trolley-1-ton-10-lift-2845-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 01:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vexilar-underwater-fish-scout-fs800-fish-finder-battery-7ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 01:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm-en530f-530cc-motorcycle-replacement-battery-2005-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr5-self-retracting-lifeline-twin-leg-hmpe-webbing-aluminium-rebar-hook>: HTTP status code is not handled or not allowed 2026-01-28 01:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/think-green-label-w-recycle-sign-plastic-10-x-14>: HTTP status code is not handled or not allowed 2026-01-28 01:05:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wus-tech-m4a-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38830 pages (at 93 pages/min), scraped 18494 items (at 76 items/min) 2026-01-28 01:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-ventguard-black-painted-galvanized-steel-25-x-25-x-12-rvg2525g>: HTTP status code is not handled or not allowed 2026-01-28 01:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodpro-purofort-multi-grip-safety-boots-lug-outsole-steel-toe-size-9-14-12h-white>: HTTP status code is not handled or not allowed 2026-01-28 01:06:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/anchorage_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigpro-purofort-safety-mid-calf-boots-cleated-outsole-steel-toe-size-5-10h-light-brown>: HTTP status code is not handled or not allowed 2026-01-28 01:06:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 01:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Foam-Cushion-20-x-16-x-4-72003>: HTTP status code is not handled or not allowed 2026-01-28 01:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fall_protection/anchorage_connectors>: HTTP status code is not handled or not allowed 2026-01-28 01:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-14d-x-74h-with-28-ssb443-stackable-shelf-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 01:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-procedure-cart-front-tall-locking-17l-x-15w-x-46h-global-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-short-plastic-bushing-polyethylene-38-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmer-industries-blazer-plus-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-no-thread-connector-3-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmx-iiiia-womens-flame-resistant-premium-coverall-cnb3-navy-45-oz-size-xl-regular>: HTTP status code is not handled or not allowed 2026-01-28 01:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuflex-spartus-recycled-rubber-tile-rpspsr913-square-27l-x-27w-x-38-thickness-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 01:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-no-thread-connector-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-go-go-sc54hd-elite-traveller-plus-wheelchair-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 01:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dwa-dwe4012-4-12-75-amp-paddle-switch-corded-angle-grinder>: HTTP status code is not handled or not allowed 2026-01-28 01:06:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobcat-218es-zero-turn-radius-rider-lawn-and-garden-replacement-battery-18ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 01:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2007-standard-class-3-two-tone-mesh-hook-loop-safety-vest-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-28 01:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1502-multipurpose-class-2-two-tone-mesh-zipper-6-pockets-vest-orange-medium>: HTTP status code is not handled or not allowed 2026-01-28 01:06:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6805-class-e-premium-bibs-2-side-pockets-1-cargo-pocket-lime-sm>: HTTP status code is not handled or not allowed 2026-01-28 01:06:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 38924 pages (at 94 pages/min), scraped 18567 items (at 73 items/min) 2026-01-28 01:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acid-eater-quick-response-spill-kit-15-gallons-1006-015>: HTTP status code is not handled or not allowed 2026-01-28 01:06:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-hutch-with-doors-48-inchw-x-17-inchd-x-36-inchh-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 01:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mid-back-executive-chair-25-inchw-x-23-5-8-inchd-x-44-inchh-black-leather-seat-mesh-back>: HTTP status code is not handled or not allowed 2026-01-28 01:07:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:07:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-trx680fa-fourtrax-rincon-680cc-atv-replacement-battery-2006-2019-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:07:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:07:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-cub-cadet-tractor-ride-on-toys-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 01:07:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts landed on page that is not a product page. 2026-01-28 01:07:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/cable_bolt_cutters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/higdon-hw-pulsator-goose-butt-canada-decoy-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 01:07:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts landed on page that is not a product page. 2026-01-28 01:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf133201r56c-cast-iron-right-angle-worm-gear-reducer-201-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 01:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/cable_bolt_cutters>: HTTP status code is not handled or not allowed 2026-01-28 01:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf175401r56c-cast-iron-right-angle-worm-gear-reducer-401-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 01:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf262501de56c-cast-iron-right-angle-worm-gear-reducer-501-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 01:07:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staples already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-unwinder-for-up-to-6-1-2w-x-12-dia-3-core-rolls>: HTTP status code is not handled or not allowed 2026-01-28 01:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-office-case-11-1-2l-x-9w-x-3-1-4h-smooth-silver>: HTTP status code is not handled or not allowed 2026-01-28 01:07:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staples landed on page that is not a product page. 2026-01-28 01:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab97-2436-5x-36-inch-w-x-24-inch-d-x-97-inch-h-5-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-silicon-bronze-516-18-x-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-screamin-eagle-softail-deuce-fxstdse-1550cc-motorcycle-battery-2003-12v>: HTTP status code is not handled or not allowed 2026-01-28 01:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-off-fume-free-oven-cleaner-lemon-145oz-aerosol-12-case-rac87977ct>: HTTP status code is not handled or not allowed 2026-01-28 01:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39020 pages (at 96 pages/min), scraped 18641 items (at 74 items/min) 2026-01-28 01:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-hcp211-32-pillow-block-bearing-eccentric-locking-collar-bore-50-8-mm>: HTTP status code is not handled or not allowed 2026-01-28 01:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-liberty-s-150cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-sunfire-plus-ec-powerrwd-mobility-scooter-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 01:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nj220myc3-100mm-bore-180mm-od>: HTTP status code is not handled or not allowed 2026-01-28 01:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-manual-close-double-door-22-gallon-capacity-35w-x-22d-x-35h>: HTTP status code is not handled or not allowed 2026-01-28 01:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-sunfireplus-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-nut-16-pack-for-global-industrial-utility-vehicle-615162>: HTTP status code is not handled or not allowed 2026-01-28 01:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-closed-starter-csk73-1236-8-36-inch-w-x-12-inch-d-x-73-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-esd-wire-shelving-unit-starter-60w-x-12d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 01:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelcare-superlight-scooter-mobility-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-adrenaline-600-ho-sdi-594cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss62032rs-deep-groove-ball-bearing-stainless-steel-double-sealed-od-40mm-bore-17mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 01:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52062rs-double-row-angular-contact-ball-bearing-double-sealed-od-62mm-bore-30mm-metric>: HTTP status code is not handled or not allowed 2026-01-28 01:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-30w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 01:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-48w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 01:08:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/forms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-vmax-600-deluxe-593cc-snowmobile-replacement-battery-2000-2001-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 01:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-x-1200-1170cc-snowmobile-replacement-battery-2014-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-skandic-swt-550f-550cc-snowmobile-replacement-battery-2005-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39116 pages (at 96 pages/min), scraped 18720 items (at 79 items/min) 2026-01-28 01:08:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/forms landed on page that is not a product page. 2026-01-28 01:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mk-5007k-7-14-circular-saw>: HTTP status code is not handled or not allowed 2026-01-28 01:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-motor-for-30-evaporative-cooler-model-600543-292221>: HTTP status code is not handled or not allowed 2026-01-28 01:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rxw10-rx-warrior-1000cc-snowmobile-replacement-battery-2004-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-961212720-six-tier-12-x-12-x-12-1-wide-cream>: HTTP status code is not handled or not allowed 2026-01-28 01:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-961212720-six-tier-12-x-12-x-12-1-wide-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 01:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-grand-touring-renegade-tundara-550cc-snowmobile-battery-2012-12v>: HTTP status code is not handled or not allowed 2026-01-28 01:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-summit-x-154-600-600cc-snowmobile-replacement-battery-2009-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-712-2-piece-full-port-316-ball-valve-stainless-steel-1-threaded>: HTTP status code is not handled or not allowed 2026-01-28 01:09:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paint_roller_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-725-2-piece-large-port-ball-valve-carbon-steel-2-threaded>: HTTP status code is not handled or not allowed 2026-01-28 01:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-715-2-piece-large-port-ball-valve-stainless-steel-1-12-threaded>: HTTP status code is not handled or not allowed 2026-01-28 01:09:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paint_roller_covers landed on page that is not a product page. 2026-01-28 01:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/philips-rc400f-respond-center-medical-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 01:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lincoln-electric-company-perkins-3-09-d10-pro-industrial-battery-5ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 01:09:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/drinking_fountains_bottle_fillers_water_coolers/indoor_drinking_fountains_bottle_fillers/indoor_bottle_filling_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-n-carry-jnc-660air-jump-starter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:09:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-311-cast-iron-swing-check-valve-8-flanged>: HTTP status code is not handled or not allowed 2026-01-28 01:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39210 pages (at 94 pages/min), scraped 18798 items (at 78 items/min) 2026-01-28 01:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/af315-disinfectant-cleaner-citrus-floral-scent-32-oz-capacity-bottle-12carton>: HTTP status code is not handled or not allowed 2026-01-28 01:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelon-blue-wire-shelving-unit-add-on-60w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 01:10:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/laboratory_tables landed on page that is not a product page. 2026-01-28 01:10:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/drinking_fountains_bottle_fillers_water_coolers/indoor_drinking_fountains_bottle_fillers/indoor_bottle_filling_stations landed on page that is not a product page. 2026-01-28 01:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-coin-grip-anti-slip-rubber-mat-2mm-x-4-x-13-rolled-rubber-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-santoprene-60a-thermoplastic-sheets-rolls-1-8-thick-x-36-wx-8-l>: HTTP status code is not handled or not allowed 2026-01-28 01:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-13825-25-extension-cord-orange-green>: HTTP status code is not handled or not allowed 2026-01-28 01:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ritar-rt12200-rt-12200-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-mini-coupe-s539-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imc-heartway-nomad-pf-3-wheelchair-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-9500z-starter-kit-with-7015-harness-6-shock-absorbing-lanyard-2-gallon-bucket>: HTTP status code is not handled or not allowed 2026-01-28 01:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-assembly-98398324-100r2at-cpld-3500-psi-12-mnpt-12-hose-id-x-72l>: HTTP status code is not handled or not allowed 2026-01-28 01:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/casters-for-18-deep-medical-gas-cabinets>: HTTP status code is not handled or not allowed 2026-01-28 01:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zipr-mobility-4-traveler-wheelchair-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 01:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-add-on-60w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 01:10:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/anti_static_esd_control_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-starter-30w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 01:10:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/john-deere-wsgatpl-lawn-and-garden-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 01:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-fixed-hub-fan-blade-10-inch-dia-20-pitch-cw-5-16-inch-bore-1-1-8-inch-blade-depth-5-blade>: HTTP status code is not handled or not allowed 2026-01-28 01:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brundage-replacement-bearings-sealed-3-4-inch-shaft-dia>: HTTP status code is not handled or not allowed 2026-01-28 01:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39298 pages (at 88 pages/min), scraped 18867 items (at 69 items/min) 2026-01-28 01:10:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yoke-30-blue-yoke-for-30-fan>: HTTP status code is not handled or not allowed 2026-01-28 01:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-7-1-2-inch-dia-ccw-1800-rpm-1-4-inch-bore-6-11-32-inch-w-aluminium>: HTTP status code is not handled or not allowed 2026-01-28 01:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-fixed-hub-fan-blade-7-inch-dia-27-pitch-cw-5-16-inch-bore-1-1-2-inch-blade-depth-5-blade>: HTTP status code is not handled or not allowed 2026-01-28 01:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-fixed-hub-fan-blade-9-inch-dia-26-pitch-ccw-5-16-inch-bore-1-1-4-inch-blade-depth-5-blade>: HTTP status code is not handled or not allowed 2026-01-28 01:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-smooth-bollard-post-sleeve-6-red-1736r>: HTTP status code is not handled or not allowed 2026-01-28 01:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-3-shelf-vented-plastic-mat-shelving-unit-starter-30w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 01:11:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/anti_static_esd_control_devices landed on page that is not a product page. 2026-01-28 01:11:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 01:11:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pe6v10x2-emergency-light-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 01:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mt-1210-multimeter-digital>: HTTP status code is not handled or not allowed 2026-01-28 01:11:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 01:11:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/screwdrivers/multi_bit_screwdrivers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wide-manual-multi-roll-tape-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 01:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-rotor-kit-w-lid-fixing-clips-and-oring-19400019>: HTTP status code is not handled or not allowed 2026-01-28 01:11:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/screwdrivers/multi_bit_screwdrivers>: HTTP status code is not handled or not allowed 2026-01-28 01:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-vinyl-business-card-file-binder>: HTTP status code is not handled or not allowed 2026-01-28 01:11:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes landed on page that is not a product page. 2026-01-28 01:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-acrylic-pocket-marker-holder>: HTTP status code is not handled or not allowed 2026-01-28 01:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl10000-series-right-hand-pedestal-steel-desk-30-x-66-black-walnut>: HTTP status code is not handled or not allowed 2026-01-28 01:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-3-pocket-legal-size-file-holder-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 01:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ff61bisshv-built-in-undercounter-auto-defrost-all-refrigerator-white-23-58w>: HTTP status code is not handled or not allowed 2026-01-28 01:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a51216g5-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:11:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/vests already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kymco-mxu500i-4x4-irs-500cc-atv-replacement-battery-2012-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-john-deere-ground-force-tractor-ride-on-toys-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 01:11:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-12ind-x-96inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 01:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-80-pc-blue-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-28 01:11:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters>: HTTP status code is not handled or not allowed 2026-01-28 01:11:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/vests landed on page that is not a product page. 2026-01-28 01:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39391 pages (at 93 pages/min), scraped 18932 items (at 65 items/min) 2026-01-28 01:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-s66fdkb-4sided-wleft-open-front-15l-x-15w-flat-roof-dk-bronze>: HTTP status code is not handled or not allowed 2026-01-28 01:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels>: HTTP status code is not handled or not allowed 2026-01-28 01:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mongoose-al1020-bike-electric-bicycle-replacement-battery-14ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 01:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-dog-vintage-classic-1750cc-motorcycle-replacement-battery-1997-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-machine-table-with-lower-shelf-60w-x-30d-x-30h-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-tiger-1050cc-motorcycle-replacement-battery-2012-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-edge-self-retracting-lifeline-galvanized-cable--steel-snap-hook-8l>: HTTP status code is not handled or not allowed 2026-01-28 01:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-baseboard-heater-kp1210-1000w-120v-4ft-white>: HTTP status code is not handled or not allowed 2026-01-28 01:12:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/ribbons_solid_ink already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:12:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-wall-heater-whf2420i-2000w-240v-forced-air-interior-only-white>: HTTP status code is not handled or not allowed 2026-01-28 01:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-flat-sink-1-station-body-only-wall-mount-18l-x-18w-x-5d-sink>: HTTP status code is not handled or not allowed 2026-01-28 01:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-away-portable-safe-10123-s-fblk-2-gun-cap-12-w-x-10-d-x-4-h-black>: HTTP status code is not handled or not allowed 2026-01-28 01:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/ink_toner/ribbons_solid_ink>: HTTP status code is not handled or not allowed 2026-01-28 01:12:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/vertical_hollow_shaft_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:12:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories landed on page that is not a product page. 2026-01-28 01:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-welded-workbench-60-x-30-adj-height-pegboard-panel-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 01:12:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/vertical_hollow_shaft_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/246750000-labmat-liner-sheet-polyethylene-50-roll-white>: HTTP status code is not handled or not allowed 2026-01-28 01:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-0400a-digital-microplate-genie-mixer-120v>: HTTP status code is not handled or not allowed 2026-01-28 01:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/vertical_hollow_shaft_motors>: HTTP status code is not handled or not allowed 2026-01-28 01:12:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/cryogenic_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-5113-class-3-microfiber-birdseye-short-sleeve-t-shrit-w-black-bottom-lime-l-tall>: HTTP status code is not handled or not allowed 2026-01-28 01:12:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/vertical_hollow_shaft_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rad2go-silver-fox-mobility-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:12:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/vertical_hollow_shaft_motors landed on page that is not a product page. 2026-01-28 01:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jacobs-model-34-33-with-locking-colar-key-type-taper-mounted-heavy-duty-chucks-33jt>: HTTP status code is not handled or not allowed 2026-01-28 01:12:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/cryogenic_storage landed on page that is not a product page. 2026-01-28 01:12:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/tool_holders/collets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motofino-mf50qt-2-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:12:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/vertical_hollow_shaft_motors landed on page that is not a product page. 2026-01-28 01:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ct663bsshvada-ada-compliant-freestanding-refrigerator-freezer-51-cu-ft-24-wide>: HTTP status code is not handled or not allowed 2026-01-28 01:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoveround-activalx-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 01:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39480 pages (at 89 pages/min), scraped 18994 items (at 62 items/min) 2026-01-28 01:12:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/tool_holders/collets landed on page that is not a product page. 2026-01-28 01:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-stp-stl-safet-roll-lad-wt-actu-stp-16-serr-stp-wa062414g>: HTTP status code is not handled or not allowed 2026-01-28 01:12:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:13:00 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 01:13:01 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:19 2026-01-28 01:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z1321-34x16-pb-automatic-draining-wall-hydrant-exposed-ecolotrol-anti-siphon-34-x-16>: HTTP status code is not handled or not allowed 2026-01-28 01:13:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/cash_handling_equipment/transaction_drawers_deal_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-oaw-90-deg-curve-galvanized-steel-roller-conveyor-1-3-8-roller-dia-22-bf-15-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 01:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners>: HTTP status code is not handled or not allowed 2026-01-28 01:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-locking-latch-spira-m002nll-for-wall-mount-mailboxes>: HTTP status code is not handled or not allowed 2026-01-28 01:13:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/cash_handling_equipment/transaction_drawers_deal_trays landed on page that is not a product page. 2026-01-28 01:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-42w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-gsx-limited-600-595cc-snowmobile-replacement-battery-2008-2011-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-48w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 01:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-formula-s-electric-368cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 01:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-floor-cleaner-deodorizer-gallon-bottle4-bottlescase-640404>: HTTP status code is not handled or not allowed 2026-01-28 01:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-gtx-600-ho-593cc-snowmobile-replacement-battery-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 01:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-48w-x-30d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 01:13:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/cables_connectors/cable_connectors_adapters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-42w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 01:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a110-v-belt-1-2-x-112>: HTTP status code is not handled or not allowed 2026-01-28 01:13:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/ceiling_fans/high_volume_low_speed_hvls_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/cables_connectors/cable_connectors_adapters>: HTTP status code is not handled or not allowed 2026-01-28 01:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-48w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/fans_blowers/ceiling_fans/high_volume_low_speed_hvls_fans>: HTTP status code is not handled or not allowed 2026-01-28 01:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-30w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtrathrust-us-flag-safety-air-gun-75xt012aaus-12-ext-54-scfm>: HTTP status code is not handled or not allowed 2026-01-28 01:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39574 pages (at 94 pages/min), scraped 19068 items (at 74 items/min) 2026-01-28 01:13:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:13:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:13:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-42w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-vecp2333t-4-3-ph-15-hp-460-v-1765-rpm-tefc-254tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 01:14:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 01:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/case-for-led-scene-light-foam-lined-black>: HTTP status code is not handled or not allowed 2026-01-28 01:14:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 01:14:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 01:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stromboli-cap-style-dome-hard-hat-abs-polycarbonate-shell-4-pt-suspension-rachet-adjustment-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-72w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 01:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-54wx24dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 01:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-48w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em4316t-g-3-ph-75-hp-230-460-v-1800-rpm-tefc-365t-frame>: HTTP status code is not handled or not allowed 2026-01-28 01:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-30w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 01:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3550t-g-3-ph-15-hp-208-230-460-v-3600-rpm-tefc-143t-frame>: HTTP status code is not handled or not allowed 2026-01-28 01:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-48w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-54wx14dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 01:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-72w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shrouded-padlock-no-40dpf>: HTTP status code is not handled or not allowed 2026-01-28 01:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/predator-gloves-impact-1-hi-vis-cutpro-maxgrid-lime-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-28 01:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/encoder-tachometer-mounting-kits-w-o-tach-417708-27-dpg-dpfv-tenv-frames-c280-c400>: HTTP status code is not handled or not allowed 2026-01-28 01:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-acting-hollow-hole-hydraulic-cylinder-12-ton-1-stroke>: HTTP status code is not handled or not allowed 2026-01-28 01:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39668 pages (at 94 pages/min), scraped 19142 items (at 74 items/min) 2026-01-28 01:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-h22-5ptr-seam-slope-awning-5-8-w-x-2d-x-2h-metal>: HTTP status code is not handled or not allowed 2026-01-28 01:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-bottles-cans-recycling-lid-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-blower-kit-417077-145-for-dpfv-frame-rl250>: HTTP status code is not handled or not allowed 2026-01-28 01:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-54w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/windlass-tensioner-premium-steel-34-1-14-strap-width-028-to-035-strap-gauge>: HTTP status code is not handled or not allowed 2026-01-28 01:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-series-174-782329-imprinted-360-stainless-steel-receptacle-with-open-lid-45-gallon>: HTTP status code is not handled or not allowed 2026-01-28 01:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-48w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 01:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-mc400-11875-vhs-alternate-coupling-bore-size-11875-frame-404tp-or-405tp>: HTTP status code is not handled or not allowed 2026-01-28 01:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-board-white-96-x-48>: HTTP status code is not handled or not allowed 2026-01-28 01:15:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/harnesses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tc01-ix14-ix-advanced-trauma-care-hemostatic-matrix>: HTTP status code is not handled or not allowed 2026-01-28 01:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3386-arm-band-idbadge-holder-one-size-lime>: HTTP status code is not handled or not allowed 2026-01-28 01:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fall_protection/harnesses>: HTTP status code is not handled or not allowed 2026-01-28 01:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-message-mat-194-ear-protection-required-3x5-black>: HTTP status code is not handled or not allowed 2026-01-28 01:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-front-cover-4915-for-monterey-gravity-models>: HTTP status code is not handled or not allowed 2026-01-28 01:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-coverall-xl-white>: HTTP status code is not handled or not allowed 2026-01-28 01:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-hood-open-face-s-white>: HTTP status code is not handled or not allowed 2026-01-28 01:15:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/heater_accessories_components/heater_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:15:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/modular_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-element-u1l6fe-25-micron>: HTTP status code is not handled or not allowed 2026-01-28 01:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-series-clamp-for-pipe-sscp038-3-8-inch-id>: HTTP status code is not handled or not allowed 2026-01-28 01:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bott-steel-toolboard-perfo-panel-20x18>: HTTP status code is not handled or not allowed 2026-01-28 01:15:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/headphones already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:15:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/gearboxes_speed_reducers/shaft_mount_reducers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39764 pages (at 96 pages/min), scraped 19219 items (at 77 items/min) 2026-01-28 01:15:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/modular_mats landed on page that is not a product page. 2026-01-28 01:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-dividers-for-compartment-boxes-fits-box-5223000>: HTTP status code is not handled or not allowed 2026-01-28 01:16:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/heater_accessories_components/heater_accessories landed on page that is not a product page. 2026-01-28 01:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-creamer-mini-cups-french-vanilla-non-dairy-038-oz-180-box>: HTTP status code is not handled or not allowed 2026-01-28 01:16:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/gearboxes_speed_reducers/shaft_mount_reducers>: HTTP status code is not handled or not allowed 2026-01-28 01:16:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/directional-control-valve-hv11bgood0-1-spool-4-way-spool-action>: HTTP status code is not handled or not allowed 2026-01-28 01:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hooded-fleece-sweater-14-25-oz-flame-resistant-4xl-navy>: HTTP status code is not handled or not allowed 2026-01-28 01:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 01:16:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 01:16:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/headphones landed on page that is not a product page. 2026-01-28 01:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-28 01:16:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-176031b-shrink-wrap-17w-x-31l-6mil-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:16:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3346300-63h-mobile-post>: HTTP status code is not handled or not allowed 2026-01-28 01:16:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 01:16:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 01:16:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-rotary-base-reference-organizer-40-panel>: HTTP status code is not handled or not allowed 2026-01-28 01:16:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 01:16:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 01:16:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 01:16:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 01:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-accessory-individual-slope-top-18w-x-24d-x-8h-729-parchment>: HTTP status code is not handled or not allowed 2026-01-28 01:16:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands>: HTTP status code is not handled or not allowed 2026-01-28 01:16:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 01:16:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 01:16:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-side-truck-bx-black-alum-driver-side-11-1-cu-ft-cap-390-5-02>: HTTP status code is not handled or not allowed 2026-01-28 01:16:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands landed on page that is not a product page. 2026-01-28 01:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 01:16:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:16:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes landed on page that is not a product page. 2026-01-28 01:16:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands landed on page that is not a product page. 2026-01-28 01:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-30w-x-32l-tan>: HTTP status code is not handled or not allowed 2026-01-28 01:16:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:16:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes landed on page that is not a product page. 2026-01-28 01:16:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-28w-x-30l-green>: HTTP status code is not handled or not allowed 2026-01-28 01:16:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes landed on page that is not a product page. 2026-01-28 01:16:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-36w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 01:16:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39831 pages (at 67 pages/min), scraped 19249 items (at 30 items/min) 2026-01-28 01:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-54x24x86-nexelon-finish-331792N>: HTTP status code is not handled or not allowed 2026-01-28 01:16:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 01:16:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5444300-4wire-shelf-truck>: HTTP status code is not handled or not allowed 2026-01-28 01:17:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/bin_tote_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 01:17:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-regular-slotted-single-wall-corrugated-box-14-x-14-x-10-275-lb-ect-44-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:17:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/bin_tote_carts landed on page that is not a product page. 2026-01-28 01:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-inch-drive-hex-bit-impact-socket-6-mm>: HTTP status code is not handled or not allowed 2026-01-28 01:17:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-inch-drive-impact-socket-7-1-2-inch-6-point-8-1-2-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 01:17:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/thickness_gauge_measuring already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j3016-oh-needle-bearing-drawn-cup-caged-oil-hole-bore-47625mm>: HTTP status code is not handled or not allowed 2026-01-28 01:17:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-48w-x-36l-green>: HTTP status code is not handled or not allowed 2026-01-28 01:17:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/measurement_layout_tools/thickness_gauge_measuring landed on page that is not a product page. 2026-01-28 01:17:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washable-markers-classpack-fine-line-10-assorted-colors-200-box>: HTTP status code is not handled or not allowed 2026-01-28 01:17:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washable-paint-nontoxic-1-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 01:17:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics landed on page that is not a product page. 2026-01-28 01:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 01:17:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pannier-box-set-of-2-pkb-2fg>: HTTP status code is not handled or not allowed 2026-01-28 01:17:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-42-short-navy>: HTTP status code is not handled or not allowed 2026-01-28 01:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-58w-x-31l-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:17:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-11-foot-6-inch-long-x-3-4-inch-wide-14-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 01:17:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-14-foot-6-inch-long-x-1-inch-wide-4-6-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 01:17:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedge-locking-washer-carbon-steel-zinc-flake-coated-m16-5-8-pkg-of-8>: HTTP status code is not handled or not allowed 2026-01-28 01:17:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 01:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-31w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 01:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39910 pages (at 79 pages/min), scraped 19286 items (at 37 items/min) 2026-01-28 01:17:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:17:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-12w-x-18d-x-30h-unassembled-black>: HTTP status code is not handled or not allowed 2026-01-28 01:18:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-44-regular-red>: HTTP status code is not handled or not allowed 2026-01-28 01:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 01:18:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b119k-v-belt-kevlar-5-8-x-122>: HTTP status code is not handled or not allowed 2026-01-28 01:18:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:18:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-weatherstrip-tape-03509-clear-2-inch-x-25-foot>: HTTP status code is not handled or not allowed 2026-01-28 01:18:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 01:18:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:18:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-floor-and-wall-scrapper-49847-4-inch-silver-black>: HTTP status code is not handled or not allowed 2026-01-28 01:18:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-30-inch-w-x-24-inch-d-x-86-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 01:18:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-28 01:18:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-30w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 01:18:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:18:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 01:18:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-remote-start-reset-button-24-60v-3-1-4-2a>: HTTP status code is not handled or not allowed 2026-01-28 01:18:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 01:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1239rd-two-wheeled-walker-with-seat-red>: HTTP status code is not handled or not allowed 2026-01-28 01:18:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer landed on page that is not a product page. 2026-01-28 01:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wmta30-b-for-30-fans-black>: HTTP status code is not handled or not allowed 2026-01-28 01:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-reset-button-24-60v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 01:18:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-fastener-hfef12-stalguardcoated-steel-anticorrosive-12pk>: HTTP status code is not handled or not allowed 2026-01-28 01:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockup-manager-flex-key-01-mgrpj-lf>: HTTP status code is not handled or not allowed 2026-01-28 01:18:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_storage_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 39989 pages (at 79 pages/min), scraped 19336 items (at 50 items/min) 2026-01-28 01:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-remote-start-reset-button-250-500v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 01:18:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-direct-online-start-stop-100-250v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 01:19:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6309-2rs-2-rubber-seals-heavy-duty-45mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-28 01:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment>: HTTP status code is not handled or not allowed 2026-01-28 01:19:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/socket_screws/flat_head_cap_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/011219-socket-cap-screw-5-16-18-x-3-steel-black-oxide-pt-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:19:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers?token=null already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:19:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/nuts/lock_nuts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/489026-carriage-bolt-1-4-20-x-2-1-2-round-head-steel-zinc-grade-a-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:19:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/screws/socket_screws/flat_head_cap_screws landed on page that is not a product page. 2026-01-28 01:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-1ph-remote-start-start-stop-100-250v-35-40a>: HTTP status code is not handled or not allowed 2026-01-28 01:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e22c-extension-spring-312-od-x-0348-wire-dia-x-125-oal-532-lbs-in-mbhd>: HTTP status code is not handled or not allowed 2026-01-28 01:19:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v35c-ss-extension-spring-96-od-x-1205-wire-dia-x-8-oal-836-lbs-in-302-ss>: HTTP status code is not handled or not allowed 2026-01-28 01:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm72h-traffic-sign-caution-drive-slowly-18-x-12-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 01:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-remote-start-reset-button-24-60v-22-28a>: HTTP status code is not handled or not allowed 2026-01-28 01:19:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/nuts/lock_nuts landed on page that is not a product page. 2026-01-28 01:19:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers landed on page that is not a product page. 2026-01-28 01:19:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c575pb-osha-sign-caution-oxygen-10-x-14-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 01:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c359r-osha-sign-caution-low-overhead-clearance-7-x-10-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 01:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-1ph-direct-online-start-stop-100-250v-75-87a>: HTTP status code is not handled or not allowed 2026-01-28 01:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-1ph-remote-start-reset-button-24-60v-48-60a>: HTTP status code is not handled or not allowed 2026-01-28 01:19:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs landed on page that is not a product page. 2026-01-28 01:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-283834-ceramic-2-x-48-36-grit>: HTTP status code is not handled or not allowed 2026-01-28 01:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steam-basic-steam-cleaner-with-handpiece-4-5-bar-steam-pressure-115-v>: HTTP status code is not handled or not allowed 2026-01-28 01:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 40078 pages (at 89 pages/min), scraped 19404 items (at 68 items/min) 2026-01-28 01:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraclipse-60-day-capture-cartridges-insect-inn-ultra-i-ii-12-cs-73836>: HTTP status code is not handled or not allowed 2026-01-28 01:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ipette-led-electronic-motorized-single-channel-pipettor-71500001-0-5-10ul>: HTTP status code is not handled or not allowed 2026-01-28 01:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-sae-deep-impact-socket-set-2641-19-piece-alloy-steel>: HTTP status code is not handled or not allowed 2026-01-28 01:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53-osha-stairway-stair36o-6-53>: HTTP status code is not handled or not allowed 2026-01-28 01:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/019151m-19-inch-series-2000-tool-box-with-2-3-tray>: HTTP status code is not handled or not allowed 2026-01-28 01:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/winding-arbor-wa3162-steel-0032w-slot-1364od>: HTTP status code is not handled or not allowed 2026-01-28 01:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-48-inch-w-x-24-inch-d-x-86-inch-h-2000-lbs-cap-4-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 01:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-18-inch-d-x-74-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 01:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sz-100-small-table-top-ultrasonic-cleaner-0-7-gallons>: HTTP status code is not handled or not allowed 2026-01-28 01:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3200-433-w-x-1-476-l-black-wax-resin-ribbon-1-core>: HTTP status code is not handled or not allowed 2026-01-28 01:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-basket-truck-with-vinyl-liner-10-bushel-black>: HTTP status code is not handled or not allowed 2026-01-28 01:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-white-cross-splints-5-x-30-50-box>: HTTP status code is not handled or not allowed 2026-01-28 01:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-sterile-stretch-gauze-bandage-roll-6w-x-4-18-yards-48-pcs>: HTTP status code is not handled or not allowed 2026-01-28 01:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dressing-retention-sheet-4w-x-11-yards-5-pcs>: HTTP status code is not handled or not allowed 2026-01-28 01:20:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-bit-socket-4770-7-64-1-4-drive-7-64-hex-tip>: HTTP status code is not handled or not allowed 2026-01-28 01:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm176k-traffic-sign-detour-ahead-sign-30-x-30-orange>: HTTP status code is not handled or not allowed 2026-01-28 01:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elongated-folding-bedside-elongated-commode-seat-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 01:20:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/portable_electric_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 40175 pages (at 97 pages/min), scraped 19483 items (at 79 items/min) 2026-01-28 01:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm501k-traffic-sign-advance-turn-arrow-right-15-x-21-white>: HTTP status code is not handled or not allowed 2026-01-28 01:20:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washable-markers-chisel-assorted-colors-192-set>: HTTP status code is not handled or not allowed 2026-01-28 01:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynarest-multi-zone-foam-pressure-mattress-80l-x-36w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 01:21:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/portable_electric_air_compressors landed on page that is not a product page. 2026-01-28 01:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-low-temperature-freezer-115v-abt-120v-2186-21-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 01:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-binocular-stereo-zoom-microscope-7x-45x-magnification-w-double-arm-boom-stand>: HTTP status code is not handled or not allowed 2026-01-28 01:21:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/welding_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clutch-gear-impact-resistant-mechanics-glove-w-suregrip-palm-patches-ansi-a2-m>: HTTP status code is not handled or not allowed 2026-01-28 01:21:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-media-holder-ave73721-1-cd-dvd-capacity-clear-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 01:21:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/shelves_cpu_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/welding_mats landed on page that is not a product page. 2026-01-28 01:21:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/tool_bags_belts_tethers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-10-tablet-stand-ktkts710-black>: HTTP status code is not handled or not allowed 2026-01-28 01:21:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts landed on page that is not a product page. 2026-01-28 01:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-knit-black-dark-grey-4m>: HTTP status code is not handled or not allowed 2026-01-28 01:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75549-depressed-center-grinding-wheel-metal-grinding-6-x-1-4-arbor-7-8>: HTTP status code is not handled or not allowed 2026-01-28 01:21:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/tool_bags_belts_tethers landed on page that is not a product page. 2026-01-28 01:21:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/general_purpose_sanding/cloth_sanding_bands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/shelves_cpu_holders landed on page that is not a product page. 2026-01-28 01:21:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-ratchet-wrench-set-up886km-38-drive-150-rpm-50-ftlb-17-pieces>: HTTP status code is not handled or not allowed 2026-01-28 01:21:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-bariatric-hi-low-steel-mat-platform-table-900-lb-capacity-84l-x-48w-x-20-30h>: HTTP status code is not handled or not allowed 2026-01-28 01:21:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/general_purpose_sanding/cloth_sanding_bands landed on page that is not a product page. 2026-01-28 01:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-lamp-infrared-single-row-suspension-bar-2-bulb-120v-6008-2>: HTTP status code is not handled or not allowed 2026-01-28 01:21:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:21:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:21:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:21:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 01:21:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/pedestrian_barrier_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:21:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 01:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pilot-head-for-vulcan-412063-2>: HTTP status code is not handled or not allowed 2026-01-28 01:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c1300-hot-water-dispenser-w-lever-handle>: HTTP status code is not handled or not allowed 2026-01-28 01:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/pedestrian_barrier_parts_accessories>: HTTP status code is not handled or not allowed 2026-01-28 01:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 40263 pages (at 88 pages/min), scraped 19544 items (at 61 items/min) 2026-01-28 01:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironcat-insulated-slightly-select-cowhide-welding-gloves-blue-large-all-leather>: HTTP status code is not handled or not allowed 2026-01-28 01:21:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 01:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800-series-solid-door-storage-cabinet-48wx24dx78h-midnight-ebony-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 01:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-ring-retractable-plunger-ss-body-ss-nose-0-5-2lbs-pressure-14-20-thread>: HTTP status code is not handled or not allowed 2026-01-28 01:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-springless-sign-stand-for-roll-up-signs-36-inch-and-48-inch-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 01:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathcade-barrier-system-w-hip-sheeting-1-side-72-inch-x-3-inch-x-38-inch-white>: HTTP status code is not handled or not allowed 2026-01-28 01:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transformer-tr100va002-20-100va-120-24v-dual-hub-foot-mount-circuit-breaker>: HTTP status code is not handled or not allowed 2026-01-28 01:22:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sliding-door-roller-assembly-1-1-8-steel-ball-bearing>: HTTP status code is not handled or not allowed 2026-01-28 01:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-10-bushel-ups-fedex-able-vinyl-basket-truck-beige>: HTTP status code is not handled or not allowed 2026-01-28 01:22:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage landed on page that is not a product page. 2026-01-28 01:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-12-bushel-vinyl-bumper-truck-all-swivel-casters-yellow>: HTTP status code is not handled or not allowed 2026-01-28 01:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-utility-sanitation-hook-rack-4032-pvc-coated-five-2-hooks-red>: HTTP status code is not handled or not allowed 2026-01-28 01:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-dishwasher-240v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 01:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poopy-doo-diaper-disposal-bags-400-bags-roll-6-rolls-case-pd-b-6-400>: HTTP status code is not handled or not allowed 2026-01-28 01:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaker-rooftop-gas-heat-electric-cool-unit-3-ton-1-ph>: HTTP status code is not handled or not allowed 2026-01-28 01:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-lithonia-elb-0604-6v-4-5ah-emergency-light-battery>: HTTP status code is not handled or not allowed 2026-01-28 01:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/192802-acrylic-two-sided-nameplate-8-5-x-2-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 01:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56wsl-05-model-56wsl-with-flow-rate-of-05-gpm>: HTTP status code is not handled or not allowed 2026-01-28 01:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-positioning-belt-for-harness-orange-xxl>: HTTP status code is not handled or not allowed 2026-01-28 01:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 40361 pages (at 98 pages/min), scraped 19623 items (at 79 items/min) 2026-01-28 01:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-152l-steam-table-faucet-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 01:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/771660-pnk-pink-pegboard-wall-panel-16-x-60-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:23:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700406-blu-four-sided-spinning-pegboard-floor-display-w-wheels-16-x-60-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701415-gre-interlocking-pegboard-countertop-display-w-wheels-14-x-40-green>: HTTP status code is not handled or not allowed 2026-01-28 01:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers>: HTTP status code is not handled or not allowed 2026-01-28 01:23:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/countertop_displays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-12x16-3-wall-3-lgt-4-dplx-1-dr-white>: HTTP status code is not handled or not allowed 2026-01-28 01:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-heavy-duty-super-cover-poly-tarp-sth3040-10-mil-silverblack-30l-x-40w>: HTTP status code is not handled or not allowed 2026-01-28 01:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/countertop_displays>: HTTP status code is not handled or not allowed 2026-01-28 01:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-series-swivel-plate-caster-663739-advanced-elastomer-2-1-2-dia-400-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-plastic-barrier-chain-2-inch-x-500-feet-l-crimson>: HTTP status code is not handled or not allowed 2026-01-28 01:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-406109929-brk4-polyurethane-with-brake-6dia-900-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-406109929-brk7-ss-polyurethane-with-brake-6dia-900-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-117320004-ldpe-1000ml-capacity-distilled-water-4-pk-blue-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 01:23:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/nuts/hex_nuts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octagon-gable-vent-functional-gvoc22x22f-22w-x-22h-x-218d>: HTTP status code is not handled or not allowed 2026-01-28 01:23:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medway-niche-nch18x38me-1634w-x-18ow-x-3114h-x-614d>: HTTP status code is not handled or not allowed 2026-01-28 01:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-exercise-putty-green-4-ounce-medium>: HTTP status code is not handled or not allowed 2026-01-28 01:23:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/nuts/hex_nuts landed on page that is not a product page. 2026-01-28 01:23:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_machines landed on page that is not a product page. 2026-01-28 01:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-panel-22235-for-21d-extra-wide-designer-wood-locker-without-sloping-hood-maple>: HTTP status code is not handled or not allowed 2026-01-28 01:23:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/wood_standard_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:23:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/sinks/freestanding_sinks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-pe-foam-roller-with-blue-half-round-4-dia-x-36l>: HTTP status code is not handled or not allowed 2026-01-28 01:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 40457 pages (at 96 pages/min), scraped 19699 items (at 76 items/min) 2026-01-28 01:23:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/wood_standard_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-black-x-heavy>: HTTP status code is not handled or not allowed 2026-01-28 01:24:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:24:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/standard_lockers/wood_standard_lockers landed on page that is not a product page. 2026-01-28 01:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-portable-ventilation-fan-16-with-32-flexible-ducting>: HTTP status code is not handled or not allowed 2026-01-28 01:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/molded-vinyl-inflatable-exercise-ball-75-cm-30-red>: HTTP status code is not handled or not allowed 2026-01-28 01:24:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/standard_lockers/wood_standard_lockers landed on page that is not a product page. 2026-01-28 01:24:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/sinks/freestanding_sinks landed on page that is not a product page. 2026-01-28 01:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices>: HTTP status code is not handled or not allowed 2026-01-28 01:24:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/modular_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:24:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/toilet_urinal_carriers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-traffic-rug-36-x-100-heavy-weight-black-1bag>: HTTP status code is not handled or not allowed 2026-01-28 01:24:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/microwaves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-x-1-2in-dralon-woven-mini-roller-covers-2-pack-12-case-6wv050d>: HTTP status code is not handled or not allowed 2026-01-28 01:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-824-8-x-24-mm-binocular>: HTTP status code is not handled or not allowed 2026-01-28 01:24:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-1-1-4-security-self-drilling-screw-pan-6-lobe-head-410-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/microwaves>: HTTP status code is not handled or not allowed 2026-01-28 01:24:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/modular_mats landed on page that is not a product page. 2026-01-28 01:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-spanner-screwdriver>: HTTP status code is not handled or not allowed 2026-01-28 01:24:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories landed on page that is not a product page. 2026-01-28 01:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-1-2-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 01:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-multifilament-6-7-8-x-34-1500-micron-steel-ring-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 01:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-pass-thru-cable-36-1-4w-x-77-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-3-4-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 01:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propanel-light-gray-42h-x-36w-panel>: HTTP status code is not handled or not allowed 2026-01-28 01:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/match-and-finish-high-strength-flap-brush-4-1-2-inch-x-4-inch-x-5-8-11-med>: HTTP status code is not handled or not allowed 2026-01-28 01:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-uz-964-motor-pre-filter>: HTTP status code is not handled or not allowed 2026-01-28 01:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a160-male-connector-with-50mm-pin-contacts-4-aux>: HTTP status code is not handled or not allowed 2026-01-28 01:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concentrated-laundry-detergent-beach-sage-53-5-oz-bottle-4-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 01:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 40551 pages (at 94 pages/min), scraped 19769 items (at 70 items/min) 2026-01-28 01:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-189355gz-72w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 01:25:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/nutrition_bars_mixes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/pressure_washers/electric_pressure_washers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ritz-bits-cheese-sandwich-crackers-1-oz-48-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 01:25:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-workbenchadjustable-leg-24-d>: HTTP status code is not handled or not allowed 2026-01-28 01:25:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/nutrition_bars_mixes>: HTTP status code is not handled or not allowed 2026-01-28 01:25:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/pressure_washers/electric_pressure_washers landed on page that is not a product page. 2026-01-28 01:25:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-box-box-file-pedestal-ash-grey>: HTTP status code is not handled or not allowed 2026-01-28 01:25:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:25:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 01:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 01:25:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 01:25:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-12-d-x-87-h-725-hallowell-gray-add-on-unit-38-bins>: HTTP status code is not handled or not allowed 2026-01-28 01:25:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/command-17067-vp-general-purpose-hooks-small-holds-12-lb-white-9pack>: HTTP status code is not handled or not allowed 2026-01-28 01:25:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-120-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 01:25:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:25:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/cut_off_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 01:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-96-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 01:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puerto-rico-state-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-28 01:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-aleva634432mc-valencia-series-bookcase-3-shelves-31-34w-x-14d-x-39-38h-medium-cherry>: HTTP status code is not handled or not allowed 2026-01-28 01:25:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/paper_towels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-marine-corps-flag-4x6-nylon>: HTTP status code is not handled or not allowed 2026-01-28 01:25:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/cut_off_wheels landed on page that is not a product page. 2026-01-28 01:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-sports-rxd6set-dodge-ball-set-rhino-skin-assorted-colors-6-ballsset>: HTTP status code is not handled or not allowed 2026-01-28 01:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-pvc-lay-flat-discharge-bulk-hose>: HTTP status code is not handled or not allowed 2026-01-28 01:25:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-ton-side-pump-bottle-jack-10300>: HTTP status code is not handled or not allowed 2026-01-28 01:25:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves landed on page that is not a product page. 2026-01-28 01:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 40630 pages (at 79 pages/min), scraped 19821 items (at 52 items/min) 2026-01-28 01:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/essentials-series-mahogany-laminate-bookshelf-355x148x36>: HTTP status code is not handled or not allowed 2026-01-28 01:25:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/paper_towels landed on page that is not a product page. 2026-01-28 01:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/450-lb-cap-toolbox-creeper-seat-92450>: HTTP status code is not handled or not allowed 2026-01-28 01:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171310-faucet-service-sink-for-zurn-industries-llc>: HTTP status code is not handled or not allowed 2026-01-28 01:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neosporin-23737-antibiotic-ointment-1-oz-tube>: HTTP status code is not handled or not allowed 2026-01-28 01:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-12-drawer-177-compart-classic-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 01:26:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-dab18b-18-double-arm-shelf-bracket-black-epoxy>: HTTP status code is not handled or not allowed 2026-01-28 01:26:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-jade-cotton-polyester-fashion-blend-reversible-set-in-sleeve-scrub-shirt-size-xl>: HTTP status code is not handled or not allowed 2026-01-28 01:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable>: HTTP status code is not handled or not allowed 2026-01-28 01:26:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:26:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 01:26:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:26:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-amp-mini-blade-fuses-509125-025-tan-25-pcs>: HTTP status code is not handled or not allowed 2026-01-28 01:26:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-canister-filter-for-ufo-103h-ufo-103h1-ufo-105d-dust-collector>: HTTP status code is not handled or not allowed 2026-01-28 01:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blade-glass-fuse-puller-509702-2001>: HTTP status code is not handled or not allowed 2026-01-28 01:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012434-knob-assembly-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 01:26:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-28 01:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2061270-bowl-cutter-w-lid-blade-for-robot-coupe>: HTTP status code is not handled or not allowed 2026-01-28 01:26:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps landed on page that is not a product page. 2026-01-28 01:26:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-28 01:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-sandbags-17x-27-65-lb-bag-white-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:26:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:26:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/exit_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-inch-belt-drive-whole-house-fan-with-shutter>: HTTP status code is not handled or not allowed 2026-01-28 01:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741341-gasket-25-1-2-inch-x-53-inch-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 01:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seapro-purofort-full-safety-boots-steel-toe-15h-size-13-blueyellow>: HTTP status code is not handled or not allowed 2026-01-28 01:26:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 01:26:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-28 01:26:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/exit_devices landed on page that is not a product page. 2026-01-28 01:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/851237-pillow-grease>: HTTP status code is not handled or not allowed 2026-01-28 01:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bishamon-pallet-truck-pallet-jack-5500-lb-capacity-21-x-48>: HTTP status code is not handled or not allowed 2026-01-28 01:26:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/stretch_bands_tubing already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/luxor-174-ec11-e-series-black-2-shelf-tub-cart-35-1-4-x-18-400-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:26:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/kitchen_tools/hand_tools/replacement_handles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 40723 pages (at 93 pages/min), scraped 19885 items (at 64 items/min) 2026-01-28 01:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-long-gray-center-deck-support>: HTTP status code is not handled or not allowed 2026-01-28 01:26:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/stretch_bands_tubing landed on page that is not a product page. 2026-01-28 01:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-1-1-2-machine-screw-round-head-phillips-slotted-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-plastic-tote-for-tote-a-torch-kit>: HTTP status code is not handled or not allowed 2026-01-28 01:27:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/kitchen_tools/hand_tools/replacement_handles landed on page that is not a product page. 2026-01-28 01:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-18-x-60-phenolic-locker-z-style-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 01:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40115-4-stainless-steel-handle-mounted-scraper-white>: HTTP status code is not handled or not allowed 2026-01-28 01:27:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-18-w-x-24-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-28 01:27:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-rectorseal-45176-flat-elbow-4-14l-x-3-14w-x-2-58h-white>: HTTP status code is not handled or not allowed 2026-01-28 01:27:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges landed on page that is not a product page. 2026-01-28 01:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29759-62-113-telescopic-aluminum-handle-black>: HTTP status code is not handled or not allowed 2026-01-28 01:27:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets landed on page that is not a product page. 2026-01-28 01:27:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/compartment_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69616-3-scraper-yellow>: HTTP status code is not handled or not allowed 2026-01-28 01:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-96x42x120-starter-unit-green-orange-4000-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/compartment_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 01:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-indoor-outdoor-stackable-chair-copper>: HTTP status code is not handled or not allowed 2026-01-28 01:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/murphys-tire-and-tube-mounting-compound-25lbs>: HTTP status code is not handled or not allowed 2026-01-28 01:27:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/650-10-1-digital-neonatal-dual-range-scale-0-10-lb-x-0-05-oz-10-33-lb-x-0-1-oz>: HTTP status code is not handled or not allowed 2026-01-28 01:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hw-th9320wf5003-wifi-9000-color-touchscreen-thermostat>: HTTP status code is not handled or not allowed 2026-01-28 01:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-compartment-steel-sectional-unit-37-w-x-24-d-x-33-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:27:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 01:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-climbing-peak-safety-helmet-type-2-4-point-mega-ratchet-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 01:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-insulated-safety-bib-overall-s-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 01:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 40818 pages (at 95 pages/min), scraped 19958 items (at 73 items/min) 2026-01-28 01:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-pan-12-quart-16-5-inch>: HTTP status code is not handled or not allowed 2026-01-28 01:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forehead-and-ear-digital-infrared-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 01:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weighted-ball-1-lb-tan>: HTTP status code is not handled or not allowed 2026-01-28 01:28:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-14-x-12-stud-wedge-anchor-steel-hot-dip-galvanized-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 01:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-end-cap-flush-for-1-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 01:28:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors>: HTTP status code is not handled or not allowed 2026-01-28 01:28:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/wall_files already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:28:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-high-security-bolt-seal-orange-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:28:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paint_sprayers_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-30-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 01:28:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors landed on page that is not a product page. 2026-01-28 01:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-pressboard-folder-legal-four-section-emerald-green-10box>: HTTP status code is not handled or not allowed 2026-01-28 01:28:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/wall_files landed on page that is not a product page. 2026-01-28 01:28:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:28:31 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 01:28:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets landed on page that is not a product page. 2026-01-28 01:28:32 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:20 2026-01-28 01:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-hand-knob-screws-1-4-20-thread-9-16-inch-thread-length-1-inch-knob-dia>: HTTP status code is not handled or not allowed 2026-01-28 01:28:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paint_sprayers_accessories landed on page that is not a product page. 2026-01-28 01:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-manila-reinforced-shelf-folder-9-high-front-letter-100box>: HTTP status code is not handled or not allowed 2026-01-28 01:28:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 01:28:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/classification_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barr8-br-yw-crowdmaster-1000-barricade-100l-by-43h-bridge-feet-yellow>: HTTP status code is not handled or not allowed 2026-01-28 01:28:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-add-on-24-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 01:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-300mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 01:28:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/classification_folders landed on page that is not a product page. 2026-01-28 01:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-1-34-accordion-expansion-colored-file-pocket-straight-tab-letter-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:28:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders landed on page that is not a product page. 2026-01-28 01:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton14728>: HTTP status code is not handled or not allowed 2026-01-28 01:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 40911 pages (at 93 pages/min), scraped 20028 items (at 70 items/min) 2026-01-28 01:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-box-pleat-skirting-8h-stage-black>: HTTP status code is not handled or not allowed 2026-01-28 01:28:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rwg557l-axis-cut-resistant-polyurethane-palm-gloves-orange-black-l-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 01:29:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-self-adhesive-poly-pockets-top-load-6-14-x-4-916-clear-100box>: HTTP status code is not handled or not allowed 2026-01-28 01:29:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:29:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/humidifiers_dehumidifiers/dehumidifiers_desiccators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders>: HTTP status code is not handled or not allowed 2026-01-28 01:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders>: HTTP status code is not handled or not allowed 2026-01-28 01:29:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders landed on page that is not a product page. 2026-01-28 01:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/humidifiers_dehumidifiers/dehumidifiers_desiccators>: HTTP status code is not handled or not allowed 2026-01-28 01:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-reusable-hot-compress-neck-11-x-17-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 01:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-3-heavy-duty-engineer-vest-green-3xl-sv55-3zgd-3x>: HTTP status code is not handled or not allowed 2026-01-28 01:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-stp-steel-safe-roll-lad-wgt-act-lock-16-w-perf-stp-org-wa062414p-o>: HTTP status code is not handled or not allowed 2026-01-28 01:29:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/hot_cold_packs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5in-flocked-material-paint-pad-refill-white-12-case-er-500r>: HTTP status code is not handled or not allowed 2026-01-28 01:29:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_drains_traps/drains_traps/floor_drains_cleanouts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctp-adjustable-trolley-clamp-beam-width-3-to-7875-4000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/physical_therapy/hot_cold_packs>: HTTP status code is not handled or not allowed 2026-01-28 01:29:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_drains_traps/drains_traps/floor_drains_cleanouts>: HTTP status code is not handled or not allowed 2026-01-28 01:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-1-4-one-way-machine-screw-round-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polypropylene-felt-7-1-8-x-16-1-2-100-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 01:29:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners landed on page that is not a product page. 2026-01-28 01:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-3-4-security-sheet-metal-screw-pan-phillips-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41002 pages (at 91 pages/min), scraped 20100 items (at 72 items/min) 2026-01-28 01:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-pass-thru-cable-60-1-4w-x-65-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:29:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/toddler_chairs_seating/high_chairs_boosters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-3-spanner-machine-screw-truss-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 01:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-stool-with-back-pneumatic-lift-3430bl>: HTTP status code is not handled or not allowed 2026-01-28 01:30:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/heating_parts_components/thermocouples_thermopiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/toddler_chairs_seating/high_chairs_boosters>: HTTP status code is not handled or not allowed 2026-01-28 01:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8npt-sintered-bronze-muffler-50-micron-145-psi-14-to-176-f>: HTTP status code is not handled or not allowed 2026-01-28 01:30:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/heating_parts_components/thermocouples_thermopiles landed on page that is not a product page. 2026-01-28 01:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-valve-1-8-male-x-female-bspp>: HTTP status code is not handled or not allowed 2026-01-28 01:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/karcher-9-807-719-0-2700psi-3gpm-gas-pressure-washer>: HTTP status code is not handled or not allowed 2026-01-28 01:30:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-shelves-galvanized-3-x-48-2-pc>: HTTP status code is not handled or not allowed 2026-01-28 01:30:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-line-t-post-outdoor-clothes-dryer-white-steel-5-clothesline-hooks>: HTTP status code is not handled or not allowed 2026-01-28 01:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ml-erlenmeyer-flask-clamp-30150bi-for-use-with-maxq-shaker-platforms>: HTTP status code is not handled or not allowed 2026-01-28 01:30:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves>: HTTP status code is not handled or not allowed 2026-01-28 01:30:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/credenzas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-4-wheel-appliance-truck-1200-lb-cap-66in-h-auto-rewind>: HTTP status code is not handled or not allowed 2026-01-28 01:30:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:30:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:30:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-84-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:30:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:30:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-20000553-5-x-1-1-4-polyolefin-3-8-delrin-bushing-black>: HTTP status code is not handled or not allowed 2026-01-28 01:30:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/paint_paint_brushes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:30:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 01:30:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/credenzas landed on page that is not a product page. 2026-01-28 01:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031161-orifice-hex-32-lp-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 01:30:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/laundry_detergent already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:30:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/paint_paint_brushes landed on page that is not a product page. 2026-01-28 01:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41087 pages (at 85 pages/min), scraped 20161 items (at 61 items/min) 2026-01-28 01:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories>: HTTP status code is not handled or not allowed 2026-01-28 01:30:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 01:30:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics landed on page that is not a product page. 2026-01-28 01:30:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-100-Open-folio-storage-folkstone>: HTTP status code is not handled or not allowed 2026-01-28 01:31:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/laundry_detergent landed on page that is not a product page. 2026-01-28 01:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-alesd217236bw-double-pedestal-steel-desk-metal-desk-72w-x-36d-x-29-12h-walnutblack>: HTTP status code is not handled or not allowed 2026-01-28 01:31:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms landed on page that is not a product page. 2026-01-28 01:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-pharmacy-vaccine-compact-refrigerator-solid-door-10-5-cu-ft-ph-abt-hc-10ps>: HTTP status code is not handled or not allowed 2026-01-28 01:31:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/electronic_queuing_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441614-contactor-2p-40-50a-24v>: HTTP status code is not handled or not allowed 2026-01-28 01:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infrared-patio-heater-with-remote-control-wall-ceiling-mount-1500w>: HTTP status code is not handled or not allowed 2026-01-28 01:31:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/electronic_queuing_systems landed on page that is not a product page. 2026-01-28 01:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-exercise-band-medium-green>: HTTP status code is not handled or not allowed 2026-01-28 01:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet-4-drawer-24-compart-bright-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-28 01:31:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ah24g-poly-green-utility-cart-handle-24w>: HTTP status code is not handled or not allowed 2026-01-28 01:31:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_service_tools_parts/installation_maintenance_tools_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:31:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/thermometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnalug-fusion-straight-lug-141127-005-1-0-gauge-5-pcs>: HTTP status code is not handled or not allowed 2026-01-28 01:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable>: HTTP status code is not handled or not allowed 2026-01-28 01:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-white-80-polyester-20-cotton-poplin-snap-front-lab-coat-size-2xl>: HTTP status code is not handled or not allowed 2026-01-28 01:31:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:31:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/thermometers landed on page that is not a product page. 2026-01-28 01:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-ciel-blue-cotton-polyester-fashion-blend-reversible-scrub-pants-size-l>: HTTP status code is not handled or not allowed 2026-01-28 01:31:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:31:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_service_tools_parts/installation_maintenance_tools_parts landed on page that is not a product page. 2026-01-28 01:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-for-large-slide-racks-16d>: HTTP status code is not handled or not allowed 2026-01-28 01:31:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_tie_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263807-glide-nail-on>: HTTP status code is not handled or not allowed 2026-01-28 01:31:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-28 01:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681324-fan-motor-for-scotsman>: HTTP status code is not handled or not allowed 2026-01-28 01:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-station-accessory-24-yellow-tubing-with-connectors-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 01:31:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-28 01:31:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slush-boots-size-9-rubber-yellow-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 01:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41173 pages (at 86 pages/min), scraped 20221 items (at 60 items/min) 2026-01-28 01:31:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:31:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_tie_tools landed on page that is not a product page. 2026-01-28 01:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hager-30s-square-corner-beveled-push-plate>: HTTP status code is not handled or not allowed 2026-01-28 01:32:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_closers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56609-dustpan-black>: HTTP status code is not handled or not allowed 2026-01-28 01:32:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 01:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-small-parts-storage-cabinet-3>: HTTP status code is not handled or not allowed 2026-01-28 01:32:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 01:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-conturaseries-25-cent-semi-recessed-sanitary-vendor>: HTTP status code is not handled or not allowed 2026-01-28 01:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-tube-rack-3-wide-x-3-deep-44w-x-40d-x-30h9-cylinder-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-welded-frame-mirror-18-w-x-36-h>: HTTP status code is not handled or not allowed 2026-01-28 01:32:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_closers landed on page that is not a product page. 2026-01-28 01:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/app2v0313s-single-stage-piston-compressor-pump-3-hp-2-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 01:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-tempered-glass-welded-frame-mirror-18-w-x-30-h>: HTTP status code is not handled or not allowed 2026-01-28 01:32:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:32:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-with-stainless-steel-thimble-58-dia-x-75l>: HTTP status code is not handled or not allowed 2026-01-28 01:32:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-3-4-machine-screw-flat-head-phillips-18-8-stainless-steel-ft-unc-pkg-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 01:32:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 01:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-36-d-production-workbench-maple-butcher-block-square-edge-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:32:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 01:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-42w-x-12d-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manhole-sleeve-li-er-two-legs-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:32:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 01:32:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90th-anniversary-graphic-adf-welding-helmet-9-13-variable-shade-control-black>: HTTP status code is not handled or not allowed 2026-01-28 01:32:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-ss-2-door-independent-lock-cabinet-60-x-24-x-78-8drawers>: HTTP status code is not handled or not allowed 2026-01-28 01:32:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 01:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium57-28-23-collapsible-inside-57l-x-28w-x-23>: HTTP status code is not handled or not allowed 2026-01-28 01:32:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 01:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-96x42x144-add-on-unit-green-orange-6080-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41265 pages (at 92 pages/min), scraped 20287 items (at 66 items/min) 2026-01-28 01:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-starter-96inw-x-48ind-x-120inh-3230-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:32:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/wardrobe_combination_cabinets/combination_cabients already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sweet-pellets-1-pound-5-ounces>: HTTP status code is not handled or not allowed 2026-01-28 01:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-storage-bin-370lb>: HTTP status code is not handled or not allowed 2026-01-28 01:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-door-wall-mountable-film-box>: HTTP status code is not handled or not allowed 2026-01-28 01:33:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/wardrobe_combination_cabinets/combination_cabients landed on page that is not a product page. 2026-01-28 01:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccc10012-socket-set-screw>: HTTP status code is not handled or not allowed 2026-01-28 01:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-compartment-sectional-unit-37-w-x-13-d-x-60-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-handle-measuring-spoon>: HTTP status code is not handled or not allowed 2026-01-28 01:33:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-adjustable-saddle-ball-for-2-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 01:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-pliable-medicine-ball-4-lb-5-diameter-red>: HTTP status code is not handled or not allowed 2026-01-28 01:33:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-28 01:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-11-1-8-w-x-17-7-8-d-x-4-h-red>: HTTP status code is not handled or not allowed 2026-01-28 01:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/servewell-economy-breath-guard-3>: HTTP status code is not handled or not allowed 2026-01-28 01:33:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:33:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/safety_railings_fittings/architectural_railing_components already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511337-pilot-for-groen>: HTTP status code is not handled or not allowed 2026-01-28 01:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-pressboard-classification-folders-self-tab-letter-four-section-red-10box>: HTTP status code is not handled or not allowed 2026-01-28 01:33:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/antimicrobial_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:33:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders landed on page that is not a product page. 2026-01-28 01:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aerobic-belt-small-14-006-sma>: HTTP status code is not handled or not allowed 2026-01-28 01:33:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/safety_railings_fittings/architectural_railing_components landed on page that is not a product page. 2026-01-28 01:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-leather-like-expanding-file-open-top-12-x-10-1-31-letter-redrope>: HTTP status code is not handled or not allowed 2026-01-28 01:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41355 pages (at 90 pages/min), scraped 20358 items (at 71 items/min) 2026-01-28 01:33:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/building_construction_tape/antimicrobial_tape landed on page that is not a product page. 2026-01-28 01:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-3-12-accordion-expansion-file-pockets-straight-tab-letter-blue-10box>: HTTP status code is not handled or not allowed 2026-01-28 01:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-industrial-single-outlet-12-3-35>: HTTP status code is not handled or not allowed 2026-01-28 01:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-file-folders-13-cut-third-position-one-ply-top-tab-letter-manila-100box>: HTTP status code is not handled or not allowed 2026-01-28 01:34:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottlejacks-jet-453303>: HTTP status code is not handled or not allowed 2026-01-28 01:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/430-14-2-composite-spreader-beam-14-ton-capacity-2-hook-spread>: HTTP status code is not handled or not allowed 2026-01-28 01:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-with-6-lb-lavender-paraffin-100-liners-1-mitt-and-1-bootie>: HTTP status code is not handled or not allowed 2026-01-28 01:34:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders landed on page that is not a product page. 2026-01-28 01:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-cover-foam-filled-terry-standard-with-pocket>: HTTP status code is not handled or not allowed 2026-01-28 01:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-poly-oxford-3-in-1-waterproof-parka-jacket-2xl-black>: HTTP status code is not handled or not allowed 2026-01-28 01:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelf-truck-60x24x69-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-terry-bar-mop-towel-16x19>: HTTP status code is not handled or not allowed 2026-01-28 01:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-solid-galvanized-shelf-cart-36x24-3-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-17>: HTTP status code is not handled or not allowed 2026-01-28 01:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-sectional-no-cable>: HTTP status code is not handled or not allowed 2026-01-28 01:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2051112-handle-product-grip-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 01:34:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/plumbing_power_tools/pipe_drain_openers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-225mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 01:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1509-375-watt-infrared-heat-lamp-bulb>: HTTP status code is not handled or not allowed 2026-01-28 01:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41452 pages (at 97 pages/min), scraped 20437 items (at 79 items/min) 2026-01-28 01:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-36-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 01:34:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/plumbing_power_tools/pipe_drain_openers landed on page that is not a product page. 2026-01-28 01:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-neck-pack-and-cover-set-1-set>: HTTP status code is not handled or not allowed 2026-01-28 01:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-upright-frame-bolted-240h-x-42d-33119-lbs-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-55905-6-14-knob-adj-6mm-tube-x-14-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 01:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-60210-8-18-8mm-tube-x-18-male-bspt-thread-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 01:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1111309-barrel-metering-slow-closing-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 01:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-slim-line-cabinet-1>: HTTP status code is not handled or not allowed 2026-01-28 01:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx12-dx73-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-28 01:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-89210-04-02-14-tube-x-18-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 01:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-mm-casters-barrel>: HTTP status code is not handled or not allowed 2026-01-28 01:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51009-500-heavy-duty-plastic-barrier-chain-hdpe-2-x500-54mm-gold>: HTTP status code is not handled or not allowed 2026-01-28 01:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-1ph-3450rpm-m6k34fk16dd>: HTTP status code is not handled or not allowed 2026-01-28 01:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b28hsp-300-series-ss-hose-clamp-1-516-inch-2-14-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 01:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-10mm-phillips-oval-head-machine-screw-304-stainless-steel-din-966-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:35:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/hand_held_vacuums already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241442-trim-left-hand-79-inch-for-kolpak-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 01:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-caster-global-1-2-to-2-ton-portable-ac-s>: HTTP status code is not handled or not allowed 2026-01-28 01:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41547 pages (at 95 pages/min), scraped 20515 items (at 78 items/min) 2026-01-28 01:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x36-outdoor-combo-board-two-corkboards>: HTTP status code is not handled or not allowed 2026-01-28 01:35:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/hand_held_vacuums landed on page that is not a product page. 2026-01-28 01:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-8mm-flat-head-socket-cap-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 01:36:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-184-tefc-1ph-3500rpm-c184k34fb6cc>: HTTP status code is not handled or not allowed 2026-01-28 01:36:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/single_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901253-hopper-assembly-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 01:36:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports landed on page that is not a product page. 2026-01-28 01:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b80h-part-ss-worm-gear-hose-clamp-4-58-inch-5-12-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 01:36:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/single_phase_motors landed on page that is not a product page. 2026-01-28 01:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ph-se-conductivity-and-rdo-do-meter-and-stand-vstar90>: HTTP status code is not handled or not allowed 2026-01-28 01:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9591-65w-a19-led-240-beam-spread-medium-base-3000k-non-dimmable>: HTTP status code is not handled or not allowed 2026-01-28 01:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/size-b-3-inch-x-3-inch-stainless-steel-slotted-shim-80-piece-shop-kit>: HTTP status code is not handled or not allowed 2026-01-28 01:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-kit-with-uprights-upper-shelves-dividers-bin-rail-roll-bar-72-w-packing-workbenches>: HTTP status code is not handled or not allowed 2026-01-28 01:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-14th-zip-fleece-sweatshirt-2xl-tall-black>: HTTP status code is not handled or not allowed 2026-01-28 01:36:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-co-extruded-gusseted-bags-49-x-46-x-75-3-mil-50-bags-per-roll>: HTTP status code is not handled or not allowed 2026-01-28 01:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exo2-migb-04-lmotor-impact-glove>: HTTP status code is not handled or not allowed 2026-01-28 01:36:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches landed on page that is not a product page. 2026-01-28 01:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-function-5-1-convertible-hand-truck>: HTTP status code is not handled or not allowed 2026-01-28 01:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-powered-high-precision-torque-wrench-kit-1-drive-240-1000-ftlb-10-38l>: HTTP status code is not handled or not allowed 2026-01-28 01:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-double-air-actuated-valve-pilot-spring-centered-open-center-g1-4-ports>: HTTP status code is not handled or not allowed 2026-01-28 01:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41643 pages (at 96 pages/min), scraped 20591 items (at 76 items/min) 2026-01-28 01:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-3-8-button-socket-cap-screw-steel-black-oxide-unc-pkg-of-100-64018>: HTTP status code is not handled or not allowed 2026-01-28 01:36:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-square-plastic-waste-receptacle-w-dome-lid-42-gallon-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:37:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:37:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-metal-lever-lock-14-gallon-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 01:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/augusta-6-outdoor-bench-with-back-without-side-armrests-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-28 01:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/computer-lan-workstation-mobile-2>: HTTP status code is not handled or not allowed 2026-01-28 01:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers>: HTTP status code is not handled or not allowed 2026-01-28 01:37:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories landed on page that is not a product page. 2026-01-28 01:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-dripcut-traditional-salt-pepper-shakers-602-12-glass-jar-stainless-steel-top>: HTTP status code is not handled or not allowed 2026-01-28 01:37:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/condiment_servers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262402-swivel-stem-caster5-w-1-1-2-od-tubing>: HTTP status code is not handled or not allowed 2026-01-28 01:37:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories landed on page that is not a product page. 2026-01-28 01:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acry-fab-straw-holder-fms-3-for-8-10-straws-wrapped>: HTTP status code is not handled or not allowed 2026-01-28 01:37:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/condiment_servers landed on page that is not a product page. 2026-01-28 01:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1891-7-inch-x-2-1-2-inch-hydraulic-door-closer-1-1-8-offset>: HTTP status code is not handled or not allowed 2026-01-28 01:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tenv-3ph-3450rpm-c6t34vk4hh>: HTTP status code is not handled or not allowed 2026-01-28 01:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-1-2-thick-mat-36-wide-black>: HTTP status code is not handled or not allowed 2026-01-28 01:37:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/frying_pans_skillets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/304-ss-90-elbow-reducers-tubeto-tubefor-quick-clamp-fittings-for-2-12-x-2-tubeod>: HTTP status code is not handled or not allowed 2026-01-28 01:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-15x18x72-3-door-tan>: HTTP status code is not handled or not allowed 2026-01-28 01:37:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/frying_pans_skillets landed on page that is not a product page. 2026-01-28 01:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-buna-n-camlock-gasket-for-2-hose-coupling-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 01:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50ml-centrifuge-tube-self-standing-resealable-bag-sterile-500-case>: HTTP status code is not handled or not allowed 2026-01-28 01:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-rubber-cord-0275-cross-section-100-ft-length>: HTTP status code is not handled or not allowed 2026-01-28 01:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iec-metric-motor-112m-ip55-3ph-c112t17fz1cc>: HTTP status code is not handled or not allowed 2026-01-28 01:37:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/workbench_risers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-7-drawer-40-w-shallow-depth-mobile-cabinet-w-butcher-top-gray-master-keyed>: HTTP status code is not handled or not allowed 2026-01-28 01:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41735 pages (at 92 pages/min), scraped 20660 items (at 69 items/min) 2026-01-28 01:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/citric-acid-disinfectant-32-ounce-trigger-spray-bottle>: HTTP status code is not handled or not allowed 2026-01-28 01:37:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/marking_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x12x60-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 01:38:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/workbench_risers landed on page that is not a product page. 2026-01-28 01:38:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/organizers_caddies/drawer_organizers_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321498-gh-1440zx-large-spindle-bore-lathe-w-newall-dp700-taper-attachment-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 01:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-caster-chairs-moonbeam-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 01:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-fry-pan-with-powercoat-2-interior-s4012-8-gauge-9-3-4-bottom-diameter>: HTTP status code is not handled or not allowed 2026-01-28 01:38:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/organizers_caddies/drawer_organizers_dividers landed on page that is not a product page. 2026-01-28 01:38:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/measurement_layout_tools/marking_tools landed on page that is not a product page. 2026-01-28 01:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-60x24x96-with-3-levels-wood-deck-1300lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-vg-bulk-rack-72-w-x-24-d-x-72-h-starter-with-corrugated-steel-decking-textured-putty>: HTTP status code is not handled or not allowed 2026-01-28 01:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-caster-chairs-sky-blue-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 01:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mtm-hydro-5000-psi-14-brass-quick-coupler-plug-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:38:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1050-mill-200s-3-q-xandytpfa-airdrawbr already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-folding-step-platform-afsp2>: HTTP status code is not handled or not allowed 2026-01-28 01:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-sleeve-floor-protectors-1-63-diameter-round-8-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:38:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1050-mill-200s-3-q-xandytpfa-airdrawbr landed on page that is not a product page. 2026-01-28 01:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hessaire-portable-evaporative-cooler-mc61a-115v-5300-cfm>: HTTP status code is not handled or not allowed 2026-01-28 01:38:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/security_safes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-60x36-high-capacity-rack-wire-deck-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:38:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/griddles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/die-grinder-kit>: HTTP status code is not handled or not allowed 2026-01-28 01:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m12-fuel153-cordless-compact-band-saw-kit-12v>: HTTP status code is not handled or not allowed 2026-01-28 01:38:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/security_safes landed on page that is not a product page. 2026-01-28 01:38:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/toasters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:38:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/griddles landed on page that is not a product page. 2026-01-28 01:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-pallet-rack-upright-frame-24d-x-96h>: HTTP status code is not handled or not allowed 2026-01-28 01:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41830 pages (at 95 pages/min), scraped 20734 items (at 74 items/min) 2026-01-28 01:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-barstools-coral-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 01:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-cut-resistant-gloves-nano-foam-nitrile-coated-ansi-a4-xs-black-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 01:38:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/toasters landed on page that is not a product page. 2026-01-28 01:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321883-filter-hose-5-ftw-3-8-inch-fittings>: HTTP status code is not handled or not allowed 2026-01-28 01:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kyorene-pro-cut-resistant-gloves-hct-micro-foam-nitrile-coated-ansi-a4-xs-gray-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 01:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adesso-720p-hd-usb-webcam-with-built-in-microphone>: HTTP status code is not handled or not allowed 2026-01-28 01:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-sided-napkin-dispenser-8545-06-tabletop-black>: HTTP status code is not handled or not allowed 2026-01-28 01:39:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/chafing_dishes_fuel already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:39:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:39:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-use-indoor-outdoor-interior-sensor-bracket-1-red-light-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 01:39:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-chairs-light-gray-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 01:39:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases landed on page that is not a product page. 2026-01-28 01:39:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivotal-therapy-system-soft-tissue-system-occipivot>: HTTP status code is not handled or not allowed 2026-01-28 01:39:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems landed on page that is not a product page. 2026-01-28 01:39:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/chafing_dishes_fuel landed on page that is not a product page. 2026-01-28 01:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs>: HTTP status code is not handled or not allowed 2026-01-28 01:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-nails-p23-58-23-gauge-5-8-2000-bx>: HTTP status code is not handled or not allowed 2026-01-28 01:39:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:39:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 01:39:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-174-ts-49f-hc-reach-freezer-54-13-w-x-29-1-2-d-x-78-38-h>: HTTP status code is not handled or not allowed 2026-01-28 01:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009305-rear-burner-assembly-for-american-range>: HTTP status code is not handled or not allowed 2026-01-28 01:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackrack-for-12-w-x-20-1-2-d-x-9-1-2-h-bins-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:39:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 01:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-1-2-w-x-13-d-x-6-h-stackbox-black>: HTTP status code is not handled or not allowed 2026-01-28 01:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/noheat-hand-dryer-with-noise-reduction-nozzle-graphite-die-cast-zinc-alloy-hepa-110-120v>: HTTP status code is not handled or not allowed 2026-01-28 01:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-swivel-tee-3>: HTTP status code is not handled or not allowed 2026-01-28 01:39:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 01:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10188103-standard-single-leg-adjustable-lanyard-6-36cl-large-snaphooks>: HTTP status code is not handled or not allowed 2026-01-28 01:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20x20-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 01:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 41923 pages (at 93 pages/min), scraped 20801 items (at 67 items/min) 2026-01-28 01:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-mat-ii-reversible-drainage-mat-3-ft-x-2-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 01:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-one-shelf-one-drawer-base-medical-cabinet-35-x-22-x-35-3-4>: HTTP status code is not handled or not allowed 2026-01-28 01:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-task-light-pivoting-head-10-degree-spot-3x3-watt-led-24v-ac-dc-w-out-transformer>: HTTP status code is not handled or not allowed 2026-01-28 01:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packard-fan-relay-spst-no-24-vac-mars-90290>: HTTP status code is not handled or not allowed 2026-01-28 01:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-lever-hoist-6-ton-capacity-5-lift>: HTTP status code is not handled or not allowed 2026-01-28 01:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flipak-attached-lid-container-14>: HTTP status code is not handled or not allowed 2026-01-28 01:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-60-black-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:40:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_containers/indoor_trash_cans/plastic_indoor_trash_cans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-hydraulic-gear-pump-0-48-cu-in-rev-1-2-dia-straight-drive-shaft-10-39-gpm-5000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 01:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-top-organizer-low-profile-58-wide-12-deep-12-high-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 01:40:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_containers/indoor_trash_cans/plastic_indoor_trash_cans landed on page that is not a product page. 2026-01-28 01:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-universal-roll-medium-weight-150-l-x-15-w-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:40:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:40:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/media_carts/audio_visual_cabinets_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:40:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/esd_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-0-arcguard-rubber-voltage-glove-kit-black-size-12-kitgc012>: HTTP status code is not handled or not allowed 2026-01-28 01:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421479-switch>: HTTP status code is not handled or not allowed 2026-01-28 01:40:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards landed on page that is not a product page. 2026-01-28 01:40:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/esd_mats landed on page that is not a product page. 2026-01-28 01:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-12x9-rectangle-empty-drum-storage-area>: HTTP status code is not handled or not allowed 2026-01-28 01:40:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/esd_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:40:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x12-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 01:40:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/media_carts/audio_visual_cabinets_carts landed on page that is not a product page. 2026-01-28 01:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-30-x-41-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42013 pages (at 90 pages/min), scraped 20872 items (at 71 items/min) 2026-01-28 01:40:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/esd_mats landed on page that is not a product page. 2026-01-28 01:40:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 01:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-dbl-solenoid-valve-pilot-spr-cntred-1-4-nptf-24v-dc-2w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 01:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2sc112x12-12-cal-arc-flash-kit-w-short-coat-bib-overall-in-ultrasoft-2xl-sz-12>: HTTP status code is not handled or not allowed 2026-01-28 01:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-steel-decking-60x48x96-add-on>: HTTP status code is not handled or not allowed 2026-01-28 01:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-unlined-bib-overall-32-x-30-navy-bib6dnv32xl30>: HTTP status code is not handled or not allowed 2026-01-28 01:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-1-4-nptf-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 01:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tffn-16-gauge-building-wire-stranded-type-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-42inw-x-30ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 01:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11b3x10-12-cal-ultrasoft-arc-flash-kit-coverall-balaclava-3xl-glove-size-10>: HTTP status code is not handled or not allowed 2026-01-28 01:41:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/roof_pipe_heating_cables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16968-0031-steel-shim-stock-8-x-12-flat-sheets-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 01:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11bm08-12-cal-ultrasoft-arc-flash-kit-fr-coverall-balaclava-m-glove-sz-08>: HTTP status code is not handled or not allowed 2026-01-28 01:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-2-x-40-160-edge-protectors-cased>: HTTP status code is not handled or not allowed 2026-01-28 01:41:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/roof_pipe_heating_cables landed on page that is not a product page. 2026-01-28 01:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-g-1-8-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 01:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-36ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 01:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241226-yoke-frykutter-m-n55450-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 01:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-24ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 01:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louvered-wall-panel-without-bins-18x19-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-48ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 01:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-open-cntr-spr-cntred-1-8-nptf-110v-ac-5va-coil-black>: HTTP status code is not handled or not allowed 2026-01-28 01:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42112 pages (at 99 pages/min), scraped 20950 items (at 78 items/min) 2026-01-28 01:41:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/led_signs_message_displays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wax-resin-thermal-transfer-ribbon-65mm-x-450m-apr6-ouside-ink-wax-resin->: HTTP status code is not handled or not allowed 2026-01-28 01:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-12ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 01:42:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/luggage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/led_signs_message_displays>: HTTP status code is not handled or not allowed 2026-01-28 01:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heatmaster-fan-canopy-200-230460v-1140rpm-1-12hp-three-phase>: HTTP status code is not handled or not allowed 2026-01-28 01:42:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/luggage_racks landed on page that is not a product page. 2026-01-28 01:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-18ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 01:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-ultrasoft-flame-resistant-coverall-lg-x-32-navy-c88ujlg32>: HTTP status code is not handled or not allowed 2026-01-28 01:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-to-55-gallon-solvent-resistant-drum-pump>: HTTP status code is not handled or not allowed 2026-01-28 01:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-set-of-7-drum-pump-nx-adapters>: HTTP status code is not handled or not allowed 2026-01-28 01:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traffic-control-stanchion-orange-with-dot-stripes-3-pole-16-base-41-height>: HTTP status code is not handled or not allowed 2026-01-28 01:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rv-products-replacement-1625rpm-115v>: HTTP status code is not handled or not allowed 2026-01-28 01:42:33 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 01:42:34 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:21 2026-01-28 01:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264278-p-trap-1-1-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 01:42:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/industrial_storage_cabinets/standard_height_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-jumbo-welded-storage-cabinet-48w-x-18d-x-42h-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 01:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-30ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 01:42:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14ab-x-3-4-security-sheet-metal-screw-button-hex-socket-head-steel-black-oxide-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 01:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262848-retaining-ring-pk-of-4-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 01:42:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets landed on page that is not a product page. 2026-01-28 01:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-in-c-in-design-7-8-in-6-in-magnetic>: HTTP status code is not handled or not allowed 2026-01-28 01:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42209 pages (at 97 pages/min), scraped 21029 items (at 79 items/min) 2026-01-28 01:42:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262905-collar-locking-nut-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 01:43:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-690-1-light-pendant-frosted-prismatic-old-bronze-15w-x-10-5h>: HTTP status code is not handled or not allowed 2026-01-28 01:43:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energizer-ultimate-lithium-aaa-batteries-pkg-qty-24>: HTTP status code is not handled or not allowed 2026-01-28 01:43:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/chandeliers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/sign_light_combination_units already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee landed on page that is not a product page. 2026-01-28 01:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spice-womens-safety-work-boots-steel-toe-7h-size-5-jet-black>: HTTP status code is not handled or not allowed 2026-01-28 01:43:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 01:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-womens-safety-work-boots-alloy-toe-8h-size-12-desert-tan>: HTTP status code is not handled or not allowed 2026-01-28 01:43:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/lighted_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 01:43:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/chandeliers landed on page that is not a product page. 2026-01-28 01:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-power-distribution-unit-vertical-pdu-24-nema-5-15-20r-30a>: HTTP status code is not handled or not allowed 2026-01-28 01:43:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/sign_light_combination_units landed on page that is not a product page. 2026-01-28 01:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-c-aluminum-spec-cam-and-groove-coupler-x-hose-shank>: HTTP status code is not handled or not allowed 2026-01-28 01:43:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/high_density_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/lighted_exit_signs landed on page that is not a product page. 2026-01-28 01:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nibbler-3>: HTTP status code is not handled or not allowed 2026-01-28 01:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-3-station-with-manual-faucets-rounlegs-60l-x20wx8d>: HTTP status code is not handled or not allowed 2026-01-28 01:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/wire_shelving/high_density_shelving>: HTTP status code is not handled or not allowed 2026-01-28 01:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwik-sc-galvanized-steel-kwik-kit-railing-system-6-feet-by-6-feet-corner-kit>: HTTP status code is not handled or not allowed 2026-01-28 01:43:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/floor_machine_hardware_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-3-hooded-pull-over-sweatshirt-61545-lime>: HTTP status code is not handled or not allowed 2026-01-28 01:43:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/in-ground-steel-mounting-post-43-h-granite>: HTTP status code is not handled or not allowed 2026-01-28 01:43:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/floor_machine_hardware_parts landed on page that is not a product page. 2026-01-28 01:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-pack-of-letter-legal-file-dividers-black>: HTTP status code is not handled or not allowed 2026-01-28 01:43:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars landed on page that is not a product page. 2026-01-28 01:43:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights landed on page that is not a product page. 2026-01-28 01:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-expansion-stem-caster-5-dia-polyolefin-bore-350-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cobalt-m-35-tmx-square-tool-bits-ground-1-2-inch-diameter-6-inch-overall-length>: HTTP status code is not handled or not allowed 2026-01-28 01:43:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 01:43:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 01:43:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/wall_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws10d10a-wall-air-conditioner-9700-btu-cool-115-v>: HTTP status code is not handled or not allowed 2026-01-28 01:43:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-x-34-extra-long-folding-assembly-bench>: HTTP status code is not handled or not allowed 2026-01-28 01:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42295 pages (at 86 pages/min), scraped 21086 items (at 57 items/min) 2026-01-28 01:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-20535-arizona-state-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-28 01:43:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/wall_air_conditioners landed on page that is not a product page. 2026-01-28 01:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4921-banyan-1-light-outdoor-wall-clear-water-white-6-125w-x-12-25h>: HTTP status code is not handled or not allowed 2026-01-28 01:44:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners landed on page that is not a product page. 2026-01-28 01:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-48inw-x-12ind-x-96inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 01:44:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hose_cord_reels/power_cord_reels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:44:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/single_stage_reciprocating_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-4-step-steel-rolling-ladder-14-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 01:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-924-2-light-ceiling-flush-mount-medium-white-mushroom-antique-brass-9-5w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 01:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hose_cord_reels/power_cord_reels>: HTTP status code is not handled or not allowed 2026-01-28 01:44:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/single_stage_reciprocating_air_compressors landed on page that is not a product page. 2026-01-28 01:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-11-step-steel-rolling-ladder-21-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 01:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-5-step-steel-rolling-ladder-21-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 01:44:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/vanity_bath_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262841-pin5-16-x-1-23-64-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 01:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meteorlite-2-low-profile-strobe-light-12-80-volts-permanent-mount-amber>: HTTP status code is not handled or not allowed 2026-01-28 01:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-4-step-24-wx36-l-platform-w-handrails>: HTTP status code is not handled or not allowed 2026-01-28 01:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alliance-hose-thermoplastic-snubber-hose-3-8x24-with-1-4-male-and-male-swivel>: HTTP status code is not handled or not allowed 2026-01-28 01:44:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/vanity_bath_lights landed on page that is not a product page. 2026-01-28 01:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-rigid-caster-ss-13-5-tpr-thermoplastic-rubber-5-dia-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:44:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/casters_wheels/plate_casters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m18-cordless-xc-high-capacity-lithium-ion-battery>: HTTP status code is not handled or not allowed 2026-01-28 01:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-curtain-wall-partition-with-clear-vision-strip-24-x-10>: HTTP status code is not handled or not allowed 2026-01-28 01:44:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/casters_wheels/plate_casters landed on page that is not a product page. 2026-01-28 01:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-restaurant-lunchroom-table-60-x-30-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 01:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-plate-clamp-lifting-attachment-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-safety-view-locker-six-tier-12x18x12-6-doors-unassembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 01:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42391 pages (at 96 pages/min), scraped 21159 items (at 73 items/min) 2026-01-28 01:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-loader-tricycle-500-capacity-w-platform-37-in-axle-orange>: HTTP status code is not handled or not allowed 2026-01-28 01:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermometer-2-dia-0-220-f-u-clamp-for-hatco-030100500>: HTTP status code is not handled or not allowed 2026-01-28 01:45:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/hand_dryers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-34-inch-high-post-silver-epoxy-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011806-capillary-tubing-for-victory>: HTTP status code is not handled or not allowed 2026-01-28 01:45:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/shower_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transmission-adapter-head-40-250-in-lbs>: HTTP status code is not handled or not allowed 2026-01-28 01:45:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/hand_dryers landed on page that is not a product page. 2026-01-28 01:45:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/string_trimmers_edgers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-literature-mailers-6l-x-6w-x-2h-white-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 01:45:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/shower_parts_accessories landed on page that is not a product page. 2026-01-28 01:45:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/surveillance_systems/surveillance_cameras already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/federal-signal-two-way-intercom-standard>: HTTP status code is not handled or not allowed 2026-01-28 01:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266258-padlock-1-3-4-inch-w-w-3-inch-shackle>: HTTP status code is not handled or not allowed 2026-01-28 01:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-e-hepa-filter-for-d-e-defendair-hepa-500>: HTTP status code is not handled or not allowed 2026-01-28 01:45:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brake-drum-handler-rotarty-handle>: HTTP status code is not handled or not allowed 2026-01-28 01:45:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/surge_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/string_trimmers_edgers landed on page that is not a product page. 2026-01-28 01:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23t2-27-23w-compact-fluorescent-w-medium-base-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 01:45:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/security_access_control/surveillance_systems/surveillance_cameras landed on page that is not a product page. 2026-01-28 01:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 01:45:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 01:45:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoop-jump-natural-tbark-430n>: HTTP status code is not handled or not allowed 2026-01-28 01:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contract-mesh-drafting-stool-black>: HTTP status code is not handled or not allowed 2026-01-28 01:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s2500c-otg-anti-fog-safety-glasses-black-frame-clear-lens>: HTTP status code is not handled or not allowed 2026-01-28 01:45:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/surge_protectors landed on page that is not a product page. 2026-01-28 01:45:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cp-hd-5-5-channel-heavy-duty-cable-protector>: HTTP status code is not handled or not allowed 2026-01-28 01:45:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 01:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-stick-13-16-1-drive-475-ft-lbs-yellow>: HTTP status code is not handled or not allowed 2026-01-28 01:45:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/personal_wipes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines>: HTTP status code is not handled or not allowed 2026-01-28 01:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42477 pages (at 86 pages/min), scraped 21220 items (at 61 items/min) 2026-01-28 01:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/282360-drain-pan-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 01:45:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/personal_wipes landed on page that is not a product page. 2026-01-28 01:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661102-358-probe-newx82397-ser-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 01:46:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 01:46:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexvolt-174-60v-max-cordless-grinder-w-brake-kit-2-batteries-brushless-4-5-6>: HTTP status code is not handled or not allowed 2026-01-28 01:46:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/ice_machines_equipment/ice_machine_filters_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40g12-1-2-40w-incandescent-w-candelabra-base>: HTTP status code is not handled or not allowed 2026-01-28 01:46:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 01:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1ns-long-sleeve-pullover-hoodie-with-uv-protection-3xl-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 01:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdw-flush-access-doors-for-drywall-surf-lock-24wx24h-kdwp2424l>: HTTP status code is not handled or not allowed 2026-01-28 01:46:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 01:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-face-visor-black>: HTTP status code is not handled or not allowed 2026-01-28 01:46:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:46:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:46:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-strip-door-curtain-8-w-x-7-h>: HTTP status code is not handled or not allowed 2026-01-28 01:46:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/ice_machines_equipment/ice_machine_filters_parts landed on page that is not a product page. 2026-01-28 01:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/micro-therm-mini-heat-gun-with-heat-deflector>: HTTP status code is not handled or not allowed 2026-01-28 01:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-orange-extra-heavy-duty-steel-rolling-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-28 01:46:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware landed on page that is not a product page. 2026-01-28 01:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 01:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-mhi-32-poly>: HTTP status code is not handled or not allowed 2026-01-28 01:46:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware landed on page that is not a product page. 2026-01-28 01:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-vs-320ht>: HTTP status code is not handled or not allowed 2026-01-28 01:46:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e85-1-12w-miniature-w-sub-mini-wedge-base>: HTTP status code is not handled or not allowed 2026-01-28 01:46:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/generac-guardian-24kw-120-240v-1-phase-air-cooled-standby-generator-ng-lp-wifi-enabled>: HTTP status code is not handled or not allowed 2026-01-28 01:46:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:46:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 01:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arm-hammer-fridge-n-freezer-pack-baking-soda-unscented-powder>: HTTP status code is not handled or not allowed 2026-01-28 01:46:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 01:46:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-bag-35-pound-base-brown-kraft-8-6-18-x-4-16-x-12-716-500-bundle>: HTTP status code is not handled or not allowed 2026-01-28 01:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 01:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-bag-40-lb-base-weight-brown-kraft-16-7-34-x-4-1316-x-16-500-bundle>: HTTP status code is not handled or not allowed 2026-01-28 01:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42569 pages (at 92 pages/min), scraped 21284 items (at 64 items/min) 2026-01-28 01:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/801-2506-3-4-inch-npt-lead-free-vacuum-breaker-125-psi-180-f-maximum-temperature>: HTTP status code is not handled or not allowed 2026-01-28 01:47:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs landed on page that is not a product page. 2026-01-28 01:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-plastic-sheet-1-8-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 01:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/088trblklar-base-layer-top-black-large>: HTTP status code is not handled or not allowed 2026-01-28 01:47:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/marking_warning_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1549-120-inch-sjtow-appliance-power-cord-14-gauge-wire>: HTTP status code is not handled or not allowed 2026-01-28 01:47:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1306-96-inch-sjtow-appliance-power-cord-125v-12-gauge-wire>: HTTP status code is not handled or not allowed 2026-01-28 01:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/building_construction_tape/marking_warning_tape>: HTTP status code is not handled or not allowed 2026-01-28 01:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 01:47:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailer-spotter-with-pintle-for-30l-forks-3000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:47:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531441-receptacle-for-plug-1d66>: HTTP status code is not handled or not allowed 2026-01-28 01:47:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_sconces already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 01:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 01:47:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils landed on page that is not a product page. 2026-01-28 01:47:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 01:47:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-087-b>: HTTP status code is not handled or not allowed 2026-01-28 01:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/namur-direct-mount-solenoid-valve-5-port-2-pos-sngl-solenoid-1-4-npt-120vac-cv-14>: HTTP status code is not handled or not allowed 2026-01-28 01:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights>: HTTP status code is not handled or not allowed 2026-01-28 01:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrections-capture-body-shield-non-ballistic-polycarbonate-clear-24-x-48-cs-4>: HTTP status code is not handled or not allowed 2026-01-28 01:47:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 01:47:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-28 01:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-16-w-serr-step-w-cal-osha-handrail-cal-wa-sw52414g>: HTTP status code is not handled or not allowed 2026-01-28 01:47:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-ctrl-in-line-1-8-npt-male-port-ctrlled-flow-inlet-barb-for-1-4-od-tube-free-flow-inlet>: HTTP status code is not handled or not allowed 2026-01-28 01:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-pull-valve-5-port-2-pos-1-4-npt>: HTTP status code is not handled or not allowed 2026-01-28 01:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42659 pages (at 90 pages/min), scraped 21351 items (at 67 items/min) 2026-01-28 01:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-5-port-2-pos-man-valve-1-8-nptf-port-green-flush-head-actr-air-spring-ret>: HTTP status code is not handled or not allowed 2026-01-28 01:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gtek-nitrile-microsurface-nylon-grip-gloves-large>: HTTP status code is not handled or not allowed 2026-01-28 01:48:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 01:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-platform-truck-54-x-27-2400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvy-dty-cable-ties-mtg-tab-natural-14-100-pieces>: HTTP status code is not handled or not allowed 2026-01-28 01:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-w-x-24-h-x-1-d-pleated-merv-8-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 01:48:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-wood-cutting-t-shank-jigsaw-blade-t101b-10-tpi-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/communicating-indoor-air-handler-with-a-coil-4-ton-1-ph-230v>: HTTP status code is not handled or not allowed 2026-01-28 01:48:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-28 01:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-step-easy-turn-rolling-ladder-standard-angle>: HTTP status code is not handled or not allowed 2026-01-28 01:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000001-tongue-buckle-belt-restraint-310-lbs-xs>: HTTP status code is not handled or not allowed 2026-01-28 01:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-20-h-x-4-d-pleated-merv-11-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 01:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-unit-first-aid-kit>: HTTP status code is not handled or not allowed 2026-01-28 01:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crew174-restroom-floor-cleaner-fresh-scent-507-oz-bottle-2case>: HTTP status code is not handled or not allowed 2026-01-28 01:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5900552-cable-chocker-fixed-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 01:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-mhz-stubby-antenna-for-use-with-dtr600-and-dtr700-portable-radios>: HTTP status code is not handled or not allowed 2026-01-28 01:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7211857-tagline-25l>: HTTP status code is not handled or not allowed 2026-01-28 01:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-six-tier-12x18x12-without-legs-18-doors-assembled-sand>: HTTP status code is not handled or not allowed 2026-01-28 01:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7403060-securaspan-hll-lifeline-assembly-w-zorbit-energy-absorber-60l>: HTTP status code is not handled or not allowed 2026-01-28 01:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-tweco-style-mig-welding-nozzle-for-85341-size-12>: HTTP status code is not handled or not allowed 2026-01-28 01:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-plasma-cutter-shield-cup-40a>: HTTP status code is not handled or not allowed 2026-01-28 01:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-aligning-steel-closed-linear-bearing-wresin-retainer-and-seals-sw6gruu-38id-0875l>: HTTP status code is not handled or not allowed 2026-01-28 01:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42758 pages (at 99 pages/min), scraped 21428 items (at 77 items/min) 2026-01-28 01:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152075-6-poly-web-sling-endless-9800-12200-24400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-tweco-style-gas-diffuser-size-2-916>: HTTP status code is not handled or not allowed 2026-01-28 01:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-nobles-tennant-1025341>: HTTP status code is not handled or not allowed 2026-01-28 01:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-door-lock-m210-mechanical-keyless-deadbolt-marine-grade>: HTTP status code is not handled or not allowed 2026-01-28 01:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-danger-high-voltage-keep-out-vinyl-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-28 01:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-partition-panel-wo-brackets-5712w-satin>: HTTP status code is not handled or not allowed 2026-01-28 01:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-headrail-w-screws-polymer-partitions-120>: HTTP status code is not handled or not allowed 2026-01-28 01:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunnage-shelf-18x24-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 01:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-rectangular-strip-carbide-blank-18x58x12-stb420l>: HTTP status code is not handled or not allowed 2026-01-28 01:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lightweight-long-sleeve-flame-resistant-safety-shirt-s-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5712w-white>: HTTP status code is not handled or not allowed 2026-01-28 01:49:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-6w-x-82h-red>: HTTP status code is not handled or not allowed 2026-01-28 01:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-8-x-4-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 01:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40310-2-cld-all-sport-life-vest-pink-child>: HTTP status code is not handled or not allowed 2026-01-28 01:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-trailer-stabilizing-jack-100-100000-lb-static-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:49:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock landed on page that is not a product page. 2026-01-28 01:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plp-5w-perforated-bus-box>: HTTP status code is not handled or not allowed 2026-01-28 01:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-thermohose-1399-heater-duct-14-dia-x-32l-x-6-pitch-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 01:49:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visor-pc-green-tint-molded-10-375-inch-w-x-17-inch-l-x-098-inch-h-anti-fog-anti-scratch>: HTTP status code is not handled or not allowed 2026-01-28 01:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42855 pages (at 97 pages/min), scraped 21506 items (at 78 items/min) 2026-01-28 01:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/staz-on-skullgard-cap-or-hat-suspension-staz-on-bag>: HTTP status code is not handled or not allowed 2026-01-28 01:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visor-propionate-clear-molded-8-inch-w-x-17-inch-l-x-098-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 01:50:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions landed on page that is not a product page. 2026-01-28 01:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pprc-1c-pp-round-cover-polypropelyne-translucent>: HTTP status code is not handled or not allowed 2026-01-28 01:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-16-x-14-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 01:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-fluid-level-sight-glass-g-1-1-4-pipe-thread-6311030>: HTTP status code is not handled or not allowed 2026-01-28 01:50:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-gear-locker-wsecurity-box-48wx24dx72h-red-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 01:50:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartair-ductless-mini-split-ac-heater-wi-fi-control-12000-btu-13-installation-kit-white>: HTTP status code is not handled or not allowed 2026-01-28 01:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap>: HTTP status code is not handled or not allowed 2026-01-28 01:50:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems>: HTTP status code is not handled or not allowed 2026-01-28 01:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-vented-sides-18wx18dx72h-blue-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 01:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp-09r-pebbled-tumblers-95-oz-11h>: HTTP status code is not handled or not allowed 2026-01-28 01:50:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap landed on page that is not a product page. 2026-01-28 01:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-680-single-strap-wrist-support-sleeve-ambidextrous-s-black>: HTTP status code is not handled or not allowed 2026-01-28 01:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tos-7-blade-offset-spatula-7-3-4l-blade-wooden-handle>: HTTP status code is not handled or not allowed 2026-01-28 01:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-4005-single-strap-wrist-brace-support-right-s-black>: HTTP status code is not handled or not allowed 2026-01-28 01:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-paper-phenolic-sheet-1-000-thick-48-x-96>: HTTP status code is not handled or not allowed 2026-01-28 01:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-bxfootlockervented24x24x76blall-welded>: HTTP status code is not handled or not allowed 2026-01-28 01:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-grate-guard-with-curb-deflector-sediment-high-flow-24l-x-48w-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 01:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 42950 pages (at 95 pages/min), scraped 21582 items (at 76 items/min) 2026-01-28 01:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coil-cleaner-cleaner-for-ac-coils-fins-cherry-scent-quart-12-case-nl294-q12s>: HTTP status code is not handled or not allowed 2026-01-28 01:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0385r-iron-tuff-high-bib-overall-regular-navy-small>: HTTP status code is not handled or not allowed 2026-01-28 01:51:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_brushes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0385r-iron-tuff-high-bib-overall-tall-sage-xl>: HTTP status code is not handled or not allowed 2026-01-28 01:51:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-36-round-steel-mesh-outdoor-caf-table-bronze>: HTTP status code is not handled or not allowed 2026-01-28 01:51:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_brushes landed on page that is not a product page. 2026-01-28 01:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghs-health-hazard-pictogram-placard-10-3-4-x-10-3-4>: HTTP status code is not handled or not allowed 2026-01-28 01:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-28 01:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-coupling-4-set-screws-2-90-rc4h-series-climax-rc-175-kw4h90>: HTTP status code is not handled or not allowed 2026-01-28 01:51:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700728-gre-two-sided-pegboard-floor-display-w-studio-base-14-1-2-w-x-14-d-x-44-h>: HTTP status code is not handled or not allowed 2026-01-28 01:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-metric-deep-impact-socket-17mm-drive-black>: HTTP status code is not handled or not allowed 2026-01-28 01:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-round-cocktail-folding-table-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:51:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:51:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 01:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-brass-sledge-hammer-8-lb-head-30-steel-handle>: HTTP status code is not handled or not allowed 2026-01-28 01:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-156>: HTTP status code is not handled or not allowed 2026-01-28 01:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40x32x34-1-2-blue-nylon-cover>: HTTP status code is not handled or not allowed 2026-01-28 01:51:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 01:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-025-025-a>: HTTP status code is not handled or not allowed 2026-01-28 01:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-label-holder-wire-shelf-1-1-4-h-x-48-w>: HTTP status code is not handled or not allowed 2026-01-28 01:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fft-1826-plastic-sheet-tray>: HTTP status code is not handled or not allowed 2026-01-28 01:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-plastic-safety-edge-top-pedestal-workbench-w-6-drawers>: HTTP status code is not handled or not allowed 2026-01-28 01:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hs003f-heartsine-360p-full-auto-defibrillator-package>: HTTP status code is not handled or not allowed 2026-01-28 01:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43041 pages (at 91 pages/min), scraped 21652 items (at 70 items/min) 2026-01-28 01:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-bollard-post-sleeve-6-lime-green>: HTTP status code is not handled or not allowed 2026-01-28 01:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ssdb-8-double-boiler-w-cover>: HTTP status code is not handled or not allowed 2026-01-28 01:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/occumitts-support-gloves-1-pair-x-large-biege>: HTTP status code is not handled or not allowed 2026-01-28 01:52:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/planters_pots/planters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1114-8-high-pressure-regulator-38-npt-250-psi-gauge-not-included>: HTTP status code is not handled or not allowed 2026-01-28 01:52:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-no-adhesive-50a-12-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 01:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d217rb-osha-sign-danger-no-smoking-matches-or-open-flames-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 01:52:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-4-x-1-5-8-2-manila-pre-strung-tag-2>: HTTP status code is not handled or not allowed 2026-01-28 01:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-062-a>: HTTP status code is not handled or not allowed 2026-01-28 01:52:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 01:52:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/planters_pots/planters landed on page that is not a product page. 2026-01-28 01:52:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 01:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cord-spring-rewind-reels-duplex-industrial-receptacle-75-cord-12-awg>: HTTP status code is not handled or not allowed 2026-01-28 01:52:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hose_cord_reels/power_cord_reels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mxb-150q-mixing-bowl-1-1-2-qt-8d>: HTTP status code is not handled or not allowed 2026-01-28 01:52:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0005-10-dots-table-spoon>: HTTP status code is not handled or not allowed 2026-01-28 01:52:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/box_trucks/plastic_box_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fb-10-heavy-duty-fry-basket-rectangle-orange-plastic>: HTTP status code is not handled or not allowed 2026-01-28 01:52:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hose_cord_reels/power_cord_reels landed on page that is not a product page. 2026-01-28 01:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-sleeve-2-to-3>: HTTP status code is not handled or not allowed 2026-01-28 01:52:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 01:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/box_trucks/plastic_box_trucks>: HTTP status code is not handled or not allowed 2026-01-28 01:52:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 01:52:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-19-3-4x12-1-2-green>: HTTP status code is not handled or not allowed 2026-01-28 01:52:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 01:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22380-depressed-center-wheel-t27-ultimate-cut-4-1-2-inch-x-045-inch-x-7-8-inch-blended>: HTTP status code is not handled or not allowed 2026-01-28 01:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 01:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suit-hanger-rubber-black-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:52:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 01:52:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 01:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rustic-z-frame-wardrobe-black-48-x-17-3-16-x-68>: HTTP status code is not handled or not allowed 2026-01-28 01:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43131 pages (at 90 pages/min), scraped 21714 items (at 62 items/min) 2026-01-28 01:52:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/baskets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-double-sided-upright-47>: HTTP status code is not handled or not allowed 2026-01-28 01:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50200-9s-fiber-disc-5-inch-x-7-8-inch-80-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-28 01:53:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/baskets landed on page that is not a product page. 2026-01-28 01:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-70a-116-thick-x-36-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 01:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-5hp-3515rpm-184tc-tefc-208-230-460v-60-50hz-rigid-c>: HTTP status code is not handled or not allowed 2026-01-28 01:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-with-acrylic-adhesive-50a-14-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 01:53:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 01:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-with-acrylic-adhesive-60a-116-thick-x-4-w-x-5-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 01:53:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-station-hydraulic-press-3-hp-single-phase-220v-hsp-30m-c>: HTTP status code is not handled or not allowed 2026-01-28 01:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-6602-closet-door-roller-with-top-mount-and-78-inch-round-edge-nylon-wheelpack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 01:53:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=16-variable-speed-bench-top-drill-press-0-75-hp-3-phase-110v-dp-4016b-vs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders>: HTTP status code is not handled or not allowed 2026-01-28 01:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-inch-capacity-pistol-grip-reversible-keyed-chuck-w-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-28 01:53:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_stands_stools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-bracket-spill-containment-berm-40l-x-10w-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 01:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elephantwall-topple-barrier-14-ft-2-in-h-x-16-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 01:53:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=16-variable-speed-bench-top-drill-press-0-75-hp-3-phase-110v-dp-4016b-vs landed on page that is not a product page. 2026-01-28 01:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 01:53:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_stands_stools landed on page that is not a product page. 2026-01-28 01:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 01:53:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=single-arm-air-powered-tapping-machine-1-8-1-tapping-capacity-220-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/373-carton-sealing-tape-2-x-55-yds-25-mil-tan-36pack>: HTTP status code is not handled or not allowed 2026-01-28 01:53:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/corrugated_boxes_cartons/corrugated_boxes/specialized_moving_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-70a-132-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 01:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-brass-solid-body-padlocks-no-6840lj>: HTTP status code is not handled or not allowed 2026-01-28 01:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11057-20-30-awg-solid-wire-stripper-cutter>: HTTP status code is not handled or not allowed 2026-01-28 01:53:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=single-arm-air-powered-tapping-machine-1-8-1-tapping-capacity-220-rpm>: HTTP status code is not handled or not allowed 2026-01-28 01:53:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/corrugated_boxes_cartons/corrugated_boxes/specialized_moving_boxes landed on page that is not a product page. 2026-01-28 01:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-steel-weather-resistant-covered-laminated-padlocks-no-6127>: HTTP status code is not handled or not allowed 2026-01-28 01:53:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 01:53:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=pipe-notcher-single-phase-220v-tn-200e already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43217 pages (at 86 pages/min), scraped 21774 items (at 60 items/min) 2026-01-28 01:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-welded-wardrobe-cabinet-36-w-x-18-d-x-78-h-sand>: HTTP status code is not handled or not allowed 2026-01-28 01:53:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 01:53:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-50a-332-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 01:54:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys landed on page that is not a product page. 2026-01-28 01:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabricreinforced-neoprene-rubber-sheet-no-adhesive-70a-116-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 01:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o21007-eagle-plain-front-overall-yellow-sm>: HTTP status code is not handled or not allowed 2026-01-28 01:54:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 01:54:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-carton-sealing-tape-2-x-110-yds-22-mil-yellow-36pack>: HTTP status code is not handled or not allowed 2026-01-28 01:54:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=pipe-notcher-single-phase-220v-tn-200e landed on page that is not a product page. 2026-01-28 01:54:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 01:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j26002-bomber-hooded-jacket-fluorescent-yellowgreenblack-5xl>: HTTP status code is not handled or not allowed 2026-01-28 01:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-28 01:54:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-315-coupling-1-4-hose-barb-asian-interchange>: HTTP status code is not handled or not allowed 2026-01-28 01:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-ss-304304l-34-square-head-plug-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 01:54:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 01:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-peek-film-0-005-thick-x-24-w-x-10-l>: HTTP status code is not handled or not allowed 2026-01-28 01:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/band-all-101-soluble-55-gallon-drum-12610155>: HTTP status code is not handled or not allowed 2026-01-28 01:54:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-circle-tag-3-dia-green-100pack>: HTTP status code is not handled or not allowed 2026-01-28 01:54:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 01:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-50a-12-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 01:54:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/flap_specialty_wheels/flap_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 01:54:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/flap_specialty_wheels/flap_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-nsm-rod-7-000-dia>: HTTP status code is not handled or not allowed 2026-01-28 01:54:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 01:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x3-4x1-a60-m-v-bench-wheel-1-pk>: HTTP status code is not handled or not allowed 2026-01-28 01:54:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/flap_specialty_wheels/flap_wheels landed on page that is not a product page. 2026-01-28 01:54:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/bench_pedestal_grinding_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haz-mat-boxes-for-four-1-gallon-paint-cans-17l-x-17w-x-9-516h-kraft-10pack>: HTTP status code is not handled or not allowed 2026-01-28 01:54:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 01:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-40a-12-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 01:54:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/flap_specialty_wheels/flap_wheels landed on page that is not a product page. 2026-01-28 01:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/bench_pedestal_grinding_wheels>: HTTP status code is not handled or not allowed 2026-01-28 01:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43306 pages (at 89 pages/min), scraped 21833 items (at 59 items/min) 2026-01-28 01:54:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs landed on page that is not a product page. 2026-01-28 01:54:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c53217-35mm-industrial-work-coat-yellow-48-detachable-hood-lg>: HTTP status code is not handled or not allowed 2026-01-28 01:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-2-3-14l-x-1-58w-dark-blue-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 01:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 01:55:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:55:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 01:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35123-workbrutes-10-work-boots-yellow-cleated-outsole-sm>: HTTP status code is not handled or not allowed 2026-01-28 01:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-6-bu-blue-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 01:55:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 01:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-table-3-shelves-18-x-24>: HTTP status code is not handled or not allowed 2026-01-28 01:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-hd-free-standing-jib-crane-10-ft-span-and-14-ft-height-under-boom-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-42x24x54-nexelon-finish>: HTTP status code is not handled or not allowed 2026-01-28 01:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-welded-workbench-w-open-base-hardboard-over-steel-36-x-60>: HTTP status code is not handled or not allowed 2026-01-28 01:55:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/open_base_workbenches/stationary_open_base_workbenches/heavy_duty_stationary_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-dolly-with-tilt-rollers-36-x-36-5400-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 01:55:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jewelry-boxes-8l-x-2w-x-78h-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-28 01:55:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/open_base_workbenches/stationary_open_base_workbenches/heavy_duty_stationary_workbenches landed on page that is not a product page. 2026-01-28 01:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-platform-truck-72x36-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:55:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment landed on page that is not a product page. 2026-01-28 01:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iodine-rings-drain-maintenance>: HTTP status code is not handled or not allowed 2026-01-28 01:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-18-inch-microfiber-mop-refill>: HTTP status code is not handled or not allowed 2026-01-28 01:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-boxes-6l-x-6w-x-6h-black-100pack>: HTTP status code is not handled or not allowed 2026-01-28 01:55:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supreme-sliptech-mat-11-16-thick-4-wide-cut-length-up-to-60-black>: HTTP status code is not handled or not allowed 2026-01-28 01:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43398 pages (at 92 pages/min), scraped 21904 items (at 71 items/min) 2026-01-28 01:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urinal-deodorizer-blocks-4oz-cherry-fragrance-12-blocks-box>: HTTP status code is not handled or not allowed 2026-01-28 01:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-rochester-2-x-2-lay-in-tin-ceiling-tile-in-penny-vein-y58-05>: HTTP status code is not handled or not allowed 2026-01-28 01:56:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 01:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-8w-to-9w-and-7h>: HTTP status code is not handled or not allowed 2026-01-28 01:56:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/dutch_ovens_braisers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquaba-38-round-resin-pedestal-table-w-umbrella-hole-ranch-on-bronze-frame>: HTTP status code is not handled or not allowed 2026-01-28 01:56:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/process_cooling_equipment/chillers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-dock-plate-60-w-x-48-l-2660-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 01:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4c-horizontal-mailbox-41h-single-parcel-box-1-pl5-1-pl6-front-load-aluminum-usps>: HTTP status code is not handled or not allowed 2026-01-28 01:56:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/dutch_ovens_braisers landed on page that is not a product page. 2026-01-28 01:56:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-cover-48-panel-track-heaters>: HTTP status code is not handled or not allowed 2026-01-28 01:56:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_hoses_connectors/pneumatic_quick_connect_couplings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:56:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/process_cooling_equipment/chillers landed on page that is not a product page. 2026-01-28 01:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/702-corrugated-switchboard-matting-36x5-black>: HTTP status code is not handled or not allowed 2026-01-28 01:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cleaner-and-polish-floral-scent-22-oz-spray-bottle-6-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 01:56:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners landed on page that is not a product page. 2026-01-28 01:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_hoses_connectors/pneumatic_quick_connect_couplings>: HTTP status code is not handled or not allowed 2026-01-28 01:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-picnic-table-aluminum-planking-hd-galvanized-steel-frame>: HTTP status code is not handled or not allowed 2026-01-28 01:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/470-marble-sof-tyle153-anti-fatigue-mat-12-thick-2w-x-up-to-75l-black>: HTTP status code is not handled or not allowed 2026-01-28 01:56:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-8-compartment-17>: HTTP status code is not handled or not allowed 2026-01-28 01:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-575x-1-tailgate-spreader-5-75-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 01:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magic-eraser-extra-durable-32-sponges>: HTTP status code is not handled or not allowed 2026-01-28 01:56:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers landed on page that is not a product page. 2026-01-28 01:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-16-compartment-1>: HTTP status code is not handled or not allowed 2026-01-28 01:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powermig-360mp-multi-process-welder-one-pak-360a-5060-hz-red>: HTTP status code is not handled or not allowed 2026-01-28 01:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-polypropylene-bouffant-cap-100-latex-free-blue-21-100bag-10-bagscase>: HTTP status code is not handled or not allowed 2026-01-28 01:56:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/wipes_wipers/low_lint_surface_prep_wipes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hndl-5710761>: HTTP status code is not handled or not allowed 2026-01-28 01:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43490 pages (at 92 pages/min), scraped 21972 items (at 68 items/min) 2026-01-28 01:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/decorative-bollard-cover-stone-finish-8-in-dia-60-in-h>: HTTP status code is not handled or not allowed 2026-01-28 01:57:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/wipes_wipers/low_lint_surface_prep_wipes landed on page that is not a product page. 2026-01-28 01:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-solid-adjustable-brute-shelf-15-wx30-l>: HTTP status code is not handled or not allowed 2026-01-28 01:57:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-armless-barstool-solid-gray-sling-on-platinum-gray-frame-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 01:57:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/chimney_caps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-drawer-workbench-maple>: HTTP status code is not handled or not allowed 2026-01-28 01:57:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/preconfigured_workbenches/standard_duty_preconfigured_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars landed on page that is not a product page. 2026-01-28 01:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2oz-clear-straight-sided-round-with-53-400-green-thermoset-f217-ptfe-lined-cap-24pk>: HTTP status code is not handled or not allowed 2026-01-28 01:57:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/chimney_caps landed on page that is not a product page. 2026-01-28 01:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-1050evs2-230-mill-newall-dp700-dro-x-and-y-axis-powerfeeds-698174>: HTTP status code is not handled or not allowed 2026-01-28 01:57:22 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 01:57:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/preconfigured_workbenches/standard_duty_preconfigured_workbenches landed on page that is not a product page. 2026-01-28 01:57:22 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:22 2026-01-28 01:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t1hd-hss-jobbers-drill-black-bronze-oxide-564-12>: HTTP status code is not handled or not allowed 2026-01-28 01:57:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-acu-rite-200s-dro-knee-x-y-axis-powerfeed-air-power-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/drilling_hole_making/metalworking_drill_bits/aircraft_extension_drills already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-acu-rite-200s-dro-x-and-y-axis-powerfeeds-690544 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/distribution-container-with-hinged-lid-28-x-20-5-8-x-15-5-8-1>: HTTP status code is not handled or not allowed 2026-01-28 01:57:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_vials_tubes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/short-sleevet-shirt-segmented-tape-hi-vis-yellow-medium>: HTTP status code is not handled or not allowed 2026-01-28 01:57:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-acu-rite-200s-dro-knee-x-y-axis-powerfeed-air-power-drawbar landed on page that is not a product page. 2026-01-28 01:57:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/drilling_hole_making/metalworking_drill_bits/aircraft_extension_drills landed on page that is not a product page. 2026-01-28 01:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-xtra-black-post-belt-barrier-3w-x-11-ft-redwhite-belt>: HTTP status code is not handled or not allowed 2026-01-28 01:57:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-acu-rite-200s-dro-x-and-y-axis-powerfeeds-690544 landed on page that is not a product page. 2026-01-28 01:57:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-plastic-lockers-with-clear-door-flat-top-12-x-15-x-12-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-4010-double-strap-wrist-support-tan-x-large-left>: HTTP status code is not handled or not allowed 2026-01-28 01:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-x-60mm-2-dram-amber-glass-vial-w-15-425-green-thermoset-cap-vacuum-144pk>: HTTP status code is not handled or not allowed 2026-01-28 01:57:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_vials_tubes landed on page that is not a product page. 2026-01-28 01:57:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 01:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-lightweight-hoodie-hi-viz-yellow-ansi-class-2-4xl>: HTTP status code is not handled or not allowed 2026-01-28 01:57:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breathable-foul-weather-coat-hi-viz-orange-3xl>: HTTP status code is not handled or not allowed 2026-01-28 01:57:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-super-maxx-back-support-2-panel-w-detachable-suspendeners-small>: HTTP status code is not handled or not allowed 2026-01-28 01:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43572 pages (at 82 pages/min), scraped 22029 items (at 57 items/min) 2026-01-28 01:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers>: HTTP status code is not handled or not allowed 2026-01-28 01:58:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 01:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1724b04-cross-over-bridge-36-1-2-overall-width-4-stairs>: HTTP status code is not handled or not allowed 2026-01-28 01:58:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thinairhand-dryer-w-white-abs-cover-110-120v-automatic-327111>: HTTP status code is not handled or not allowed 2026-01-28 01:58:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps landed on page that is not a product page. 2026-01-28 01:58:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/lift_table_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-flex-elastomeric-foam-tape-1-8-thick2-wide30>: HTTP status code is not handled or not allowed 2026-01-28 01:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-collection-premium-cold-weather-bib-pants-hi-viz-yellow-4xl>: HTTP status code is not handled or not allowed 2026-01-28 01:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/lift_table_accessories>: HTTP status code is not handled or not allowed 2026-01-28 01:58:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/pocket_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-inplant-office-w-2-windows-class-c-10-w-x-16-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 01:58:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs landed on page that is not a product page. 2026-01-28 01:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-no-trespassing-7x10-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 01:58:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:58:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/pocket_folders landed on page that is not a product page. 2026-01-28 01:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exit-7x10-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 01:58:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:58:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-4224-6295715>: HTTP status code is not handled or not allowed 2026-01-28 01:58:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-in-1-plush-fleece-winter-liners-camo-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:58:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls landed on page that is not a product page. 2026-01-28 01:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper>: HTTP status code is not handled or not allowed 2026-01-28 01:58:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls landed on page that is not a product page. 2026-01-28 01:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-blade-for-mbse>: HTTP status code is not handled or not allowed 2026-01-28 01:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p100-nuisance-level-acidgas-relief-respirator-2096>: HTTP status code is not handled or not allowed 2026-01-28 01:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valve-cs275-217>: HTTP status code is not handled or not allowed 2026-01-28 01:58:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes landed on page that is not a product page. 2026-01-28 01:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinges-21-351-bev401-216a-01>: HTTP status code is not handled or not allowed 2026-01-28 01:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43664 pages (at 92 pages/min), scraped 22098 items (at 69 items/min) 2026-01-28 01:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-double-tier-12x12x36-6-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-28 01:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermostats-46-1155-sta2t-30402-08>: HTTP status code is not handled or not allowed 2026-01-28 01:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-wire-twister-rubber-handle>: HTTP status code is not handled or not allowed 2026-01-28 01:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-mdl-ghbbdb-1340a-40a5740>: HTTP status code is not handled or not allowed 2026-01-28 01:59:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/planers_jointers/woodworking_jointers_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-static-shielding-bags-3w-x-3l-28-mil-transparent-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 01:59:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:59:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-24w-x-72l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 01:59:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/planers_jointers/woodworking_jointers_accessories>: HTTP status code is not handled or not allowed 2026-01-28 01:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scaling-hammers-h-60fg>: HTTP status code is not handled or not allowed 2026-01-28 01:59:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-28 01:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-18w-x-72l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 01:59:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 01:59:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 01:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-24w-x-20d-x-48h-3-mil-clear-50pack>: HTTP status code is not handled or not allowed 2026-01-28 01:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-5-hp-roof-ventilator>: HTTP status code is not handled or not allowed 2026-01-28 01:59:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/tongue_groove_pliers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 01:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakes-tin-decorative-metal-ceiling-tile-nails-black-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 01:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-station-shadow-board-green-black-72-x-36-pro-series-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 01:59:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/tongue_groove_pliers landed on page that is not a product page. 2026-01-28 01:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-plated-brass-schedule-40-nipple-12-2-12-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 01:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-single-tier-15x18x72-1-door-assembled-4>: HTTP status code is not handled or not allowed 2026-01-28 01:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-535-replacement-parts-47570>: HTTP status code is not handled or not allowed 2026-01-28 01:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotor-vane-jsm705a-20>: HTTP status code is not handled or not allowed 2026-01-28 01:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43758 pages (at 94 pages/min), scraped 22171 items (at 73 items/min) 2026-01-28 01:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x18x72-with-4-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 02:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/satin-combination-wrench-17-mm-12-point>: HTTP status code is not handled or not allowed 2026-01-28 02:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f44t136gvp-straight-section-type-1-400x400x3600-galvgray>: HTTP status code is not handled or not allowed 2026-01-28 02:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-bulk-box-6-bushel-truck-steel-chassis-base-white>: HTTP status code is not handled or not allowed 2026-01-28 02:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/183001-acrylic-refrigerator-lock-box-keyed-alike-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-riser-96-w-x-10-1-2-d-x-12-h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:00:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/laminators_pouches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-flow-rack-starter-1>: HTTP status code is not handled or not allowed 2026-01-28 02:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunbrella-174-square-6-outdoor-market-umbrella-natural>: HTTP status code is not handled or not allowed 2026-01-28 02:00:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/steel_shelving_additional_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-4-size-assortment-warning-poly-bags-15-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 02:00:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:00:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_machines/laminators_pouches landed on page that is not a product page. 2026-01-28 02:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-cylinder-small-cylinder-rescuecart-4500-psi-hansen-mp-4r>: HTTP status code is not handled or not allowed 2026-01-28 02:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-hanford-twin-post-only-with-support-brace-with-ornate-base>: HTTP status code is not handled or not allowed 2026-01-28 02:00:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories landed on page that is not a product page. 2026-01-28 02:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-carousel-skid-turntable-4000-lb-cap-45-usable-diameter>: HTTP status code is not handled or not allowed 2026-01-28 02:00:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/steel_shelving_additional_shelves landed on page that is not a product page. 2026-01-28 02:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4956-double-sided-foam-tape-12-x-5-yds-62-mil-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:00:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-roller-chain-200-1r-2-1-2-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-28 02:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-x-30-double-shelf-shop-stand-maple-black>: HTTP status code is not handled or not allowed 2026-01-28 02:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-cap-jsm-748-30111>: HTTP status code is not handled or not allowed 2026-01-28 02:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-mobile-packaging-workbench-plastic-safety-edge-60-x-30>: HTTP status code is not handled or not allowed 2026-01-28 02:00:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 02:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-x-36-double-shelf-shop-stand-maple-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-paper-clips-vinyl-coated-wire-no-1-assorted-colors-500pack>: HTTP status code is not handled or not allowed 2026-01-28 02:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43851 pages (at 93 pages/min), scraped 22241 items (at 70 items/min) 2026-01-28 02:00:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/dump_truck_inserts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wormtext-jvm836-42t>: HTTP status code is not handled or not allowed 2026-01-28 02:00:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/paper_clips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-packaging-workbench-plastic-safety-edge-72-x-30-with-lower-shelf-kit>: HTTP status code is not handled or not allowed 2026-01-28 02:01:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:01:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/dump_truck_inserts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polypropylene-bags-8l-x-6w-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 02:01:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/dump_truck_inserts landed on page that is not a product page. 2026-01-28 02:01:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:01:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/paper_clips landed on page that is not a product page. 2026-01-28 02:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40013-spot-blaster-cast-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:01:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands landed on page that is not a product page. 2026-01-28 02:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/dump_truck_inserts>: HTTP status code is not handled or not allowed 2026-01-28 02:01:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:01:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 02:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40062-5-16-id-ceramic-nozzle-kit-siphon-20-cfm>: HTTP status code is not handled or not allowed 2026-01-28 02:01:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/stack_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41914-light-underlay-polystyrene>: HTTP status code is not handled or not allowed 2026-01-28 02:01:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs landed on page that is not a product page. 2026-01-28 02:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-recycled-rubber-flooring-1-4-x-4-x-4-rolls-black-rubber-mats>: HTTP status code is not handled or not allowed 2026-01-28 02:01:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/stack_racks landed on page that is not a product page. 2026-01-28 02:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yoke-jsg-0735-hd-12033>: HTTP status code is not handled or not allowed 2026-01-28 02:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40002-90-lb-portable-pressure-blaster-deadman-steel>: HTTP status code is not handled or not allowed 2026-01-28 02:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-16-dia-0-093-loc-2-1-2-oal-0-500-lbs-3-flute-carbide-ball-single-end-mill-altin>: HTTP status code is not handled or not allowed 2026-01-28 02:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/makerbot-sketch-filament-4pk>: HTTP status code is not handled or not allowed 2026-01-28 02:01:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-filter-assembly-t45e-global-261990-641250-floor-scrubbers>: HTTP status code is not handled or not allowed 2026-01-28 02:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-slip-on-shoes-size-85m-white>: HTTP status code is not handled or not allowed 2026-01-28 02:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-jtm-1050-b-21>: HTTP status code is not handled or not allowed 2026-01-28 02:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-insert-708025-103>: HTTP status code is not handled or not allowed 2026-01-28 02:01:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 02:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24n16alp-medium-type-1-enclosure-2400x1600x662-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 02:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/downrod-36-bk-color-for-cp48dw-cp56dw-cp60dw-with-67-lead-wire-and-safety-cable>: HTTP status code is not handled or not allowed 2026-01-28 02:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 43942 pages (at 91 pages/min), scraped 22307 items (at 66 items/min) 2026-01-28 02:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-5w-x-7l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 02:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-30-4-drawer-with-maple-top-workbench>: HTTP status code is not handled or not allowed 2026-01-28 02:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leather-reception-chair-with-arms-black-silver-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:02:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/cabinet_pedestal_workbenches/stationary_cabinet_pedestal_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilotron-metered-air-fresheners-tango-mango-scent-7-oz-refill-12-case>: HTTP status code is not handled or not allowed 2026-01-28 02:02:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c00-series-grip-ring-stem-caster-1>: HTTP status code is not handled or not allowed 2026-01-28 02:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a808sc-screw-cover-type-12-800x800x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 02:02:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/cabinet_pedestal_workbenches/stationary_cabinet_pedestal_workbenches landed on page that is not a product page. 2026-01-28 02:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats>: HTTP status code is not handled or not allowed 2026-01-28 02:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccs8sjlg-set-up-joint-pendant-arm-fits-80x80mm-castirltgray>: HTTP status code is not handled or not allowed 2026-01-28 02:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-round-ceiling-register-field-installable-8-round-bowtie-volume-damper-12-x-12>: HTTP status code is not handled or not allowed 2026-01-28 02:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-vinyl-duct-tape-3903-black-2-x-50-yd-6-3-mil-24-per-case>: HTTP status code is not handled or not allowed 2026-01-28 02:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-production-workbench-esd-laminate-safety-edge-drawer-upright-shelf-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-inch-acrylic-full-dome-safety-mirror-360-viewing-angle-plastic-back>: HTTP status code is not handled or not allowed 2026-01-28 02:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrench-spanner-12-14-6295507>: HTTP status code is not handled or not allowed 2026-01-28 02:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patio-heater-complete-burner>: HTTP status code is not handled or not allowed 2026-01-28 02:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vulcan-shine-round-flame-tower-heater-32000-btu-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 02:02:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:02:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-hex-hd-38-x-12-6293411>: HTTP status code is not handled or not allowed 2026-01-28 02:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-buna-n-pvc-strip-120-l-x-1-2-w-x-1-2-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 02:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 44039 pages (at 97 pages/min), scraped 22386 items (at 79 items/min) 2026-01-28 02:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-8-foot-w-fits-7-3-4-inches-to-8-5-8-inches-dia-brsn-48-9>: HTTP status code is not handled or not allowed 2026-01-28 02:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_machines>: HTTP status code is not handled or not allowed 2026-01-28 02:02:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 02:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090253140-iron-series-two-stage-vertical-air-compressor-5hp-80-gallon>: HTTP status code is not handled or not allowed 2026-01-28 02:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-a-v-belt-a43>: HTTP status code is not handled or not allowed 2026-01-28 02:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprayon-711-the-protector-lubricant-5-gallon>: HTTP status code is not handled or not allowed 2026-01-28 02:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-dominator-extra-stripping-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-28 02:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jea-b18b-post-guard-6285892>: HTTP status code is not handled or not allowed 2026-01-28 02:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65318-cable-lockout-with-6-l-cable-nylon-1-18w-x-6-12h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-3v-cogged-v-belt-3v315>: HTTP status code is not handled or not allowed 2026-01-28 02:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-greenhouse-kit-30w-x-12h-x-60l-natural-gas>: HTTP status code is not handled or not allowed 2026-01-28 02:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorclad-4-layer-epoxy-floor-kit-full-flake-broadcast-600-sq-ft-orbit>: HTTP status code is not handled or not allowed 2026-01-28 02:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86555-ladder-inspecton-tag-2-sided-10pkg-polyester-3w-x-5-3-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-a-v-belt-a23>: HTTP status code is not handled or not allowed 2026-01-28 02:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090250037-honda-gasoline-driven-horizontal-air-compressor-13hp-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 02:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-b-v-belt-b71>: HTTP status code is not handled or not allowed 2026-01-28 02:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-rack-mobile-gear-storage-rack-locker-single-sided-three-24-sections-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-osha-paint-tint-base>: HTTP status code is not handled or not allowed 2026-01-28 02:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-42w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-model-201-plnr-6012291>: HTTP status code is not handled or not allowed 2026-01-28 02:03:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-ezd-ring-reference-binder-1-capacity-red>: HTTP status code is not handled or not allowed 2026-01-28 02:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-42w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-36w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-lined-poly-mailers-8-12w-x-12l-2-mil-white-100pack>: HTTP status code is not handled or not allowed 2026-01-28 02:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-washer-516-jbm-5-50302003>: HTTP status code is not handled or not allowed 2026-01-28 02:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-greenhouse-kit-26w-x-48l-natural-gas>: HTTP status code is not handled or not allowed 2026-01-28 02:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65671-danger-do-not-operate-tag-bilingual-englighspanish-hd-polyester-25pack>: HTTP status code is not handled or not allowed 2026-01-28 02:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-6-l-x-6-w-x-1-8-thick-blue-detectable-60a-high-temp-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 02:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x72-solar-star-greenhouse-w-poly-top-and-ends-drop-down-sides>: HTTP status code is not handled or not allowed 2026-01-28 02:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-42w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-28 02:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-4-x-28-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 02:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34x12x48-solar-star-greenhouse-w-poly-ends-and-drop-down-sides-gas-heater>: HTTP status code is not handled or not allowed 2026-01-28 02:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l0fe15a-fire-extinguisher-l-sign-acrylic-8w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-3-16-dia-vc-1-4-dia-7x19-vinyl-coated-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 02:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-4-w-x-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 02:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-12-l-x-12-w-x-1-8-thick-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/left-hand-handled-economy-melamine-6-compartment-trayvariegated>: HTTP status code is not handled or not allowed 2026-01-28 02:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skch-bkt-hi-vis-bucket-spill-kitchemical6-12-gallon-bucket>: HTTP status code is not handled or not allowed 2026-01-28 02:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-giant-commercial-canopy-24w-x-60l-green>: HTTP status code is not handled or not allowed 2026-01-28 02:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-36w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-10-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 02:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-starter-unit-1-dunnage-shelf-60w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-mixed-load-print-5l-x-3w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-24w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-envelopes-12w-x-15-12l-white-500pack>: HTTP status code is not handled or not allowed 2026-01-28 02:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-u-channel-24-l-x-3-8-w-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-self-seal-envelopes-10w-x-12l-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-28 02:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-hex-m5x12-29-shaper-6293029>: HTTP status code is not handled or not allowed 2026-01-28 02:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-x-9-x-9-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 02:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-90-degree-angle-24-l-x-1-w-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-6-x-4-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 02:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-superflex-wheel-8x250-34-roller>: HTTP status code is not handled or not allowed 2026-01-28 02:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storplus-lid-12-x-18yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-10-x-14-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 02:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lubricant-for-faucets-and-valve-stems-4-oz>: HTTP status code is not handled or not allowed 2026-01-28 02:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-tube-120-l-x-1-3-8-id-x-2-od-black>: HTTP status code is not handled or not allowed 2026-01-28 02:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-2dia-x-24l-0060-thick-gold-50pack>: HTTP status code is not handled or not allowed 2026-01-28 02:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-14-x-18-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 02:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-54w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-boiler-leak-sealant-1-qt>: HTTP status code is not handled or not allowed 2026-01-28 02:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-petg-tube-12-l-x-5-8-id-x-3-4-od-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:03:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4dle-sprocket-model-201-plnr-6012276>: HTTP status code is not handled or not allowed 2026-01-28 02:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ska-20-universal-labpack-spill-kit20-gallon-drum>: HTTP status code is not handled or not allowed 2026-01-28 02:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-18-x-14-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 02:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45a-1-motor-115v60hz1ph-text-6289098>: HTTP status code is not handled or not allowed 2026-01-28 02:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-12-x-7-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 02:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76195-emergency-shower-eye-wash-test-record-tag-polyester-3w-x-5-34h-25pkg>: HTTP status code is not handled or not allowed 2026-01-28 02:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-72w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-plastex-wheel-8x2-12-roller>: HTTP status code is not handled or not allowed 2026-01-28 02:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65371-fire-extinguisher-recharge-maintenance-record-tag-25pkg-poly-3w-x-5-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-36w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 02:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-metal-wheel-5x1-12-12-roller>: HTTP status code is not handled or not allowed 2026-01-28 02:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-36-l-x-36-w-x-1-4-thick-blue-detectable-60a>: HTTP status code is not handled or not allowed 2026-01-28 02:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-film-36-l-x-40-w-x-0-015-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-metal-wheel-5x2-12-34-ball>: HTTP status code is not handled or not allowed 2026-01-28 02:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-6-inch-caster-kit-parpaccst600-for-jetstream-250-and-260>: HTTP status code is not handled or not allowed 2026-01-28 02:03:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 02:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-fan-assembly-parfanj270f0-for-jetstream-270>: HTTP status code is not handled or not allowed 2026-01-28 02:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 44136 pages (at 97 pages/min), scraped 22404 items (at 18 items/min) 2026-01-28 02:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-5-x-24-full-over-lap-container>: HTTP status code is not handled or not allowed 2026-01-28 02:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simonize-stainless-steel-polish-cleaner-oil-based>: HTTP status code is not handled or not allowed 2026-01-28 02:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ring-ret-5100-62-6670008>: HTTP status code is not handled or not allowed 2026-01-28 02:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-stick-roller-ball-pen-black-ink-fine-point-36-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-hd-vending-machine-truck-1800-lb-cap-78in-h-auto-rewin-d-ratchet-1>: HTTP status code is not handled or not allowed 2026-01-28 02:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-elite-blx-series-rollerball-pen-05-mm-assorted-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700444org-pinwheel-pegboard-display-wrb-135w-x-44h-rg-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 02:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700256blu-pegboard-floor-stand-w5-c-channel-sliding-16w-x-60h-bl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 02:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-mount-base-w-handle>: HTTP status code is not handled or not allowed 2026-01-28 02:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-bearing-6005-zz-model-201planer-6012105>: HTTP status code is not handled or not allowed 2026-01-28 02:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-diagnostic-station-blood-pressure-base-unit-with-spo2-module>: HTTP status code is not handled or not allowed 2026-01-28 02:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700460yel-pinwheel-pegboard-display-wrb-135w-x-60h-yl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 02:04:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-36-wide-desk-rustic-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-eye-m20x25px30lg-model-201-6012193>: HTTP status code is not handled or not allowed 2026-01-28 02:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cooler-backroom-shelving-t-bar-style-24-inch-60-inch-3-shelves>: HTTP status code is not handled or not allowed 2026-01-28 02:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-strip-120-l-x-1-w-x-1-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 02:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-48-wide-left-handed-return-table-rustic-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700422gre-pinwheel-pegboard-display-wwheel-rb-16w-x-60h-gn-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 02:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-retractable-belt-barrier-black-mount-red-belt-7-1-2-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 02:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-cu-flat-deluxe-packing-box>: HTTP status code is not handled or not allowed 2026-01-28 02:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/37-x-3-3-4-x-30-3-4-half-slotted-container-full-over-lap-container>: HTTP status code is not handled or not allowed 2026-01-28 02:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wall-mounted-shelf-12-inch-48-inch-shelf-with-hooks>: HTTP status code is not handled or not allowed 2026-01-28 02:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-paper-labels-with-aug-print-fluorescent-pink-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-28 02:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-101380-27spr27-wd-shaper-6095025>: HTTP status code is not handled or not allowed 2026-01-28 02:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-fafnir-ra012rr-6060056>: HTTP status code is not handled or not allowed 2026-01-28 02:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21a-2-6288979>: HTTP status code is not handled or not allowed 2026-01-28 02:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701160-safety-loop-hook-6l-metal-25pack>: HTTP status code is not handled or not allowed 2026-01-28 02:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-80-4-00-8-pneumatic-ribbed-tread-3-centered-hub-5-8-ball-bearings>: HTTP status code is not handled or not allowed 2026-01-28 02:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-12-dia-round-inventory-circle-labels-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brkt-stop-clamp-re511-asa-3064716>: HTTP status code is not handled or not allowed 2026-01-28 02:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-labels-with-aug-print-3l-x-2w-l-fluorescent-pink-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-6-x-6-mailers>: HTTP status code is not handled or not allowed 2026-01-28 02:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-locker-bench-wall-mount-bracket-each-for-20-deep-top-almond-269863tn>: HTTP status code is not handled or not allowed 2026-01-28 02:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-penlight-white-with-pupil-gauge-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-2-x-2-mailers>: HTTP status code is not handled or not allowed 2026-01-28 02:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-4-drive-6-point-1-3-4-short>: HTTP status code is not handled or not allowed 2026-01-28 02:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-self-dumping-forklift-hopper-1-1-2-cubic-yard-6000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 02:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-174-retractable-underbody-truck-slider-174-ramp-track-24-wx12-l-sr2412>: HTTP status code is not handled or not allowed 2026-01-28 02:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-12-l-x-12-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-17mm-short>: HTTP status code is not handled or not allowed 2026-01-28 02:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-1-2-x-3-1-2-x-3-1-2-mailers>: HTTP status code is not handled or not allowed 2026-01-28 02:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnh-2448-6py-with-hardboard-top-24-x-48-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 02:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-loop-rehabilitation-band-heavy-resistance-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-spdl-1-x-12-27-wd-shaper-3742006>: HTTP status code is not handled or not allowed 2026-01-28 02:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs254-flow-switch>: HTTP status code is not handled or not allowed 2026-01-28 02:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b0125a-2-bucket-trap-1-2-in>: HTTP status code is not handled or not allowed 2026-01-28 02:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-1-8-x-8-5-8-x1-2-1-1-1-2-2-kra-bookfold>: HTTP status code is not handled or not allowed 2026-01-28 02:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nba-los-angeles-lakers-seat-cover-20-x-48-14967>: HTTP status code is not handled or not allowed 2026-01-28 02:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-spill-economy-containment-pallet-p2-2-drum-with-drain>: HTTP status code is not handled or not allowed 2026-01-28 02:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-1-1-8-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 02:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-48-1-4w-x-101-1-2h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-28 02:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-15-16-short>: HTTP status code is not handled or not allowed 2026-01-28 02:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-composite-carbon-fiber-bar-12-l-x-1-w-x-1-32-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-w-partial-window-and-raceway-48-1-4w-x-101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 02:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cb12700-600-keys-adjustable-key-box-12w-x-3112d-x-25h-grey-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoline-storage-building-30w-x-15h-x-35l-white-pony-wall>: HTTP status code is not handled or not allowed 2026-01-28 02:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weighted-tuning-fork-64-cps>: HTTP status code is not handled or not allowed 2026-01-28 02:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-x-10-x-4-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 02:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/af12654-external-battery-pack-for-select-safes>: HTTP status code is not handled or not allowed 2026-01-28 02:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-with-partial-window-36-1-4w-x-101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 02:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-do-not-bend-print-3l-x-2w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-1-2-short>: HTTP status code is not handled or not allowed 2026-01-28 02:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-with-partial-window-36-1-4w-x-101-1-2h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-28 02:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-1-w-x-3-4-thick-blue-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 02:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stud-remover-12-mm-1-2-drive>: HTTP status code is not handled or not allowed 2026-01-28 02:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-office-partition-panel-36-1-4w-x-100h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-28 02:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lbl2-lp835-2-led-wraparound-mvolt-2000-lumens>: HTTP status code is not handled or not allowed 2026-01-28 02:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-fragile-liquid-handle-with-print-3l-x-2w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd987vp-eye-wash-station-sign-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 02:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-pass-thru-cable-36-1-4w-x-100h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 02:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-pass-thru-cable-60-1-4w-x-100h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 02:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-pass-thru-cable-36-1-4w-x-100h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-28 02:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-12-l-x-3-4-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 02:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-12-l-x-1-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 02:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-electric-office-partition-panel-with-raceway-24-1-4w-x-100h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 02:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-x-18-white-stayflat-mailers>: HTTP status code is not handled or not allowed 2026-01-28 02:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-door-enclosed-recycled-rubber-tackboard-72w-x36h-black-w-silver-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circle-mailing-labels-2-dia-frosty-white-roll-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 02:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-24-l-x-24-w-x-1-4-thick-black-antistatic-ps-uhmw-esd-23>: HTTP status code is not handled or not allowed 2026-01-28 02:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-made-in-usa-print-3l-x-2w-redwhiteblue-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-30-open-end-static-shielding-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 44234 pages (at 98 pages/min), scraped 22420 items (at 16 items/min) 2026-01-28 02:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-gable-end-14w-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-circle-mailing-labels-1-dia-frosty-white-roll-of-5000>: HTTP status code is not handled or not allowed 2026-01-28 02:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-direct-thermal-labels-3w-x-1l-1-core-4od-white-12pack>: HTTP status code is not handled or not allowed 2026-01-28 02:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-c12049206-cornerstone-workbench-esd-laminate-top-adjustable-height-72-x-30-x-27-9-16>: HTTP status code is not handled or not allowed 2026-01-28 02:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x10-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-1-5-16-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 02:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-flex-11-16-6-point-flex-short>: HTTP status code is not handled or not allowed 2026-01-28 02:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrst813vp-notice-sign-wash-hands-before-returning-to-work-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 02:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-bench-cabinet-maple-top-2-locking-doors-shelf-42-1-8-w-x-25-13-16-d-x-37-1-8-h>: HTTP status code is not handled or not allowed 2026-01-28 02:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-wall-mount-barrier-15-red-danger-keep-out-banner>: HTTP status code is not handled or not allowed 2026-01-28 02:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-labels-with-qc-passed-print-3l-x-2w-bluewhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrst813vs-notice-sign-wash-hands-before-returning-to-work-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 02:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b-1500-fc-n-20-burnisher-w-dust-control-floating-handle-1-5hp-1500-rpm-120v-50-cord>: HTTP status code is not handled or not allowed 2026-01-28 02:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-labels-with-used-print-3l-x-2w-fluorescent-orange-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-4-w-x-3-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 02:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-20mm-short>: HTTP status code is not handled or not allowed 2026-01-28 02:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dp-1334-n-13-floor-machine-3-4-hp-175rpm-120v-50-cord>: HTTP status code is not handled or not allowed 2026-01-28 02:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-48-l-x-48-w-x-1-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 02:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-stand-for-stak-a-cab-cabinet-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcpg101vs-danger-sign-compressed-gas-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 02:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-10mm-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 02:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mvhr842va-notice-sign-wheels-must-be-chocked-before-loading-or-unloading-14wx10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x25-liter-floor-base-cabinet-partially-lined-top-tray-31w-x-20d-x-36-5-8h>: HTTP status code is not handled or not allowed 2026-01-28 02:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x36-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mchg102vp-danger-sign-flammable-liquids-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 02:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-sheet-24-l-x-12-w-x-1-16-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2flexo-pet-general-purpose-sleeving-dia-100-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-5-8-tube-od-zinc-plated-anti-vibration-cush-a-clamp>: HTTP status code is not handled or not allowed 2026-01-28 02:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tab105ctp-caution-barricade-tag-pf-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-28 02:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-polypropylene-weld-mounted-beta-smoothie-clamp>: HTTP status code is not handled or not allowed 2026-01-28 02:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrestling-marial-arts-roll-mats-30-x-6-x-1-5-8-navy-112r-ny>: HTTP status code is not handled or not allowed 2026-01-28 02:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-roll-480-l-x-25-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexo-f6-split-wrappable-sleeve-1-4-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrestling-marial-arts-roll-mats-30-x-30-x-2-purple-122-pp>: HTTP status code is not handled or not allowed 2026-01-28 02:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-dc-1450c-cyclone-style-dust-collector-1450-cfm-2hp-1ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 02:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm2415b-3t-24-bandsaw-with-armorglide-5-hp-3-phase-460v>: HTTP status code is not handled or not allowed 2026-01-28 02:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mase807va-notice-sign-this-area-is-under-24-hour-video-surveillance-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-t-clamp-assembly-for-high-pressure-hoses-pipe-or-tube>: HTTP status code is not handled or not allowed 2026-01-28 02:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-inch-wing-seal-for-stainless-steel-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mppe011va-danger-sign-eye-protection-required-in-this-area-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-strapping-5-8-inches-w-x-0-point-015-inches-x-200-feet>: HTTP status code is not handled or not allowed 2026-01-28 02:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversible-snap-ring-plier-kit-5-piece>: HTTP status code is not handled or not allowed 2026-01-28 02:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-tube-od-stainless-steel-anti-vibe-cush-a-clamp>: HTTP status code is not handled or not allowed 2026-01-28 02:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madm499vp-authorized-personnel-only-sign-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 02:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-4-w-x-1-16-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-28 02:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-grip-st-600-lb-cap-heavy-duty-steel-rolling-ladder-kdhd112242>: HTTP status code is not handled or not allowed 2026-01-28 02:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/internal-torx-socket-set-1-4-3-8-1-2-drive-t10-to-t60-12-piece>: HTTP status code is not handled or not allowed 2026-01-28 02:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-guard-back-panel-with-flush-mount-clip-144l-x-1-14w-x-48h>: HTTP status code is not handled or not allowed 2026-01-28 02:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marque-plexi-double-unit-reception-desk-workstation-124-12-x-49d-x-45-12h-noble-oak>: HTTP status code is not handled or not allowed 2026-01-28 02:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mppe010va-danger-sign-eye-protection-required-in-this-area-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2flexo-pet-general-purpose-sleeving-dia-500-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disc-777f-tr-2-80-yfweight-50inner-200case>: HTTP status code is not handled or not allowed 2026-01-28 02:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pst104-safety-is-the-priority-poster-18w-x-24h-laminated-poly>: HTTP status code is not handled or not allowed 2026-01-28 02:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/split-single-socket-tee-2>: HTTP status code is not handled or not allowed 2026-01-28 02:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2flexo-pet-general-purpose-sleeving-dia-500-red>: HTTP status code is not handled or not allowed 2026-01-28 02:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/split-45-degree-single-socket-tee>: HTTP status code is not handled or not allowed 2026-01-28 02:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-5-8-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 02:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kobi-tall-planter-20-l-x-20-w-x-38-h-square-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mppe219va-danger-sign-hearing-protection-required-in-this-area-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4flexo-pet-general-purpose-sleeving-dia-75-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveplus-powderfree-industrial-grade-vinyl-gloves-xl-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 02:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4flexo-pet-general-purpose-sleeving-dia-200-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveplus-powderfree-industrial-grade-vinyl-gloves-blue-xl-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 02:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lx3-powderfree-textured-industrial-grade-latex-gloves-large-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 02:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/socket-3-8-drive-e16-external-torx>: HTTP status code is not handled or not allowed 2026-01-28 02:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durawrap-1050-ballistic-nylon-wrap-w-velcro-closure-350-dia-25-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/malleable-plug-1>: HTTP status code is not handled or not allowed 2026-01-28 02:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-sheet-12-l-x-12-w-x-1-4-thick-gray-ps-cpvc-17>: HTTP status code is not handled or not allowed 2026-01-28 02:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ts-1044h-10-10-hybrid-style-table-saw-36-rip-1-34hp-1ph-110v>: HTTP status code is not handled or not allowed 2026-01-28 02:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-13-16-x-8-5-16-x-3-1-2-lewisbins-divider-box-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x4-1-5-mil-flat-polypropylene-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powermatic-pm2815fs-floor-standing-drill-press-34-hp-1-phase-120v>: HTTP status code is not handled or not allowed 2026-01-28 02:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparta-clean-in-place-hook-brush-11-1-2-long-green>: HTTP status code is not handled or not allowed 2026-01-28 02:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm2000t-10-table-saw-with-armorglide--extension-table-50-rip-5hp-1ph-230v>: HTTP status code is not handled or not allowed 2026-01-28 02:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-1-2x13-1-5-mil-flat-polypropylene-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-300-l-x-36-w-x-0-004-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duo-sweep-spectrum-1-dia-fiberglass-handle-with-self-locking-flex-tip-48-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x10-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-blade-dispenser-4>: HTTP status code is not handled or not allowed 2026-01-28 02:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-16-open-end-static-shielding-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-48-l-x-12-w-x-1-16-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-28 02:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-key-capacity-key-box-key-lock-7-7-16w-x-3-7-16d-x-9-13-16h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durawrap-1050-ballistic-nylon-wrap-w-velcro-closure-6-dia-150-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-single-socket-tee-1>: HTTP status code is not handled or not allowed 2026-01-28 02:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31-dual-wall-adhesive-heat-shrink-4-sticks-3-16-dia-dia-4-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfp-40vizi4-auto-darkening-welding-helmet-9-13-variable-shade-warpig-graphic>: HTTP status code is not handled or not allowed 2026-01-28 02:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgsh904vp-safety-first-sign-report-all-accidents-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 02:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-type-needle-roller-bearing-metric-mallet-shaped-22mm-bore-34mm-od>: HTTP status code is not handled or not allowed 2026-01-28 02:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-railing-flange-with-toe-board-adapter-1>: HTTP status code is not handled or not allowed 2026-01-28 02:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd931va-emergency-sign-safety-shower-graphic-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x12-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-24-l-x-1-w-x-1-8-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 02:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-2-w-x-3-16-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 02:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tss103ctp-ok-this-scaffold-erected-to-meet-tag-pf-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-28 02:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trs243ptp-out-of-service-tag-pf-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-28 02:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/add-on-single-handrail-socket-1>: HTTP status code is not handled or not allowed 2026-01-28 02:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coxreels-ez-p-lp-325-hv-3-8inx25ft-300psi-ez-coil-safety-performance-spring-retractable-low-pressure->: HTTP status code is not handled or not allowed 2026-01-28 02:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfp-40vizi2-auto-darkening-welding-helmet-9-13-variable-shade-mo2-black>: HTTP status code is not handled or not allowed 2026-01-28 02:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 44332 pages (at 98 pages/min), scraped 22420 items (at 0 items/min) 2026-01-28 02:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-2-w-x-3-8-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 02:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x16-1-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flo-pac-medium-green-band-mop>: HTTP status code is not handled or not allowed 2026-01-28 02:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermashield-aluminized-fiberglass-tube-3-dia-100-silver>: HTTP status code is not handled or not allowed 2026-01-28 02:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-oz-graduated-glass-volumetric-bottles-rubber-lined-phenolic-caps-case-of-24>: HTTP status code is not handled or not allowed 2026-01-28 02:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x30-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-1000-3-x-60-yds-3-mil-clear-24-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mecr606vp-caution-sign-low-overhead-clearance-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 02:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerated-truck-edge-of-dock-leveler-66-usable-w-88-overall-w-30-000-lb-986649>: HTTP status code is not handled or not allowed 2026-01-28 02:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/group-u1-battery-box-black-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 02:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acudor-24x24-drywall-access-door>: HTTP status code is not handled or not allowed 2026-01-28 02:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oroad-off-road-traction-drive-cart-1000-lb-capacity-13-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 02:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-6-x-532-white-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-pour-coffee-ss-bottom-decanters-64-oz-decaf-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5044-pvc-shrink-film-10-x-500-x-75-gauge>: HTTP status code is not handled or not allowed 2026-01-28 02:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-cable-climbing-system-38-dia-1x7-strands-galvanized-steel-cable>: HTTP status code is not handled or not allowed 2026-01-28 02:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-24-x-15-x-12-200lb-testect32-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jat-600-3-8-reversible-drill-r6-series-2000-rpm-90-psi>: HTTP status code is not handled or not allowed 2026-01-28 02:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orthopedic-foam-bed-wedge-pillow-7-x-24-x-24-blue-802-8026-0100>: HTTP status code is not handled or not allowed 2026-01-28 02:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jat-105-3-4-impact-wrench-1500-ft-lbs-r8-series-5-500-rpm-90-psi-9-5-cfm>: HTTP status code is not handled or not allowed 2026-01-28 02:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-1-w-x-1-4-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-28 02:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-safe-key-lock-11-7-16w-x-10-7-16d-x-6-5-8h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stretch-film-with-handles-1000l-x-10w-x-80-gauge-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnimed-wall-storage-cabinet-ambi-top-2-adjustable-shelves-16w-x-8d-x-26-3-4h-grey>: HTTP status code is not handled or not allowed 2026-01-28 02:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnimed-wall-storage-cabinet-ambi-top-1-adjustable-shelf-9w-x-4d-x-12h-beige>: HTTP status code is not handled or not allowed 2026-01-28 02:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vacuum-trap-with-180-degree-connections-3445-3445-joint-size>: HTTP status code is not handled or not allowed 2026-01-28 02:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12v-battery-and-system-tester-ba9>: HTTP status code is not handled or not allowed 2026-01-28 02:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x6-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Sunex-hd-ext-die-grinder>: HTTP status code is not handled or not allowed 2026-01-28 02:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-12-l-x-1-w-x-1-16-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saf-t-grip-cutting-boards-cbg121812yl>: HTTP status code is not handled or not allowed 2026-01-28 02:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cw-stationary-premium-electric-pressure-washer-2000-psi-6-hp-39-gpm-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 02:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-bench-floor-scale-660-lb-x-0-25-lb>: HTTP status code is not handled or not allowed 2026-01-28 02:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caw-stationary-electric-pressure-washer-4000-psi-10-hp-4-gpm-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 02:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-battery-tester-pbt-100>: HTTP status code is not handled or not allowed 2026-01-28 02:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pycnometer-10ml-with-mercury>: HTTP status code is not handled or not allowed 2026-01-28 02:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-7001-heat-traced-emergency-combination-shower-eyeface-wash>: HTTP status code is not handled or not allowed 2026-01-28 02:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psbbadjwte-pipeline-adjustable-ballet-bar>: HTTP status code is not handled or not allowed 2026-01-28 02:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x8-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-12-l-x-1-w-x-1-8-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psdtset-pipeline-small-display-table-with-top-28l-x-16w-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 02:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-pump-kit-p7500>: HTTP status code is not handled or not allowed 2026-01-28 02:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-chill-refreezable-ice-packs-b6180>: HTTP status code is not handled or not allowed 2026-01-28 02:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-treme-guard-edge-protector-12l-x-12w-x-6h-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-495-traditional-series-eyeface-wash>: HTTP status code is not handled or not allowed 2026-01-28 02:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-24-l-x-3-8-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-sef-1800-ca-tw-eye-saver-eyewash-faucet>: HTTP status code is not handled or not allowed 2026-01-28 02:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dax-carbon-fiber-full-brim-50-50-yellow-black>: HTTP status code is not handled or not allowed 2026-01-28 02:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs22-2-semi-automatic-random-side-drive-case-sealer-with-2-tape-head>: HTTP status code is not handled or not allowed 2026-01-28 02:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-12-l-x-3-w-x-1-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/betabrite174-indoor-led-message-sign-24-x-2-18-display-multi-colored>: HTTP status code is not handled or not allowed 2026-01-28 02:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-handle-w-stud-3-8-16-x-1-25-stud-3-07-l-x-2-12-h-die-cast-handle-mh-3058>: HTTP status code is not handled or not allowed 2026-01-28 02:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-36-x-43-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bridge-sandstone-modular-furniture-1>: HTTP status code is not handled or not allowed 2026-01-28 02:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gre-2448-storage-chest-assy-25-x-48-x-24>: HTTP status code is not handled or not allowed 2026-01-28 02:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-3-panel-corner-room-divider-48-x-73-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-12-sheet-24-l-x-12-w-x-3-8-thick-off-white>: HTTP status code is not handled or not allowed 2026-01-28 02:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swk-20-s3-20-i-bar-sealer-w-500i-18-shrink-film-500-ft-heat-gun>: HTTP status code is not handled or not allowed 2026-01-28 02:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prison-bench-3-foot-solid-steel-seating-without-backrest-black>: HTTP status code is not handled or not allowed 2026-01-28 02:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bt-2025-all-purpose-tarp-20-x-25-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poxygrid-pasteur-pipette-can-rack-4-places-7-1-2-x-5-1-2-x>: HTTP status code is not handled or not allowed 2026-01-28 02:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-5-in-1-t-tubing-connectors-4-x-2-branch-polypropylene-12pk>: HTTP status code is not handled or not allowed 2026-01-28 02:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-magnetic-stirring-bar-positioner-retriever-x-12>: HTTP status code is not handled or not allowed 2026-01-28 02:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-15-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 02:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-x-20-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 02:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-56-kra-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 02:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-paper-sheets-50-lbs-12w-x-18l-2000pack>: HTTP status code is not handled or not allowed 2026-01-28 02:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-complete-2-in-corner-compartment-72in-wide-almond>: HTTP status code is not handled or not allowed 2026-01-28 02:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/environmentally-friendly-loose-fill-packing-peanuts-12ftsup3-bag-white>: HTTP status code is not handled or not allowed 2026-01-28 02:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bt-2030-all-purpose-tarp-20-x-30-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-36-l-x-1-3-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 02:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-36-80lj-alum-extension-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 02:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0750-0800-specific-gravity-astm-84h-hydrometer-for-light-liquids>: HTTP status code is not handled or not allowed 2026-01-28 02:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-anti-static-air-foam-rolls-24w-x-250l-x-14-thick-pink-3-rolls>: HTTP status code is not handled or not allowed 2026-01-28 02:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-zone-shadow-board-green-white-68-x-30-aluminum-sb133al>: HTTP status code is not handled or not allowed 2026-01-28 02:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-zone-shadow-board-red-black-68-x-30-pro-series-acrylic-sb112fg>: HTTP status code is not handled or not allowed 2026-01-28 02:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-gun-vac-deluxe-kit>: HTTP status code is not handled or not allowed 2026-01-28 02:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-3-lazer-steel-extension-with-venturi>: HTTP status code is not handled or not allowed 2026-01-28 02:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-with-shoe-7in-w-x-82in-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-recycled-air-foam-roll-48w-x-550l-x-18-thick-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 02:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-xtra-thrust-72-alum-ext-alloy-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 02:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-sheet-rack-5-bay>: HTTP status code is not handled or not allowed 2026-01-28 02:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-grade-tissue-paper-10-lbs-15w-x-20l-scarlet-960-sheets>: HTTP status code is not handled or not allowed 2026-01-28 02:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-grade-tissue-paper-10-lbs-15w-x-20l-citrus-green-960-sheets>: HTTP status code is not handled or not allowed 2026-01-28 02:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-zone-shadow-board-blue-white-68-x-30-pro-series-acrylic-sb129fg>: HTTP status code is not handled or not allowed 2026-01-28 02:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-lazer-palmswitch-18-alum-ext-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 02:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-storage-container-239921-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-5-tpi-the-ax-sawzall-blade-5-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-inch-5-tpi-the-ax-sawzall-blade-25pk>: HTTP status code is not handled or not allowed 2026-01-28 02:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-323-400a-ac-600v-ac-dc-true-rms-clamp-meter-cat-iv-300v-cat-iii-600-v-safety-rating>: HTTP status code is not handled or not allowed 2026-01-28 02:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silica-gel-packets-78w-x-1-12l-white-5000-packs>: HTTP status code is not handled or not allowed 2026-01-28 02:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-116-hvac-multimeter-w-temperature-microamps>: HTTP status code is not handled or not allowed 2026-01-28 02:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-sensor-faucet-elkay-lkb722c>: HTTP status code is not handled or not allowed 2026-01-28 02:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4500-4999-wired-inventory-tag-2-part-carbon-style>: HTTP status code is not handled or not allowed 2026-01-28 02:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-tp175-twistguard-test-probes-w-2mm-diameter-probe-tips>: HTTP status code is not handled or not allowed 2026-01-28 02:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-depressed-center-grinding-wheel-9-x-1-4-x-5-8-11-t27-ceramic-grain-36-grit>: HTTP status code is not handled or not allowed 2026-01-28 02:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/convoluted-foam-sets-6w-x-6l-x-2-thick-charcoal-64pack>: HTTP status code is not handled or not allowed 2026-01-28 02:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hon-10500-series-bridge-47w-x-24d-x-29-1-2h-harvest>: HTTP status code is not handled or not allowed 2026-01-28 02:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 44430 pages (at 98 pages/min), scraped 22420 items (at 0 items/min) 2026-01-28 02:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hon-10500-series-bridge-47w-x-24d-x-29-1-2h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 02:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/virgin-kraft-paper-40-lbs-24w-x-900l-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 02:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-ac283-suregrip-pincer-clips-cat-iv-600-v-cat-iii-1000-v-1-a-rating-ul-listed>: HTTP status code is not handled or not allowed 2026-01-28 02:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rosin-kraft-paper-70-lbs-36w-x-520l-red-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 02:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamping-ring-for-8-glove-ports>: HTTP status code is not handled or not allowed 2026-01-28 02:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-container-mesh-sides-solid-base-23-3-4-x15-3-4-x12-1-4-red-662121rd>: HTTP status code is not handled or not allowed 2026-01-28 02:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-36-l-x-1-2-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryogenic-storage-label-sheets-13mm-dots-for-15-2ml-tubes-white-3840-labels>: HTTP status code is not handled or not allowed 2026-01-28 02:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-chassis-917>: HTTP status code is not handled or not allowed 2026-01-28 02:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-3-4w-8l-endless-poly-roundsling-purple>: HTTP status code is not handled or not allowed 2026-01-28 02:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercialine-stack-chair-polypropylene-black-850-cl-series>: HTTP status code is not handled or not allowed 2026-01-28 02:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbis-stakpak-modular-straight-wall-container-24l-x-15w-x-11-12h-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/captor-pen-holder-1-x-1-x-2-3pk>: HTTP status code is not handled or not allowed 2026-01-28 02:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-36-l-x-2-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 02:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-lab-table-with-book-compartments-black-laminate-top-24wx48lx30h>: HTTP status code is not handled or not allowed 2026-01-28 02:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crinkle-paper-10-lbs-green>: HTTP status code is not handled or not allowed 2026-01-28 02:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-36-l-x-1-3-16-id-x-1-9-16-od-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-ft-l-lift-out-guard-rails-light-duty>: HTTP status code is not handled or not allowed 2026-01-28 02:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crinkle-paper-10-lbs-cognac>: HTTP status code is not handled or not allowed 2026-01-28 02:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-cs215-2w-15a-120-277v-toggle-double-pole-ac-quiet-switch-commercial-grade-grounding-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-esd-safe-vertical-box-dividers-14-1316l-x-7-1332h>: HTTP status code is not handled or not allowed 2026-01-28 02:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atx14ah-powersports-battery-14-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-28 02:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-3l-1-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-28 02:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-14547gz-54w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calibrated-electronic-ss-stem-thermometer-50-200c-58-392f-120mm-47-probe>: HTTP status code is not handled or not allowed 2026-01-28 02:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-1-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-14427gz-42w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-48-l-x-4-w-x-3-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 02:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-36-l-x-5-16-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-calibrated-electronic-verification-lollipop-stem-thermometer-for-general-applications-32158f>: HTTP status code is not handled or not allowed 2026-01-28 02:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-4-x-2-1-8-4-light-green-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 02:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-pegboard-18-x-19-blue-796623bl>: HTTP status code is not handled or not allowed 2026-01-28 02:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-rack-24x36x60-with-64-yellow-drawers>: HTTP status code is not handled or not allowed 2026-01-28 02:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-3w-4l-1-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-28 02:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-3l-1-ply-endless-poly-flat-web-sling>: HTTP status code is not handled or not allowed 2026-01-28 02:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-enviro-safe-liquid-in-glass-pocket-thermometer-0-to-220f-closed-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 02:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/windsor-biodegradable-vacuum-bag-sensorxp12-versamatic-plus-allstar-javelin-12-series>: HTTP status code is not handled or not allowed 2026-01-28 02:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-24-l-x-1-1-4-id-x-1-1-2-od-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-72-x-36-adj-height-workbench-w-drawer-black-plastic-laminate-square-top>: HTTP status code is not handled or not allowed 2026-01-28 02:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-96-x-30-adj-height-workbench-w-drawer-black-shop-top-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 02:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-21608gz-60w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 02:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-easy-read-individually-calibrated-liquid-in-glass-thermometer-10-to-225c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 02:07:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-72-l-x-1-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 02:07:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nobles-paper-vacuum-bag-magna-twin-3000-tennant-model-3280-wide-area-vac>: HTTP status code is not handled or not allowed 2026-01-28 02:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-enviro-safe-liquid-in-glass-pocket-thermometer-0-to-220f-window-metal-case>: HTTP status code is not handled or not allowed 2026-01-28 02:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ma-10-lever-pail-pump>: HTTP status code is not handled or not allowed 2026-01-28 02:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-24-l-x-3-4-id-x-1-1-2-od-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-72-x-30-adj-height-workbench-w-drawer-riser-black-esd-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 02:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-freezer-verification-thermometer-30-to-1c>: HTTP status code is not handled or not allowed 2026-01-28 02:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euro-drawer-8-3-8w-x-11-5-8d-x4-5-8h-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-12-l-x-7-8-id-x-1-od-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-advanced-classroom-training-table-24-x-48-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 02:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-4-x-1-5-8-2-manila-pre-strung-tag-1>: HTTP status code is not handled or not allowed 2026-01-28 02:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-enviro-safe-dry-block-incubator-liquid-in-glass-thermometer-24-to-57c-35mm-immersion>: HTTP status code is not handled or not allowed 2026-01-28 02:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bench-rack-12x36x21-with-12-yellow-drawers>: HTTP status code is not handled or not allowed 2026-01-28 02:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-18l-1-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-28 02:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euro-drawer-8-3-8w-x-11-5-8d-x4-5-8h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-4-x-1-3-8-1-manila-pre-strung-tag-1>: HTTP status code is not handled or not allowed 2026-01-28 02:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-cassius-ceiling-fan-59262-matte-silver>: HTTP status code is not handled or not allowed 2026-01-28 02:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-12-l-x-1-id-x-1-1-2-od-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wood-luggage-rack-with-shoe-shelf-walnut-finish>: HTTP status code is not handled or not allowed 2026-01-28 02:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-54-1-2-x-11-1-2-x-8-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-2-75-deep-tray-shelf-44x25-5-plastic-service-cart>: HTTP status code is not handled or not allowed 2026-01-28 02:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-flat-top-shelf-maintenance-cart-with-5-rubber-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-strength-plastic-3-tray-shelf-service-utility-cart-44-x-25-1-2-5-rubber-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-oil-pump-mobile-system-basic-5-1>: HTTP status code is not handled or not allowed 2026-01-28 02:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-grease-pump-kit-for-35-60-lb-5-to-6-12-gal-pails>: HTTP status code is not handled or not allowed 2026-01-28 02:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-ultra-low-headroom-lift-beam-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ultra-low-headroom-lift-beam-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-24-l-x-5-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 02:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-round-outdoor-bar-table-designer-white-phenolic-top-silver-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35-square-outdoor-table-gray-polymer-top-white-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-72-l-x-1-id-x-1-1-2-od-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw8g-op-open-linear-bearing-wresin-retainer-12id-steel>: HTTP status code is not handled or not allowed 2026-01-28 02:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmp-283ml-urbanti-high-speed-filter-funnels-6pk>: HTTP status code is not handled or not allowed 2026-01-28 02:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-ribbed-armless-task-chair-low-back-white>: HTTP status code is not handled or not allowed 2026-01-28 02:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-ribbed-armless-task-chair-low-back-black>: HTTP status code is not handled or not allowed 2026-01-28 02:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-modular-lounge-sofa-leather-black-hercules-lesley-series>: HTTP status code is not handled or not allowed 2026-01-28 02:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-bolted-brackets-steel-underbody-boxes-18x24>: HTTP status code is not handled or not allowed 2026-01-28 02:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x9-3-milslide-seal-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-304ss-immersion-1-14-613d-1000w-120v-t-stat>: HTTP status code is not handled or not allowed 2026-01-28 02:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-24-l-x-24-w-x-3-8-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 02:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/113172-original-highway-road-flare-kit-20-minute-capacity-6pack>: HTTP status code is not handled or not allowed 2026-01-28 02:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plywood-seating-cafe-stack-chair-natural>: HTTP status code is not handled or not allowed 2026-01-28 02:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spruce-general-use-spray-paint-16-oz-light-gray-12-cans-case-98-15>: HTTP status code is not handled or not allowed 2026-01-28 02:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-viton-sheet-48-l-x-8-w-x-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x6-4-mil-double-track-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-60w-x-14d-x-63h-4-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 02:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-top-coat-16-oz-6-cans-case-16-54>: HTTP status code is not handled or not allowed 2026-01-28 02:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-enamel-16-oz-safety-orange-6-cans-case-16-120>: HTTP status code is not handled or not allowed 2026-01-28 02:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-8-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pe-buchner-table-top-funnel-with-medium-porosity-removable-plate-36-id-1475-height>: HTTP status code is not handled or not allowed 2026-01-28 02:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worktop-refrigerator-drawers-wtrd-32d-93w-wtrd93a-2>: HTTP status code is not handled or not allowed 2026-01-28 02:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mro-industrial-enamel-20-oz-gloss-white-6-cans-case-620-1413>: HTTP status code is not handled or not allowed 2026-01-28 02:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hon5701ga10t-volt-armless-task-chair-black-polyester>: HTTP status code is not handled or not allowed 2026-01-28 02:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-dry-block-incubator-liquid-in-glass-thermometer-18-to-60c-pfa-safety-coated>: HTTP status code is not handled or not allowed 2026-01-28 02:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-10-4-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 02:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/itm-2-58-22-sds-max-hollow-hammer-core-bit>: HTTP status code is not handled or not allowed 2026-01-28 02:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-direct-draw-dispensers-dd-79w-dd78>: HTTP status code is not handled or not allowed 2026-01-28 02:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 44529 pages (at 99 pages/min), scraped 22420 items (at 0 items/min) 2026-01-28 02:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-calibrated-liquid-in-glass-thermometer-1-to-201c-76mm-immersion>: HTTP status code is not handled or not allowed 2026-01-28 02:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/itm-12-glass-drill>: HTTP status code is not handled or not allowed 2026-01-28 02:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-24w-x-24d-x-34h-2-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 02:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-6-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-1-w-x-5-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-dry-block-incubator-liquid-in-glass-thermometer-50-to-110c-pfa-safety-coated>: HTTP status code is not handled or not allowed 2026-01-28 02:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en519-phenolic-cylindrical-handle-wmoldedin-thread-29mm-dia-116mm-length-m12x175>: HTTP status code is not handled or not allowed 2026-01-28 02:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-27u-standard-19-vented-rear-door-glass-front-door>: HTTP status code is not handled or not allowed 2026-01-28 02:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-30-basis-weight-kra-paper>: HTTP status code is not handled or not allowed 2026-01-28 02:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-dvrvcr-wall-mount>: HTTP status code is not handled or not allowed 2026-01-28 02:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-vline-12u-fixed-wall-rack>: HTTP status code is not handled or not allowed 2026-01-28 02:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-jerrican-5-liters-125-gallons-screw-cap-1-id-spout>: HTTP status code is not handled or not allowed 2026-01-28 02:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-cord-tensioner-for-1-1-2-cord-strapping-mul-375>: HTTP status code is not handled or not allowed 2026-01-28 02:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wire-shelves-utility-cart-silver-ep-2-casters-w-brakes-21-w-x-48-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-48-l-x-24-w-x-1-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-4lb-paper-bag-30lb-white-5-x-3-1-3-x-9-3-4-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-25lb-squat-paper-bag-40lb-kraft-brown-8-1-4-x-6-1-8-x-15-7-8-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-12u-side-mount-wall-rack>: HTTP status code is not handled or not allowed 2026-01-28 02:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-24-plastic-square-edge-4-drawer-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 02:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-roof-warning-line-perimeter-ez-grab-dilenator-post-orange-03-765>: HTTP status code is not handled or not allowed 2026-01-28 02:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-24-maple-square-edge-3-drawer-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 02:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-24-maple-square-edge-3-drawer-4-drawer>: HTTP status code is not handled or not allowed 2026-01-28 02:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-43-liter-drum-and-carboy-funnel>: HTTP status code is not handled or not allowed 2026-01-28 02:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-9f-low-pensky-martens-20-to-230f>: HTTP status code is not handled or not allowed 2026-01-28 02:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-corner-connector-kit-72-h-panel>: HTTP status code is not handled or not allowed 2026-01-28 02:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-4-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-5-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-protective-product-sj5312-cylindrical-0-500-w-x-0-140-l-clear-pkg-of-3000>: HTTP status code is not handled or not allowed 2026-01-28 02:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-stopcock-with-ptfe-plug-for-1-4-to-3-8-id-tubing>: HTTP status code is not handled or not allowed 2026-01-28 02:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-60w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vht-extreme-high-temperature-coating-nu-cast-iron-11-oz-aerosol>: HTTP status code is not handled or not allowed 2026-01-28 02:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-three-in-one-multi-channel-pipette-reservoirs-10pk>: HTTP status code is not handled or not allowed 2026-01-28 02:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gx-80f-spherical-plain-thrust-bearing-metric-high-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-36w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-funnel-holder-for-two-1-to-6-funnels>: HTTP status code is not handled or not allowed 2026-01-28 02:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-36w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05-906-outdoor-creamy-pasta-and-vegetables-with-chicken-2-servings-pouch-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05-905-outdoor-cheesy-lasagna-2-servings-pouch-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gx-100f-spherical-plain-thrust-bearing-metric-high-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-24-l-x-12-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-500ml-16oz-polyethylene-wash-bottles-polypropylene-cap-28mm-closure-6pk>: HTTP status code is not handled or not allowed 2026-01-28 02:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-42w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5262-sw-15-amp-125v-duplex-receptacle-self-grounding-white>: HTTP status code is not handled or not allowed 2026-01-28 02:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-48w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-heavy-duty-horse-feed-bunk-with-square-ends-60l-x-40w-x-35h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-5-w-x-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 02:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-oil-based-tech-pen>: HTTP status code is not handled or not allowed 2026-01-28 02:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toddler-jumbo-storage-unit-with-clear-totes-and-lids-48wx18dx245h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-glove-box-27-x-13-x-22>: HTTP status code is not handled or not allowed 2026-01-28 02:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5352-w-20-amp-125v-heavy-duty-grade-duplex-receptacle-white>: HTTP status code is not handled or not allowed 2026-01-28 02:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5361-gy-20a-125v-industrial-series-heavy-duty-grade-single-receptacle-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dehumidifier-commercial-grade-refrigeration-250-pints-a-day-dehumidification-with-water-pump>: HTTP status code is not handled or not allowed 2026-01-28 02:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-50te-2rs-spherical-plain-bearing-metric-high-capacity-sealed>: HTTP status code is not handled or not allowed 2026-01-28 02:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-wall-receiver-black-qw0210>: HTTP status code is not handled or not allowed 2026-01-28 02:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-0600-0710-specific-gravity-combined-form-thermo-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 02:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chem-crest-14-general-purpose-wash-solution-4-x-1-gallon-bottle-700014c>: HTTP status code is not handled or not allowed 2026-01-28 02:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-24w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-2-w-x-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 02:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chem-crest-515-near-neutral-general-wash-solution-4-x-1-gallon-bottle-700515c>: HTTP status code is not handled or not allowed 2026-01-28 02:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secador-clear-20-auto-desiccator-cabinet-100v-12-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 02:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-36w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sv2z-economy-class-2-mesh-safety-vest-with-zipper-hi-viz-green-l>: HTTP status code is not handled or not allowed 2026-01-28 02:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flarealert-standard-battery-powered-led-emergency-beacon-yellow-yb2>: HTTP status code is not handled or not allowed 2026-01-28 02:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geg-70es-spherical-plain-bearing-metric-extended-inner-ring>: HTTP status code is not handled or not allowed 2026-01-28 02:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/presto-power-stak-fully-powered-stacker-2200lb-cap-21-w-forks-over-legs-62-li>: HTTP status code is not handled or not allowed 2026-01-28 02:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-42w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/108in-wide-complete-3-in-corner-compartments-satin-brushed-ic33660-ss>: HTTP status code is not handled or not allowed 2026-01-28 02:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-50es-2rs-spherical-plain-bearing-metric-sealed>: HTTP status code is not handled or not allowed 2026-01-28 02:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-1-1-2-w-x-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 02:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-labeled-4-color-methanol-wide-mouth-wash-bottles-500ml-16oz-pe-w-green-pp-cap-4pk>: HTTP status code is not handled or not allowed 2026-01-28 02:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-12-l-x-3-1-2-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 02:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-guard-rail-connection-tube-48-l-pairs>: HTTP status code is not handled or not allowed 2026-01-28 02:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gez-106es-2rs-spherical-plain-bearing-inch-sealed>: HTTP status code is not handled or not allowed 2026-01-28 02:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-outdoor-umbrella-orange-windmaster-series>: HTTP status code is not handled or not allowed 2026-01-28 02:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-waste-receptacle-with-red-push-door-lid20-x-20-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-folding-bulk-shipping-container-bc4844-27-1500-lb-capacity-48-x-44-1-2-x-27>: HTTP status code is not handled or not allowed 2026-01-28 02:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/space-wall-system-wire-grid-panel-gray-epoxy-36w-x-48l>: HTTP status code is not handled or not allowed 2026-01-28 02:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-vented-labeled-2-color-lyob-wm-wash-bottles-500ml-16oz-pe-w-natural-pp-cap-3pk>: HTTP status code is not handled or not allowed 2026-01-28 02:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/six-unit-charger-adapter-for-ksc-35>: HTTP status code is not handled or not allowed 2026-01-28 02:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-2-1-2-w-x-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 02:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermodisc-steam-trap-td6526-3-4>: HTTP status code is not handled or not allowed 2026-01-28 02:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-kit-with-18-w-louver-36-w-pegboard-72-w-workbench-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-24w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-acetal-bar-12-l-x-2-w-x-3-8-thick-off-white-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 02:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-kit-with-18-w-36-w-pegboards-60-w-workbench-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-way-plastic-connector-black>: HTTP status code is not handled or not allowed 2026-01-28 02:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinstar-teflon-magnetic-stirring-bar-70mm-fits-400ml-beakers-white>: HTTP status code is not handled or not allowed 2026-01-28 02:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-bollard-post-sleeve-4-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-wall-storage-cabinet-assembled-18-x-12-x-26-white-269875wh>: HTTP status code is not handled or not allowed 2026-01-28 02:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-outdoor-storage-shed-9-2-w-x-6-1-d-x-7-1-h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-21-adjustable-compartment-box-11-inch-l-x-7-1-4-inch-w-x-1-3-4-inch-h-clear-2360001>: HTTP status code is not handled or not allowed 2026-01-28 02:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-24w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-metal-stapler>: HTTP status code is not handled or not allowed 2026-01-28 02:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cejn-series-208-full-flow-13-tube>: HTTP status code is not handled or not allowed 2026-01-28 02:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-amber-flood-light-12-24vdc-6-leds-1492116>: HTTP status code is not handled or not allowed 2026-01-28 02:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-16028-pressure-eliminator-nipple-38-body-size-38-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 02:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-36-l-x-1-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 02:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-stationary-floor-support-18w-max-leg-45-5-8h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 44627 pages (at 98 pages/min), scraped 22420 items (at 0 items/min) 2026-01-28 02:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-screen-for-ladder-racks-1501200-1501210-1501110>: HTTP status code is not handled or not allowed 2026-01-28 02:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-room-chair-vinyl-black>: HTTP status code is not handled or not allowed 2026-01-28 02:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-octagon-magnetic-stirring-bar-508-x-8mm-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-amber-low-profile-strobe-light-12v-6-leds-8891910>: HTTP status code is not handled or not allowed 2026-01-28 02:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-sheet-72-l-x-36-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-54w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 02:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-1-1-2-w-x-1-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 02:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-14-gauge-extra-heavy-duty-galvanite-duratough-ventilated-cabinet-48w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 02:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-18x21x72-3-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/correll-econo-line-flip-top-table-24-x-60-gray-granite>: HTTP status code is not handled or not allowed 2026-01-28 02:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-12w-x-15d-x-30h-unassembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 02:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lkec2037ls-explore-pulldown-bridge-kitchen-faucet-lustrous-steel-double-lever-handle>: HTTP status code is not handled or not allowed 2026-01-28 02:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-bar-24-l-x-2-w-x-1-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oversize-push-button-lockout-7254>: HTTP status code is not handled or not allowed 2026-01-28 02:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-box-6-watt-wintergard-plus-heating-cable-120v>: HTTP status code is not handled or not allowed 2026-01-28 02:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thin-line-polystyrene-cd-dvd-storage-cases-clear-25-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-switch-grid-test-tube-rack-12-places-for-25-30mm-tubes-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-6-w-x-5-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-21367b-36w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-dump-table-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 02:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-marker-chisel-tip-low-odor-nontoxic-red-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 02:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-starter-1-wide-12w-x-12d-x-24h-unassembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 02:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-cap-for-1-2-x-1-1-2-rectangular-tubing-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-ghs-sds-double-station-english-spanish-2-binders-recycled-aluminum-6043>: HTTP status code is not handled or not allowed 2026-01-28 02:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-60-l-x-36-w-x-1-4-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 02:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-square-tubing-outrigger-w-universal-slotting-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-w-with-3-4-i-d-vinyl-dipped-ss-multi-ring-tool-holder-for-stainless-steel-locboard>: HTTP status code is not handled or not allowed 2026-01-28 02:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/201002-klp-guard-locking-switchstd-release-12npt-pe>: HTTP status code is not handled or not allowed 2026-01-28 02:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-teflon-fep-straight-cover-glass-forceps-4-1-2-2pk>: HTTP status code is not handled or not allowed 2026-01-28 02:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spray-pump-250ml-8oz-polyethylene-bottles-12pk>: HTTP status code is not handled or not allowed 2026-01-28 02:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-bushel-plastic-bulk-box-truck-steel-chassis-base-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gauge-brad-nail-gun>: HTTP status code is not handled or not allowed 2026-01-28 02:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-1-2w-x-11h-injection-molded-styrene-slatwall-literature-holder-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/190051a-idis-1-tongue-interlock-switch-angled-act-2nc-1no-12npt-pe>: HTTP status code is not handled or not allowed 2026-01-28 02:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/190059a-idis-1-tongue-interlock-switch-angled-act-1nc-1no-12npt-pe>: HTTP status code is not handled or not allowed 2026-01-28 02:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/139016-smr-magnetic-non-contact-switch-8way-2nc-1no-m12>: HTTP status code is not handled or not allowed 2026-01-28 02:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/111016-spr-magnetic-non-contact-switch-8-pin-2nc-1no-m12>: HTTP status code is not handled or not allowed 2026-01-28 02:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-double-bagged-long-handle-sampling-spoons-125ml-1-4-tsp>: HTTP status code is not handled or not allowed 2026-01-28 02:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2w-x-4h-slatgrid-panel-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10020hdcadc-22060-ultra-quiet-oil-free-2-0-hp-10-0-gal-air-compressor220v>: HTTP status code is not handled or not allowed 2026-01-28 02:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-adder-1-wide-12w-x-15d-x-36h-unassembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 02:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/140102-female-qc-lead-8way-10m-black>: HTTP status code is not handled or not allowed 2026-01-28 02:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20040dcadc-ultra-quiet-ultra-oil-free-4-0-hp-20-0-gal-air-compressor>: HTTP status code is not handled or not allowed 2026-01-28 02:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-48-melamine-shelf-maple>: HTTP status code is not handled or not allowed 2026-01-28 02:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-36-l-x-36-w-x-3-16-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-28 02:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-15w-x-15d-x-36h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 02:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cuso-bk-led-outdoor-emergency-light-30k-120-277v-nicad-battery-wet-loc-black>: HTTP status code is not handled or not allowed 2026-01-28 02:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-w-push-trolley-1-ton-15-lift-17-3-9-ft-min-115v>: HTTP status code is not handled or not allowed 2026-01-28 02:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-polypropylene-sterilizing-tray-12-x-8-x-5>: HTTP status code is not handled or not allowed 2026-01-28 02:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-thin-line-hook-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/140011-rope-kit-ss-10m-ss>: HTTP status code is not handled or not allowed 2026-01-28 02:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/232020a-esl-ssl-e-stop-switch-wled-3nc-1no-ss>: HTTP status code is not handled or not allowed 2026-01-28 02:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-1-ton-20-lift-23-3-8-ft-min-230v>: HTTP status code is not handled or not allowed 2026-01-28 02:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2w-x-7h-slatgrid-panel-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 02:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2w-x-7h-slatgrid-panel-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-event-timer-clock>: HTTP status code is not handled or not allowed 2026-01-28 02:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-1-ton-10-lift-23-3-8-ft-min-230v>: HTTP status code is not handled or not allowed 2026-01-28 02:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kb-1021-extra-wide-desk-clamp-keyboard-tray-with-gel-wrist-rest-black>: HTTP status code is not handled or not allowed 2026-01-28 02:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-neoprene-roll-720-l-x-12-w-x-1-8-thick-black-ultra-strength-70a>: HTTP status code is not handled or not allowed 2026-01-28 02:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/141030a-glhd-rope-pull-switch-wled-4nc-2no-die-cast>: HTTP status code is not handled or not allowed 2026-01-28 02:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/141030b-glhd-rope-pull-switch-wled-4nc-2no-110120v-die-cast>: HTTP status code is not handled or not allowed 2026-01-28 02:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-1-ton-15-lift-17-3-9-ft-min-115v>: HTTP status code is not handled or not allowed 2026-01-28 02:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-mouth-500ml-16oz-polyethylene-wash-bottles-natural-pp-cap-53mm-closure-6pk>: HTTP status code is not handled or not allowed 2026-01-28 02:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-fiberglass-step-ladder-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-fiberglass-step-ladder-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-1-8-ton-20-lift-56-9-3-ft-min-230v>: HTTP status code is not handled or not allowed 2026-01-28 02:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-single-sided-starter-unit-medium-duty-5>: HTTP status code is not handled or not allowed 2026-01-28 02:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-attach-polymagnet-rare-earth-ring-magnet-0-75-o-d-x-0-186-i-d-x-0-12-thick>: HTTP status code is not handled or not allowed 2026-01-28 02:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-attach-polymagnet-rare-earth-disc-w-adhesive-1-00-dia-x-0-12-thick>: HTTP status code is not handled or not allowed 2026-01-28 02:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-attach-polymagnet-rare-earth-disc-1-50-dia-x-0-12-thick>: HTTP status code is not handled or not allowed 2026-01-28 02:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-labels-for-protective-labeling-system-1-x-3-1000pk>: HTTP status code is not handled or not allowed 2026-01-28 02:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-60-l-x-36-w-x-3-8-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-28 02:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-original-salesmans-rack-round-tubing-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-series-street-utility-marking-paint-20-oz-orange-fluorescent-20-357-12-case>: HTTP status code is not handled or not allowed 2026-01-28 02:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-five-tier-locker-3-wide-12w-x-12d-x-12h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drain-auger-1-4-x-15>: HTTP status code is not handled or not allowed 2026-01-28 02:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-16-person-locker-starter-69w-x-18d-x-12h-unassembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 02:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-1-wide-12w-x-15d-x-18h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-2-wide-15w-x-18d-x-36h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 02:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-double-sided-starter-unit-extra-2>: HTTP status code is not handled or not allowed 2026-01-28 02:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-12w-x-18d-x-36h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-series-street-utility-marking-paint-20-oz-pink-fluorescent-20-379-12-case>: HTTP status code is not handled or not allowed 2026-01-28 02:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-thumb-screw-6-32-1-2-thread-3-8-head-dia-5-16-head-h-stainless-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 02:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-grid-hook-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 02:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-brass-thumb-screw-4-40-5-16-thread-5-16-head-dia-3-16-head-h-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 02:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knurled-thumb-screw-w-shoulder-m6-x-1-0-25mm-thread-24mm-head-dia-16mm-head-h-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 02:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-t2-plus-8482-66465-dissipative-rubber-tray-liner-16-d-x-24-w-dark-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infrared-thermometer-compact-12-1-26-752-deg-f-32-400-deg-c>: HTTP status code is not handled or not allowed 2026-01-28 02:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-head-t-knob-thumb-screw-m6-x-1-0-15mm-thread-45mm-head-dia-24mm-head-h-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 02:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/angled-wall-corner-guard-18-h-stainless-steel-with-yellow-powder-coat>: HTTP status code is not handled or not allowed 2026-01-28 02:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-dock-door-guard-protects-door-tracks-pallets-fork-lifts-36-l-arm-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6l-round-tubing-w-1-1-4-dia-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8l-round-tubing-w-1-1-4-dia-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coating-thickness-gauge-1250um-50-mils>: HTTP status code is not handled or not allowed 2026-01-28 02:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grab-n-go-high-profile-open-display-merchandiser-78-18w-x-31-12d-x-76-78h>: HTTP status code is not handled or not allowed 2026-01-28 02:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-w-shower-curtain-rod-stainless-steel-953-036000>: HTTP status code is not handled or not allowed 2026-01-28 02:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-one-bay-4>: HTTP status code is not handled or not allowed 2026-01-28 02:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-868strc-n5-surface-mount-horn-strobe-for-outdoor-use-120v-ac-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 44725 pages (at 98 pages/min), scraped 22420 items (at 0 items/min) 2026-01-28 02:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-3-32-thick-black-high-strength-80a-bulk-rs-h80-18>: HTTP status code is not handled or not allowed 2026-01-28 02:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36l-heavyweight-single-slot-with-1-slots-on-2-centers-satin-zinc>: HTTP status code is not handled or not allowed 2026-01-28 02:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30657-diffuser-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 02:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-anywhere-basket-12-6-8-b>: HTTP status code is not handled or not allowed 2026-01-28 02:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fx9n-refrigerant-air-dryer-1-phase-230v-22-cfm-3-4-npt>: HTTP status code is not handled or not allowed 2026-01-28 02:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30647-valve-stem-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 02:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-120-l-x-4-w-x-3-16-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 02:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fx108n-refrigerant-air-dryer-3-phase-400v-246-cfm-1-1-2-npt>: HTTP status code is not handled or not allowed 2026-01-28 02:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-wire-laundry-cart-tapered-no-hanger>: HTTP status code is not handled or not allowed 2026-01-28 02:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-3-32-thick-black-high-strength-90a-bulk-rs-h90-18>: HTTP status code is not handled or not allowed 2026-01-28 02:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrzw120a-xtra-brite-led-random-flash-pattern-white-120vac-0108-amps>: HTTP status code is not handled or not allowed 2026-01-28 02:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4409t-4-100-hp-1188-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corporate-desk-trays-metallic-black-2-trays-organizer-pencil-cup-set>: HTTP status code is not handled or not allowed 2026-01-28 02:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4416t-4-200-hp-3570-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-248mda240a-48-mm-led-stacklight-sounder-module-240v-ac-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a0019-lower-shaft-balancer-bearing-2-shields-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 02:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-chm364a-5-hp-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/briggs-stratton-104m02-0021-f1-gas-engine-725exi-series-vertical-shaft-7-8-crank-shaft>: HTTP status code is not handled or not allowed 2026-01-28 02:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-48xbrmr120a-dual-mode-led-beacon-red-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 02:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indigo-nxt-half-cube-ice-machine-30-wide-750-lbs-24-hrs-prod-water-cooled>: HTTP status code is not handled or not allowed 2026-01-28 02:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-435-4c1-4-inch-vibrating-bell-6v-dc>: HTTP status code is not handled or not allowed 2026-01-28 02:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-149438-danger-respirable-crystalline-silica-sign-7-h-x-10-w-polyester>: HTTP status code is not handled or not allowed 2026-01-28 02:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrma24d-125xbr-xtra-brite-led-multi-mode-amber-24-vdc-0215-amps>: HTTP status code is not handled or not allowed 2026-01-28 02:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cjl1304a-5-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nugget-ice-machine-22-wide-300-lbs-24-hrs-prod-air-cooled-chewy-nugget-ice>: HTTP status code is not handled or not allowed 2026-01-28 02:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-10-bu-tan-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 02:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pool-pump-motor-3-hp-3450-rpm-230v-odp>: HTTP status code is not handled or not allowed 2026-01-28 02:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedge-curb-ramp-22-w-x-24-l-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-150473-prop-65-regulatory-sign-parking-garage-14-x-10-polyester-black-on-white>: HTTP status code is not handled or not allowed 2026-01-28 02:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-fan-motor-1-2-hp-850-rpm-115-230v-teao>: HTTP status code is not handled or not allowed 2026-01-28 02:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closet-bolts-steel-anti-corrosive-bagged-1-4-x-2-1-4>: HTTP status code is not handled or not allowed 2026-01-28 02:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-cem3558t-5-2-hp-1755-rpm-143tc-frame-c-face-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 02:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270fmladapt-270-female-adapter-base-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-nyl-grn-38st-ka6pk-safekey-lockout-padlock-nylon-1-5-steel-shackle-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 02:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-6538-g5-call-for-assistance-kit>: HTTP status code is not handled or not allowed 2026-01-28 02:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cjm3108-1-2-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrmg120a-125xbr-xtra-brite-led-multi-mode-green-120-vac-0108-amps>: HTTP status code is not handled or not allowed 2026-01-28 02:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pool-pump-motor-3-4-hp-3450-rpm-208-230-115v-odp>: HTTP status code is not handled or not allowed 2026-01-28 02:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-dolly-42-l-x-36-w-4000-lb-capacity-tilt-rollers>: HTTP status code is not handled or not allowed 2026-01-28 02:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-105xbrmr24d-dual-mode-led-signal-red-24v-dc>: HTTP status code is not handled or not allowed 2026-01-28 02:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neatheat-left-end-wall-cap-hot-water-hydronic-baseboard-cover-nhl>: HTTP status code is not handled or not allowed 2026-01-28 02:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp2334t-5-20-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-24-bu-black-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 02:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adhesive-transfer-tape-920xl-3-4-x-1000-yds-1-mil-translucent>: HTTP status code is not handled or not allowed 2026-01-28 02:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125strha120a-125-high-output-strobe-amber-120vac>: HTTP status code is not handled or not allowed 2026-01-28 02:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-outdoor-steel-flat-bench-expanded-metal-red>: HTTP status code is not handled or not allowed 2026-01-28 02:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-outdoor-steel-flat-bench-perforated-metal-green>: HTTP status code is not handled or not allowed 2026-01-28 02:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanical-post-table-24-x36-high-profile>: HTTP status code is not handled or not allowed 2026-01-28 02:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-72-inch-w-x-36-inch-d-x-84-inch-h-3-levels-add-on-w-wood-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 02:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cwdm3539-5-hp-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gsx-series-5-drawer-tool-chest-35-7-10-w-x-17-4-5-d-x-23-h>: HTTP status code is not handled or not allowed 2026-01-28 02:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-and-blower-4-57-hp-1550-rpm-115v-teao>: HTTP status code is not handled or not allowed 2026-01-28 02:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-log-book-for-propane-counterbalance-forklift-log-986884>: HTTP status code is not handled or not allowed 2026-01-28 02:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-log-book-for-electric-counterbalance-forklift-log-986885>: HTTP status code is not handled or not allowed 2026-01-28 02:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4104t-5-30-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adirondack-polymer-composite-chair-with-arms-white>: HTTP status code is not handled or not allowed 2026-01-28 02:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-odp-motor-3-hp-1725-rpm-208-230-460v-odp>: HTTP status code is not handled or not allowed 2026-01-28 02:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-gaylord-pallet-container-with-lid-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/car-stop-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-48-inch-w-x-30-inch-d-x-84-inch-h-8-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-motor-1-6-hp-1140-rpm-115-208-230v-teao-f48y-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:10:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/direct_drive_fan_blower_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-female-6mm-tube-x-1-8-bspp-1-l>: HTTP status code is not handled or not allowed 2026-01-28 02:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-premium-matte-presentation-paper-white-8-1-2in-x-11in-50-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cewdm3711t-10-hp-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 44824 pages (at 99 pages/min), scraped 22455 items (at 35 items/min) 2026-01-28 02:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-indus-wrk-shirt-shrt-slv-lght-blue-xl-sp24>: HTTP status code is not handled or not allowed 2026-01-28 02:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vector-duty-motor-3-hp-1755-rpm-230-460v-tenv>: HTTP status code is not handled or not allowed 2026-01-28 02:10:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/direct_drive_fan_blower_motors landed on page that is not a product page. 2026-01-28 02:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cesswdm3611t-3-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-60wx30dx84h-4-levels-starter-no-decking-1200-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-36-inch-w-x-30-inch-d-x-84-inch-h-6-levels-starter-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cdp3316-0-33-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-trash-container-silver-vein-20-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idnm2334t-20te-hp-4000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-polymer-shelf-with-solid-mat-48-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 02:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-electronic-lock-with-digital-screen-36-w-x-24-d-x-75-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 02:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-heavyweight-cleer-adheer-luggage-tag-with-straps-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pool-pump-motor-4-hp-3450-rpm-208-230v-odp>: HTTP status code is not handled or not allowed 2026-01-28 02:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-8-column-opening-lime>: HTTP status code is not handled or not allowed 2026-01-28 02:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-high-3-way-two-60-low-panel>: HTTP status code is not handled or not allowed 2026-01-28 02:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-72-inch-w-x-24-inch-d-1-level-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 02:11:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/inverter_duty_vector_duty_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-wire-shelving-spill-tray-48-l-x-24-w-x-2-1-4-d-9-gallon-capacity-smooth-office-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-fiberglass-wastebaskets-14-qt-2>: HTTP status code is not handled or not allowed 2026-01-28 02:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-short-sleeve-work-shirt-charcoal-4xl-ws20chss4xl>: HTTP status code is not handled or not allowed 2026-01-28 02:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-inch-w-x-24-inch-d-x-84-inch-h-3-levels-add-on-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 02:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-functional-cargo-pant-black-wp80-44x30-wp80bk4430>: HTTP status code is not handled or not allowed 2026-01-28 02:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-pre-configured-wire-shelving-spill-containment-system-36-w-x-24-d-x-84-h-add-on-silver>: HTTP status code is not handled or not allowed 2026-01-28 02:11:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/inverter_duty_vector_duty_motors landed on page that is not a product page. 2026-01-28 02:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-wire-shelving-spill-tray-36-l-x-24-w-x-2-1-4-d-6-5-gallon-capacity-textured-regal-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-hc-20-w-x-20-h-x-1-d-12-ctn>: HTTP status code is not handled or not allowed 2026-01-28 02:11:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ovens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-ez-deck-decking-48-inch-w-x-15-inch-d-x-3-4-inch-h-for-use-w-double-rivets>: HTTP status code is not handled or not allowed 2026-01-28 02:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-particle-board-decking-48-inch-w-x-36-inch-d-x-5-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 02:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l3504-50-5-hp-1425ip44-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jack-plate-with-non-skid-surface-18-18-1-14472>: HTTP status code is not handled or not allowed 2026-01-28 02:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ton-locking-jack-stand-single-unit-14410>: HTTP status code is not handled or not allowed 2026-01-28 02:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-starter-letter-legal-48-w-x-42-d-x-120-h-258195n>: HTTP status code is not handled or not allowed 2026-01-28 02:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-ez-deck-decking-96-inch-w-x-48-inch-d-x-3-4-inch-h-for-use-w-double-rivets>: HTTP status code is not handled or not allowed 2026-01-28 02:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1722t-2-89-hp-1740-1160-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kent-foot-stool-30-w-x-8-h-x-12-d-mri-safe>: HTTP status code is not handled or not allowed 2026-01-28 02:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48mm-external-snap-ring-standard-duty-stamped-carbon-spring-steel-phosphate-din-471>: HTTP status code is not handled or not allowed 2026-01-28 02:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basket-for-ep30h-s30h-p30h>: HTTP status code is not handled or not allowed 2026-01-28 02:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jbos-5-benchtop-oscillating-spindle-sander-1-2hp-1ph-115v>: HTTP status code is not handled or not allowed 2026-01-28 02:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-mesh-task-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 02:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-case-cart-29-5-8-w-x-40-1-2-h-x-29-d-1-s-s-wire-pullout-shelf-1-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 02:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-howard-instrument-table-16-l-x-30-w-x-34-h-on-casters-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 02:11:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ovens landed on page that is not a product page. 2026-01-28 02:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-knob-adjustment-4mm-tube-x-m5-swift-fit-universal-thread-3-4-l>: HTTP status code is not handled or not allowed 2026-01-28 02:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1556t-2-5-hp-1725-850-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-security-shelving-unit-chrome-14-w-x-48-l-x-66-h>: HTTP status code is not handled or not allowed 2026-01-28 02:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 44921 pages (at 97 pages/min), scraped 22508 items (at 53 items/min) 2026-01-28 02:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minicade-barricade-sign-stand-36-h-with-2-panel-2-sheetings-1>: HTTP status code is not handled or not allowed 2026-01-28 02:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lad-eith12-danger-do-not-use-ladder-tag-holder-10-pkg-plastic-2-by-8-white-black-red>: HTTP status code is not handled or not allowed 2026-01-28 02:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em4403t-60-hp-1185-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superfoam-antifatigue-mat-3-x3-5-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 02:12:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-flow-knob-adjustment-14mm-tube-x-1-2-universal-thread-1-2-5-l>: HTTP status code is not handled or not allowed 2026-01-28 02:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/innovera-remanufactured-cn048an-951xl-high-yield-ink-cartridge-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/innovera-remanufactured-cf281a-81a-toner-black>: HTTP status code is not handled or not allowed 2026-01-28 02:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-mailers-5-x-4-x-3-200lb-ect-32-b-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-guard-heavy-metal-model>: HTTP status code is not handled or not allowed 2026-01-28 02:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-laboratory-medical-solid-door-refrigerator-72-cu-ft-nswdr723wws-0>: HTTP status code is not handled or not allowed 2026-01-28 02:12:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 02:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultragutter-guard-9-dia-x-10-l>: HTTP status code is not handled or not allowed 2026-01-28 02:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-straight-tube-175000-btu-40l>: HTTP status code is not handled or not allowed 2026-01-28 02:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-d-carpet-deodorant-powder-breeze-50-lb-container>: HTTP status code is not handled or not allowed 2026-01-28 02:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-3-x-3-corrugated-boxes-200lb-test-ect-32>: HTTP status code is not handled or not allowed 2026-01-28 02:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm3311t-7-5-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-safe-utility-lid-light-green>: HTTP status code is not handled or not allowed 2026-01-28 02:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/humidity-indicator-card-510-60-range-125-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-hazard-protection-jacket-size-men-s-5xl-storm-fly-front-hood-snaps-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:12:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pants-fluorescent-yellow-green-polyurethane-on-75-denier-ripstop-polyester-lg>: HTTP status code is not handled or not allowed 2026-01-28 02:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-bike-wave-bike-rack-flange-mount>: HTTP status code is not handled or not allowed 2026-01-28 02:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-insulated-hoodie-black-polyester-cotton-2xl>: HTTP status code is not handled or not allowed 2026-01-28 02:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9000-lb-capacity-high-rise-scissor-lift-ateattd-slp9k-fpd>: HTTP status code is not handled or not allowed 2026-01-28 02:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-27-shoulder-screw-w-pin-10-24-x-1-5-16-chrome-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemco-scofflaw-fume-hood-48-x-23-x-36>: HTTP status code is not handled or not allowed 2026-01-28 02:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-air-mover-adapter-641770>: HTTP status code is not handled or not allowed 2026-01-28 02:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemco-emergency-showerdecontamination-booth-40-x-36-x-90>: HTTP status code is not handled or not allowed 2026-01-28 02:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemco-ce-fume-hood-wexplosion-proof-light-30-x-24-x-45>: HTTP status code is not handled or not allowed 2026-01-28 02:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/714-jacket-hanger-super-heavy-weight-14l-plastic-cl-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 02:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300ww-bridal-hanger-jumbo-heavy-weight-17l-plastic-cl-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 02:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fellowes-linen-presentation-binding-covers-8-x-11-letter-size-navy-200-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:12:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 02:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardware-46in-in-ground-mount-ada-round-square-tables>: HTTP status code is not handled or not allowed 2026-01-28 02:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-mag-nutsetter-x-1-3-4-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 02:12:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/air_nailers_staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h6fv-optime-95-low-profile-folding-ear-muff-h6fv>: HTTP status code is not handled or not allowed 2026-01-28 02:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deflector-kit-straight-infrared-tube-heaters>: HTTP status code is not handled or not allowed 2026-01-28 02:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vem3665t-5-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:12:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45017 pages (at 96 pages/min), scraped 22567 items (at 59 items/min) 2026-01-28 02:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-degree-coil-framing-nails-3-1-4-x-120-smooth-galvanized-2700-qty>: HTTP status code is not handled or not allowed 2026-01-28 02:12:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/air_tools_accessories/air_nailers_staplers landed on page that is not a product page. 2026-01-28 02:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-3-power-bit-x-3-1-2-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 02:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/isbksc003-individual-stop-bleeding-kit-hemostatic-gauze-2-tourniquets>: HTTP status code is not handled or not allowed 2026-01-28 02:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vl3609t-3-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbis-lid-folding-bulk-shipping-container-40x48>: HTTP status code is not handled or not allowed 2026-01-28 02:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers>: HTTP status code is not handled or not allowed 2026-01-28 02:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-channel-industrial-cable-protector-channel-22000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vefwdm3546t-1-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-desk-wall-mount-pigeonhole-riser-pegboard-panels-with-shelf-34-1-2-w-x-30-d-x-61-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-power-pass-through-cable-32-l>: HTTP status code is not handled or not allowed 2026-01-28 02:13:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrs-2-10-mrh-15-bcb-maxrack-stand-2-sided-bike-rack-77-1-2-l-x-60-w-x-84-h-10-bike-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:13:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roady-polywoven-airbag-36-x-48>: HTTP status code is not handled or not allowed 2026-01-28 02:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-14-16-insert-bit-x-1-1-2-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 02:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/101-t12-eg-all-plastic-maintenance-free-type-i-traffic-barricade-white-foldable>: HTTP status code is not handled or not allowed 2026-01-28 02:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spanish-plastic-sign-peligro-no-entre-personal-autorizado-solamente>: HTTP status code is not handled or not allowed 2026-01-28 02:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks>: HTTP status code is not handled or not allowed 2026-01-28 02:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aircraft-drill-bits-extra-length-116dia-6l-blk-oxide>: HTTP status code is not handled or not allowed 2026-01-28 02:13:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels landed on page that is not a product page. 2026-01-28 02:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-starter-unit-72w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-3-power-bit-x-6-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 02:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-fr-long-sleeve-t-shirt-fluorescent-yellow-green-xl>: HTTP status code is not handled or not allowed 2026-01-28 02:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-hex-mag-bit-holder-w-c-ring-x-3-gunmetal-bronze-s2-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 02:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-compliant-built-in-undercounter-refrigerator-auto-defrost-front-lock-and-white-exterior>: HTTP status code is not handled or not allowed 2026-01-28 02:13:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-wwc3048-hd6phfl-mobile-heavy-duty-cabinet-workbench-steel-top>: HTTP status code is not handled or not allowed 2026-01-28 02:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdvscp2334t-20-hp-5400-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-hex-acorn-nut-3-4-hex-3-4-height-stainless-steel-an-1ss>: HTTP status code is not handled or not allowed 2026-01-28 02:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-foot-patio-umbrella-olefin-hunter-green-silver-pole-venture>: HTTP status code is not handled or not allowed 2026-01-28 02:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-35-gallon-upright-aluminum-hydraulic-reservoir>: HTTP status code is not handled or not allowed 2026-01-28 02:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-wcl1408t-3-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phoenix-battery-charger-24v-16a-2-1-120-240v-blue-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jat-419-1-4-straight-composite-die-grinder>: HTTP status code is not handled or not allowed 2026-01-28 02:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 02:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-18w-x-36l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-desk-72-x-30-charcoal-top-black-base>: HTTP status code is not handled or not allowed 2026-01-28 02:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedestal-with-red-cushion-top-box-file>: HTTP status code is not handled or not allowed 2026-01-28 02:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/operating-scissors-straight-5-1-2-l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 02:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk3000-structural-channel-pallet-rack-8-inch-row-spacer-4-inch-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk2000-boltless-pallet-rack-48-inch-x-96-inch-upright-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-3-tier-esd-14w-x-30l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk2000-boltless-pallet-rack-36-inch-pallet-support-roll-in>: HTTP status code is not handled or not allowed 2026-01-28 02:13:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:13:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-3-8-ring-terminals-1-0-awg-6-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 02:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45109 pages (at 92 pages/min), scraped 22617 items (at 50 items/min) 2026-01-28 02:13:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/sinks/wash_fountains already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-3-8-ring-terminals-12-0-awg-15-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 02:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-rigid-plastic-cylinders-must-be-secured>: HTTP status code is not handled or not allowed 2026-01-28 02:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-269905-2-kwik-n-sure-plug-112-psi-258ft>: HTTP status code is not handled or not allowed 2026-01-28 02:14:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 02:14:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 02:14:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/sinks/wash_fountains>: HTTP status code is not handled or not allowed 2026-01-28 02:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-78034-4-pvc-roof-drain-with-abs-dome-and-dam-collar>: HTTP status code is not handled or not allowed 2026-01-28 02:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 02:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-395168-8-16-test-ball-plug-13-psi-30-ft>: HTTP status code is not handled or not allowed 2026-01-28 02:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/respiratory-hygiene-station-17-7-8-w-x-4-7-16-d-x-19-13-16-h-cherry>: HTTP status code is not handled or not allowed 2026-01-28 02:14:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 02:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x12x4-1-2-kraft-open-top-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-28 02:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10463-satin-disc-wheel-1-4-mandrel-3-aluminum-oxide-medium>: HTTP status code is not handled or not allowed 2026-01-28 02:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-pole-saw-and-tree-pruner>: HTTP status code is not handled or not allowed 2026-01-28 02:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urinal-rebuild-kit-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 02:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fg-series-fiberglass-pole-set-with-wire-raiser>: HTTP status code is not handled or not allowed 2026-01-28 02:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-cut-straight-blade-hand-pruning-saw-wood-handle-11-inch-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-3-tier-esd-24w-x-54l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-x-10-inch-x-8-inch-heavy-duty-boxes>: HTTP status code is not handled or not allowed 2026-01-28 02:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-30126-display-base-pallet-side-stack-solid-top-30w-x-12d-x-6h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-with-high-temp-adhesive-12-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 02:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-24-letter-d>: HTTP status code is not handled or not allowed 2026-01-28 02:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x2-bugle-head-drywall-screws-1032CPG>: HTTP status code is not handled or not allowed 2026-01-28 02:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x2-1-4-carriage-bolt-flat-head-1436CF>: HTTP status code is not handled or not allowed 2026-01-28 02:14:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-36-letter-j>: HTTP status code is not handled or not allowed 2026-01-28 02:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-36w-x-36l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rule-index-cards-40280-3-x-5-assorted-100pack>: HTTP status code is not handled or not allowed 2026-01-28 02:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-visi-sign-fire-alarm-2>: HTTP status code is not handled or not allowed 2026-01-28 02:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-3-tier-esd-21w-x-42l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:14:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper>: HTTP status code is not handled or not allowed 2026-01-28 02:14:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/af4515t-fvw-edge-1-3mp-handheld-digital-microscope-with-white-ultraviolet-leds-10x-220x>: HTTP status code is not handled or not allowed 2026-01-28 02:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-extinguisher-inside-vinyl-2>: HTTP status code is not handled or not allowed 2026-01-28 02:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wd1306-wheel-barrow-tire-size-530-450-6>: HTTP status code is not handled or not allowed 2026-01-28 02:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-panel-shipping-crate-with-lid-pallet-60-x-48-x-48-od>: HTTP status code is not handled or not allowed 2026-01-28 02:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45198 pages (at 89 pages/min), scraped 22672 items (at 55 items/min) 2026-01-28 02:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-9100-system-340voc-dtm-epoxy-mastic-white>: HTTP status code is not handled or not allowed 2026-01-28 02:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards>: HTTP status code is not handled or not allowed 2026-01-28 02:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-high-performance-v2100-rust-preventive-enamel-aerosol-black>: HTTP status code is not handled or not allowed 2026-01-28 02:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7400-series-340-voc-dtm-alkyd-enamel-chestnut-brown>: HTTP status code is not handled or not allowed 2026-01-28 02:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hp-universal-instant-dry-semi-gloss-photo-paper-q8755a-42-x-200-white-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 02:15:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfortable-sleep-king-12-foam-pocket-spring-mattress-2-gel-memory-foam-topper>: HTTP status code is not handled or not allowed 2026-01-28 02:15:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 02:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/display-unit-3-tier-black-epoxy-14-w-x-48-l-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 02:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-af1600-system-ath-field-invert-striping-paint-aero-fluor-or>: HTTP status code is not handled or not allowed 2026-01-28 02:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-rubber-overboots-mens-black-size-1112-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 02:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-platform-bed-frame-14-h-10-pocket-spring-mattress-in-a-box-queen-size>: HTTP status code is not handled or not allowed 2026-01-28 02:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/lathes>: HTTP status code is not handled or not allowed 2026-01-28 02:15:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-weekly-appointment-book-black-4-7-8-x-8-2015-aagg21000>: HTTP status code is not handled or not allowed 2026-01-28 02:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x3-8-3hd-pan-head-high-low-screws-0406HTP>: HTTP status code is not handled or not allowed 2026-01-28 02:15:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/calendars_planners/planners_appointment_books already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-evaporator-filter-for-portable-air-conditioner-with-heat-293164>: HTTP status code is not handled or not allowed 2026-01-28 02:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weekly-monthly-planner-hourly-appointments-8-1-4-x-10-7-8-graphite-2015-aag70950x45>: HTTP status code is not handled or not allowed 2026-01-28 02:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x3-4-fillister-head-machine-screws-1412MSL>: HTTP status code is not handled or not allowed 2026-01-28 02:15:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-diamond-plate-anti-fatigue-mat-15-16-thick-4-x-cut-to-75-black>: HTTP status code is not handled or not allowed 2026-01-28 02:15:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 02:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-led-dock-light-w-25-arm-30w-3000-lumens-5000k-on-off-switch-9-cord>: HTTP status code is not handled or not allowed 2026-01-28 02:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/calendars_planners/planners_appointment_books>: HTTP status code is not handled or not allowed 2026-01-28 02:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dp200-36-round-traffic-channelizer-post-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:15:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-color-word-dater-1-3-4-x-1-faxed-self-inking>: HTTP status code is not handled or not allowed 2026-01-28 02:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-28 02:15:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/gaskets_seals_orings/orings/viton_orings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8469-ultra-containment-berm-foam-wall-model-4-x-4-x-4-copolymer-2000>: HTTP status code is not handled or not allowed 2026-01-28 02:15:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11110-30-psi-14-lm-steel>: HTTP status code is not handled or not allowed 2026-01-28 02:15:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-shelving-unit-36-wx18-dx86-h-solid-shelf>: HTTP status code is not handled or not allowed 2026-01-28 02:15:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes landed on page that is not a product page. 2026-01-28 02:15:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamp_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dividers-for-5-h-drawer-of-modular-drawer-cabinet-36-wx24-d-black>: HTTP status code is not handled or not allowed 2026-01-28 02:15:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/gaskets_seals_orings/orings/viton_orings landed on page that is not a product page. 2026-01-28 02:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-kit-for-5-h-drawer-of-modular-drawer-cabinet-30-wx27-d-black>: HTTP status code is not handled or not allowed 2026-01-28 02:15:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps landed on page that is not a product page. 2026-01-28 02:15:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 02:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bakery-boxes-8in-x-8in-x-4in-white-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:15:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamp_pads>: HTTP status code is not handled or not allowed 2026-01-28 02:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11112-160-psikgcm2-14-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 02:15:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-graphite-rod-34-dia-x-12l>: HTTP status code is not handled or not allowed 2026-01-28 02:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-5-8-bugle-head-drywall-screws-0826HPG>: HTTP status code is not handled or not allowed 2026-01-28 02:15:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 02:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-10000-series-lateral-file-42in-wide-4-drawer-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:15:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 02:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-with-high-temp-adhesive-58-thick-x-1w-x-3l>: HTTP status code is not handled or not allowed 2026-01-28 02:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-illuminated-mushroom-head-pb-metal-bezel-22mm-red-p9m-er4rn>: HTTP status code is not handled or not allowed 2026-01-28 02:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45285 pages (at 87 pages/min), scraped 22716 items (at 44 items/min) 2026-01-28 02:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-side-brush-49-auto-ride-on-sweeper>: HTTP status code is not handled or not allowed 2026-01-28 02:15:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csx3000-power-commercial-series-top-handle-chainsaw-w-battery-holster>: HTTP status code is not handled or not allowed 2026-01-28 02:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-machine-screw-nuts-08NHBZ>: HTTP status code is not handled or not allowed 2026-01-28 02:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8x4-toggle-anchors-3764TBCR>: HTTP status code is not handled or not allowed 2026-01-28 02:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6900-2rs-double-sealed-10mm-bore-22mm-od>: HTTP status code is not handled or not allowed 2026-01-28 02:16:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/color_coding_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-fire-extinguisher-2>: HTTP status code is not handled or not allowed 2026-01-28 02:16:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs landed on page that is not a product page. 2026-01-28 02:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repositionable-address-labels-for-inkjet-printers-1-x-2-5-8-white-750-box-58160>: HTTP status code is not handled or not allowed 2026-01-28 02:16:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils landed on page that is not a product page. 2026-01-28 02:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3d-glow-sign-plastic-fire-alarm>: HTTP status code is not handled or not allowed 2026-01-28 02:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-fork-extensions-72-6w-x-72l-pair>: HTTP status code is not handled or not allowed 2026-01-28 02:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-pushbutton-e-lock-red>: HTTP status code is not handled or not allowed 2026-01-28 02:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6303zznr-double-shielded-wsnap-ring-17mm-bore-47mm-od>: HTTP status code is not handled or not allowed 2026-01-28 02:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14000-lbs-capacity-workbench-36x48x34>: HTTP status code is not handled or not allowed 2026-01-28 02:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x18x72-clearview-welded-bin-cabinet-45-bins>: HTTP status code is not handled or not allowed 2026-01-28 02:16:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/color_coding_labels landed on page that is not a product page. 2026-01-28 02:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmps2712rc-fmpro-stainless-steel-27-wx20-dx66-1-8-h-12-drawer-chest-roller-cabinet-combo>: HTTP status code is not handled or not allowed 2026-01-28 02:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6305nr-open-wsnap-ring-25mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 02:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suredry-14-scope-drying-cabinet-w-e-lock-36-w-x-24-d-x-93-h-sand>: HTTP status code is not handled or not allowed 2026-01-28 02:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-white>: HTTP status code is not handled or not allowed 2026-01-28 02:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-safety-clip>: HTTP status code is not handled or not allowed 2026-01-28 02:16:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reel-lifting>: HTTP status code is not handled or not allowed 2026-01-28 02:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-voltage-370-440-roundrun-capacitor-354-mfd-35-4dvr>: HTTP status code is not handled or not allowed 2026-01-28 02:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vehicle-emergency-safety-warning-triangle>: HTTP status code is not handled or not allowed 2026-01-28 02:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-feet-x-8-feet-fire-retardant-vinyl-nylon-drain-tarp>: HTTP status code is not handled or not allowed 2026-01-28 02:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-flip-placard-combination-pressure-carrying-vehicles>: HTTP status code is not handled or not allowed 2026-01-28 02:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs>: HTTP status code is not handled or not allowed 2026-01-28 02:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronchoscope-drying-cabinet-wall-mount-key-lock-24-w-x-12-3-4-d-x-48-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-poison-inhalation-hazard-6-1>: HTTP status code is not handled or not allowed 2026-01-28 02:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s373pt-ansi-class-e-lightweight-rain-pants-hi-vis-lime-lg-61511>: HTTP status code is not handled or not allowed 2026-01-28 02:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-oxidizer-5-1-2>: HTTP status code is not handled or not allowed 2026-01-28 02:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-1824-8-1>: HTTP status code is not handled or not allowed 2026-01-28 02:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-dangerous-10-2>: HTTP status code is not handled or not allowed 2026-01-28 02:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trex-6300tc-one-piece-ice-traction-device-w-tungsten-carbide-studs-l>: HTTP status code is not handled or not allowed 2026-01-28 02:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-flammable-3-blank-2>: HTTP status code is not handled or not allowed 2026-01-28 02:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-dia-x-72-l-roll-lifting-beam-yellow-18-l-x-40-w-x-78-h-255lbs-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-column-medical-storage-cart-glass-door-22-1-2-w-x-27-d-x-75-3-4-h-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biohazard-waste-bag-disposable-12-x14-100-per-box-red>: HTTP status code is not handled or not allowed 2026-01-28 02:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-savary-dilator-drying-cart-hepa-filter-23-89-100-wx22-lx51-89-100-h-sand>: HTTP status code is not handled or not allowed 2026-01-28 02:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-72-economy-h-beam-adjustable-length-yellow-102-l-x-40-w-x-36-h-425lbs-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-alpine-spring-water-16-9-oz-bottle-35-case>: HTTP status code is not handled or not allowed 2026-01-28 02:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sanitize-your-hands-2-x-3-navy-blueblack>: HTTP status code is not handled or not allowed 2026-01-28 02:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-savary-dilator-drying-cart-hepa-filter-23-89-100-wx22-lx51-89-100-h-purple>: HTTP status code is not handled or not allowed 2026-01-28 02:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-propelled-electric-scale-pallet-truck-scale-pallet-jack-3000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 02:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45385 pages (at 100 pages/min), scraped 22772 items (at 56 items/min) 2026-01-28 02:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6011nr-open-wsnap-ring-55mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 02:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-dia-x-22-76-l-adjustable-length-roll-lifting-beam-yellow-18-lx40-wx86-h-520lbs-10000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 02:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosive-placard-un-3266-removable-vinyl-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-epoxy-wire-shelf-platform-p1424ep-24w-x-14d>: HTTP status code is not handled or not allowed 2026-01-28 02:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-isolation-cart-5-drawers-e-lock-30-w-x-22-l-x-37-1-4-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 02:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilco-lu-2-galvanized-steel-ladder-safety-post>: HTTP status code is not handled or not allowed 2026-01-28 02:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptwpss-wing-knob-pad-lock-type-4x>: HTTP status code is not handled or not allowed 2026-01-28 02:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-isolation-cart-5-drawers-e-lock-30-w-x-22-l-x-37-1-4-h-hammertone-black>: HTTP status code is not handled or not allowed 2026-01-28 02:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rip-fence-5782172>: HTTP status code is not handled or not allowed 2026-01-28 02:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-acrylic-plastic-sheet-316-thick-x-12w-x-12l>: HTTP status code is not handled or not allowed 2026-01-28 02:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-plastic-bar-18-thick-x-12w-x-24l>: HTTP status code is not handled or not allowed 2026-01-28 02:17:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/bearings/linear_bearings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35mm-x-10mm-petri-dish-sterile-clear-polystyrene-960-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-spill-containment-cabinet-large-12w-x-14d-x-28h-aggressive>: HTTP status code is not handled or not allowed 2026-01-28 02:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ml-serological-pipet-individually-wrap-paper-plastic-bag-sterile-polystrene-400-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-emergency-crash-cart-md30-emg1-std-width-4-drawers-breakaway-lock-sand>: HTTP status code is not handled or not allowed 2026-01-28 02:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-181-l-extended-length-pipette-tips-bulk-packed-non-sterile-polypropylene-5000-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-emergency-crash-cart-md30-emg1-std-width-4-drawers-breakaway-lock-hammertone-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:17:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/harnesses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-case-276-carrying-case-with-wheels-42l-x-22w-x-14h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55ml-reagent-reservoir-polystyrene-white-individually-wrapped-sterile-80-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161430-comfort-vest-style-climbing-harness-tongue-buckle-pass-through-m-l>: HTTP status code is not handled or not allowed 2026-01-28 02:17:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/bearings/linear_bearings landed on page that is not a product page. 2026-01-28 02:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-print-shipping-case-p50-143-16l-x-19w-x-5h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fall_protection/harnesses>: HTTP status code is not handled or not allowed 2026-01-28 02:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-height-triple-column-medical-storage-cabinet-60-2-5-wx27-4-5-dx55-3-5-h-cream>: HTTP status code is not handled or not allowed 2026-01-28 02:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/framed-fingerless-work-glove-brown-black-2xl-1-pair-gfd-17kbr2l>: HTTP status code is not handled or not allowed 2026-01-28 02:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-california>: HTTP status code is not handled or not allowed 2026-01-28 02:17:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-divider-dus970-hulk-stacking-bins-qus970-8-1-4-x-29-7-8-x-7-price-per-package-of-6>: HTTP status code is not handled or not allowed 2026-01-28 02:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-warning-light-super-bright-leds-amber-lens-3035-mp-a>: HTTP status code is not handled or not allowed 2026-01-28 02:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-56-flanged-press-insert-stainless-260-002-cr>: HTTP status code is not handled or not allowed 2026-01-28 02:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-notice-aluminum-this-door-is-alarmed>: HTTP status code is not handled or not allowed 2026-01-28 02:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw-9040-3-4-bostitch-style-stick-staples>: HTTP status code is not handled or not allowed 2026-01-28 02:17:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 02:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-plastic-adjustable-lever-stainless-steel-38-16-126-stud-307l>: HTTP status code is not handled or not allowed 2026-01-28 02:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmpsa2710rc-fmpro-all-stainless-27-wx20-dx66-1-8-h-10-drawer-chest-roller-cabinet-combo>: HTTP status code is not handled or not allowed 2026-01-28 02:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-lad-saf-90-ft-vertical-safety-system-galvanized-steel-cable-6118090>: HTTP status code is not handled or not allowed 2026-01-28 02:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-evaporator-for-nexel-model-243006>: HTTP status code is not handled or not allowed 2026-01-28 02:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000b-table-saw-3hp-1ph-230v-50-rip-w-accu-fence-workbench>: HTTP status code is not handled or not allowed 2026-01-28 02:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45481 pages (at 96 pages/min), scraped 22831 items (at 59 items/min) 2026-01-28 02:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-surface-mounted-corner-guard-90-degrees-corner-3-4-inch-wings-4-ft-h-cappuccino-vinyl-w-tape>: HTTP status code is not handled or not allowed 2026-01-28 02:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-132-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 02:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weld-on-excavator-hook-8800-lb-load-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-yellow-no-a1206ylw>: HTTP status code is not handled or not allowed 2026-01-28 02:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ton-m20-pivot-swivel-load-ring>: HTTP status code is not handled or not allowed 2026-01-28 02:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-lifting-locking-screw-clamp-orange-steel-3000-lbs-capacity-1-1-4-opening>: HTTP status code is not handled or not allowed 2026-01-28 02:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-red-no-a1267red>: HTTP status code is not handled or not allowed 2026-01-28 02:18:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-frame-coupler-w-2in-ball-0091091>: HTTP status code is not handled or not allowed 2026-01-28 02:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-gripper-front-lab-coat-light-blue-polycotton-3xl>: HTTP status code is not handled or not allowed 2026-01-28 02:18:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-screw-pin-anchor-shackle>: HTTP status code is not handled or not allowed 2026-01-28 02:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-tongs-2000-lbs-capacity-yellow-steel-adjustable-diameter-15-20-2-28-opening>: HTTP status code is not handled or not allowed 2026-01-28 02:18:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock landed on page that is not a product page. 2026-01-28 02:18:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-0-str-coil-100-ft-ct-zn>: HTTP status code is not handled or not allowed 2026-01-28 02:18:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/strapping_supplies/strapping_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-12-thick-x-34-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 02:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-pmwr-30-walkie-rider-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 02:18:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 02:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-pintle-hook-mount-2-position-w-10in-shank-pm105>: HTTP status code is not handled or not allowed 2026-01-28 02:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 02:18:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wall_mount_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/strapping_supplies/strapping_tools>: HTTP status code is not handled or not allowed 2026-01-28 02:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x36x74-chrome-wire-shelving-with-48-giant-stacking-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 02:18:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-24-6-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-2-thick-x-8-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 02:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/wall_mount_shelving>: HTTP status code is not handled or not allowed 2026-01-28 02:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combination-deadbolt-lock-green-dial-left-hinged>: HTTP status code is not handled or not allowed 2026-01-28 02:18:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 02:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/konnect-wide-storage-bin-24-case-white>: HTTP status code is not handled or not allowed 2026-01-28 02:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fuse-for-wave-series-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 02:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balance-board-28-l-x-26-w-x-5-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 02:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-tape-3-4-inch-x-1000-inch-1-inch-core-clear-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:18:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xxl-balance-board-birch-wood-with-red-balls>: HTTP status code is not handled or not allowed 2026-01-28 02:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballkissen-plus-cushion-15-diameter-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/le-garolite-sheet-132-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 02:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45571 pages (at 90 pages/min), scraped 22889 items (at 58 items/min) 2026-01-28 02:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-adj-height-pallet-stand-with-handle-42-x-48-solid-deck>: HTTP status code is not handled or not allowed 2026-01-28 02:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bowl-boullion-8-4oz-beige>: HTTP status code is not handled or not allowed 2026-01-28 02:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockable-storage-box-7-gallon-269997>: HTTP status code is not handled or not allowed 2026-01-28 02:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockable-storage-box-48-gallon-270000>: HTTP status code is not handled or not allowed 2026-01-28 02:18:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/spill_containment_berms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:18:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 02:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-push-trolley-1-12-15-18>: HTTP status code is not handled or not allowed 2026-01-28 02:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-push-trolley-2-10-14>: HTTP status code is not handled or not allowed 2026-01-28 02:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inter-lok-angle-frame-mirror-18-w-x-36-h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:19:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/insect_repellents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-for-pe-3000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 02:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/spill_containment_berms>: HTTP status code is not handled or not allowed 2026-01-28 02:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-axle-for-pe-3000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 02:19:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-motor-trolley-14-20-366>: HTTP status code is not handled or not allowed 2026-01-28 02:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-compartment-tray-yellow-pt152-10-1-2l-x-5-1-2w-x-2-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 02:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-pump-for-wp-2000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 02:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-dw-nrwrm-9-white>: HTTP status code is not handled or not allowed 2026-01-28 02:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoreline-collection-pellet-underliner-fits-9-1-2-pellet-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-bank-roller-cabinet-w-14-drawers-42-w-x-22-3-8-d-x-38-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 02:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-standard-capacity-xl8-pleated-panel-ext-surface-10-inch-w-x-20-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 02:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-11-standard-capacity-xl11-pleated-panel-ext-surface-16-inch-w-x-20-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 02:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-11-high-capacity-xl11-pleated-panel-extended-surface-12-inch-w-x-24-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 02:19:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/insect_repellents landed on page that is not a product page. 2026-01-28 02:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-double-arm-shelf-bracket-poly-green-8482>: HTTP status code is not handled or not allowed 2026-01-28 02:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-20-inch-w-x-25-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 02:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hcp-50-humidity-chamber-115-volt-56-liters>: HTTP status code is not handled or not allowed 2026-01-28 02:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-24-quickpick-double-open-bins-yellow-2>: HTTP status code is not handled or not allowed 2026-01-28 02:19:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22u-linier-server-cabinet-glass-solid-doors-24-depth>: HTTP status code is not handled or not allowed 2026-01-28 02:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/37u-linier-server-cabinet-glass-glass-doors-36-depth>: HTTP status code is not handled or not allowed 2026-01-28 02:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30w-ultra-high-powered-solar-led-street-light>: HTTP status code is not handled or not allowed 2026-01-28 02:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-2-12-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 02:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-6ft-mobile-convertible-bench-unit-with-ganging-mdf-core-top-protect-edge-oak>: HTTP status code is not handled or not allowed 2026-01-28 02:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marine-emergency-box-11-5-8-l-x-5-1-8-w-x-7-1-8-h-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solar-hybrid-powered-ai-smart-1200-lumens-led-spot-light>: HTTP status code is not handled or not allowed 2026-01-28 02:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-z88200-ar-deck-mounted-double-hole-lab-turret>: HTTP status code is not handled or not allowed 2026-01-28 02:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 02:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-tan-3xl>: HTTP status code is not handled or not allowed 2026-01-28 02:19:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-tite-rite-container-120ml-4-oz-sterile-orange-screw-cap-id-label-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5215zz-double-row-angular-contact-bearing-double-shielded-75mm-bore-x-130mm-od-x-41-3mm-w>: HTTP status code is not handled or not allowed 2026-01-28 02:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-2-12-thick-x-48-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 02:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5206-double-row-angular-contact-bearing-open-30mm-bore-x-62mm-od-x-23-8mm-w>: HTTP status code is not handled or not allowed 2026-01-28 02:19:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/108-series-hi-way-tractor-tire-chains-pair-1087110>: HTTP status code is not handled or not allowed 2026-01-28 02:19:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:19:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 02:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-container-8-oz-240ml-polyethylene-tall-style-snap-lid-white-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-9-step-perforated-cantilever-ladder-42-overhang>: HTTP status code is not handled or not allowed 2026-01-28 02:19:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 02:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-58-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 02:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45666 pages (at 95 pages/min), scraped 22938 items (at 49 items/min) 2026-01-28 02:19:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 02:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x36-chrome-wire-shelving-with-25-4-h-shelf-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 02:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-table-60-x-24-black>: HTTP status code is not handled or not allowed 2026-01-28 02:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-bar-116-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 02:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-breakroom-table-black>: HTTP status code is not handled or not allowed 2026-01-28 02:20:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-90-degree-connector-kit-for-46-h-panel-without-cable>: HTTP status code is not handled or not allowed 2026-01-28 02:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-35-hip-wader-black-steel-toe-w-cleated-outsole-pvc-size-7>: HTTP status code is not handled or not allowed 2026-01-28 02:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-clamp-c-clamp-w-3-ft-7x19-stranded-flex-steel-cable>: HTTP status code is not handled or not allowed 2026-01-28 02:20:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-storage-bin-44w-32-12d-46h-ss-finish>: HTTP status code is not handled or not allowed 2026-01-28 02:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x39-steel-shelving-with-12-6-h-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:20:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 02:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-screw-for-7400-reach-pallet-trucks-all-load-wheels-except-6-x-4-closed-toe>: HTTP status code is not handled or not allowed 2026-01-28 02:20:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters>: HTTP status code is not handled or not allowed 2026-01-28 02:20:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-8hbe30-lw-fits-toyota-model-8hbe30>: HTTP status code is not handled or not allowed 2026-01-28 02:20:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-bar-w-lse-acrylic-adhesive-12-thick-x-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 02:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7ft-wooden-market-umbrella-white>: HTTP status code is not handled or not allowed 2026-01-28 02:20:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 02:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-112-lw-xl-fits-raymond-model-112>: HTTP status code is not handled or not allowed 2026-01-28 02:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-maya-resin-bar-stool-white>: HTTP status code is not handled or not allowed 2026-01-28 02:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-chemtex-green-jacket-w-attached-hood-pvc-on-polyester-size-small>: HTTP status code is not handled or not allowed 2026-01-28 02:20:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 02:20:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear landed on page that is not a product page. 2026-01-28 02:20:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 02:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pedestal-post-cd-premium-fan-292651>: HTTP status code is not handled or not allowed 2026-01-28 02:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-8-1-4x10-3-4x7-black>: HTTP status code is not handled or not allowed 2026-01-28 02:20:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-upper-plastic-form-on-faux-crystal-base-black>: HTTP status code is not handled or not allowed 2026-01-28 02:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-box-for-100-slides-cork-lined-stainless-steel-lock-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-culture-tube-cap-for-25mm-glass-culture-tubes-pp-red-100-bag-5-bags-carton-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-200ls-half-mask-respirator-large-815700>: HTTP status code is not handled or not allowed 2026-01-28 02:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-mannequin-hands-by-side-right-knee-bent-gloss-finish-black>: HTTP status code is not handled or not allowed 2026-01-28 02:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-4000-full-facepiece-respirator-medium-100759105>: HTTP status code is not handled or not allowed 2026-01-28 02:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-cap-style-hard-hat-matte-black-graphite-pattern-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 02:20:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-17-slicker-yellow-overboot-w-strap-cleated-outsole-pvc-size-14>: HTTP status code is not handled or not allowed 2026-01-28 02:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-culture-tube-cap-for-20mm-glass-culture-tubes-polypropylene-green-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-strength-neoprene-rubber-strip-with-acrylic-adhesive-40a-14-thick-x-14-wide-x-10-long>: HTTP status code is not handled or not allowed 2026-01-28 02:20:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 02:20:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/hoists/electric_powered_hoists already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/self_retracting_lifelines_lanyards/self_retracting_lifelines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-diamond-5-12-needle-file-flat-pattern-grit-100-coarse>: HTTP status code is not handled or not allowed 2026-01-28 02:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 02:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-1-thick-x-8-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 02:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45755 pages (at 89 pages/min), scraped 22988 items (at 50 items/min) 2026-01-28 02:20:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combo-vp101-2-abs-w-pack-6-ft>: HTTP status code is not handled or not allowed 2026-01-28 02:20:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/cranes_hoists/hoists/electric_powered_hoists landed on page that is not a product page. 2026-01-28 02:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4829-w-nantucket-window-box-white-polyethylene-16-gallon-capacity-24-x-10-x-115>: HTTP status code is not handled or not allowed 2026-01-28 02:20:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fall_protection/self_retracting_lifelines_lanyards/self_retracting_lifelines landed on page that is not a product page. 2026-01-28 02:21:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-m16-steel-zinc-clear-class-8-8-din-125a-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m8-x-1-25-x-40mm-steel-zinc-yellow-class-10-9-din-931-pkg-of-100-aar08040>: HTTP status code is not handled or not allowed 2026-01-28 02:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 02:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-cabinet-36-w-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2010-pencil-clip-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-suction-hose-d-38x800-641245>: HTTP status code is not handled or not allowed 2026-01-28 02:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-cover-glass-18mm-x-18mm--2-thickness-1-oz-vacuum-pack-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-vented-full-brim-with-4-point-slide-lock-suspension-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:21:12 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 02:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-it-4163-double-sided-tape-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 02:21:12 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:23 2026-01-28 02:21:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-ii-cap-with-accessory-slots-and-6-point-mega-ratchet-suspension-hi-viz-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:21:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-holder-use-with-gtr-ha-series-tube-rotators-12-place-for-50ml-microcentrifuge-tubes-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-24-w-cabinet-everest-blue-5>: HTTP status code is not handled or not allowed 2026-01-28 02:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifuge-tube-16-x-100mm-12ml-polypropylene-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anvil-g1190-2-galv-di-floor-flange>: HTTP status code is not handled or not allowed 2026-01-28 02:21:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock landed on page that is not a product page. 2026-01-28 02:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-28 02:21:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 02:21:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 02:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-inch-dial-1-4-inch-npt-bottom-0-30-psi>: HTTP status code is not handled or not allowed 2026-01-28 02:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-full-brim-with-4-point-slide-lock-suspension-hi-viz-lime>: HTTP status code is not handled or not allowed 2026-01-28 02:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-cap-vented-with-accessory-slots-and-4-point-slide-lock-suspension-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-counter-high-30-w-cabinet-black-1>: HTTP status code is not handled or not allowed 2026-01-28 02:21:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100g-3-point-hitch-sprayer-pto-6500c-pump-50-38-hose>: HTTP status code is not handled or not allowed 2026-01-28 02:21:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 02:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-24-w-cabinet-light-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 02:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serological-pipette-5ml-polystyrene-standard-tip-342mm-sterile-blue-band-pp-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:21:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/bin_shelving/pick_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac2m15-bk-15m-49-2-ft-high-speed-hdmi-cable-with-ethernet>: HTTP status code is not handled or not allowed 2026-01-28 02:21:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/emergency_eyewash_stations_showers/portable_emergency_eyewash_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-cap-for-wg-4-silver-gray-left-return>: HTTP status code is not handled or not allowed 2026-01-28 02:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges>: HTTP status code is not handled or not allowed 2026-01-28 02:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifuge-clinical-enhanced-120-240v-50-60hz-w-12-place-rotor-sleeves-risers>: HTTP status code is not handled or not allowed 2026-01-28 02:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-bench-high-30-w-cabinet-everest-blue-3>: HTTP status code is not handled or not allowed 2026-01-28 02:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254vs-with-acu-rite-200s-3x-q-dro-x-y-z-powerfeeds-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 02:21:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/bin_shelving/pick_racks landed on page that is not a product page. 2026-01-28 02:21:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/emergency_eyewash_stations_showers/portable_emergency_eyewash_stations landed on page that is not a product page. 2026-01-28 02:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jmd-40g-hpf-geared-head-mill-drill-with-power-downfeed-newall-dp500-2-axis-dro>: HTTP status code is not handled or not allowed 2026-01-28 02:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254vs-with-newall-dp700-3x-q-dro-x-y-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 02:21:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-newall-dp700-3x-k-dro-x-y-z-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-swivel-hook-dsh-u-058>: HTTP status code is not handled or not allowed 2026-01-28 02:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-mailer-polypropylene-flip-top-lid-for-5-slides-natural-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-camwear-perforated-spoon-black>: HTTP status code is not handled or not allowed 2026-01-28 02:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-ridge-ergonomics-task-stool-carbon>: HTTP status code is not handled or not allowed 2026-01-28 02:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purpose-industrial-footwear-traction-aid-with-8-tungsten-carbide-spikes-small>: HTTP status code is not handled or not allowed 2026-01-28 02:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45841 pages (at 86 pages/min), scraped 23029 items (at 41 items/min) 2026-01-28 02:21:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-3-axis-acu-rite-203-knee-dro-and-x-y-z-axis-jet-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-newall-dp700-3x-k-dro-x-y-z-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 02:21:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-acu-rite-203-quill-dro-x-y-axis-jet-powerfeeds-usa-p-drw-br already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-false-bottom-16-x-97mm-5ml-with-threads-polypropylene-natural-1500-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:21:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-acu-rite-203-quill-dro-x-y-z-axis-jet-pwrfds-usa-pwrd-drw-br already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-tailpipe-rack-48x18x120>: HTTP status code is not handled or not allowed 2026-01-28 02:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-30-mobile-plastic-square-edge-work-bench-adjustable-height-1-5-8-top>: HTTP status code is not handled or not allowed 2026-01-28 02:22:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-3-axis-acu-rite-203-knee-dro-and-x-y-z-axis-jet-powerfeeds landed on page that is not a product page. 2026-01-28 02:22:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-x-y-axis-jet-powerfeeds-and-usa-powered-draw-bar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners>: HTTP status code is not handled or not allowed 2026-01-28 02:22:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-acu-rite-203-quill-dro-x-y-axis-jet-powerfeeds-usa-p-drw-br landed on page that is not a product page. 2026-01-28 02:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-counter-height-laboratory-freezer-capable-of-35-c-31-f-operation>: HTTP status code is not handled or not allowed 2026-01-28 02:22:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-acu-rite-203-quill-dro-x-y-z-axis-jet-pwrfds-usa-pwrd-drw-br landed on page that is not a product page. 2026-01-28 02:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-safety-ear-muffs-noise-reducing-dielectric-29db-nrr-black>: HTTP status code is not handled or not allowed 2026-01-28 02:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-20ml-polypropylene-orange-stand-up-zipbag-mg-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:22:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_laboratory_refrigeration/medical_freezers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:22:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-x-y-axis-jet-powerfeeds-and-usa-powered-draw-bar landed on page that is not a product page. 2026-01-28 02:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-2-axis-newall-dp700-dro-x-y-axis-jet-powerfeeds-usa-powered-draw-bar>: HTTP status code is not handled or not allowed 2026-01-28 02:22:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/milling_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-nesting-dunnage-rack-36x24x12>: HTTP status code is not handled or not allowed 2026-01-28 02:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-hat-replacement-sweatband>: HTTP status code is not handled or not allowed 2026-01-28 02:22:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_laboratory_cold_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/egh-1740-with-acu-rite-303-dro-with-taper-attachment-and-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 02:22:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-3-axis-acu-rite-203-quill-dro-and-x-axis-jet-powerfeed already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-tissue-paper-20-x-30>: HTTP status code is not handled or not allowed 2026-01-28 02:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-glamour-bubble-mailer-9-x-11-1-2>: HTTP status code is not handled or not allowed 2026-01-28 02:22:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/milling_machines landed on page that is not a product page. 2026-01-28 02:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1850-sm-42-1-8-x-1-8-standard-cut-pointed-cone-bur>: HTTP status code is not handled or not allowed 2026-01-28 02:22:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-stock-picking-ladder-serrated-tread-spl-9-14g>: HTTP status code is not handled or not allowed 2026-01-28 02:22:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_laboratory_cold_storage landed on page that is not a product page. 2026-01-28 02:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cambox-cutlery-insert-box-hi-gloss-plastic-black>: HTTP status code is not handled or not allowed 2026-01-28 02:22:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-3-axis-acu-rite-203-quill-dro-and-x-axis-jet-powerfeed landed on page that is not a product page. 2026-01-28 02:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-with-handle-diamond-essentials-low-form-printed-graduations-pmp-600ml>: HTTP status code is not handled or not allowed 2026-01-28 02:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-electric-cable-hoist-1500-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/berries-plastic-chair-with-chrome-plated-legs-12-ht-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bt500b03-piedmont-vertical-spray-bidet-bone>: HTTP status code is not handled or not allowed 2026-01-28 02:22:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 02:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-deluxe-literature-mailers-24-x-14-x-4->: HTTP status code is not handled or not allowed 2026-01-28 02:22:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-mailing-tubes-8-x-72>: HTTP status code is not handled or not allowed 2026-01-28 02:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-60g-manual-close-flammable-cabinet-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 02:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1853-sd-1-6-00mm-x-6mm-double-cut-ball-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-28 02:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-kit-24-automatic-shutters>: HTTP status code is not handled or not allowed 2026-01-28 02:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/950xxh500-standard-timing-belt-xxh-5-x-95-t76-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 02:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs>: HTTP status code is not handled or not allowed 2026-01-28 02:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 45927 pages (at 86 pages/min), scraped 23079 items (at 50 items/min) 2026-01-28 02:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1849-sg-53-4-76mm-x-12-7mm-double-cut-pointed-tree-bur>: HTTP status code is not handled or not allowed 2026-01-28 02:22:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/computer_stand_accessories/medical_computer_cart_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-molded-ring-binder-top-open-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 02:22:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/esd_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unex-gravity-flow-roller-rack-with-span-track-add-on-48w-x-72d-x-84h-with-4-levels>: HTTP status code is not handled or not allowed 2026-01-28 02:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machinery-skates-adjustable-8-rollers-nylon>: HTTP status code is not handled or not allowed 2026-01-28 02:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-adjust-a-valve-opener-14-hose-516-hose>: HTTP status code is not handled or not allowed 2026-01-28 02:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-vacuum-cleaner-bags-for-powr-flite-bp10p>: HTTP status code is not handled or not allowed 2026-01-28 02:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-vacuum-cleaner-bags-for-windsor-chariot-2-atv-ivac-24>: HTTP status code is not handled or not allowed 2026-01-28 02:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/common-point-ground-cord-for-workmat-10-mm-stud-wresistor-15-ft-cord>: HTTP status code is not handled or not allowed 2026-01-28 02:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-defrost-control-temperature-or-pressure-terminated-s814100>: HTTP status code is not handled or not allowed 2026-01-28 02:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/esd_mats>: HTTP status code is not handled or not allowed 2026-01-28 02:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-flip-n-lite-aluminum-platform-step-ladder-36-inch>: HTTP status code is not handled or not allowed 2026-01-28 02:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fusion-earplugs-regular-corded-blue-yellow-fus30-hp-1000-pairs>: HTTP status code is not handled or not allowed 2026-01-28 02:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-insert-for-new-cryoclear-vials-pink-100-bag-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-n-rack-tube-rack-for-30mm-tubes-24-place-polypropylene-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1-4-x-77-1-2-h-deluxe-office-partition-panel-with-pass-thru-cable-blue-277569bl>: HTTP status code is not handled or not allowed 2026-01-28 02:23:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/computer_stand_accessories/medical_computer_cart_accessories landed on page that is not a product page. 2026-01-28 02:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saw-trax-1000-series-panel-saw-package-52-crosscut>: HTTP status code is not handled or not allowed 2026-01-28 02:23:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/mailboxes_drop_boxes/residential_mailboxes_components already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-therm-o-disc-general-purpose-thermostat-180-160>: HTTP status code is not handled or not allowed 2026-01-28 02:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-attach-pole-pusher-for-motorized-hand-trucks>: HTTP status code is not handled or not allowed 2026-01-28 02:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/610h150-standard-timing-belt-h-1-1-2-x-61-t122-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 02:23:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/clamp_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/210h100-standard-timing-belt-h-1-x-21-t42-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 02:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/funnel-analytical-polypropylene-120mm-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-magnet-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/mailboxes_drop_boxes/residential_mailboxes_components>: HTTP status code is not handled or not allowed 2026-01-28 02:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/380941nist-mini-clamp-meter-greenorange-nist-certified>: HTTP status code is not handled or not allowed 2026-01-28 02:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-carton-rack-w-deck>: HTTP status code is not handled or not allowed 2026-01-28 02:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-security-shelving-unit-48-x-18-x-66>: HTTP status code is not handled or not allowed 2026-01-28 02:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multiple-roll-stand-roll-bar-for-the-mrs-4054>: HTTP status code is not handled or not allowed 2026-01-28 02:23:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/clamp_meters landed on page that is not a product page. 2026-01-28 02:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-fixed-height-led-lcd-monitor-wall-mount-arm-with-vesa-plate-beige>: HTTP status code is not handled or not allowed 2026-01-28 02:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kac-111nwi-10-24-red>: HTTP status code is not handled or not allowed 2026-01-28 02:23:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/air_sanders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-n-rack-tube-rack-for-15ml-and-20ml-microcentrifuge-tube-100-place-polypropylene-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72w-x-30d-modular-workbench-with-5-drawers-shop-tops-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-oneline-guardrail-steel-hdpe-plastic-yellow-96-x-36>: HTTP status code is not handled or not allowed 2026-01-28 02:23:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/specialty_tool_air_tools_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-312x96x100-hazmat-chemical-building>: HTTP status code is not handled or not allowed 2026-01-28 02:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-caddies-beige-125lbs-cap-short-2-swivel-1-w-brake-2-10-easy-wheels>: HTTP status code is not handled or not allowed 2026-01-28 02:23:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/air_tools_accessories/air_sanders landed on page that is not a product page. 2026-01-28 02:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-square-plastic-waste-receptacle-w-dome-lid-42-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 02:23:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/chemical_storage_buildings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-start-mtprtc-digital-temperature-controller-for-seeding-heat-mats-120v-1000w>: HTTP status code is not handled or not allowed 2026-01-28 02:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-methanol-500ml-ldpe-multi-lingual-vent-green-ghs-labeled>: HTTP status code is not handled or not allowed 2026-01-28 02:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-computer-lanstation-workstation-keyboard-tray-34-hx24-wx48-l-black-3-shelf>: HTTP status code is not handled or not allowed 2026-01-28 02:23:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/air_tools_accessories/specialty_tool_air_tools_kits landed on page that is not a product page. 2026-01-28 02:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8916-glowear-174-class-e-lightweight-hi-vis-rain-pants-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-28 02:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46024 pages (at 97 pages/min), scraped 23133 items (at 54 items/min) 2026-01-28 02:23:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/chemical_storage_buildings landed on page that is not a product page. 2026-01-28 02:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6667-chill-its-174-wet-evaporative-cooling-vest-pva-blue-l>: HTTP status code is not handled or not allowed 2026-01-28 02:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs09hx38-38-pitch-38-finished-bore-9-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prolube-43973-grease-fitting-set-metric-80-piece>: HTTP status code is not handled or not allowed 2026-01-28 02:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-solid-shelf-66-x-36>: HTTP status code is not handled or not allowed 2026-01-28 02:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-nesbitt-replacement-motor-850-rpm-115-volts-1-6hp>: HTTP status code is not handled or not allowed 2026-01-28 02:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-18-x25-x1-electrostatic-air-filter-merv-8>: HTTP status code is not handled or not allowed 2026-01-28 02:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armor-poly-vci-hope-sheeting-1-25-mil-48-x-48-blue-750-sheets-roll>: HTTP status code is not handled or not allowed 2026-01-28 02:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armor-wrap-vci-paper-30r-9-x-9-sheets-1000-sheets-pkg>: HTTP status code is not handled or not allowed 2026-01-28 02:24:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-ge-21-29-frame-replacement-motor-115-208-230-volts-1050-rpm-2>: HTTP status code is not handled or not allowed 2026-01-28 02:24:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/heavy_duty_floor_jacks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-roadster-hand-held-portable-foam-roller-black-orange-14-1280>: HTTP status code is not handled or not allowed 2026-01-28 02:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60a30hx1-a-plate-34-pitch-1-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/02ml-8-strip-dome-caps-no-tubes-natural-125-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:24:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors landed on page that is not a product page. 2026-01-28 02:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/heavy_duty_floor_jacks>: HTTP status code is not handled or not allowed 2026-01-28 02:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-shaded-pole-motor-1050-rpm-115-volts-3>: HTTP status code is not handled or not allowed 2026-01-28 02:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectifier-model-610364>: HTTP status code is not handled or not allowed 2026-01-28 02:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-4-4-shaded-pole-motor-115-volts-1550-rpm-7>: HTTP status code is not handled or not allowed 2026-01-28 02:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-split-capacitor-unit-heater-motor-115-volts-1075-rpm-2>: HTTP status code is not handled or not allowed 2026-01-28 02:24:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/unit_bearing_fan_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:24:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-split-capacitor-fan-coil-motor-277-volts-1050-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-permanent-split-capacitor-motor-115-230-volts-1550-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-silver-ep-24w-x-72l-x-40h-2-wire-1-solid-shelf-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-silver-ep-21w-x-30l-x-40h-3-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:24:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/unit_bearing_fan_motors landed on page that is not a product page. 2026-01-28 02:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-dia-black-standard-discs>: HTTP status code is not handled or not allowed 2026-01-28 02:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fragile-delicate-instruments-3-4-red-white>: HTTP status code is not handled or not allowed 2026-01-28 02:24:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/fans_blowers_accessories/fan_blower_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:24:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders landed on page that is not a product page. 2026-01-28 02:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-bulk-storage-locker-double-tier-starter-36x48x45>: HTTP status code is not handled or not allowed 2026-01-28 02:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-bulk-storage-locker-top-48x36>: HTTP status code is not handled or not allowed 2026-01-28 02:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rack-add-on-no-deck-120-inches-w-x-42-inches-d-x-144-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 02:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rack-add-on-no-deck-120-inches-w-x-42-inches-d-x-192-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 02:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46115 pages (at 91 pages/min), scraped 23193 items (at 60 items/min) 2026-01-28 02:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-backstop-108-inch-l-3-inch-offset>: HTTP status code is not handled or not allowed 2026-01-28 02:24:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crown-verity-portable-hand-sink-cold-water>: HTTP status code is not handled or not allowed 2026-01-28 02:24:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/fans_blowers_accessories/fan_blower_motors landed on page that is not a product page. 2026-01-28 02:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs17hx212-1-14-pitch-2-12-finished-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-piece-external-torx-socket-set-with-14-38-12-drive-tang>: HTTP status code is not handled or not allowed 2026-01-28 02:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mantis-1x2-discretion-fly-light-stainless-steel-3-case>: HTTP status code is not handled or not allowed 2026-01-28 02:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-mobile-cabinet-36-wx24-dx37-1-2-h-avalanche-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 02:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-tooth-and-12-point-metric-combination-ratcheting-wrench-set-of-12>: HTTP status code is not handled or not allowed 2026-01-28 02:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys>: HTTP status code is not handled or not allowed 2026-01-28 02:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-glue-boards-black-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wardrobe-storage-cabinet-standard-36x18x72-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 02:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wdp2s2ahc-2-hp-3-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starbucks-by-nespresso-pods-variety-pack-10-count-6-pack-gr>: HTTP status code is not handled or not allowed 2026-01-28 02:25:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/tap_drill_cnc_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:25:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-dj10p1hm-10-hp-3-phase-3505-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wdp5e2ac-5-hp-3-phase-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1003-1-3-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:25:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-ec1002-1-hp-1-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20500-l-47-impact-labels-50g-range-red-50-box>: HTTP status code is not handled or not allowed 2026-01-28 02:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-16-wx46-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 02:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/tool_storage/tap_drill_cnc_storage>: HTTP status code is not handled or not allowed 2026-01-28 02:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44-h-cal-osha-handrail-kit-extra-rolling-safety-ladders>: HTTP status code is not handled or not allowed 2026-01-28 02:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-extra-rolling-safety-ladder-expanded-metal-tread>: HTTP status code is not handled or not allowed 2026-01-28 02:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-coffee-creamer-italian-sweet-creme-0-38-oz-mini-cups-200-carton>: HTTP status code is not handled or not allowed 2026-01-28 02:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slim-jim-beef-and-cheese-1-5-oz-18-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 02:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-ec1002-1-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abt-hc-ucbi-0404-ada-premier-built-in-ada-compliant-undercounter-refrigerator-right-hinged-door-4-6-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 02:25:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-dj10p1hm-10-hp-3-phase-3505-rpm landed on page that is not a product page. 2026-01-28 02:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t2c2jhc-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:25:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t1c2jcr-1-hp-1-phase-1725-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quaker-simply-granola-oats-honey-raisins-almonds-34-5-oz-2-pack-gr>: HTTP status code is not handled or not allowed 2026-01-28 02:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-16-w-stainless-steel-fold-store-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 02:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-2204-1-1-2-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wd12c1jcr-1-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:25:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-t1c2jcr-1-hp-1-phase-1725-rpm landed on page that is not a product page. 2026-01-28 02:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-truckmaster-ii-duct-cleaning-system>: HTTP status code is not handled or not allowed 2026-01-28 02:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-rack-42-wx23-dx72-h-wall-mounted-6-level-red>: HTTP status code is not handled or not allowed 2026-01-28 02:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/03-760-30-recycled-rubber-base-30-lbs-for-trailblazer-xl>: HTTP status code is not handled or not allowed 2026-01-28 02:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-shelving-drawer-unit-36x18x39-36-drawers-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:25:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_area_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-bungee-cord-with-over-molded-nylon-ends-black>: HTTP status code is not handled or not allowed 2026-01-28 02:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn77-40-1-h-184tc-cast-iron-helical-bevel-speed-reducer-184tc-input-flange-40-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 02:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-erlenmeyer-globe-glass-narrow-mouth-dual-graduations-astm-e1404-125ml-12-box>: HTTP status code is not handled or not allowed 2026-01-28 02:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-assembled-electronic-access-locker-single-tier-1-wide-12x15x78>: HTTP status code is not handled or not allowed 2026-01-28 02:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_area_lighting>: HTTP status code is not handled or not allowed 2026-01-28 02:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-assembled-electronic-access-locker-double-tier-3-wide-12x15x78>: HTTP status code is not handled or not allowed 2026-01-28 02:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46207 pages (at 92 pages/min), scraped 23244 items (at 51 items/min) 2026-01-28 02:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/101225-rfx-hh60-rfx-wireless-indicator-for-wheel-axel-scales>: HTTP status code is not handled or not allowed 2026-01-28 02:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-lightweight-hand-operated-li-truck-400-lb-capacity-fixed-legs>: HTTP status code is not handled or not allowed 2026-01-28 02:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-assembled-corrosion-resistant-locker-single-tier-3-wide-12x12x78>: HTTP status code is not handled or not allowed 2026-01-28 02:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microstat-1-high-120vac-clear-msl1-120c>: HTTP status code is not handled or not allowed 2026-01-28 02:26:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-xs13ca1jcr-1-3-hp-1-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-96-w-x-24-d-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lau-double-inlet-blower-wheel-11-1-8-diameter-1-2-bore-8>: HTTP status code is not handled or not allowed 2026-01-28 02:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-yc5e3b-5-hp-3-phase-1170-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:26:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gussetted-poly-bag-rolls-15x9x32-1-5-mil-500-rl>: HTTP status code is not handled or not allowed 2026-01-28 02:26:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-xs13ca1jcr-1-3-hp-1-phase-3450-rpm landed on page that is not a product page. 2026-01-28 02:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-s-614-pvc-check-valve-203-238>: HTTP status code is not handled or not allowed 2026-01-28 02:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-3183-1-2-hp-1-phase-825-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves>: HTTP status code is not handled or not allowed 2026-01-28 02:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-for-trays-and-sheet-pans-with-removable-cutting-board-on-top-32x21-1-2x37-1-2-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-for-10cw-bowl-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camtainer-beverage-carrier-insulated-11-3-4-gallon-20-3-4x16-1-4x24-3-4-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-double-wall-stainless-water-bottle-blue-17-oz-24-case>: HTTP status code is not handled or not allowed 2026-01-28 02:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camcart-heated-food-pan-carrier-front-loading-slate-blue-220v-60-1-ph-nsf>: HTTP status code is not handled or not allowed 2026-01-28 02:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-rack-with-8-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 02:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stack-chair-cart>: HTTP status code is not handled or not allowed 2026-01-28 02:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-for-flat-top-locker-12-x-72-beige>: HTTP status code is not handled or not allowed 2026-01-28 02:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-8-wheel-hardware-standard-duty-tilt-trucks>: HTTP status code is not handled or not allowed 2026-01-28 02:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camsquare-food-container-w-handles-22-qt-11-1-4x12-1-4x15-3-4-clear-red-graduation>: HTTP status code is not handled or not allowed 2026-01-28 02:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-counter-blue-panel-u-shaped-reception-station-1>: HTTP status code is not handled or not allowed 2026-01-28 02:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-food-bars-work-table-cold-food-60-x-36-standard-6-swivel-casters-with-brakes-hot-red>: HTTP status code is not handled or not allowed 2026-01-28 02:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-5-16-male-stud-x-5-32-tube>: HTTP status code is not handled or not allowed 2026-01-28 02:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-metal-release-collet-4mm-tube-x-m5-bspp>: HTTP status code is not handled or not allowed 2026-01-28 02:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-storage-cabinet-48x22x84>: HTTP status code is not handled or not allowed 2026-01-28 02:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matrix-guard-machine-enclosure-hinge-door-3-w-x-5-6-h>: HTTP status code is not handled or not allowed 2026-01-28 02:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-flat-top-stainless-steel-undershelf-workbench-36-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 02:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducing-manifold-8mm-tube-x-4mm-tube-x-1-4-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 02:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l100-1-2-inch-bore-diameter-1-8-x-1-16-keyway>: HTTP status code is not handled or not allowed 2026-01-28 02:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-metal-release-collet-branch-tee-4mm-tube-x-m5-bspp>: HTTP status code is not handled or not allowed 2026-01-28 02:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-360-electronic-level-and-protractor-ip67>: HTTP status code is not handled or not allowed 2026-01-28 02:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/styli-for-dial-test-indicators-1-8-inch-stem-dia->: HTTP status code is not handled or not allowed 2026-01-28 02:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-bevelled-edge-square-grade-0-3-7-8-inch-l-x-2-13-16-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 02:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-24-inch-reach-w-o-interlock-handle-24-inch-l-x-10-inch-w-24-lb>: HTTP status code is not handled or not allowed 2026-01-28 02:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-single-face-foam-dispenser-36-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 02:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-catch-trap-w-remote-control-36l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 02:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46302 pages (at 95 pages/min), scraped 23301 items (at 57 items/min) 2026-01-28 02:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-defender-vent-cover-8l-plastic-brown>: HTTP status code is not handled or not allowed 2026-01-28 02:26:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/general_purpose_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-w-integrated-shackle-516-dia-x-100l>: HTTP status code is not handled or not allowed 2026-01-28 02:27:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bistro-36-dining-height-table-round-whitewash>: HTTP status code is not handled or not allowed 2026-01-28 02:27:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-silver-lines-slab-door-wood-36w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 02:27:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocala-gold-lines-slab-door-wood-30w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 02:27:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/general_purpose_cleaners landed on page that is not a product page. 2026-01-28 02:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/naples-gold-lines-slab-door-wood-30w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 02:27:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_plates_braces already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lila-3-piece-square-glass-metal-table-w-stack-chairs-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 02:27:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks landed on page that is not a product page. 2026-01-28 02:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-30l-x-3w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-28 02:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 02:27:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-40l-x-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 02:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 02:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 02:27:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 02:27:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_plates_braces landed on page that is not a product page. 2026-01-28 02:27:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/espresso-whole-bean-coffee-arabica-2-2-lb-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 02:27:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/food_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearpac-large-nacho-tray-3-3-oz-6-3-16-l-x-6-3-16-w-x-1-5-8-h-clear-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:27:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/takeout_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 02:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 02:27:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 02:27:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/world-art-compostable-food-container-3-1-16-dia-x-2-3-8-h-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 02:27:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 02:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individually-wrapped-moist-towelettes-6-l-x-4-w-lemon-scent-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 02:27:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/food_wraps landed on page that is not a product page. 2026-01-28 02:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/foodservice_disposables/takeout_containers>: HTTP status code is not handled or not allowed 2026-01-28 02:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-khaki-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 02:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-dining-set-36-in-round-x-29-in-h-table-4-chairs-black>: HTTP status code is not handled or not allowed 2026-01-28 02:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/terry-adult-bib-w-hook-loop-strap-21l-x-33w-blue-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-steel-rollator-w-8-casters-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 02:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclining-wheelchair-w-desk-length-arms-nylon-18w-seat>: HTTP status code is not handled or not allowed 2026-01-28 02:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-instant-cold-pack-9l-x-5-34w-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 02:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simply-soft-cotton-swabs-50-per-pack48-packs-per-case>: HTTP status code is not handled or not allowed 2026-01-28 02:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pharmacy-upright-refrigerator-16-cu-ft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 02:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-stainless-steel-washing-machine-connector-48l-34-x-34-fem-hose-x-fem-hose>: HTTP status code is not handled or not allowed 2026-01-28 02:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-shower-head-2-12-dia-18-gpm>: HTTP status code is not handled or not allowed 2026-01-28 02:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delta-repair-kit-for-ball-style-for-ball-style-lever-handle-faucets-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 02:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-gym-mat-76l-x-36w-x-2h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/myo-roller-6-dia-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-tap-keg-cooler-1-glass-door-54-cuft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wine-cooler-94-bottles-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46386 pages (at 84 pages/min), scraped 23342 items (at 41 items/min) 2026-01-28 02:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scentiva-disinfecting-wipes-pacific-breeze-coconut-75-wipescanister-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 02:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bellows-package-for-98-in-x-32-in-power-scissor-lift-table-293225>: HTTP status code is not handled or not allowed 2026-01-28 02:27:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/ratchets_drive_tools/ratchets_extensions_adapters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-6-door-digital-wood-locker-36-w-x-15-d-x-72-h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 02:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/counter-height-cabinet-w-drawer--laminate-top-30w-x-18d-x-36h-pure-green>: HTTP status code is not handled or not allowed 2026-01-28 02:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-45h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-28 02:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/culture-tube-polystyrene-sterile-16-x-100-mm-12-ml-capacity-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 02:28:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/ratchets_drive_tools/ratchets_extensions_adapters landed on page that is not a product page. 2026-01-28 02:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-enhanced-visibility-full-zip-hoodie-polyester-fleece-navy-medium>: HTTP status code is not handled or not allowed 2026-01-28 02:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-waterproof-flame-resistant-winter-quilted-jacket-class-1-black-large>: HTTP status code is not handled or not allowed 2026-01-28 02:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diy-4th-gen-e-star-ductless-mini-split-heat-pump-24000-btu-205-seer-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 02:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-platform-truck-w-end--side-handle-3600-lb-cap-48l-x-30w-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-truck-w-rigid--swivel-casters-3600-lb-cap-60l-x-30w-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkliftable-truck-w-2-shelves-3600-lb-cap-53-12l-x-30w-x-69h-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-shelf-truck-2-handle-3600-lb-capacity-71l-x-30w-x-34h-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6668-hi-vis-safety-cooling-vest-class-2-medium-lime>: HTTP status code is not handled or not allowed 2026-01-28 02:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8381-hi-vis-4-in-1-winter-bomber-jacket-3xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-5541-handheld-barcode-scanner-holster-w-belt-loop-large-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8280bk-hi-vis-performance-t-shirt-black-bottom-class-2-m-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7021-hi-vis-cr-gloves-nitrile-coated-ansi-a2-xl-lime-144-pairs>: HTTP status code is not handled or not allowed 2026-01-28 02:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7070-cut-resistant-gloves-nitrile-coated-ansi-a7-2xl-green-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 02:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7021-hi-vis-cut-resistant-gloves-nitrile-coated-ansi-a2-l-lime-144-pairs>: HTTP status code is not handled or not allowed 2026-01-28 02:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8217ba-breakaway-mesh-vest-class-2-sm-lime>: HTTP status code is not handled or not allowed 2026-01-28 02:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quint-face-mask-dispenser-8w-x-5-1316d-x-23-18h-quartz-beige>: HTTP status code is not handled or not allowed 2026-01-28 02:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-air-impact-wrench-1100-ft-lbs-torque-pistol-grip-6-extended-anvil>: HTTP status code is not handled or not allowed 2026-01-28 02:28:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/impact_wrenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-pencil-grinder-18-collet-burr-60000-rpm-01-hp-rear-exhaust>: HTTP status code is not handled or not allowed 2026-01-28 02:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tier-3-door-digital-locker-12in-w-x-15in-d-x-78in-h-tan-assembled>: HTTP status code is not handled or not allowed 2026-01-28 02:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealing-belt-for-hl-m810-band-sealer>: HTTP status code is not handled or not allowed 2026-01-28 02:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-kf-450f>: HTTP status code is not handled or not allowed 2026-01-28 02:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/air_tools_accessories/impact_wrenches>: HTTP status code is not handled or not allowed 2026-01-28 02:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-pad-for-w-650i-w-650ic>: HTTP status code is not handled or not allowed 2026-01-28 02:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shatter-resistant-round-convex-mirror-glass-outdoor-18-dia>: HTTP status code is not handled or not allowed 2026-01-28 02:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensor-bathroom-sink-faucet-0-5-gpm-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tough-coat-adv-spray-paint-w-rust-barrier-tech-20-oz-cap-galvanizing-gray-primer>: HTTP status code is not handled or not allowed 2026-01-28 02:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cone-shaped-bur-for-stainless-steel-2l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 02:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointed-cone-bur-double-cut-2-18l-x-18-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 02:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-bristle-brushes-34-chuck-size-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 02:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t5-led-tube-light-bulb-miniature-bi-pin-base-12w-1500-lumens-5000k-super-white>: HTTP status code is not handled or not allowed 2026-01-28 02:28:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bur-box-diamond-cut-sa5-sc3-sc5-sd5-sf3-sf5-sg3-sl4-set-of-8>: HTTP status code is not handled or not allowed 2026-01-28 02:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nextpette-variable-volume-pipette-sterile-05-5ml>: HTTP status code is not handled or not allowed 2026-01-28 02:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46482 pages (at 96 pages/min), scraped 23400 items (at 58 items/min) 2026-01-28 02:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-full-sensor-for-ice-machine-on-nexel-models-243318-243320>: HTTP status code is not handled or not allowed 2026-01-28 02:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultracoat-round-picnic-table-span-leg-steel-black-46l>: HTTP status code is not handled or not allowed 2026-01-28 02:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-14w-x-60h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 02:29:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs landed on page that is not a product page. 2026-01-28 02:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-add-on-48l-x-40w-x-72h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-14w-x-84h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 02:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-gard-h1pro-safety-helmet-non-vented-fas-trac-iii-pivot-ratchet-suspension-red>: HTTP status code is not handled or not allowed 2026-01-28 02:29:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/wall_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-padded-lightweight-knee-sleeves-lxl-black>: HTTP status code is not handled or not allowed 2026-01-28 02:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reelsafe-spring-retractable-hose-reel-300-psi-12-id-x-50l>: HTTP status code is not handled or not allowed 2026-01-28 02:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-yb14l-a2-12v-12ah-210-cca-battery>: HTTP status code is not handled or not allowed 2026-01-28 02:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-ytx16-bs-12v-14ah-230cca-battery>: HTTP status code is not handled or not allowed 2026-01-28 02:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-aegir-afasm-half-frame-safety-glasses-orange-mirror-lens-clear-smoke-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobilecare-multi-storage-bin-w-side-mount-accessory-rail-9l-x-5w-x-10h-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:29:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/wall_air_conditioners landed on page that is not a product page. 2026-01-28 02:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-2-bar-steel-ladder-roof-rack-for-ram-promaster-city-2014-on-black>: HTTP status code is not handled or not allowed 2026-01-28 02:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secure-click-organic-vapor-acid-gas-cartridge-filter-p100-d80923>: HTTP status code is not handled or not allowed 2026-01-28 02:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/military-grade-cargo-lifting-net-4500-lb-capacity-10-opening-300l-x-300w-black>: HTTP status code is not handled or not allowed 2026-01-28 02:29:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=protect-liquid-cooled-standby-generator-130kw-120-208v-3-phase-lp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patch-seal-spray-16-oz-capacity-black-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 02:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-controlled-room-temperature-cabinet-8-cuft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 02:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailgrip-work-athletic-hiker-boots-alloy-toe-size-13w-4-inch-h-coyote-black>: HTTP status code is not handled or not allowed 2026-01-28 02:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-120btl16h-taper-bushed-1-12-pitch-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:29:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=protect-liquid-cooled-standby-generator-130kw-120-208v-3-phase-lp landed on page that is not a product page. 2026-01-28 02:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valay-proprietary-roll-towels-1-ply-8-inch-x-800-ft-white-6-rolls-carton>: HTTP status code is not handled or not allowed 2026-01-28 02:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-and-mild-foam-handwash-refill-for-ltx-12-dispenser-fragrance-free-1200-ml>: HTTP status code is not handled or not allowed 2026-01-28 02:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs47x1716-34-pitch-1-716-finished-bore-47-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80btl35-bushed-tapered-locks-1-pitch-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-7-5w-6-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 02:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80sf33-1-pitch-qd-bushed-33-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/novaplus-monitoring-electrode-v2570-1-60-inch-x-1-36-inch-50-bag-20-bags-case>: HTTP status code is not handled or not allowed 2026-01-28 02:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reusable-cold-hot-pack-1572-with-cover-4-3-4-inch-x-10-1-2-inch-100-cs>: HTTP status code is not handled or not allowed 2026-01-28 02:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-adhesive-split-sheet-1094-89-inch-x-125-inch-tube-and-cord-organizer-20-cs>: HTTP status code is not handled or not allowed 2026-01-28 02:29:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:29:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/futuro-compression-stabilizing-wrist-brace-right-hand-small-medium-2-pk-6-pk-case>: HTTP status code is not handled or not allowed 2026-01-28 02:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50b12hx58mpb-58-pitch-58-plain-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-high-top-sneaker-composite-toe-size-10w-black-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:29:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/back_joint_support/wrist_braces_supports_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs24x38-metric-1-pitch-38mm-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-16m-black-red>: HTTP status code is not handled or not allowed 2026-01-28 02:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs22hx21516-1-14-pitch-2-1516-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:29:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 02:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs19hx2-1-14-pitch-2-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46574 pages (at 92 pages/min), scraped 23453 items (at 53 items/min) 2026-01-28 02:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-microcentrifuge-tubes-with-cap-bags-of-50-tubes-sterile-1-5-ml-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-women-s-low-cut-sneaker-composite-toe-size-8w-black>: HTTP status code is not handled or not allowed 2026-01-28 02:29:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners landed on page that is not a product page. 2026-01-28 02:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/back_joint_support/wrist_braces_supports_wraps>: HTTP status code is not handled or not allowed 2026-01-28 02:29:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-biobucket-collapsible-laboratory-ice-bucket-5-liter>: HTTP status code is not handled or not allowed 2026-01-28 02:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-9-5w-rinsed-black-tower-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 02:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs20hx60-metric-1-12-pitch-60mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-carousel-for-6-halo-pipettes>: HTTP status code is not handled or not allowed 2026-01-28 02:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-11w-black-gum>: HTTP status code is not handled or not allowed 2026-01-28 02:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-pureamp-pcr-plate-for-0-1-ml-tube-96-place-semi-skirted-w-raised-rim-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:30:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-pureamp-pcr-plate-for-0-2-ml-tube-96-place-semi-skirted-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:30:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-small-bulb-transfer-pipette-with-extended-tip-non-sterile-1-5-ml-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08a28h-metric-a-plate-12-pitch-16mm-bore-28-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-legend-600-593cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 02:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs34hx34-38-pitch-34-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs28hx1316-38-pitch-1-316-finished-bore-28-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs28hx1-38-pitch-1-finished-bore-28-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs15hx24-metric-58-pitch-24mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealed-lead-acid---agm---vrla-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nellcor-npb-3940-medical-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16a14h-metric-1-pitch-14mm-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sscor-80133-pv-fv-medical-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-epp-alarm-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs20hx28-metric-58-pitch-28mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-6w-black-seafoam-green-white>: HTTP status code is not handled or not allowed 2026-01-28 02:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs14hx20-metric-34-pitch-20mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-3-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 02:30:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs22hx42-metric-58-pitch-42mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securitron-tm2-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al125ulx-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:30:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-pedestal-workbench-w-7-drawers-maple-butcher-block-square-edge-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35a23hx12-a-plate-38-pitch-12-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:30:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelves-48-w-storage-cabinet-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluid-cleanup-kit-7-pieces-syntheticfabric-bag>: HTTP status code is not handled or not allowed 2026-01-28 02:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fer-hg9320-patio-cover-kit-10-ft-l-x-20-ft-ft-w-white>: HTTP status code is not handled or not allowed 2026-01-28 02:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-d2mf50-alarm-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-gp12170-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:30:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-8-5w-gray-red-black>: HTTP status code is not handled or not allowed 2026-01-28 02:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46673 pages (at 99 pages/min), scraped 23509 items (at 56 items/min) 2026-01-28 02:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-7-5m-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 02:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-yellow-half-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 02:31:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-10-5w-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 02:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-8m-army-green-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/91173-food-storage-container-wlid-hdpe-422-qt-stackable-transparent>: HTTP status code is not handled or not allowed 2026-01-28 02:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80btl24h-bushed-tapered-locks-1-pitch-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:31:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/murray-31704-lawn-and-garden-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:31:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-12x-12-square-opening-with-fe-cutout-24od-x-42h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rw-protect-insulated-heavyweight-blanket-black-4-x-6>: HTTP status code is not handled or not allowed 2026-01-28 02:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-wdryer-460v-115-psi-185-cfm-5hp-3ph>: HTTP status code is not handled or not allowed 2026-01-28 02:31:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mojo-floater-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:31:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:31:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 02:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-synthetic-rubber-tarp-tie-2231epdm-31-50-pieces-per-box>: HTTP status code is not handled or not allowed 2026-01-28 02:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-quest-50cc-atv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:31:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-10w-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 02:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-7w-olive-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-flame-amplifier-r7847a1033-used-with-7800-series-relay-ffrt-08-or-3-sec-green>: HTTP status code is not handled or not allowed 2026-01-28 02:31:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-max-gtz7s-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:31:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerstar-ps12b-bs-powersports-replacement-battery-12v-e>: HTTP status code is not handled or not allowed 2026-01-28 02:31:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-enclosure-cabinet-fan-panel-airflow-management-120v-3urm-srfan3u>: HTTP status code is not handled or not allowed 2026-01-28 02:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe75-36-184jp-tefc-rigid-c-3-ph-184jp-75-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:31:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/flange_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe75-18-213jp-tefc-rigid-c-3-ph-213jp-75-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-28 02:31:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 02:31:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:31:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dv-180626-door-viewer-180-916installation-hole-brushed-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-drum-truck-w-brake-mold-on-rubber-wheels-aluminum-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 02:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/flange_kits>: HTTP status code is not handled or not allowed 2026-01-28 02:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-m1000-1000cc-snowmobile-replacement-battery-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-collector-filter-for-mr-50-steam-vacuum-261573>: HTTP status code is not handled or not allowed 2026-01-28 02:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-backups-es-550-be550g-ups-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 02:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46761 pages (at 88 pages/min), scraped 23561 items (at 52 items/min) 2026-01-28 02:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-slimline-gold-db9-gender-changer-connector-m-m>: HTTP status code is not handled or not allowed 2026-01-28 02:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000ft-cat5e-cat5-350mhz-bulk-solid-core-plenum-cable-1000>: HTTP status code is not handled or not allowed 2026-01-28 02:31:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors landed on page that is not a product page. 2026-01-28 02:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-die-cut-fe-letters-red>: HTTP status code is not handled or not allowed 2026-01-28 02:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baxter-healthcare-0007mc-medical-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-port-vga-svga-video-splitter-350mhz-hd15-male-2-x-female>: HTTP status code is not handled or not allowed 2026-01-28 02:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenline-636-hand-truck-w-dual-handle-solid-rubber-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-xl-self-retracting-lifeline-w-quick-connect-aluminum-carabiner-11l>: HTTP status code is not handled or not allowed 2026-01-28 02:32:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors landed on page that is not a product page. 2026-01-28 02:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-460v-150psi-25cfm-75hp-3ph-120-gal-tank>: HTTP status code is not handled or not allowed 2026-01-28 02:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-commercial-grade-60a-rubber-sheet-3-16-thick-x-6-x-6-length-black-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bigboy-2000-folding-saw-360mm-extra-large-teeth>: HTTP status code is not handled or not allowed 2026-01-28 02:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-970f-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-waterfall-deck-shelving-5-shelves-72w-x-24d-x-84h-midnight-ebony>: HTTP status code is not handled or not allowed 2026-01-28 02:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built153-6-tier-6-doors-locker-12w-x-15d-x-78h-light-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 02:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm63-ta-torque-arm-for-calm-series-63mm-aluminum-worm-gear-reducer>: HTTP status code is not handled or not allowed 2026-01-28 02:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-metal-shelving-6-shelves-500-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm75-501-56c-aluminum-worm-gear-reducer-75mm-501-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-d350c-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm63-151-145tc-aluminum-worm-gear-reducer-63mm-151-145tc-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-flo-ecd33w-submersible-sump-pump-cast-iron>: HTTP status code is not handled or not allowed 2026-01-28 02:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rm43-43-glyphosate-plus-weed-control-tvc-32-oz-bottle-76502>: HTTP status code is not handled or not allowed 2026-01-28 02:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-shelving-8-shelves-starter-unit-375-lb-cap-48w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-in-x-8-in-aluminum-door-louver>: HTTP status code is not handled or not allowed 2026-01-28 02:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-gp12120f2-gp-12120-f2-12v-12ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 02:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-tie-down-hook-ring-adapter-for-hook-straps-rope-cable>: HTTP status code is not handled or not allowed 2026-01-28 02:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cove-base-pinnacle-rubber-4x18x48-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 02:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maintenance-free-quiet-2-tier-2-doors-locker-18w-x-24d-x-78h-dark-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 02:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-chain-hoist-w-overload-protection-10-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-28 02:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-push-beam-trolley-3-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-rack-for-16mm-tubes-31-places-blue-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 02:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-in-5-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 02:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al600ulacmcbj-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 02:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kr2078580-3-keg-shelving3-shelf-id-w20-x-80-l-od-w20-x-83-34l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eaton-powerware-pw5115-1000-usb-05146560-5591-12v-9ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 02:32:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/black_malleable_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillowcases-100bx-poly-tissue-bl>: HTTP status code is not handled or not allowed 2026-01-28 02:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnyway-sw1223w-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46860 pages (at 99 pages/min), scraped 23623 items (at 62 items/min) 2026-01-28 02:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-drive-pump-te3mdhc-highly-corrosive-115v-590-at-1-107-watts>: HTTP status code is not handled or not allowed 2026-01-28 02:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/black_malleable_pipe_fittings>: HTTP status code is not handled or not allowed 2026-01-28 02:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-wide-mouth-pp-60ml-capacity-clear-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 02:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62182rs-deep-groove-ball-bearing-double-sealed-90mm-bore-160mm-od>: HTTP status code is not handled or not allowed 2026-01-28 02:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drench-shower-w-galvanized-steel-pipe-ceiling-mount>: HTTP status code is not handled or not allowed 2026-01-28 02:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siphon-pump-transfer-most-liquids-pumps-air-for-inflatables-siphons-gas-oil-etc>: HTTP status code is not handled or not allowed 2026-01-28 02:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p328-2s-c-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-9-column-opening-orange-w-round-insert-436757>: HTTP status code is not handled or not allowed 2026-01-28 02:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tier-test-tube-rack-for-16mm-tubes-plastic-31-places-white-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 02:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calibration-weight-astm-class-1-nvlap-certificate-stainless-steel-1kg>: HTTP status code is not handled or not allowed 2026-01-28 02:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p200-2s-s-mp-2-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-rehab-salsa-m2-wheelchair-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 02:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoveround-activa-dm-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6305-deep-groove-ball-bearing-open-25mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 02:33:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60022rs-deep-groove-ball-bearing-double-sealed-15mm-bore-32mm-od>: HTTP status code is not handled or not allowed 2026-01-28 02:33:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:33:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-269-h-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-30l-x-14w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:33:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:33:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 02:33:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils landed on page that is not a product page. 2026-01-28 02:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500125705-belt-1-2w-x-12l-vfn-grit>: HTTP status code is not handled or not allowed 2026-01-28 02:33:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 02:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-ray-heavyweight-construction-paper-12x9-salmon-50-sheets>: HTTP status code is not handled or not allowed 2026-01-28 02:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-15-series-1-12-x-3-ultra-lite-six-t-slotted-extrusion-profile-120l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 02:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 02:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energel-retractable-gel-pen-refillable-metal-tip-07mm-violet-ink>: HTTP status code is not handled or not allowed 2026-01-28 02:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dr-grip-ballpoint-retractable-pen-medium-blue-barrelink>: HTTP status code is not handled or not allowed 2026-01-28 02:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bold-frefill-pen-refill-16mm-black-ink-2pack>: HTTP status code is not handled or not allowed 2026-01-28 02:33:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-airflow153-womens-long-sleeve-shirt-class-2-xl-hi-vis-yellownavy>: HTTP status code is not handled or not allowed 2026-01-28 02:33:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 02:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9682061-bench-grinder-6-wheel-dia-12hp-115230v>: HTTP status code is not handled or not allowed 2026-01-28 02:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g2-gel-ink-refill-fine-blue-ink-2pack>: HTTP status code is not handled or not allowed 2026-01-28 02:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frixion-ball-erasable-gel-pen-fine-07mm-blue-barrelink>: HTTP status code is not handled or not allowed 2026-01-28 02:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uni-paint-marker-oilbased-medium-green-ink>: HTTP status code is not handled or not allowed 2026-01-28 02:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-1628-emergency-light-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solar-pv-dc-quick-disconnect-switch-1200v-32-amp>: HTTP status code is not handled or not allowed 2026-01-28 02:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 02:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technologies-motorized-platform-truck-mpc-1772-264015-1500-lb-cap-40-x-25-1-2>: HTTP status code is not handled or not allowed 2026-01-28 02:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uni-paint-marker-oilbased-medium-black-ink>: HTTP status code is not handled or not allowed 2026-01-28 02:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-no-bump-dump-hopper-steel-4-cu-yd-6000-lb-capacity-machine-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:33:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ansmike-remote-microphone>: HTTP status code is not handled or not allowed 2026-01-28 02:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 46953 pages (at 93 pages/min), scraped 23676 items (at 53 items/min) 2026-01-28 02:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-hi-density-rounded-foam-mini-roller-cover-14-frame-12-case-614-foamq>: HTTP status code is not handled or not allowed 2026-01-28 02:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrostatic-air-filter-merv-8-16w-x-1d-x-25h>: HTTP status code is not handled or not allowed 2026-01-28 02:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 02:34:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f-dact-digital-communicatormodemlcd-module>: HTTP status code is not handled or not allowed 2026-01-28 02:34:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/job_site_work_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sumostance-extension-ladder-w-hyperlite-tech-fiberglass-20-type-ia-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 02:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-66-led-dual-function-rechargeable-work-light-slr2166-yellow-2pk>: HTTP status code is not handled or not allowed 2026-01-28 02:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders>: HTTP status code is not handled or not allowed 2026-01-28 02:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12xl30-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:34:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/job_site_work_lights landed on page that is not a product page. 2026-01-28 02:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-side-rubber-for-scrubber-641840-641841-641842>: HTTP status code is not handled or not allowed 2026-01-28 02:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lcr1212p1-12v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 02:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coopower-cp640-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 02:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-panel-2w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 02:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boat-shaped-conference-table-w-elliptical-base-95wx44dx29-1-2h-coastal-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:34:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/conference_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2000-5-drawer-hang-on-side-cabinet-13-58w-x-20d-x-29-116h-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astral-square-umbrella-w-centerpost-sunbrella-awning-196w-x-196d-x-114h-tuscan>: HTTP status code is not handled or not allowed 2026-01-28 02:34:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firstpower-fp12180-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 02:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-rack-placard-label-holder-4-x-100-ft-rollblue-797071>: HTTP status code is not handled or not allowed 2026-01-28 02:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-ceiling-replacement-anchor-tile>: HTTP status code is not handled or not allowed 2026-01-28 02:34:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/conference_tables landed on page that is not a product page. 2026-01-28 02:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-707-14s-emergency-light-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas>: HTTP status code is not handled or not allowed 2026-01-28 02:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12-828-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-white-x-small>: HTTP status code is not handled or not allowed 2026-01-28 02:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-watt-48-volt-inverter-pwrinv500048w>: HTTP status code is not handled or not allowed 2026-01-28 02:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puller-with-3-reversible-double-end-jaws-11-ton-capacity-15-opening-11-78-reach>: HTTP status code is not handled or not allowed 2026-01-28 02:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lz35i--emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puller-with-3-swiveling-jaws-11-ton-capacity-11-78-opening-11-132-adjustable-reach>: HTTP status code is not handled or not allowed 2026-01-28 02:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5040-drawn-precision-aluminum-tube-profile>: HTTP status code is not handled or not allowed 2026-01-28 02:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2414-economy-floor-mount-base-plate-1w>: HTTP status code is not handled or not allowed 2026-01-28 02:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5750-double-shaft-blank-mounting-plate-15>: HTTP status code is not handled or not allowed 2026-01-28 02:34:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-this-vehicle-makes-frequent-stops-sign-adhesive-dura-vinyl-10-x-14-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:34:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/if-you-cant-see-my-mirrors-i-cant-see-you-sign-adhesive-dura-vinyl-7-x-10-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 47047 pages (at 94 pages/min), scraped 23737 items (at 61 items/min) 2026-01-28 02:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp003h-10-ner-electric-hoist-push-trolley-14-ton-10-lift-53-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 02:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/johnlite-jml-2962-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:35:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 02:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diagonal-right-arrow-traffic-safety-sign-hip-aluminum-15-x-21-whiteblue>: HTTP status code is not handled or not allowed 2026-01-28 02:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-drivers-are-required-to-sign-in--out-sign-aluminum-10-x-14-blackbluewhite>: HTTP status code is not handled or not allowed 2026-01-28 02:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner010l-20-ner-electric-hoist-hook-suspension-1-ton-20-lift-14-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 02:35:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 02:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ktm-450sx-4-stroke-450cc-motorcycle-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-action-indexing-plunger-lock-nut-black-oxide-steel-34-16-thread-47x47-pin>: HTTP status code is not handled or not allowed 2026-01-28 02:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contoured-surveyors-vest-w-solid-front--mesh-back-class-3-3xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm020s-l-10-ner-electric-hoist-motor-trolley-2-ton-10-lift-28-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 02:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-1-2-inch-extra-long-drill-bit-12-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 02:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permobil-2k-mobility-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freedom-952-electric-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fortress-1700fs-mobility-scooter-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm001h-l-20-ner-electric-hoist-motor-trolley-18-ton-20-lift-55-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 02:35:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-tre-50-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-only-label-w-recycle-sign-plastic-7-x-10>: HTTP status code is not handled or not allowed 2026-01-28 02:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-stainless-steel-drum-dolly-55-gallon-stainless-rigs-hard-rubber-987298>: HTTP status code is not handled or not allowed 2026-01-28 02:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 02:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceramic-round-base-magnet-rb60c-45-lbs-pull>: HTTP status code is not handled or not allowed 2026-01-28 02:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-scratch-semi-rimless-safety-glasses-green-ir-shade-30-lens-black-frame-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 02:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loop-tape-individual-dots-with-adhesive-78l-x-78w-black-pack-of-900>: HTTP status code is not handled or not allowed 2026-01-28 02:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-inkjet-post-card-5-1-2-inch-x-4-1-4-inch-matte-white-200-cards-box>: HTTP status code is not handled or not allowed 2026-01-28 02:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-summit-x-e-tec-800r-146-800cc-snowmobile-replacement-battery-2015-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inkjet-post-card-4-inch-x-6-inch-matte-white-100-cards-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-side-printable-business-card-2-inch-x-3-1-2-inch-white-200-cards-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-knee-boots-safety-loc-outsole-steel-toe-size-15-16h-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Advanced-Bed-Alarm-W-Nurse-Call-10260>: HTTP status code is not handled or not allowed 2026-01-28 02:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pocket-divider-write-on-85x11-8-tabs-multicolor-multicolor>: HTTP status code is not handled or not allowed 2026-01-28 02:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/customizable-unpunched-print-on-divider-95x11-8-tabs-5-sets-white-white>: HTTP status code is not handled or not allowed 2026-01-28 02:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-seal-36-oz-capacity-10-projection-10w-x-10-black>: HTTP status code is not handled or not allowed 2026-01-28 02:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 47141 pages (at 94 pages/min), scraped 23799 items (at 62 items/min) 2026-01-28 02:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-index-toc-reference-divider-1-to-8-85x11-8-tabs-white-multi>: HTTP status code is not handled or not allowed 2026-01-28 02:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-source-u1-35-91-225-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/para-systems-ps-12180-f2-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-storage-box-w-adjustable-compartments-large-25w-x-3d-x-16h>: HTTP status code is not handled or not allowed 2026-01-28 02:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emt-plastic-bushing-polyethylene-34size>: HTTP status code is not handled or not allowed 2026-01-28 02:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amigo-mobility-rt-express-jr-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-nestable-shelf-bin-4-1-8w-x-11-5-8d-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 02:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub1270-40800-sealed-lead-acid-replacement-battery-7ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/950-1004-950-case-w-foam-228l-x-183w-x-117h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/960-2001-960-case-w-padded-divider-254l-x-200w-x-145h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobility-manufacturing-bobcat-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msd-2mbgrl-box-universal-sorbents-roll-perfed-every-15-up-the-center>: HTTP status code is not handled or not allowed 2026-01-28 02:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lr-threaded-conduit-body-w-cover-and-gasket-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-person-stage-24-inch-w-x-28-ft-l-3128>: HTTP status code is not handled or not allowed 2026-01-28 02:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-flame-resistant-classic-coverall-cec2-navy-size-62-regular>: HTTP status code is not handled or not allowed 2026-01-28 02:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-turnabout-heavy-duty-wheelchair-replacement-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-recycling-container-with-waste-disposal-opening28-gallon-cap-charcoal-240627CH>: HTTP status code is not handled or not allowed 2026-01-28 02:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lb-threaded-conduit-body-w-cover-and-gasket-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-air-curtain-36-inch-w-door-208v-unheated-3-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 02:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-s246-pioneer-2-twin-scooter-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-14-20-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6805-class-e-premium-bibs-2-side-pockets-1-cargo-pocket-lime-2xl3xl>: HTTP status code is not handled or not allowed 2026-01-28 02:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-grip-anchor-kit-w-combo-pan-head-screw-6-size-tuff-pack-201-pieces>: HTTP status code is not handled or not allowed 2026-01-28 02:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-rope-polypropylene-14-x-1000-size>: HTTP status code is not handled or not allowed 2026-01-28 02:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1001-standard-class-2-mesh-zipper-safety-vest-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-28 02:36:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-pioneer-2-s245-s2451-s2454-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1801-standard-class-2-5point-breakaway-vest-lime-medium>: HTTP status code is not handled or not allowed 2026-01-28 02:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pacesaver-plus-iii-titan-plus-3-titan-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nail-strap-carbon-steel-12-emt-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 02:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5506-class-3-standard-moisture-wicking-tshirt-with-chest-pocket-orange-3xl>: HTTP status code is not handled or not allowed 2026-01-28 02:36:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 02:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upholstered-stacking-chair-18-inchw-x-22-inchd-x-34-1-2-inchh-black-4-carton>: HTTP status code is not handled or not allowed 2026-01-28 02:36:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-pneumatic-lockout-valve-with-soft-start-y1523b6102-1-npt>: HTTP status code is not handled or not allowed 2026-01-28 02:36:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:36:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-180-door-swing-sign-black-on-yellow-34-x-68>: HTTP status code is not handled or not allowed 2026-01-28 02:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48h-x-48w-slatwall-panelrecoatable-white-with-aluminum-inserts-968343RI>: HTTP status code is not handled or not allowed 2026-01-28 02:36:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts landed on page that is not a product page. 2026-01-28 02:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-screw-anchor-slotted-hex-washer-head-14-x-3-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 47235 pages (at 94 pages/min), scraped 23856 items (at 57 items/min) 2026-01-28 02:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-stapler-20-sheet-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 02:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves>: HTTP status code is not handled or not allowed 2026-01-28 02:36:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels landed on page that is not a product page. 2026-01-28 02:36:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-square-carbon-steel-8-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/humminbird-piranhamax-150-portable-fish-finder-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duplicate-auto-park-tags-numbered-1-to-500-4-3-4-x-2-3-8-manila-500-tags-box>: HTTP status code is not handled or not allowed 2026-01-28 02:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/primos-truth-cam-el-blackout-trail-camera-63038-decoy-replacement-battery-5ah-6v>: HTTP status code is not handled or not allowed 2026-01-28 02:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers>: HTTP status code is not handled or not allowed 2026-01-28 02:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs237151r-cast-iron-right-angle-worm-gear-reducer-151-ratio>: HTTP status code is not handled or not allowed 2026-01-28 02:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-gl1500a-gold-wing-aspencade-1500cc-motorcycle-battery-1991-2000-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-morini-excalibur-501cc-motorcycle-replacement-battery-1945-1987-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-mp3-500-500cc-motorcycle-replacement-battery-2008-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf325101r1824tc-cast-iron-right-angle-worm-gear-reducer-101-ratio-1824t-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-lath-metal-piercing-screw-phillips-wafer-head-8-x-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-night-train-fxstbi-1450cc-motorcycle-battery-2001-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/voxan-cafe-racer-v1000-1000cc-motorcycle-replacement-battery-2000-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-stainless-steel-0-14-id-12-od-10-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twinleg-self-retracting-lifeline-steel-snap-hook-6>: HTTP status code is not handled or not allowed 2026-01-28 02:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-universal-label-dispenser-for-up-to-6-1-2-w-x-8-1-2-diameter-rolls>: HTTP status code is not handled or not allowed 2026-01-28 02:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-e-fr-overall-snap-fly-front-fluorescent-yellowgreen-4xl>: HTTP status code is not handled or not allowed 2026-01-28 02:37:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-low-carbon-steel-34-10-x-4-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab73-2442-7x-42-inch-w-x-24-inch-d-x-73-inch-h-7-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-stainless-steel-38-16-x-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:37:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers landed on page that is not a product page. 2026-01-28 02:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-dia-x-16-ga-galvanized-roller-42072-30-gp-for-30-oaw-omni-conveyors-abec-bearings>: HTTP status code is not handled or not allowed 2026-01-28 02:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pr-fleece-work-jacket-w-2-zipped-slash-pockets-elastic-cuffs-black-size-xl>: HTTP status code is not handled or not allowed 2026-01-28 02:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-gl1800hpna-gold-wing-audio-comfort-navi-abs-1800cc-motorcycle-battery-2006-2012-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:37:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/food_holding_warming_equipment/food_warmers_hot_food_display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-deluxe-warmer-ladle-unit-9-1-4w-11-3-4d-9h-model-a>: HTTP status code is not handled or not allowed 2026-01-28 02:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-all-other-models-1500cc-personal-watercraft-battery-1994-2007-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucf215-47-flange-mount-bearing-4-bolt-flange-set-screw-locking-bore-74-6125-mm>: HTTP status code is not handled or not allowed 2026-01-28 02:37:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/food_holding_warming_equipment/food_warmers_hot_food_display_cases landed on page that is not a product page. 2026-01-28 02:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-hcpk209-28-pillow-block-bearing-low-base-ecc-lock-collar-bore-44-45-mm>: HTTP status code is not handled or not allowed 2026-01-28 02:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 47333 pages (at 98 pages/min), scraped 23922 items (at 66 items/min) 2026-01-28 02:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucp214-43-pillow-block-bearing-set-screw-locking-bore-68-2625-mm>: HTTP status code is not handled or not allowed 2026-01-28 02:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-piece-suit-attached-hood-pvc-on-nylon-2xl-royal-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-cyclone-spsc4000-spsc4400-mobility-scooter-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22317exw33v-85mm-bore-180mm-od-vibratory-application>: HTTP status code is not handled or not allowed 2026-01-28 02:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-titanx23-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-sterling-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-alero-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6603-evaporative-cooling-band-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charger-for-global-industrial-utility-vehicle-615162>: HTTP status code is not handled or not allowed 2026-01-28 02:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynacraft-hello-kitty-city-cruiser-electric-scooter-replacement-battery-7ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-plastic-mat-21-x-18-end-panel-PME2118>: HTTP status code is not handled or not allowed 2026-01-28 02:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillar-technology-blazerplus-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bravo-b4-lightning-electricscooter-electric-scooter-replacement-battery-5ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-x-4-in-lead-free-seamless-red-brass-pipe-nipple-140-psi-sch-40-import>: HTTP status code is not handled or not allowed 2026-01-28 02:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-x-5-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 02:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-x-4-in-lead-free-seamless-red-brass-pipe-nipple-140-psi-sch-40-import>: HTTP status code is not handled or not allowed 2026-01-28 02:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-starter-cst87-2442-6x-42-inch-w-x-24-inch-d-x-87-inch-h-6-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-renegade-adrenaline-ace-900-900cc-snowmobile-battery-2014-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss6208zz-deep-groove-ball-bearing-stainless-steel-double-shielded-od-80mm-bore-40mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 02:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69072rs-deep-groove-ball-bearing-double-sealed-od-55mm-bore-35mm-metric>: HTTP status code is not handled or not allowed 2026-01-28 02:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-54w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 02:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-limited-1200-1171cc-snowmobile-replacement-battery-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/99r12-deep-groove-ball-bearing-inch-double-sealed-od-1625-bore-75>: HTTP status code is not handled or not allowed 2026-01-28 02:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c748f-snow-safety-sign-caution-proceed-slowly-watch-for-traffic-32-x-24-yellow-black>: HTTP status code is not handled or not allowed 2026-01-28 02:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n499f-snow-safety-sign-notice-ice-and-snow-take-it-slow-32-x-24-white-blue-black>: HTTP status code is not handled or not allowed 2026-01-28 02:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-72w-x-12d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 02:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-poly-bags-20-x-24-8-mil-clear-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:38:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/forms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-literature-mailers-19-x-12-x-3-200lb-test-ect32-kraft-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-54w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 02:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mx-z-adrenaline-600-ho-sdi-594cc-snowmobile-battery-2007-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-received-1-2-x-1-5-8-red>: HTTP status code is not handled or not allowed 2026-01-28 02:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-30w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-two-pocket-insertable-dividers-assorted-5-tabs-set>: HTTP status code is not handled or not allowed 2026-01-28 02:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-grand-touring-700-700cc-snowmobile-replacement-battery-1998-2000-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 02:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 47427 pages (at 94 pages/min), scraped 23982 items (at 60 items/min) 2026-01-28 02:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-1-zipper-binder-8-1-2-x-11-vinyl-cover-black>: HTTP status code is not handled or not allowed 2026-01-28 02:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-600-renegade-x-snowmobile-replacement-battery-2004-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-circles-removable-labels-clear-500-per-roll>: HTTP status code is not handled or not allowed 2026-01-28 02:38:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/forms landed on page that is not a product page. 2026-01-28 02:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-10-x-8-x-2-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-list-enclosed-2-x-3-labels-red-black-500-per-roll>: HTTP status code is not handled or not allowed 2026-01-28 02:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-green-wire-shelving-unit-starter-60w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 02:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-bct96-4-bar-cradle-truck-96-l-4000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 02:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-green-wire-shelving-unit-add-on-60w-x-12d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 02:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-turbolite15343-personal-fall-limiters-snap-hook-carabiner-9l>: HTTP status code is not handled or not allowed 2026-01-28 02:39:11 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 02:39:12 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:24 2026-01-28 02:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hollow-steel-flush-door-cylindrical-prep-steelcraft-hinge-18-ga-36w-x-80h>: HTTP status code is not handled or not allowed 2026-01-28 02:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-fan-grille-for-258324-292244>: HTTP status code is not handled or not allowed 2026-01-28 02:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-931515600-triple-tier-15-x-15-x-20-1-wide-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 02:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-811215601-single-tier-12-x-15-x-60-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smart-mini-padlock-silver>: HTTP status code is not handled or not allowed 2026-01-28 02:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-adrenaline-800-ho-ptek-800cc-snowmobile-replacement-battery-2007-12v>: HTTP status code is not handled or not allowed 2026-01-28 02:39:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-summit-highmark-700-700cc-snowmobile-replacement-battery-2000-2003-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/photoluminescent-egress-tape-glow-in-the-dark-1-x-60>: HTTP status code is not handled or not allowed 2026-01-28 02:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-720-2-piece-conventional-port-ball-valve-carbon-steel-14-threaded>: HTTP status code is not handled or not allowed 2026-01-28 02:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-kf-series-20-hand-sealer-w-5mm-seal>: HTTP status code is not handled or not allowed 2026-01-28 02:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-670nl-lf-brass-14-turn-boiler-drain-valve-34-mnptsweat>: HTTP status code is not handled or not allowed 2026-01-28 02:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sky-ares-3-piece-outdoor-bar-set-23-5-8-w-x-42-1-2-h-table-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-5-inventory-rectangle-labels-in-5-fluorescent-colors-5000-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orlando-5-piece-outdoor-dining-set-31-1-2-w-x-29-h-table-brown>: HTTP status code is not handled or not allowed 2026-01-28 02:39:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 02:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-335ab-butterfly-valve-with-epdm-seals--10-position-handle-6-wafer>: HTTP status code is not handled or not allowed 2026-01-28 02:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4611-double-sided-vhb-acrylic-foam-tape-1-x-5-yds-45-mil-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-g852-056c17e5319-1-4hp-115-208-230v-1800rpm-1ph-epnv>: HTTP status code is not handled or not allowed 2026-01-28 02:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-365ab-g-butterfly-valve-with-epdm-seals--gear-operator-4-lug>: HTTP status code is not handled or not allowed 2026-01-28 02:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxygen-response-bag-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/argosrack-gun-open-rack-awr83-18r2b-holds-18-rifles-with-2-bins-42w-x-15d-x-83h-battleship-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbonator-pump-motor-4725-1-4hp-115v-1800rpm-split-ph-48y-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 02:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-w-series-26-long-hand-sealer-w-2-7mm-seal>: HTTP status code is not handled or not allowed 2026-01-28 02:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y1372-184thfw7726-5hp-230-460v-1800rpm-3ph-184tc-tefc>: HTTP status code is not handled or not allowed 2026-01-28 02:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-337ss-butterfly-valve-with-buna-seals--10-position-handle-12-wafer>: HTTP status code is not handled or not allowed 2026-01-28 02:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-medical-system-scale-1500-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:39:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-lbs-concrete-base-with-6-u-channel-post-18-square-base-white>: HTTP status code is not handled or not allowed 2026-01-28 02:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/118596-hall-door-monitor-wall-mounted-2-boxes-2-sensors-3-lights-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 02:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cxf-series-screw-plug-immersion-heater-2npt-1500w-600v-16-38l>: HTTP status code is not handled or not allowed 2026-01-28 02:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c269-5kc46pn0015x-3-4hp-1725rpm-115-208-230v-1ph-56-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 02:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e2157-145ttfr16039-2hp-1800rpm-200v-3ph-145t-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 02:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 47525 pages (at 98 pages/min), scraped 24039 items (at 57 items/min) 2026-01-28 02:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems>: HTTP status code is not handled or not allowed 2026-01-28 02:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperpure-pe-rt-tubing-38id-x-12od-x-500-coil-white>: HTTP status code is not handled or not allowed 2026-01-28 02:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coopower-cph12-24-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnyway-swe12140-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 02:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-pg240-1-20hp-1625-1350rpm-115-200-230v-1ph-48z-fr-tenv>: HTTP status code is not handled or not allowed 2026-01-28 02:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-x000-48a11o1798-1-4hp-1075rpm-115v-1ph-48y-fr-opao>: HTTP status code is not handled or not allowed 2026-01-28 02:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horace-small-new-dimen-uni-sh-slv-spec-ops-polo-shirt-dk-nv-l-hs51>: HTTP status code is not handled or not allowed 2026-01-28 02:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-gal-sat-blk-ash-trash-recept-sat-alum-lid-w-sand-cover-192-bk-sa>: HTTP status code is not handled or not allowed 2026-01-28 02:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-c1160-5kcr49sn0150x-15hp-1725rpm-115-208-230v-1ph-56h-dp>: HTTP status code is not handled or not allowed 2026-01-28 02:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fullriver-hghl1235w-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 02:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w30w30g-pressure-type-wire-connector-300v-20a-1-516l>: HTTP status code is not handled or not allowed 2026-01-28 02:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunstone-power-spt6-5-sealed-lead-acid-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werker-wkdc12-20nb-sealed-lead-acid-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bk2051h-flush-plate-adapter-125v-15a-4-12l>: HTTP status code is not handled or not allowed 2026-01-28 02:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-add-on-42w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firstpower-fp1250hr-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelon-blue-wire-shelving-unit-add-on-42w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nm2011-90-flat-elbow-120v-15a-3-316l>: HTTP status code is not handled or not allowed 2026-01-28 02:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-add-on-36w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mhp3-2d-fl-pb-48w-x-24d-mobile-workbench-center-shelf-14-hardboard-top>: HTTP status code is not handled or not allowed 2026-01-28 02:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-starter-60w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-starter-54w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-kingdom-ps7-2-12-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironguard-steel-faced-dock-bumper-22-1100-13-w-x-4-d-x-20-h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-13725-25-extension-cord-orange-green>: HTTP status code is not handled or not allowed 2026-01-28 02:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-gum-300-pieces-8carton>: HTTP status code is not handled or not allowed 2026-01-28 02:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-24w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-black-epoxy-wire-shelving-unit-add-on-60w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironguard-laminated-dock-bumper-24-1030-14-w-x-4-1-2-d-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pp-heavyweight-30-gal-cylindrical-tank-w-cover-18dia-x-30h-3-16wall-white>: HTTP status code is not handled or not allowed 2026-01-28 02:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9070-18mm-ultrasharp-snap-off-black-blade-pkg-qty-10>: HTTP status code is not handled or not allowed 2026-01-28 02:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-36w-x-36d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr1-0221-06-133-small-room-air-circulator-120v-114-cfm>: HTTP status code is not handled or not allowed 2026-01-28 02:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-60w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-vertical-55-gal-drum-2-door-manual-drum-acid-cabinet-59w-x-34d-x-65h-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-gallon-1-sliding-door-self-close-acid-corrosive-cabinet-43w-x-34d-x-65h-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-two-wheel-trash-cart-32-gallon-greenstone-ana32-gns>: HTTP status code is not handled or not allowed 2026-01-28 02:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-gladiator-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21st-century-scientific-1cp-wheelchair-replacement-battery-100ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optiway-technology-2001lx-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-sprint-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-d-e-cylinder-vertical-medical-gas-cabinet-14w-x-9d-x-44h>: HTTP status code is not handled or not allowed 2026-01-28 02:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 47627 pages (at 102 pages/min), scraped 24098 items (at 59 items/min) 2026-01-28 02:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-01312-3-8-in-x-1-4-in-wrot-copper-reducer-coupling-street-x-copper>: HTTP status code is not handled or not allowed 2026-01-28 02:40:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:40:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-173-attache-18-x-5-x-12-1-2-silver>: HTTP status code is not handled or not allowed 2026-01-28 02:41:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/bags_cases/backpacks_duffle_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-galvanized-steel-solid-shelving-unit-add-on-72w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplicity-16fcc-lawn-and-garden-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-7-1-2-inch-dia-cw-1800-rpm-1-4-inch-bore-6-11-32-inch-w-aluminium>: HTTP status code is not handled or not allowed 2026-01-28 02:41:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 02:41:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 02:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/bags_cases/backpacks_duffle_bags>: HTTP status code is not handled or not allowed 2026-01-28 02:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-9-1-8-inch-dia-cw-1750-rpm-1-2-inch-bore-3-3-4-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 02:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-hubless-fan-blade-7-inch-dia-21-pitch-cw-1-1-8-inch-blade-depth-5-blade>: HTTP status code is not handled or not allowed 2026-01-28 02:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expocell-p212-170-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powershred-waste-bags-for-325-series-shredders>: HTTP status code is not handled or not allowed 2026-01-28 02:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-12dsm54-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-021-6-needle-nosed-pliers-serrated>: HTTP status code is not handled or not allowed 2026-01-28 02:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/click-torque-wrench-one-scale-38-drive-10-100-ftlb-16-34l>: HTTP status code is not handled or not allowed 2026-01-28 02:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/902-333-replacement-tip-for-soldering-iron-902-329>: HTTP status code is not handled or not allowed 2026-01-28 02:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotor-adapter-plugs-19300218-12pcs-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:41:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-extra-strength-adhesive-labeling-tape-1-2w-black-on-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-fg424288bla-stock-tank-100-gallon-black-270079>: HTTP status code is not handled or not allowed 2026-01-28 02:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-vinyl-96-card-file-black>: HTTP status code is not handled or not allowed 2026-01-28 02:41:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eaglepicher-r-cfs6-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:41:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes landed on page that is not a product page. 2026-01-28 02:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-red-strips-2-x-7-8-25-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wirecraftersrackback-wire-mesh-pallet-rack-enclosureside-panel-36w-x-96-797118>: HTTP status code is not handled or not allowed 2026-01-28 02:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-96-in-w-x-24-in-d-x-60-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 02:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rc3shtcbs-poke-thru-non-metallic-slide-holder-assembly-brass-colored>: HTTP status code is not handled or not allowed 2026-01-28 02:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-design-rooftop-platforms-40-inch-h-support-legs-urtsl40>: HTTP status code is not handled or not allowed 2026-01-28 02:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-high-cap-boltless-shelving-steel-deck-add-on-72-in-w-x-24-in-d-x-96-in-h>: HTTP status code is not handled or not allowed 2026-01-28 02:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_filters>: HTTP status code is not handled or not allowed 2026-01-28 02:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lighting-tl930096-emergency-light-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 02:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-best-value-hopper-front-plastic-security-bulk-truck-43-cu-ft-987557RD>: HTTP status code is not handled or not allowed 2026-01-28 02:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-7191185-emergency-light-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-prairie-three-seat-sofa-with-sled-base-solid-vinyl-black-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 02:41:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-gs-pe1-2v12r-emergency-light-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgs-3122-1-1-drop-in-stainless-steel-1-hole-large-single-bowl-sink>: HTTP status code is not handled or not allowed 2026-01-28 02:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-1001145-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 02:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/99829-10-pc-set-double-hookangled-end2>: HTTP status code is not handled or not allowed 2026-01-28 02:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-cnmg-432-c-5-and-c-6-carbide-insert>: HTTP status code is not handled or not allowed 2026-01-28 02:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters>: HTTP status code is not handled or not allowed 2026-01-28 02:41:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-36inw-x-24ind-x-60inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 02:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regenerative-blower-ab-200-3-phase-1-stage-125-hp>: HTTP status code is not handled or not allowed 2026-01-28 02:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regenerative-blower-ab-1002-3-phase-2-stage-115-hp>: HTTP status code is not handled or not allowed 2026-01-28 02:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 47720 pages (at 93 pages/min), scraped 24150 items (at 52 items/min) 2026-01-28 02:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-52wsvrdkb-4sided-l-r-open-fr-12l-x-5w-vented-standing-seam-roof-dk-brz>: HTTP status code is not handled or not allowed 2026-01-28 02:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfv600fw-grizzly-600cc-atv-replacement-battery-1998-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-12in-d-x-60in-h-wire-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 02:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-24in-d-x-60in-h-wire-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 02:42:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-28 02:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wildgameinnovations-metal-monsta-p-th-50p2feeder-decoy-battery-5ah-6v>: HTTP status code is not handled or not allowed 2026-01-28 02:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-60-in-w-x-48-in-d-x-96-in-h-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 02:42:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/fixturing_mounts_stands/angle_plates_v_blocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/915-case-w-foam-15-3-8l-x-12-1-8w-x-6-13-16h-graphite>: HTTP status code is not handled or not allowed 2026-01-28 02:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2002-carbon-eyebolt-plain-pattern-5-16-18-1-1-8-shank>: HTTP status code is not handled or not allowed 2026-01-28 02:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-non-para-extra-strength-urinal-screen-evergreen-12-screens-case>: HTTP status code is not handled or not allowed 2026-01-28 02:42:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/940-case-21-11-16l-x-16-7-8w-x-8-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:42:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/fixturing_mounts_stands/angle_plates_v_blocks landed on page that is not a product page. 2026-01-28 02:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-shield-blanket-36x30-3630-1>: HTTP status code is not handled or not allowed 2026-01-28 02:42:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:42:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_baseboard_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-ba95110lr-led-for-n5-series-230v-red>: HTTP status code is not handled or not allowed 2026-01-28 02:42:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_baseboard_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-welded-workbench-72-x-36-lower-shelf--pegboard-panel-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 02:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/379040002-pipette-pump-iii-pipettor-fast-release-2ml-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories>: HTTP status code is not handled or not allowed 2026-01-28 02:42:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories landed on page that is not a product page. 2026-01-28 02:42:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_baseboard_heaters landed on page that is not a product page. 2026-01-28 02:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/voyager-nylon-all-season-waterproof-overboots-threaded-outsole-xs-11h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:42:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_baseboard_heaters landed on page that is not a product page. 2026-01-28 02:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-5112-class-2-microfiber-birdseye-short-sleeve-t-shrit-w-black-bottom-orange-xl>: HTTP status code is not handled or not allowed 2026-01-28 02:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-1131-stackable-shelf-for-enviro-genie-incubator-genie>: HTTP status code is not handled or not allowed 2026-01-28 02:42:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ct661sshvada-ada-compliant-freestanding-refrigerator-freezer-51-cu-ft-24-wide>: HTTP status code is not handled or not allowed 2026-01-28 02:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-p9000xdt-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-stp-stl-safet-stair-slp-roll-lad-wt-actu-16-serr-stp-wa-sw-72414g>: HTTP status code is not handled or not allowed 2026-01-28 02:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ortho-kinetics-revo-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bladez-sport-dks200-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 02:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-36w-x-30d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-stp-stl-safet-roll-lad-wt-actu-stp-24-serr-stp-wa123214g>: HTTP status code is not handled or not allowed 2026-01-28 02:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-scooters-z-rider-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 02:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-60w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-power-x-151-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 02:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-stp-stl-safet-roll-lad-wt-actu-stp-24-serr-stp-wa134014g>: HTTP status code is not handled or not allowed 2026-01-28 02:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-cl1385vv-4-1-2dia-x-52h-beige-w-no-tape>: HTTP status code is not handled or not allowed 2026-01-28 02:42:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos landed on page that is not a product page. 2026-01-28 02:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/star-ii-036d-deluxe-electric-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 02:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motofino-mf150qt-7-150cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/std-soil-locker-llscsd-go-gray-16-1-2-x-16-1-4-x-77-1-2>: HTTP status code is not handled or not allowed 2026-01-28 02:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 47811 pages (at 91 pages/min), scraped 24202 items (at 52 items/min) 2026-01-28 02:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-48w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-freezer-60-double-door>: HTTP status code is not handled or not allowed 2026-01-28 02:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2du16107-cantilever-rack-double-sided-upright-107d-x-16h>: HTTP status code is not handled or not allowed 2026-01-28 02:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-42w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-30w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1474-ns-cantilever-rack-single-sided-upright-74w-x-14h>: HTTP status code is not handled or not allowed 2026-01-28 02:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-lab-pack-drum-1655mbbg-with-metal-lever-lock-bung-lid-55-gallon>: HTTP status code is not handled or not allowed 2026-01-28 02:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-drum-spillnest-utility-tray-t8106-without-grate-57-12-x-108-12-x-3-60-gallon-cap>: HTTP status code is not handled or not allowed 2026-01-28 02:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-gsx-500ss-593cc-snowmobile-replacement-battery-2004-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-rivets>: HTTP status code is not handled or not allowed 2026-01-28 02:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-sign-holder-3l>: HTTP status code is not handled or not allowed 2026-01-28 02:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-lrp-lw-fits-lift-rite-big-joe-model-lrp-5000>: HTTP status code is not handled or not allowed 2026-01-28 02:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-fx-nytro-mx-1049cc-snowmobile-replacement-battery-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-72w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-height-cabinet-1824dp-03-welded-19w-x-24d-x-30h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-tundra-600-597cc-snowmobile-replacement-battery-2011-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-tundra-300f-300cc-snowmobile-replacement-battery-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-72w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-m1100-1100cc-snowmobile-replacement-battery-2001-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 02:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-long-deck-mobile-scissor-li-273230-with-oversized-80-x-30-table-top-2200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-54w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ba-fans-aireye-directional-fan-with-pedestal-mount-wheel-kit-with-aeos-20-inch>: HTTP status code is not handled or not allowed 2026-01-28 02:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-60w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nursery-platform-truck-perforated-36x24-lip-deck-rubber-casters-1000-lbs>: HTTP status code is not handled or not allowed 2026-01-28 02:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-spring-loaded-pin-hitch-for-e-tug-hd-models>: HTTP status code is not handled or not allowed 2026-01-28 02:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a146-v-belt-1-2-x-148>: HTTP status code is not handled or not allowed 2026-01-28 02:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b40-5l430-v-belt-5-8-x-43>: HTTP status code is not handled or not allowed 2026-01-28 02:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a93-4l950-v-belt-1-2-x-95>: HTTP status code is not handled or not allowed 2026-01-28 02:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b111-v-belt-5-8-x-114>: HTTP status code is not handled or not allowed 2026-01-28 02:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mth1-1630-ah-heavy-duty-machine-table-adjustable-height>: HTTP status code is not handled or not allowed 2026-01-28 02:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ww3036-8phfl-heavy-duty-7-gauge-mobile-workbench-8-phenolic-casters-floor-lock>: HTTP status code is not handled or not allowed 2026-01-28 02:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wsj2-3048-36-welded-butcher-block-workbench-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 02:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8246z-s-two-tone-mesh-hi-vis-safety-vest-class-2-single-size-2xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-54w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b210-v-belt-5-8-x-213>: HTTP status code is not handled or not allowed 2026-01-28 02:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-alike-1-1-2-plastic-nylon-red-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2824-glass-vase-bud-cylinder-75h-675-oz-24-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5260-glass-pitcher-60-oz-clear-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:43:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-iqcrew-40x-1000x-dual-illumination-microscope-3mp-digital-eyepiece-slide-prep-book-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 47910 pages (at 99 pages/min), scraped 24262 items (at 60 items/min) 2026-01-28 02:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-em4103t-5-1770-hp-25-rpm-284t-frame-c-face-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 02:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-36w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-tek-polykor-seamless-knit-blended-glove-polyurethane-coated-flat-grip-xs-12pk>: HTTP status code is not handled or not allowed 2026-01-28 02:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-48w-x-18d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:44:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 02:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-30w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k290-scorpion-atv-tire-1108-2s-i-22x1100-8-2ply>: HTTP status code is not handled or not allowed 2026-01-28 02:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-dom-cap-style-dome-hard-hat-hdpe-shell-6-pt-suspension-rachet-adjustment-white>: HTTP status code is not handled or not allowed 2026-01-28 02:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-ejmm3212t-g-3-phase-5-hp-208-230-460-volts-3600-rpm-60-hz-odp-182jm>: HTTP status code is not handled or not allowed 2026-01-28 02:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-54w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t100s-rotating-literature-display-w-16-clear-pockets-heavy-duty-base-black>: HTTP status code is not handled or not allowed 2026-01-28 02:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1003654-00u0019-economy-retail-gondola-single-sided-36w-x-14d-x-54h-almond>: HTTP status code is not handled or not allowed 2026-01-28 02:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prefilled-homogenizer-tubes-2-0ml-silica-glass-beads-0-1mm-acid-washed-50-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp83661t-4-3-ph-3-hp-460-v-1755-rpm-tefc-182t-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magic-clamp-magnetic-clamp-50ml-erlenmeyer>: HTTP status code is not handled or not allowed 2026-01-28 02:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74hb40-75-keyed-alike-lockout-padlock-non-conductive-3-inch-shackle-green-06775>: HTTP status code is not handled or not allowed 2026-01-28 02:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combi-rotor-quick-lock-lid-for-z216-series-24-x-1-5-2-0ml-4-x-pcr-strips>: HTTP status code is not handled or not allowed 2026-01-28 02:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em2531t-ci-3-ph-25-hp-230-460-v-1770-rpm-open-284t-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-55-x-72-x-35mm>: HTTP status code is not handled or not allowed 2026-01-28 02:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp84103t-4-3-ph-25-hp-460-v-1780-rpm-tefc-284tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extension-tubes-attatchment-for-gvc-models-390-1100-1250-1502>: HTTP status code is not handled or not allowed 2026-01-28 02:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-stainless-steel-needle-roller-bearing-w-inner-ring-15-x-27-x-20mm>: HTTP status code is not handled or not allowed 2026-01-28 02:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-step-steel-roll-ladd-rear-exit-gate-24-30-plat-serr-rwsr113242-xr>: HTTP status code is not handled or not allowed 2026-01-28 02:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-stainless-steel-needle-roller-bearing-w-inner-ring-7-x-17-x-12mm>: HTTP status code is not handled or not allowed 2026-01-28 02:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-25-x-42-x-23mm>: HTTP status code is not handled or not allowed 2026-01-28 02:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-36wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-steel-stock-cart-30-x-18-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-30wx21dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-54wx21dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-power-hydraulic-double-scissor-li-cart-1100-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 02:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-height-mobile-pallet-stand-pdf-4248-6ph2fl-48-x-42-open-deck>: HTTP status code is not handled or not allowed 2026-01-28 02:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-pegboard-a-frame-afpb1s2448-tl60-60-tall-1-sided>: HTTP status code is not handled or not allowed 2026-01-28 02:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-in-horsepwer-resistor-and-fuse-kit-br0010sp-001-ohms-10-amps>: HTTP status code is not handled or not allowed 2026-01-28 02:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fitting-hex-nipple-male-3-8-18nptf-to-male-3-8-18nptf>: HTTP status code is not handled or not allowed 2026-01-28 02:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/encoder-tachometer-mounting-kits-w-o-tach-417708-41-dpg-dpfv-tenv-frames-c210-c250>: HTTP status code is not handled or not allowed 2026-01-28 02:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1900-series-freestanding-box-box-file-pedestal-15w-x-22-5-8d-x-27-5-8h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edison-hair-dryer-chair>: HTTP status code is not handled or not allowed 2026-01-28 02:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-blower-kit-417077-141-for-tebc-frame-fl-rl210-320>: HTTP status code is not handled or not allowed 2026-01-28 02:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-en1030-8n-window-entry-awning-8-4-1-2-w-x-2-6-d-x-1-4-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 02:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-30w-x-24d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48004 pages (at 94 pages/min), scraped 24316 items (at 54 items/min) 2026-01-28 02:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-hydraulic-hose-3-8-id-10-l-3-8-18-nptf>: HTTP status code is not handled or not allowed 2026-01-28 02:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-72w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-30w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-rn22-4bb-window-entry-awning-4-4-1-2-w-x-2d-x-2-7-h-bright-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-48w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-gauge-4-face-glycerin-filled-0-15-000-psi-1-4-18-nptf>: HTTP status code is not handled or not allowed 2026-01-28 02:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-pump-1-hp-2-gallon-3-way-3-position-manual-valve-10-pendant>: HTTP status code is not handled or not allowed 2026-01-28 02:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-30w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 02:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-72w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-c-face-motor-brake-kit-cbk010-1-10-ft-lb-brake-rating-115-208-230-coil-voltage>: HTTP status code is not handled or not allowed 2026-01-28 02:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-motor-base-b324t-324t-5-8-x-2-1-2-bolt-size-w-2-adjustable-screw>: HTTP status code is not handled or not allowed 2026-01-28 02:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1840-large-sidewinder-3-system-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8744-ultra-containment-berm-modular-model-12-x-40-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-powered-office-work-positioner-li-truck-330-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-wfp14s2-batch-bowl-sealed-with-liquid-lock>: HTTP status code is not handled or not allowed 2026-01-28 02:45:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_hoses_connectors/pneumatic_quick_connect_couplings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-grip-with-t-handle-stretch-film-dispenser-12-to-20-rolls-8-per-case>: HTTP status code is not handled or not allowed 2026-01-28 02:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-250l-pipette-tips-ovation-vistarak-sterile-960-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-containment-shed-4062-bd-2-drum>: HTTP status code is not handled or not allowed 2026-01-28 02:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-30w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-starter-108inw-x-42ind-x-192inh-6420-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 02:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90007-salad-spinner-inner-basket>: HTTP status code is not handled or not allowed 2026-01-28 02:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-2l-pipette-ovation-f2-fixed-volume-two-stroke>: HTTP status code is not handled or not allowed 2026-01-28 02:45:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_containers/outdoor_trash_cans/plastic_outdoor_trash_cans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-pipettes-mla-core-group-5-dtipper-1-stand-2-racks-of-tips-10l50>: HTTP status code is not handled or not allowed 2026-01-28 02:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-strapping-12w-x-5575l-x-0037-thick-16-x-6-core-black>: HTTP status code is not handled or not allowed 2026-01-28 02:45:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_hoses_connectors/pneumatic_quick_connect_couplings landed on page that is not a product page. 2026-01-28 02:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-20200l-pipette-ovation-quickset-qs-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_containers/outdoor_trash_cans/plastic_outdoor_trash_cans>: HTTP status code is not handled or not allowed 2026-01-28 02:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manway-gasket-spiral-wound-12-x-16-x-1516-0175-thick-elliptical-pk-3>: HTTP status code is not handled or not allowed 2026-01-28 02:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-234-x-434-x-12-black-rubber-obround-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infrared-electric-heater-fss-9520-3-heavy-duty-950-kw-208v>: HTTP status code is not handled or not allowed 2026-01-28 02:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-focus-ii-boost-28-walk-behind-midsize-scrubber-boost-05375a>: HTTP status code is not handled or not allowed 2026-01-28 02:45:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/canister_vacuums already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-manway-gasket-12-x-16-x-1-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-kerosenediesel-forced-air-heater-with-thermostat-battery-operated-80000-btu-120v>: HTTP status code is not handled or not allowed 2026-01-28 02:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanix-wear-fastfit174hivizretail-work-gloves-synthetic-leather-black-xl>: HTTP status code is not handled or not allowed 2026-01-28 02:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roam-cordless-upright-vacuum-13-cleaning-width>: HTTP status code is not handled or not allowed 2026-01-28 02:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cep-9842-5500-lumen-led-cart-light-dual-head>: HTTP status code is not handled or not allowed 2026-01-28 02:45:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/gas_wall_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ex20-100c-15-sw-portable-carpet-extractor-56105416>: HTTP status code is not handled or not allowed 2026-01-28 02:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-monster-hose-38-x-200-x-4500-psi-cold-water-replacementextension-hose>: HTTP status code is not handled or not allowed 2026-01-28 02:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/canister_vacuums>: HTTP status code is not handled or not allowed 2026-01-28 02:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-clamp-hk1013-9-16-inch-clamping-dia-13-32-inch-bolt-hole-dia-25-pcs-bag>: HTTP status code is not handled or not allowed 2026-01-28 02:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mm9-motor-mount-nema-284t-365t-motor-fits-reducer-styles-smr9wsmr9>: HTTP status code is not handled or not allowed 2026-01-28 02:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-series-clamp-for-hose-ssch038-3-8-inch-id-0777-od>: HTTP status code is not handled or not allowed 2026-01-28 02:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-series-clamp-for-hose-ssch100-1-inch-id-1531-od>: HTTP status code is not handled or not allowed 2026-01-28 02:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6scds-3716-screw-conveyor-shaft-3-716-fits-ultimate-shaft-mount-reducer-size-6>: HTTP status code is not handled or not allowed 2026-01-28 02:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smr7-251-shaft-mount-reducer-size-7-251-ratio-3-1516-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 02:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hangcha-a-series-electric-lithiumion-high-level-order-picker-3000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:45:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wsmr6-251-shaft-mount-reducer-size-6-251-ratio-3-716-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 02:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48098 pages (at 94 pages/min), scraped 24362 items (at 46 items/min) 2026-01-28 02:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-dog-ballistic-vest-tested-to-level-iiia-ballistic-resistance>: HTTP status code is not handled or not allowed 2026-01-28 02:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-pasgt-style-ballistic-helmet-level-iiia-ballistic-resistance-large-green>: HTTP status code is not handled or not allowed 2026-01-28 02:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemostatic-gauze-pad-8-x-8-pad-0711gzp>: HTTP status code is not handled or not allowed 2026-01-28 02:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-palletote-box-16>: HTTP status code is not handled or not allowed 2026-01-28 02:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/techstar-sos-storage-bin-5-1-2-cu-ft-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-mirella-conference-table-sitting-height-16-rectangle-sanddune>: HTTP status code is not handled or not allowed 2026-01-28 02:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-mirella-conference-table-standing-height-8-rectangle-whiteash>: HTTP status code is not handled or not allowed 2026-01-28 02:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-mirella-conference-table-sitting-height-8-rectangle-sanddune>: HTTP status code is not handled or not allowed 2026-01-28 02:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-whiffle-typical-15-double-60-red>: HTTP status code is not handled or not allowed 2026-01-28 02:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces>: HTTP status code is not handled or not allowed 2026-01-28 02:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-learn-mobile-whiteboard-30-x-64-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stamped-welding-flange-fa038-3-8-inch-aluminum-1770-inch-od-0134-inch-thick>: HTTP status code is not handled or not allowed 2026-01-28 02:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tee-h3709x20-1-1-4-inch-female-npt-to-female-npt>: HTTP status code is not handled or not allowed 2026-01-28 02:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-mirella-conference-table-42-round-southerntobacco>: HTTP status code is not handled or not allowed 2026-01-28 02:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-skinny-pedestal-tall-graysteel>: HTTP status code is not handled or not allowed 2026-01-28 02:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-plate-for-open-wire-shelving>: HTTP status code is not handled or not allowed 2026-01-28 02:46:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_cabinets_pedestals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pu-erh-tea-emperors-pu-erh-single-cup-bags-0125-oz-16-box>: HTTP status code is not handled or not allowed 2026-01-28 02:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl77-60-1-145tc-helical-inline-speed-reducer-145tc-input-flange-60-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 02:46:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-port-high-pressure-ball-valve-hbv3w100-5000-max-pressure-1-inch-nptf>: HTTP status code is not handled or not allowed 2026-01-28 02:46:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-713w-preservation-tape-3w-x-108l-10mil-white>: HTTP status code is not handled or not allowed 2026-01-28 02:46:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_cabinets_pedestals landed on page that is not a product page. 2026-01-28 02:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-m-navy>: HTTP status code is not handled or not allowed 2026-01-28 02:46:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wind-pro-full-zip-hooded-sweater-reflective-flame-resistant-3xl-tall-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:46:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 02:46:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-28 02:46:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 02:46:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-button-down-work-shirt-m-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:46:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_sheets>: HTTP status code is not handled or not allowed 2026-01-28 02:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-32w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 02:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-32w-x-32l-brown>: HTTP status code is not handled or not allowed 2026-01-28 02:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-28 02:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-38w-x-31l-navy>: HTTP status code is not handled or not allowed 2026-01-28 02:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:46:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 02:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_sheets>: HTTP status code is not handled or not allowed 2026-01-28 02:46:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/550-series-chair-550-nb-crv-bl-clean-room-vinyl-nylon-base-21-31h-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:46:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 02:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands>: HTTP status code is not handled or not allowed 2026-01-28 02:46:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/excel-dryer-thinair-174-ada-compliant-high-efficiency-hand-dryer-110-120v-ta-abs>: HTTP status code is not handled or not allowed 2026-01-28 02:46:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-48x18x86-nexelon-finish-331497N>: HTTP status code is not handled or not allowed 2026-01-28 02:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 02:46:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activity-tables-36-l-x-36-w-standard-height-square-white>: HTTP status code is not handled or not allowed 2026-01-28 02:46:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 02:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-34w-x-31l-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:46:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/301v-bike-shell-bike-locker-1-bike-cap-54l-x-30wf-x-4wb-x-74h-tan-t-handle>: HTTP status code is not handled or not allowed 2026-01-28 02:46:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700-50r-50-industrial-reel-plated-steel-cable-le-21c-copper-alligator-clip>: HTTP status code is not handled or not allowed 2026-01-28 02:46:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:46:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-2-economical-digital-force-gauge-50-lbf-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:46:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:46:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-50w-x-34l-brown>: HTTP status code is not handled or not allowed 2026-01-28 02:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 02:46:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:46:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/allux-series-allux-stand-post-for-mailboxes-in-black>: HTTP status code is not handled or not allowed 2026-01-28 02:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-40w-x-36l-navy>: HTTP status code is not handled or not allowed 2026-01-28 02:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48181 pages (at 83 pages/min), scraped 24391 items (at 29 items/min) 2026-01-28 02:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-42w-x-33l-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 02:46:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:46:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-31w-x-36l-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:47:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inch-drive-deep-impact-socket-33-mm-6-point-3-1-2-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 02:47:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-tcl03sf532-70mm-complete-light-stack-120v-led-gray-term-g-a-r>: HTTP status code is not handled or not allowed 2026-01-28 02:47:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/450hs-50-inch-top-chest-8-drawer-black-50-inch-l-x-27-inch-h-x-25-inchd>: HTTP status code is not handled or not allowed 2026-01-28 02:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-48w-x-33l-black>: HTTP status code is not handled or not allowed 2026-01-28 02:47:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b2416-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-381mm>: HTTP status code is not handled or not allowed 2026-01-28 02:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-young-bros-reversed-9-pc-figure-steel-stamp-set>: HTTP status code is not handled or not allowed 2026-01-28 02:47:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bh2212-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-34925mm>: HTTP status code is not handled or not allowed 2026-01-28 02:47:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-46w-x-34l-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:47:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rainbow-colored-kraft-duo-finish-paper-36-inchw-x-1000-footl-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtt148-needle-bearing-drawn-cup-caged-2-seals-bore-22225mm>: HTTP status code is not handled or not allowed 2026-01-28 02:47:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 02:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-46w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 02:47:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em31120-15hp-3600rpm-56-frame-3ph-230-460v-odp-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 02:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bordette-decorative-border-2-1-4-inch-x-50-foot-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 02:47:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-eco-sport-1-interlocking-flooring-tiles-1-x-20-x-20-12-pack-coal-1>: HTTP status code is not handled or not allowed 2026-01-28 02:47:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/instructional_materials/flash_cards_educational_games already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-bulk-parts-lifter-4-to-5-lbs-pull-4375l-x-3125w-x-3225h-nylon-base-long-handle>: HTTP status code is not handled or not allowed 2026-01-28 02:47:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 02:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-56w-x-29l-black>: HTTP status code is not handled or not allowed 2026-01-28 02:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wypall-l10-sani-prep-dairy-towels-10-12-x-10-14-white-110pack-18-packscarton-kcc-01772>: HTTP status code is not handled or not allowed 2026-01-28 02:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-52w-x-unhemmed-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:47:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stocktank-feedbunk-w-ser-75-g-beige>: HTTP status code is not handled or not allowed 2026-01-28 02:47:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/instructional_materials/flash_cards_educational_games landed on page that is not a product page. 2026-01-28 02:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-tank-w-75r-auto-w-ser-75-gal>: HTTP status code is not handled or not allowed 2026-01-28 02:47:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-ghs2032alv2-corrosive-ghs-label-vinyl-2-x-2-250-roll>: HTTP status code is not handled or not allowed 2026-01-28 02:47:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 02:47:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-52-tall-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:47:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs3-4c-water-heater-w-3-4-compression-fitting>: HTTP status code is not handled or not allowed 2026-01-28 02:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15153-tourn-knife-black-handle-high-carbon-steel-black-handle-2-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 02:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-faceshield-wp96-clear-10-each>: HTTP status code is not handled or not allowed 2026-01-28 02:47:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25353-poultry-kitchen-shears-high-carbon-steel-black-blue-handle-4-l>: HTTP status code is not handled or not allowed 2026-01-28 02:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/competitor-ventilated-three-tier-locker-3-wide-12w-x-18d-x-24h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 02:47:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-12w-x-12d-x-36h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 02:47:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48261 pages (at 80 pages/min), scraped 24423 items (at 32 items/min) 2026-01-28 02:47:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nesting-wire-baskets-18x24x8-chrome-nesting-price-each-for-qty-1-2>: HTTP status code is not handled or not allowed 2026-01-28 02:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-thermoplastic-32-gallon-perforated-receptacle-w-rain-bonnet-lid-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-steelepoxy-s-5-52345-2-1-oz-tubes>: HTTP status code is not handled or not allowed 2026-01-28 02:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rescue-series-anesthesiology-medical-cart-white-frame-with-5-blue-drawers>: HTTP status code is not handled or not allowed 2026-01-28 02:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-performance-200-series-lan-station-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 02:48:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-storage-bin-with-accessory-rail-for-whisper-medical-carts>: HTTP status code is not handled or not allowed 2026-01-28 02:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-42w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-28 02:48:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 02:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-44-tall-black>: HTTP status code is not handled or not allowed 2026-01-28 02:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a136k-v-belt-kevlar-1-2-x-138>: HTTP status code is not handled or not allowed 2026-01-28 02:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-35w-x-unhemmed-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coverall-with-leg-zippers-60-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 02:48:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-52w-x-unhemmed-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-40w-x-unhemmed-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:48:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecrmp-121234-easy-cut-antivibration-neoprene-rubber-pad-12-x-12-cut-size>: HTTP status code is not handled or not allowed 2026-01-28 02:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lf-6045-low-profile-compression-mount-double-deflection-33-lbs-max-load>: HTTP status code is not handled or not allowed 2026-01-28 02:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-34w-x-unhemmed-red>: HTTP status code is not handled or not allowed 2026-01-28 02:48:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-threshold-w-vinyl-seal-09043-36-inch-brite-gold>: HTTP status code is not handled or not allowed 2026-01-28 02:48:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-48w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 02:48:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/pedestrian_barrier_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 02:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 02:48:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smarttool-ada-digital-slope-walker-93975-black-w-carrying-case>: HTTP status code is not handled or not allowed 2026-01-28 02:48:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n075uau1034-auto-nozzle-whookunleaded-gasolinered-25-145-gpmend-of-delivery-hose>: HTTP status code is not handled or not allowed 2026-01-28 02:48:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:48:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/pedestrian_barrier_parts_accessories>: HTTP status code is not handled or not allowed 2026-01-28 02:48:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-52w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-28 02:48:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/shredders/industrial_commercial_shredders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/assy-es-s4872-ramp-trim-kit-fits-48-x-72-mat>: HTTP status code is not handled or not allowed 2026-01-28 02:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-30-inch-w-x-14-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 02:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 02:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-waterborne-acrylic-enamel-gloss-finish-slate-gray-quart-796865>: HTTP status code is not handled or not allowed 2026-01-28 02:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-54w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 02:48:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:48:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-60w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 02:48:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:48:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_machines/shredders/industrial_commercial_shredders>: HTTP status code is not handled or not allowed 2026-01-28 02:48:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-60w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 02:48:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-decorative-gloss-enamel-12-oz-aerosol-can-clear-792264>: HTTP status code is not handled or not allowed 2026-01-28 02:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-remote-start-start-stop-100-250v-3-1-4-2a>: HTTP status code is not handled or not allowed 2026-01-28 02:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-oil-base-primer-gray-primer-gallon-802421>: HTTP status code is not handled or not allowed 2026-01-28 02:48:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-reset-button-24-60v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 02:48:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 02:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer>: HTTP status code is not handled or not allowed 2026-01-28 02:48:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-separate-coil-voltage-reset-button-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 02:48:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_storage_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-remote-start-terminals-start-stop-100-250v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 02:48:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_roof_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_roof_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-ladder-back-bar-ht-set-maple-fusion-laminate-table-black-vinyl-chair>: HTTP status code is not handled or not allowed 2026-01-28 02:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56fal-3-person-floor-mount-wash-station-with-ac-powered-sensors>: HTTP status code is not handled or not allowed 2026-01-28 02:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48344 pages (at 83 pages/min), scraped 24454 items (at 31 items/min) 2026-01-28 02:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viper-plus-gt-full-reclining-wheelchair-detachable-desk-arms-16-seat-pla416rbdda>: HTTP status code is not handled or not allowed 2026-01-28 02:49:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_roof_racks>: HTTP status code is not handled or not allowed 2026-01-28 02:49:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers landed on page that is not a product page. 2026-01-28 02:49:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/socket_screws/socket_head_cap_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400010-hex-cap-screw-1-4-20-x-1-18-8-stainless-steel-ft-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:49:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-separate-coil-voltage-reset-button-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 02:49:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/washers/lock_washers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-12-blue-vinyl-tape-white-print>: HTTP status code is not handled or not allowed 2026-01-28 02:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d667rb-osha-sign-danger-overhead-power-lines-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 02:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/825190-all-metal-hex-lock-nut-1-2-13-medium-carbon-steel-zinc-and-wax-grade-c-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:49:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers?token=null already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-remote-start-reset-button-100-250v-20-24a>: HTTP status code is not handled or not allowed 2026-01-28 02:49:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers?token=null already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e24c-ss-extension-spring-312-od-x-0348-wire-dia-175-l-259-lbs-in-302-ss>: HTTP status code is not handled or not allowed 2026-01-28 02:49:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/screws/socket_screws/socket_head_cap_screws landed on page that is not a product page. 2026-01-28 02:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/washers/lock_washers>: HTTP status code is not handled or not allowed 2026-01-28 02:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compression-spring-0557-od-x-0054-wd-x-3-oal-573-lbsin-rate-mbhd-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 02:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers?token=null>: HTTP status code is not handled or not allowed 2026-01-28 02:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-1ph-remote-start-reset-button-24-60v-44-53a>: HTTP status code is not handled or not allowed 2026-01-28 02:49:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m459rb-sign-cpr-emergency-response-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 02:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d239rb-osha-sign-danger-chemical-storage-area-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 02:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-chromebook-8482-laptop-tablet-charging-cart>: HTTP status code is not handled or not allowed 2026-01-28 02:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-104937-silicon-carbide-2-x-72-320-grit>: HTTP status code is not handled or not allowed 2026-01-28 02:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6ft-4ft-sago-palm-double-potted-silk-tree>: HTTP status code is not handled or not allowed 2026-01-28 02:49:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers landed on page that is not a product page. 2026-01-28 02:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb-products-single-garment-rack-36-steel-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-28 02:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-exhaust-fan-w-shutter-48-inch-prop-15hp-23735-cfm-3-phase-belt-drive>: HTTP status code is not handled or not allowed 2026-01-28 02:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commander-tactical-headset-kenwood-hyt-relm-radios>: HTTP status code is not handled or not allowed 2026-01-28 02:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-inpass-2-1-2-inch-npt-coalescing-filter-716-cfm-8-000-hr-0-1-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 02:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-9762-aluminum-oxide-4-x-54-80-grit>: HTTP status code is not handled or not allowed 2026-01-28 02:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-polypropylene-tagging-fasteners-803-standard-red-3l-5000-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-del-mar-2dm201-bn-two-handle-kitchen-faucet-with-spray-pvd-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 02:49:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-variable-height-sheet-rack-knock-down-1-500-lb-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-ibc-stairway-stair36i-7-48>: HTTP status code is not handled or not allowed 2026-01-28 02:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-4-shelf-first-aid-cabinet-150-person-ansi-compliant-class-b>: HTTP status code is not handled or not allowed 2026-01-28 02:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-refill-kit-50-person-ansi-compliant-class-a>: HTTP status code is not handled or not allowed 2026-01-28 02:49:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets landed on page that is not a product page. 2026-01-28 02:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-48-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 02:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-24-inch-d-x-86-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 02:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48430 pages (at 86 pages/min), scraped 24506 items (at 52 items/min) 2026-01-28 02:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronze-sleeve-bearing-bsb121630-34id-x-1od-178l>: HTTP status code is not handled or not allowed 2026-01-28 02:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-frame-folding-tank-stf-4000-183l-x-183w-x-29h-4000-gallon-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-as5l-righthand-type-d-214l-thread-fits-58-shaft>: HTTP status code is not handled or not allowed 2026-01-28 02:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-60-inch-w-x-21-inch-d-1000-lbs-cap-removable-open-grid-mat-polymer-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-frame-pvc-decontamination-pool-alfdp-48-48l-x-12w-x-55h-230-gallon-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-18-inch-d-x-62-inch-h-2000-lbs-cap-4-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 02:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uni-plus-cable-stripper-8-15mm-common-round-cables>: HTTP status code is not handled or not allowed 2026-01-28 02:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-30-inch-w-x-21-inch-d-1000-lbs-cap-removable-open-grid-mat-polymer-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-36-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 02:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-21-inch-d-x-50-inch-h-2000-lbs-cap-4-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 02:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/performance-corner-accessory-bar>: HTTP status code is not handled or not allowed 2026-01-28 02:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-channel-frame-jd2al-double-leaf-316-stainless-steel-hardware-48l-x-48w>: HTTP status code is not handled or not allowed 2026-01-28 02:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-48-inch-w-x-24-inch-d-1000-lbs-cap-removable-solid-shelf-mat-polymer-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22u-linier-server-cabinet-no-doors-no-side-panels-24-depth>: HTTP status code is not handled or not allowed 2026-01-28 02:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-stage-oil-less-direct-drive-air-compressor-15-gallon-1-hp-horizontal>: HTTP status code is not handled or not allowed 2026-01-28 02:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10000283-4-w-x-4-l-tt-z-perform-2000t-perforated-3-core>: HTTP status code is not handled or not allowed 2026-01-28 02:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b-rate-depository-safe-front-loading-manual-combo-lock-14w-x-14d-x-27-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 02:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-oscillating-multi-directional-tower-fan-3-speed-black>: HTTP status code is not handled or not allowed 2026-01-28 02:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-frl-n33353w-gauge-metal-bowl-wsight-manual-fog-lubricator>: HTTP status code is not handled or not allowed 2026-01-28 02:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-modular-frl-wend-ports-vc33452-gauge-poly-bowl-manual-ultra-fog-lubr-osha-valve>: HTTP status code is not handled or not allowed 2026-01-28 02:50:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/first_aid_wound_treatment/bandages_dressings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recoil-air-hose-mp287400av-50l-x-14-id>: HTTP status code is not handled or not allowed 2026-01-28 02:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octagonal-sledge-hammer-1437gfv-8lb-head-36-fiberglass-handle>: HTTP status code is not handled or not allowed 2026-01-28 02:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-insert-bit-23054-5-16-drive-t40-tip>: HTTP status code is not handled or not allowed 2026-01-28 02:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbless-folding-ramp-traverse-sfel02-31-x-24-1600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siligentle-silicone-non-adhesive-foam-dressing-2l-x-2w-120-pcs>: HTTP status code is not handled or not allowed 2026-01-28 02:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forged-bolt-cutter-cop24-24-long>: HTTP status code is not handled or not allowed 2026-01-28 02:50:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/first_aid_wound_treatment/bandages_dressings landed on page that is not a product page. 2026-01-28 02:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sae-hex-tip-impact-socket-7441-3-8-1-2-drive-3-long-3-8-hex-tip>: HTTP status code is not handled or not allowed 2026-01-28 02:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-surgical-tape-2w-x-10-yards-pack-of-72>: HTTP status code is not handled or not allowed 2026-01-28 02:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloth-surgical-tape-2w-x-10-yards-pack-of-72>: HTTP status code is not handled or not allowed 2026-01-28 02:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abdominal-binder-small-fits-24-x-30-waist-6h-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 02:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-aisle-order-picking-truck-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 02:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-tall-hand-truck-w-foot-kick-10-solid-rubber>: HTTP status code is not handled or not allowed 2026-01-28 02:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm99k-traffic-sign-no-parking-here-to-corner-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 02:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-storage-locker-w-adjustable-center-shelf-mesh-sides-61w-x-33d-x-52h>: HTTP status code is not handled or not allowed 2026-01-28 02:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynarest-airfloat-deluxe-air-mattress-w-perimeter-80l-x-36w-x-11h>: HTTP status code is not handled or not allowed 2026-01-28 02:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-round-bolster-25-l-x-4-5-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 02:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-round-bolster-24-5-l-x-6-dia-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 02:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-led-refrigerator-light-bulb-5-1-2w-50k-450-lumens-medium-base-dimmable-frosted-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48528 pages (at 98 pages/min), scraped 24565 items (at 59 items/min) 2026-01-28 02:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-led-light-bulb-10w-800-lumens-dimmable-energy-star-title-20-compliant-2700k-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-barlow-lens-sm-sw-stereo-microscopes-2x-magnification-48mm>: HTTP status code is not handled or not allowed 2026-01-28 02:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-chart-brain-paper>: HTTP status code is not handled or not allowed 2026-01-28 02:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mc-mini-twin-turbo-refrigerant-recovery-machine>: HTTP status code is not handled or not allowed 2026-01-28 02:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-head-powered-snow-shovel-kit>: HTTP status code is not handled or not allowed 2026-01-28 02:51:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/stencils_letters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-all-purpose-band-saw-1-hp-440v-3-phase-ef1459>: HTTP status code is not handled or not allowed 2026-01-28 02:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-endurance-laminate-top-floor-mounted-desk-36-inch-x-24-inch-blue-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-foam-core-mattress-w-sealed-seams-36-inch-x-80-inch-x-6-inch>: HTTP status code is not handled or not allowed 2026-01-28 02:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-endurance-wall-mount-step-shelf-81-inch-x-34-1-2-inch-black>: HTTP status code is not handled or not allowed 2026-01-28 02:51:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24038-black-oxide-drill-bit-29-piece-set-135-3-8-rs-1-16-to-1-1-2>: HTTP status code is not handled or not allowed 2026-01-28 02:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24-rack-screws-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gf-gu-125-union-set-529911-bronze-34-inch-npt>: HTTP status code is not handled or not allowed 2026-01-28 02:51:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/stencils_letters landed on page that is not a product page. 2026-01-28 02:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76021-angle-grinder-cup-brush-arbor-5-8-x-11-coarse-2-3-4-knot>: HTTP status code is not handled or not allowed 2026-01-28 02:51:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/keyboards_mice already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss316-60220-2-class-150-90-degree-street-elbow-stainless-steel-316>: HTTP status code is not handled or not allowed 2026-01-28 02:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-dual-layer-stretch-mesh-upper-black-dark-grey-11-5m>: HTTP status code is not handled or not allowed 2026-01-28 02:51:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-ultraknit-flexweave-black-white-7m>: HTTP status code is not handled or not allowed 2026-01-28 02:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-two-eye-tie-work-sneaker-breathable-knit-textile-leather-brown-tan-9-5m>: HTTP status code is not handled or not allowed 2026-01-28 02:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loading-dock-safety-net-with-posts-4-feet-x-18-feet>: HTTP status code is not handled or not allowed 2026-01-28 02:51:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-ruched-bootie-full-grain-leather-black-10-5m>: HTTP status code is not handled or not allowed 2026-01-28 02:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-three-quarter-smooth-leather-cognac-9eee>: HTTP status code is not handled or not allowed 2026-01-28 02:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-fixed-sign-frame-50-1141sh-s-mb-8-5-x-11-slotted-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 02:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f24966-0001-splash-shield-single-12-x-15-shield-with-24-articulating-arm>: HTTP status code is not handled or not allowed 2026-01-28 02:51:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/keyboards_mice landed on page that is not a product page. 2026-01-28 02:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oven-valve-1-4-mpt-x-7-16-cc-for-garland-1150399>: HTTP status code is not handled or not allowed 2026-01-28 02:51:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 02:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-lockout-toolbox-premier-electrical-device-assortment-4-zen-padlocks-red>: HTTP status code is not handled or not allowed 2026-01-28 02:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64-oz-liquid-concentrate-strawberry-lemonade>: HTTP status code is not handled or not allowed 2026-01-28 02:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-s1106-anodized-aluminum-safety-padlock-1-1-2-inchw-1-1-2-inchtall-shackle-keyed-alike-silver>: HTTP status code is not handled or not allowed 2026-01-28 02:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-add-on-unit-48w-x-36d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 02:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironcat-30-irontex-flame-retardant-cotton-jacket-green-3xl-all-cotton>: HTTP status code is not handled or not allowed 2026-01-28 02:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-solid-door-mobile-storage-cabinet-48wx24dx72h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 02:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-built-in-dishwasher-24-inch-wide-ada-compliant-top-controls-black-door>: HTTP status code is not handled or not allowed 2026-01-28 02:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/990-s-durahook-wall-organizer-24-hooks-2-duraboards-4-pc-bin-system-mounting-hw-kit>: HTTP status code is not handled or not allowed 2026-01-28 02:51:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/electric_motor_power_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/119-01-field-station-1207-cu-ft-steel-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62-war-wagon-rolling-work-bench-3400-lbs-steel-tan>: HTTP status code is not handled or not allowed 2026-01-28 02:51:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:51:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aircraft-black-oxide-extended-length-drill-bit-dw1607-1-4-diameter-6-long>: HTTP status code is not handled or not allowed 2026-01-28 02:51:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-case-with-glock-inserts-qf300bkg3-watertight-10-11-16-x9-3-4-x4-13-16-black>: HTTP status code is not handled or not allowed 2026-01-28 02:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48620 pages (at 92 pages/min), scraped 24618 items (at 53 items/min) 2026-01-28 02:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-10-bushel-ups-fedex-able-antimicrobial-basket-all-swivel-casters-red>: HTTP status code is not handled or not allowed 2026-01-28 02:51:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/electric_motor_power_supplies landed on page that is not a product page. 2026-01-28 02:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-10-bushel-antimicrobial-vinyl-basket-truck-all-swivel-casters-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage>: HTTP status code is not handled or not allowed 2026-01-28 02:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-12-bushel-ups-fedex-able-antimicrobial-basket-all-swivel-casters-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:52:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks landed on page that is not a product page. 2026-01-28 02:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-12-bushel-vinyl-bumper-truck-all-swivel-casters-beige>: HTTP status code is not handled or not allowed 2026-01-28 02:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-70-pair-safety-glass-dispenser-clear-acrylic-with-clear-lid-5148-w-9-1-4l>: HTTP status code is not handled or not allowed 2026-01-28 02:52:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-28 02:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-14-bushel-antimicrobial-vinyl-basket-truck-w-antimicrobial-bumper-red>: HTTP status code is not handled or not allowed 2026-01-28 02:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ll-wl-4-feet-led-stairwell-wall-mount-fixture-3000-lumens-4000k-white>: HTTP status code is not handled or not allowed 2026-01-28 02:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-utility-sanitation-hook-rack-4033-pvc-coated-five-2-hooks-green>: HTTP status code is not handled or not allowed 2026-01-28 02:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-window-36-1-4w-x-73-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-28-gpf-elongated-bowl-toilet-19-1-16-inch-w-x-28-3-8-inch-d-x-30-11-16-inch-h-bone>: HTTP status code is not handled or not allowed 2026-01-28 02:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hn-lota-guest-side-chair-23-inch-x-24-3-4-inch-x-34-1-2-inch-black>: HTTP status code is not handled or not allowed 2026-01-28 02:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-office-partition-panel-with-partial-window-48-1-4-w-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duk-truwood-fsc-wood-4-piece-patio-set-with-gray-cushions>: HTTP status code is not handled or not allowed 2026-01-28 02:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ubm-2-male-mannequin-oval-head-arms-at-side-right-leg-slightly-bent-slate-grey-natural>: HTTP status code is not handled or not allowed 2026-01-28 02:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cha-anesthesia-cart-w-standard-height-autolock-green>: HTTP status code is not handled or not allowed 2026-01-28 02:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-strip-door-sd14-8-6x6-6w-x-6h-8-amber-tint-pvc>: HTTP status code is not handled or not allowed 2026-01-28 02:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-strip-door-sd60-8-10x8-10w-x-8h-8-red-tint-pvc>: HTTP status code is not handled or not allowed 2026-01-28 02:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-series-9-1-2height-8-cast-iron-wheel-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-28 02:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-s-5-5-8h-4-urethane-polypropylene-wheel-w-ttl-lock-brake-roller-bearing-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-28 02:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fan-motor-1-6-to-1-3-hp-1075-rpm-230v>: HTTP status code is not handled or not allowed 2026-01-28 02:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-multipoise-gas-furnace-1200-cfm-70000-btu>: HTTP status code is not handled or not allowed 2026-01-28 02:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inches-height-adjustable-masonite-stool-with-backrest-gray-frame>: HTTP status code is not handled or not allowed 2026-01-28 02:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/112760-horizontal-slanted-l-shaped-acrylic-sign-holder-8-5-x-2-5-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-basewear-construction-harness-w-tongue-buckle-legs-3-d-ring-s>: HTTP status code is not handled or not allowed 2026-01-28 02:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1002-aerator-only-has-20-gpm-60-psi>: HTTP status code is not handled or not allowed 2026-01-28 02:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-climbing-construction-harness-w-quick-connect-legs-m-l>: HTTP status code is not handled or not allowed 2026-01-28 02:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-litefit-plus-standard-harness-w-tongue-buckle-legs-back-d-ring-m-l>: HTTP status code is not handled or not allowed 2026-01-28 02:52:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/gear_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-aerial-kit-h412002-a111106-c351100-small-duffle-bag>: HTTP status code is not handled or not allowed 2026-01-28 02:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-3541-casement-window-locking-handle-left-hand-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-bantam-8-feet-self-retracting-lifeline-le-w-steel-form-hook>: HTTP status code is not handled or not allowed 2026-01-28 02:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gm-exam-cape-30-inch-x-21-inch-mauve-100-case>: HTTP status code is not handled or not allowed 2026-01-28 02:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-312l-royal-series-4-center-deck-mount-faucet-12-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 02:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48716 pages (at 96 pages/min), scraped 24678 items (at 60 items/min) 2026-01-28 02:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-616-replacement-face-strainer-for-3-1-2-waste-drains>: HTTP status code is not handled or not allowed 2026-01-28 02:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-portable-pistol-security-safe-key-lock-tether-cable-0-12-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 02:52:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/gear_lockers landed on page that is not a product page. 2026-01-28 02:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900051-acrylic-j-bar-system-13-5-wide-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-test-dial-indicator-ip65-0-03-0-0005-inch>: HTTP status code is not handled or not allowed 2026-01-28 02:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-digital-caliper-w-fastener-reading-function-stainless-steel-ip54-0-6-inch-accuracy-0-001-inch>: HTTP status code is not handled or not allowed 2026-01-28 02:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-16x20-2-wall-5-lgt-6-dplx-1-dr-wht>: HTTP status code is not handled or not allowed 2026-01-28 02:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-compact-brushless-hammer-drill>: HTTP status code is not handled or not allowed 2026-01-28 02:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyflex-lite-gloves-ansell-11-600-black-foamed-pu-palm-coat-size-9>: HTTP status code is not handled or not allowed 2026-01-28 02:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zp-a07335-zp-2000-aerosol-can-416401-20n13>: HTTP status code is not handled or not allowed 2026-01-28 02:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kh-esd-cabinet-drawer-32w-x-14-inch-d-black>: HTTP status code is not handled or not allowed 2026-01-28 02:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-s721-non-ansi-female-vest-61910-pink-medium>: HTTP status code is not handled or not allowed 2026-01-28 02:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-storage-container-lid-19-13-16l-x-13-3-8w-x-2-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 02:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-kit-with-18-w-louver-36-w-whiteboard-72-w-workbench-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-aluminum-rolling-ladder-16inw-grip-tread-21ind-top-step-w-o-handrails>: HTTP status code is not handled or not allowed 2026-01-28 02:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x4-task-chair-49802ablk-black-fabric-adjustable-arms>: HTTP status code is not handled or not allowed 2026-01-28 02:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-ldpe-500ml-capacity-sodium-hypochlorite-4-pk-yellow-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 02:53:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/bolts/flange_bolts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oak-leaf-ceiling-medallion-cm29oa>: HTTP status code is not handled or not allowed 2026-01-28 02:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-putty-pear-xx-soft-4-ounce>: HTTP status code is not handled or not allowed 2026-01-28 02:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/southampton-capital-cap10x03x02so-1014w-x-3h-x-212dw-x-58>: HTTP status code is not handled or not allowed 2026-01-28 02:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-exercise-putty-black-x-firm-4-ounce>: HTTP status code is not handled or not allowed 2026-01-28 02:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rocker-board-wooden-with-carpet-side-to-side-60l-x-30w-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 02:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-circular-wobble-rocker-board-2h-green>: HTTP status code is not handled or not allowed 2026-01-28 02:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-designer-wood-locker-21364-single-tier-3-wide-15x24x72-maple-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 02:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/styleview-cart-with-lcd-pivot-sla-powered-2-drawers>: HTTP status code is not handled or not allowed 2026-01-28 02:53:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/bolts/flange_bolts landed on page that is not a product page. 2026-01-28 02:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exercise-web-latex-free-7-diameter-black-x-heavy>: HTTP status code is not handled or not allowed 2026-01-28 02:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-com-pax-ial-blower-without-canister-9538-8-diameter-1-3hp-115v-900-cfm>: HTTP status code is not handled or not allowed 2026-01-28 02:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/satco-s9711-led-t5-replacement-25w-5000k>: HTTP status code is not handled or not allowed 2026-01-28 02:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disc-361f-2-inch-diameter-tr-aluminum-oxide-50-grit>: HTTP status code is not handled or not allowed 2026-01-28 02:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-exercise-sensi-ball-red-38-95-cm>: HTTP status code is not handled or not allowed 2026-01-28 02:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/molded-vinyl-inflatable-exercise-roll-70-cm-28-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-liquid-laundry-detergent-intense-fresh-scent-100-oz-4-case-024200094218>: HTTP status code is not handled or not allowed 2026-01-28 02:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-brakes-for-6-polyurethane-casters>: HTTP status code is not handled or not allowed 2026-01-28 02:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-ton-bridge-crane-10-bridge-length-23-run-length-12-height-4-col>: HTTP status code is not handled or not allowed 2026-01-28 02:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-hotel-safe-electronic-lock-w-card-slot-18-w-x-15-d-x-9-h-keyed-alike-off-white>: HTTP status code is not handled or not allowed 2026-01-28 02:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48813 pages (at 97 pages/min), scraped 24739 items (at 61 items/min) 2026-01-28 02:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-x-1-4in-shed-resistant-motech-mini-roller-covers-6-pack-16-case-6mt025-6>: HTTP status code is not handled or not allowed 2026-01-28 02:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-part-reeved-cross-parallel-mount-assembly-model-2993ut>: HTTP status code is not handled or not allowed 2026-01-28 02:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-tool-adapter-aluminum-black-metallic-sw66630>: HTTP status code is not handled or not allowed 2026-01-28 02:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-3-4-security-machine-screw-flat-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-multifilament-12-x-18-200-micron-draw-string-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 02:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-1-2-security-cap-screw-flat-socket-head-18-8-stainless-steel-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 02:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-16-balldriver-l-wrench-10903>: HTTP status code is not handled or not allowed 2026-01-28 02:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12ab-x-3-security-sheet-metal-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-32-balldriver-t-handle-13109>: HTTP status code is not handled or not allowed 2026-01-28 02:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-tamperproof-hex-key>: HTTP status code is not handled or not allowed 2026-01-28 02:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-pass-thru-cable-36-1-4w-x-77-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-1-2-x-17-1-2-x-16-clear-mobile-heavy-duty-giant-stack-container>: HTTP status code is not handled or not allowed 2026-01-28 02:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-cable-de-icer-160-ft-120v-7-watts-per-foot>: HTTP status code is not handled or not allowed 2026-01-28 02:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-pad-krystl-19x24-clr>: HTTP status code is not handled or not allowed 2026-01-28 02:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-tamperproof-spanner-bit-1-4-hex-shank>: HTTP status code is not handled or not allowed 2026-01-28 02:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-2-spanner-machine-screw-flat-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:54:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/mouse_pads_wrist_rests already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a19abc-4c-remote-bulb-temperature-control>: HTTP status code is not handled or not allowed 2026-01-28 02:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-48w-x-14d-x-63h-4-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 02:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-y-manifold-6mm-tube-x-1-8-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 02:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-1-5-2-ml-rotor-with-clickseal-biocontainment-lid-75003424>: HTTP status code is not handled or not allowed 2026-01-28 02:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/mouse_pads_wrist_rests>: HTTP status code is not handled or not allowed 2026-01-28 02:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-density-red-infectious-waste-liners-44-gal-36w-48l>: HTTP status code is not handled or not allowed 2026-01-28 02:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-plastic-step-stand-yellow-19-1-2-w-x-14-d-x-12-h-st-1-yel>: HTTP status code is not handled or not allowed 2026-01-28 02:54:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/pressure_washers/gas_pressure_washers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wall-reclosable-seal-top-specimen-trans-bag-green-tint-12w-15l>: HTTP status code is not handled or not allowed 2026-01-28 02:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-panels-powdercoat-orange-16-x-32-2-pc>: HTTP status code is not handled or not allowed 2026-01-28 02:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-120-h-add-on-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphing-calculator-ti83plus-8-x-16-display-3-1-2-x-7-1-3-x-1-black>: HTTP status code is not handled or not allowed 2026-01-28 02:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-72-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/pressure_washers/gas_pressure_washers>: HTTP status code is not handled or not allowed 2026-01-28 02:54:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:54:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-platform-kit-4-x-36-x-72>: HTTP status code is not handled or not allowed 2026-01-28 02:54:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-anchor-316-x-1-34-phillips-flat-head-pkg-of-225-24555>: HTTP status code is not handled or not allowed 2026-01-28 02:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-12-w-x-18-d-x-78-h-729-parchment-triple-tier-1-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 02:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48903 pages (at 90 pages/min), scraped 24797 items (at 58 items/min) 2026-01-28 02:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-84-h-add-on-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calcium-lime-rust-remover-1-gal>: HTTP status code is not handled or not allowed 2026-01-28 02:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 02:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alba-pm1part-bo-cubicle-garment-peg-1-hook-1-15-x-1-38-x-4-310-metallic-grey>: HTTP status code is not handled or not allowed 2026-01-28 02:54:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 02:54:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 02:55:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-kid-locker-15w-x-15d-x-54h-721-relay-red-red-single-tier-1-wide-knock-down>: HTTP status code is not handled or not allowed 2026-01-28 02:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/primo-digital-scalewarm-red>: HTTP status code is not handled or not allowed 2026-01-28 02:55:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/scissors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:55:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/rotary_screw_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-72-h-add-on-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 02:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241142-bushing-guide-rod-7-16-inch-id-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 02:55:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 02:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 02:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl-l-lamp-ft18w2g11841-18w-4100k>: HTTP status code is not handled or not allowed 2026-01-28 02:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-50-Open-folio-storage-maple>: HTTP status code is not handled or not allowed 2026-01-28 02:55:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/scissors landed on page that is not a product page. 2026-01-28 02:55:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/rotary_screw_air_compressors landed on page that is not a product page. 2026-01-28 02:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-96-h-add-on-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-1042-21-3-4-inch-x-3-inch-cast-iron-top-broiler-grate>: HTTP status code is not handled or not allowed 2026-01-28 02:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-20-foot-green-pvc-water-suction-hose-assembly-coupled-w-m-x-f-aluminum-short-shank-fittings>: HTTP status code is not handled or not allowed 2026-01-28 02:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-48-w-x-24-d-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chateau-series-mahogany-laminate-desking-709x148x365-hutch>: HTTP status code is not handled or not allowed 2026-01-28 02:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1211161-slider-magic-rnd-3-4-inch-thd-8pk>: HTTP status code is not handled or not allowed 2026-01-28 02:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-quiet-ceiling-exhaust-fan-80-cfm-0-4-sones-120v>: HTTP status code is not handled or not allowed 2026-01-28 02:55:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/credenzas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbkrb-compact-bender-kit-1926598-with-reverse-bending-attachment>: HTTP status code is not handled or not allowed 2026-01-28 02:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/band-aid-5685-flexible-fabric-extra-large-adhesive-bandages-1-34-x-4-10box>: HTTP status code is not handled or not allowed 2026-01-28 02:55:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/engine_stands_cradles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ae14z-poly-z-brite-safety-push-handle-14w>: HTTP status code is not handled or not allowed 2026-01-28 02:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/credenzas>: HTTP status code is not handled or not allowed 2026-01-28 02:55:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2231290-screw-blade-tr22-tr23-for-dito-dean>: HTTP status code is not handled or not allowed 2026-01-28 02:55:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/engine_stands_cradles>: HTTP status code is not handled or not allowed 2026-01-28 02:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-padded-sports-handle-for-exercise-band-tubing>: HTTP status code is not handled or not allowed 2026-01-28 02:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-tubing-silver-100-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 02:55:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-bent-magnalugs-6401-050fl-3-8-50-pcs>: HTTP status code is not handled or not allowed 2026-01-28 02:55:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321215-basket-strainer3-3-8-inch-oa>: HTTP status code is not handled or not allowed 2026-01-28 02:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/negative-straight-clamp-4040-050n-4-0-gauge-50-pcs>: HTTP status code is not handled or not allowed 2026-01-28 02:55:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 02:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-steel-cart-3-tray-shelves-24-x-36>: HTTP status code is not handled or not allowed 2026-01-28 02:55:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 02:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 48995 pages (at 92 pages/min), scraped 24852 items (at 55 items/min) 2026-01-28 02:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-jumper-cable-7781-001-12-long-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 02:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters>: HTTP status code is not handled or not allowed 2026-01-28 02:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77164-16-condensation-squeegee-red>: HTTP status code is not handled or not allowed 2026-01-28 02:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/81023-8-mil-die-cut-apron-50-length-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoco-z-rack-with-osha-orange-base-rzk8rng-64l-x-24w-x-70h-black-with-orange-base>: HTTP status code is not handled or not allowed 2026-01-28 02:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70476-high-low-brush-medium-yellow>: HTTP status code is not handled or not allowed 2026-01-28 02:56:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/cable_leadheads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70417-11-waterfed-deck-scrub-extra-stiff-orange>: HTTP status code is not handled or not allowed 2026-01-28 02:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-service-stock-cart-2-shelves-1200-lbs-capacity-60-x-30>: HTTP status code is not handled or not allowed 2026-01-28 02:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-loop-exerciser-3-size-set-10-15-30-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5491019-gasket-element>: HTTP status code is not handled or not allowed 2026-01-28 02:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-band-green-6-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 02:56:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-frock-3xl-white>: HTTP status code is not handled or not allowed 2026-01-28 02:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-piece-48-inch-raincoat-yellow-polyester-3xl>: HTTP status code is not handled or not allowed 2026-01-28 02:56:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/cable_leadheads landed on page that is not a product page. 2026-01-28 02:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-1210-af-commander-exposed-shower>: HTTP status code is not handled or not allowed 2026-01-28 02:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1831128-link-belt-1-2-inch-pitch-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 02:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huot-reamer-dispenser-master>: HTTP status code is not handled or not allowed 2026-01-28 02:56:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-28 02:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-loop-10-long-gold-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barnstead-full-size-ultrapure-cartridge-d8911-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-welded-frame-mirror-18-w-x-30-h>: HTTP status code is not handled or not allowed 2026-01-28 02:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eatag02s1p-right-angle-industrial-die-grinder-14-collet-20000-rpm-13cfm-14-inlet>: HTTP status code is not handled or not allowed 2026-01-28 02:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-speed-fan-assembly-kit>: HTTP status code is not handled or not allowed 2026-01-28 02:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341978-silicone-drain-heater>: HTTP status code is not handled or not allowed 2026-01-28 02:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-battery-jumper-cable-4-awg-25l-blackred>: HTTP status code is not handled or not allowed 2026-01-28 02:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342029-heating-element-120-240v-1850w-for-cres-cor>: HTTP status code is not handled or not allowed 2026-01-28 02:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lk1500cr-everyday-kitchen-faucet-1-hole-drilling>: HTTP status code is not handled or not allowed 2026-01-28 02:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-2-1-4-machine-screw-pan-head-phillips-18-8-stainless-steel-ft-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 02:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-stainless-steel-shelf-24-w-x-8-d>: HTTP status code is not handled or not allowed 2026-01-28 02:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-anti-static-bags-13w-x-18l-4-mil-pink-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 02:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn851-ni-horizontal-latch-type-toggle-clamp-320evv1-size-320-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 02:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010180-caster-3-in-swivelw-brake>: HTTP status code is not handled or not allowed 2026-01-28 02:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-asphalt-installation-red-cover-black-tapes>: HTTP status code is not handled or not allowed 2026-01-28 02:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-hopper-front-bulk-truck-48-cu>: HTTP status code is not handled or not allowed 2026-01-28 02:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56889-1-5-gallon-bucket-black>: HTTP status code is not handled or not allowed 2026-01-28 02:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-production-workbench-esd-laminate-square-edge-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:56:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381099-fuse>: HTTP status code is not handled or not allowed 2026-01-28 02:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-24w-x-18d-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-72w-x-24d-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-production-workbench-plastic-laminate-safety-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polyester-filter-14-w-x-20-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-28 02:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-production-workbench-maple-butcher-block-safety-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5380-77-2-216-3-0-pipe-brush-medium-green>: HTTP status code is not handled or not allowed 2026-01-28 02:56:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44-h-x-60-w-so-nylon-column-protector-black-cover-red-tapes>: HTTP status code is not handled or not allowed 2026-01-28 02:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts>: HTTP status code is not handled or not allowed 2026-01-28 02:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 49090 pages (at 95 pages/min), scraped 24901 items (at 49 items/min) 2026-01-28 02:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561523-cold-faucet-assembly-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 02:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-48x18x70-1600-pound-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 02:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-duct-access-door-6-x-6>: HTTP status code is not handled or not allowed 2026-01-28 02:57:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts>: HTTP status code is not handled or not allowed 2026-01-28 02:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-hand-truck-loop-handle-semi-pneumatic-wheels>: HTTP status code is not handled or not allowed 2026-01-28 02:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-wall-inlet-8l-x-4-38w-x-3h-white>: HTTP status code is not handled or not allowed 2026-01-28 02:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium46-34-95-collapsible-inside-46l-x-34w-x-95>: HTTP status code is not handled or not allowed 2026-01-28 02:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wardrobe-cabinet-with-4-drawers-48-x-24-x-78>: HTTP status code is not handled or not allowed 2026-01-28 02:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-30x20x10-with-roof-4-sides>: HTTP status code is not handled or not allowed 2026-01-28 02:57:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets landed on page that is not a product page. 2026-01-28 02:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-120x42x96-starter-unit-blue-orange-6700-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 02:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-flat-tray-14-x-18-12-cs-onyx-dx1089i03>: HTTP status code is not handled or not allowed 2026-01-28 02:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-flat-tray-15-x-20-12-cs-onyx-dx1089m03>: HTTP status code is not handled or not allowed 2026-01-28 02:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-sign-no-entry-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-unit-black-black-15-yellow-belt>: HTTP status code is not handled or not allowed 2026-01-28 02:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireway-husky-tear-drop-pallet-rack-add-on-96x36x96>: HTTP status code is not handled or not allowed 2026-01-28 02:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30882-small-utility-brush-medium-green>: HTTP status code is not handled or not allowed 2026-01-28 02:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1400202-ps80l210-80v-pro-series-10-inch-pole-saw-kit-w-20ah-battery-and-charger>: HTTP status code is not handled or not allowed 2026-01-28 02:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-climbing-peak-safety-helmet-type-1-4-point-ratchet-suspension-hi-viz-lime>: HTTP status code is not handled or not allowed 2026-01-28 02:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-plastic-folding-chair-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261549-male-branch-tee>: HTTP status code is not handled or not allowed 2026-01-28 02:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-door-wall-mountable-film-box-gray>: HTTP status code is not handled or not allowed 2026-01-28 02:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdc16100-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 02:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-48inw-x-36ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 02:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yardstick-with-metal-edges>: HTTP status code is not handled or not allowed 2026-01-28 02:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mh7100-plus-replacement-suction-cup-7-wall-mount-barrier>: HTTP status code is not handled or not allowed 2026-01-28 02:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-72x24x72-starter>: HTTP status code is not handled or not allowed 2026-01-28 02:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-72x24x96-add-on>: HTTP status code is not handled or not allowed 2026-01-28 02:57:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/rack_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/translucent-liner-12-x-60>: HTTP status code is not handled or not allowed 2026-01-28 02:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22895-12-piece-type-316-stainless-steel-shim-stock-assortment-6-x-12-sheets>: HTTP status code is not handled or not allowed 2026-01-28 02:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-g-1-2-double-solenoid-valve-pilot-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 02:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262285-lower-bearing-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 02:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/rack_protectors>: HTTP status code is not handled or not allowed 2026-01-28 02:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 49185 pages (at 95 pages/min), scraped 24964 items (at 63 items/min) 2026-01-28 02:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3810-12-outlet-kit>: HTTP status code is not handled or not allowed 2026-01-28 02:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-inch-round-3-led-amber-market-light-w-grommet-plug>: HTTP status code is not handled or not allowed 2026-01-28 02:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-24-kraft-heavy-duty-mailing-tubes-with-caps>: HTTP status code is not handled or not allowed 2026-01-28 02:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-3-8-phillips-truss-head-machine-screw-pkg-of-100-dxa66012>: HTTP status code is not handled or not allowed 2026-01-28 02:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-female-threaded-adapter-fbsp-mauser-2-faucets-to-female-mauser-din-71-female-s70x6>: HTTP status code is not handled or not allowed 2026-01-28 02:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-36ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 02:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-g-1-4-110v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 02:58:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-3-x-3-foam-corners>: HTTP status code is not handled or not allowed 2026-01-28 02:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-starter-base-96x24>: HTTP status code is not handled or not allowed 2026-01-28 02:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-double-male-adapter-378-1561524-1-1-2-nh-x-1-1-2-npt-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2611010-bracket-spindle-mounting-nyl-for-sterling-miltimixer>: HTTP status code is not handled or not allowed 2026-01-28 02:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-short-shank-coupling-set-268-60141-6-npsh-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 02:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedestal-base-for-metropolitan-popcorn-popper>: HTTP status code is not handled or not allowed 2026-01-28 02:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-enclosed-satin-letterboard-72-in-w-x-36-in-h>: HTTP status code is not handled or not allowed 2026-01-28 02:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-red-hose-plug-663-252-2-1-2-nh-plastic>: HTTP status code is not handled or not allowed 2026-01-28 02:58:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 02:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamper-liner-200-denier-nylon-24-bushel-white>: HTTP status code is not handled or not allowed 2026-01-28 02:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beam-seating-guest-chairs-2-seater-black-white>: HTTP status code is not handled or not allowed 2026-01-28 02:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010953-knob-adjusting-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 02:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-24ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 02:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24w-13-step-steel-rolling-ladder-21d-top-step-wcal-osha-handrail-ca>: HTTP status code is not handled or not allowed 2026-01-28 02:58:30 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 02:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321737-bowl-cutter-plastic-for-robot-coupe>: HTTP status code is not handled or not allowed 2026-01-28 02:58:31 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:25 2026-01-28 02:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-34-professional-3-drawer-service-cart-blue>: HTTP status code is not handled or not allowed 2026-01-28 02:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012127-glass-gauge-for-vulcan-hart>: HTTP status code is not handled or not allowed 2026-01-28 02:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/33-double-shaft-115v-1550rpm-516-4>: HTTP status code is not handled or not allowed 2026-01-28 02:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-g-1-8-single-solenoid-valve-pilot-spr-return-12v-dc-3w-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 02:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-workboard-deck-mounted-faucet-w-4-centers-133x-swing-gooseneck>: HTTP status code is not handled or not allowed 2026-01-28 02:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-3xl-navy-tcg01160228>: HTTP status code is not handled or not allowed 2026-01-28 02:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-ultrasoft-flame-resistant-coverall-md-x-32-navy-c88ujmd32>: HTTP status code is not handled or not allowed 2026-01-28 02:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-g-1-4-24v-dc-2w-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 02:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-g-1-4-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 02:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m69-drum-pump-nx-adaptor-690-700mm-x-60mm-male-buttress-thread>: HTTP status code is not handled or not allowed 2026-01-28 02:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/executive-monthly-padfolio-black-9-x-11-2015-2016-aag7029005>: HTTP status code is not handled or not allowed 2026-01-28 02:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-round-sling-endless-4-ft-x-1-5-in>: HTTP status code is not handled or not allowed 2026-01-28 02:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-locker-single-tier-12x15x72-3-door-putty>: HTTP status code is not handled or not allowed 2026-01-28 02:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-unassembled-deluxe-storage-cabinet-36w-x-24d-x-78-3-4-h-black>: HTTP status code is not handled or not allowed 2026-01-28 02:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 49283 pages (at 98 pages/min), scraped 25026 items (at 62 items/min) 2026-01-28 02:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-1-2-nptf-single-solenoid-valve-pilot-spr-return-12v-dc-3w-coil-blk-conn>: HTTP status code is not handled or not allowed 2026-01-28 02:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tecumseh-replacement-1625rpm-460v>: HTTP status code is not handled or not allowed 2026-01-28 02:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-48inw-x-12ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 02:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-safety-view-locker-six-tier-12x18x12-18-door-unassembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 02:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-5x-tan-tcg01120234>: HTTP status code is not handled or not allowed 2026-01-28 02:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-l-ln-navy-tcg02160866>: HTTP status code is not handled or not allowed 2026-01-28 02:59:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-magnetic-roll-stock-3-in-50-feet-scored-3-in-5-in>: HTTP status code is not handled or not allowed 2026-01-28 02:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-shell-chair-right-handed-tablet-arm-gray-5-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 02:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holders-5-in-8-in-clear-full-self-adhering>: HTTP status code is not handled or not allowed 2026-01-28 02:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-modular-racking-clear>: HTTP status code is not handled or not allowed 2026-01-28 02:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-36ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 02:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-ext-pilot-spr-return-1-4-nptf-220v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 02:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262847-spacer-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 02:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-ext-pilot-1-8-nptf-220v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 02:59:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets landed on page that is not a product page. 2026-01-28 02:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-retardant-neoprene-foam-sheet-with-acrylic-adhesive-1-16-x-12-x-12>: HTTP status code is not handled or not allowed 2026-01-28 02:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-truck-3-enclosed-sides-4>: HTTP status code is not handled or not allowed 2026-01-28 02:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g-1-8-dbl-solenoid-valve-pilot-spring-cntred-220v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 02:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-aluminum-platform-truck-with-smooth-deck-48-x-24-2400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 02:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-man-big-window-auto-darkening-welding-helmet-variable-shade-control-patriotic>: HTTP status code is not handled or not allowed 2026-01-28 02:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14ab-x-1-security-sheet-metal-screw-button-torx-head-302hq-stainless-steel-ft-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 02:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-72w-x-36d-x-96h-cap-per-level-add-on-unit>: HTTP status code is not handled or not allowed 2026-01-28 02:59:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/emergency_lighting_signage/emergency_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441653-probe-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 02:59:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/sign_light_combination_units already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:59:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/pendant_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:59:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010925-keyway-lower-shaft-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 02:59:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-9-16-inch-2-1-2-inch-stainless-steel-worm-gear-clamp-with-9-16-inch-band>: HTTP status code is not handled or not allowed 2026-01-28 02:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/emergency_lighting_signage/emergency_lighting>: HTTP status code is not handled or not allowed 2026-01-28 02:59:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/vanity_bath_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/pendant_lighting>: HTTP status code is not handled or not allowed 2026-01-28 02:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 02:59:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 02:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scraper-with-rubber-grip-handle-black-4>: HTTP status code is not handled or not allowed 2026-01-28 02:59:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/tamper_proof_security_screws_bolts/tamper_proof_security_machine_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 02:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-t-shirt-long-sleeve-1-pocket-silver-tape-type-r-class-3-fl-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-28 02:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-516-1-light-die-cast-bulk-head-frosted-diffuser-semi-gloss-white-10-5w-x-9-125h>: HTTP status code is not handled or not allowed 2026-01-28 02:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281976-salamander-skin>: HTTP status code is not handled or not allowed 2026-01-28 02:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 49376 pages (at 93 pages/min), scraped 25086 items (at 60 items/min) 2026-01-28 02:59:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/sign_light_combination_units landed on page that is not a product page. 2026-01-28 02:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-3-hooded-pull-over-sweatshirt-61546-lime>: HTTP status code is not handled or not allowed 2026-01-28 02:59:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/vanity_bath_lights landed on page that is not a product page. 2026-01-28 02:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/screws/tamper_proof_security_screws_bolts/tamper_proof_security_machine_screws>: HTTP status code is not handled or not allowed 2026-01-28 03:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011576-ignition-module>: HTTP status code is not handled or not allowed 2026-01-28 03:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-657-1-light-landscape-fixt-antique-verdi-4-25w>: HTTP status code is not handled or not allowed 2026-01-28 03:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-664-mounting-post-verdi-3w-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 03:00:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/canister_vacuums already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-11-cognac-brown>: HTTP status code is not handled or not allowed 2026-01-28 03:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5001033-door-bin-48-inch-x-1621-inch-brown-for-manitowoc-machines>: HTTP status code is not handled or not allowed 2026-01-28 03:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-post-27-1-2-h-and-base-plate-package-granite>: HTTP status code is not handled or not allowed 2026-01-28 03:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paulson-htampshield-kit-for-slotted-cap-atpv-12-cal-grey-anti-fog-lens-amp1-12-hts>: HTTP status code is not handled or not allowed 2026-01-28 03:00:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/canister_vacuums landed on page that is not a product page. 2026-01-28 03:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-602-2-light-ceiling-flush-mount-medium-white-mushroom-old-bronze-9-5w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 03:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-cleaning-ribbed-mat-4x8-red-1>: HTTP status code is not handled or not allowed 2026-01-28 03:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-48inw-x-18ind-x-60inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 03:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-48inw-x-24ind-x-72inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 03:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-48inw-x-18ind-x-96inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 03:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-high-letter-starter-empty-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-high-letter-adder-empty-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-12ind-x-60inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 03:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beer-dispenser-cooler-w-2-single-tap-dispensers-15-8-cu-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 03:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421570-switch-replacement-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 03:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-36inw-x-18ind-x-72inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 03:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-6-x-8-super-8-oz-tarp-brown>: HTTP status code is not handled or not allowed 2026-01-28 03:00:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/chandeliers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4923-banyan-1-light-outdoor-wall-clear-water-textured-black-6-125w-x-12-25h>: HTTP status code is not handled or not allowed 2026-01-28 03:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-stainless-steel-mobile-scissor-li-table-32-x-19-1000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 03:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-24ind-x-48inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 03:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24u-2-post-relay-rack>: HTTP status code is not handled or not allowed 2026-01-28 03:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-3-8-standard-hose-barb-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 03:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8763-ultra-containment-wall-2-feet-high-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661124-cap-tube-for-358-33-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 03:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266195-lock-cylinder-stainless-steel-face>: HTTP status code is not handled or not allowed 2026-01-28 03:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-safe-vinyl-chair-with-nylon-base-with-drag-chain-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 03:00:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/chandeliers landed on page that is not a product page. 2026-01-28 03:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-copper-press-x-press-w-45-176-elbow>: HTTP status code is not handled or not allowed 2026-01-28 03:00:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/vanity_bath_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:00:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1266-ballerina-4-light-vanity-wall-champagne-washed-linen-30w-x-7-625h>: HTTP status code is not handled or not allowed 2026-01-28 03:00:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:00:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/light_fixture_components/led_retrofit_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009708-belt-23-inch-drive-a-21-4l>: HTTP status code is not handled or not allowed 2026-01-28 03:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cnw-led-narrow-wraparound-4-lamp-3500-lumens-4000k-0-10v-dim-120-277v>: HTTP status code is not handled or not allowed 2026-01-28 03:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/vanity_bath_lights>: HTTP status code is not handled or not allowed 2026-01-28 03:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 49469 pages (at 93 pages/min), scraped 25140 items (at 54 items/min) 2026-01-28 03:00:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights landed on page that is not a product page. 2026-01-28 03:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-medium-duty-rigid-caster-13-5-pbb-polyurethane-w-polyethylene-center-5-dia-275-lb>: HTTP status code is not handled or not allowed 2026-01-28 03:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/light_fixture_components/led_retrofit_kits>: HTTP status code is not handled or not allowed 2026-01-28 03:01:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 03:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-smh-connector-6-wire-gauge-50-amp-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:01:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/127-gallon-premium-deck-box-seat>: HTTP status code is not handled or not allowed 2026-01-28 03:01:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-storage-self-close-horizontal-storage>: HTTP status code is not handled or not allowed 2026-01-28 03:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inside-stational-deck-dome-oven-pentagonal-exterior-51-gas-92500btu-120v-digital-control>: HTTP status code is not handled or not allowed 2026-01-28 03:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-food-grade-electric-chain-hoist-w-chain-container-1-2-ton-15-ft-lift-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 03:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-food-grade-electric-chain-hoist-w-chain-container-1-ton-15-ft-lift-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 03:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks>: HTTP status code is not handled or not allowed 2026-01-28 03:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266220-hinge-strap-1-1-8-inch-ofst-16-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 03:01:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers landed on page that is not a product page. 2026-01-28 03:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stem-swivel-caster-tl-s11-03-3-tpr-thermoplastic-rubber-3-dia-200-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 03:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etf-600-8-b-bdt>: HTTP status code is not handled or not allowed 2026-01-28 03:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hf-acid-eater-absorber-and-neutralizer-55-gallon-2902-055>: HTTP status code is not handled or not allowed 2026-01-28 03:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461626-thermostat-w-dial>: HTTP status code is not handled or not allowed 2026-01-28 03:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flock-lined-x-large-nitrile-glove-18-mil-size-10>: HTTP status code is not handled or not allowed 2026-01-28 03:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-geared-trolley-2-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 03:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-3-shelf-mobile-rack-cabinet-with-locking-panels-woodgrain>: HTTP status code is not handled or not allowed 2026-01-28 03:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-stage-portable-drum-dumper-dump-height-36-1500-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013606-probe-air-cook-hold-for-winston-products>: HTTP status code is not handled or not allowed 2026-01-28 03:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geodome-climber>: HTTP status code is not handled or not allowed 2026-01-28 03:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aa-size-duracell-procell-battery>: HTTP status code is not handled or not allowed 2026-01-28 03:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-foot-outlet-duct-for-indrect-fired-oil-and-gas-heaters-24-inch-diameter>: HTTP status code is not handled or not allowed 2026-01-28 03:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-filter-manifold-for-ice-makers-producing-up-to-1-000-lbs>: HTTP status code is not handled or not allowed 2026-01-28 03:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40t4-g9-fr-40w-halogen-w-double-loop-base>: HTTP status code is not handled or not allowed 2026-01-28 03:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ego-psa1000-pole-saw-bare-attachment>: HTTP status code is not handled or not allowed 2026-01-28 03:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pp-lip-and-tape-cookie-bag-5in-x-5in-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 03:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-heavy-duty-36-w-x-18-d-x-60-h-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 03:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250q-f-mc-250w-halogen-w-mini-can-base>: HTTP status code is not handled or not allowed 2026-01-28 03:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-track-seal-top-bag-2-1-2in-x-3in-4-mil-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 03:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-deluxe-literature-mailers-10l-x-4w-x-4h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 03:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/federal-signal-explosion-proof-strobe-light-120-amber>: HTTP status code is not handled or not allowed 2026-01-28 03:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bl-paper-vacuum-bag-for-bl-pro-powerforce-bgu1451t>: HTTP status code is not handled or not allowed 2026-01-28 03:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-notebook-surge-pnoteproc6>: HTTP status code is not handled or not allowed 2026-01-28 03:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-semi-steel-8x2-with-5-8-axle>: HTTP status code is not handled or not allowed 2026-01-28 03:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-10l-x-3w-x-2h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 03:01:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-file-storage-boxes-24l-x-12w-x-10h-white-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 03:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 49564 pages (at 95 pages/min), scraped 25196 items (at 56 items/min) 2026-01-28 03:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-aneroid-sphygmomanometer-with-adult-cuff>: HTTP status code is not handled or not allowed 2026-01-28 03:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-20-26t4-27-12-w-compact-fluorescent-w-medium-base-soft-white>: HTTP status code is not handled or not allowed 2026-01-28 03:01:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/half_frame_safety_glasses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-wall-corrugated-sheets-96l-x-48w-blue-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 03:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 03:02:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266165-latch-w-3-8-inch-strike>: HTTP status code is not handled or not allowed 2026-01-28 03:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-ton-ironworker-3-phase-575v-w-hydraulic-accessory-pack-iw100-3p575-ac600>: HTTP status code is not handled or not allowed 2026-01-28 03:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-ton-ironworker-3-phase-575v-iw75-3p575>: HTTP status code is not handled or not allowed 2026-01-28 03:02:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/half_frame_safety_glasses landed on page that is not a product page. 2026-01-28 03:02:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-lab-coat-2-pocket-open-collar-snap-front-4>: HTTP status code is not handled or not allowed 2026-01-28 03:02:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421811-high-pressure-switch>: HTTP status code is not handled or not allowed 2026-01-28 03:02:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 03:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max003s-waterproof-protective-box-wcubed-foam-13-2532l-x-9-116w-x-2-516h>: HTTP status code is not handled or not allowed 2026-01-28 03:02:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:02:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines>: HTTP status code is not handled or not allowed 2026-01-28 03:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-ft-goat-hay-rack-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 03:02:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables landed on page that is not a product page. 2026-01-28 03:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5031119-digital-controller-refrigerator-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 03:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-resistant-gloves-micro-foam-nitrile-coated-ansi-a5-l-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 03:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware>: HTTP status code is not handled or not allowed 2026-01-28 03:02:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-storage-manual-single-door-horizontal-cabinet-5>: HTTP status code is not handled or not allowed 2026-01-28 03:02:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sit-stand-desk-mesh-chair-bundle-60-x-30-gray-black-base>: HTTP status code is not handled or not allowed 2026-01-28 03:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tripower-classical-section-molded-notch-vbelt-gates-ax49>: HTTP status code is not handled or not allowed 2026-01-28 03:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings>: HTTP status code is not handled or not allowed 2026-01-28 03:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25a19-f-25w-incandescent-w-medium-base-120v>: HTTP status code is not handled or not allowed 2026-01-28 03:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hipower-ii-classical-section-wrapped-vbelt-gates-a47>: HTTP status code is not handled or not allowed 2026-01-28 03:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-duck-pond-mini-berm-containment-2-x-2-x-6-5624-ye-f>: HTTP status code is not handled or not allowed 2026-01-28 03:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-12-x-7-scratch-resistant-ribbed-clear-strip-strip-curtains>: HTTP status code is not handled or not allowed 2026-01-28 03:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t8-fluorescent-bulb-g13-base-32w-3050-lumens-3000k-warm-white-pack-of-30>: HTTP status code is not handled or not allowed 2026-01-28 03:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012178-ingition-wire-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 03:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-653-ratchet-chain-lever-hoist-2t-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 03:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/918-series-airtight-watertight-case-918-0001-16-7-8-l-x-12-7-8-w-x-9-5-16-h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/923-series-airtight-watertight-case-w-dividers-923-2001-18-5-8-l-x-14-3-8-w-x-6-5-16-h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 49654 pages (at 90 pages/min), scraped 25254 items (at 58 items/min) 2026-01-28 03:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-5-16-diameter-7x19-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 03:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011029-burner-valve-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 03:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skid-steer-rock-grader-low-profile-60-wide>: HTTP status code is not handled or not allowed 2026-01-28 03:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-yellow-ez-grab-delineator-post-w-2ea-3-hi-reflective>: HTTP status code is not handled or not allowed 2026-01-28 03:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-brl-jc12v-50w>: HTTP status code is not handled or not allowed 2026-01-28 03:03:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-panels-7w-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 03:03:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-rod-1-1-2-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 03:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-eke-l-jcr21v-150w10h-5>: HTTP status code is not handled or not allowed 2026-01-28 03:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-metal-174-full-brim-hard-hat-ratchet-suspension-white-hdpe-e1-series>: HTTP status code is not handled or not allowed 2026-01-28 03:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-duty-appliance-extension-cord-143-gauge-15a-125v-12l-beigegray>: HTTP status code is not handled or not allowed 2026-01-28 03:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 03:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a15-light-bulb-e17-base-6w-480-lumens-2700k-soft-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 03:03:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:03:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 03:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-8-thick-x-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 03:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-037-ss>: HTTP status code is not handled or not allowed 2026-01-28 03:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-056-ss>: HTTP status code is not handled or not allowed 2026-01-28 03:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-gm2c-30-b>: HTTP status code is not handled or not allowed 2026-01-28 03:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par16-recessed-floodlight-bulb-e26-base-6w-500-lumens-50k-daylight-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 03:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-622-hand-chain-hoist-3-ton-cap-20ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 03:03:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/first_aid_wound_treatment/emergency_kits_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531369-wire-hi-temp-10-ga-tan-100>: HTTP status code is not handled or not allowed 2026-01-28 03:03:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:03:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-efficient-feeding-chair-7-inch-seat-height>: HTTP status code is not handled or not allowed 2026-01-28 03:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-w-push-broom-head-with-average-duty-black-polypropylene-bristles-and-steel-frame>: HTTP status code is not handled or not allowed 2026-01-28 03:03:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/tool_holders/lathe_tool_posts_post_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-30-power-apron-production-workbench-birch-butcher-block-square-edge-tan-32313701>: HTTP status code is not handled or not allowed 2026-01-28 03:03:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/first_aid_wound_treatment/emergency_kits_supplies landed on page that is not a product page. 2026-01-28 03:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-service-sink-one-compartment-22l-x-26w-x-12h-bowl-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 03:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-mop-sink-one-compartment-20l-x-21w-x-8h-bowl-430-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 03:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/312-basket-drain-112-ips>: HTTP status code is not handled or not allowed 2026-01-28 03:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trac2000-96-l-aluminum-channel-white>: HTTP status code is not handled or not allowed 2026-01-28 03:03:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/tool_holders/lathe_tool_posts_post_holders landed on page that is not a product page. 2026-01-28 03:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-200-ss>: HTTP status code is not handled or not allowed 2026-01-28 03:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-torsion-spring-0-848-coil-dia-0-106-wire-dia-wound-left-302-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 03:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-5-piece-tall-cabinet-set-177-5-x-21-x-80-black>: HTTP status code is not handled or not allowed 2026-01-28 03:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-t10-tubular-filament-light-bulb-e26-base-6w-570-lumens-2200k-amber-pk-of-10>: HTTP status code is not handled or not allowed 2026-01-28 03:03:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par30s-flood-light-bulb-e26-base-9w-850-lumens-3000k-warm-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 03:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-suffocation-warning-poly-bags-12-w-x-18-l-2-mil-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-132w-sunbrella-1a-granite-fabric>: HTTP status code is not handled or not allowed 2026-01-28 03:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-132w-sunbrella-1a-spa-fabric>: HTTP status code is not handled or not allowed 2026-01-28 03:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 03:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piloted-solenoid-valve-5-port-2-pos-sngl-solenoid-1-8-npt-24vdc-cv-067>: HTTP status code is not handled or not allowed 2026-01-28 03:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-187-b>: HTTP status code is not handled or not allowed 2026-01-28 03:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 49746 pages (at 92 pages/min), scraped 25304 items (at 50 items/min) 2026-01-28 03:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hg-4c-tn-hss-6-flute-tin-square-single-end-mill-1-3-4-x-3-4-x-1-3-8-x-3-5-8>: HTTP status code is not handled or not allowed 2026-01-28 03:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-050-ss>: HTTP status code is not handled or not allowed 2026-01-28 03:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-vertical-file-legal-size-5-drawer-light-gray-18w-x-26-1-2d-x-64h>: HTTP status code is not handled or not allowed 2026-01-28 03:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-solenoid-1-4-nptf-3-port-2-pos-normally-clsd-or-normally-open-12vac-piped-exh>: HTTP status code is not handled or not allowed 2026-01-28 03:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-steel-stock-picking-ladder-serrated-tread-w-cal-osha-handrail-cal-spl-8-14g>: HTTP status code is not handled or not allowed 2026-01-28 03:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-5-port-2-pos-dbl-solenoid-1-8-nptf-port-solenoid-ret-12vdc>: HTTP status code is not handled or not allowed 2026-01-28 03:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-24-w-serr-step-w-cal-osha-handrail-cal-wa-sw63214g>: HTTP status code is not handled or not allowed 2026-01-28 03:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-o-1-oil-hardening-drill-rod-6>: HTTP status code is not handled or not allowed 2026-01-28 03:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acid-corrosive-cabinet-with-manual-close-double-door-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 03:04:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-coupling-gscc-037-037-kw>: HTTP status code is not handled or not allowed 2026-01-28 03:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-368413-w-bookcase-all-welded-36-wx13-dx84-h-white>: HTTP status code is not handled or not allowed 2026-01-28 03:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rk800-junction-view-twin-gore-slip-on-boot-steel-toe-women-s-sz-7-m-wide-brown>: HTTP status code is not handled or not allowed 2026-01-28 03:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regulator-mini-type-1-8-npt>: HTTP status code is not handled or not allowed 2026-01-28 03:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-5-port-2-pos-dbl-bleed-1-4-nptf>: HTTP status code is not handled or not allowed 2026-01-28 03:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats>: HTTP status code is not handled or not allowed 2026-01-28 03:04:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/linear_light_fixtures already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-step-steel-safety-rolling-ladder-w-weight-actuated-lock-step-24-w-expanded-step-w-cal-osha-handrail-cal-wa134014x>: HTTP status code is not handled or not allowed 2026-01-28 03:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-ties-uv-black-6-1000-pieces>: HTTP status code is not handled or not allowed 2026-01-28 03:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-dolly-27-l-x-16-w-with-open-deck-steel-wheels>: HTTP status code is not handled or not allowed 2026-01-28 03:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-20in-gray-straight-section-with-vents-1000-cfm>: HTTP status code is not handled or not allowed 2026-01-28 03:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-platform-truck-60-x-30-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-24-w-serr-step-w-cal-osha-handrail-cal-wa-sw93214g>: HTTP status code is not handled or not allowed 2026-01-28 03:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/linear_light_fixtures>: HTTP status code is not handled or not allowed 2026-01-28 03:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-signs-danger-eye-protection-required-vinyl-10-w-x-14-h-2>: HTTP status code is not handled or not allowed 2026-01-28 03:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-slotted-angle-14-gauge-2-14x1-12x10>: HTTP status code is not handled or not allowed 2026-01-28 03:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-30rb-h-grn-storage-cabinet-all-welded-30-wx18-dx72-h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-28 03:04:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_regulators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-copper-fitting-with-90-long-radius-elbow-c-x-c-12-od-x-38-id-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-48662rb-wal-mobile-cabinet-all-welded-36-wx24-dx66-h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 03:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-hose-braid-w-grooved-nipples-2-5-x-24>: HTTP status code is not handled or not allowed 2026-01-28 03:04:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-hand-sanitizer-9-gram-packets-144-pcs>: HTTP status code is not handled or not allowed 2026-01-28 03:04:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_regulators landed on page that is not a product page. 2026-01-28 03:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combat-application-tourniquet-c-a-t>: HTTP status code is not handled or not allowed 2026-01-28 03:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-steel-stock-picking-ladder-perforated-tread-w-cal-osha-handrail-cal-spl-8-14p>: HTTP status code is not handled or not allowed 2026-01-28 03:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1341050-pro-shock-absorbing-lanyard-6l-130-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 03:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-folding-security-gate-7-1-2-x-6-1-2>: HTTP status code is not handled or not allowed 2026-01-28 03:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extrication-device>: HTTP status code is not handled or not allowed 2026-01-28 03:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-w-x-16-h-x-2-d-pleated-merv-8-standard-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 03:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_filters>: HTTP status code is not handled or not allowed 2026-01-28 03:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-10w-x-82h-khaki>: HTTP status code is not handled or not allowed 2026-01-28 03:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clp1060-bluetooth-swivel-earpiece>: HTTP status code is not handled or not allowed 2026-01-28 03:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-inch-silver-sport-2-detachable-desk-arm-swing-away-elevating-legrest>: HTTP status code is not handled or not allowed 2026-01-28 03:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-double-tier-12x18x36-without-legs-6-doors-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2104528-first-man-up-system-8-16l-mobile-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 03:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-e-hf-super-wear-hardfacing-electrode-532-dia>: HTTP status code is not handled or not allowed 2026-01-28 03:04:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/confined_space_rescue_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-body-patient-lift-sling-solid-x-large>: HTTP status code is not handled or not allowed 2026-01-28 03:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 49841 pages (at 95 pages/min), scraped 25355 items (at 51 items/min) 2026-01-28 03:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-tilt-roll-ladder-grip-step-24-w-step>: HTTP status code is not handled or not allowed 2026-01-28 03:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-hand-evaluation-set-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hangvu-hang-style-label-holder-with-holes-5l-x-3h-matte-clear-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 03:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-inward-swing-partition-door-w-hardware-26w-dark-khaki>: HTTP status code is not handled or not allowed 2026-01-28 03:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fall_protection/confined_space_rescue_equipment>: HTTP status code is not handled or not allowed 2026-01-28 03:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-paint-marker-x-large-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-manual-muscle-tester-with-clinical-fet-data-collection-software-packages>: HTTP status code is not handled or not allowed 2026-01-28 03:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-strapping-4825773t29-1-2-inches-x-0-025-inches-x-2900-feet-green-16-inches-x-3-inches-core>: HTTP status code is not handled or not allowed 2026-01-28 03:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1872-5-16-hss-heavy-duty-black-gold-135-hss-heavy-duty-parabolic-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 03:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-pilaster-w-shoe-12w-x-82h-satin>: HTTP status code is not handled or not allowed 2026-01-28 03:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-elevated-plastic-box-truck-6-bushel-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-8482-locker-3-tier-12-x-15-x-24-3-door-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ul-panic-less-dead-latch-sex-bolts>: HTTP status code is not handled or not allowed 2026-01-28 03:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-door-lock-2835-lever-handle-jet-black>: HTTP status code is not handled or not allowed 2026-01-28 03:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16963-propress-3-4-jaw-assembly-for-1-2-1-1-4-copper-tubing>: HTTP status code is not handled or not allowed 2026-01-28 03:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/donut-bumper>: HTTP status code is not handled or not allowed 2026-01-28 03:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-rail-48>: HTTP status code is not handled or not allowed 2026-01-28 03:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledge-21-l-x-4-h-wire-shelves>: HTTP status code is not handled or not allowed 2026-01-28 03:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1889-1-4-12in-oal-hss-heavy-duty-bright-118-point-fast-helix-carbide-tipped-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 03:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-081-z>: HTTP status code is not handled or not allowed 2026-01-28 03:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-mouth-hdpe-economy-bottles-125ml-case-of-72>: HTTP status code is not handled or not allowed 2026-01-28 03:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pekalon-round-brush-set-medium-hard-bristles-for-sgv-6-5-2-863-009-0>: HTTP status code is not handled or not allowed 2026-01-28 03:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-mouth-hdpe-economy-bottles-with-closure-1l-case-of-24>: HTTP status code is not handled or not allowed 2026-01-28 03:05:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/push_sweepers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versi-dry-super-absorbent-small-bench-mats-20w-x-18l-case-of-350>: HTTP status code is not handled or not allowed 2026-01-28 03:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-156>: HTTP status code is not handled or not allowed 2026-01-28 03:05:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-squeegee-set-for-nacecare-900518>: HTTP status code is not handled or not allowed 2026-01-28 03:05:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-heavyweight-pullover-hoodie-l-black>: HTTP status code is not handled or not allowed 2026-01-28 03:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/push_sweepers>: HTTP status code is not handled or not allowed 2026-01-28 03:05:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/knives_blades/utility_knives_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-36-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 03:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-8-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 03:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/tables/laboratory_tables>: HTTP status code is not handled or not allowed 2026-01-28 03:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 03:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-5w-x-82h-olive>: HTTP status code is not handled or not allowed 2026-01-28 03:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/550-1-25mm-heavy-duty-straw-135-point-cobalt-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 03:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/knives_blades/utility_knives_1>: HTTP status code is not handled or not allowed 2026-01-28 03:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-10-x-24-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 03:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50321-odin-safety-glasses-kryptek-framepz-copper-lens>: HTTP status code is not handled or not allowed 2026-01-28 03:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 49938 pages (at 97 pages/min), scraped 25414 items (at 59 items/min) 2026-01-28 03:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-le-garolite-sheet-1-4-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 03:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psm-m-medium-steak-markers>: HTTP status code is not handled or not allowed 2026-01-28 03:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatch-cleaner-disinfectant-towels-6-34-x-8-150can>: HTTP status code is not handled or not allowed 2026-01-28 03:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-112>: HTTP status code is not handled or not allowed 2026-01-28 03:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-t8t12-40-w-t8-tube-daylight-6carton>: HTTP status code is not handled or not allowed 2026-01-28 03:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-1-2-x-8-3-4-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 03:06:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/aluminum_shelf_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosion-resistant-set-screw-collar-cr-climax-crc-006-s>: HTTP status code is not handled or not allowed 2026-01-28 03:06:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/kitchen_tools/food_preparation_tools/scoops_food_grade_shovels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3704-wire-loop-tool-tail-2lbs-orange-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-175-s>: HTTP status code is not handled or not allowed 2026-01-28 03:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-hp-zinc-body-submersible-high-output-sump-pump-vertical-switch>: HTTP status code is not handled or not allowed 2026-01-28 03:06:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/aluminum_shelf_trucks landed on page that is not a product page. 2026-01-28 03:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rd-5-full-size-dough-roller-docker>: HTTP status code is not handled or not allowed 2026-01-28 03:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spjh-102-steam-pan-full-size-2-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 03:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-200-200-s>: HTTP status code is not handled or not allowed 2026-01-28 03:06:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5876-buddy-organizer-small-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8950xl-skullerz-bump-cap-long-brim-black-xl>: HTTP status code is not handled or not allowed 2026-01-28 03:06:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/kitchen_tools/food_preparation_tools/scoops_food_grade_shovels landed on page that is not a product page. 2026-01-28 03:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-1b-plain-ramekins-15-oz-melamine-bone>: HTTP status code is not handled or not allowed 2026-01-28 03:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-couplings-recessed-screw-climax-cc-087-087>: HTTP status code is not handled or not allowed 2026-01-28 03:06:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions landed on page that is not a product page. 2026-01-28 03:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-fluid-level-sight-glass-w-reflector-m20-x-1-5-thread-o82-a>: HTTP status code is not handled or not allowed 2026-01-28 03:06:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-fluid-level-sight-w-esg-glass-w-o-reflector-m16-x-1-5-thread-r21-b>: HTTP status code is not handled or not allowed 2026-01-28 03:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-pilaster-w-shoe-4w-x-82h-almond>: HTTP status code is not handled or not allowed 2026-01-28 03:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-c-phenolic-sheet-0-031-x-36-000-x-36-000>: HTTP status code is not handled or not allowed 2026-01-28 03:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-rod-0-625-dia-x-48-000-inch>: HTTP status code is not handled or not allowed 2026-01-28 03:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-4-x-4-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 03:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wperforated-doors-42wx24dx78h-grayall-welded>: HTTP status code is not handled or not allowed 2026-01-28 03:06:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 03:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-062>: HTTP status code is not handled or not allowed 2026-01-28 03:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-vented-sides-24wx18dx78h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 03:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-12-x-12-regular-slotted-container-2>: HTTP status code is not handled or not allowed 2026-01-28 03:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-drain-guard-regular-flow-8-overflow-ports-500-lb-cap-38l-x-38w-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 03:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-coupling-4-set-screws-2-90-rc4h-series-climax-rc-025-s-4h90>: HTTP status code is not handled or not allowed 2026-01-28 03:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lexington-extended-height-task-chair-mid-back-no-tilt-21-28-12h-seat-navyblack>: HTTP status code is not handled or not allowed 2026-01-28 03:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-table-36-w-top-splash-at-rear-only-60-l-14-gauge-5-backsplash>: HTTP status code is not handled or not allowed 2026-01-28 03:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-paper-phenolic-sheet-1-000-thick-48-x-48>: HTTP status code is not handled or not allowed 2026-01-28 03:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-25-s>: HTTP status code is not handled or not allowed 2026-01-28 03:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-easy-trap-duster-8-in-x-6-in-x-30-ft60-sheets-box-8-boxes-case>: HTTP status code is not handled or not allowed 2026-01-28 03:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mouse-shield-foam-sealant-blocker-12-0-oz-cream-7565012506>: HTTP status code is not handled or not allowed 2026-01-28 03:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-skullerz-half-frame-safety-sunglasses-anti-fog-scratch-orange-lens-clear-frame>: HTTP status code is not handled or not allowed 2026-01-28 03:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-34>: HTTP status code is not handled or not allowed 2026-01-28 03:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50030 pages (at 92 pages/min), scraped 25466 items (at 52 items/min) 2026-01-28 03:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-single-face-corrugated>: HTTP status code is not handled or not allowed 2026-01-28 03:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-685-double-strap-wrist-support-sleeve-ambidextrous-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 03:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sided-shelf-trucks-2-lipped-shelves-30-60-6-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-28 03:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-trucks-lip-slat-sides-3600-lb-cap-24-60-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-28 03:07:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0685r-denim-high-bib-overall-regular-black-small>: HTTP status code is not handled or not allowed 2026-01-28 03:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0345r-iron-tuff-low-bib-overall-regular-sage-2xl>: HTTP status code is not handled or not allowed 2026-01-28 03:07:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-do-rag>: HTTP status code is not handled or not allowed 2026-01-28 03:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 03:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asp-3c-cover-for-asp-3>: HTTP status code is not handled or not allowed 2026-01-28 03:07:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bspt-15-perforated-basting-spoon-15l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 03:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-w-keyway-climax-rc-100-kw>: HTTP status code is not handled or not allowed 2026-01-28 03:07:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 03:07:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/gas_engines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-flow-reducer>: HTTP status code is not handled or not allowed 2026-01-28 03:07:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bandsaw-replacement-blade-for-j-7015-812-vt-114-12l-x-1w-x-035-thick>: HTTP status code is not handled or not allowed 2026-01-28 03:07:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 03:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700227-clr-four-sided-pegboard-tower-display-w-revolving-9-base-9-w-x-9-d-x-25-h>: HTTP status code is not handled or not allowed 2026-01-28 03:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/static-dissipative-tool-carrier-47557-12l-x-5w-x-9h>: HTTP status code is not handled or not allowed 2026-01-28 03:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-252378-three-tier-brochure-holder-9-1-4-w-x-6-d-x-13-1-4-h>: HTTP status code is not handled or not allowed 2026-01-28 03:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-48x30>: HTTP status code is not handled or not allowed 2026-01-28 03:07:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 03:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-two-wheel-trash-cart-48-gallon-blackstone-ana48-56599>: HTTP status code is not handled or not allowed 2026-01-28 03:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-14x36-chrome>: HTTP status code is not handled or not allowed 2026-01-28 03:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mars-motor-control-panel-1-2-hp-3-motor-unheated-115v-1ph>: HTTP status code is not handled or not allowed 2026-01-28 03:07:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/gas_engines landed on page that is not a product page. 2026-01-28 03:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerquad153-pulseair-dust-extractor-kit-with-1-12-inlet-20-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-back-metal-restaurant-barstool-natural-wood-seat>: HTTP status code is not handled or not allowed 2026-01-28 03:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-300249-sidewalk-sign-24-w-x-33-d-x-43-h>: HTTP status code is not handled or not allowed 2026-01-28 03:07:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0925-econo-tuff-jacket-regular-navy-large>: HTTP status code is not handled or not allowed 2026-01-28 03:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-axle-size-1-2-5>: HTTP status code is not handled or not allowed 2026-01-28 03:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-w-keyway-climax-iscc-137-137skw>: HTTP status code is not handled or not allowed 2026-01-28 03:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxicut-ultra-micro-foam-nitrile-coated-palm-fingers-gloves-ansi-a6-l-black-6-dozencase>: HTTP status code is not handled or not allowed 2026-01-28 03:07:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 03:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-manual-chain-hoist-w-overload-protection-5-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 03:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-storage-cabinet-36x18x72-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 03:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-sae-deep-impact-socket-78-drive-black>: HTTP status code is not handled or not allowed 2026-01-28 03:07:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sun-x-50-61663sunscreen-lotion-spf-50-lotion-pouch-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50123 pages (at 93 pages/min), scraped 25523 items (at 57 items/min) 2026-01-28 03:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z3-respirator>: HTTP status code is not handled or not allowed 2026-01-28 03:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sun-x-71695-lip-balm-spf-30-72-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:08:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n12-swivel-hose-adapter-brass>: HTTP status code is not handled or not allowed 2026-01-28 03:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-plastic-safety-edge-top-pedestal-workbench-w-6-drawers>: HTTP status code is not handled or not allowed 2026-01-28 03:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/129c-enduramax-boot-regular-black-14>: HTTP status code is not handled or not allowed 2026-01-28 03:08:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 03:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glc-00999-clear-glass-screw-thread-vials-with-green-caps-5-dram-20ml-case-of-72>: HTTP status code is not handled or not allowed 2026-01-28 03:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/akm-3500-0011-tri-cornered-pp-graduated-beakers-67-x-57mm-50ml-case-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glc-01022-clear-glass-screw-thread-vials-with-green-caps-10-dram-40ml-case-of-144>: HTTP status code is not handled or not allowed 2026-01-28 03:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-28 03:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-single-sided-upright-38>: HTTP status code is not handled or not allowed 2026-01-28 03:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-by-16-stage-package-24-inches-height-blue-carpet-box-pleat-black-skirting>: HTTP status code is not handled or not allowed 2026-01-28 03:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-x-5-yards-self-adhesive-bandage-non-latex-bright-pink>: HTTP status code is not handled or not allowed 2026-01-28 03:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-r-m55-csa-roll-bender-60-hz-1ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 03:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r8-drill-chuck-arbor-steel-jt3>: HTTP status code is not handled or not allowed 2026-01-28 03:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ssdb-20-double-boiler-w-cover>: HTTP status code is not handled or not allowed 2026-01-28 03:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swa-5-steak-weight-9l-5-1-4w-wood-handle-cast-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 03:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1072-deluxe-desiccant-dryer-system-metal-bowl-12-npt-250-psi-103-micron>: HTTP status code is not handled or not allowed 2026-01-28 03:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-9-piece-cabinet-set-141w-x-21d-x-36-5h-black-mdf>: HTTP status code is not handled or not allowed 2026-01-28 03:08:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:08:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/planters_pots/planters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-rdb-100-manual-rotary-draw-tube-pipe-bender-1-34-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-rdb-125-hydraulic-rotary-draw-tube-and-pipe-bender-1ph-110v>: HTTP status code is not handled or not allowed 2026-01-28 03:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42028-spiral-band-1-inch-x-1-inch-60-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 03:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cord-spring-rewind-reels-fluorescent-angle-light-100-cord-16-awg>: HTTP status code is not handled or not allowed 2026-01-28 03:08:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/planters_pots/planters landed on page that is not a product page. 2026-01-28 03:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-able-shipping-container-with-lid-42-x-42-9>: HTTP status code is not handled or not allowed 2026-01-28 03:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-strip-with-high-temp-adhesive-75a-18-thick-x-1-wide-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 03:08:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 03:08:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-efficient-heavy-duty-power-cord-reel-with-a-duplex-g-f-c-i-metal-industrial-receptacle-12-ga>: HTTP status code is not handled or not allowed 2026-01-28 03:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esw-ins-11-qt-stainless-steel-insert-fits-esw-66>: HTTP status code is not handled or not allowed 2026-01-28 03:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-v-block-assembly-for-110-ton-press>: HTTP status code is not handled or not allowed 2026-01-28 03:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-brake-w-4-way-die>: HTTP status code is not handled or not allowed 2026-01-28 03:08:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-20-1-2x12-7-8-red>: HTTP status code is not handled or not allowed 2026-01-28 03:08:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 03:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-17-7-8x10-5-8-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-series-spring-rewind-hose-reel-for-air-water-14-i-d-50-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 03:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-row-universal-low-rise-aluminum-bleacher-21-wide-single-footboard>: HTTP status code is not handled or not allowed 2026-01-28 03:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50213 pages (at 90 pages/min), scraped 25577 items (at 54 items/min) 2026-01-28 03:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-70a-116-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 03:08:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 03:08:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:08:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-w-keyway-climax-iscc-100-100-kw>: HTTP status code is not handled or not allowed 2026-01-28 03:08:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-punch-assembly-for-40t-100t-2013-and-older>: HTTP status code is not handled or not allowed 2026-01-28 03:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-woven-file-box-brown>: HTTP status code is not handled or not allowed 2026-01-28 03:09:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-slim-soft-face-hammer-163-lb-head-12-34-steel-handle>: HTTP status code is not handled or not allowed 2026-01-28 03:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hr-125-hoist-ring-swivel-1-1-4-7-x-4-5-thread-proj-2-21-15000-lbs-wll>: HTTP status code is not handled or not allowed 2026-01-28 03:09:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_accessories_cleaning_supplies/vehicle_cleaning_maintenance_chemicals/vehicle_multi_purpose_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hr-125-hoist-ring-swivel-5-16-18-x-x-1-5-thread-proj-58-800-lbs-wll>: HTTP status code is not handled or not allowed 2026-01-28 03:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-seater-reception-sofa-with-4-armrests-light-oak-gray-fabric>: HTTP status code is not handled or not allowed 2026-01-28 03:09:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 03:09:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 03:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-table-with-magazine-rack-medium-oak>: HTTP status code is not handled or not allowed 2026-01-28 03:09:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 03:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ms-80s-tax-and-currency-calculator-8-digit-lcd>: HTTP status code is not handled or not allowed 2026-01-28 03:09:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:09:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 03:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-1202-sliding-door-handle-set-white>: HTTP status code is not handled or not allowed 2026-01-28 03:09:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_accessories_cleaning_supplies/vehicle_cleaning_maintenance_chemicals/vehicle_multi_purpose_cleaners landed on page that is not a product page. 2026-01-28 03:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-6319-spherical-washers-steel-seat-type-blackened-m6-1-16-t-1-4-i-d>: HTTP status code is not handled or not allowed 2026-01-28 03:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-adjustable-motor-base-nema-56>: HTTP status code is not handled or not allowed 2026-01-28 03:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capital-locker-double-tier-12x18x36-2-door-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 03:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-mill-5-hp-3-phase-220v-vm-1258-3>: HTTP status code is not handled or not allowed 2026-01-28 03:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38107-18-long-arm-hex-end-l-wrench>: HTTP status code is not handled or not allowed 2026-01-28 03:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-in-70-46-grit-scrub-brush-for-concrete-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sided-adjustable-shelf-truck-24-x-60>: HTTP status code is not handled or not allowed 2026-01-28 03:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-wagon-truck-24-x-48-10-inch-pneumatic-wheels>: HTTP status code is not handled or not allowed 2026-01-28 03:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5lb-co2-fire-extinguisher-wall-mount-type-b-c>: HTTP status code is not handled or not allowed 2026-01-28 03:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-labels-with-trueblock-technology-2-x-4-white-1000-box>: HTTP status code is not handled or not allowed 2026-01-28 03:09:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-60a-18-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 03:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-70a-14-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 03:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-brake-motor-3-4hp-1725rpm-56-tefc-208-230-460v-60hz-40c-1-0sf-rigid-c>: HTTP status code is not handled or not allowed 2026-01-28 03:09:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-adjustable-truck-mesh-sides-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 03:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-general-purpose-motor-1-2hp-1725rpm-56-tefc-115-208-230v-60hz-manu-round>: HTTP status code is not handled or not allowed 2026-01-28 03:09:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 03:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-large-moving-boxes-21l-x-17w-x-17h-kraft-blue-5-ctn>: HTTP status code is not handled or not allowed 2026-01-28 03:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-2ka>: HTTP status code is not handled or not allowed 2026-01-28 03:09:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 03:09:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-handle-instrument-cart-flush-shelves-non-slip-vinyl-surface-24-x-36>: HTTP status code is not handled or not allowed 2026-01-28 03:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickpick-double-hopper-bin-8-3-8x12-1-2x5-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-3lf>: HTTP status code is not handled or not allowed 2026-01-28 03:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-bumper-11-w-x-4-5-d-x-20-h>: HTTP status code is not handled or not allowed 2026-01-28 03:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-work-height-platform-truck-24-x-60-mold-on-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 03:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-60a-132-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 03:09:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 03:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-steer-trailer-36-x-72>: HTTP status code is not handled or not allowed 2026-01-28 03:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-7lj>: HTTP status code is not handled or not allowed 2026-01-28 03:09:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-8ka>: HTTP status code is not handled or not allowed 2026-01-28 03:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50302 pages (at 89 pages/min), scraped 25619 items (at 42 items/min) 2026-01-28 03:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-hot-cups-12-oz-white-1000-carton>: HTTP status code is not handled or not allowed 2026-01-28 03:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-shelf-truck-12-inch-deep-24-x-48-3600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ubia230ni-circuit-breaker-type-a-2-pole-30a>: HTTP status code is not handled or not allowed 2026-01-28 03:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-l-trim-in-hermitage-granite-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:09:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 03:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-fragile-handle-with-care-2-x-55-yds-redwhite-18pack>: HTTP status code is not handled or not allowed 2026-01-28 03:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-28 03:10:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slc-stacking-container-15l-x-12w-x-7-1-2h-silver-grey>: HTTP status code is not handled or not allowed 2026-01-28 03:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-platform-truck-24-x-36-lip-edge-polyurethane-wheels>: HTTP status code is not handled or not allowed 2026-01-28 03:10:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mid-size-stainless-steel-spray-nozzle-white-n1ssw>: HTTP status code is not handled or not allowed 2026-01-28 03:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mid-size-stainless-steel-spray-nozzle-safety-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-reinforced-industrial-spray-nozzle-swivel-hose-adapter-white>: HTTP status code is not handled or not allowed 2026-01-28 03:10:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:10:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 03:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-70a-132-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 03:10:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-28 03:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-with-acrylic-adhesive-50a-14-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 03:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-npt-air-compressor-accessory-kit-with-case>: HTTP status code is not handled or not allowed 2026-01-28 03:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permaloc-wire-rope-sling-3-4-in-x4-ft-eye-to-eye>: HTTP status code is not handled or not allowed 2026-01-28 03:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-28 03:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-5-ft-30-inch-w-1-9-inch-dia-galvanized-rollers-27-inch-between-rail-4-5-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-28 03:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-with-acrylic-adhesive-50a-18-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 03:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-2-000-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 03:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solid-oak-cherry-finish-a-frame-sidewalk-white-marker-board-18w-42h>: HTTP status code is not handled or not allowed 2026-01-28 03:10:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 03:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/375-carton-sealing-tape-2-x-55-yds-31-mil-tan-6pack>: HTTP status code is not handled or not allowed 2026-01-28 03:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haz-mat-shipper-kit-four-1-gallon-jugs-12-14l-x-12-14w-x-12-34h-kraftwhite>: HTTP status code is not handled or not allowed 2026-01-28 03:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-sheet-1-500-thick-x-12-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 03:10:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nomex-410-sheet-0-002-thick-x-36-000-w-x-36-000-l>: HTTP status code is not handled or not allowed 2026-01-28 03:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-430-coupling-3-4-female-npt-industrial-interchange-3-8>: HTTP status code is not handled or not allowed 2026-01-28 03:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-1-000-thick-x-12-w-x-12-l>: HTTP status code is not handled or not allowed 2026-01-28 03:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-pro-self-propelled-electric-pallet-jack-truck-27x48-24v-batt-3300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 03:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o41008-safetyflex-plain-front-overall-green-lg>: HTTP status code is not handled or not allowed 2026-01-28 03:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 03:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-deck-bulk-rack-shelf-96x36-2>: HTTP status code is not handled or not allowed 2026-01-28 03:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48in-workbench-pegboard-panel-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elasglow-glow-in-the-dark-drop-over-four-inches-wide-by-one-inch-high-red-ed1010-r-glow>: HTTP status code is not handled or not allowed 2026-01-28 03:10:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:10:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-7-5-34l-x-2-78w-fluorescent-green-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mv-m-crank-handles-nylon-plastic-revolving-handle-pilot-hole-6mm-m8-handle-5-12-l>: HTTP status code is not handled or not allowed 2026-01-28 03:10:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-outdoor-bar-height-table-42-h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:10:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 03:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 03:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50395 pages (at 93 pages/min), scraped 25671 items (at 52 items/min) 2026-01-28 03:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-electric-height-adjustable-desk-60-w-24-d-gray-w-gray-base>: HTTP status code is not handled or not allowed 2026-01-28 03:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-electric-height-adjustable-desk-72-w-24-d-walnut-w-black-base>: HTTP status code is not handled or not allowed 2026-01-28 03:10:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 03:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/952xl-high-yield-black-original-ink-cartridge-2000-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 03:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-6x1-2-2s-fne048011-13719>: HTTP status code is not handled or not allowed 2026-01-28 03:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-40a-38-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 03:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb924b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-11>: HTTP status code is not handled or not allowed 2026-01-28 03:11:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/vibration_isolating_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410a-4-pk-black-cyan-magenta-yellow-original-laserjet-toner-cartridges-2300-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 03:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/volcano-unit-heater-vr1-wall-or-ceiling-mounted-102000-btu-208-240v>: HTTP status code is not handled or not allowed 2026-01-28 03:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-1-2-34l-x-1-38w--fluorescent-orange-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22w-12v-cool-white-flood-led-downlight-bronze-texture>: HTTP status code is not handled or not allowed 2026-01-28 03:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-bumper-kit-black-set-of-four-4-fits-royal-basket-brand-vinyl-and-canvas-basket-trucks>: HTTP status code is not handled or not allowed 2026-01-28 03:11:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/vibration_isolating_pads landed on page that is not a product page. 2026-01-28 03:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-936-mandrel048011-04018>: HTTP status code is not handled or not allowed 2026-01-28 03:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elevated-basket-truck-3-bu-red-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 03:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-60a-18-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 03:11:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-neoprene-rubber-sheet-no-adhesive-60a-116-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-28 03:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-gsm-sheet-cast-2-500-thick-x-12-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 03:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-b44-4x-tube-aaa05085-3-000-id-x-3-500-od-x-20-l>: HTTP status code is not handled or not allowed 2026-01-28 03:11:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-tn-disc-pad>: HTTP status code is not handled or not allowed 2026-01-28 03:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-7-gauge-steel-workbench-drawer-adjustable-height-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 03:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-ld-free-standing-tool-solutions-jib-crane-12-ft-span-and-10-ft-height-under-boom-150-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-6-bu-blue-vinyl-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 03:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-4-14l-x-2-18w-blue-100pack>: HTTP status code is not handled or not allowed 2026-01-28 03:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-storage-locker-1-adjustable-center-shelf-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 03:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c61210-tuffenuff-coat-clear-48-detachable-hood-2xl>: HTTP status code is not handled or not allowed 2026-01-28 03:11:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 03:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-28 03:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb921b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-13>: HTTP status code is not handled or not allowed 2026-01-28 03:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wire-shelf-individual-basket-48w-x-18d>: HTTP status code is not handled or not allowed 2026-01-28 03:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-rectangular-brush-6-1-2-l-red>: HTTP status code is not handled or not allowed 2026-01-28 03:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-welded-workbench-w-open-base-hardboard-over-steel-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 03:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-galvanized-filter-non-sparking-9-1-3-l-x-9-1-3-w-x-1-9-10-h>: HTTP status code is not handled or not allowed 2026-01-28 03:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-and-fabric-refresher-concentrate-odor-eliminator-gallon-bottle-pleasant-scent-4-bottle-case>: HTTP status code is not handled or not allowed 2026-01-28 03:11:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flash-premium-grade-concrete-floor-cleaner-125-lb-drum>: HTTP status code is not handled or not allowed 2026-01-28 03:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vamoose-carpet-encapsulating-stain-remover-citrus-gallon-bottle-6-bottles-902088>: HTTP status code is not handled or not allowed 2026-01-28 03:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eva-tubing-bulk-reel-1-2-i-d-x-1-8-wall-500-feet>: HTTP status code is not handled or not allowed 2026-01-28 03:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-permanent-marker-fine-tip-black-ink-one-each>: HTTP status code is not handled or not allowed 2026-01-28 03:11:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 03:11:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bound-wood-deck-truck-60x30-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50487 pages (at 92 pages/min), scraped 25723 items (at 52 items/min) 2026-01-28 03:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/906-ni-m20x1-5-a-stainless-threaded-plug-with-m20-x-1-5-tapered-thread>: HTTP status code is not handled or not allowed 2026-01-28 03:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-erie-2-x-2-nail-up-tin-ceiling-tile-in-copper-t56-08>: HTTP status code is not handled or not allowed 2026-01-28 03:12:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/742-26-m20x1-5-os-2-aluminum-threaded-plug-with-2mm-vent-hole-with-m20-x-1-5-thread>: HTTP status code is not handled or not allowed 2026-01-28 03:12:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:12:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/193794-5-5-dust-extraction-grinder-cutting-guard-for-select-4-1-2-5-angle-grinders>: HTTP status code is not handled or not allowed 2026-01-28 03:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grade-cfp1234-phase-separating-cellulose-filter-paper-15-0-cm-dia-11-um-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 03:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grade-cfp43-qualitative-cellulose-filter-paper-0-21-mm-thick-9-0-cm-dia-16-um-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 03:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-stock-cart>: HTTP status code is not handled or not allowed 2026-01-28 03:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment>: HTTP status code is not handled or not allowed 2026-01-28 03:12:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers?token=null already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bagcraft-sani-shield-printed-toilet-seat-bands-16-x-1-5-1000-case>: HTTP status code is not handled or not allowed 2026-01-28 03:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63h-nexel-chrome-wire-shelving-48wx21d>: HTTP status code is not handled or not allowed 2026-01-28 03:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-iron-handle-scrub-brush-white>: HTTP status code is not handled or not allowed 2026-01-28 03:12:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands landed on page that is not a product page. 2026-01-28 03:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-table-corner-30-x-30-gray-top>: HTTP status code is not handled or not allowed 2026-01-28 03:12:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contoured-plastic-chair-with-pneumatic-height-adjustment>: HTTP status code is not handled or not allowed 2026-01-28 03:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-8w-to-9w-and-66h>: HTTP status code is not handled or not allowed 2026-01-28 03:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-adj-sling-chaise-lounge-solid-gray-sling-on-volcanic-black-frame-pk-of-12>: HTTP status code is not handled or not allowed 2026-01-28 03:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx24-dx85-h-closed-clip-style-5-shelf-add-on>: HTTP status code is not handled or not allowed 2026-01-28 03:12:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles>: HTTP status code is not handled or not allowed 2026-01-28 03:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21ct-stainless-steel-stock-pot-w-cover-20-qt>: HTTP status code is not handled or not allowed 2026-01-28 03:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-starter-60x36x96>: HTTP status code is not handled or not allowed 2026-01-28 03:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ba3630-36-x-30-personnel-ii-roof-hatch-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 03:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phs-m5x8mm-wflange-4200-43-44-5511817>: HTTP status code is not handled or not allowed 2026-01-28 03:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/probite-174-3-4-x-3-4-mnpt-lead-free-brass-straight-male-coupling>: HTTP status code is not handled or not allowed 2026-01-28 03:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-steel-container-solid-48l-x-48w-x-24h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-octo-container-compost-32-gallon-graystone-104441>: HTTP status code is not handled or not allowed 2026-01-28 03:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2232ac-bearing-ball-5510148>: HTTP status code is not handled or not allowed 2026-01-28 03:12:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers landed on page that is not a product page. 2026-01-28 03:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2232ac-gear-18t-5510158>: HTTP status code is not handled or not allowed 2026-01-28 03:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/essential-extra-soft-coreless-bath-tissue-septic-safe-800-sheets-roll-36-rolls-case>: HTTP status code is not handled or not allowed 2026-01-28 03:12:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4b-horizontal-mailbox-15-a-doors-14-usable-front-loading-aluminum-usps-access>: HTTP status code is not handled or not allowed 2026-01-28 03:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-fuse-bracket-5519502>: HTTP status code is not handled or not allowed 2026-01-28 03:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embossed-spray-bottle-24-oz-clear-24-case>: HTTP status code is not handled or not allowed 2026-01-28 03:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyguard-lab-coat-no-pockets-elastic-wrists-snap-front-single-collar-white-md-30case>: HTTP status code is not handled or not allowed 2026-01-28 03:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-mil-polyethylene-apron-blue-28-x-46-100bag-10-bagscase>: HTTP status code is not handled or not allowed 2026-01-28 03:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50576 pages (at 89 pages/min), scraped 25778 items (at 55 items/min) 2026-01-28 03:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapid-dissolving-toilet-paper-septic-safe-1-ply-white-231-sheets-roll-48-case>: HTTP status code is not handled or not allowed 2026-01-28 03:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-filter-100-pint-dehumidifier-246687>: HTTP status code is not handled or not allowed 2026-01-28 03:12:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks landed on page that is not a product page. 2026-01-28 03:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cross-linked-polyethylene-shoe-covers-water-resistant-white-lg-100bag->: HTTP status code is not handled or not allowed 2026-01-28 03:13:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6665-evaporative-cooling-vest-gray-x-large>: HTTP status code is not handled or not allowed 2026-01-28 03:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disc-plate--ref-100--4002-5640871>: HTTP status code is not handled or not allowed 2026-01-28 03:13:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viking153-2450-adv-welding-helmet-5-13-shade-black>: HTTP status code is not handled or not allowed 2026-01-28 03:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-packs-facial-tissue-2-ply-white-flat-box-100-sheets-box-30-boxes-case>: HTTP status code is not handled or not allowed 2026-01-28 03:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-1100sf-standard-back-support-black-3-x-large>: HTTP status code is not handled or not allowed 2026-01-28 03:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers>: HTTP status code is not handled or not allowed 2026-01-28 03:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viking153-3350-welding-helmet-5-13-shade-steam-punk>: HTTP status code is not handled or not allowed 2026-01-28 03:13:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/roof_ventilators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:13:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers landed on page that is not a product page. 2026-01-28 03:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indestructable-too-folding-table-18x72-charcoal-1200-series>: HTTP status code is not handled or not allowed 2026-01-28 03:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-straight-leg-dunnage-rack-60-lx18-wx8-h>: HTTP status code is not handled or not allowed 2026-01-28 03:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-620-knee-sleeve-open-patella-spiral-stays-black-small>: HTTP status code is not handled or not allowed 2026-01-28 03:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-scrubbing-sponge-yellow-green-20-sponges>: HTTP status code is not handled or not allowed 2026-01-28 03:13:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/roof_ventilators landed on page that is not a product page. 2026-01-28 03:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-fold-towel-white>: HTTP status code is not handled or not allowed 2026-01-28 03:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vogue-outdoor-stackable-bar-stool-french-taupe-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 03:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bow-front-desk-shell-71wx41dx29-5h-driftwood>: HTTP status code is not handled or not allowed 2026-01-28 03:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-armless-barstool-solid-gray-sling-on-volcanic-black-frame-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 03:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-shelf-ledge-42>: HTTP status code is not handled or not allowed 2026-01-28 03:13:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4oz-natural-hdpe-wide-mouth-round-bottle-with-38-400-white-pp-pe-foam-cap-475-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-3-shelf-rack-24-wx60-hx36-l>: HTTP status code is not handled or not allowed 2026-01-28 03:13:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/wrapping_equipment/stretch_wrap_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-heavy-duty-4-shelf-rack-20-wx72-hx36-l>: HTTP status code is not handled or not allowed 2026-01-28 03:13:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks landed on page that is not a product page. 2026-01-28 03:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-8-1-4-x-24-x-9-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:13:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upper-wheel-blade-guard-5784591>: HTTP status code is not handled or not allowed 2026-01-28 03:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/short-sleeve-wicking-birdseye-t-shirt-w-pocket-hi-vis-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 03:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-16-x-58-soc-set-scr-6716099>: HTTP status code is not handled or not allowed 2026-01-28 03:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-cantilever-t-bar-shelf-24-wx60-l>: HTTP status code is not handled or not allowed 2026-01-28 03:13:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/wrapping_equipment/stretch_wrap_machines landed on page that is not a product page. 2026-01-28 03:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-sleevet-shirt-segmented-tape-hi-vis-yellow-medium>: HTTP status code is not handled or not allowed 2026-01-28 03:13:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips landed on page that is not a product page. 2026-01-28 03:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8925-class-e-thermal-pants-lime-small>: HTTP status code is not handled or not allowed 2026-01-28 03:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50668 pages (at 92 pages/min), scraped 25835 items (at 57 items/min) 2026-01-28 03:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-zip-hoodie-sweatshirt-hi-vis-orange-large>: HTTP status code is not handled or not allowed 2026-01-28 03:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-28w-x-28l-2-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 03:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-675-ambidextrous-double-strap-wrist-support-black-large>: HTTP status code is not handled or not allowed 2026-01-28 03:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8365-class-3-rain-jacket-lime-2-x-large>: HTTP status code is not handled or not allowed 2026-01-28 03:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-key-5mm--ref-179-5714411>: HTTP status code is not handled or not allowed 2026-01-28 03:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-22w-x-36l-1-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 03:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-1-1-2-cu-yd-stainless-steel-self-dumping-hopper>: HTTP status code is not handled or not allowed 2026-01-28 03:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-pressboard-hanging-data-binder-9-1-2-x-11-unburst-sheets-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-35mm-0-50-dram-amber-vial-w-8-425-black-phenolic-pulp-vinyl-lined-cap-144pk>: HTTP status code is not handled or not allowed 2026-01-28 03:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8925-class-e-thermal-pants-orange-2-x-large>: HTTP status code is not handled or not allowed 2026-01-28 03:14:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_vials_tubes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bellman-hotel-cart-41-x-24-satin-aluminum-with-black-carpet-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 03:14:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/wall_files already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inventory-control-cone-with-dry-erase-decal-purple>: HTTP status code is not handled or not allowed 2026-01-28 03:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-shelf-bracket-for-slatwall-satin-nickel>: HTTP status code is not handled or not allowed 2026-01-28 03:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-chock-your-wheels-safety-warning-sign-14-x-10>: HTTP status code is not handled or not allowed 2026-01-28 03:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-sheet-roll-s2s-3-848100>: HTTP status code is not handled or not allowed 2026-01-28 03:14:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_vials_tubes landed on page that is not a product page. 2026-01-28 03:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-rul630pr-100-nema-l6-30-locking-all-weather-cord-set-100>: HTTP status code is not handled or not allowed 2026-01-28 03:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-ag4s-05>: HTTP status code is not handled or not allowed 2026-01-28 03:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-write-on-erasable-indexes-eight-white-tabs-letter-white-8-set>: HTTP status code is not handled or not allowed 2026-01-28 03:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mds705203-biohazard-patient-room-sharps-containers-red-3-gallon-12-case>: HTTP status code is not handled or not allowed 2026-01-28 03:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36-bib-typealuminized-rayon-ar36b>: HTTP status code is not handled or not allowed 2026-01-28 03:14:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/wall_files landed on page that is not a product page. 2026-01-28 03:14:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/scissors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-shelf-truck-with-dolly-base-60x24x81-1600-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-22w-x-36l-4-mil-clear-200pack>: HTTP status code is not handled or not allowed 2026-01-28 03:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brake-8-caster-top-locking-brake-with-side-lever>: HTTP status code is not handled or not allowed 2026-01-28 03:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-coin-envelope-3-light-brown-500box>: HTTP status code is not handled or not allowed 2026-01-28 03:14:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-seal-30-x-7-5783871>: HTTP status code is not handled or not allowed 2026-01-28 03:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/scissors>: HTTP status code is not handled or not allowed 2026-01-28 03:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolt-extractor-set-1-4-to-5-8-for-drilling-out-damaged-bolts>: HTTP status code is not handled or not allowed 2026-01-28 03:14:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/chemical_resistant_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-44w-x-60l-3-mil-clear-50pack>: HTTP status code is not handled or not allowed 2026-01-28 03:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/id-label-ap5-19>: HTTP status code is not handled or not allowed 2026-01-28 03:14:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 03:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-l-x-36-w-production-bench-esd-square-edge-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 03:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-l-x-36-w-production-bench-plastic-square-edge-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 03:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-padded-swivel-task-office-chair-black-mid-back>: HTTP status code is not handled or not allowed 2026-01-28 03:14:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/chemical_resistant_gloves landed on page that is not a product page. 2026-01-28 03:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-jaw-self-centering-puller-10-ton-capacity-7-8-to-11-7-8-open-9-7-8-reach>: HTTP status code is not handled or not allowed 2026-01-28 03:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1106blu-aluminum-safety-padlock-1-12w-x-1-12h-shackle-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bracket-cos18-506>: HTTP status code is not handled or not allowed 2026-01-28 03:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metaltech-scaffold-guard-rail-post>: HTTP status code is not handled or not allowed 2026-01-28 03:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valves-56-1167-cle07176>: HTTP status code is not handled or not allowed 2026-01-28 03:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-flap-disc-577f-t29-4-1-2-in-x-7-8-in-80-yf-weight-10-per-case>: HTTP status code is not handled or not allowed 2026-01-28 03:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50761 pages (at 93 pages/min), scraped 25886 items (at 51 items/min) 2026-01-28 03:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-2w-x-9l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-reach-stilts-24-to-40-pair>: HTTP status code is not handled or not allowed 2026-01-28 03:15:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-plug-body-with-high-flow-profile-3-8-mnpt-connection-used-with-esi-coupling>: HTTP status code is not handled or not allowed 2026-01-28 03:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cross-peen-engineer-s-hammers-h-42fg>: HTTP status code is not handled or not allowed 2026-01-28 03:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-8w-x-4d-x-20h-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-gauge-cos18-230>: HTTP status code is not handled or not allowed 2026-01-28 03:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-box-pulley-hbs1018w-97>: HTTP status code is not handled or not allowed 2026-01-28 03:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switchs-26-4083-cecl232a>: HTTP status code is not handled or not allowed 2026-01-28 03:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_filters>: HTTP status code is not handled or not allowed 2026-01-28 03:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-18w-x-30l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 03:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-21w-x-72l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 03:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-double-tier-12x12x36-2-door-assembled-marine-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-plate-d-taper-for-set-tru-bison-chucks-8-inch-d1-6>: HTTP status code is not handled or not allowed 2026-01-28 03:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-slide-wheel-hp35a-63>: HTTP status code is not handled or not allowed 2026-01-28 03:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-double-tier-12x18x36-6-door-assembled-marine-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-21w-x-42l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 03:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-24w-x-24l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 03:15:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-mobile-work-platform-40in-w-x-71in-l-36in-handrails-safety-yellow-wlwp153636sl-y>: HTTP status code is not handled or not allowed 2026-01-28 03:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-16w-x-30l-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 03:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceiling-kit-3-5-ton-air-conditioners-1>: HTTP status code is not handled or not allowed 2026-01-28 03:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-master-jaws-for-bison-scroll-chuck-12-inch-3-jaw-3-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 03:15:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/wire_stripping_crimping_pliers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-36w-x-32d-x-48h-3-mil-clear-50pack>: HTTP status code is not handled or not allowed 2026-01-28 03:15:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:15:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakes-tin-decorative-metal-ceiling-tile-nails-unfinished-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grooved-ball-bearing-6201-jsh275-5>: HTTP status code is not handled or not allowed 2026-01-28 03:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/wire_stripping_crimping_pliers>: HTTP status code is not handled or not allowed 2026-01-28 03:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a8p6-panel-junction-box-675x488-fits-8x6-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 03:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-inch-ready-set-staple-belt-lacing-galvanized-rs62j36>: HTTP status code is not handled or not allowed 2026-01-28 03:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories>: HTTP status code is not handled or not allowed 2026-01-28 03:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gasket-jsm4140-30>: HTTP status code is not handled or not allowed 2026-01-28 03:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories>: HTTP status code is not handled or not allowed 2026-01-28 03:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-inch-adjustable-height-steel-work-platform-5inh-to-8inh-mcos36245>: HTTP status code is not handled or not allowed 2026-01-28 03:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-hole-22mm-non-metallic-push-button-station>: HTTP status code is not handled or not allowed 2026-01-28 03:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-edge-trimmer-jeb-150>: HTTP status code is not handled or not allowed 2026-01-28 03:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-mm-od-polyurethane-tubing-natural-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-28 03:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-pipe-cutters-83165>: HTTP status code is not handled or not allowed 2026-01-28 03:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-six-tier-12x12x12-18-door-unassembled-1>: HTTP status code is not handled or not allowed 2026-01-28 03:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-24in-w-10in-d-top-step-steel-rolling-ladder-grip-strut-tread-36in-handrail-kdsr103242>: HTTP status code is not handled or not allowed 2026-01-28 03:15:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_supply_dispensers_organizers/broom_holders_shadow_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-10w-x-14l-6-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 03:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proto-j1200-90asd-31-piece-satin-combination-asd-wrench-set-12-point>: HTTP status code is not handled or not allowed 2026-01-28 03:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthsmart-quad-cane-sit-to-stand-walker-adjustable-quad-cane-4-foot-base-foam-handles-black>: HTTP status code is not handled or not allowed 2026-01-28 03:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-phase-disconnect-manual-motor-controller>: HTTP status code is not handled or not allowed 2026-01-28 03:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cwhpto-handle-padlocking-fits-doors-castblack>: HTTP status code is not handled or not allowed 2026-01-28 03:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-chain-kit-1800css10-for-straight-configuration-infrared-heaters-10-l>: HTTP status code is not handled or not allowed 2026-01-28 03:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_supply_dispensers_organizers/broom_holders_shadow_boards>: HTTP status code is not handled or not allowed 2026-01-28 03:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50853 pages (at 92 pages/min), scraped 25934 items (at 48 items/min) 2026-01-28 03:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-18w-x-48l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 03:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/angle-flange-5-inch-diameter-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 03:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repeat-cycle-timer-0-60-sec-spdt-24-vac-vdc>: HTTP status code is not handled or not allowed 2026-01-28 03:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-slatwall-panel-48-h-x-48-l-black>: HTTP status code is not handled or not allowed 2026-01-28 03:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goliath-eyewear-clear-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 03:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-add-on-w-steel-decking-84-w-x-36-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 03:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seeger-lock-washer-sga-17-1819361>: HTTP status code is not handled or not allowed 2026-01-28 03:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airsol-asflat-anti-fatigue-insoles-d-f-9-10-5-flat-style-open-cell-foam>: HTTP status code is not handled or not allowed 2026-01-28 03:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ztek-eyewear-orange-lens-with-orange-frame>: HTTP status code is not handled or not allowed 2026-01-28 03:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45321-3-1-air-operated-oil-transfer-pump-stub-pump-with-bung-adaptor-and-foot-valve>: HTTP status code is not handled or not allowed 2026-01-28 03:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cllr-ref-27--1230-5232741>: HTTP status code is not handled or not allowed 2026-01-28 03:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4949-double-sided-foam-tape-34-x-5-yds-45-mil-black>: HTTP status code is not handled or not allowed 2026-01-28 03:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-aluminum-cable-hose-protection-bridges-24-x-7-1-8-x-1-1-8>: HTTP status code is not handled or not allowed 2026-01-28 03:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/molded-rubber-cable-hose-protection-bridges-24x24x4>: HTTP status code is not handled or not allowed 2026-01-28 03:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-25-l-hdpe-magenta>: HTTP status code is not handled or not allowed 2026-01-28 03:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-cottered-pin-roller-chain-180-1c-2-1-4-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 03:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-lock-assy-3520a-2695026>: HTTP status code is not handled or not allowed 2026-01-28 03:16:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-disc-782c-tn-quick-change-5-80-25-per-inner-100-per-case>: HTTP status code is not handled or not allowed 2026-01-28 03:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-x-30-standard-shop-stand-shop-top-black>: HTTP status code is not handled or not allowed 2026-01-28 03:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mtr-plt-bar-15--20-dp-5032781>: HTTP status code is not handled or not allowed 2026-01-28 03:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-mobile-electronic-packaging-workbench-plastic-square-edge-72-x-30>: HTTP status code is not handled or not allowed 2026-01-28 03:16:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 03:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-foot-x-20-foot-camouflage-green-tarp>: HTTP status code is not handled or not allowed 2026-01-28 03:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-foot-x-30-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 03:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-double-roller-chain-100-2r-1-1-4-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-28 03:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-double-roller-chain-100-2r-1-1-4-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 03:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-cottered-pin-roller-chain-50-1c-5-8-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 03:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polypropylene-bags-8l-x-3w-15-mil-clear-5000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:16:53 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 03:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-packaging-workbench-maple-butcher-block-square-edge-60-x-30-with-lower-shelf-kit>: HTTP status code is not handled or not allowed 2026-01-28 03:16:54 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:26 2026-01-28 03:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 50950 pages (at 97 pages/min), scraped 26001 items (at 67 items/min) 2026-01-28 03:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-wire-container-32x20x21-1-2in-mesh-size-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-8900-lw-xl-fits-raymond-model-8900>: HTTP status code is not handled or not allowed 2026-01-28 03:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-hj55-lw-fits-total-source-model-hj55>: HTTP status code is not handled or not allowed 2026-01-28 03:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-nickel-plated-roller-chain-60-1np-3-4-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-28 03:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-tubing-10w-x-725l-4-mil-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 03:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-polypropylene-bags-10l-x-7w-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-bushing-jet-00t-y10301110>: HTTP status code is not handled or not allowed 2026-01-28 03:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40092-40-60-grit-coal-slag-steel-grit-25-lbs>: HTTP status code is not handled or not allowed 2026-01-28 03:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-bracket-for-mack-led-plus-40-20-degrees>: HTTP status code is not handled or not allowed 2026-01-28 03:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip-white-block-reclosable-bags-w-hang-hole-6w-x-9l-4-milclear1000pk>: HTTP status code is not handled or not allowed 2026-01-28 03:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-tpi-fan-head-non-oscillating-3>: HTTP status code is not handled or not allowed 2026-01-28 03:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/halux-universal-led-treatment-light-n50-3-p-fx-double-arm-clamp>: HTTP status code is not handled or not allowed 2026-01-28 03:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05050su-f6t5cw-6w-fluorescent-t5-bulb-mini-bipin-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 03:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triango-universal-led-fokus-treatment-light-100-1-w-dimming-wall-mount>: HTTP status code is not handled or not allowed 2026-01-28 03:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-bookcase-mahogany-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 03:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-8500-lw-fits-raymond-model-8500>: HTTP status code is not handled or not allowed 2026-01-28 03:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-water-drain-line-kit-for-761220-outdoor-drinking-fountains>: HTTP status code is not handled or not allowed 2026-01-28 03:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-polypropylene-bags-12l-x-9w-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fence-lock-screw-assy-for-2695010>: HTTP status code is not handled or not allowed 2026-01-28 03:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-polypropylene-bags-6-34l-x-4-34w-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1375-qt-1-6-size-steam-table-pan-anti-jam-24-ga>: HTTP status code is not handled or not allowed 2026-01-28 03:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-8w-x-10l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:17:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-green-breeze-with-cord>: HTTP status code is not handled or not allowed 2026-01-28 03:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321515a-cc-bdb1340a-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 03:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-polypropylene-bags-4l-x-6w-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-pc-decorating-tube-set>: HTTP status code is not handled or not allowed 2026-01-28 03:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-28 03:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a42sa3210lppl-preferred-cutout-disc-enc-w-handle-4200x3138x1000>: HTTP status code is not handled or not allowed 2026-01-28 03:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-oz-ss-scoops>: HTTP status code is not handled or not allowed 2026-01-28 03:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/makerbot-sketch-filament-5-5>: HTTP status code is not handled or not allowed 2026-01-28 03:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8261frhl-s-m-lime-hi-vis-fr-safety-vest-class-2-dual-compliant>: HTTP status code is not handled or not allowed 2026-01-28 03:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-conductor-shielded-plenum-cable-3-conductor-22-awg-7-30-bc-natural2>: HTTP status code is not handled or not allowed 2026-01-28 03:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e4pbg-push-button-encl-4pb-x-225mm-44mm>: HTTP status code is not handled or not allowed 2026-01-28 03:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3002-standard-gray-retractable-tool-lanyard-belt-clip-carabiner>: HTTP status code is not handled or not allowed 2026-01-28 03:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-12w-x-13l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:17:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/coaxial_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-workbench-esd-square-edge-60-x-36-with-lower-shelf-kit>: HTTP status code is not handled or not allowed 2026-01-28 03:17:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/gondola_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-aluminum-rolling-ladder-24inw-ribbed-tread-14ind-top-step-42in-handrails-wlar108244c>: HTTP status code is not handled or not allowed 2026-01-28 03:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-plastic-pallet-with-casters-48x40-2-way-entry-1000-lb-fork-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lever-oil-bucket-pump-for-5-gallon-pails>: HTTP status code is not handled or not allowed 2026-01-28 03:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/damping-material-jsm3330-55>: HTTP status code is not handled or not allowed 2026-01-28 03:17:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/coaxial_cable landed on page that is not a product page. 2026-01-28 03:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/gondola_shelving>: HTTP status code is not handled or not allowed 2026-01-28 03:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thrust-washer-12-jsm3430-41>: HTTP status code is not handled or not allowed 2026-01-28 03:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucky-dog-uptown-dog-welded-wire-kennel-with-cover-4ft-x4ft-x6ft-black>: HTTP status code is not handled or not allowed 2026-01-28 03:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lps150-bench-150-lbs>: HTTP status code is not handled or not allowed 2026-01-28 03:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/planet-gear-jsm5430-23>: HTTP status code is not handled or not allowed 2026-01-28 03:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51048 pages (at 98 pages/min), scraped 26054 items (at 53 items/min) 2026-01-28 03:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-clamp-replacement-part-for-rt26-rotary-paper-trimmer-clear>: HTTP status code is not handled or not allowed 2026-01-28 03:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crystalon-stack-all-san-tumbler-162-ozclear>: HTTP status code is not handled or not allowed 2026-01-28 03:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-stainless-steel-unit-fixed-leg-work-table>: HTTP status code is not handled or not allowed 2026-01-28 03:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-grip-ll301-natural-rubber-gloves-heavy-weight-blue-1-pair-large-301428>: HTTP status code is not handled or not allowed 2026-01-28 03:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilotron-153-designer-aerosol-dispenser-white-6-case-wall-mount>: HTTP status code is not handled or not allowed 2026-01-28 03:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilotron-metered-air-fresheners-nilotron-metered-air-fresheners-original-7-oz-refill-12-case>: HTTP status code is not handled or not allowed 2026-01-28 03:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-valve-case-jsm7572-65>: HTTP status code is not handled or not allowed 2026-01-28 03:18:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/drainage_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:18:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c20c20-consolet-sloped-cover-2000x2000x1309-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 03:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fae-4002-refill-bzk-antiseptic-wipes-10-per-box>: HTTP status code is not handled or not allowed 2026-01-28 03:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-butts-smoking-shelters-back-to-wall-3-sided-3-6-x-10-4>: HTTP status code is not handled or not allowed 2026-01-28 03:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1084dl-j-box-hinged-cover-contoured-type-12-1000x800x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 03:18:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/drainage_mats landed on page that is not a product page. 2026-01-28 03:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-285b-impact>: HTTP status code is not handled or not allowed 2026-01-28 03:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-7807r-air-angle-drill-3-8>: HTTP status code is not handled or not allowed 2026-01-28 03:18:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 03:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-roller-cabinet-12-drawers-55w-x-25d-x-47h-black-w-chrome-drawer-pulls-trim>: HTTP status code is not handled or not allowed 2026-01-28 03:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a84xm7818ftc-heavy-duty-fs-disc-encl-wpanel-2-door-8412x7850x1812-paint>: HTTP status code is not handled or not allowed 2026-01-28 03:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-vinyl-duct-tape-3903-red-2-x-50-yd-6-3-mil-24-per-case>: HTTP status code is not handled or not allowed 2026-01-28 03:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-locking-left-exit-satin>: HTTP status code is not handled or not allowed 2026-01-28 03:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-return-air-vent-grille-vent-cover-12-x-12>: HTTP status code is not handled or not allowed 2026-01-28 03:18:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-m4-jtm-1050-b-132>: HTTP status code is not handled or not allowed 2026-01-28 03:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ce5002-3-75hp-2-stage-60-gallon-vertical-air-compressor>: HTTP status code is not handled or not allowed 2026-01-28 03:18:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-wall-desk-full-size-spring-close-keyed-lock-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x48-solar-star-greenhouse-w-poly-top-and-ends-drop-down-sides>: HTTP status code is not handled or not allowed 2026-01-28 03:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc-board-afs-1000b2000-330043>: HTTP status code is not handled or not allowed 2026-01-28 03:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-72w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 03:18:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms landed on page that is not a product page. 2026-01-28 03:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-6-foot-w-fits-3-5-8-inches-to-5-1-2-inches-dia-brsn-46-6>: HTTP status code is not handled or not allowed 2026-01-28 03:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustment-screw-jwbs20qt-514>: HTTP status code is not handled or not allowed 2026-01-28 03:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440106668-utility-cloth-sheet-314d-9w-x-11l-p80-grit>: HTTP status code is not handled or not allowed 2026-01-28 03:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-greenhouse-30w-x-12h-x-60l>: HTTP status code is not handled or not allowed 2026-01-28 03:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-box-locker-11-1-2-x-18-x-44-three-clear-door-with-combination-lock>: HTTP status code is not handled or not allowed 2026-01-28 03:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-table-insert-jbos-5-6286982>: HTTP status code is not handled or not allowed 2026-01-28 03:18:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems landed on page that is not a product page. 2026-01-28 03:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-60w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 03:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51140 pages (at 92 pages/min), scraped 26111 items (at 57 items/min) 2026-01-28 03:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-42w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 03:18:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-30w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 03:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-96-l-x-48-w-x-1-8-thick-yellow-ps-cacc-10>: HTTP status code is not handled or not allowed 2026-01-28 03:19:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:19:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-film-300-l-x-40-w-x-0-005-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 03:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-quik-mark-wb-inverted-marking-paint-apwa-brilliant-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-joint-84-0031-00>: HTTP status code is not handled or not allowed 2026-01-28 03:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:19:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x48-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides-gas-heater>: HTTP status code is not handled or not allowed 2026-01-28 03:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-5-ball-interior-exterior-paint-true-blue-osha-safety-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-42w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 03:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-72w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 03:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-28 03:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-commercial-canopy-18w-x-50l-white>: HTTP status code is not handled or not allowed 2026-01-28 03:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25804-danger-construction-area-keep-out-sign-polystyrene-14w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 03:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:19:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mro350-dp-mro-universal-roll30w-x-150lmedium-weightdbl-perforated>: HTTP status code is not handled or not allowed 2026-01-28 03:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-mailers-with-tear-strip-7-12w-x-10-12l-25-mil-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 03:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/molded-rubber-hose-cable-ramp-and-protector-yellow-436657>: HTTP status code is not handled or not allowed 2026-01-28 03:19:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-invoice-enclosed-print-5l-x-3w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 03:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-pad-mdl-jwss-10-200386>: HTTP status code is not handled or not allowed 2026-01-28 03:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/opticlean-newave-20-compartment-glass-rack-w-3-extenders-carlisle-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/opticlean-openbowl-rackcarlisle-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-54w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 03:19:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-8-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 03:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stayflats-plus-peel-seal-mailers-13w-x-18l-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-28 03:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1>: HTTP status code is not handled or not allowed 2026-01-28 03:19:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:19:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-16-diameter-7x7-stainless-steel-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 03:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-u-channel-36-l-x-3-8-w-clear>: HTTP status code is not handled or not allowed 2026-01-28 03:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-9-x-9-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 03:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76142-special-instructions-tag-25pkg-polyester-5-34w-x-3w>: HTTP status code is not handled or not allowed 2026-01-28 03:19:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 03:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86751-out-of-service-production-tag-100pkg-cardstock-5-34w-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 03:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-x-12-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 03:19:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 03:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-25mm-model-201planer-6012077>: HTTP status code is not handled or not allowed 2026-01-28 03:19:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/right_to_know_stations/right_to_know_stations_binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80215-bradyglo-exit-sign-self-adhesive-polyester-10w-x-7h>: HTTP status code is not handled or not allowed 2026-01-28 03:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-2dia-x-6l-0060-thick-blue-50pack>: HTTP status code is not handled or not allowed 2026-01-28 03:19:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/casters_wheels/wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-doctor-ato-atc-6-way-fuse-block>: HTTP status code is not handled or not allowed 2026-01-28 03:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lever-rh-run-w-003-3426002>: HTTP status code is not handled or not allowed 2026-01-28 03:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regulated-labels-rohs-compliant1-diameter-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 03:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/right_to_know_stations/right_to_know_stations_binders>: HTTP status code is not handled or not allowed 2026-01-28 03:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simoniz-wet-look-plus-acrylic-floor-sealer-finish-5-gallon>: HTTP status code is not handled or not allowed 2026-01-28 03:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/casters_wheels/wheels>: HTTP status code is not handled or not allowed 2026-01-28 03:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelon-wire-shelving-starter-unit-1-dunnage-shelf-24w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 03:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simonize-aerosol-adhesive-remover>: HTTP status code is not handled or not allowed 2026-01-28 03:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-round-prosaic-wall-clock-black>: HTTP status code is not handled or not allowed 2026-01-28 03:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fellowes-thermal-bin-ding-machine-helios-30>: HTTP status code is not handled or not allowed 2026-01-28 03:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51229 pages (at 89 pages/min), scraped 26151 items (at 40 items/min) 2026-01-28 03:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-specialty-labels-contains-cryogenic-liquid-3l-x-4-14w-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 03:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-powerfeeders-6288760>: HTTP status code is not handled or not allowed 2026-01-28 03:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retain-ring-stw-12-5f1-a07a-15-planer-6284777>: HTTP status code is not handled or not allowed 2026-01-28 03:20:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/mouse_pads_wrist_rests already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-rectangular-tube-36-l-x-2-w-gray-bulk-rpt-pvc-36>: HTTP status code is not handled or not allowed 2026-01-28 03:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-96-l-x-48-w-x-1-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 03:20:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/labels_barcode_equipment/labels/inventory_tracking_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mdl-l510511-handle-text-3064750>: HTTP status code is not handled or not allowed 2026-01-28 03:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-36-l-x-36-w-x-3-16-thick-blue-detectable-60a>: HTTP status code is not handled or not allowed 2026-01-28 03:20:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/mouse_pads_wrist_rests landed on page that is not a product page. 2026-01-28 03:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-4-cotter-pin-carbon-steel-zinc-clear-asme-18-8-1-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-28 03:20:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-heavy-duty-split-pole-warning-whip-w-o-light-12-x11-orange-rectangle-flag>: HTTP status code is not handled or not allowed 2026-01-28 03:20:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/labels_barcode_equipment/labels/inventory_tracking_labels landed on page that is not a product page. 2026-01-28 03:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/server-stainless-steel-jar-3-qt>: HTTP status code is not handled or not allowed 2026-01-28 03:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerback-rubber-duct-5-ft-heavy-duty-single-1-ch>: HTTP status code is not handled or not allowed 2026-01-28 03:20:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-dia-round-inventory-paper-labels-black-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 03:20:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-3696005>: HTTP status code is not handled or not allowed 2026-01-28 03:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toto-technician-salon-stool-black>: HTTP status code is not handled or not allowed 2026-01-28 03:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-labels-with-jan-print-3l-x-2w-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 03:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80in-w-x80in-d-reception-station-w-non-electric-raceway-cherry-counter-gray-panel>: HTTP status code is not handled or not allowed 2026-01-28 03:20:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/124in-w-x44in-d-reception-station-w-non-electric-raceway-gray-counter-blue-panel>: HTTP status code is not handled or not allowed 2026-01-28 03:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-83-5-series-v-industrial-digital-multimeter-measure-up-to-1000-v-ac-dc-10a>: HTTP status code is not handled or not allowed 2026-01-28 03:20:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-1ac-a1-ii-acv-detector-90-1000v-engl-laspn-cfr-flat-tip>: HTTP status code is not handled or not allowed 2026-01-28 03:20:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nba-new-york-knicks-hitch-cover-4-1-2-x-3-3-8-15126>: HTTP status code is not handled or not allowed 2026-01-28 03:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_strips>: HTTP status code is not handled or not allowed 2026-01-28 03:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-60-l-x-1-2-w-x-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 03:20:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsi-bench-seat-mounted-console-full-size-pickup-suburban-model-10111-in-vinyl-black>: HTTP status code is not handled or not allowed 2026-01-28 03:20:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 03:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi13016-loaded-gear-cx950-dual-stacked-riflehandgun-mag-pouch-green>: HTTP status code is not handled or not allowed 2026-01-28 03:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-4-w-x-3-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 03:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orm-d-labels-consumer-commodity-orm-d-1-38l-x-2-14w-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 03:20:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoline-storage-building-30w-x-15h-x-40l-white-freestanding>: HTTP status code is not handled or not allowed 2026-01-28 03:20:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 03:20:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circle-mailing-labels-1-dia-white-roll-of-5000>: HTTP status code is not handled or not allowed 2026-01-28 03:20:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_rolls landed on page that is not a product page. 2026-01-28 03:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoline-storage-building-20w-x-12h-x-40l-white-pony-wall>: HTTP status code is not handled or not allowed 2026-01-28 03:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circle-mailing-labels-34-dia-clear-roll-of-5000>: HTTP status code is not handled or not allowed 2026-01-28 03:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-outdoor-in-ground-steel-bench-with-backrest-perforated-metal-black>: HTTP status code is not handled or not allowed 2026-01-28 03:20:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hannordicshd-gw-galvanized-steel-shed-63-11-16-l-x-102-w-x-87-3-5-h-dark-gray-white>: HTTP status code is not handled or not allowed 2026-01-28 03:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcpg019vs-danger-sign-hot-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 03:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51316 pages (at 87 pages/min), scraped 26197 items (at 46 items/min) 2026-01-28 03:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-12-l-x-2-w-x-1-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 03:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-bench-workstation-steel-top-locking-door-4-drawers-shelf-54-1-16x18-1-4x36-3-8>: HTTP status code is not handled or not allowed 2026-01-28 03:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd162-120240-circuit-breaker-lockout-triple-pole-plastic>: HTTP status code is not handled or not allowed 2026-01-28 03:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-25-mm-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 03:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-barrel-mover-plastex-wheels>: HTTP status code is not handled or not allowed 2026-01-28 03:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-4000-multi-purpose-dual-headed-floor-machine-120-oz-tank-cap-4-2-amp-120v-25-cord>: HTTP status code is not handled or not allowed 2026-01-28 03:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-bit-3-8>: HTTP status code is not handled or not allowed 2026-01-28 03:21:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats landed on page that is not a product page. 2026-01-28 03:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melc804va-notice-sign-electrical-room-no-storage-permitted-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 03:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34x25-liter-under-the-counter-corrosive-cabinet-fully-lined-35w-x-22d-x-35-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 03:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn310-steel-gear-lever-w-ball-knob-12mm-d-125mm-l-m10x15>: HTTP status code is not handled or not allowed 2026-01-28 03:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-22mm-short>: HTTP status code is not handled or not allowed 2026-01-28 03:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-id-x-2-22-cush-a-therm>: HTTP status code is not handled or not allowed 2026-01-28 03:21:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/dust_collectors_air_filtration/dust_collection_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-enclosed-wire-stockpicker-truck-48-x-18-x-69-1000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 03:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15x24-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 03:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2flexo-pet-general-purpose-sleeving-dia-100-green>: HTTP status code is not handled or not allowed 2026-01-28 03:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/socket-3-8-drive-t50-internal-torx>: HTTP status code is not handled or not allowed 2026-01-28 03:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/dust_collectors_air_filtration/dust_collection_systems>: HTTP status code is not handled or not allowed 2026-01-28 03:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mext918vp-exit-safety-sign-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 03:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crossover-30366118>: HTTP status code is not handled or not allowed 2026-01-28 03:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ij-872-8-long-bed-jointer-with-straight-knife-cutter-2hp-1ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 03:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-12-dri-shieldtm-moisture-barrier-bags>: HTTP status code is not handled or not allowed 2026-01-28 03:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madm893vs-notice-sign-all-visitors-must-register-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 03:21:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-additional-steel-shelf-level-with-clips-42-w-x-18-d-x-1-5-16-h>: HTTP status code is not handled or not allowed 2026-01-28 03:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-7-3-8-h-long-divider>: HTTP status code is not handled or not allowed 2026-01-28 03:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x12-1-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 03:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-cardholders-2w-x-1h-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-48-l-x-24-w-x-1-16-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-28 03:21:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x6-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 03:21:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x12-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 03:21:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-wand-brush-w-polyester-bristles-24-long-green>: HTTP status code is not handled or not allowed 2026-01-28 03:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-flange-6>: HTTP status code is not handled or not allowed 2026-01-28 03:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g22-100-ff-30hp-oil-injected-rotary-screw-132-gal-tank-mnt-100psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 03:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:21:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flo-pac-straight-red-gum-rubber-floor-squeegee-heavy-duty-steel-frame-36>: HTTP status code is not handled or not allowed 2026-01-28 03:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorilla-sleeve-high-abrasion-3-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-28 03:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-24-l-x-24-w-x-1-8-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 03:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/af79-acid-free-bathroom-cleaner-concentrate-ocean-breeze-scent-2-l-bottle-4case>: HTTP status code is not handled or not allowed 2026-01-28 03:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1flexo-pet-general-purpose-sleeving-dia-65-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-32-l-x-16-w-x-3-32-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 03:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hoist-and-trolley-combo-standard-3-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 03:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-3-open-end-static-shielding-bags>: HTTP status code is not handled or not allowed 2026-01-28 03:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51415 pages (at 99 pages/min), scraped 26251 items (at 54 items/min) 2026-01-28 03:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-1-w-x-1-16-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-28 03:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-airpot-racks-univ-2-apr-35728>: HTTP status code is not handled or not allowed 2026-01-28 03:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-tester-printer-12-1015>: HTTP status code is not handled or not allowed 2026-01-28 03:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-ez-fit-c2410sm>: HTTP status code is not handled or not allowed 2026-01-28 03:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jp-portable-electric-pressure-washer-3000-psi-8-hp-39-gpm-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 03:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dimension-beverage-center-cabinets-c2903>: HTTP status code is not handled or not allowed 2026-01-28 03:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-24-l-x-2-w-x-1-4-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-12-l-x-1-2-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 03:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x16-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 03:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5550062-flat-file-6-second-cut>: HTTP status code is not handled or not allowed 2026-01-28 03:22:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-pump-kit-p7300>: HTTP status code is not handled or not allowed 2026-01-28 03:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-925-tew-combination-eyewash-drench-hose>: HTTP status code is not handled or not allowed 2026-01-28 03:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlh-series-lever-hoist-w-overload-protection-6-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 03:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlp-a-series-lever-hoist-3-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 03:22:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-48-75xt-alum-ext-alloy-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 03:22:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-lazer-pistol-grip-safety-air-gun>: HTTP status code is not handled or not allowed 2026-01-28 03:22:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-48-l-x-2-w-x-1-thick-black-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 03:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poxygrid-imhoff-cone-rack-3-places-17x-6-x-16>: HTTP status code is not handled or not allowed 2026-01-28 03:22:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-24-l-x-1-w-x-1-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 03:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-leveling-table-8-x-8-x-3-8>: HTTP status code is not handled or not allowed 2026-01-28 03:22:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-36-white-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 03:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sn-20005-fire-resistant-safety-netting-4-ft-x-150-ft-orange-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 03:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-sheet-24-l-x-12-w-x-1-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 03:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29-41-degree-api-astm-4h-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 03:22:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 03:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roll-out-extra-shelving-starter-3-shelf-36x36x72>: HTTP status code is not handled or not allowed 2026-01-28 03:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-24-l-x-2-1-4-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 03:22:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:22:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:22:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-air-foam-rolls-36w-x-750l-x-332-thick-white-2-rolls>: HTTP status code is not handled or not allowed 2026-01-28 03:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-zone-shadow-board-yellow-white-68-x-30-acp-aluminum-composite-panel-sb121acp>: HTTP status code is not handled or not allowed 2026-01-28 03:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-96-l-x-7-16-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 03:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-12-l-x-1-1-2-w-x-1-2-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 03:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-28 03:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-28 03:22:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/air_guns_blow_guns_components already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brecknell-gp100-usb-digital-bench-scale-with-usb-port-100-x-0-2-lb-12-1-2-x-11-platform>: HTTP status code is not handled or not allowed 2026-01-28 03:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strong-hold-heavy-duty-maintenance-storage-cabinet-60x24x78-269892>: HTTP status code is not handled or not allowed 2026-01-28 03:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-36-l-x-1-w-x-1-4-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-28 03:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-48-l-x-3-w-x-1-4-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-28 03:22:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:22:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/mobile_automotive_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shureshop-bench-w-acc-kit-portable-painted-steel-top-72-x-34-monaco-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:22:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/air_tools_accessories/air_guns_blow_guns_components landed on page that is not a product page. 2026-01-28 03:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-4-x-1-3-8-1-light-green-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-28 03:22:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51502 pages (at 87 pages/min), scraped 26296 items (at 45 items/min) 2026-01-28 03:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-esd-safe-vertical-box-dividers-14-1316l-x-6-1332h>: HTTP status code is not handled or not allowed 2026-01-28 03:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crinkle-paper-10-lbs-purple>: HTTP status code is not handled or not allowed 2026-01-28 03:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi-metallic-surface-temperature-thermometer-20-260c-0-500f-50mm-2-dial>: HTTP status code is not handled or not allowed 2026-01-28 03:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-60-l-x-1-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 03:22:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/mobile_automotive_workbenches landed on page that is not a product page. 2026-01-28 03:22:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-4w-6l-2-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-28 03:23:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-2w-16l-2-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-28 03:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-1w-4l-endless-poly-roundsling-green>: HTTP status code is not handled or not allowed 2026-01-28 03:23:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-4-x-1-3-8-1-red-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 03:23:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks landed on page that is not a product page. 2026-01-28 03:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-60-x-30-adj-height-workbench-w-drawer-black-plastic-laminate-safety-top>: HTTP status code is not handled or not allowed 2026-01-28 03:23:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 03:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-3w-12l-1-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-28 03:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-4-x-1-3-8-1-yellow-fluorescent-strung-tag>: HTTP status code is not handled or not allowed 2026-01-28 03:23:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 03:23:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-bluetooth-verification-thermometer-hygrometer-data-logger-10-50c-14-122f>: HTTP status code is not handled or not allowed 2026-01-28 03:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-4-x-1-5-8-2-green-fluorescent-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 03:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4-x-2-7-8-7-red-fluorescent-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 03:23:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-advanced-classroom-training-table-36-cable-management-enclosure>: HTTP status code is not handled or not allowed 2026-01-28 03:23:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-4-12-manila-pre-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 03:23:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-enviro-safe-general-purpose-liquid-in-glass-thermometer-30-to-120f-76mm-immersion>: HTTP status code is not handled or not allowed 2026-01-28 03:23:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:23:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/absolute-filtration-cart-20-gpm>: HTTP status code is not handled or not allowed 2026-01-28 03:23:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 03:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ffar10med2-mid-sized-upright-auto-defrost-medical-all-refrigerator-10-1-cu-ft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-rectangular-step-can-13-gallon-brushed-ss>: HTTP status code is not handled or not allowed 2026-01-28 03:23:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 03:23:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 03:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-channel-strip-240v-t1-14l-500w>: HTTP status code is not handled or not allowed 2026-01-28 03:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-finned-strip-240v-t4-10-12l-350w>: HTTP status code is not handled or not allowed 2026-01-28 03:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-ultra-low-freezer-verification-thermometer-with-individual-calibration-report>: HTTP status code is not handled or not allowed 2026-01-28 03:23:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-3-w-x-1-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 03:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-t-handle-black-24x24x60>: HTTP status code is not handled or not allowed 2026-01-28 03:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/113177-79-pc-deluxe-roadside-emergency-kit-with-road-flares>: HTTP status code is not handled or not allowed 2026-01-28 03:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-13-2-mil-reclosable-white-block-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 03:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-24-l-x-1-2-w-x-1-4-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 03:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-t-handle-polished-gray-18x18x24>: HTTP status code is not handled or not allowed 2026-01-28 03:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-x-10-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 03:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-spinbar-magnetic-stirring-bar-76-x-12mm>: HTTP status code is not handled or not allowed 2026-01-28 03:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hplc-reservoir-secondary-container-5-liters>: HTTP status code is not handled or not allowed 2026-01-28 03:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-36-l-x-3-16-id-x-1-2-od-white>: HTTP status code is not handled or not allowed 2026-01-28 03:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-10-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 03:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-6-w-x-3-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 03:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51595 pages (at 93 pages/min), scraped 26343 items (at 47 items/min) 2026-01-28 03:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-wall-freestanding-cabinet-35w-x-18d-x-84-1-4h-2-glass-doors-5-adj-shelves-model-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:23:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn419-phenolic-tapered-knob-wmoldedin-thread-25mm-diameter-38mm-length-m6x10>: HTTP status code is not handled or not allowed 2026-01-28 03:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-6-w-x-2-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 03:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-direct-draw-dispensers-dd-95w-dd94>: HTTP status code is not handled or not allowed 2026-01-28 03:24:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-24w-x-14d-x-54h-3-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 03:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-24w-x-18d-x-54h-3-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 03:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-platform-poly-z-brite-18-w-x-36-l-x-14-h>: HTTP status code is not handled or not allowed 2026-01-28 03:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rods-and-clips-3-rods-12-clips-for-solid-shelving-units-84-l>: HTTP status code is not handled or not allowed 2026-01-28 03:24:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks landed on page that is not a product page. 2026-01-28 03:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-12-l-x-2-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 03:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-6-w-x-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 03:24:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 03:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-42w-x-24d-x-34h-2-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 03:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-drinking-fountain-lk4590>: HTTP status code is not handled or not allowed 2026-01-28 03:24:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-48-l-x-24-w-x-1-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 03:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-1-w-x-5-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 03:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-60w-x-36d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 03:24:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-resiliant-rollstock-sj5832-9-x-72-yds-black-1-32-thick-70006459906>: HTTP status code is not handled or not allowed 2026-01-28 03:24:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-chair-dolly>: HTTP status code is not handled or not allowed 2026-01-28 03:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-or-vertical-discharge-fan-forced-suspended-unit-heater-5000w-208v-2>: HTTP status code is not handled or not allowed 2026-01-28 03:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-infrared-heatpad-200-watt-for-use-w-electric-insulated-waterers>: HTTP status code is not handled or not allowed 2026-01-28 03:24:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-24-l-x-12-w-x-3-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 03:24:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips landed on page that is not a product page. 2026-01-28 03:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-8310-r-20a-125v-extra-heavy-duty-hospital-grade-single-receptacle-red>: HTTP status code is not handled or not allowed 2026-01-28 03:24:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-medium-duty-adjustable-grader-blade-tractor-implement-cat-1>: HTTP status code is not handled or not allowed 2026-01-28 03:24:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups landed on page that is not a product page. 2026-01-28 03:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-type-directional-spread-capable-spreader-tractor-attachment>: HTTP status code is not handled or not allowed 2026-01-28 03:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5352-bu-20-amp-125v-heavy-duty-grade-duplex-receptacle-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:24:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:24:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poxygrid-100mm-petri-dish-carrying-rack-30-places>: HTTP status code is not handled or not allowed 2026-01-28 03:24:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/briskheat-silicone-rubber-55-gallon-plastic-drum-heater-120v>: HTTP status code is not handled or not allowed 2026-01-28 03:24:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paintbrushes_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-6-l-x-6-w-x-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 03:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-12-l-x-12-w-x-2-3-4-thick-white-bulk-ps-ac-1673>: HTTP status code is not handled or not allowed 2026-01-28 03:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-3-w-x-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 03:24:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-24w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 03:24:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-rare-earth-teflon-octagon-magnetic-stirring-bar-254-x-095cm-green>: HTTP status code is not handled or not allowed 2026-01-28 03:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paintbrushes_pads>: HTTP status code is not handled or not allowed 2026-01-28 03:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secador-clear-30-gas-purge-desiccator-cabinet-16-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 03:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51681 pages (at 86 pages/min), scraped 26388 items (at 45 items/min) 2026-01-28 03:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-steel-guard-rail-42-h-x-72-l>: HTTP status code is not handled or not allowed 2026-01-28 03:24:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gez-308es-2rs-spherical-plain-bearing-inch-sealed>: HTTP status code is not handled or not allowed 2026-01-28 03:25:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-1-1-2-w-x-1-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 03:25:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/earphone-2-wire-palm-mic>: HTTP status code is not handled or not allowed 2026-01-28 03:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-octagon-magnetic-stirring-bar-254-x-8mm-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:25:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 03:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9539-16ex-16-inch-axial-explosion-proof-ex-industrial-plastic-blower>: HTTP status code is not handled or not allowed 2026-01-28 03:25:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-ergo-handle-with-battery-powered-horn-986874>: HTTP status code is not handled or not allowed 2026-01-28 03:25:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 03:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-deep-file-file-mobile-pedestal-medium-tone>: HTTP status code is not handled or not allowed 2026-01-28 03:25:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-bar-12-l-x-2-w-x-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 03:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-48w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 03:25:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:25:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-truck-step-perforated-step-12-inch-wx12-inch-h-black-5231512>: HTTP status code is not handled or not allowed 2026-01-28 03:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-36w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 03:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-304-stainless-steel-locker-18w-x-18d-x-78h-six-tier-3-wide-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 03:25:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-304-stainless-steel-locker-18w-x-18d-x-78h-single-tier-1-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 03:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-18545b-54w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 03:25:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-18x21x72-3-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 03:25:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 03:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-acetal-bar-48-l-x-1-2-w-x-1-4-thick-off-white-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 03:25:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-plastic-ladle-250ml-9-handle>: HTTP status code is not handled or not allowed 2026-01-28 03:25:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers landed on page that is not a product page. 2026-01-28 03:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-quaverette-micro-blade-vibrating-spatula-stainless-steel-8-1-4>: HTTP status code is not handled or not allowed 2026-01-28 03:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recyclockout-lockout-station-12-padlock-unstocked-7115e>: HTTP status code is not handled or not allowed 2026-01-28 03:25:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands landed on page that is not a product page. 2026-01-28 03:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quality-parktm-cd-dvd-sleeves-5x5-24lb-white-250-box>: HTTP status code is not handled or not allowed 2026-01-28 03:25:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24w-x-10d-x-5h-double-sloping-basket-semi-gloss-epoxy-chrome>: HTTP status code is not handled or not allowed 2026-01-28 03:25:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_trays landed on page that is not a product page. 2026-01-28 03:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x-28-bulletin-sign-holder-w-flat-base-chrome>: HTTP status code is not handled or not allowed 2026-01-28 03:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/millinery-displayer-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 03:25:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats landed on page that is not a product page. 2026-01-28 03:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-36-w-x-3-8-thick-black-high-strength-90a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 03:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-action-9-burette-clamp-opens-0-to-1>: HTTP status code is not handled or not allowed 2026-01-28 03:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-plastic-square-edge-mobile-production-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:25:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/142075a-gls-rope-pull-switch-we-stopsled-std-act-3nc-1no-die-cast>: HTTP status code is not handled or not allowed 2026-01-28 03:25:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51763 pages (at 82 pages/min), scraped 26432 items (at 44 items/min) 2026-01-28 03:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-fiberglass-step-ladder-250-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ashtray-fg3975m3sble>: HTTP status code is not handled or not allowed 2026-01-28 03:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 03:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 03:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-double-sided-add-on-unit-4>: HTTP status code is not handled or not allowed 2026-01-28 03:26:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-12-l-x-12-w-x-1-4-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-28 03:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lf-heavy-pattern-brass-gate-valve-1-ips>: HTTP status code is not handled or not allowed 2026-01-28 03:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-15w-x-18d-x-36h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suit-hanger-with-bar-flocked-velvet-black>: HTTP status code is not handled or not allowed 2026-01-28 03:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/data-logging-thermo-anemometer-with-hot-wire>: HTTP status code is not handled or not allowed 2026-01-28 03:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-head-thumb-screw-6-32-1-1-4-thread-3-16-head-dia-3-8-head-h-ss-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 03:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-72x48-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 03:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-120-l-x-2-w-x-1-4-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 03:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grab-n-go-low-profile-open-display-merchandiser-41w-x-31-14d-x-59-12h>: HTTP status code is not handled or not allowed 2026-01-28 03:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-three-bay-1>: HTTP status code is not handled or not allowed 2026-01-28 03:26:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders landed on page that is not a product page. 2026-01-28 03:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-3-8-thick-black-high-strength-80a-acrylic-adhesive-bulk-rs-h80-66>: HTTP status code is not handled or not allowed 2026-01-28 03:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-94dfb-n5-double-flash-xenon-strobe-blue-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 03:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledmb24ad-smd-multi-mode-led-module-and-light-source-blue-24v-acdc>: HTTP status code is not handled or not allowed 2026-01-28 03:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-anywhere-basket-18-6-8-w>: HTTP status code is not handled or not allowed 2026-01-28 03:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-435-10e1-10-inch-vibrating-bell-12v-dc>: HTTP status code is not handled or not allowed 2026-01-28 03:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c0018-mini-pad-support-assembly-2-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 03:26:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cjl1301a-33-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:26:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/jobsite_door_equipment_locks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifugal-blower-1550-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-28 03:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f-condenser-fans-motor-1-4-hp-1075-rpm-460v-oao>: HTTP status code is not handled or not allowed 2026-01-28 03:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-thick-3-w-corrugated-rubber-runner-full-roll-150-l>: HTTP status code is not handled or not allowed 2026-01-28 03:26:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 03:26:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-fabric-table-cover-blue-eight-feet>: HTTP status code is not handled or not allowed 2026-01-28 03:26:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/workbench_mounting_arms_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:26:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/jobsite_door_equipment_locks landed on page that is not a product page. 2026-01-28 03:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banner-safety-protects-people-quality-protects-job-3-x-5>: HTTP status code is not handled or not allowed 2026-01-28 03:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4110t-5-40-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rug-ram-carpet-pole-carriage-mounted-144-l-2>: HTTP status code is not handled or not allowed 2026-01-28 03:26:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 03:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/room-air-conditioner-motor-1-6-hp-1075-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-28 03:26:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/workbench_mounting_arms_trays landed on page that is not a product page. 2026-01-28 03:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-36-inch-w-x-30-inch-d-x-84-inch-h-7-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/room-air-conditioner-motor-1-6-hp-1075-rpm-277v-oao>: HTTP status code is not handled or not allowed 2026-01-28 03:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laptop-backpack-locker-45w-x-21d-x-78h-3-tier-3-wide-711-platinum-assembled>: HTTP status code is not handled or not allowed 2026-01-28 03:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-72wx24dx84h-4-levels-add-on-no-decking-1000-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51854 pages (at 91 pages/min), scraped 26483 items (at 51 items/min) 2026-01-28 03:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-96wx36dx120h-5-levels-add-on-no-decking-1400-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidguard-2-lift-off-welded-wire-panel-5-w-x-6-h-panel>: HTTP status code is not handled or not allowed 2026-01-28 03:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shift-industrial-cabinet-36-w-x-24-d-x-75-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 03:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glossy-photo-paper-8-1-2in-x-11in-white-50-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdt-series-manual-trolley-11000-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 03:27:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-48-inch-w-x-24-inch-d-x-84-inch-h-7-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-single-phase-odp-motor-3-4-hp-3450-rpm-115-230v-odp>: HTTP status code is not handled or not allowed 2026-01-28 03:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-configured-8x10-partitioned-office-60-h-starter-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper>: HTTP status code is not handled or not allowed 2026-01-28 03:27:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/condenser_fan_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/farm-duty-poultry-fan-motor-1-hp-1725-rpm-115-230v-teao-56-frame>: HTTP status code is not handled or not allowed 2026-01-28 03:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-wrnkl-resist-ctn-wrk-shirt-shrt-slv-m-dark-navy-sc40-sc40dnssm>: HTTP status code is not handled or not allowed 2026-01-28 03:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-aom3611t-3airover-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:27:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/condenser_fan_motors landed on page that is not a product page. 2026-01-28 03:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-5mm-tube-x-1-4-swift-fit-universal-thread-7-9-l>: HTTP status code is not handled or not allowed 2026-01-28 03:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-60wx24dx84h-4-levels-starter-no-decking-1200-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-tier-add-on-unit-48-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 03:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toolbox-z400-blue-shop-towel-small-64-sheets-roll-12-rolls-case-54400>: HTTP status code is not handled or not allowed 2026-01-28 03:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-tier-starter-unit-42-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 03:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-8mm-tube-x-1-2-bspp-8-9-l>: HTTP status code is not handled or not allowed 2026-01-28 03:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-24-inch-d-x-84-inch-h-3-levels-add-on-w-wire-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 03:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/write-on-poly-file-jackets-assorted-11-x-8-1-2-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 03:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-tier-add-on-unit-60-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 03:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-access-control-keypad-card-reader-48-w-x-24-d-x-78-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:27:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/boltless_shelving_additional_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-l-x-8-1-4-w-x-7-h-ultra-series-stack-and-hang-bin-blue-polyethylene-4-slots>: HTTP status code is not handled or not allowed 2026-01-28 03:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-3-8-tube-x-1-2-swift-fit-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-28 03:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-functional-cargo-pant-black-wp80-30x30-wp80bk3030>: HTTP status code is not handled or not allowed 2026-01-28 03:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-pre-configured-wire-shelving-spill-containment-system-36-w-x-24-d-x-84-h-add-on-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-cylinder-flow-screw-adjustment-1-4-tube-x-10-32-universal-thread-0-l>: HTTP status code is not handled or not allowed 2026-01-28 03:27:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/boltless_shelving_additional_shelves landed on page that is not a product page. 2026-01-28 03:27:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=rubbermaid-wavebrake-side-press-mop-bucket-wringer-combo-green already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-rack-5-shelves-with-15-span-track-flow-units-48-w-x-48-d-x-84-h-textured-black>: HTTP status code is not handled or not allowed 2026-01-28 03:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-mobile-security-cabinet-bench-maple-square-edge-2>: HTTP status code is not handled or not allowed 2026-01-28 03:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-ceramic-32000-btu>: HTTP status code is not handled or not allowed 2026-01-28 03:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 51950 pages (at 96 pages/min), scraped 26548 items (at 65 items/min) 2026-01-28 03:27:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/brushes_sponges_squeegees/squeegees already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aircraft-wing-jack-stands-1-pair-14985>: HTTP status code is not handled or not allowed 2026-01-28 03:27:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=rubbermaid-wavebrake-side-press-mop-bucket-wringer-combo-green>: HTTP status code is not handled or not allowed 2026-01-28 03:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-deck-overlay-wire-shelving-36-w-x-24-d-x-1-thick>: HTTP status code is not handled or not allowed 2026-01-28 03:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-particle-board-decking-96-inch-w-x-48-inch-d-x-5-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 03:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/brushes_sponges_squeegees/squeegees>: HTTP status code is not handled or not allowed 2026-01-28 03:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/split-ring-1-100-o-d-x-932-i-d-x-084-thick-stainless-steel-plain>: HTTP status code is not handled or not allowed 2026-01-28 03:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits>: HTTP status code is not handled or not allowed 2026-01-28 03:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-1-4-aro-plug-x-1-4-barb-1-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 03:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-48-w-x-48-d-x-96-h-796580n>: HTTP status code is not handled or not allowed 2026-01-28 03:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-3-8-tube-x-1-2-swift-fit-universal-thread-2-l>: HTTP status code is not handled or not allowed 2026-01-28 03:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-fifth-nested-instrument-table-on-casters-stainless-steel-32-l-x-32-w-x-14-h>: HTTP status code is not handled or not allowed 2026-01-28 03:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-pocket-heavyweight-poly-portfolio-folder-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:28:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/architectural-sign-restroom-ada-symbol-and-braille-12-inches-dia-white-on-blue-106184>: HTTP status code is not handled or not allowed 2026-01-28 03:28:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/water_filtration/replacement_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104344-toughstripe-floor-marking-tape-polyester-3-inches-wide-by-100-feet-long-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:28:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:28:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/humidifiers_dehumidifiers/dehumidifiers_desiccators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-crew-shirt-long-sleeve-regular-l-charcoal-royal-blue-sy10>: HTTP status code is not handled or not allowed 2026-01-28 03:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits>: HTTP status code is not handled or not allowed 2026-01-28 03:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atrix-omega-vaccum-battery-black>: HTTP status code is not handled or not allowed 2026-01-28 03:28:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/water_filtration/replacement_cartridges landed on page that is not a product page. 2026-01-28 03:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits>: HTTP status code is not handled or not allowed 2026-01-28 03:28:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/humidifiers_dehumidifiers/dehumidifiers_desiccators landed on page that is not a product page. 2026-01-28 03:28:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-1-2-tube-x-1-2-swift-fit-universal-thread-1-1-5-l>: HTTP status code is not handled or not allowed 2026-01-28 03:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-iddrpm21604-60-hp-1750-2200-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3665t-8-5-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-cylinder-flow-screw-3-8-tube-x-1-4-universal-thread-1-1-6-l>: HTTP status code is not handled or not allowed 2026-01-28 03:28:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-vacuum-u-tube-50000-btu-30l>: HTTP status code is not handled or not allowed 2026-01-28 03:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-mailers-7-x-3-x-3-200lb-ect-32-b-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-vacuum-u-tube-tough-guy-75000-btu-20l>: HTTP status code is not handled or not allowed 2026-01-28 03:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm3158t-3-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:28:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables landed on page that is not a product page. 2026-01-28 03:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-cleanroom-stool-with-casters-medium-bench-height-black>: HTTP status code is not handled or not allowed 2026-01-28 03:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-d-non-para-extra-duty-urinal-screen-evergreen>: HTTP status code is not handled or not allowed 2026-01-28 03:28:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices landed on page that is not a product page. 2026-01-28 03:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp84412t-4-125-hp-3565-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-efm2515t-8-20-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fleece-jacket-size-men-s-small-black>: HTTP status code is not handled or not allowed 2026-01-28 03:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-knee-boot-men-s-size-9-15-h-steel-toe-cleated-outsole-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-14in-red-blue-surface-mount-ultra-thin-led-strobe-light-8892205>: HTTP status code is not handled or not allowed 2026-01-28 03:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metalin-zipper-bag-10-x-12-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-875in-square-clear-flood-light-with-6-led-1492138>: HTTP status code is not handled or not allowed 2026-01-28 03:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52042 pages (at 92 pages/min), scraped 26601 items (at 53 items/min) 2026-01-28 03:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rain-jacket-size-men-s-4xl-attached-hood-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4in-amber-rectangular-surface-mount-ultra-thin-strobe-light-with-3-led-8892230>: HTTP status code is not handled or not allowed 2026-01-28 03:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suncast-trends-garage-storage-8-metal-loop-hook-black>: HTTP status code is not handled or not allowed 2026-01-28 03:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp84409t-5-100-hp-1188-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lexanpremium-molded-face-shield-fs-18l-10-x-185x-007-clear>: HTTP status code is not handled or not allowed 2026-01-28 03:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xenonsafety-glasses-sg-14c-clear-hcpc-lens-black-framered-tips>: HTTP status code is not handled or not allowed 2026-01-28 03:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400d-coverall-zipper-front-elastic-wrist-ankle-stormflap-white-blue-2x>: HTTP status code is not handled or not allowed 2026-01-28 03:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-dress-hanger-middle-heavy-weight-19l-plastic-cl-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 03:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-in-1-brake-caliper-spreader-kas279>: HTTP status code is not handled or not allowed 2026-01-28 03:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4in-amber-green-surface-mount-ultra-thin-strobe-light-4-led-8892250>: HTTP status code is not handled or not allowed 2026-01-28 03:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ucle7510-7-5-10airover-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-1-4-hex-socket-adapter-x-2-ball-gunmetal-grey-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-28 03:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gauge-floor-stapler>: HTTP status code is not handled or not allowed 2026-01-28 03:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dounut-bumper-chrome-wire-shelving-1>: HTTP status code is not handled or not allowed 2026-01-28 03:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12v-max-reciprocating-saw-kit-w-1-2-0ah-battery>: HTTP status code is not handled or not allowed 2026-01-28 03:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s19274e-side-swing-eye-face-wash>: HTTP status code is not handled or not allowed 2026-01-28 03:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-caution-chock-wheels-before-loading-or-unloading>: HTTP status code is not handled or not allowed 2026-01-28 03:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-piece-nantucket-outdoor-patio-dining-set-with-umbrella-black>: HTTP status code is not handled or not allowed 2026-01-28 03:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-2-12-24-threaded-bit-x-1-3-16-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 03:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peapod-mini-8-10-locking-bike-shelter-14-8-l-x-7-5-w-10-bike-capacity-flat-roof>: HTTP status code is not handled or not allowed 2026-01-28 03:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gtek-maxiflex-plus-iii-nitrile-dotted-palm-fully-black-microfoam-xl>: HTTP status code is not handled or not allowed 2026-01-28 03:29:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-base-panel-with-desktop-baseline-raceway-power-24-w-x-38-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4100-bk-vertical-panel-channelizer-barricade-w-oversized-handle-black>: HTTP status code is not handled or not allowed 2026-01-28 03:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vuhm3538-5-5-hp-1735-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-precision-flat-washer-1-2-o-d-3-32-thick-steel-black-oxide-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 03:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-caution-do-not-operate-without-guards-place-2>: HTTP status code is not handled or not allowed 2026-01-28 03:29:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels landed on page that is not a product page. 2026-01-28 03:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-30w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 03:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-wwc2-3060-heavy-duty-cabinet-workbench-steel-top-center-shelf>: HTTP status code is not handled or not allowed 2026-01-28 03:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-11-flange-nut-1-1-16-hex-1-3-8-flange-dia-13-16-height-stainless-steel-cn-30ss>: HTTP status code is not handled or not allowed 2026-01-28 03:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refill-for-60-gallon-spillpack-spill-kit-oil-only-1462-rf>: HTTP status code is not handled or not allowed 2026-01-28 03:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-1-0-awg-1-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 03:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-4-awg-4-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 03:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52144 pages (at 102 pages/min), scraped 26669 items (at 68 items/min) 2026-01-28 03:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-14w-x-48l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 03:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-4-awg-2-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 03:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-4-awg-3-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 03:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk3000-structural-channel-pallet-rack-4-inch-x-96-inch-channel-beam>: HTTP status code is not handled or not allowed 2026-01-28 03:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-bg-boring-gimlet-for-5-8-r-cables-steel>: HTTP status code is not handled or not allowed 2026-01-28 03:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-2-tier-esd-30w-x-60l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 03:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machinist-jaw-round-channel-vise-with-swivel-base-6>: HTTP status code is not handled or not allowed 2026-01-28 03:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-36-production-workbench-birch-butcher-block-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-caution-bend-knees-while-li-ing>: HTTP status code is not handled or not allowed 2026-01-28 03:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-floor-crane-4l0014-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-heavy-duty-mobile-work-platform-24-x-60-platform>: HTTP status code is not handled or not allowed 2026-01-28 03:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rare-earth-tube-316-ss-1-x-6>: HTTP status code is not handled or not allowed 2026-01-28 03:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mg-2-express-lavatory-system-mg-series-w-sprayhead-w-infrared-control>: HTTP status code is not handled or not allowed 2026-01-28 03:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-your-cough-compliance-kit-8-3-8-w-x-4-7-16-d-x-10-h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/argo-fet-battery-isolators-100-3-three-batteries-100a-retail-packaging-blue-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 03:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-2-stage-dual-direct-ignitionintermittent-valve-34x34-standard-17-35-wc>: HTTP status code is not handled or not allowed 2026-01-28 03:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42811-satin-finishing-star-eyelet-3-aluminum-oxide-very-fine>: HTTP status code is not handled or not allowed 2026-01-28 03:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-w-vogue-classic-accessories-12-unit-1-parcel-locker-dark-bronze>: HTTP status code is not handled or not allowed 2026-01-28 03:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedpan-urinal-dispenser-9-1-4-w-x-6-15-16-d-x-3-7-16-h-transparent>: HTTP status code is not handled or not allowed 2026-01-28 03:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-federal-handicap-with-border-background-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 03:30:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-stock-curtain-package-w-hardware-24w-12w-24w-x-9h-white-clear-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-sided-stock-curtain-package-w-hardware-24w-12w-24w-12w-x-9h-white-clear-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pruning-hand-saw-with-orange-handle-and-hook-blade-13-inch>: HTTP status code is not handled or not allowed 2026-01-28 03:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiber-stripper-and-scissor-kit-set-3-piece>: HTTP status code is not handled or not allowed 2026-01-28 03:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/limb-and-wire-raiser-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:30:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 03:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-55-gal-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:30:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/parking_lot_stencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-non-electric-office-partition-panel-with-raceway-24-14-w-x-77-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-with-high-temp-adhesive-18-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 03:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-32-gal-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-pg-484-012-adj-adjustable-pallet-guard-48w-x-40d-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-office-partition-panel-with-partial-window-60-14-w-x-96-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:30:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/parking_lot_stencils landed on page that is not a product page. 2026-01-28 03:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-wizardft-mobile-audio-visual-presentation-lectern>: HTTP status code is not handled or not allowed 2026-01-28 03:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52239 pages (at 95 pages/min), scraped 26731 items (at 62 items/min) 2026-01-28 03:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handheld-cb-radio-3-w-x-1-1-2-d-x-12-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-prof-flip-chart-pad-570-25-x-30-white-2carton>: HTTP status code is not handled or not allowed 2026-01-28 03:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-5-8-bugle-square-drive-course-thread-type-17-point-deck-screws-18-8-stainless-steel-08267DQG188>: HTTP status code is not handled or not allowed 2026-01-28 03:31:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-6000-activator>: HTTP status code is not handled or not allowed 2026-01-28 03:31:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x1-2-3hd-pan-head-high-low-screws-0408HPP410>: HTTP status code is not handled or not allowed 2026-01-28 03:31:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/specialty_coatings_paint already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asb1088-lawn-and-garden-tire-assembly-size-15-x-600-6>: HTTP status code is not handled or not allowed 2026-01-28 03:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7400-series-340-voc-dtm-alkyd-enamel-high-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 03:31:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 03:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards>: HTTP status code is not handled or not allowed 2026-01-28 03:31:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-5600-syst-100-voc-acrylic-urethane-floor-paint-safety-yw>: HTTP status code is not handled or not allowed 2026-01-28 03:31:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/specialty_coatings_paint landed on page that is not a product page. 2026-01-28 03:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-203-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 03:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfortable-sleep-queen-10-foam-pocket-spring-mattress-2-gel-memory-foam-topper>: HTTP status code is not handled or not allowed 2026-01-28 03:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/punching-productivity-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:31:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 03:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-2-5mm-wide-11mm-id-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 03:31:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 03:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-circuit-breaker-lockout>: HTTP status code is not handled or not allowed 2026-01-28 03:31:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/btguwm-thermostat-guard-metal-ring-base-675-hx45-wx3563-d>: HTTP status code is not handled or not allowed 2026-01-28 03:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-twin-tufted-upholstered-platform-bed-black-with-memory-foam-mattress>: HTTP status code is not handled or not allowed 2026-01-28 03:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-do-not-start>: HTTP status code is not handled or not allowed 2026-01-28 03:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-electrical-panel-locked-out>: HTTP status code is not handled or not allowed 2026-01-28 03:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-destroyer-64-oz-bottle-mount-w-security-cable-pro-series-each>: HTTP status code is not handled or not allowed 2026-01-28 03:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x1-1-2-fillister-head-machine-screws-1424MSL>: HTTP status code is not handled or not allowed 2026-01-28 03:31:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lath-screw-8-x-1-truss-head-box-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:31:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 03:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-flex-type-hex-lock-nut-10NXL>: HTTP status code is not handled or not allowed 2026-01-28 03:31:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-high-pressure-fda-silicone-tubing-1id-x-1-38od-x-10-ft>: HTTP status code is not handled or not allowed 2026-01-28 03:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x1-fillister-head-machine-screws-1416MPL>: HTTP status code is not handled or not allowed 2026-01-28 03:31:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/mattresses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visa-marine-toilet-18-litre-msd-greydef319>: HTTP status code is not handled or not allowed 2026-01-28 03:31:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls landed on page that is not a product page. 2026-01-28 03:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-28 03:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-0-7x20-metric-flat-head-machine-screws-M420D965>: HTTP status code is not handled or not allowed 2026-01-28 03:31:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fg300-heavy-duty-base-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:31:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars landed on page that is not a product page. 2026-01-28 03:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-fuel-ventless-gas-fireplace-w-mantel-32000-btu-t-stat-apple-spice-dfs-400t-2as>: HTTP status code is not handled or not allowed 2026-01-28 03:31:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 03:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-push-single-supply-metering-faucet-s-5122>: HTTP status code is not handled or not allowed 2026-01-28 03:31:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 03:31:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/mattresses landed on page that is not a product page. 2026-01-28 03:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-4-11110-100-psikpa-14-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 03:31:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52318 pages (at 79 pages/min), scraped 26769 items (at 38 items/min) 2026-01-28 03:31:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 03:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cobra-lite-aluminum-hand-truck-double-handle-pneumatic-987040>: HTTP status code is not handled or not allowed 2026-01-28 03:31:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_cleaner_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/vacuum_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-lspp2b-y5x-ls-wick-b-eye-polo-yel-5x>: HTTP status code is not handled or not allowed 2026-01-28 03:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes>: HTTP status code is not handled or not allowed 2026-01-28 03:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kold-locker-outdoor-freezer-minus-10-degrees-f-with-floor-1-1-2hp-rh-door-72-inches-w-x-96-inches-d-x-91-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 03:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11112-30-psikgcm2-14-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 03:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grocery-paper-bags-5in-x-3-1-3in-x-9-3-4in-brown-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:32:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_cleaner_filters landed on page that is not a product page. 2026-01-28 03:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/vacuum_bags>: HTTP status code is not handled or not allowed 2026-01-28 03:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-danger-vinyl-hazardous-chemicals>: HTTP status code is not handled or not allowed 2026-01-28 03:32:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 03:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-tube-34-id-x-1-14-od-x-5l>: HTTP status code is not handled or not allowed 2026-01-28 03:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11112-160-psi-14-cbm-steel>: HTTP status code is not handled or not allowed 2026-01-28 03:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16x4-hex-tap-bolts-3764BHT>: HTTP status code is not handled or not allowed 2026-01-28 03:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-dual-monitor-desk-mount>: HTTP status code is not handled or not allowed 2026-01-28 03:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-push-bar-to-open>: HTTP status code is not handled or not allowed 2026-01-28 03:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6209zz-double-shielded-45mm-bore-85mm-od>: HTTP status code is not handled or not allowed 2026-01-28 03:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-fire-extinguisher-le-arrow>: HTTP status code is not handled or not allowed 2026-01-28 03:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-14308b-30w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 03:32:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/steel_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-twin-hoist-lift-beam-yellow-15000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:32:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-ship-m-series-short-emergency-crash-cart-w-four-drawers-36-3-4-inch-w-x-22-inch-l-x-37-1-4-inch-h-red>: HTTP status code is not handled or not allowed 2026-01-28 03:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-x-9-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-28 03:32:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:32:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/color_coding_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/steel_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 03:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs>: HTTP status code is not handled or not allowed 2026-01-28 03:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-standard-key-lock-brushed-silver>: HTTP status code is not handled or not allowed 2026-01-28 03:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-rod-rack-2>: HTTP status code is not handled or not allowed 2026-01-28 03:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs>: HTTP status code is not handled or not allowed 2026-01-28 03:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-waterproof-reversible-raincoat-ansi-class-3-300d-oxfordpu-coating-limeblack-l>: HTTP status code is not handled or not allowed 2026-01-28 03:32:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/color_coding_labels landed on page that is not a product page. 2026-01-28 03:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmps2710rc-fmpro-stainless-steel-27-wx20-dx66-1-8-h-10-drawer-chest-roller-cabinet-combo>: HTTP status code is not handled or not allowed 2026-01-28 03:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-w-mobile-bench-cabinet-4-drawers>: HTTP status code is not handled or not allowed 2026-01-28 03:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-soft-heat-brewer-docking-system-15g57l-black-no-fl>: HTTP status code is not handled or not allowed 2026-01-28 03:32:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/oscillating_multi_tools/rotary_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dino-lite-am7023ct-c-mount-adapter-5mp-1x>: HTTP status code is not handled or not allowed 2026-01-28 03:32:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/ceiling_fans/industrial_ceiling_beam_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-hydraulic-ergonomic-workbench-maple-top>: HTTP status code is not handled or not allowed 2026-01-28 03:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6217-open-85mm-bore-150mm-od>: HTTP status code is not handled or not allowed 2026-01-28 03:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octanet-safety-glasses-black-frame-blue-mirror-lens-15332>: HTTP status code is not handled or not allowed 2026-01-28 03:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52409 pages (at 91 pages/min), scraped 26823 items (at 54 items/min) 2026-01-28 03:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-x-14-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-28 03:32:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/oscillating_multi_tools/rotary_tools landed on page that is not a product page. 2026-01-28 03:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-900-half-finger-impact-gloves-black-s-17692>: HTTP status code is not handled or not allowed 2026-01-28 03:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5938-polyester-hoist-bucket-top-14938>: HTTP status code is not handled or not allowed 2026-01-28 03:33:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-feet-x-30-feet-sf-14-90-oz-water-resist-canvas-tarp-olive-drab>: HTTP status code is not handled or not allowed 2026-01-28 03:33:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/ceiling_fans/industrial_ceiling_beam_fans landed on page that is not a product page. 2026-01-28 03:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8377-type-r-class-3-quilted-bomber-jacket-lime-4xl-25628>: HTTP status code is not handled or not allowed 2026-01-28 03:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swf12guu-34-id-round-flange-type-linear-bearing-wresin-retainer-seals-steel>: HTTP status code is not handled or not allowed 2026-01-28 03:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8918bk-class-e-hi-vis-rain-overalls-lime-3xl-25017>: HTTP status code is not handled or not allowed 2026-01-28 03:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/autoshelter-10-feet-x-15-feet-instant-garage>: HTTP status code is not handled or not allowed 2026-01-28 03:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6032-open-160mm-bore-240mm-od>: HTTP status code is not handled or not allowed 2026-01-28 03:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-built-in-undercounter-auto-defrost-freezer-right-hinged-door>: HTTP status code is not handled or not allowed 2026-01-28 03:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6015-2rs-double-sealed-75mm-bore-115mm-od>: HTTP status code is not handled or not allowed 2026-01-28 03:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-2-shelf-container-rack-bk182452n-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 03:33:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 03:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-thermostat-range-135f-175f>: HTTP status code is not handled or not allowed 2026-01-28 03:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-rollout-limit-thermostats-spst-cut-in-300f>: HTTP status code is not handled or not allowed 2026-01-28 03:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronchoscope-drying-cabinet-wall-mount-key-lock-24-w-x-12-3-4-d-x-48-h-hammertone-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lib24blk-ladder-rack-inside-bend-fits-2400-steelblack>: HTTP status code is not handled or not allowed 2026-01-28 03:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-well-non-treated-plate-round-bottom-without-lid-individual-sterile-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 03:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vynckier-vj1210w-vj-12-inch-x-10-inch-non-metallic-enclosure-4-corner-screws>: HTTP status code is not handled or not allowed 2026-01-28 03:33:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/drum_barrel_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-deep-well-storage-plate-1-5ml-pp-square-well-round-bottom-non-sterile-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 03:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p508-adjustable-tripod-case-57l-x-12w-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-stand-578173>: HTTP status code is not handled or not allowed 2026-01-28 03:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stay-home-when-you-are-sick-poster-synthetic-paper>: HTTP status code is not handled or not allowed 2026-01-28 03:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suit-carrying-shipping-case-228-3010-32l-x-20w-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:33:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/drum_barrel_racks landed on page that is not a product page. 2026-01-28 03:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upv-174-double-sided-menu-board-24-w-x-36-h>: HTTP status code is not handled or not allowed 2026-01-28 03:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-right-hand-female-rod-end-bearing>: HTTP status code is not handled or not allowed 2026-01-28 03:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-please-wait-here-until-called-forward-8-round>: HTTP status code is not handled or not allowed 2026-01-28 03:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/please-wait-here-until-called-forward-12-round>: HTTP status code is not handled or not allowed 2026-01-28 03:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shippable-rugged-transit-case-929-carry-case-23l-x-18w-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-occupancy-sign-occupied-vacant-black>: HTTP status code is not handled or not allowed 2026-01-28 03:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161303-construction-style-harness-pass-through-tongue-buckle-2xl>: HTTP status code is not handled or not allowed 2026-01-28 03:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511-rotunda-graphics-case-trade-show-case-14l-x-14w-x-38h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s100x8-female-buttress-x-3-part-a-camlock-adapter>: HTTP status code is not handled or not allowed 2026-01-28 03:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-insert-for-soft-wood-flanged-900832-10>: HTTP status code is not handled or not allowed 2026-01-28 03:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-ht-double-column-med-storage-cabinet-keylock-40-1-10-wx29-1-4-dx40-3-4-h-teal>: HTTP status code is not handled or not allowed 2026-01-28 03:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permaseal-selftapping-concrete-screw-410-stainless-steel-pfh-316-x-134>: HTTP status code is not handled or not allowed 2026-01-28 03:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52502 pages (at 93 pages/min), scraped 26878 items (at 55 items/min) 2026-01-28 03:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/275-omni-telescoping-case-lined-with-1-2-foam-trade-show-case-44l-x-22w-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:33:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:33:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-grade-disposable-latex-gloves-powderfree-small-natural-4-mil-100-box>: HTTP status code is not handled or not allowed 2026-01-28 03:34:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-10-tapered-ultrasonic-insert-double-vane-dv-m60-th>: HTTP status code is not handled or not allowed 2026-01-28 03:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24h2408ss6lp-continuous-hinge-wclamps-type-4x-2400x2400x800in-ss-type-316l>: HTTP status code is not handled or not allowed 2026-01-28 03:34:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:34:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 03:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights>: HTTP status code is not handled or not allowed 2026-01-28 03:34:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:34:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/folding_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:34:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights>: HTTP status code is not handled or not allowed 2026-01-28 03:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-danger-starts-automatically>: HTTP status code is not handled or not allowed 2026-01-28 03:34:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 03:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k81-control-key-for-w81-cylinder-padlocks>: HTTP status code is not handled or not allowed 2026-01-28 03:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports>: HTTP status code is not handled or not allowed 2026-01-28 03:34:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/folding_tables landed on page that is not a product page. 2026-01-28 03:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports>: HTTP status code is not handled or not allowed 2026-01-28 03:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cp556018-concepthmi-encl-wblack-trim-type-4-555x600x180mm>: HTTP status code is not handled or not allowed 2026-01-28 03:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-heavy-duty-14-ga-double-tier-locker-6-compartments-72-w-x-24-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-surface-mounted-corner-guard-135-degrees-corner-1-1-2-inch-wings-4-ft-h-sage-grn-drilled>: HTTP status code is not handled or not allowed 2026-01-28 03:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-grill-cover-for-64-inch-grills>: HTTP status code is not handled or not allowed 2026-01-28 03:34:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/door_wall_guards/corner_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-marina-resin-dining-arm-chair-teak-brown>: HTTP status code is not handled or not allowed 2026-01-28 03:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vrtcl-concrete-pressure-tong-w-grip-teeth-1100-lbs-cap-1-3-16-6-5-16-grip-range>: HTTP status code is not handled or not allowed 2026-01-28 03:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-surface-mounted-corner-guard-90-degrees-corner-1-1-2-inch-wings-8-ft-height-taupe-undrilled>: HTTP status code is not handled or not allowed 2026-01-28 03:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starpoint-hoist-ring-0-pivot-15-430-lb-load-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:34:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/takeout_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beam-seating-2-cool-gray-seats>: HTTP status code is not handled or not allowed 2026-01-28 03:34:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/door_wall_guards/corner_guards landed on page that is not a product page. 2026-01-28 03:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secure-top-heavy-duty-badge-holders-horizontal-4-x-3-clear-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-vinyl-biohazard-eating-drinking-smoking-prohibited>: HTTP status code is not handled or not allowed 2026-01-28 03:34:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:34:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-black-no-a1106blk>: HTTP status code is not handled or not allowed 2026-01-28 03:34:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/takeout_containers landed on page that is not a product page. 2026-01-28 03:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-577-dn9-coupling-w-valve-2-17-25-l>: HTTP status code is not handled or not allowed 2026-01-28 03:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-position-2in-tubular-shank-adjustable-ball-mount-1803093>: HTTP status code is not handled or not allowed 2026-01-28 03:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 03:34:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 03:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-conduit-emt-clamp-p1426eg-electro-galvanized-12>: HTTP status code is not handled or not allowed 2026-01-28 03:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52587 pages (at 85 pages/min), scraped 26931 items (at 53 items/min) 2026-01-28 03:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tradesman-chest-steel-36-l-x-20-w>: HTTP status code is not handled or not allowed 2026-01-28 03:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sitevault-chest-steel-36-l-x-20-w>: HTTP status code is not handled or not allowed 2026-01-28 03:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x24x60-2>: HTTP status code is not handled or not allowed 2026-01-28 03:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-4-hole-90-fitting-p1359eg-electro-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 03:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-channel-nut-p1007egs-electro-galvanized-516-18>: HTTP status code is not handled or not allowed 2026-01-28 03:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-light-12-flush-mount-large-alabaster-mushroom-textured-white>: HTTP status code is not handled or not allowed 2026-01-28 03:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-1-thick-x-2-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 03:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-1-thick-x-1-14-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 03:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-b-60-80-z-pallet-trucks-hy-2039298-xl-a-sg>: HTTP status code is not handled or not allowed 2026-01-28 03:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-way-die-cast-zinc-trailer-connector-trailer-side-tc2002>: HTTP status code is not handled or not allowed 2026-01-28 03:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-25-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-100-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-disconnect-switch-for-mpb045vg-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 03:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9ft-x-4ft-wire-mesh-pallet-rack-guard>: HTTP status code is not handled or not allowed 2026-01-28 03:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-coat-royal-blue-nomexaramid-xs>: HTTP status code is not handled or not allowed 2026-01-28 03:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17in-red-buffing-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-28 03:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/incourage-153-spring-powered-antimicrobial-stapler-20-sheet-cap-pink-white-10-case>: HTTP status code is not handled or not allowed 2026-01-28 03:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-st-3000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 03:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-staples-1-2-12mm-5000-pack-20-case>: HTTP status code is not handled or not allowed 2026-01-28 03:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combination-lock-wrap-around-latch-technology-blue-dial>: HTTP status code is not handled or not allowed 2026-01-28 03:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-pop-up-pool-plus-150-gallon>: HTTP status code is not handled or not allowed 2026-01-28 03:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-glue-gel-precision-applicator-014-oz>: HTTP status code is not handled or not allowed 2026-01-28 03:35:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-security-combination-padlock-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-staples-1-2-12mm-1000-pack-100-case>: HTTP status code is not handled or not allowed 2026-01-28 03:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-wrt-60-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 03:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-1-12-20-18>: HTTP status code is not handled or not allowed 2026-01-28 03:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-28 03:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-pc-vertical-holder-clear-25pack>: HTTP status code is not handled or not allowed 2026-01-28 03:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pitcher-64oz-clear>: HTTP status code is not handled or not allowed 2026-01-28 03:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-b-60-80-z-pallet-trucks-hy-2047714-sg>: HTTP status code is not handled or not allowed 2026-01-28 03:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-2-12-10-22>: HTTP status code is not handled or not allowed 2026-01-28 03:35:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_balls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-mesh-desktop-organizer-with-5-drawers-black>: HTTP status code is not handled or not allowed 2026-01-28 03:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-11-standard-capacity-xl11-pleated-panel-ext-surface-20-inch-w-x-24-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 03:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kl-lever-hoists-1650-lb-capacity-5-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 03:35:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-14-thick-x-38-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 03:35:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-13-high-capacity-extended-surface-multi-pleat-green-16-inch-w-x-25-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 03:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tandem-load-wheel-for-sp-3000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 03:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-111-112-8300-8400-8500-pallet-trucks-ra-632-421-a>: HTTP status code is not handled or not allowed 2026-01-28 03:35:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 03:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-push-trolley-2-10-1425>: HTTP status code is not handled or not allowed 2026-01-28 03:35:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/black_epoxy_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-tier-storage-shelves-42l-x-18w-x-72h-chrome>: HTTP status code is not handled or not allowed 2026-01-28 03:35:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-sheet-18-thick-x-48-wide-x-96-long>: HTTP status code is not handled or not allowed 2026-01-28 03:35:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/chrome_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:35:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52676 pages (at 89 pages/min), scraped 26977 items (at 46 items/min) 2026-01-28 03:35:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_balls landed on page that is not a product page. 2026-01-28 03:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-18-inch-w-x-25-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 03:35:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-motor-trolley-1-12-15-18>: HTTP status code is not handled or not allowed 2026-01-28 03:36:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18w-led-smart-light-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 03:36:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/wire_shelving/chrome_wire_shelves>: HTTP status code is not handled or not allowed 2026-01-28 03:36:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 03:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drawer-rack-system-1-l-4-s-boxes-11-l-x-7-1-4-w-x-10-h-red-silver>: HTTP status code is not handled or not allowed 2026-01-28 03:36:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/black_epoxy_wire_shelves landed on page that is not a product page. 2026-01-28 03:36:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-push-trolley-1-10-14>: HTTP status code is not handled or not allowed 2026-01-28 03:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:36:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cobbler-apron-navy-polyestercotton-l>: HTTP status code is not handled or not allowed 2026-01-28 03:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/119-series-forklift-tire-chains-pair-1193055>: HTTP status code is not handled or not allowed 2026-01-28 03:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxtrac-snow-blower-garden-tractor-tire-chains-4-link-spacing-pair-1063155>: HTTP status code is not handled or not allowed 2026-01-28 03:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baggy-chef-pants-black-white-check-polyestercotton-s>: HTTP status code is not handled or not allowed 2026-01-28 03:36:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-specimen-container-4-oz-red-screwcap-frosted-writing-area-polypropylene-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:36:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:22 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 03:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-77-4-h-shelf-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 03:36:23 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:27 2026-01-28 03:36:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/storage_totes_tubs/storage_totes_with_lids already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cook-pants-unhemmed-black-white-check-polyestercotton-twill-34-x-36>: HTTP status code is not handled or not allowed 2026-01-28 03:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-burner-raised-four-burner-2-front-burners-2-back-burners>: HTTP status code is not handled or not allowed 2026-01-28 03:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-for-pth-50-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 03:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extended-range-360-sensor-ceiling-mount-dual-technology-pdt>: HTTP status code is not handled or not allowed 2026-01-28 03:36:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/storage_totes_tubs/storage_totes_with_lids>: HTTP status code is not handled or not allowed 2026-01-28 03:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-30-breakroom-table-black>: HTTP status code is not handled or not allowed 2026-01-28 03:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/center-drawer-in-dark-cherry-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 03:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-pedestal-bottle-filling-station-filter-black>: HTTP status code is not handled or not allowed 2026-01-28 03:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x39-steel-shelving-with-20-6-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 03:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-flex-3-black-steel-toe-pvc-size-6>: HTTP status code is not handled or not allowed 2026-01-28 03:36:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 03:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-2-12-thick-x-2-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 03:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-pe-4500-pallet-trucks-cr-083179-201-a>: HTTP status code is not handled or not allowed 2026-01-28 03:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-rubber-strip-no-adhesive-50a-18-thick-x-3-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 03:36:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-button-front-chef-coat-thermometer-pocket-pearl-buttons-white-polycotton-s>: HTTP status code is not handled or not allowed 2026-01-28 03:36:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/guest_reception_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-56-6-chest-wader-black-steel-toe-w-cleated-outsole-pvc-size-6>: HTTP status code is not handled or not allowed 2026-01-28 03:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-inch-light-bar-for-f-pickup-truck-drill-free-cab-mount>: HTTP status code is not handled or not allowed 2026-01-28 03:36:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/snow_blowers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-grinders-buffer-248-151td-28l-2p-grndr-pivotal-spec-35g400w811>: HTTP status code is not handled or not allowed 2026-01-28 03:36:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52759 pages (at 83 pages/min), scraped 27021 items (at 44 items/min) 2026-01-28 03:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sitex-hunter-green-3-piece-suit-pvc-size-4x>: HTTP status code is not handled or not allowed 2026-01-28 03:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-12-thick-x-1-14-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 03:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/guest_reception_chairs>: HTTP status code is not handled or not allowed 2026-01-28 03:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-dc-control-bc141-sih-dc-scr-control-115v-1-100-15-hp-chassis>: HTTP status code is not handled or not allowed 2026-01-28 03:36:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/luggage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-truck-with-30-4-h-shelf-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-28 03:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-plastic-bar-w-lse-acrylic-adhesive-14-thick-x-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 03:37:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/snow_blowers landed on page that is not a product page. 2026-01-28 03:37:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear landed on page that is not a product page. 2026-01-28 03:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sitex-orange-3-piece-suit-pvc-size-large>: HTTP status code is not handled or not allowed 2026-01-28 03:37:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:37:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/luggage_racks landed on page that is not a product page. 2026-01-28 03:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-grille-30-cd-premium-fans>: HTTP status code is not handled or not allowed 2026-01-28 03:37:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-register-stand-wadj-rear-storage-72w-x-22d-x-42h-maple>: HTTP status code is not handled or not allowed 2026-01-28 03:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-38-thick-x-2-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 03:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lanyard-connector-adapter-18-inches-d-ring-505318>: HTTP status code is not handled or not allowed 2026-01-28 03:37:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-w-lse-acrylic-adhesive-116-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 03:37:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:37:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-chuck-key-48-66-3280>: HTTP status code is not handled or not allowed 2026-01-28 03:37:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:37:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/recycling_bins_receptacles/recycling_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-contractor-bag-48-55-3490>: HTTP status code is not handled or not allowed 2026-01-28 03:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fas-trac-ratchet-replacement-4-point-suspension-10153385>: HTTP status code is not handled or not allowed 2026-01-28 03:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulkhorn-folding-bulk-shipping-container-48x40x46-1800-lbs-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 03:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louvered-wall-panel-without-bins-36x19-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 03:37:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/recycling_bins_receptacles/recycling_trucks landed on page that is not a product page. 2026-01-28 03:37:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 03:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-tuffy-garage-shop-utility-cart-with-cabinet-250-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 03:37:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/duct_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-back-draft-damper>: HTTP status code is not handled or not allowed 2026-01-28 03:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-manual-serological-pipette-controller-red>: HTTP status code is not handled or not allowed 2026-01-28 03:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-full-brim-with-accessory-slots-and-4-point-slide-lock-suspension-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:37:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/shoe_covers_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-with-window-48-1-4w-x-61-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-panel-portable-bin-cart-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:37:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/duct_fans landed on page that is not a product page. 2026-01-28 03:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-vertical-hanger-bar-portable-bin-cart-black>: HTTP status code is not handled or not allowed 2026-01-28 03:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-vented-full-brim-with-4-point-slide-lock-suspension-hi-viz-lime>: HTTP status code is not handled or not allowed 2026-01-28 03:37:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/shoe_covers_guards landed on page that is not a product page. 2026-01-28 03:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-flat-shelf-portable-bin-cart-putty>: HTTP status code is not handled or not allowed 2026-01-28 03:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-full-height-36-w-cabinet-avalanche-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 03:37:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-emergency-disaster-kit>: HTTP status code is not handled or not allowed 2026-01-28 03:37:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-230ml-extra-long-300mm-12-inches-long-sterile-polypropylenes-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52847 pages (at 88 pages/min), scraped 27070 items (at 49 items/min) 2026-01-28 03:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-dial-liquid-filled-1-4-inch-bottom-0-60psi>: HTTP status code is not handled or not allowed 2026-01-28 03:38:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-newall-dp700-3x-q-dro-x-powerfeed already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-high-post-chrome-leveler-post-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:38:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:38:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 03:38:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=e-1236vs-with-taper-attachment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear>: HTTP status code is not handled or not allowed 2026-01-28 03:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1640zx-with-acu-rite-203-dro-with-taper-attachment-and-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 03:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/149643-toughstripe-max-floor-marking-tape-vinyl-4-inch-wide-100-feet-long-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-refrigerator-33-38f-72-38w-30-18d-tuc-72-ada>: HTTP status code is not handled or not allowed 2026-01-28 03:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1440vs-with-taper-attachment>: HTTP status code is not handled or not allowed 2026-01-28 03:38:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-newall-dp700-3x-q-dro-x-powerfeed landed on page that is not a product page. 2026-01-28 03:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/149629-toughstripe-max-floor-marking-tape-vinyl-2-inch-wide-100-feet-long-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:38:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=e-1440vs-with-acu-rite-203-dro-with-taper-attachment-and-collet-closer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:38:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 03:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-holder-disk-for-use-with-gtr-id-series-tube-rotators-8-place-disk-for-50ml-centrifuge-tubes>: HTTP status code is not handled or not allowed 2026-01-28 03:38:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-newall-dp700-dro-x-powerfeed-air-power-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:38:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=e-1236vs-with-taper-attachment landed on page that is not a product page. 2026-01-28 03:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-50ml-blood-bank-graduated-to-2ml-155mm-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-drawer-counter-high-24-w-cabinet-everest-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 03:38:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=e-1440vs-with-acu-rite-203-dro-with-taper-attachment-and-collet-closer landed on page that is not a product page. 2026-01-28 03:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-truva-42-resin-round-dining-table-white>: HTTP status code is not handled or not allowed 2026-01-28 03:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-newall-dp700-dro-x-powerfeed-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 03:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-steel-compartment-box-rack-bearing-20-x-15-3-4-x-15-with-4-of-32-compartment-boxes>: HTTP status code is not handled or not allowed 2026-01-28 03:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-20mm-half-size-20-place-nylon-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-ridge-ergonomics-task-stool-with-chrome-foot-ring-marine-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inch-to-5-8-inch-barbed-reduction-y-connector-natural-kynar>: HTTP status code is not handled or not allowed 2026-01-28 03:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-x-3-8-barbed-reduction-tee-glass-filled-black-nylon>: HTTP status code is not handled or not allowed 2026-01-28 03:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-16-barbed-equal-tee-natural-nylon>: HTTP status code is not handled or not allowed 2026-01-28 03:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-totally-enclosed-dry-environment-duct-fan-3-phase-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 03:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwikool-portable-water-cooled-air-conditioner-kwib1411-1-point-1-ton-13850-btu>: HTTP status code is not handled or not allowed 2026-01-28 03:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-full-brim-hard-hat-non-vented-4-pt-ratchet-suspension-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-mobile-dunnage-rack-36x20x8>: HTTP status code is not handled or not allowed 2026-01-28 03:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-3-axis-acu-rite-203-quill-dro-x-axis-jet-powerfeed-usa-pwrd-draw-bar>: HTTP status code is not handled or not allowed 2026-01-28 03:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-ratcheting-headgear-for-ch-300ch-400v-series-climbing-style-hard-hat>: HTTP status code is not handled or not allowed 2026-01-28 03:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/string-knit-gloves-ladies-1-dozen>: HTTP status code is not handled or not allowed 2026-01-28 03:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-sheets-18-x-18>: HTTP status code is not handled or not allowed 2026-01-28 03:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcd-digital-clinical-centrifuge-6-x-15-15ml-rotor-110-220v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-28 03:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-16mm-half-size-36-place-nylon-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-2-axis-acu-rite-303-dro-and-x-y-axis-jet-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 03:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-1012-series-hardboard-over-stainless-60-w-x-30-d-black>: HTTP status code is not handled or not allowed 2026-01-28 03:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evs-949-mill-2-axis-acu-rite-203-dro-x-y-axis-jet-powerfeeds-usa-powered-draw-bar>: HTTP status code is not handled or not allowed 2026-01-28 03:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-4000-series-esd-square-edge-60-w-x-30-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-8x30-green>: HTTP status code is not handled or not allowed 2026-01-28 03:38:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/head_face_protection/hard_hats_helmets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-4000-series-plastic-laminate-w-t-molding-72-w-x-36-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:38:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-newall-dp700-quill-dro-x-y-z-axis-jet-pwrfds-usa-p-drw-br already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:38:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/serving_bowls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-24-mobile-plastic-square-lab-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camrack-glass-rack-low-profile-36-compartments-11-inch-max-height-soft-gray-nsf>: HTTP status code is not handled or not allowed 2026-01-28 03:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rv-pette-dispenser-tip-for-repeat-volume-pipettors-5ml-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 52935 pages (at 88 pages/min), scraped 27115 items (at 45 items/min) 2026-01-28 03:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4251-95-3x2-inch-cast-iron-heavy-duty-straight-centrifugal-pump-buna-n-seal-15hp-215jm-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 03:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-stand-reinforced-polypropylene-25mm-18-place-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:38:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/head_face_protection/hard_hats_helmets landed on page that is not a product page. 2026-01-28 03:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-square-mailing-tubes-3-x-3-x-12->: HTTP status code is not handled or not allowed 2026-01-28 03:38:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-newall-dp700-quill-dro-x-y-z-axis-jet-pwrfds-usa-p-drw-br landed on page that is not a product page. 2026-01-28 03:39:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/serving_bowls landed on page that is not a product page. 2026-01-28 03:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-ton-ironworker-3-phase-230-volt-powerlink-coper-notcher>: HTTP status code is not handled or not allowed 2026-01-28 03:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1850-sm-4-9-53mm-x-15-9mm-double-cut-pointed-cone-bur>: HTTP status code is not handled or not allowed 2026-01-28 03:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-5-12-70mm-x-25-4mm-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-28 03:39:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/job_site_security_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-with-lower-shelf-30-x-48-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 03:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-heavy-duty-4-x-72>: HTTP status code is not handled or not allowed 2026-01-28 03:39:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/food_beverage_preparation_appliances/food_processors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-aluminum-rolling-ladder-16w-ribbed-tread-28d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 03:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-inner-boxes-36-x-36-x-40>: HTTP status code is not handled or not allowed 2026-01-28 03:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-standard-vertical-chart-rack-43-3-4h-20-capacity-beige>: HTTP status code is not handled or not allowed 2026-01-28 03:39:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/job_site_security_trucks landed on page that is not a product page. 2026-01-28 03:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/146xl050-standard-timing-belt-xl-1-2-x-14-5-8-t73-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 03:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/food_beverage_preparation_appliances/food_processors>: HTTP status code is not handled or not allowed 2026-01-28 03:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-aluminum-rolling-ladder-16w-grip-tread-21d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 03:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-60-mat-ultimat-dark-blue-um-3060db>: HTTP status code is not handled or not allowed 2026-01-28 03:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/180xl100-standard-timing-belt-xl-1-x-18-t90-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 03:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-strapping-3600-ft-tensile-strength-600-lbs>: HTTP status code is not handled or not allowed 2026-01-28 03:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-2-pack-injectors>: HTTP status code is not handled or not allowed 2026-01-28 03:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-cross-over-ladder-66-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 03:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-glass-mirror>: HTTP status code is not handled or not allowed 2026-01-28 03:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-universal-power-start-relay-112-12-hp>: HTTP status code is not handled or not allowed 2026-01-28 03:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-stair-climbing-hand-truck-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/330l050-standard-timing-belt-l-1-2-x-33-t88-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 03:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statshield-metal-in-bag-14in-x-16in-100-bagspack>: HTTP status code is not handled or not allowed 2026-01-28 03:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/92mxl025-standard-timing-belt-mxl-1-4-x-9-3-16-t115-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 03:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cf150-mag150hand-float-wwood-handle-16-x-312>: HTTP status code is not handled or not allowed 2026-01-28 03:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teller-pedestal-cabinet-s-203l-a-1-drawer-left-hinged-door-19w-x-19d-x-38-1-2h-champagne>: HTTP status code is not handled or not allowed 2026-01-28 03:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rug-ram-carpet-pole-fork-mounted-120-l-1>: HTTP status code is not handled or not allowed 2026-01-28 03:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/412l075-standard-timing-belt-l-3-4-x-41-3-16-t110-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 03:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-vanguard-executive-locker-24x18x72-with-legs-assembled-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 03:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-vanguard-1-tier-locker-12x12x13-5-8-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arc-welding-bench-w-see-thru-sides-center-drawer-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-nesting-bins-10-1-4-l-x-7-1-2-w-x-6-h-white>: HTTP status code is not handled or not allowed 2026-01-28 03:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pharmacy-solid-door-5-2-cu-ft-refrigeratorsolid-door-4-cu-ft-capacity-freezer-40>: HTTP status code is not handled or not allowed 2026-01-28 03:39:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tork-3-roll-bath-tissue-roll-dispenser-for-opticore-565828>: HTTP status code is not handled or not allowed 2026-01-28 03:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-with-screwcap-wide-mouth-round-graduated-ldpe-cap-polypropylene-1000ml-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-weld-screen-5-5-x-20-semi-orange-weld-shade>: HTTP status code is not handled or not allowed 2026-01-28 03:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-top-model-food-bar-33x63-hot-red>: HTTP status code is not handled or not allowed 2026-01-28 03:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53036 pages (at 101 pages/min), scraped 27174 items (at 59 items/min) 2026-01-28 03:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-security-shelving-unit-2-e-z-adjust-shelves-36w-x-18-x-66h>: HTTP status code is not handled or not allowed 2026-01-28 03:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ex310nist-multimeter-wncv-redblack-nist-certified>: HTTP status code is not handled or not allowed 2026-01-28 03:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-stainless-steel-coat-hook-silver>: HTTP status code is not handled or not allowed 2026-01-28 03:40:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories landed on page that is not a product page. 2026-01-28 03:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-rivet-angle-beam-69-w-x-1-d-x-2-3-4-h-14-gauge>: HTTP status code is not handled or not allowed 2026-01-28 03:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kac-111nwi-10-24-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-bollard-post-sleeve-3-hdpe-dome-top-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-caddies-beige-100-lbs-cap-2>: HTTP status code is not handled or not allowed 2026-01-28 03:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-caddies-black-125-lbs-cap-2-swivel-2-locking>: HTTP status code is not handled or not allowed 2026-01-28 03:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbon-dioxide-gas-cylinder-1013-5-bal-n2-103l-j>: HTTP status code is not handled or not allowed 2026-01-28 03:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/funnel-analytical-polypropylene-65mm-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nitrogen-gas-cylinder-1066-99999-pure-17l-p>: HTTP status code is not handled or not allowed 2026-01-28 03:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-square-drive-size-impact-wrench-1200-ft-lbs-maxtorque>: HTTP status code is not handled or not allowed 2026-01-28 03:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-pc-front-exhaust-angle-air-die-grinder-kit-1-4-inch-collet-21000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-exhaust-angle-die-grinder-4-1-2-inch-wheel-9000-rpm-1-hp>: HTTP status code is not handled or not allowed 2026-01-28 03:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-explosion-proof-fan-forced-heater-25600-btu>: HTTP status code is not handled or not allowed 2026-01-28 03:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-dream-folding-outdoor-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 03:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-holder-for-72-long-station-heavy-gauge-formed-steel-pre-drilled-for-es12>: HTTP status code is not handled or not allowed 2026-01-28 03:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-with-handle-polypropylene-molded-graduations-2000ml-36-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs25hx25-metric-34-pitch-25mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3420-squids-174-swiveling-glove-clip-holder-dual-clips-black>: HTTP status code is not handled or not allowed 2026-01-28 03:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs25hx35-metric-34-pitch-35mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bag-taper-for-3-8-w-tape>: HTTP status code is not handled or not allowed 2026-01-28 03:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/02ml-96-well-pcr-plate-full-skirt-clear-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boost-max-24v-3000a-jump-starter>: HTTP status code is not handled or not allowed 2026-01-28 03:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-roll-with-dispenser-24-x-50-x-1-2>: HTTP status code is not handled or not allowed 2026-01-28 03:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-mattress-2-inch-thick-compact-size-fits-12-series-compact-cribs>: HTTP status code is not handled or not allowed 2026-01-28 03:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-ge-21-29-frame-replacement-motor-115-208-230-volts-1550-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:40:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-120sf12h-qd-bushed-1-12-pitch-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-46-x-36-x-72-3-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bulb-battery-filler>: HTTP status code is not handled or not allowed 2026-01-28 03:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-hydraulic-foot-pump>: HTTP status code is not handled or not allowed 2026-01-28 03:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors>: HTTP status code is not handled or not allowed 2026-01-28 03:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-hand-free-door-opener-foot-operated-2-openers>: HTTP status code is not handled or not allowed 2026-01-28 03:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/six-tier-6-door-premium-steel-locker-12-w-x-12-d-x-12-h-light-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 03:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibdg-436vs-variable-speed-bench-4-inch-x-36-inch-belt-9-inch-disc-sander>: HTTP status code is not handled or not allowed 2026-01-28 03:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-4-4-fluorescent-red-rectangle>: HTTP status code is not handled or not allowed 2026-01-28 03:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53135 pages (at 99 pages/min), scraped 27236 items (at 62 items/min) 2026-01-28 03:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-chrome-18w-x-42l-x-63h-4-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-28 03:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/six-tier-6-door-premium-steel-locker-12-w-x-15-d-x-12-h-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 03:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs14hx118-1-pitch-1-18-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:41:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_accessories/trash_can_lids_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-chrome-24w-x-36l-x-34h-3-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-28 03:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-reflective-plastic-barrier-chain-2-x-100-ft-silver>: HTTP status code is not handled or not allowed 2026-01-28 03:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-red-3-5>: HTTP status code is not handled or not allowed 2026-01-28 03:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-chrome-21w-x-30l-x-63h-4-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-28 03:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-ansi-multi-color-short-sleeve-safety-t-shirt-with-black-bottom-blue-xl>: HTTP status code is not handled or not allowed 2026-01-28 03:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_accessories/trash_can_lids_dollies>: HTTP status code is not handled or not allowed 2026-01-28 03:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-lined-poly-mailers-2-8-1-2-x-12-white-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs25hx19-metric-58-pitch-19mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-3hp-motor-tpi-fixed-24-30-high-performance-fans>: HTTP status code is not handled or not allowed 2026-01-28 03:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-tip-out-bin-unit-double-sided-24-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 03:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-140btl19-1-34-pitch-taper-bushed-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mantis-1x2-commercial-fly-light-black-3-case>: HTTP status code is not handled or not allowed 2026-01-28 03:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/defrost-kit-18-5-gal-white>: HTTP status code is not handled or not allowed 2026-01-28 03:41:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs27hx118-34-pitch-1-18-finished-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:41:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/rugs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-inward-swing-partition-door-23-3-5in-w-x-58in-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:41:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_hoses_connectors/pneumatic_hoses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs36x2-1-14-pitch-2-finished-bore-36-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exq-4-drawer-2-shelf-pro-side-cabinet-24-w-x-30-d-x-h-63-3-8-blue-w-black-handles>: HTTP status code is not handled or not allowed 2026-01-28 03:41:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables landed on page that is not a product page. 2026-01-28 03:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-fuel-system-tester-mv5545>: HTTP status code is not handled or not allowed 2026-01-28 03:41:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/crackers_chips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/decor_linens/rugs>: HTTP status code is not handled or not allowed 2026-01-28 03:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-box-brahma-replacement-part-for-dg250-dg400>: HTTP status code is not handled or not allowed 2026-01-28 03:41:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_hoses_connectors/pneumatic_hoses landed on page that is not a product page. 2026-01-28 03:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-desk-tablet-charging-station-for-8-devices-beige>: HTTP status code is not handled or not allowed 2026-01-28 03:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bai-water-sunset-variety-pack-18-fl-oz-15-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 03:41:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/crackers_chips landed on page that is not a product page. 2026-01-28 03:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-stationary-medical-privacy-screen-81-w-x-69-h-beige-vinyl-panels>: HTTP status code is not handled or not allowed 2026-01-28 03:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-xr-brushless-orbital-sander-jig-saw-and-multi-tool-3-tool-woodworking-kit-dck300p1>: HTTP status code is not handled or not allowed 2026-01-28 03:41:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-6127-1-3-hp-1-phase-1625-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-xr-brushless-cordless-3-speed-oscillating-multi-tool-bare-tool-only-dcs356b>: HTTP status code is not handled or not allowed 2026-01-28 03:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53227 pages (at 92 pages/min), scraped 27297 items (at 61 items/min) 2026-01-28 03:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deck-mount-swing-activated-faucet-eyewash-unit-tempered-faucet-left-hand>: HTTP status code is not handled or not allowed 2026-01-28 03:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-greenspec-high-efficiency-cooler-stainless-vr-bubbler-115v-4-5-amps>: HTTP status code is not handled or not allowed 2026-01-28 03:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-eh491-1-2-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-pro-industrial-led-high-bay-12-000-lumens-120v-277v-5000k-white>: HTTP status code is not handled or not allowed 2026-01-28 03:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-platform-add-on-36x66>: HTTP status code is not handled or not allowed 2026-01-28 03:42:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-6127-1-3-hp-1-phase-1625-rpm landed on page that is not a product page. 2026-01-28 03:42:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/residential_decorative_lighting/recessed_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-shelving-drawer-unit-36x12x75-36-drawers-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d32c2j149-1-1-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-erlenmeyer-globe-glass-wide-mouth-dual-graduations-astm-e1404-1000ml-6-box>: HTTP status code is not handled or not allowed 2026-01-28 03:42:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-ee511b-1-hp-3-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ee515-3-4-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/residential_decorative_lighting/recessed_lighting>: HTTP status code is not handled or not allowed 2026-01-28 03:42:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-ee734-3-hp-3-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn37-40-1-h-143tc-cast-iron-helical-bevel-speed-reducer-143-5tc-input-flange-40-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 03:42:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-uj5c2k21p-5-hp-1-phase-1730-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chair-mat-for-medium-pile-carpet-36-inch-x-48-inch-pewter>: HTTP status code is not handled or not allowed 2026-01-28 03:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u10p2d-10-hp-3-phase-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-s7p2d-7-5-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-ee734-3-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-ee511b-1-hp-3-phase-3450-rpm landed on page that is not a product page. 2026-01-28 03:42:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-uj5c2k21p-5-hp-1-phase-1730-rpm landed on page that is not a product page. 2026-01-28 03:42:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lau-3-blade-condenser-propeller-10-diameter-cw-rotation>: HTTP status code is not handled or not allowed 2026-01-28 03:42:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:42:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-fd13cm2p-1-3-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-c3p1bc-3-hp-3-phase-3540-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-heavy-duty-plastic-chain-100-feet-safety-green>: HTTP status code is not handled or not allowed 2026-01-28 03:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-9x12-6-mil-500-ctn>: HTTP status code is not handled or not allowed 2026-01-28 03:42:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 03:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves>: HTTP status code is not handled or not allowed 2026-01-28 03:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-c32p2bc-1-5-hp-3-phase-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-pink-antistatic-bags-6x8-4-mil-1000-ctn>: HTTP status code is not handled or not allowed 2026-01-28 03:42:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 03:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d2p3d-2-hp-3-phase-1175-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-poly-bags-13x20-1-mil-1000-ctn>: HTTP status code is not handled or not allowed 2026-01-28 03:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lanyard-do-it-yourself-kit-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 03:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-yc7p2b-7-5-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-c350p2c-350-hp-3-phase-1785-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-fd12sa2d-1-2-hp-3-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-6796-3-4-1-4-hp-1-phase-1725-1140-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan47-7-5-1-h-143-5tc-cast-iron-helical-bevel-speed-reducer-143-5tc-input-flange-7-5-1>: HTTP status code is not handled or not allowed 2026-01-28 03:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-5465-1-2-1-5-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan87-10-1-h-184tc-cast-iron-helical-bevel-speed-reducer-184tc-input-flange-10-1>: HTTP status code is not handled or not allowed 2026-01-28 03:42:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-c350p2c-350-hp-3-phase-1785-rpm landed on page that is not a product page. 2026-01-28 03:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-machine-caster-rigid-3-dia-1000-cap-lbs-glass-filled-nylon>: HTTP status code is not handled or not allowed 2026-01-28 03:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53317 pages (at 90 pages/min), scraped 27349 items (at 52 items/min) 2026-01-28 03:42:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-6796-3-4-1-4-hp-1-phase-1725-1140-rpm landed on page that is not a product page. 2026-01-28 03:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camtainer-beverage-carrier-insulated-11-3-4-gallon-20-3-4x16-1-4x24-3-4-coffee-beige>: HTTP status code is not handled or not allowed 2026-01-28 03:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-composite-cable-with-drum-assembly-3-4-x-100-for-670441>: HTTP status code is not handled or not allowed 2026-01-28 03:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-three-tier-1-wide-12-x-15-x-20-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/king-pin-carousel-48-x-48-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-counter-blue-panel-l-shaped-reception-station-2>: HTTP status code is not handled or not allowed 2026-01-28 03:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-mixed-recyclables-waste-30-gallon-western-breeze-27-15-30>: HTTP status code is not handled or not allowed 2026-01-28 03:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-receptacle-recyclables-waste-45-gallon-black-blue-23-23-37-1-2>: HTTP status code is not handled or not allowed 2026-01-28 03:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s0300-safety-spectacle-adjustable-temple-side-shields-anti-scratch-black-clear>: HTTP status code is not handled or not allowed 2026-01-28 03:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-y-metal-release-collet-8mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 03:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-add-on-unit-24-w-x-48-l-x-64-h-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 03:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducing-manifold-5-16-tube-x-5-32-tube-x-1-8-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 03:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-post-kit-for-mobile-unit-24-w-x-70-h-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 03:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronze-jaw-coupling-insert-style-l050>: HTTP status code is not handled or not allowed 2026-01-28 03:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-metal-release-collet-6mm-tube-x-3-8-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 03:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-elbow-composite-5-16-tube-x-3-8-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 03:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-pivoting-forklift-jib-boom-crane-8000-lbs-capacity-36in-fork-centers>: HTTP status code is not handled or not allowed 2026-01-28 03:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-64-balldriver-screwdriver-long-10708>: HTTP status code is not handled or not allowed 2026-01-28 03:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-metal-release-collet-5-32-tube-x-10-32-unf-flow-in-screw-adjustment>: HTTP status code is not handled or not allowed 2026-01-28 03:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forced-air-circulation-incubator-programmable-161-liters-115-volt>: HTTP status code is not handled or not allowed 2026-01-28 03:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machinist-square-w-wide-base-15-3-4-inch-l-x-9-13-16-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 03:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protractor-8-11-16-inch-l-x-4-11-16-inch-w-0-180->: HTTP status code is not handled or not allowed 2026-01-28 03:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-release-looped-end-mop-w-red-band-large-blue-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 03:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-battery-paper-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 03:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stealthnet-1-18-standard-bird-netting-100l-x-100w-black>: HTTP status code is not handled or not allowed 2026-01-28 03:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-w-integrated-shackle-14-dia-x-75l>: HTTP status code is not handled or not allowed 2026-01-28 03:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bistro-36-counter-height-dining-table-round-weathered-acorn>: HTTP status code is not handled or not allowed 2026-01-28 03:43:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cape-coral-gold-lines-slab-door-wood-30w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 03:43:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/door_frames already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocala-silver-lines-slab-door-wood-32w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 03:43:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-west-night-lines-slab-door-wood-32w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 03:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pensacola-glazed-light-slab-door-wood--glass-30w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 03:43:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-west-gold-lines-slab-door-wood-32w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 03:43:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables landed on page that is not a product page. 2026-01-28 03:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handle-w-basic-american-privacy-lockset-chrome>: HTTP status code is not handled or not allowed 2026-01-28 03:43:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 03:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/door_frames>: HTTP status code is not handled or not allowed 2026-01-28 03:43:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 03:43:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 03:43:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets landed on page that is not a product page. 2026-01-28 03:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53403 pages (at 86 pages/min), scraped 27396 items (at 47 items/min) 2026-01-28 03:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polywoven-dunnage-air-bags-4-ply-84l-x-36w-pack-of-370>: HTTP status code is not handled or not allowed 2026-01-28 03:43:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 03:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chillshield-mens-insulated-bib-overalls-5xl-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:44:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minis-peanut-butter-dark-chocolate-0-7-oz-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 03:44:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:44:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 03:44:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-aluminum-foil-roll-500-l-x-12-w-silver>: HTTP status code is not handled or not allowed 2026-01-28 03:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartlock-container-9-l-x-9-w-x-3-1-8-h-pack-of-120>: HTTP status code is not handled or not allowed 2026-01-28 03:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/earthchoice-container-10-1-2-l-x-9-1-2-w-x-3-h-pack-of-132>: HTTP status code is not handled or not allowed 2026-01-28 03:44:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 03:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecocraft-interfolded-dry-wax-bakery-tissue-10-3-4-l-x-6-w-white-pack-of-10000>: HTTP status code is not handled or not allowed 2026-01-28 03:44:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 03:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-cold-foam-cups-12-oz-brown-red-white-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 03:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenware-cold-drink-lids-fits-9-oz-old-fashioned-cups-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 03:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bare-eco-forward-treated-paper-cold-drink-cups-4-25-oz-white-pack-of-5000>: HTTP status code is not handled or not allowed 2026-01-28 03:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quiet-classic-bowl-12-oz-white-pack-of-125>: HTTP status code is not handled or not allowed 2026-01-28 03:44:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/rolling_ladders/standard_duty_rolling_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-chuck-size-high-torque-impact-wrench-kit-brushless-24v>: HTTP status code is not handled or not allowed 2026-01-28 03:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-satin-sea-glass-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 03:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-true-blue-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 03:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-mambo-pink-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 03:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scmex-20-scientific-grade-digital-usb-3-camera-w-1-scmos-sony-exmor-sensor-20mp-pixel>: HTTP status code is not handled or not allowed 2026-01-28 03:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-chromatography-refrigerator-33-cuft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 03:44:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 03:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-windbreaker-water-resistant-jacket-type-r-class-3-orange-5xl>: HTTP status code is not handled or not allowed 2026-01-28 03:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-abdominal-binder-12h-to-fit-72--84-rib-measurement-universal>: HTTP status code is not handled or not allowed 2026-01-28 03:44:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_air_filters/hepa_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serpentine-style-cervical-collar-firm-21l-x-4h-medium>: HTTP status code is not handled or not allowed 2026-01-28 03:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/terry-bib-w-hook-loop-strap-adult-18l-x-30w-blue-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:44:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/rolling_ladders/standard_duty_rolling_ladders landed on page that is not a product page. 2026-01-28 03:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equagel-adjustable-cushion-18l-x-16w-x-2-12h-green>: HTTP status code is not handled or not allowed 2026-01-28 03:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bariatric-quad-cane-small-base-500-lb-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 03:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathway-straight-wheelchair-ramp-kit-aluminum-5-top-platform-16l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 03:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-sided-mesh-box-truck-steel-1200-lb-capacity-54-1-2l-x-30-1-2w-x-33h>: HTTP status code is not handled or not allowed 2026-01-28 03:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copper-corrugated-water-heater-connector-34-fip-x-18l-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 03:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ankle-cuffs-light-blue-pair-of-2>: HTTP status code is not handled or not allowed 2026-01-28 03:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olympic-plate-rack-28l-x-15w-x-36-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apex-vault-19-12l-x-23-12w-x-25-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-cuff-light-resistance-12l-green>: HTTP status code is not handled or not allowed 2026-01-28 03:44:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-sectional-couch-w-double-chaise-lounge-131w-x-62-3-16d-x-35-3-4h-beige>: HTTP status code is not handled or not allowed 2026-01-28 03:44:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_air_filters/hepa_filters landed on page that is not a product page. 2026-01-28 03:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-hybrid-table-desk-59-7-16w-x-23-3-8d-x-29-15-16h-storm-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthcare-hydrogen-peroxide-disinfectant-cleaner-1-gal-cap-bottle-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 03:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/post-anchor-galvanized-steel-5000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-fixed-shelves-assembled-36w-x-24d-x-72h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-28 03:44:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-drawer--shelves-assembled-36w-x-18d-x-72h-signal-red>: HTTP status code is not handled or not allowed 2026-01-28 03:44:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches landed on page that is not a product page. 2026-01-28 03:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-inserts-for-cryogenic-vials-yellow-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 03:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53493 pages (at 90 pages/min), scraped 27440 items (at 44 items/min) 2026-01-28 03:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6700ct-evaporative-cooling-bandana-headband-tie-closure-pva-black>: HTTP status code is not handled or not allowed 2026-01-28 03:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8384-hi-vis-quilted-parka-winter-jacket-2xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 03:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers>: HTTP status code is not handled or not allowed 2026-01-28 03:45:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/hats_headwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8253hdz-heavy-duty-mesh-surveyors-vest-class-2-4xl5xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7024-cut-resistant-gloves-polyurethane-coated-ansi-a2-xl-blue-12-pairs>: HTTP status code is not handled or not allowed 2026-01-28 03:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8966-lightweight-cap-style-hard-hat-vented-class-c-lime>: HTTP status code is not handled or not allowed 2026-01-28 03:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6695-sun-protection-arm-sleeves-ml-white-custom-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 03:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric_adjustable_height_workbench_maple_safety_edge_1000lb_60x30_blue>: HTTP status code is not handled or not allowed 2026-01-28 03:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-earloop-face-mask-dispenser-7-916w-x-4-18d-x-4-14h-white>: HTTP status code is not handled or not allowed 2026-01-28 03:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-air-die-grinder-14-collet-burr-20000-rpm-04-hp-rear-exhaust>: HTTP status code is not handled or not allowed 2026-01-28 03:45:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/hats_headwear landed on page that is not a product page. 2026-01-28 03:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-mid-torque-12-cordless-impact-wrench-hazardous-environment-550-ft-lbs-nut-busting-torque-pin-retainer>: HTTP status code is not handled or not allowed 2026-01-28 03:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-tier-4-door-digital-locker-12in-w-x-12in-d-x-78in-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 03:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-6-door-digital-locker-36in-w-x-15in-d-x-78in-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 03:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/momcube153-breast-milk-refrigerator-283-cu-ft-capacity-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 03:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/procedure-core-bench-w-2-bay-centre-divider-36l-x-27w-x-78-34h-g2g-pkg>: HTTP status code is not handled or not allowed 2026-01-28 03:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-tall-heavy-duty-office-chair-19-1-2-in-back-height-fabric-black>: HTTP status code is not handled or not allowed 2026-01-28 03:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-pad-for-kf-200hc-kf-205hc>: HTTP status code is not handled or not allowed 2026-01-28 03:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-w-455a>: HTTP status code is not handled or not allowed 2026-01-28 03:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sds-max-demolition-hammer-14-amp-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cone-shaped-bur-aluma-cut-3l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 03:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-w-endcut-bur-single-cut-1-1116l-x-18-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 03:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-w-endcut-bur-double-cut-2-34l-x-14-shank-dia-12-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 03:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par16-bulb-120v-7w-550-lumens-twist-lock-base-4000k-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 03:45:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx-analytical-balance-w-internal-calibration-220g-capacity-00001g-readability>: HTTP status code is not handled or not allowed 2026-01-28 03:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drychill-ice-free-cooling-block-12x15ml-tube-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubitron-ii-cloth-disc-900dz-220-grit-5-dia-x-nh-pack-of-12500>: HTTP status code is not handled or not allowed 2026-01-28 03:45:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_filter_regulators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-14w-x-72h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 03:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 03:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-36l-x-36w-x-54h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 03:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-18w-x-84h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-16w-x-60h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-36l-x-18w-x-60h-white>: HTTP status code is not handled or not allowed 2026-01-28 03:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-36l-x-20w-x-72h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-20w-x-96h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 03:45:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_filter_regulators landed on page that is not a product page. 2026-01-28 03:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-18w-x-48h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 03:45:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondola-wire-shelf-divider-fits-11l-x-3h-shelf-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-28 03:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53586 pages (at 93 pages/min), scraped 27496 items (at 56 items/min) 2026-01-28 03:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-aegir-mi-half-frame-safety-glasses-orange-mirror-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 03:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-drum-strap-36984>: HTTP status code is not handled or not allowed 2026-01-28 03:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/identification-tag-4-inch-x-2-inch-dark-green-37081>: HTTP status code is not handled or not allowed 2026-01-28 03:46:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spout-cap-yellow-small-34400>: HTTP status code is not handled or not allowed 2026-01-28 03:46:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/vital_signs_monitors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:46:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables>: HTTP status code is not handled or not allowed 2026-01-28 03:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-steel-ladder-rack-system-for-gmc-savana-1996-on-white>: HTTP status code is not handled or not allowed 2026-01-28 03:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-safety-dc365-surgical-n95-respirator-10-box>: HTTP status code is not handled or not allowed 2026-01-28 03:46:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners landed on page that is not a product page. 2026-01-28 03:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs19hx138-1-pitch-1-38-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/vital_signs_monitors landed on page that is not a product page. 2026-01-28 03:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-air-cooled-standby-generator-26kw-120-240v-1-phase-ng-lp-wifi-enabled>: HTTP status code is not handled or not allowed 2026-01-28 03:46:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables landed on page that is not a product page. 2026-01-28 03:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-height-vaccine-refrigerator-283-cuft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 03:46:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/defibrillator_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssid-decon-property-bag-12-1-2-x-21-small>: HTTP status code is not handled or not allowed 2026-01-28 03:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs15hx38-metric-1-14-pitch-38mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60btl42-taper-bushed-34-pitch-42-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs16hx40-metric-1-14-pitch-40mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-d60bs32x112-double-34-pitch-1-12-finished-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-western-work-boots-steel-toe-size-13-5m-10-inch-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 03:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs23hx114-1-14-pitch-1-14-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-tubular-with-pet-lower-bottle-filling-3l-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs30x1316-1-pitch-1-316-finished-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 03:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-2-incise-pouch-2057-34-inch-x-29-inch-incise-area-12-inch-x-12-inch-10-ctn-4-ctn-cs>: HTTP status code is not handled or not allowed 2026-01-28 03:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs18hx60-metric-1-14-pitch-60mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/defibrillator_accessories landed on page that is not a product page. 2026-01-28 03:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-internal-met-guard-steel-toe-size-8-5m-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 03:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-10-5w-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 03:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bair-hugger-plus-warming-gown-81102-small-44-inch-l-20-case>: HTTP status code is not handled or not allowed 2026-01-28 03:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-boltless-shelving-36-in-w-x-24-in-d-x-96-in-h-5-shelves-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-15m-black-red>: HTTP status code is not handled or not allowed 2026-01-28 03:46:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35b26hx12mpb-38-pitch-12-plain-bore-26-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-propette-le-12-channel-pipette-5-50ul>: HTTP status code is not handled or not allowed 2026-01-28 03:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-11w-navy-aged-indigo>: HTTP status code is not handled or not allowed 2026-01-28 03:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-6-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 03:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs20hx114-12-pitch-1-14-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 03:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs15hx1316-58-pitch-1-316-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:46:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-06bs22hx18-metric-38-pitch-18mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53680 pages (at 94 pages/min), scraped 27550 items (at 54 items/min) 2026-01-28 03:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-5m-blue-navy>: HTTP status code is not handled or not allowed 2026-01-28 03:46:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upsable-bubble-roll-12-x-188-x-5-16-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:47:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 03:47:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-4-x-6-2-mil-red-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-16m-navy-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:47:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50a28hx34-a-plate-58-pitch-34-bore-28-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:47:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 03:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-bp10-6-sealed-lead-acid-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:47:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60btl18h-taper-bushed-34-pitch-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-10-5w-black-seafoam-green-white>: HTTP status code is not handled or not allowed 2026-01-28 03:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16a20h-metric-a-plate-1-pitch-24mm-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:47:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-d-5390-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-7-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 03:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clic-retractable-eraser-refillable-blue-barrel>: HTTP status code is not handled or not allowed 2026-01-28 03:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-pedestal-workbench-w-3-drawers-cabinet-maple-butcher-block-square-edge-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-2081-9276-alarm-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs19hx34-38-pitch-34-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:47:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/levo-lce-wheelchair-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs23x134-1-pitch-1-34-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-hook-sew-on-2-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 03:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41a20hx58-a-plate-12-pitch-58-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 03:47:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-16m-silver-gray-clay-black>: HTTP status code is not handled or not allowed 2026-01-28 03:47:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-mp2-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-3-5m-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 03:47:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-women-s-athletic-work-shoes-composite-toe-size-9m-black>: HTTP status code is not handled or not allowed 2026-01-28 03:47:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 03:47:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/09853-lid-airtight-polypropylene-14-size-clear>: HTTP status code is not handled or not allowed 2026-01-28 03:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53764 pages (at 84 pages/min), scraped 27600 items (at 50 items/min) 2026-01-28 03:47:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adtech-shaped-hot-melt-glue-58x10-stick-145f63c-3500-visc>: HTTP status code is not handled or not allowed 2026-01-28 03:47:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/california-air-tools-ultra-quiet-oil-free-20-hp-46-gal-aluminum-twin-tank-air-compressor>: HTTP status code is not handled or not allowed 2026-01-28 03:48:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/irontuff-jackoat-black-hivis-lime-50-comfort-rating-l-regular>: HTTP status code is not handled or not allowed 2026-01-28 03:48:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:48:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-9w-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 03:48:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:48:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exide-6v5k-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-7-5m-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 03:48:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-ds-650-x-650cc-atv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-9w-rust>: HTTP status code is not handled or not allowed 2026-01-28 03:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-13w-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 03:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-mrbc-l-bk-steel-drawers-23w-x-14d-x-5h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-xt4l-b-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:48:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-5l-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 03:48:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-8-5m-olive-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:48:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-11-4-phillips-truss-head-sheet-metal-screw-188-stainless-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 03:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daystart-slip-on-work-shoes-steel-toe-size-10w-black>: HTTP status code is not handled or not allowed 2026-01-28 03:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-well-pump-motor-wo30-12-326t-tefc-rigid-3-ph-326t-230-460-796v-30-hp>: HTTP status code is not handled or not allowed 2026-01-28 03:48:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 03:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe15-36-143jm-tefc-rigid-c-3-ph-143jm-15-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 03:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht125-18-444tc-f2-gp-tefc-rigid-3-ph-f2-444tc-144-fla>: HTTP status code is not handled or not allowed 2026-01-28 03:48:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthflex-privacy-screen-3-panel-mallard>: HTTP status code is not handled or not allowed 2026-01-28 03:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors>: HTTP status code is not handled or not allowed 2026-01-28 03:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5kcws-wrap-around-for-installing-the-marks-levers-234backset-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 03:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bf-135cp-hole-filler-plate-334dia-chrome-plated>: HTTP status code is not handled or not allowed 2026-01-28 03:48:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 03:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/122-quiet-carton-sealing-tape-3-x-110-yds-clear-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 03:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-caged-platform-truck-660-lb-capacity-35l-x-23w-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 03:48:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-wire-security-partition-swing-door-hlso-4w-x-8h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vapamore-mr-100-primo-steam-cleaner-261551>: HTTP status code is not handled or not allowed 2026-01-28 03:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-800-x-rs-796cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors>: HTTP status code is not handled or not allowed 2026-01-28 03:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kontron-4165-004165-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53852 pages (at 88 pages/min), scraped 27649 items (at 49 items/min) 2026-01-28 03:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-hand-truck-w-d-handle-semi-pneumatic-wheels-700-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-lithonia-elb-06010-6v-12ah-emergency-light-battery>: HTTP status code is not handled or not allowed 2026-01-28 03:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-cp12100e-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meditek-stand-and-perch-stairlift-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-commercial-grade-60a-rubber-sheet-1-2-thick-x-3-x-10-length-black>: HTTP status code is not handled or not allowed 2026-01-28 03:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/navy-g-nonslip-coating-durable-antislip-paint-1-gal-medium-gray-ng12-mg-gl>: HTTP status code is not handled or not allowed 2026-01-28 03:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-cold-weather-kit-for-liquid-cooled-standby-generators-with-15l-engine>: HTTP status code is not handled or not allowed 2026-01-28 03:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-amp-125-250-volt-7500-watt-1-circuit-manual-transfer-switch>: HTTP status code is not handled or not allowed 2026-01-28 03:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powered-drum-truck-f89503l-locking-cover-chime-hook-10-wheels>: HTTP status code is not handled or not allowed 2026-01-28 03:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zeus-ub1250-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbr-red-65a-sheet-1-8-thick-x-3-x-18-length>: HTTP status code is not handled or not allowed 2026-01-28 03:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hkbil-6fm18-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm90-ds-double-output-shaft-for-calm-series-90mm-aluminum-worm-gear-reducer>: HTTP status code is not handled or not allowed 2026-01-28 03:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ladderback-chair-18-height>: HTTP status code is not handled or not allowed 2026-01-28 03:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imagination-station-write-n-wipe>: HTTP status code is not handled or not allowed 2026-01-28 03:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/casil-ca12260-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/977s16-catwalk-96-high-unit-walkway-172-x-48>: HTTP status code is not handled or not allowed 2026-01-28 03:49:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fuel_safety_cans/gas_fuel_cans_caddies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-shelving-8-shelves-starter-unit-500-lb-cap-36w-x-12d-x-87h-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-in-stainless-steel-wall-exhaust-shutter>: HTTP status code is not handled or not allowed 2026-01-28 03:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-dn-2050-debris-safety-netting-20-x-50>: HTTP status code is not handled or not allowed 2026-01-28 03:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-agm1265t-sealed-lead-acid-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-lp12-5-4-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:49:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fuel_safety_cans/gas_fuel_cans_caddies landed on page that is not a product page. 2026-01-28 03:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-pf90-b0824-8-x-24-premier-privacy-fence-screen-90-blockage>: HTTP status code is not handled or not allowed 2026-01-28 03:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zeus-pc9-12s-f1-sealed-lead-acid-replacement-battery-9ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mk-es17-12-old-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-weld-on-contoured-single-strap-anchor-zinc>: HTTP status code is not handled or not allowed 2026-01-28 03:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stair-tread-round-nose-36l-brown>: HTTP status code is not handled or not allowed 2026-01-28 03:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-inch-made-in-usa-jobbers-length-drill-blank>: HTTP status code is not handled or not allowed 2026-01-28 03:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uniwell-sla1050-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29324ex-spherical-roller-thrust-bearing-extra-capacity-steel-cage>: HTTP status code is not handled or not allowed 2026-01-28 03:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnl2-2460-6mr-with-lower-shelf-24-x-60-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 03:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 53950 pages (at 98 pages/min), scraped 27716 items (at 67 items/min) 2026-01-28 03:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-manual-chain-hoist-1-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 03:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-5-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 03:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eaton-ex-exb-1000-ex-exb-1000-rt2u-12v-7ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 03:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alka-seltzer-pain-reliever-30-bx>: HTTP status code is not handled or not allowed 2026-01-28 03:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cotton-tip-applicator-latex-free-non-sterile-3l-1000bx-wh>: HTTP status code is not handled or not allowed 2026-01-28 03:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tripplite-smart700hg-12v-7ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 03:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditions-5-piece-outdoor-swivel-chair-dining-set-with-table-umbrella>: HTTP status code is not handled or not allowed 2026-01-28 03:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-i-steel-safety-can-with-funnel-1-gallon-4l-self-close-lid-blue-7110310>: HTTP status code is not handled or not allowed 2026-01-28 03:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-4-flute-1-2-inch-dia-x-1-2-inch-shank-x-4-inch-oal-hss-long-single-end-mill>: HTTP status code is not handled or not allowed 2026-01-28 03:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-plastic-shim-coil-003-20-20>: HTTP status code is not handled or not allowed 2026-01-28 03:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32013-tapered-roller-bearing-metric-65mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-28 03:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p1201-tbmu-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63072rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-35mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 03:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6015zz-deep-groove-ball-bearing-double-shielded-75mm-bore-115mm-od>: HTTP status code is not handled or not allowed 2026-01-28 03:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63112rs-deep-groove-ball-bearing-double-sealed-55mm-bore-120mm-od>: HTTP status code is not handled or not allowed 2026-01-28 03:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-ft6035-full-top-open-blast-system-dust-collector>: HTTP status code is not handled or not allowed 2026-01-28 03:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-wide-mouth-pp-1000ml-capacity-clear-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 03:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-bolted-pallet-rack-add-on-144w-x-48d-x-144h>: HTTP status code is not handled or not allowed 2026-01-28 03:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-8604-t6-1800rpm-3-phase-60hz-575v-4pole>: HTTP status code is not handled or not allowed 2026-01-28 03:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-2004-1800rpm-3-phase-60hz-230460v-4pole>: HTTP status code is not handled or not allowed 2026-01-28 03:50:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-1a-fiberglass-extension-ladder-32-ft-dxl302032pt>: HTTP status code is not handled or not allowed 2026-01-28 03:50:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplicity-11g-lawn-and-garden-replacement-battery-10ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:50:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-42l-x-18w-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 03:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-30l-x-14w-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 03:50:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440186124-cloth-belt-747d-2w-x-18-15-16l-p120-grit>: HTTP status code is not handled or not allowed 2026-01-28 03:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hiliter-pen-style-highlighter-chisel-tip-fluorescent-yellow-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 03:50:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:50:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440212177-cloth-belt-340d-37w-x-60l-p220-grit>: HTTP status code is not handled or not allowed 2026-01-28 03:50:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:50:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens landed on page that is not a product page. 2026-01-28 03:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sears-25558-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:50:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sears-25582-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440198251-cloth-belt-341d-10w-x-90l-60-grit>: HTTP status code is not handled or not allowed 2026-01-28 03:50:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60410013118-ll-belt-947a-3-1-2w-x-15-1-2l-60-grit>: HTTP status code is not handled or not allowed 2026-01-28 03:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 03:50:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:50:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mki-ub1103-variable-speed-blower>: HTTP status code is not handled or not allowed 2026-01-28 03:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54038 pages (at 88 pages/min), scraped 27767 items (at 51 items/min) 2026-01-28 03:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-15-series-1-12-x-1-12-lite-opposite-bi-t-slotted-extrusion-profile-120l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 03:50:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils landed on page that is not a product page. 2026-01-28 03:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunworks-construction-paper-9x12-assorted-50-sheets>: HTTP status code is not handled or not allowed 2026-01-28 03:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baby-changing-station-w-stainless-steel-veneer-polyethylene-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-series-vacuum-pump-single-stage-18-oz-oil-capacity-110v-6-cfm>: HTTP status code is not handled or not allowed 2026-01-28 03:51:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-womens-long-sleeve-shirt-class-3-xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:51:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-210-10-hp-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:51:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dr-grip-center-of-gravity-ballpoint-retractable-pen-medium-blue-barrel-black-ink>: HTTP status code is not handled or not allowed 2026-01-28 03:51:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/drill_presses_tapping_machinery already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-10-series-1-x-1-opposite-bi-t-slotted-extrusion-profile-120l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 03:51:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightalarms-5ei5br-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 03:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enviroalert174-temperature-sensor-probe-housing>: HTTP status code is not handled or not allowed 2026-01-28 03:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/drill_presses_tapping_machinery>: HTTP status code is not handled or not allowed 2026-01-28 03:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-hipolymer-lead-refill-b-leads-07mm-medium-black-12tube>: HTTP status code is not handled or not allowed 2026-01-28 03:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-duty-no-bump-dump-hopper-steel-1-cu-yd-4000-lb-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 03:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-no-bump-dump-hopper-steel-2-cu-yd-2000-lb-capacity-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacking-wire-mesh-hangers-hmb539c-for-qmb539c-one-pair>: HTTP status code is not handled or not allowed 2026-01-28 03:51:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2452ths-1575-r-temporal-horn-strobe-1575cd-red>: HTTP status code is not handled or not allowed 2026-01-28 03:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sd-t120-air-sampling-tube-120>: HTTP status code is not handled or not allowed 2026-01-28 03:51:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_visual_signal_combinations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-12v-7ah-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 03:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gs-portalac-pe12v12-f1-12v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 03:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrostatic-air-filter-merv-8-12w-x-1d-x-24h>: HTTP status code is not handled or not allowed 2026-01-28 03:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrostatic-air-filter-merv-8-12w-x-1d-x-30h>: HTTP status code is not handled or not allowed 2026-01-28 03:51:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/job_site_work_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-strip-curtain-roll-smooth-low-temperature-usda-18-thickness-12w-x-200h-clear>: HTTP status code is not handled or not allowed 2026-01-28 03:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-electric-air-compressor-75-hp-80-gal-cap-3-phase-230v-481-lb-wt>: HTTP status code is not handled or not allowed 2026-01-28 03:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_visual_signal_combinations>: HTTP status code is not handled or not allowed 2026-01-28 03:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siltron-elp1010-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:51:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/toilet_installation_repair_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/job_site_work_lights>: HTTP status code is not handled or not allowed 2026-01-28 03:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-lever-interchangeable-core-w-bumpstop-brushed-chrome>: HTTP status code is not handled or not allowed 2026-01-28 03:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-base-w-wheels-for-libra-cast-aluminum-100-lb-weight-white>: HTTP status code is not handled or not allowed 2026-01-28 03:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp003ld-fg-10-ner-food-grade-hoist-with-push-trolley-1-4-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:51:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/toilet_installation_repair_parts landed on page that is not a product page. 2026-01-28 03:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-fre-el-emergency-light-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-200x-2mp-8-led-zoom-usb-digital-microscope-endoscope-xp-vista-7-8-mac>: HTTP status code is not handled or not allowed 2026-01-28 03:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-etxfld-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5050-single-shaft-base>: HTTP status code is not handled or not allowed 2026-01-28 03:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13018-stainless-steel-rollin-tnut-wball-spring>: HTTP status code is not handled or not allowed 2026-01-28 03:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3352-double-end-fastener-double-wing-clip>: HTTP status code is not handled or not allowed 2026-01-28 03:51:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54129 pages (at 91 pages/min), scraped 27817 items (at 50 items/min) 2026-01-28 03:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-waist-length-lab-coat-snap-cuff-light-blue-medium>: HTTP status code is not handled or not allowed 2026-01-28 03:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-1212b065-emergency-light-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-m201-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-6ksm6-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3393-1420-x-12-bhscs-and-slidein-economy-tnut>: HTTP status code is not handled or not allowed 2026-01-28 03:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 03:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-1000010164-6v-7ah-alarm-battery>: HTTP status code is not handled or not allowed 2026-01-28 03:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dorcy-spotlight-41-0796-6v-5ah-spotlight-battery>: HTTP status code is not handled or not allowed 2026-01-28 03:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp005l-10-ner-electric-hoist-push-trolley-12-ton-10-lift-15-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 03:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dog-waste-transmits-disease-contaminates-drinking-water-sign-aluminum-18-x-12-green>: HTTP status code is not handled or not allowed 2026-01-28 03:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3611-button-head-socket-cap-screw-58l>: HTTP status code is not handled or not allowed 2026-01-28 03:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-118-0023-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:52:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3439-51618-x-34-bhscs-washer-and-slidein-economy-tnut>: HTTP status code is not handled or not allowed 2026-01-28 03:52:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ups-pick-up-delivery-location-sign-adhesive-vinyl-14-x-20-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 03:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-all-drivers-must-check-in-before-loadingunloading-sign-alum-10-x-14-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6000-t-handle-hex-wrench-316>: HTTP status code is not handled or not allowed 2026-01-28 03:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 03:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp003sd-15-ner-electric-hoist-push-trolley-14-ton-15-lift-366-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 03:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner020l-10-ner-electric-hoist-hook-suspension-2-ton-10-lift-14-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 03:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1>: HTTP status code is not handled or not allowed 2026-01-28 03:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-traxter-500cc-atv-replacement-battery-1999-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parklet-with-10-panels-powdercoat-wire-mesh-panel-insert-228l-x-78w-x-42h>: HTTP status code is not handled or not allowed 2026-01-28 03:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorcycle-trail-traffic-safety-sign-hip-aluminum-18-x-12-whitebrown>: HTTP status code is not handled or not allowed 2026-01-28 03:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-dog-pitbull-1917cc-motorcycle-replacement-battery-2011-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-sr50-50cc-motorcycle-replacement-battery-2000-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7043-cut-resistant-gloves-nitrile-coated-ansi-a4-xl-gray-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 03:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbk-vertex-150cc-motorcycle-replacement-battery-1984-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner010ld-10-ner-dual-speed-electric-chain-hoist-1-ton-10-lift-1425-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 03:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clipper-label-holder-30-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:52:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-23-32-inch-extra-long-drill-bit-18-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 03:52:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-tornado-90cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-karrier-55-gallon-steel-drum-800-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440193476-roll-02598-2-3-4w-x-30-yd-p100>: HTTP status code is not handled or not allowed 2026-01-28 03:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 03:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoveround-mpv3-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:52:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries landed on page that is not a product page. 2026-01-28 03:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pt1000-sensor-support-rod-clamp-for-use-with-ms-h280-pro>: HTTP status code is not handled or not allowed 2026-01-28 03:52:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-slatwall-panel-almond-laminate-with-aluminum-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 03:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-expedition-600-h-o-sdi-593cc-snowmobile-replacement-battery-2005-12v>: HTTP status code is not handled or not allowed 2026-01-28 03:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54221 pages (at 92 pages/min), scraped 27870 items (at 53 items/min) 2026-01-28 03:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs888-outside-shell-set-wdoor-for-gs-12-vs-12-hobart-vs9>: HTTP status code is not handled or not allowed 2026-01-28 03:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/card-stock-paper-8-1-2-inch-x-11-inch-65-lb-smooth-bright-white-250-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organon-teknika-bact-alert-incubator-medical-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:53:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper landed on page that is not a product page. 2026-01-28 03:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-graphite-nebula-round-table-w-4-chair-set-in-espresso-finish>: HTTP status code is not handled or not allowed 2026-01-28 03:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-spiral-point-plug-style-screw-thread-insert-sti-tap-m10-x-1-5>: HTTP status code is not handled or not allowed 2026-01-28 03:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-dock-board-with-steel-safety-curb-60w-x-48l-15000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-shelf-bin-8-1-4w-x-12d-x-7h-black>: HTTP status code is not handled or not allowed 2026-01-28 03:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsr-psj-3612-dc-power-source-3600-jump-starter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-14d-x-74h-with-21-ssb445-stackable-shelf-bins-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-cantilever-hoist-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/env-pro-steam-cleaner-ep1000-w-css>: HTTP status code is not handled or not allowed 2026-01-28 03:53:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-sof-tred-12-thick-safety-anti-fatigue-floor-mat-2x60-black>: HTTP status code is not handled or not allowed 2026-01-28 03:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub12180-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:53:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/picnic_tables/metal_picnic_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-hanger-w-hex-nut-and-bolt-carbon-steel-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-clear-quartz-lamp-630-05129-for-mm-13a-electric-infrared-heater-500w-120v>: HTTP status code is not handled or not allowed 2026-01-28 03:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub645-d5733-sealed-lead-acid-replacement-battery-4-5ah-6v>: HTTP status code is not handled or not allowed 2026-01-28 03:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-clear-quartz-lamp-630-25249-for-342-343-and-mm-electric-infrared-heaters-2500w-240v>: HTTP status code is not handled or not allowed 2026-01-28 03:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/903-1003-903-case-w-foam-91l-x-68w-x-38h-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:53:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/picnic_tables/metal_picnic_tables landed on page that is not a product page. 2026-01-28 03:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-person-stage-14-inch-w-x-16-ft-l-2416>: HTTP status code is not handled or not allowed 2026-01-28 03:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a7c1500s-pf-pedestal-mounted-outdoor-drinking-fountain-w-pet-fountain-round>: HTTP status code is not handled or not allowed 2026-01-28 03:53:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 03:53:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=48-11-1852-xc5-0-cordless-battery-2-pack already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-sc63-revo-3-wheel-travel-scooter-wheelchair-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 03:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crimp-sleeve-solid-copper-18-10-awg-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-14-inch-belt-chairs-wheelchair-replacement-battery-18ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 03:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-dress-uniform-shirt-slu2-silver-gray-size-xl-long>: HTTP status code is not handled or not allowed 2026-01-28 03:53:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=48-11-1852-xc5-0-cordless-battery-2-pack landed on page that is not a product page. 2026-01-28 03:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saw15120w-infrared-heater-15kw-120v-white>: HTTP status code is not handled or not allowed 2026-01-28 03:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-88-01-180-sba-alligator-pliers-7-14-oal>: HTTP status code is not handled or not allowed 2026-01-28 03:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-orange-vest-style-harness-1107812-w-front-back-d-ring-medium>: HTTP status code is not handled or not allowed 2026-01-28 03:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standup-adjustable-height-workstation-desk-59w-x-29-1-2d-x-29-42-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 03:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chauffeur-mobility-viva-power-heavy-duty-mini-models-wheelchair-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 03:53:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-line-measuring-tape-high-tenacity-polyester-12-x-3000-size>: HTTP status code is not handled or not allowed 2026-01-28 03:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1502-multipurpose-class-2-two-tone-mesh-zipper-6-pockets-vest-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-28 03:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-conical-anchor-kit-w-combo-pan-head-screw-10-size-201-pieces>: HTTP status code is not handled or not allowed 2026-01-28 03:53:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conical-anchor-kit-w-combo-hex-head-screw-10-size-tuff-pack-201-pieces>: HTTP status code is not handled or not allowed 2026-01-28 03:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54316 pages (at 95 pages/min), scraped 27928 items (at 58 items/min) 2026-01-28 03:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-bow-front-desk-shell-72-inchw-x-36-inchd-x-29-1-2-inchh-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 03:53:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-14-step-stl-roll-lad-14-d-top-stp-hndrl-lck-orng-fs144014go>: HTTP status code is not handled or not allowed 2026-01-28 03:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm450f-kodiak-auto-4x4-450cc-atv-replacement-battery-2003-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-phillips-pan-head-steel-6-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-608-600-series-instrument-tubing-bender-12-capacity-1-12-bend-radius>: HTTP status code is not handled or not allowed 2026-01-28 03:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12ke53azi-safety-clutch-handwheel-fric-bearing-wo-handle-492-d-12mm-bore-keyway>: HTTP status code is not handled or not allowed 2026-01-28 03:54:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-gallon-square-waste-container-with-dome-lid-green>: HTTP status code is not handled or not allowed 2026-01-28 03:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-gaucho-sport-hp251-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-square-pan-head-stainless-steel-8-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-square-pan-head-carbon-steel-10-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marcum-vs825sd-underwater-viewingsystem-fish-finder-replacement-battery-7ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 03:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-phillips-brass-8-x-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-phillips-carbon-steel-12-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-phillips-carbon-steel-8-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-ironhorse-bandit-1820cc-motorcycle-replacement-battery-2000-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:54:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/push_pins already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf325201l1824tc-cast-iron-right-angle-worm-gear-reducer-201-ratio-1824t-frame>: HTTP status code is not handled or not allowed 2026-01-28 03:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-insulated-liquid-tight-connector-zinc-die-cast-3-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-low-carbon-steel-14-20-x-3-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 03:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-handle-scissors-with-protection-8l-straight-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:54:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/push_pins landed on page that is not a product page. 2026-01-28 03:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-reach-stapler-25-sheet-capacity-12-1-2-reach-black-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab97-2436-7x-36-inch-w-x-24-inch-d-x-97-inch-h-7-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prsl1832pi-cable-cover-use-wmike-victor-pendants>: HTTP status code is not handled or not allowed 2026-01-28 03:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb73-1242-5x-42-inch-w-x-12-inch-d-x-73-inch-h-5-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-281pn-pin-handle-hand-truck-pneumatic-600-lb>: HTTP status code is not handled or not allowed 2026-01-28 03:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sea-doo-all-other-models-1500cc-personal-watercraft-battery-1994-2007-12v>: HTTP status code is not handled or not allowed 2026-01-28 03:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-funnel-system-ef-3004c-sys-8-4l-neck-finish-38-430-red-lid>: HTTP status code is not handled or not allowed 2026-01-28 03:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/victory-cross-country-tour-1731cc-motorcycle-replacement-battery-2012-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-yellow-buttery-popcorn-50-lbs>: HTTP status code is not handled or not allowed 2026-01-28 03:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zep-carpet-extraction-cleaner-lemongrass-gal-btl-4cs-amrr00624ct>: HTTP status code is not handled or not allowed 2026-01-28 03:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120v-normally-closed-high-close-off-steam-actuator-without-end-switch-ah14b020>: HTTP status code is not handled or not allowed 2026-01-28 03:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54410 pages (at 94 pages/min), scraped 27988 items (at 60 items/min) 2026-01-28 03:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-freedom-700cc-personal-watercraft-replacement-battery-2002-2004-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22215exw33kc3-75mm-bore-130mm-od-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 03:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucp212-36-pillow-block-bearing-set-screw-locking-bore-57-15-mm>: HTTP status code is not handled or not allowed 2026-01-28 03:55:04 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 03:55:05 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:28 2026-01-28 03:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-self-close-single-door-22-gallon-cap-23-14w-x-18d-x-65h>: HTTP status code is not handled or not allowed 2026-01-28 03:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-all-purpose-utility-tub-stackable-polypropylene-26l-x-18w-x-6h-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu311myc3-55mm-bore-120mm-od>: HTTP status code is not handled or not allowed 2026-01-28 03:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rad2go-zzcruisere-scooter-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-add-on-oak73-2436-5-36-inch-w-x-24-inch-d-x-73-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:55:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ball-transfer-conveyor-table-btit360204-with-4-center-75-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 03:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-x-6-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 03:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-304-stainless-steel-coupling-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 03:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-in-lead-free-brass-45-degree-elbow-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 03:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-lead-free-brass-union-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 03:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-x-5-1-2-in-lead-free-seamless-red-brass-pipe-nipple-140-psi-sch-40-import>: HTTP status code is not handled or not allowed 2026-01-28 03:55:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories landed on page that is not a product page. 2026-01-28 03:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-starter-60w-x-30d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 03:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-starter-cst87-1236-6x-36-inch-w-x-12-inch-d-x-87-inch-h-6-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:55:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-starter-ost87-3648-7x-48-inch-w-x-36-inch-d-x-87-inch-h-7-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-36w-x-12d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 03:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-730-3-8-in-laboratory-faucet-vacuum-breaker-fnpt-x-fnpt-chrome>: HTTP status code is not handled or not allowed 2026-01-28 03:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-literature-mailers-20-x-16-x-2-1-2-200lb-test-ect-32-kraft-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:55:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs landed on page that is not a product page. 2026-01-28 03:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/money-rent-receipt-book-2-part-carbonless-11-x-5-1-4-white-canary-200-sets-book>: HTTP status code is not handled or not allowed 2026-01-28 03:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-72w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 03:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-30w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 03:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-expedition-tuv-1300-europe-1304cc-snowmobile-battery-2007-12v>: HTTP status code is not handled or not allowed 2026-01-28 03:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-esd-wire-shelving-unit-starter-72w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 03:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-prong-fasteners-3-sheet-capacity-8-1-4-length-base-silver-50-box>: HTTP status code is not handled or not allowed 2026-01-28 03:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18lb-cable-ties-natural-7-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-skandic-super-wide-track-500-f-496cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 03:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ambidextrous-mouse-tray-for-350306-security-laptop-stand>: HTTP status code is not handled or not allowed 2026-01-28 03:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54505 pages (at 95 pages/min), scraped 28053 items (at 65 items/min) 2026-01-28 03:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8663-containment-berm-rapid-rise-15-x-40-22-oz-pvc>: HTTP status code is not handled or not allowed 2026-01-28 03:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pump-for-30-evaporative-cooler-model-600543-292222>: HTTP status code is not handled or not allowed 2026-01-28 03:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-resistant-gloves-rough-grip-butyl-13-mil-thick-size-10-black>: HTTP status code is not handled or not allowed 2026-01-28 03:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-921215720-double-tier-12-x-15-x-36-1-wide-blue>: HTTP status code is not handled or not allowed 2026-01-28 03:56:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-form-ultrasonic-reel-to-reel-counter-for-up-to-6w-media-cap--16-roll-dia>: HTTP status code is not handled or not allowed 2026-01-28 03:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-9z1218720-z-style-12-x-18-x-72-1-wide-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 03:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-8z1212721-z-style-12-x-12-x-72-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-thundercat-mc-mountain-cat-900cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 03:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/timer-stopwatch-ts100-0-8>: HTTP status code is not handled or not allowed 2026-01-28 03:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-bracket-9369-for-35x-series-thermocouple-instruments>: HTTP status code is not handled or not allowed 2026-01-28 03:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-811518721-single-tier-15x18x72-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 03:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-1002nl-full-port-ball-valve-no-lead-forged-brass-1-14-sweat>: HTTP status code is not handled or not allowed 2026-01-28 03:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inch-weekender-3-inch-knitted-polyester-507050300>: HTTP status code is not handled or not allowed 2026-01-28 03:56:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 03:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/photoluminescent-egress-tape-glow-in-the-dark-2-x-60>: HTTP status code is not handled or not allowed 2026-01-28 03:56:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plunger-can-1-pint-red-10008>: HTTP status code is not handled or not allowed 2026-01-28 03:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stopslow-sign-abs-plastic-engineer-grade-18-x-18>: HTTP status code is not handled or not allowed 2026-01-28 03:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sky-3-piece-outdoor-lounge-sets-23-5-8-w-x-15-11-16-h-table-yellow>: HTTP status code is not handled or not allowed 2026-01-28 03:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4462-double-sided-foam-tape-1-2-x-5-yds-1-32-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 03:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens>: HTTP status code is not handled or not allowed 2026-01-28 03:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucy-3-piece-outdoor-bistro-set-23-5-8-w-x-29-1-2-h-table-white>: HTTP status code is not handled or not allowed 2026-01-28 03:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/471-vinyl-tape-1-2-x-36-yds-5-2-mil-red-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 03:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-sterile-gauze-pads-3-x-3-20-box>: HTTP status code is not handled or not allowed 2026-01-28 03:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-instant-cold-pack-4-x-5>: HTTP status code is not handled or not allowed 2026-01-28 03:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-hg458-5kh36pnb171x-1-4hp-115v-3600rpm-1ph-epnv>: HTTP status code is not handled or not allowed 2026-01-28 03:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-541-lf-brass-sillcock-valve-12-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 03:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-543nl-lf-brass-bent-nose-garden-valve-34-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 03:56:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/gaffer_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-g661-56t17g5313-3-4hp-208-230-460v-1800rpm-3ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 03:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f103-3-4hp-115-208-230v-1800rpm-1ph-tefc-56-fr>: HTTP status code is not handled or not allowed 2026-01-28 03:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x025-1-3hp-115-230v-1625rpm-1ph-teao-48yz-fr>: HTTP status code is not handled or not allowed 2026-01-28 03:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trauma-pac-orange>: HTTP status code is not handled or not allowed 2026-01-28 03:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-337ss-butterfly-valve-with-buna-seals--10-position-handle-6-wafer>: HTTP status code is not handled or not allowed 2026-01-28 03:56:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/building_construction_tape/gaffer_tape landed on page that is not a product page. 2026-01-28 03:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alaris-medical-gemini-pc2tx-medical-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-335ab-g-butterfly-valve-with-epdm-seals--gear-operator-2-wafer>: HTTP status code is not handled or not allowed 2026-01-28 03:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-367di-g-butterfly-valve-with-buna-seals--gear-operator-5-lug>: HTTP status code is not handled or not allowed 2026-01-28 03:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-w541-256thfna9076-10hp-460v-1200rpm-3ph-256t-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 03:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54596 pages (at 91 pages/min), scraped 28107 items (at 54 items/min) 2026-01-28 03:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifeline-erc-400-switchboard-unit-medical-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haze-hzb-ev12-18-sealed-lead-acid-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d017-056b34d5302-5hp-3600rpm-230v-1ph-56h-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 03:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-motor-r361-63t17fh5402-1-4-18hp-1800rpm-230-460v-3ph-63-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 03:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upg-ub12220-40696-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-4389-5kh39qn9548x-1-6-1-18hp-1725-1140rpm-115v-1ph-48-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 03:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amstron-ap-613f1-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-motor-x301-048a17t72-1-6-hp-1625-rpm-115-v-1-ph-48y-teao>: HTTP status code is not handled or not allowed 2026-01-28 03:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-gal-open-top-wastebasket-sat-alum-new-yorker-collection-922-sa>: HTTP status code is not handled or not allowed 2026-01-28 03:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-gal-open-top-wastebasket-sat-alum-new-yorker-collection-1223-sa>: HTTP status code is not handled or not allowed 2026-01-28 03:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-4686-5kc46ln0269x-3-4hp-1725rpm-115-208-230v-1ph-56z-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 03:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440231250-stikitpaper-disc-roll-426u-5dia-x-nh-p150-grit>: HTTP status code is not handled or not allowed 2026-01-28 03:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orange-traffic-cone-mount-retracting-belt-barrier-10-caution-do-not-enter-belt>: HTTP status code is not handled or not allowed 2026-01-28 03:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-traffic-cone-mount-retracting-belt-barrier-30-danger-keep-out-belt>: HTTP status code is not handled or not allowed 2026-01-28 03:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelon-blue-wire-shelving-unit-add-on-72w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 03:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2008ulbd20r-power-strip-125v-8-20a-outlets-20l-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 03:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nm2017-internal-elbow-120v-15a-2l>: HTTP status code is not handled or not allowed 2026-01-28 03:57:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/general_purpose_sealed_lead_acid_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-neoprene-commercial-grade-60a-rubber-sheet-1-8-thick-x-36-wx-12-l>: HTTP status code is not handled or not allowed 2026-01-28 03:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-kingdom-ps17-12-sealed-lead-acid-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-48w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 03:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energy-drink-original-sugar-free-83-oz-24carton>: HTTP status code is not handled or not allowed 2026-01-28 03:57:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/general_purpose_sealed_lead_acid_batteries landed on page that is not a product page. 2026-01-28 03:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-black-epoxy-wire-shelving-unit-starter-48w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 03:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-36w-x-30d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 03:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-60w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 03:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ortho-kinetics-lark-3-4-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leisure-lift-scout-m-m2-wheelchair-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-sprint-mx-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:57:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/paper_trimmers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-alante-dx-gp204-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500153368-radial-bristle-disc-thin-bristle-3-4-dia-x-1-16-arbor>: HTTP status code is not handled or not allowed 2026-01-28 03:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-54w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 03:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-39004350-12-male-pipe-x-38-female-pipe-swivel>: HTTP status code is not handled or not allowed 2026-01-28 03:57:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/paper_trimmers landed on page that is not a product page. 2026-01-28 03:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activecare-medical-2410c-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-coupler-39040920-12-body-coupler-set-ball-12fnpt>: HTTP status code is not handled or not allowed 2026-01-28 03:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelterlogic-22705-pro-pop-up-canopy-straight-leg-cover-10-ft-x-20ft-purple>: HTTP status code is not handled or not allowed 2026-01-28 03:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-174-slim-jim-174-1901992-stainless-steel-step-on-can-front-step-13-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 03:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54695 pages (at 99 pages/min), scraped 28169 items (at 62 items/min) 2026-01-28 03:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-add-on-72w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 03:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-6-5-16-inch-dia-cw-2000-rpm-1-2-inch-bore-2-15-16-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 03:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-poly-z-brite-wire-shelving-unit-starter-60w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 03:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-model-32-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dfl-f-24x48-drainable-blade-fixed-louver-with-flange-24wx48h>: HTTP status code is not handled or not allowed 2026-01-28 03:58:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-z-brite-wire-shelving-unit-starter-60w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 03:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sleeve-bearings-with-insulator-oiler-3-4-inch-shaft-diameter>: HTTP status code is not handled or not allowed 2026-01-28 03:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-avenger-4-wheel-scooter-wheelchair-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 03:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-4-3-4-inch-dia-ccw-3450-rpm-1-2-inch-bore-5-1-8-inch-w-aluminium>: HTTP status code is not handled or not allowed 2026-01-28 03:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-4-27-32-inch-dia-ccw-3600-rpm-1-2-inch-bore-7-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 03:58:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-z-brite-wire-shelving-unit-starter-24w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 03:58:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 03:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-numbers-4h-white>: HTTP status code is not handled or not allowed 2026-01-28 03:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-113-hobby-knife-large>: HTTP status code is not handled or not allowed 2026-01-28 03:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-fixed-hub-fan-blade-5-1-2-inch-dia-27-pitch-ccw-1-4-inch-bore-3-4-inch-blade-depth-4-blade>: HTTP status code is not handled or not allowed 2026-01-28 03:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/902-378-12-pc-jumbo-pack-assorted-flat-and-phillips-1-15-16-power-bit-set>: HTTP status code is not handled or not allowed 2026-01-28 03:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 03:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1pk-125t-tweezer-straight-sharp>: HTTP status code is not handled or not allowed 2026-01-28 03:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-wing-free-air-fan-blade-1-2-inch-interchangeable-hub-alum-blade-cw-18-inch-dia-18-pitch>: HTTP status code is not handled or not allowed 2026-01-28 03:58:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 03:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3gw3di-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-wide-electric-tape-dispenser-with-3-preset-lengths>: HTTP status code is not handled or not allowed 2026-01-28 03:58:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-60-in-w-x-48-in-d-x-96-in-h-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 03:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-cr1218-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:58:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/label_makers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/die-cut-shipping-labels-4-x-6-white-200-roll>: HTTP status code is not handled or not allowed 2026-01-28 03:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sliding-divider-8-inch-h-x-24-inch-d-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:58:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes landed on page that is not a product page. 2026-01-28 03:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-panel-15-inch-x-39-inch-for-18-inch-d-offset-unit-1-inch-o-c-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 03:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/york-wide-light-r2e2-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lighting-tl930219-emergency-light-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:58:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/electrical_boxes_enclosures_raceways/electrical_boxes/electrical_floor_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radiant-barrier-sollt4250rp-250l-x-4w-x-18h-reflectivereflective-perforated>: HTTP status code is not handled or not allowed 2026-01-28 03:58:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-pe1112r-emergency-light-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:58:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_machines/label_makers landed on page that is not a product page. 2026-01-28 03:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-type-ia-multi-position-aluminum-step-ladder-9-step-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-789543200-emergency-light-replacement-battery-8ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 03:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ff61bidpl-built-in-undercounter-auto-defrost-all-refrigerator-white-23-58w>: HTTP status code is not handled or not allowed 2026-01-28 03:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/electrical_boxes_enclosures_raceways/electrical_boxes/electrical_floor_boxes>: HTTP status code is not handled or not allowed 2026-01-28 03:58:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks>: HTTP status code is not handled or not allowed 2026-01-28 03:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedcell-kit-with-xx-large-columns-for-96w-x-42d-bay-white>: HTTP status code is not handled or not allowed 2026-01-28 03:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-all-welded-combination-storage-cabinet-solid-door-36w-x-24d-x-72h-putty>: HTTP status code is not handled or not allowed 2026-01-28 03:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regenerative-blower-ab-101-1-phase-1-stage-05-hp>: HTTP status code is not handled or not allowed 2026-01-28 03:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/best-technologies-nydxr-emergency-light-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders>: HTTP status code is not handled or not allowed 2026-01-28 03:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rd-610x25-f-navy-blue-room-divider>: HTTP status code is not handled or not allowed 2026-01-28 03:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54788 pages (at 93 pages/min), scraped 28218 items (at 49 items/min) 2026-01-28 03:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-24ind-x-60inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 03:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-high-cap-boltless-shelving-steel-deck-add-on-72in-w-x-48in-d-x-96in-h>: HTTP status code is not handled or not allowed 2026-01-28 03:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm660fa-grizzly-660cc-atv-replacement-battery-2002-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-outlander-max-650-650cc-atv-replacement-battery-2007-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-180-individual-v-track-length-180>: HTTP status code is not handled or not allowed 2026-01-28 03:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-72-in-w-x-24-in-d-x-60-in-h-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 03:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imported-universal-right-angle-irons-ground-finish-6-inch-x-6-inch-x-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 03:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m30-metric-eyebolt-shoulder-pattern-m30-x-350>: HTTP status code is not handled or not allowed 2026-01-28 03:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-dog-chopper-1750cc-motorcycle-replacement-battery-2003-2004-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-caponord-1000cc-motorcycle-replacement-battery-2011-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-service-cart-rsc-2448-3-3k-tld-95-3000-lb-cap-top-lip-down-3-shelves>: HTTP status code is not handled or not allowed 2026-01-28 03:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/malaguti-mistral-50cc-motorcycle-replacement-battery-1963-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-4-station-with-electronic-faucet-wall-mount-80l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-28 03:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gpl500-safety-goggle-with-flip-face-guard-anti-fog-green-lens-black-strap>: HTTP status code is not handled or not allowed 2026-01-28 03:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-guzzi-nevada-350cc-motorcycle-replacement-battery-1990-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-fx-1800cc-personal-watercraft-replacement-battery-2009-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 03:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/284550000-graduated-cylinder-polypropylene-100ml>: HTTP status code is not handled or not allowed 2026-01-28 03:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heartway-bolero-spf2s-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bladez-xtr-comp2-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/theradyne-ev1866-mobility-scooter-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 03:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-48-x-24-1-drawer-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 03:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-1130-2-clip-plates-for-hybridization-tubes>: HTTP status code is not handled or not allowed 2026-01-28 03:59:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-heavy-duty-workbench-48w-x-24d-x-36h-3600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 03:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-stp-stl-safet-stair-slp-roll-lad-wt-actu-24-expan-stp-wa-sw123214x>: HTTP status code is not handled or not allowed 2026-01-28 03:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-stp-stl-safet-stair-slp-roll-lad-wt-actu-24-expan-stp-wa-sw83214x>: HTTP status code is not handled or not allowed 2026-01-28 03:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl28n30b-commercial-kuhl-windowwall-air-conditioner-28000-btu-98-eer>: HTTP status code is not handled or not allowed 2026-01-28 03:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/650-52m-manniglas-1900-gasket-material-24l-x-24w-x-1-8h-3-pk>: HTTP status code is not handled or not allowed 2026-01-28 03:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-42w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 03:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxi-soil-locker-llmcsd-gosv-silvervein-24-5-16-x-21-1-4-x-84-1-2>: HTTP status code is not handled or not allowed 2026-01-28 03:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kn-rp37c-rattle-paddle-37-red>: HTTP status code is not handled or not allowed 2026-01-28 03:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-stationary-deal-tray-14w-x-12d-x-1-5-8h>: HTTP status code is not handled or not allowed 2026-01-28 03:59:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos landed on page that is not a product page. 2026-01-28 03:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rascal-355-fold--go-mobility-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoveround-scout4whl-mobility-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 03:59:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/stands/computer_stands_carts/computer_workstations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 03:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54886 pages (at 98 pages/min), scraped 28282 items (at 64 items/min) 2026-01-28 03:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-pouch-with-side-opening-magnetic-strip-3-12h-x-5l>: HTTP status code is not handled or not allowed 2026-01-28 03:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pacesaver-plus-iii-atlas-plus-3atlas-mobility-scooter-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 04:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1861-cantilever-rack-single-sided-upright-61d-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 04:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-merchandising-strip-wsuction-cup-silver>: HTTP status code is not handled or not allowed 2026-01-28 04:00:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/stands/computer_stands_carts/computer_workstations landed on page that is not a product page. 2026-01-28 04:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rs-vector-ltx-gt-973cc-snowmobile-replacement-battery-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 04:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-le-4-tec-1200-snowmobile-replacement-battery-2011-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 04:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-48w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econ-grip-tite-h-clip-3l-34w>: HTTP status code is not handled or not allowed 2026-01-28 04:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-grand-touring-380-fan-380cc-snowmobile-battery-2002-2003-12v>: HTTP status code is not handled or not allowed 2026-01-28 04:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-wic1-lw-fits-wesco-model-272748>: HTTP status code is not handled or not allowed 2026-01-28 04:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-skandic-wide-track-lc-500cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 04:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-fst-iq-cruiser-750cc-snowmobile-replacement-battery-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 04:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cable-2pk>: HTTP status code is not handled or not allowed 2026-01-28 04:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inkcart-cl-246-xl-ast>: HTTP status code is not handled or not allowed 2026-01-28 04:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-54w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-24w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 04:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-frame-sheet-panel-truck-w-floor-lock-36-x-24-2000-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vue-heavy-duty-stool>: HTTP status code is not handled or not allowed 2026-01-28 04:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b33-5l360-v-belt-5-8-x-36>: HTTP status code is not handled or not allowed 2026-01-28 04:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a90-4l920-v-belt-1-2-x-92>: HTTP status code is not handled or not allowed 2026-01-28 04:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-42w-x-24d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:00:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/panel_carts_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b66-5l690-v-belt-5-8-x-69>: HTTP status code is not handled or not allowed 2026-01-28 04:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8215ba-s-breakaway-mesh-hi-vis-safety-vest-class-2-economy-2xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 04:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b297-v-belt-5-8-x-300>: HTTP status code is not handled or not allowed 2026-01-28 04:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/panel_carts_trucks>: HTTP status code is not handled or not allowed 2026-01-28 04:00:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-ejmm3613t-g-3-phase-5-hp-208-230-460-volts-3600-rpm-60-hz-tefc-184jm>: HTTP status code is not handled or not allowed 2026-01-28 04:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rackguard-4-w-x-3-d-x-23-1-2-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 54983 pages (at 97 pages/min), scraped 28351 items (at 69 items/min) 2026-01-28 04:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-ehm3710t-5-3-ph-75-hp-575-v-1770-rpm-tefc-213t-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:00:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/serveware_tableware/ashtrays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-28 04:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-iqcrew-40x-1000x-dual-illumination-microscope-2mp-digital-eyepiece-slide-prep-book-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-42w-x-24d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-8482-modular-drawer-cabinet-3-drawers-w-lock-w-o-dividers-30x27x29-1-2-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:01:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/serveware_tableware/ashtrays landed on page that is not a product page. 2026-01-28 04:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-30w-x-18d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-36w-x-18d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-48w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:01:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/crayons_markers_chalk already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-40-hp-1770-rpm-3-ph-324t-opsb>: HTTP status code is not handled or not allowed 2026-01-28 04:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-72wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolution-deluxe-short-brim-hard-hat-hdpe-shell-6-pt-suspension-w-ratchet-adjustment-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/log-splitter-wheel-hs408b-34ia-480-8-3-4-bearing-lrb>: HTTP status code is not handled or not allowed 2026-01-28 04:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/crayons_markers_chalk>: HTTP status code is not handled or not allowed 2026-01-28 04:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-rack-for-benchmixer-xl-xlq-96-x-0-5ml-8mm>: HTTP status code is not handled or not allowed 2026-01-28 04:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-460-v-150-hp-3570-rpm-3-ph-445ts-tefc>: HTTP status code is not handled or not allowed 2026-01-28 04:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-60wx21dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-72w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 04:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp83770t-4-3-ph-75-hp-460-v-1765-rpm-tefc-213tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7440-keyed-different-lockout-padlock-1-12-inch-non-conductive-shackle-blue-09801>: HTTP status code is not handled or not allowed 2026-01-28 04:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blood-bag-buckets-750ml-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74hb40-75-keyed-different-lockout-padlock-non-conductive-3-inch-shackle-orange-09843>: HTTP status code is not handled or not allowed 2026-01-28 04:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-42wx24dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-36wx14dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1aa-ssmach-rod-end-machined-304-stainless-1-4-20-x-1-1-2>: HTTP status code is not handled or not allowed 2026-01-28 04:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-35-x-55-x-27mm>: HTTP status code is not handled or not allowed 2026-01-28 04:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-of-5-washable-replacement-thermofiber-cloths>: HTTP status code is not handled or not allowed 2026-01-28 04:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp3770t-3-ph-75-hp-230-460-v-1770-rpm-tefc-213tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-height-computer-workstation-96-x-36-wood>: HTTP status code is not handled or not allowed 2026-01-28 04:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-54wx14dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-safe-wmc-1-059511h-ws23-9-1-2-w-x-11-d-x-5-h-2-pistol-cap-hasp-lock-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bistro-height-rectangular-pedestal-table-36-x-72-with-gray-nebula-top-black-x-base>: HTTP status code is not handled or not allowed 2026-01-28 04:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wd-industrial-steel-mezzanine-16w-x-11d-x-9h-clearance>: HTTP status code is not handled or not allowed 2026-01-28 04:01:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/mezzanines_modular_structures/catwalks_mezzanines/stair_landing_platforms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:01:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/odor_control already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-54wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-steel-roll-ladd-rear-exit-gate-24-30-plat-perf-rwsr112246-xr>: HTTP status code is not handled or not allowed 2026-01-28 04:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-30-x-47-x-17mm>: HTTP status code is not handled or not allowed 2026-01-28 04:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/covered-solid-body-padlock-no-141t>: HTTP status code is not handled or not allowed 2026-01-28 04:01:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/mezzanines_modular_structures/catwalks_mezzanines/stair_landing_platforms landed on page that is not a product page. 2026-01-28 04:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55076 pages (at 93 pages/min), scraped 28406 items (at 55 items/min) 2026-01-28 04:01:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/odor_control landed on page that is not a product page. 2026-01-28 04:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crane-lift-kit-steel-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-pro-gloves-pu-coated-palm-fingers-cut-a5-abrasion-4-puncture-4-gray-black-s>: HTTP status code is not handled or not allowed 2026-01-28 04:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blower-and-mounting-kit-for-dc-intergral-hp-motor-cat-no-ending-in-p-fvb6400-360-400-motor-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/herman-all-purpose-chair>: HTTP status code is not handled or not allowed 2026-01-28 04:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-air-pump-4-hp-3-gallon-4-way-3-position-manual-valve>: HTTP status code is not handled or not allowed 2026-01-28 04:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-42w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 04:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-acting-hydraulic-cylinder-100-ton-13-stroke>: HTTP status code is not handled or not allowed 2026-01-28 04:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpm-ac-mounting-conversion-kit-417077-184-tenv-tebc-tefc-for-fl180>: HTTP status code is not handled or not allowed 2026-01-28 04:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8740-ultra-containment-berm-modular-model-6-x-8-tan>: HTTP status code is not handled or not allowed 2026-01-28 04:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compressed-air-hose-90006130-14-mnpt-x-14-mnpt-30-l-x-38-id>: HTTP status code is not handled or not allowed 2026-01-28 04:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-wwd200-double-waffle-maker-commercial-120v>: HTTP status code is not handled or not allowed 2026-01-28 04:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-72w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-42w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-450l-pipette-mla-dtipper-silver>: HTTP status code is not handled or not allowed 2026-01-28 04:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w5692-3-griddle-scraper-white-3>: HTTP status code is not handled or not allowed 2026-01-28 04:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-add-on-96inw-x-42ind-x-192inh-7160-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-add-on-96inw-x-42ind-x-96inh-5030-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:02:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/metalworking_fluids_accessories/cutting_oils_lubricants already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-mc400-125-375-vhs-alternate-coupling-bore-size-125-frame-404tp-or-405tp>: HTTP status code is not handled or not allowed 2026-01-28 04:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-mc360-14375-vhs-alternate-coupling-bore-size-14375-frame-364tp-or-365tp>: HTTP status code is not handled or not allowed 2026-01-28 04:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commute-task-chair-low-back-18-14---22-14h-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 04:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/metalworking_fluids_accessories/cutting_oils_lubricants>: HTTP status code is not handled or not allowed 2026-01-28 04:02:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/harnesses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manway-gasket-spiral-wound-11-x-15-x-1516-025-thick-elliptical-pk-3>: HTTP status code is not handled or not allowed 2026-01-28 04:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/controls-merz-w656-3-ac-reversing-switch-maintained-3-pole-80a-4-hole-front-mount>: HTTP status code is not handled or not allowed 2026-01-28 04:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mototrbo-cm200d-two-way-mobile-radio-analogdigital-uhf-16-channels-40-watts-black>: HTTP status code is not handled or not allowed 2026-01-28 04:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-manway-gasket-11-x-1434-x-112-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6476-thermal-insulated-freezer-jacket-m-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-434-x-658-x-34-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:02:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fall_protection/harnesses landed on page that is not a product page. 2026-01-28 04:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-vent-gravity-blower-2302-135-cfm>: HTTP status code is not handled or not allowed 2026-01-28 04:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-pipe-swivel-to-female-pipe-straight-h9255x20x20-1-1-4-inch-npsm-swivel-nut-1-1-4-inchfnpt>: HTTP status code is not handled or not allowed 2026-01-28 04:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55168 pages (at 92 pages/min), scraped 28467 items (at 61 items/min) 2026-01-28 04:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-reservoir-smc70a-70-gal-side-mount-aluminum-reservoir>: HTTP status code is not handled or not allowed 2026-01-28 04:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-portfolio-self-adhesive-vinyl-floor-tile-12-x-12-cobble-mosaic-9-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-nexus-self-adhesive-vinyl-floor-tile-12-x-12-travatine-marble-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hangcha-a-series-electric-lithiumion-walkie-pallet-jack-3000-lbs-capacity-27x-48-forks>: HTTP status code is not handled or not allowed 2026-01-28 04:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-pallet-rack-netting-1-net-111-x-3-16-x-48-2500-lb-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 04:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wing-type-quick-detach-hydraulic-coupler-qddp202-1-1-4-inch-npt-coupler-dust-cap-w-chain>: HTTP status code is not handled or not allowed 2026-01-28 04:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forged-welding-flange-fssw125-1-1-4-inch-stainless-steel-2847-inch-od-0134-inch-thick>: HTTP status code is not handled or not allowed 2026-01-28 04:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husky-pallet-rack-solid-beam-96x5-1-2-heavy-duty>: HTTP status code is not handled or not allowed 2026-01-28 04:03:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl47-5-1-182-4tc-helical-inline-speed-reducer-182-4tc-input-flange-5-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 04:03:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hooded-fleece-sweater-14-25-oz-flame-resistant-xl-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:03:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl97-60-1-213-5tchelical-inline-speed-reducer213-5tc-input-flange60-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 04:03:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-full-zip-hooded-sweater-reflective-3xl-tall-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:03:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 04:03:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 04:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-2xl-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:03:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 04:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clark-foam-products-1001159-foam-sheet-200100-poly-charcoal-1x24x24>: HTTP status code is not handled or not allowed 2026-01-28 04:03:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 04:03:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-full-zip-hooded-sweater-reflective-l-orange>: HTTP status code is not handled or not allowed 2026-01-28 04:03:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 04:03:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 04:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-full-zip-hooded-sweater-reflective-m-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:03:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-29l-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:03:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purp-truck-chest-black-alum-full-size-13-1-cu-ft-cap-664-5-01>: HTTP status code is not handled or not allowed 2026-01-28 04:03:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 04:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000-series-chair-2000-cb-ev-bl-esd-vinyl-chrome-base-18-23h-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:03:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-7-dia-x-52h-blue-w-white-tape-7x52bluw>: HTTP status code is not handled or not allowed 2026-01-28 04:03:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 04:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-protection-cage-single-panel-4-x-4-t-rex4x4-one-side-only>: HTTP status code is not handled or not allowed 2026-01-28 04:03:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:03:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes>: HTTP status code is not handled or not allowed 2026-01-28 04:03:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-30w-x-29l-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:03:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:03:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-table-72-l-x-36-w-rectangular-black-granite-top>: HTTP status code is not handled or not allowed 2026-01-28 04:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 04:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55246 pages (at 78 pages/min), scraped 28509 items (at 42 items/min) 2026-01-28 04:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes>: HTTP status code is not handled or not allowed 2026-01-28 04:03:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:03:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-44w-x-33l-green>: HTTP status code is not handled or not allowed 2026-01-28 04:03:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/md-vertical-unit-heater-v161s01-161000-btu-2945-cfm-115v>: HTTP status code is not handled or not allowed 2026-01-28 04:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-window-cleaning-squeegee-washer-194>: HTTP status code is not handled or not allowed 2026-01-28 04:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5454100-36x24x63-shelving>: HTTP status code is not handled or not allowed 2026-01-28 04:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-screw-support-bearing-25tab06up4-single-flush-ground-25mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 04:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-32w-x-36l-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-33w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 04:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-3-standard-digital-force-gauge-100-lbf-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:04:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-28w-x-29l-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-33w-x-28l-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-regular-slotted-single-wall-corrugated-box-16-x-14-x-10-275-lb-ect-44-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-42w-x-36l-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-30w-x-33l-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-31w-x-34l-black>: HTTP status code is not handled or not allowed 2026-01-28 04:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-31w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-28 04:04:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nta512-needle-bearing-thrust-roller-assembly-bore-7925mm>: HTTP status code is not handled or not allowed 2026-01-28 04:04:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jh88-oh-needle-bearing-heavy-drawn-cup-caged-oil-hole-bore-127mm>: HTTP status code is not handled or not allowed 2026-01-28 04:04:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-pencils-sharpened-assorted-12-set>: HTTP status code is not handled or not allowed 2026-01-28 04:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cel11310-1hp-56c-frame-1800rpm-115-230v-odp-c-face-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 04:04:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhyming-bingo-game-age-4-and-up-3-to-36-players-1-box>: HTTP status code is not handled or not allowed 2026-01-28 04:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ft-dvi-dual-link-monitor-cable>: HTTP status code is not handled or not allowed 2026-01-28 04:04:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 04:04:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/instructional_materials/flash_cards_educational_games already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerful-handle-magnet-25-lbs-pull-106l-x-75w-x-2375h-red>: HTTP status code is not handled or not allowed 2026-01-28 04:04:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scott-multi-fold-paper-towels-9-25-x-9-15-white-250-sheetspack-03650>: HTTP status code is not handled or not allowed 2026-01-28 04:04:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:04:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tape-810-3-4-x-1296-boxed-1-core-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 04:04:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horse-gate-g-hrs-br-4>: HTTP status code is not handled or not allowed 2026-01-28 04:04:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:04:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/instructional_materials/flash_cards_educational_games landed on page that is not a product page. 2026-01-28 04:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-ventilated-storage-cabinet-60w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 04:04:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-7-foot-9-inch-long-x-3-4-inch-wide-18-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 04:04:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-44w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 04:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/essentials-computer-workstation-llr48085-41-3-8-w-x-23-5-8-d-x-29-1-2-h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 04:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-drawer-mobile-file-pedestal-llr4952715-w-x-22-9-d-x-27-3-4-h-black>: HTTP status code is not handled or not allowed 2026-01-28 04:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-30w-x-unhemmed-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-42w-x-32l-red>: HTTP status code is not handled or not allowed 2026-01-28 04:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-50w-x-30l-tan>: HTTP status code is not handled or not allowed 2026-01-28 04:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/08110-chinese-chef-s-knife-high-carbon-steel-stamped-8-l>: HTTP status code is not handled or not allowed 2026-01-28 04:04:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weld-curtain-w-hardware-12w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 04:04:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-31w-x-34l-black>: HTTP status code is not handled or not allowed 2026-01-28 04:04:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/competitor-ventilated-three-tier-locker-starter-1-wide-12w-x-18d-x-24h-unassembled-black>: HTTP status code is not handled or not allowed 2026-01-28 04:04:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-adder-1-wide-18w-x-18d-x-36h-unassembled-black>: HTTP status code is not handled or not allowed 2026-01-28 04:04:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55329 pages (at 83 pages/min), scraped 28538 items (at 29 items/min) 2026-01-28 04:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-38-tall-black>: HTTP status code is not handled or not allowed 2026-01-28 04:04:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-30w-x-32l-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sha-013-spring-hangers-2-1-8-l-x-1-1-2-w-x-2-3-4-h>: HTTP status code is not handled or not allowed 2026-01-28 04:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 04:05:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-52w-x-unhemmed-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:05:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 04:05:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-44w-x-unhemmed-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:05:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-35w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:05:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-54-tall-black>: HTTP status code is not handled or not allowed 2026-01-28 04:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-ripstop-cargo-pants-38w-x-36l-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-angle-equal-leg-61192-72-inchl-x-15-inchw-x-15-inchh-x-1-8-inchd-silver-d0236>: HTTP status code is not handled or not allowed 2026-01-28 04:05:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:05:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallbase-dry-back-75499-120-footl-x-4-inchw-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:05:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/containment_berms_pools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-electric-infrared-heater-optional-power-cord-so-8-4-08805102-25-length>: HTTP status code is not handled or not allowed 2026-01-28 04:05:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-60-inch-w-x-14-inch-d-x-54-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 04:05:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:05:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-50w-x-32l-red>: HTTP status code is not handled or not allowed 2026-01-28 04:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 04:05:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-56w-x-30l-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:05:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 04:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-46w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:05:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cesm-21cb-3672-safety-switch-mat-36-x-72-black>: HTTP status code is not handled or not allowed 2026-01-28 04:05:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-satin-enamel-12-oz-aerosol-can-black-792223>: HTTP status code is not handled or not allowed 2026-01-28 04:05:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 04:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-appliance-epoxy-spray-12-oz-aerosol-can-black-epoxy-342691>: HTTP status code is not handled or not allowed 2026-01-28 04:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-ripstop-cargo-pants-52w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:05:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-40w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 04:05:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 04:05:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-painter-3-piece-paint-tray-set-roll-toss-3-8-nap-164871>: HTTP status code is not handled or not allowed 2026-01-28 04:05:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies landed on page that is not a product page. 2026-01-28 04:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/woodsman-100-acrylic-semi-transparent-deck-siding-fence-wood-stain-redwood-gallon-149308>: HTTP status code is not handled or not allowed 2026-01-28 04:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 04:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-direct-online-reset-button-250-500v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 04:05:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-separate-coil-voltage-start-stop-100-250v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 04:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-reset-button-24-60v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 04:05:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 04:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-plastic-shelf-bin-8-3-8w-x-23-5-8d-x-8h-clear>: HTTP status code is not handled or not allowed 2026-01-28 04:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-bulkhead-mid-high-roof-ram-promaster-96141-3-01>: HTTP status code is not handled or not allowed 2026-01-28 04:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elect-contract-van-pack-full-size-ford-transit-600-8114l>: HTTP status code is not handled or not allowed 2026-01-28 04:05:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_storage_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-ladder-back-bar-ht-set-nepal-teak-laminate-table-black-vinyl-chair>: HTTP status code is not handled or not allowed 2026-01-28 04:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55413 pages (at 84 pages/min), scraped 28576 items (at 38 items/min) 2026-01-28 04:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-separate-coil-voltage-start-stop-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 04:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heatwave-floor-heating-mat-hw2012-1000-100-sq-ft-120v>: HTTP status code is not handled or not allowed 2026-01-28 04:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-1640-2rs-sealed-light-duty-087-inch-bore-2-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 04:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-remote-start-reset-button-24-60v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 04:06:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-direct-online-start-stop-100-250v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 04:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/847318-hex-cap-screw-1-2-13-x-4-carbon-steel-zinc-grade-5-pt-unc-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 04:06:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/socket_screws/socket_head_cap_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bayhead-black-plastic-self-dumping-forkli-hopper-1-7-cu-yd-with-caster-base>: HTTP status code is not handled or not allowed 2026-01-28 04:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/340050-split-lock-washer-1-4-steel-zinc-yellow-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 04:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment>: HTTP status code is not handled or not allowed 2026-01-28 04:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/319450-finished-hex-nut-1-4-28-low-carbon-steel-zinc-unf-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 04:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eph-entry-permit-holder-permit-required-confined-space-16-x-22-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 04:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hms4p-hazardous-materials-system-labels-5-58-x-5-58-redyellowwhiteblue-5pk>: HTTP status code is not handled or not allowed 2026-01-28 04:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-remote-start-terminals-start-stop-250-500v-16-20a>: HTTP status code is not handled or not allowed 2026-01-28 04:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/screws/socket_screws/socket_head_cap_screws>: HTTP status code is not handled or not allowed 2026-01-28 04:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262022-toggle-anchor-1-4-20-steel-zinc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 04:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v3c-ss-extension-spring-73-od-x-0915-wire-dia-x-4-oal-199-lbs-in-302-ss>: HTTP status code is not handled or not allowed 2026-01-28 04:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-024-od-x-0038-x-075-music-wire-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 04:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m441rb-sign-eye-wash-station-10-x-14-whitegreen>: HTTP status code is not handled or not allowed 2026-01-28 04:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iris-damper-ir8-8-duct-manual>: HTTP status code is not handled or not allowed 2026-01-28 04:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4ft-cedar-tree-silk-tree-indoor-outdoor>: HTTP status code is not handled or not allowed 2026-01-28 04:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-1899-aluminum-oxide-2-x-60-120-grit>: HTTP status code is not handled or not allowed 2026-01-28 04:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-48-w-x-24-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 04:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-powered-lcd-computer-cabinet-40ah-battery-blue-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 04:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g24-led-flashlight-200-lumens-black>: HTTP status code is not handled or not allowed 2026-01-28 04:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-inpass-1-2-inch-npt-coalescing-filter-16-cfm-8-000-hr-0-01-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 04:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-edge-1-x-32-625-labeling-strip-pack-of-9>: HTTP status code is not handled or not allowed 2026-01-28 04:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intermediate-ul-recognized-nylon-cable-tie-8-l-x-1-8-w-orange-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-5040-orb-single-lever-pull-down-kitchen-faucet-oil-rubbed-bronze>: HTTP status code is not handled or not allowed 2026-01-28 04:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/66-osha-stairway-stair36o-8-66>: HTTP status code is not handled or not allowed 2026-01-28 04:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-wrap-around-calf-protection-isea-ansi-107-class-3-high-visibility-36l>: HTTP status code is not handled or not allowed 2026-01-28 04:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-first-aid-kit-w-dividers-25-person-ansi-compliant-class-a-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 04:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-855-folding-utility-knife>: HTTP status code is not handled or not allowed 2026-01-28 04:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-4-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 04:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55512 pages (at 99 pages/min), scraped 28642 items (at 66 items/min) 2026-01-28 04:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/37-355-jointer-knives-set-of-3-for-dj20>: HTTP status code is not handled or not allowed 2026-01-28 04:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-bolt-flange-mount-bronze-bearing-f2psbr050-press-steel-housing-selfalign-12id>: HTTP status code is not handled or not allowed 2026-01-28 04:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-al330-lefthand-type-a-118l-thread-fits-38-shaft>: HTTP status code is not handled or not allowed 2026-01-28 04:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-18-inch-d-x-86-inch-h-2000-lbs-cap-4-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 04:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-al5-lefthand-type-b-11316l-thread-fits-58-shaft>: HTTP status code is not handled or not allowed 2026-01-28 04:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-frame-folding-tank-alf-1500-123l-x-123w-x-29h-1500-gallon-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-frame-pvc-decontamination-pool-alfdp-48-48l-x-12w-x-55h-230-gallon-cap-green>: HTTP status code is not handled or not allowed 2026-01-28 04:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walker-basket-10200b-included-plastic-insert-tray-cup-holder-aluminum-white>: HTTP status code is not handled or not allowed 2026-01-28 04:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outlet-special-20-wire-stripper-20-mm-insulated-wire>: HTTP status code is not handled or not allowed 2026-01-28 04:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-tapping-screw-8-x-34-flange-hex-head-pkg-of-180-itw-teks174-21312>: HTTP status code is not handled or not allowed 2026-01-28 04:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aero-174-stainless-steel-anesthesia-utility-table-csd-2-1620-2-drawer-flat-top-shelf>: HTTP status code is not handled or not allowed 2026-01-28 04:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-48-inch-w-x-24-inch-d-1000-lbs-cap-removable-open-grid-mat-polymer-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-24-inch-d-x-62-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 04:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gun-safe-1-hr-fire-2-story-impact-rating-mechanical-lock-32w-x-22d-x-59h>: HTTP status code is not handled or not allowed 2026-01-28 04:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x60-metromax-shelf>: HTTP status code is not handled or not allowed 2026-01-28 04:07:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tumbler-7-oz>: HTTP status code is not handled or not allowed 2026-01-28 04:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tray-covers-size-b-8-1-2-x-12-1-4-white-1000-case>: HTTP status code is not handled or not allowed 2026-01-28 04:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sphygmomanometer-nylon-cuff-latex-free-adult-black>: HTTP status code is not handled or not allowed 2026-01-28 04:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensi-wrap-self-adherent-bandage-rolls-wo-rubber-latex-1w-x-5-yards-30-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versatile-4c-mailbox-4c16s-09-56-12h-9-mailboxes-1-parcel-front-loading-beige-usps>: HTTP status code is not handled or not allowed 2026-01-28 04:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sterile-alcohol-prep-pad-large-1000-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sae-combination-wrench-set-120080-6-12-pt-1-4-2-opening-sizes-26-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-phillips-power-bit-12004x-1-15-16l-x-1-4-number2-tip-1-4-hexagon-drive>: HTTP status code is not handled or not allowed 2026-01-28 04:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-torx-power-bit-16325x-1-4-hexagon-t25-drive-3-1-2-long>: HTTP status code is not handled or not allowed 2026-01-28 04:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb4005-8-5-w-sublite-athletic-work-shoe-steel-toe-men-s-size-8-5>: HTTP status code is not handled or not allowed 2026-01-28 04:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensi-wrap-self-adherent-bandage-rolls-3w-x-5-yards-purple-24-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheer-plastic-adhesive-bandages-sterile-2l-x-4-12w-1200-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curafoam-foam-dressing-bandage-2l-x-2w-120-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms327h-traffic-sign-reserved-parking-new-york-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 04:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-cervical-collar-3-x-22-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 04:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toddler-coat-locker-5-wide-48w-x-15d-x-35h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-28 04:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms318g-traffic-sign-reserved-parking-only-michigan-sign-18-x-12-white->: HTTP status code is not handled or not allowed 2026-01-28 04:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/raised-toilet-seat-without-arms-single-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-low-temperature-freezer-230v-abt-230v-2586-25-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 04:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/massage-ball-7-cm-2-8-green-1-each>: HTTP status code is not handled or not allowed 2026-01-28 04:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-round-bolster-25-l-x-4-5-dia-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 04:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-inverted-tissue-culture-microscope-40x-800x-magnification-w-5mp-digital-camera>: HTTP status code is not handled or not allowed 2026-01-28 04:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-fluorescent-ring-light-bulb-12w>: HTTP status code is not handled or not allowed 2026-01-28 04:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55614 pages (at 102 pages/min), scraped 28706 items (at 64 items/min) 2026-01-28 04:07:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/decorative_linear_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/endura-goatskin-leather-gloves-blended-kevlar-lining-ansi-a6-m>: HTTP status code is not handled or not allowed 2026-01-28 04:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-vertebrae-degeneration-stages-of-prolapsed-disc>: HTTP status code is not handled or not allowed 2026-01-28 04:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-chart-sports-injuries-laminated>: HTTP status code is not handled or not allowed 2026-01-28 04:08:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/protective_sleeves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-washable-business-calculator-vct99901-12-digit-lcd-screen-solar-power>: HTTP status code is not handled or not allowed 2026-01-28 04:08:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/decorative_linear_lighting landed on page that is not a product page. 2026-01-28 04:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dymo-thermal-transfer-printer-dym1738976-black-nylon-tape-print-media>: HTTP status code is not handled or not allowed 2026-01-28 04:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-sentinel-armless-chair-floor-mount-stone-gray-w-door>: HTTP status code is not handled or not allowed 2026-01-28 04:08:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:08:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cd-recordable-media-ver94554-cd-r-media-52x-speed-700-mb-capcity>: HTTP status code is not handled or not allowed 2026-01-28 04:08:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/protective_sleeves landed on page that is not a product page. 2026-01-28 04:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inner-ring-for-shell-type-needle-roller-bearing-metric-30mm-bore-35mm-od-305mm-width>: HTTP status code is not handled or not allowed 2026-01-28 04:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76843-bench-grinder-wire-wheels-arbor-1-2-fine-4-crimped>: HTTP status code is not handled or not allowed 2026-01-28 04:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-lime-resistant-full-grain-leather-brown-11m>: HTTP status code is not handled or not allowed 2026-01-28 04:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media>: HTTP status code is not handled or not allowed 2026-01-28 04:08:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media landed on page that is not a product page. 2026-01-28 04:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-manual-upholstered-tilt-table-78l-x-28w-x-32h>: HTTP status code is not handled or not allowed 2026-01-28 04:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loading-dock-safety-net-with-posts-4-feet-x-16-feet>: HTTP status code is not handled or not allowed 2026-01-28 04:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h42053-0001-stacking-polystyrene-desiccator-cabinet-035-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 04:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-heat-gun-kit-1200-degrees-f>: HTTP status code is not handled or not allowed 2026-01-28 04:08:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/concrete_remover already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3282-1a-mp-black-tie-locker-single-tier-12x18x72-3-doors-assembled-black-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 04:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-add-on-unit-36w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 04:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubix-modular-locker-padlockable-12x12x12-diamond-perforated-door-marine-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lb1-bkit-2-18-ga-blue-steel-square-hole-pegboard-w-46-pc-lochook-set>: HTTP status code is not handled or not allowed 2026-01-28 04:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-staple-1-1-4-length-7-16-crown-galvanized-steel-pkg-of-10000>: HTTP status code is not handled or not allowed 2026-01-28 04:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-basket-kit-36-w-x-20-d-x-12-h-2-basket-chrome>: HTTP status code is not handled or not allowed 2026-01-28 04:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapid-load-quick-change-adapter-dw2542-3-8-socket-adapter>: HTTP status code is not handled or not allowed 2026-01-28 04:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-6-bushel-antimicrobial-vinyl-basket-truck-w-antimicrobial-bumper-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-8-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 04:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-case-with-glock-inserts-lock-qf300bklg4-watertight-10-11-16x9-3-4x4-13-16-black>: HTTP status code is not handled or not allowed 2026-01-28 04:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-8-bushel-vinyl-bumper-truck-all-swivel-casters-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-10-bushel-ups-fedex-able-antimicrobial-basket-all-swivel-casters-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-in-tool-ac-ionizer-blower-in5120>: HTTP status code is not handled or not allowed 2026-01-28 04:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-static-safe-hot-gloves-16-2x-large>: HTTP status code is not handled or not allowed 2026-01-28 04:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-glow-photoluminescent-tape-exit-right-1w-x-30l-roll>: HTTP status code is not handled or not allowed 2026-01-28 04:08:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/concrete_remover landed on page that is not a product page. 2026-01-28 04:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-4-pair-boot-rack-1044-stnls-stainless-steel-10-1-2l>: HTTP status code is not handled or not allowed 2026-01-28 04:08:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-direct-drive-axial-roof-vent-5ade12ba-1-4-hp-115v-1-ph-1423-cfm-odp>: HTTP status code is not handled or not allowed 2026-01-28 04:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dimpler-drywall-screw-setter-d60498>: HTTP status code is not handled or not allowed 2026-01-28 04:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gs-diamond-max-centrifuge-tube-50ml-25-re-sealable-bag-polypropylene>: HTTP status code is not handled or not allowed 2026-01-28 04:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55710 pages (at 96 pages/min), scraped 28764 items (at 58 items/min) 2026-01-28 04:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-mixed-flow-8-duct-fan-fkd-8xl-230-230v-836-cfm>: HTTP status code is not handled or not allowed 2026-01-28 04:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-mount-damper-5acc27rd-27-x-27>: HTTP status code is not handled or not allowed 2026-01-28 04:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks>: HTTP status code is not handled or not allowed 2026-01-28 04:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r2100-t-1-blowout-jet-wall-mounted-toiletw-top-spud-stainless-steel-finish>: HTTP status code is not handled or not allowed 2026-01-28 04:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aberdeen-72-inches-w-freestanding-peninsula-72-inches-w-x-36-inches-d-x-29-1-2-inches-h-gray-steel>: HTTP status code is not handled or not allowed 2026-01-28 04:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-power-patrol-sla0905-6v-4-5ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 04:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-series-7-1-2height-3w-6-cast-iron-wheel-rigid-caster>: HTTP status code is not handled or not allowed 2026-01-28 04:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-2-step-tilt-roll-ladder-perforated-tr2-p>: HTTP status code is not handled or not allowed 2026-01-28 04:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900945-blk-pegboard-room-organizer-kit-hardware-included-black-opaque>: HTTP status code is not handled or not allowed 2026-01-28 04:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/es2rl-ac-powered-sensor-faucet>: HTTP status code is not handled or not allowed 2026-01-28 04:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-litefit-climbing-harness-w-slotted-pass-thru-legs-2-d-rings-m-l>: HTTP status code is not handled or not allowed 2026-01-28 04:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-hi-viz-standard-harness-w-tongue-buckle-legs-back-d-ring-m-l>: HTTP status code is not handled or not allowed 2026-01-28 04:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-climbing-construction-harness-w-quick-connect-legs-s>: HTTP status code is not handled or not allowed 2026-01-28 04:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moving-pads-37280-72-x-80>: HTTP status code is not handled or not allowed 2026-01-28 04:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-metal-locker-70018-open-access-24w-x-18d-x-72h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 04:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252316-3-pocket-tri-fold-size-brochure-holder-on-revolving-base-6-base-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-twinleg-pin-adaptor>: HTTP status code is not handled or not allowed 2026-01-28 04:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700508-gre-revolving-pegboard-countertop-display-unit-8-x-20-green>: HTTP status code is not handled or not allowed 2026-01-28 04:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/771620-pnk-pegboard-wall-panel-16-x-20-pink-opaque>: HTTP status code is not handled or not allowed 2026-01-28 04:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-429l-8-1-2-gooseneck-replacement-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 04:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700220-blk-12-pegboard-revolving-countertop-display-4-sided-black>: HTTP status code is not handled or not allowed 2026-01-28 04:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-classic-vortex-mixer-100-240v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-28 04:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700451-wht-three-sided-spinning-pegboard-w-wheels-16-x-60-white-solid>: HTTP status code is not handled or not allowed 2026-01-28 04:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700500-blk-pegboard-countertop-display-16-x-20-black-solid>: HTTP status code is not handled or not allowed 2026-01-28 04:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701436-blu-4-sided-interlocking-pegboard-floor-display-14-x-40-blue-opaque>: HTTP status code is not handled or not allowed 2026-01-28 04:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-rc2-heating-plate-115v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-28 04:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keystock-14-mm-x-14-mm-x-305-mm-316-stainless-steel-plain-undersize-din-6880>: HTTP status code is not handled or not allowed 2026-01-28 04:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-digital-thichness-gauge-set-range-0-1-inch-25mm-throat-1-inch-25mm>: HTTP status code is not handled or not allowed 2026-01-28 04:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-premium-6-inch-12-inch-combination-square-set>: HTTP status code is not handled or not allowed 2026-01-28 04:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-20x20-4-wall-8-lgt-6-dplx-1-dr-wht>: HTTP status code is not handled or not allowed 2026-01-28 04:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-8x8-3-wall-1-lgt-2-dplx-1-dr-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-10x10-2-wall-2-lgt-2-dplx-1-dr-wht>: HTTP status code is not handled or not allowed 2026-01-28 04:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyflex-cut-resistant-gloves-ansell-11-510-black-nitrile-palm-coat-size-10>: HTTP status code is not handled or not allowed 2026-01-28 04:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithium-ion-led-work-light-dcl040-led-bulb-20vmax>: HTTP status code is not handled or not allowed 2026-01-28 04:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-m-scotch-375-plus-machine-length-carton-sealing-tape-2-inch-x-1000-yds-3-1-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 04:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zp-selig-zone-defense-bulk-55-gallon-drum-citrus-scent>: HTTP status code is not handled or not allowed 2026-01-28 04:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-1-tier-1-door-locker-15-in-w-x-15-in-d-x-72-in-h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 04:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-12x16-2-wall-3-lgts-4-dplx-1-door-white>: HTTP status code is not handled or not allowed 2026-01-28 04:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-key-3-8-x-3-8-x-2-form-b-316-stainless-steel-plain-undersize-astm-a484>: HTTP status code is not handled or not allowed 2026-01-28 04:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-inch-light-duty-stowable-stanchion-41-inch-h-black-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 04:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-aluminum-rolling-ladder-24inw-ribbed-tread-28ind-top-step-w-o-handrails>: HTTP status code is not handled or not allowed 2026-01-28 04:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-electric-lift-table-335-x-205-551-lbs-cap-height-6-255-spm-motor>: HTTP status code is not handled or not allowed 2026-01-28 04:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manor-5-piece-outdoor-dining-set-cedar>: HTTP status code is not handled or not allowed 2026-01-28 04:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55812 pages (at 102 pages/min), scraped 28823 items (at 59 items/min) 2026-01-28 04:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-cap-vials-175750005-styrene-polyethylene-19ml-144-pk-clear-w-white-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-12-hex-jam-nut-grade-2-carbon-steel-plain-fine-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 04:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-putty-orange-soft-6-ounce>: HTTP status code is not handled or not allowed 2026-01-28 04:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eris-crown-moulding-mld03x02x04er-312h-x-214d-x-414f-x-9434l>: HTTP status code is not handled or not allowed 2026-01-28 04:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-exercise-putty-green-3-ounce-medium>: HTTP status code is not handled or not allowed 2026-01-28 04:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rocker-board-wooden-with-carpet-front-to-back-60l-x-30w-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 04:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-circular-balance-board-with-3-and-4-balls>: HTTP status code is not handled or not allowed 2026-01-28 04:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-wood-locker-37355-z-style-3-wide-12w-x-15d-x-60h-maple-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 04:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-floor-tiles-sm001-195x195-textured-black>: HTTP status code is not handled or not allowed 2026-01-28 04:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-skin-white-pe-foam-roller-half-round-6-dia-x-36l>: HTTP status code is not handled or not allowed 2026-01-28 04:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-finger-exerciser-green-moderate>: HTTP status code is not handled or not allowed 2026-01-28 04:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/satco-s9710-led-t5-replacement-25w-4000k>: HTTP status code is not handled or not allowed 2026-01-28 04:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-exercise-jump-ball-red-18-45-cm>: HTTP status code is not handled or not allowed 2026-01-28 04:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-foil-tape-12pk-3381-silver-1-7-8-x-150-27-mil>: HTTP status code is not handled or not allowed 2026-01-28 04:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pure-530s-14-strip-cut-shredder-30-sheets-21-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-ton-cap-aluminum-gantry-crane-12-ft-span-adj-height-6-3-min-8-9-max>: HTTP status code is not handled or not allowed 2026-01-28 04:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-tech-heavy-duty-outrigger-pad-30-x-30-x-1-thick-pad30301>: HTTP status code is not handled or not allowed 2026-01-28 04:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-x-3-8in-pink-polyester-mini-roller-covers-2-pack-12-case-3eap038d>: HTTP status code is not handled or not allowed 2026-01-28 04:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbcs-dual-wheel-reverse-braking-casters>: HTTP status code is not handled or not allowed 2026-01-28 04:10:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/casters_wheels/special_purpose_casters_wheels/furniture_fixture_casters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9550m-s-v-blk-integra-vinyl-upholstered-chair-medium-back-aluminum-base-black>: HTTP status code is not handled or not allowed 2026-01-28 04:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-felt-12-d-x-18-l-5-micron-draw-string-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 04:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-polyester-felt-4-1-8-dia-x-8-l-50-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 04:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-2-security-sheet-metal-screw-flat-phillips-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 04:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-1-2-security-machine-screw-flat-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 04:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-six-tier-12x18x12-18-door-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 04:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-office-partition-panel-with-partial-window-36-1-4-w-x-42-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-raceway-48-1-4w-x-46h-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-raceway-60-1-4w-x-46h-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-raceway-60-1-4w-x-47-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-if-seal-is-broken-2-w-x-110-yards-white-red>: HTTP status code is not handled or not allowed 2026-01-28 04:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-degree-swivel-elbow-1-2-tube-x-1-4>: HTTP status code is not handled or not allowed 2026-01-28 04:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-36w-x-14d-x-14h-1-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 04:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-24w-x-24d-x-63h-4-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 04:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-stand-support-4bh30m31b13-for-13bf-roller-conveyors-adj-25-1-4-to-37-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 04:10:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/casters_wheels/special_purpose_casters_wheels/furniture_fixture_casters landed on page that is not a product page. 2026-01-28 04:10:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/heating_parts_components/thermocouples_thermopiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-coupler-1-2>: HTTP status code is not handled or not allowed 2026-01-28 04:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gm-80-complete-hose-with-plastic-wand>: HTTP status code is not handled or not allowed 2026-01-28 04:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10n25p46an-set-screw-w-full-ball-m10-x-15-thread-25mm-thread-length>: HTTP status code is not handled or not allowed 2026-01-28 04:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16n25p05b-set-screw-w-flat-ball-m16-x-20-thread-25mm-thread-length>: HTTP status code is not handled or not allowed 2026-01-28 04:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-36w-x-18d-x-63h-4-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 04:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-npt-sintered-bronze-muffler-50-micron-145-psi-14-to-176-f>: HTTP status code is not handled or not allowed 2026-01-28 04:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-54w-x-14d-x-34h-2-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 04:10:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/heating_parts_components/thermocouples_thermopiles>: HTTP status code is not handled or not allowed 2026-01-28 04:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultramicrobe-miniboom-6incheslongpack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 04:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55907 pages (at 95 pages/min), scraped 28874 items (at 51 items/min) 2026-01-28 04:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a320-male-connector-with-40-pin-contacts-4-aux>: HTTP status code is not handled or not allowed 2026-01-28 04:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-telesystem-60-multipoint-stirrer-with-telemodul-20-c-controller>: HTTP status code is not handled or not allowed 2026-01-28 04:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189264gz-24w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 04:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189231gz-72w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 04:11:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs landed on page that is not a product page. 2026-01-28 04:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-plastic-step-stand-blue-19-1-2-w-x-14-d-x-12-h-st-1-bl>: HTTP status code is not handled or not allowed 2026-01-28 04:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-189327gz-42w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 04:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wall-style-specimen-trans-bag-prnt-bio-6w-6l>: HTTP status code is not handled or not allowed 2026-01-28 04:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-workbenchadjustable-leg-36-d>: HTTP status code is not handled or not allowed 2026-01-28 04:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-workbenchlower-shelf-72-w-x-12-d>: HTTP status code is not handled or not allowed 2026-01-28 04:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-strips-galvanized-3-x-48-2-pc>: HTTP status code is not handled or not allowed 2026-01-28 04:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-shelves-galvanized-5-x-16-2-pc>: HTTP status code is not handled or not allowed 2026-01-28 04:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-84-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tier-portable-top-clothes-drying-rack-silver-blue-steel-nylon-mesh-48-linear-feet-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-96-h-starter-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-120-h-starter-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 04:11:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-heater-28-x-1-5-ml-tubes>: HTTP status code is not handled or not allowed 2026-01-28 04:11:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-36-w-x-15-d-x-78-h-729-parchment-double-tier-3-wide-knock-down>: HTTP status code is not handled or not allowed 2026-01-28 04:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kahlo-48-square-multipurpose-breakroom-tapered-leg-table-ash-grey-chrome>: HTTP status code is not handled or not allowed 2026-01-28 04:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/westcott-13139-all-purpose-design-line-straight-scissors-metallic-black-8>: HTTP status code is not handled or not allowed 2026-01-28 04:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 04:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-7000124592-ws-12-x-3-performa-rubber-3-4-straight-roller-bearing>: HTTP status code is not handled or not allowed 2026-01-28 04:11:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/clipboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 04:11:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:11:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/scales/portion_price_computing_scales already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-72-h-add-on-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 04:11:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-72-h-add-on-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:11:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/cut_off_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:11:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/clipboards landed on page that is not a product page. 2026-01-28 04:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kimberly-clark-1960-scott-scottfold-towels8-110-x-12-25white175-towelspack>: HTTP status code is not handled or not allowed 2026-01-28 04:11:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-96-h-add-on-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/scales/portion_price_computing_scales>: HTTP status code is not handled or not allowed 2026-01-28 04:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/north-carolina-state-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-28 04:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-72-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 04:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pow-mia-black-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-28 04:11:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 04:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/cut_off_wheels>: HTTP status code is not handled or not allowed 2026-01-28 04:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-72-h-add-on-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 04:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-1095-pump-seal-1-1-8-inch-diameter>: HTTP status code is not handled or not allowed 2026-01-28 04:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-50-foot-medium-duty-pvc-discharge-hose-coupled-with-mxf-aluminum-short-shanks>: HTTP status code is not handled or not allowed 2026-01-28 04:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7151017-screw-1-way-10-24thd-1-1-16-inch-cp>: HTTP status code is not handled or not allowed 2026-01-28 04:11:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-12-inch-x-20-foot-green-pvc-water-suction-hose-assembly-coupled-w-m-x-f-aluminum-short-shank-fittings>: HTTP status code is not handled or not allowed 2026-01-28 04:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-inch-x-20-foot-green-pvc-water-suction-hose-assembly-coupled-w-m-x-f-aluminum-short-shank-fittings>: HTTP status code is not handled or not allowed 2026-01-28 04:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012410-knob-potentiometer-for-woodstone-ovens>: HTTP status code is not handled or not allowed 2026-01-28 04:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012199-fuse-agc-1-1-4-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 04:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 55995 pages (at 88 pages/min), scraped 28918 items (at 44 items/min) 2026-01-28 04:11:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/heavy_duty_floor_jacks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-toe-jack-13200>: HTTP status code is not handled or not allowed 2026-01-28 04:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-works-150-deodorizer-port-rest-5-gal-mulberry-gwbw150mb-05>: HTTP status code is not handled or not allowed 2026-01-28 04:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381488-light-signal-blueround>: HTTP status code is not handled or not allowed 2026-01-28 04:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crepe-paper-masking-tape-cp631-24mmx55m-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-mobile-cabinet8-drawer-90-compart-classic-blueindividual-lock>: HTTP status code is not handled or not allowed 2026-01-28 04:12:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches landed on page that is not a product page. 2026-01-28 04:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ace-207460-self-adhesive-bandage-2>: HTTP status code is not handled or not allowed 2026-01-28 04:12:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/heavy_duty_floor_jacks landed on page that is not a product page. 2026-01-28 04:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901257-sprayhead-6-hole-098-hole-sz-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 04:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-cabinet-9-drawer-111-compart-light-gray-individual-lock>: HTTP status code is not handled or not allowed 2026-01-28 04:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-restaurant-lunchroom-round-counter-height-table-36-x-36-x-36-h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 04:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2231283-grid-dicing-1-2-inch-for-dito-dean>: HTTP status code is not handled or not allowed 2026-01-28 04:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pink-florescent-cable-ties-502208-100-85-100-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:12:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:12:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-2-compartment-wardrobe-cabinet-grey-grill-door-cactus-star-color>: HTTP status code is not handled or not allowed 2026-01-28 04:12:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:12:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-nylon-cable-ties-502111-100-111-long-100-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-black-grill-door-wood-storage-cabinet-dixie-oak-color-finish>: HTTP status code is not handled or not allowed 2026-01-28 04:12:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps>: HTTP status code is not handled or not allowed 2026-01-28 04:12:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings landed on page that is not a product page. 2026-01-28 04:12:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps>: HTTP status code is not handled or not allowed 2026-01-28 04:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-yellow-50-yard-roll>: HTTP status code is not handled or not allowed 2026-01-28 04:12:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-28 04:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-8052-1-medium-base-one-piece-keyless-incandescent-lampholder>: HTTP status code is not handled or not allowed 2026-01-28 04:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-buckle-boots-size-12-rubber-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 04:12:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings landed on page that is not a product page. 2026-01-28 04:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors>: HTTP status code is not handled or not allowed 2026-01-28 04:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gable-mounted-power-attic-ventilator>: HTTP status code is not handled or not allowed 2026-01-28 04:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metmax-acifort-full-safety-boots-w-metatarsal--ankle-protection-15h-size-15-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/851068-male-disconnect-pk-10-22-18-red-1-4>: HTTP status code is not handled or not allowed 2026-01-28 04:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-1048-1-3-4-inch-slicer-meat-table-knob>: HTTP status code is not handled or not allowed 2026-01-28 04:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barnstead-ultrapure-and-organic-removal-cartridge-d0832-full-size-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1721104-screw-tm-door-handle10-32x40-inch-for-southbend-range>: HTTP status code is not handled or not allowed 2026-01-28 04:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urethane-wheel-tire-chock-11-l-x-8-w-x-8-h>: HTTP status code is not handled or not allowed 2026-01-28 04:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dandux-canvas-basket-truck-bulk-truck-8-bushel-white>: HTTP status code is not handled or not allowed 2026-01-28 04:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-unslotted-beam-pair-96-l-6036-lbs-cap-pr>: HTTP status code is not handled or not allowed 2026-01-28 04:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-2-1-2-machine-screw-pan-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 04:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53795-216-2-0-tube-brush-medium-white>: HTTP status code is not handled or not allowed 2026-01-28 04:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-surface-mounted-twin-jumbo-tissue-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 04:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 56088 pages (at 93 pages/min), scraped 28974 items (at 56 items/min) 2026-01-28 04:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-natural-ground-installation-red-cover-black-tapes>: HTTP status code is not handled or not allowed 2026-01-28 04:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53703-216-2-4-tube-brush-medium-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:12:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/machine_screws/flat_head_machine_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011175-brush-short-handle-green>: HTTP status code is not handled or not allowed 2026-01-28 04:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palram-aquila-1500-door-awning-hg9501-5l-x-3w-grey-panel-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:13:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/stands/computer_stands_carts/computer_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-voltage-thermostat-double-pole-heat-only-et9dts>: HTTP status code is not handled or not allowed 2026-01-28 04:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/screws/machine_screws/flat_head_machine_screws>: HTTP status code is not handled or not allowed 2026-01-28 04:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-tank-brush-4-5-7in-black-c27134>: HTTP status code is not handled or not allowed 2026-01-28 04:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-12-w-x-20-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-28 04:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-set-12-suction-insulation-38-od-x-78-od-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 04:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8344-containment-berm-track-belts-30-by-66-pvc-set-of-2>: HTTP status code is not handled or not allowed 2026-01-28 04:13:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:13:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/stands/computer_stands_carts/computer_cabinets landed on page that is not a product page. 2026-01-28 04:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-roof-hatch-36-x-36>: HTTP status code is not handled or not allowed 2026-01-28 04:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-through-access-door-24-x-72>: HTTP status code is not handled or not allowed 2026-01-28 04:13:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31791-16-small-particle-push-broom-soft-pink>: HTTP status code is not handled or not allowed 2026-01-28 04:13:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/evaporative_cooler_accessories/media_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:13:20 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 04:13:21 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:29 2026-01-28 04:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1069-blue-male-quick-disconnect-1-4-inch-tab-wire-gauge-16-14-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:13:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets landed on page that is not a product page. 2026-01-28 04:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cs-sg-12-suregrip-soft-grip-2x-magnifier-110mm-10x-spot-lens>: HTTP status code is not handled or not allowed 2026-01-28 04:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers>: HTTP status code is not handled or not allowed 2026-01-28 04:13:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/evaporative_cooler_accessories/media_pads landed on page that is not a product page. 2026-01-28 04:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-apex153-1200-portable-evaporative-cooler-40-gallon-cap-120v-4000-cfm-516-hp>: HTTP status code is not handled or not allowed 2026-01-28 04:13:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381421-fuse>: HTTP status code is not handled or not allowed 2026-01-28 04:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sign-stand-frame-satin-brass-with-domed-base-28-x-22>: HTTP status code is not handled or not allowed 2026-01-28 04:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-unit-blk-blk-30-black-yellow-w-clamp-belt-end>: HTTP status code is not handled or not allowed 2026-01-28 04:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264563-kason-67314001302-door-magnet-offset-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 04:13:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 04:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-vi-wind-front-brim-safety-helmet-adjustable-one-d-rotor-clamping-system-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2500402-glm801601-80v-pro-series-21-inch-lawn-mower-kit-w2-50ah-batteries-and-charger>: HTTP status code is not handled or not allowed 2026-01-28 04:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150-10-7-digital-floor-level-physician-scale-550-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 04:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/350-10-2-single-ramp-wheelchair-scale-with-handrail-1000-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 04:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-36-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-28 04:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-pallet-jack-chock-pallet-skid-truck-stop>: HTTP status code is not handled or not allowed 2026-01-28 04:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 56182 pages (at 94 pages/min), scraped 29037 items (at 63 items/min) 2026-01-28 04:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-flush-tee-fitting-side-outlet-for-15-tubing-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 04:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-adjustable-saddle-ball-for-2-tubing-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 04:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-pliable-medicine-ball-7-lb-7-diameter-green>: HTTP status code is not handled or not allowed 2026-01-28 04:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-bib-overall-l-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:14:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/ice_machines_equipment/ice_machines/undercounter_ice_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firm-medicine-ball-5-piece-set-1-each-2-4-7-11-15-lb>: HTTP status code is not handled or not allowed 2026-01-28 04:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-on-pail-cover>: HTTP status code is not handled or not allowed 2026-01-28 04:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561552-wall-mount-faucet-economy-w-10-inch-spout>: HTTP status code is not handled or not allowed 2026-01-28 04:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-w-machinery-wire-fence-partition-panel>: HTTP status code is not handled or not allowed 2026-01-28 04:14:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/ice_machines_equipment/ice_machines/undercounter_ice_machines>: HTTP status code is not handled or not allowed 2026-01-28 04:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-x-4-14-stud-wedge-anchor-steel-zinc-pkg-of-20>: HTTP status code is not handled or not allowed 2026-01-28 04:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-ball-elbow-for-2-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 04:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-variable-length-plastic-9-seal-orange-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors>: HTTP status code is not handled or not allowed 2026-01-28 04:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-wire-hasp-one-piece-padlock-seal-red-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-compartment-sink-6>: HTTP status code is not handled or not allowed 2026-01-28 04:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sling-for-glass-panel-lifting-22878-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-blind-rivet-1-8-x-4-4-button-head-up-to-1-4-grip-aluminum-aluminum-pkg-of-500-nbbgamd44db>: HTTP status code is not handled or not allowed 2026-01-28 04:14:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/security_seals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-54-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 04:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-commercial-12-4-20>: HTTP status code is not handled or not allowed 2026-01-28 04:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010481-gasket-door-1-2-hght-solid-door-for-intermetro-industries>: HTTP status code is not handled or not allowed 2026-01-28 04:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/350018-jmd-18-milling-drilling-machine-w-r-8-taper-2hp-115-230v-1-phase>: HTTP status code is not handled or not allowed 2026-01-28 04:14:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/classification_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-commercial-16-3-30>: HTTP status code is not handled or not allowed 2026-01-28 04:14:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/security_seals landed on page that is not a product page. 2026-01-28 04:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-add-on-54-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 04:14:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_cylinders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton14215>: HTTP status code is not handled or not allowed 2026-01-28 04:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/classification_folders>: HTTP status code is not handled or not allowed 2026-01-28 04:14:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/hi_vis_jackets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cpr-mask-with-02-inlet-10-501>: HTTP status code is not handled or not allowed 2026-01-28 04:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-reinforced-tab-manila-file-folder-13-cut-top-tab-letter-100box>: HTTP status code is not handled or not allowed 2026-01-28 04:14:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_cylinders landed on page that is not a product page. 2026-01-28 04:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireproof-3-drawer-vertical-safe-in-file-legal-31-9-16-lx20-13-16-wx40-1-4-h-taupe>: HTTP status code is not handled or not allowed 2026-01-28 04:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireproof-4-drawer-vertical-safe-in-file-legal-31-9-16-lx20-13-16-wx52-3-4-h-black>: HTTP status code is not handled or not allowed 2026-01-28 04:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 56273 pages (at 91 pages/min), scraped 29097 items (at 60 items/min) 2026-01-28 04:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711160-blade-disposable-repl-pkg-6-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 04:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-shirred-pleat-skirting-24h-stage-red>: HTTP status code is not handled or not allowed 2026-01-28 04:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-shirred-pleat-skirting-32h-stage-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/416-12-2-composite-adjustable-spreader-lifting-beam-12-ton-capacity-2-hook-spread>: HTTP status code is not handled or not allowed 2026-01-28 04:15:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010757-pump-seal-kit-for-jackson-dalton-dishwasher>: HTTP status code is not handled or not allowed 2026-01-28 04:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-cover-foam-filled-terry-oversize-with-pocket>: HTTP status code is not handled or not allowed 2026-01-28 04:15:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/hi_vis_jackets landed on page that is not a product page. 2026-01-28 04:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazwoper-emergency-response-operations-dvd-package>: HTTP status code is not handled or not allowed 2026-01-28 04:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262361-faucet-mounting-kit>: HTTP status code is not handled or not allowed 2026-01-28 04:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-oversize-15-x-24-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8015427-capacitor-and-diode-kit-065uf-for-amana-litton>: HTTP status code is not handled or not allowed 2026-01-28 04:15:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 04:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-box-pleat-skirting-24h-stage-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/striped-bar-towel-16x19-white-w-blue-stripe>: HTTP status code is not handled or not allowed 2026-01-28 04:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-safety-parka-jacket-5xl-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-55901-4-18-screw-adj-4mm-tube-x-18-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 04:15:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/hot_cold_packs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soccer-ball-cold-pack-10-case>: HTTP status code is not handled or not allowed 2026-01-28 04:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-80mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 04:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-3-drain-flush-bag>: HTTP status code is not handled or not allowed 2026-01-28 04:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-2xl-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pretzel-lovers-snack-box-salted-flavor-38-count>: HTTP status code is not handled or not allowed 2026-01-28 04:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-gallon-of-snake-oil>: HTTP status code is not handled or not allowed 2026-01-28 04:15:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/hot_cold_packs landed on page that is not a product page. 2026-01-28 04:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-expandable-starter-rack-96x24x84-gray-with-3-level-wood-deck-1100lb-cap-per-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-radius-marker-with-8-radius>: HTTP status code is not handled or not allowed 2026-01-28 04:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boots-cleated-outsole-plain-toe-mens-size-9-15h-white>: HTTP status code is not handled or not allowed 2026-01-28 04:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-upright-frame-bolted-168h-x-42d-24571-lbs-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-89222-08-08-12-tube-x-12-swift-fit-univ-thread-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 04:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1783-brass-burner-orifice-56-11-32-inch-32-thread>: HTTP status code is not handled or not allowed 2026-01-28 04:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-21033-construction-harness-quick-connect-chest-legs-tongue-buckle-waist-s>: HTTP status code is not handled or not allowed 2026-01-28 04:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolt-on-steel-post-for-triple-3-rib-guard-rail-60-in-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171308-valve-rebuild-kit-5gpf-urnl-for-zurn-industries-llc>: HTTP status code is not handled or not allowed 2026-01-28 04:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-hd-boltless-shelving-add-on-36-in-w-x-24-in-d-x-72-in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 56367 pages (at 94 pages/min), scraped 29158 items (at 61 items/min) 2026-01-28 04:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901134-funnel-brew-black-plst-twf35-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 04:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-countertop-freestanding-refrigerator-solid-door-1-cu-ft-abt-hc-ucfs-0104>: HTTP status code is not handled or not allowed 2026-01-28 04:15:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1591169-handle-brush-phu-25-3-4-inch-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 04:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gold-ss-bellman-cart-curved-uprights-1>: HTTP status code is not handled or not allowed 2026-01-28 04:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-aluminum-shim-0094-inch-thick-0002-inch-laminations-24-inch-x-24-inch-sheet>: HTTP status code is not handled or not allowed 2026-01-28 04:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deposit-vault-mailbox-and-parcel-drop-with-pedestal-dvcs0030-rear-access-white>: HTTP status code is not handled or not allowed 2026-01-28 04:16:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes landed on page that is not a product page. 2026-01-28 04:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0020-inch-brass-shim-stock-6-inch-x-100-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 04:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-epfc-3ph-1725rpm-c6t17xk24bb>: HTTP status code is not handled or not allowed 2026-01-28 04:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-85130-03-316-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 04:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-215-dp-1ph-3455rpm-c215k34db2aa>: HTTP status code is not handled or not allowed 2026-01-28 04:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50037-100-alternating-plastic-barrier-chain-hdpe-2-x100-8-51mm-red-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:16:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/two_speed_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-tech-6-legs-f-18dp>: HTTP status code is not handled or not allowed 2026-01-28 04:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-unicoil-hose-bender-for-38-inch-id-072-inch-max-od-hose>: HTTP status code is not handled or not allowed 2026-01-28 04:16:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/carpet_cleaners_extractors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-dividable-6>: HTTP status code is not handled or not allowed 2026-01-28 04:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-short-divider-5>: HTTP status code is not handled or not allowed 2026-01-28 04:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-60110-12-38-12mm-tube-x-38-bspt-thread-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 04:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12mm-tube-fitting-kit-50860n-12-36-assorted-fittings-durham-slide-drawer>: HTTP status code is not handled or not allowed 2026-01-28 04:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx30-dx73-h-closed-clip-style-5-shelf-starter>: HTTP status code is not handled or not allowed 2026-01-28 04:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/carpet_cleaners_extractors>: HTTP status code is not handled or not allowed 2026-01-28 04:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trupunchpunch-and-die-set>: HTTP status code is not handled or not allowed 2026-01-28 04:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elbow-82520n-04-14-male-nptf-x-14-female-nptf-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 04:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-heavy-duty-foam-container-hotcold-16-ounces-white-25bag>: HTTP status code is not handled or not allowed 2026-01-28 04:16:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/two_speed_motors landed on page that is not a product page. 2026-01-28 04:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boardwalk-portion-cup-lids-fits-15-25oz-cups-clear-100sleeve>: HTTP status code is not handled or not allowed 2026-01-28 04:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qr20hs-quick-release-all-ss-hose-clamp-34-inch-1-34-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-parts-wire-basket-lid-24-openings-liner-inch-5x3x1-steel-price-each-for-qty-5>: HTTP status code is not handled or not allowed 2026-01-28 04:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-cu-yd-yellow-self-dumping-forkli-hopper-with-heavy-gauge-base>: HTTP status code is not handled or not allowed 2026-01-28 04:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-tefc-1ph-1740rpm-c184k17fc6cc>: HTTP status code is not handled or not allowed 2026-01-28 04:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b8hs-all-ss-worm-gear-hose-clamp-716-inch-1-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 04:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741325-door-gasket-27-1-4-inch-x-30-3-4-inch-for-delfield>: HTTP status code is not handled or not allowed 2026-01-28 04:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-3ph-1140-950rpm-c6t11nc44aa>: HTTP status code is not handled or not allowed 2026-01-28 04:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-style-setter-mediumweight-plastic-forks-white-1000carton>: HTTP status code is not handled or not allowed 2026-01-28 04:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-3xl-regular-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-hour-big-tall-mesh-back-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 04:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-vented-foam-lids-fits-6-32oz-cups-white>: HTTP status code is not handled or not allowed 2026-01-28 04:16:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-m-short-khaki>: HTTP status code is not handled or not allowed 2026-01-28 04:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-drill-bits-irwin-322054>: HTTP status code is not handled or not allowed 2026-01-28 04:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 56462 pages (at 95 pages/min), scraped 29215 items (at 57 items/min) 2026-01-28 04:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014049-gasket-door-45-x-44cm>: HTTP status code is not handled or not allowed 2026-01-28 04:16:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-drill-bits-irwin-322002>: HTTP status code is not handled or not allowed 2026-01-28 04:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8015511-control-board-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-28 04:17:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils landed on page that is not a product page. 2026-01-28 04:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9310-13w-ledcfl-replacement-lamp-4-pin-g24q-base-4000k-120-277v-horizontal>: HTTP status code is not handled or not allowed 2026-01-28 04:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-drill-bits-irwin-332003>: HTTP status code is not handled or not allowed 2026-01-28 04:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0025-inch-white-plastic-color-coded-shim-stock-5-inch-x-20-inch-flat-sheet>: HTTP status code is not handled or not allowed 2026-01-28 04:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-s-regular-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:17:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-28 04:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-clamps-irwin-vise-grip-19>: HTTP status code is not handled or not allowed 2026-01-28 04:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-special-slatwall-hooks-zinc>: HTTP status code is not handled or not allowed 2026-01-28 04:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011553-door-gasket-16-1-2-inch-x-26-inch-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 04:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-kb2412-1-b2-eco-w-bracket-remote-and-thermostat-240v-12-5kw-1-ph>: HTTP status code is not handled or not allowed 2026-01-28 04:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/isobar-ultra-8-outlet-25ft-2350-joules>: HTTP status code is not handled or not allowed 2026-01-28 04:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-gantry-crane-adjustable-height-2-000-lb-capacity-4>: HTTP status code is not handled or not allowed 2026-01-28 04:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500va-omnismart-tower-6-outlet>: HTTP status code is not handled or not allowed 2026-01-28 04:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1041004-caddy-bar-w-cover-18-inch-x5-inch>: HTTP status code is not handled or not allowed 2026-01-28 04:17:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/tilt_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3271-4-inch-swivel-threaded-stem-caster-with-brake-1-2-inch-13-x-1-1-2-inch-stem-240-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:17:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/reusable_face_masks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-adjustable-fork-pallet-truck-pallet-jack-5500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-hand-lever-actuated-valve-spring-centered-closed-center-g1-8-ports>: HTTP status code is not handled or not allowed 2026-01-28 04:17:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/shipping_travel_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-metal-lever-lock-55-gallon-capacity-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/respiratory_protection/reusable_face_masks>: HTTP status code is not handled or not allowed 2026-01-28 04:17:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/tilt_trucks landed on page that is not a product page. 2026-01-28 04:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bayonet-base-single-contact-socket-8-in-leads>: HTTP status code is not handled or not allowed 2026-01-28 04:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/save-a-stud-rethread-die-12mm-15>: HTTP status code is not handled or not allowed 2026-01-28 04:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/shipping_travel_cases>: HTTP status code is not handled or not allowed 2026-01-28 04:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-45-gallon-self-close-double-door-43-w-x-18-d-x-65-h>: HTTP status code is not handled or not allowed 2026-01-28 04:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06535-1-16-x-4-x-8-plastic-masonry-shim-4816-250pc>: HTTP status code is not handled or not allowed 2026-01-28 04:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/708639b-2-micron-canister-filter-kit-for-dc-1100-dust-collector>: HTTP status code is not handled or not allowed 2026-01-28 04:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-plastic-lever-lock-14-gallon-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-outdoor-ashtray>: HTTP status code is not handled or not allowed 2026-01-28 04:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ezh20-single-level-outdoor-bottle-filling-station-freeze-resistant-evergreen>: HTTP status code is not handled or not allowed 2026-01-28 04:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-unit-connector>: HTTP status code is not handled or not allowed 2026-01-28 04:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-quart-mixer-with-guard-40758-16-amps-nsf>: HTTP status code is not handled or not allowed 2026-01-28 04:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-straight-adapter-10mm-tube-od-x-14-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 04:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3408-5-inch-swivel-stem-caster-for-1-3-16-inch-od-tubing-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:17:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porcelain-4-terminal-wire-connector>: HTTP status code is not handled or not allowed 2026-01-28 04:17:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-length-squeeze-disher-47398-black-1-13-oz-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:17:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=disposable-gloves-11-mil-latex-12-inch-and-powder-free-medical-grade-l already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-grate-wheel-chock>: HTTP status code is not handled or not allowed 2026-01-28 04:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 56553 pages (at 91 pages/min), scraped 29267 items (at 52 items/min) 2026-01-28 04:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals>: HTTP status code is not handled or not allowed 2026-01-28 04:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281398-glass-globe-temp-pc3-1-4-inch-dia-x-6-3-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 04:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011219-kason-11216000001-hinge-1216-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 04:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centurion-saute-pan-3602-2-1-2-quart-3-1-4-depth>: HTTP status code is not handled or not allowed 2026-01-28 04:18:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals landed on page that is not a product page. 2026-01-28 04:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tractor-style-stool-with-chrome-foot-ring-black-no-tilt>: HTTP status code is not handled or not allowed 2026-01-28 04:18:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=disposable-gloves-11-mil-latex-12-inch-and-powder-free-medical-grade-l landed on page that is not a product page. 2026-01-28 04:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tefc-1ph-1725rpm-c6c17wc2gg>: HTTP status code is not handled or not allowed 2026-01-28 04:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50ml-centrifuge-tube-filter-system-0-22um-pes-filter-sterile-12-case>: HTTP status code is not handled or not allowed 2026-01-28 04:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-ft-heavy-duty-cord-set-18-3-svt-105-176-c-black>: HTTP status code is not handled or not allowed 2026-01-28 04:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/new-haven-8-ash-wood-flat-bench-without-back-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-can-opener-bco-2000-1-gear-16-bar-length>: HTTP status code is not handled or not allowed 2026-01-28 04:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fowler-x-depth-22-22-inch-depth-gage>: HTTP status code is not handled or not allowed 2026-01-28 04:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-camlock-gasket-for-1-12-hose-coupling-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 04:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-fender-washer-285-i-d-047-08-thick-steel-zinc-grade-2-pkg-of-100-aza04032>: HTTP status code is not handled or not allowed 2026-01-28 04:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-of-100-buna-n-square-profile-o-rings-dash-114>: HTTP status code is not handled or not allowed 2026-01-28 04:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inoculating-needle-bulk-pack-sterile-yellow-221mm-2000-case>: HTTP status code is not handled or not allowed 2026-01-28 04:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-barstools-black-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 04:18:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gla-00851-1oz-30ml-clear-straight-sided-round-jar-only-43-400-neck-finish-case-of-48>: HTTP status code is not handled or not allowed 2026-01-28 04:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-riser-72-1>: HTTP status code is not handled or not allowed 2026-01-28 04:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-squeeze-dispensers-5116-13-wide-mouth-16-oz>: HTTP status code is not handled or not allowed 2026-01-28 04:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-microfiber-mop-pad-5-inches-x-19-inches-36-pads-per-case>: HTTP status code is not handled or not allowed 2026-01-28 04:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars>: HTTP status code is not handled or not allowed 2026-01-28 04:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x12x60-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdn-multi-task-timer-clock>: HTTP status code is not handled or not allowed 2026-01-28 04:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-dripcut-dredges-caps-4905-191-fine-green-lid>: HTTP status code is not handled or not allowed 2026-01-28 04:18:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3t16f38k-nylon-plastic-adjustable-lever-w-steel-components-1-4-20-x-63-stud>: HTTP status code is not handled or not allowed 2026-01-28 04:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1981149-knife-block-countertop-kbs-for-edlund>: HTTP status code is not handled or not allowed 2026-01-28 04:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-vg-bulk-rack-48-w-x-36-d-x-60-h-add-on-with-corrugated-steel-decking-textured-black>: HTTP status code is not handled or not allowed 2026-01-28 04:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321576-gh-1660zx-large-spindle-bore-lathe-w-acu-rite-200s-taper-attachment-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 04:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321469-gh-1440zx-large-spindle-bore-lathe-w-acu-rite-200s-dro-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 04:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steam-clean-boiler-water-priming-foaming-and-surging-treatment-8-oz-1-qty>: HTTP status code is not handled or not allowed 2026-01-28 04:18:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 04:18:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/condiment_servers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 56648 pages (at 95 pages/min), scraped 29328 items (at 61 items/min) 2026-01-28 04:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241440-door-closer-mechanical>: HTTP status code is not handled or not allowed 2026-01-28 04:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-caster-chairs-moonbeam-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 04:18:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supply-single-probe-temperature-monitoring-device-with-usb-transfer>: HTTP status code is not handled or not allowed 2026-01-28 04:19:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=690157-jtm-2-milling-machine-w-acu-rite-200s-dro-3-axis-x-y-axis-powerfeeds-2-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/condiment_servers>: HTTP status code is not handled or not allowed 2026-01-28 04:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-chairs-light-gray-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 04:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-skid-carousel-turntable-rotating-ring-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:19:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=690180-jtm-4vs-1-variable-speed-vertical-milling-machine-115-230v-1-phase already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:19:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 04:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=690157-jtm-2-milling-machine-w-acu-rite-200s-dro-3-axis-x-y-axis-powerfeeds-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 04:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-72x24-high-capacity-rack-wire-deck-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-2-way-magnetic-diffuser-cover-24-x-24-fits-1-drop-ceiling-grid-systems>: HTTP status code is not handled or not allowed 2026-01-28 04:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-drawer-cabinet-with-72-drawers-34-1-8-w-x-12-1-4-d-x-48-1-8-h>: HTTP status code is not handled or not allowed 2026-01-28 04:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-1211-magnetic-door-gasket-25-1-4-inch-x-71-1-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 04:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-rack-dolly-w-swivel-casters-52290-20-x-20-200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:19:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=690180-jtm-4vs-1-variable-speed-vertical-milling-machine-115-230v-1-phase landed on page that is not a product page. 2026-01-28 04:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-dc-parallel-61rpm-tenv>: HTTP status code is not handled or not allowed 2026-01-28 04:19:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/toasters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1571110-connector-gas-3-4-inch-x48-inch-for-dormont-mfg>: HTTP status code is not handled or not allowed 2026-01-28 04:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-ac-parallel-97rpm-tenv>: HTTP status code is not handled or not allowed 2026-01-28 04:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8991-safety-helmet-visor-anti-fog-smoke>: HTTP status code is not handled or not allowed 2026-01-28 04:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-819wp-extreme-thermal-waterproof-winter-work-gloves-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 04:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-conductive-15>: HTTP status code is not handled or not allowed 2026-01-28 04:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6980-winter-hand-warmer-muff-kit-with-hand-warmers-black>: HTTP status code is not handled or not allowed 2026-01-28 04:19:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/toasters landed on page that is not a product page. 2026-01-28 04:19:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=690210-jtm-2-milling-machine-w-acu-rite-200s-dro-x-y-axis-powerfeeds-2-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6491-reversible-thermal-multi-band-lime>: HTTP status code is not handled or not allowed 2026-01-28 04:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-barstools-light-gray-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 04:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011762-blade-saw>: HTTP status code is not handled or not allowed 2026-01-28 04:19:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/winches_accessories/winch_cables_ropes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/item-a104-016-cr2-front-panel-mounting-disconnet-switches-front-mount-22mm-hole>: HTTP status code is not handled or not allowed 2026-01-28 04:19:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=690210-jtm-2-milling-machine-w-acu-rite-200s-dro-x-y-axis-powerfeeds-2-hp landed on page that is not a product page. 2026-01-28 04:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-viz-heavy-duty-single-scba-wall-case-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:19:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/speakers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1221153-latch-w-1-1-2-inch-strike-ir>: HTTP status code is not handled or not allowed 2026-01-28 04:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/winches_accessories/winch_cables_ropes>: HTTP status code is not handled or not allowed 2026-01-28 04:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/convergence-task-chair-mid-back-16-12-21h-seat-basalt>: HTTP status code is not handled or not allowed 2026-01-28 04:19:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/projectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-instacut-3-1-2-corer-dicer-wedger-15018-1-2-cut-wall-mount>: HTTP status code is not handled or not allowed 2026-01-28 04:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp202gn-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 04:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakeside-stainless-steel-utility-cart-27-x-16-x-32-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:19:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/speakers landed on page that is not a product page. 2026-01-28 04:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-chairs-navy-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 04:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-high-speed-pistol-drill>: HTTP status code is not handled or not allowed 2026-01-28 04:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 56738 pages (at 90 pages/min), scraped 29382 items (at 54 items/min) 2026-01-28 04:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/740s-48-automatic-door-bottom-dba-neoprene>: HTTP status code is not handled or not allowed 2026-01-28 04:19:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/projectors>: HTTP status code is not handled or not allowed 2026-01-28 04:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-chairs-coral-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 04:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681299-chamber-combustion-lt-side-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 04:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-barstools-sky-blue-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 04:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/noheat-hand-dryer-white-die-cast-zinc-alloy-hepa-110-120v-4-3-4-5-amps>: HTTP status code is not handled or not allowed 2026-01-28 04:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs>: HTTP status code is not handled or not allowed 2026-01-28 04:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-stainless-steel-5-leg-iv-height-adjustable-stand-67-98-2-hook>: HTTP status code is not handled or not allowed 2026-01-28 04:20:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x1075-4-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 04:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-all-purpose-cleaner-and-degreaser-32-oz-spray-bottle>: HTTP status code is not handled or not allowed 2026-01-28 04:20:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2491136-bulb-120v-40w-for-amana-litton>: HTTP status code is not handled or not allowed 2026-01-28 04:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x16x16-double-wall-boxes>: HTTP status code is not handled or not allowed 2026-01-28 04:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-walter-pegboard-medical-storage-cabinet-35-5-8-x-16-x-76>: HTTP status code is not handled or not allowed 2026-01-28 04:20:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases landed on page that is not a product page. 2026-01-28 04:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-paul-instrument-medical-supply-cabinet-35-5-8-x-16-x-79-1-4-stainless-steel-shelves>: HTTP status code is not handled or not allowed 2026-01-28 04:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-mat-ii-reversible-drainage-mat-3-ft-x-8-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 04:20:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 04:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20x14x6-double-wall-boxes>: HTTP status code is not handled or not allowed 2026-01-28 04:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-26-7-drawer-rolling-cabinet-red>: HTTP status code is not handled or not allowed 2026-01-28 04:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-30-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-plastic-chain-safety-orange>: HTTP status code is not handled or not allowed 2026-01-28 04:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-24-light-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266226-hinge-lift-off-right-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 04:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x14x12-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 04:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-30-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t65104io-premium-wax-ribbon-83mm-x-450m-awr-8-12-rolls-case>: HTTP status code is not handled or not allowed 2026-01-28 04:20:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/contactors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x2150-2-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 04:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-48-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-21-x-30-black-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-12in-d-x-84in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wiring_devices/contactors>: HTTP status code is not handled or not allowed 2026-01-28 04:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031213-thermostat-375f-30-inch-cap-w-dial-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 04:20:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 56833 pages (at 95 pages/min), scraped 29444 items (at 62 items/min) 2026-01-28 04:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-60in-w-x-24in-d-x-84in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-gallon-rubbermaid-slim-jim-recycling-container-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-1-2-gallon-blender-programmable-electronic-keypad-stainless-steel-2-speeds>: HTTP status code is not handled or not allowed 2026-01-28 04:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-1-4x11-1-4x2-kraft-easy-fold-mailers>: HTTP status code is not handled or not allowed 2026-01-28 04:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torq-bar-blender-48-oz-copolyester-jar-variable-speed-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 04:21:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11ng-sm-12-cal-cm2-ultrasoft-arc-flash-kit-with-fr-coverall-sm-no-gloves>: HTTP status code is not handled or not allowed 2026-01-28 04:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-12-octagone-sign-stop-watch-for-forklifts>: HTTP status code is not handled or not allowed 2026-01-28 04:21:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards landed on page that is not a product page. 2026-01-28 04:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-30-x-48-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-24-round-sign-notice-safety-equipment-must-be-worn-no-exceptions>: HTTP status code is not handled or not allowed 2026-01-28 04:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-dbl-solenoid-valve-pilot-spring-cntred-1-2-nptf-12v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 04:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits>: HTTP status code is not handled or not allowed 2026-01-28 04:21:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2050-standard-smoke-test-kit>: HTTP status code is not handled or not allowed 2026-01-28 04:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/envision-unperforated-paper-towel-rolls-7-7-8x350ft-brown-12-carton>: HTTP status code is not handled or not allowed 2026-01-28 04:21:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-96inw-x-24ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pramac-self-propelled-electric-power-pallet-truck-pallet-jack-2646-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-42-x-18-black>: HTTP status code is not handled or not allowed 2026-01-28 04:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8405-53v-cool-offs-neck-ties-royal-blue-velcro>: HTTP status code is not handled or not allowed 2026-01-28 04:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-steel-decking-60x36x72-add-on>: HTTP status code is not handled or not allowed 2026-01-28 04:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-36-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009404-thermopile-baso-coaxial>: HTTP status code is not handled or not allowed 2026-01-28 04:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009405-thermopile-baso-2-lead>: HTTP status code is not handled or not allowed 2026-01-28 04:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-30-x-18-white>: HTTP status code is not handled or not allowed 2026-01-28 04:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-dbl-solenoid-valve-pilot-spr-cntred-1-8-nptf-24v-dc-2w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 04:21:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 04:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1569-cold-control-with-dial-99-to-447-f>: HTTP status code is not handled or not allowed 2026-01-28 04:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/th450-4-50lb-tank-rack>: HTTP status code is not handled or not allowed 2026-01-28 04:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-96x24x120-starter>: HTTP status code is not handled or not allowed 2026-01-28 04:21:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 04:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-long-sleeve-henley-s-gray-c541ngebslssm>: HTTP status code is not handled or not allowed 2026-01-28 04:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-g-1-8-double-solenoid-valve-pilot-24v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 04:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shc07-1048aa-sanitation-certified-high-performance-7-series-air-curtain-48-inches-wide>: HTTP status code is not handled or not allowed 2026-01-28 04:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-42-x-18-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2801868-support-shelf-gold-bond-plst>: HTTP status code is not handled or not allowed 2026-01-28 04:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-60x24x96-starter>: HTTP status code is not handled or not allowed 2026-01-28 04:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-16-cu-gpt-primary-auto-wire-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-36-x-18-black>: HTTP status code is not handled or not allowed 2026-01-28 04:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preassembled-heat-cable-fg1-50p-50-ft-120v>: HTTP status code is not handled or not allowed 2026-01-28 04:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-powered-c-clamp-mount-agitator-one-third-hp-2-4-inch-propellers>: HTTP status code is not handled or not allowed 2026-01-28 04:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3800-12-master-kit-100-ft-3-outlets>: HTTP status code is not handled or not allowed 2026-01-28 04:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11b3x11-12-cal-ultrasoft-arc-flash-kit-coverall-balaclava-3xl-glove-size-11>: HTTP status code is not handled or not allowed 2026-01-28 04:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 56927 pages (at 94 pages/min), scraped 29496 items (at 52 items/min) 2026-01-28 04:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g-1-2-dbl-solenoid-valve-pilot-spring-cntred-110v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 04:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-in-w-x-64-in-h-panel-with-pass-thru-cable-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511216-coil120v-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 04:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-in-w-x-46-in-h-panel-with-electric-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-ext-pilot-1-8-nptf-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 04:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-24-x-85-feet-air-foam-dispenser-packs>: HTTP status code is not handled or not allowed 2026-01-28 04:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-red-hose-cap-664-152-1-1-2-nh-plastic>: HTTP status code is not handled or not allowed 2026-01-28 04:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-platform-starter-24x66>: HTTP status code is not handled or not allowed 2026-01-28 04:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-36ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Stainless-Steel-Mobile-Computer-Cabinet>: HTTP status code is not handled or not allowed 2026-01-28 04:22:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/concession_stand_equipment/popcorn_machines_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-universal-spanner-wrench-874-4-1-4-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 04:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-hump-rack-cover-137-2-30-x-25-x-6-10-oz-red-vinyl-for-1420-3>: HTTP status code is not handled or not allowed 2026-01-28 04:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241353-channel-heater-wire-stainless-steel-8ft>: HTTP status code is not handled or not allowed 2026-01-28 04:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/concession_stand_equipment/popcorn_machines_supplies>: HTTP status code is not handled or not allowed 2026-01-28 04:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-computer-desk-27-1-2w-x-19d-x-36h-graphite>: HTTP status code is not handled or not allowed 2026-01-28 04:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-performance-utility-pants-46-x-30-navy-pnt9su46x30>: HTTP status code is not handled or not allowed 2026-01-28 04:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-dunnage-rack-30-w-x-18-d-2>: HTTP status code is not handled or not allowed 2026-01-28 04:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw-10l-24w-straight-galvanized-steel-skatewheel-conveyor-22-bf-20-wpf>: HTTP status code is not handled or not allowed 2026-01-28 04:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-hinged-lid-14-bu-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haws-wallmounted-body-spray-8foot-pressure-rated-hose>: HTTP status code is not handled or not allowed 2026-01-28 04:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-18ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gas-fired-unit-heater-with-finger-proof-guard-hd125as0121fban-propane-125000-btu>: HTTP status code is not handled or not allowed 2026-01-28 04:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buckhorn-double-residential-mailbox-post-n1024984-black>: HTTP status code is not handled or not allowed 2026-01-28 04:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx24-dx97-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-28 04:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strongknit-hi-vis-long-sleeve-fr-t-shirt-type-r-class-3-m-t-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-48ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanchion-kit-yellow-4pk-30-of-2-HD-chain-w-c-hooks-incl-3-pole-16-base-41-height>: HTTP status code is not handled or not allowed 2026-01-28 04:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263428-swivel-3-8-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 04:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-web-sling-hd-single-ply-eye-and-eye-with-durable-edge-8-ft-l-2-in-w>: HTTP status code is not handled or not allowed 2026-01-28 04:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-web-sling-light-duty-single-ply-eye-and-eye8-ft-l-x-1-in-w>: HTTP status code is not handled or not allowed 2026-01-28 04:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-thru-deluxe-welded-steel-wardrobe-cabinet-wardrobe-cabinet-36w-x-18d-x-78h-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 04:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57025 pages (at 98 pages/min), scraped 29565 items (at 69 items/min) 2026-01-28 04:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-thru-deluxe-unassembled-steel-wardrobe-cabinet-36w-x-18d-x-78h-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 04:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-24ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kitchen-pegboard-pack-storage-organization-kit-blue-red-32-x-32-x-6>: HTTP status code is not handled or not allowed 2026-01-28 04:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-48ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-72x18x74>: HTTP status code is not handled or not allowed 2026-01-28 04:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-1-security-machine-screw-button-torx-head-steel-zinc-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-40mm-security-machine-screw-flat-spanner-head-18-8-stainless-steel-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-36ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-standard-tool-storage-kit-galvanized-blue-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 04:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8006165-probe-assembly-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 04:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-2-security-machine-screw-button-torx-head-alloy-steel-black-oxide-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-shelf-truck-36x24x92-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-foam-strip-with-high-temp-adhesive-1-4-x-1-x-56>: HTTP status code is not handled or not allowed 2026-01-28 04:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-1-4-security-machine-screw-flat-hex-socket-head-alloy-steel-black-oxide-100-pk-41200>: HTTP status code is not handled or not allowed 2026-01-28 04:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561092-cover-top-freezer-lexan-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-28 04:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-ink-jet-insert-letter-pref-3-in-8-in-150-per-package>: HTTP status code is not handled or not allowed 2026-01-28 04:23:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441635-water-sensor-board-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-28 04:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6ab-x-1-1-2-security-sheet-metal-screw-flat-torx-head-302hq-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dough-retarding-box-cover>: HTTP status code is not handled or not allowed 2026-01-28 04:23:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-steel-emergency-light-12v-54w-lead-calcium>: HTTP status code is not handled or not allowed 2026-01-28 04:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-320-ballerina-2-light-vanity-wall-alabaster-brushed-nickel-18w-x-7-625h>: HTTP status code is not handled or not allowed 2026-01-28 04:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits>: HTTP status code is not handled or not allowed 2026-01-28 04:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-e-aluminum-spec-cam-and-groove-adapter-x-hose-shank>: HTTP status code is not handled or not allowed 2026-01-28 04:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-120w-x-36d-x-120h-cap-per-level-starter-unit>: HTTP status code is not handled or not allowed 2026-01-28 04:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2721140-bearing-front-sides-for-nieco-corp>: HTTP status code is not handled or not allowed 2026-01-28 04:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-edge-work-bench-top-shop-top-48-w-x-30-d-x-1-1-2-thick>: HTTP status code is not handled or not allowed 2026-01-28 04:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24-x-1-security-machine-screw-flat-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:23:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:23:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee landed on page that is not a product page. 2026-01-28 04:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-4-security-machine-screw-flat-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airgo-ultra-lightweight-boot-plain-toe-cleated-outsole-8-h-black-size-9>: HTTP status code is not handled or not allowed 2026-01-28 04:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badger-neoprene-boots-plain-toe-upper-rubber-sole-steel-shank-12-h-blk-size-11>: HTTP status code is not handled or not allowed 2026-01-28 04:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spice-womens-safety-work-boots-steel-toe-7h-size-8w-jet-black>: HTTP status code is not handled or not allowed 2026-01-28 04:23:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 04:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-4-inch-carbon-steel-center-punch-preformed-band-it-clamp-with-5-8-inch-band>: HTTP status code is not handled or not allowed 2026-01-28 04:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spray-mist-two-gallon-chemical-resistant-tank-sprayer>: HTTP status code is not handled or not allowed 2026-01-28 04:23:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spac-trac-4-unit-storage-shelving-chrome-36x24x86>: HTTP status code is not handled or not allowed 2026-01-28 04:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-assist-ea200-hd-wireless-call-button-water-resistant>: HTTP status code is not handled or not allowed 2026-01-28 04:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57117 pages (at 92 pages/min), scraped 29620 items (at 55 items/min) 2026-01-28 04:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281941-handle-for-cres-cor>: HTTP status code is not handled or not allowed 2026-01-28 04:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-hot-vinyl-10-h-x-14-w>: HTTP status code is not handled or not allowed 2026-01-28 04:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/265853-upper-shaft-bearingassembly-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 04:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 04:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-113-high-tension-hacksaw-12-inch>: HTTP status code is not handled or not allowed 2026-01-28 04:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valence-womens-safety-work-boots-steel-toe-7h-size-85w-vegan-midnight-black>: HTTP status code is not handled or not allowed 2026-01-28 04:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x12x84-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sgna027pc-self-closing-safety-gate-25-5-inch-to-29-inch-length-safety-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:24:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcat24-35lwg-edu-contemporary-led-2x4-recessed-troffer-40w-4400l-3500k-0-10v-dim-dlc>: HTTP status code is not handled or not allowed 2026-01-28 04:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010684-sharpening-stone-for-globe-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 04:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-990-2-light-vanity-wall-w-u-channel-glass-white-14w-x-4-75h>: HTTP status code is not handled or not allowed 2026-01-28 04:24:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mail-boss-locking-security-curbisde-mailbox-white>: HTTP status code is not handled or not allowed 2026-01-28 04:24:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-5-cognac-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-cleaning-ribbed-mat-3x5-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 04:24:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 04:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-stopper-for-12in-row-spacer-w-4-screws>: HTTP status code is not handled or not allowed 2026-01-28 04:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009566-cap-tube-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 04:24:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/wall_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-high-legal-adder-empty-black>: HTTP status code is not handled or not allowed 2026-01-28 04:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights>: HTTP status code is not handled or not allowed 2026-01-28 04:24:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:24:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 04:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/number-7-hss-82-drill-and-countersink-plain-type-rh-5-8-inch-body-d-x-1-4-inch-drill-d-x-1-4-inch-drill-l>: HTTP status code is not handled or not allowed 2026-01-28 04:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-358-empire-6-light-chandelier-alabaster-bell-old-bronze-26w-x-14h>: HTTP status code is not handled or not allowed 2026-01-28 04:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/wall_air_conditioners>: HTTP status code is not handled or not allowed 2026-01-28 04:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-10-x-20-super-8-oz-tarp-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:24:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners landed on page that is not a product page. 2026-01-28 04:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pigeon-hole-riser-36-w-shop-desk-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:24:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hose_cord_reels/power_cord_reels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-air-13-hp-30-gallon-two-stage-truck-mount-air-compressor-with-electric-honda-engine>: HTTP status code is not handled or not allowed 2026-01-28 04:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-2-step-steel-rolling-ladder-10-d-top-step-1>: HTTP status code is not handled or not allowed 2026-01-28 04:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-12ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011264-capacitor-assembly-start-run-for-delfield>: HTTP status code is not handled or not allowed 2026-01-28 04:24:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hose_cord_reels/power_cord_reels landed on page that is not a product page. 2026-01-28 04:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elmdftcomdef3457-commercial-air-deflector-vent-cover-for-24-x-24-diffusers>: HTTP status code is not handled or not allowed 2026-01-28 04:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-6-step-steel-rolling-ladder-21-d-top-step-lock-type-a>: HTTP status code is not handled or not allowed 2026-01-28 04:24:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-pack-n-pop-collapsible-traffic-cone-4-led-lights-orange-black-rubber-base-03-501-04>: HTTP status code is not handled or not allowed 2026-01-28 04:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-compact-flammable-cabinet-22-gallon-self-close-door>: HTTP status code is not handled or not allowed 2026-01-28 04:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-geared-trolley-1-ton-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 04:24:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-wheel-1768-sb-8-dia-3w-2500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-plain-trolley-5-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 04:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57207 pages (at 90 pages/min), scraped 29672 items (at 52 items/min) 2026-01-28 04:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-23-33-medium-duty-swivel-caster-23-4-pdr-polyolefin-4-dia-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-electric-chain-hoist-w-chain-container-1-2-ton-20-ft-lift-16-fpm-115v>: HTTP status code is not handled or not allowed 2026-01-28 04:24:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 04:24:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hose_cord_reels/air_water_reels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-chair-mat-for-hard-floor-36w-x-48l-straight-edge-no-packaging>: HTTP status code is not handled or not allowed 2026-01-28 04:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-plain-trolley-8-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 04:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-latex-gloves-powdered-medium>: HTTP status code is not handled or not allowed 2026-01-28 04:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-36inw-x-12ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:25:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights landed on page that is not a product page. 2026-01-28 04:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hose_cord_reels/air_water_reels>: HTTP status code is not handled or not allowed 2026-01-28 04:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/422017-switch>: HTTP status code is not handled or not allowed 2026-01-28 04:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-circuit-board-12rsm36-2>: HTTP status code is not handled or not allowed 2026-01-28 04:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e02-12-e03-13-rigid-caster-e-13-3-ph-polyolefin-3-dia-150-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12ft-aluminum-team-bench-without-back-portable>: HTTP status code is not handled or not allowed 2026-01-28 04:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266225-hinge-butt-4-1-2-inch-stainless-steel-pr>: HTTP status code is not handled or not allowed 2026-01-28 04:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-aluminum-topsider-truck-box-16-13-88-silver-1751656>: HTTP status code is not handled or not allowed 2026-01-28 04:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-plate-clamp-lifting-attachment-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:25:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/chemical_sorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881907-fractional-hp-compressor1-8-hp-115v-hermetic>: HTTP status code is not handled or not allowed 2026-01-28 04:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-truck-600-lbs-capacity-red>: HTTP status code is not handled or not allowed 2026-01-28 04:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-add-on-48inw-x-12ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:25:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/chemical_sorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:25:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-80-inch-high-post-black-epoxy-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennant-nobles-portapac-models-3050-3000-3040-vacuum-bag>: HTTP status code is not handled or not allowed 2026-01-28 04:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011511-lamp-holder>: HTTP status code is not handled or not allowed 2026-01-28 04:25:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/chemical_sorbents landed on page that is not a product page. 2026-01-28 04:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25t4-cl-25w-halogen-w-bi-pin-base>: HTTP status code is not handled or not allowed 2026-01-28 04:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35mr11-nsp-c-35w-halogen-w-sub-minature-2-pin-base>: HTTP status code is not handled or not allowed 2026-01-28 04:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcd5003blk-23-37-full-motion-monitor-wall-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 04:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60t4-g9-fr-60w-halogen-w-double-loop-base>: HTTP status code is not handled or not allowed 2026-01-28 04:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fb32t8-835-u6-env-32w-fluorescent-w-medium-bi-pin-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-28 04:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-line-single-track-seal-top-bag-with-hang-hole-3in-x-4in-4-mil-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 04:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-loading-cardboard-corrugated-boxes-18l-x-7w-x-52h-kraft-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 04:25:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/chemical_sorbents landed on page that is not a product page. 2026-01-28 04:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-w-diamond-sof-tred-mat-black-4>: HTTP status code is not handled or not allowed 2026-01-28 04:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-row-gtg-bleacher-w-mid-aisle-guardrail-27ft-l-dbl-footboard>: HTTP status code is not handled or not allowed 2026-01-28 04:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-umbrella-bag-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 04:25:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs landed on page that is not a product page. 2026-01-28 04:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-assist-telescoping-transmission-jack-1-100-capacity-lbs>: HTTP status code is not handled or not allowed 2026-01-28 04:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-gauge-heavy-duty-48-w-x-24-d-x-78-h-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 04:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antibacterial-plum-foam-hand-wash-1200ml-plum-scent-clear-purple-1912-02>: HTTP status code is not handled or not allowed 2026-01-28 04:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ts-compostable-vacuum-bag-for-ts-prosense-12d-15d-carpetmaster>: HTTP status code is not handled or not allowed 2026-01-28 04:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fc55t5-ho-835-55w-fluorescent-w-2gx13-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-28 04:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-mobile-workbench-shop-top-safety-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-axle-size-3-4-1>: HTTP status code is not handled or not allowed 2026-01-28 04:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-chassis-service-jack-10-ton>: HTTP status code is not handled or not allowed 2026-01-28 04:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-30-d-plastic-laminate-safety-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-28 04:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57306 pages (at 99 pages/min), scraped 29727 items (at 55 items/min) 2026-01-28 04:25:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-performance-surgearrest-p11vt3>: HTTP status code is not handled or not allowed 2026-01-28 04:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teeter-toter-natural-pbark-440n>: HTTP status code is not handled or not allowed 2026-01-28 04:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-notebook-surge-pnoteproc8>: HTTP status code is not handled or not allowed 2026-01-28 04:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-bump-cap-4-point-suspension-orange-19113>: HTTP status code is not handled or not allowed 2026-01-28 04:26:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/frameless_safety_glasses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-executive-vinyl-conference-chair-white>: HTTP status code is not handled or not allowed 2026-01-28 04:26:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 04:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150q-cl-dc-150w-halogen-w-dc-bay-base>: HTTP status code is not handled or not allowed 2026-01-28 04:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-corrugated-boxes-24l-x-20w-x-20h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 04:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-triangular-cup-dolly-4200-phenolic-resin-wheels-1500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/frameless_safety_glasses>: HTTP status code is not handled or not allowed 2026-01-28 04:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-forkli-able-with-lid-1>: HTTP status code is not handled or not allowed 2026-01-28 04:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8015428-switch-rocker-lighted-green-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 04:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-ton-ironworker-3-phase-380v-50-hz-w-hydraulic-accessory-pack-iw55-3p380-ac500>: HTTP status code is not handled or not allowed 2026-01-28 04:26:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tie-bar-30-nexel-174-carts-trucks>: HTTP status code is not handled or not allowed 2026-01-28 04:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dividers-for-6-inch-h-drawer-of-global-modular-drawer-cabinet-36-w-x-24-d-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stiebel-eltron-dhc-e-8-10-9-6-kw-point-of-use-tankless-electric-water-heater-240v>: HTTP status code is not handled or not allowed 2026-01-28 04:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enapc-eco-ibc-bin-sump-only>: HTTP status code is not handled or not allowed 2026-01-28 04:26:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs landed on page that is not a product page. 2026-01-28 04:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-part-reeved-cross-mount-assembly-model-23561201>: HTTP status code is not handled or not allowed 2026-01-28 04:26:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/shop_presses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7300d-dura-polyurethane-chair-black-nylon-base-mushroom-glides-black>: HTTP status code is not handled or not allowed 2026-01-28 04:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-straight-with-carpet-96l-x-18w-x-32h-black>: HTTP status code is not handled or not allowed 2026-01-28 04:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-1-2-security-self-drilling-screw-pan-6-lobe-head-410-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 04:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-poly-p-felt-7-3-50-dia-x-32-l-100-micron-plastic-sure-seal-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 04:26:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/shop_presses landed on page that is not a product page. 2026-01-28 04:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-32-balldriver-screwdriver-10605>: HTTP status code is not handled or not allowed 2026-01-28 04:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-felt-5-1-2-d-x-31-l-5-micron-steel-ring-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 04:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-1-2-x-10-7-8-x-3-1-2-clear-view-dividable-grid-containers>: HTTP status code is not handled or not allowed 2026-01-28 04:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-32-tamperproof-hex-bit>: HTTP status code is not handled or not allowed 2026-01-28 04:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-hvy-duty-alum-reinforced-vinyl-door-sweep-2-38x36-silver>: HTTP status code is not handled or not allowed 2026-01-28 04:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conference-tables-natural-cherry-racetrack-conference-table>: HTTP status code is not handled or not allowed 2026-01-28 04:26:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shorty-forklift-telescopic-jib-boom-crane-8000-lb-capacity-24in-fork-centers>: HTTP status code is not handled or not allowed 2026-01-28 04:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-36w-x-18d-x-63h-4-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 04:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57400 pages (at 94 pages/min), scraped 29788 items (at 61 items/min) 2026-01-28 04:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-42w-x-14d-x-63h-4-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 04:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_filters>: HTTP status code is not handled or not allowed 2026-01-28 04:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-valve-1-4-male-bspp-x-1-4-female-bspt>: HTTP status code is not handled or not allowed 2026-01-28 04:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-seal-bag-6w-6l>: HTTP status code is not handled or not allowed 2026-01-28 04:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-assembled-walker-commode-cover-on-roll-24w-48l>: HTTP status code is not handled or not allowed 2026-01-28 04:27:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/feminine_hygiene_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-plastic-step-stand-long-blue-66-12-w-x-26-12-d-x-10-h-nlst-1-bl>: HTTP status code is not handled or not allowed 2026-01-28 04:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-tier-dedicated-platform-3523-51-holds-five-10in-x-10in-platelet-bags>: HTTP status code is not handled or not allowed 2026-01-28 04:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-24-d-x-96-h-add-on-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:27:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86500-4800s-12c-12-heavy-duty-copper-f-clamp>: HTTP status code is not handled or not allowed 2026-01-28 04:27:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/feminine_hygiene_dispensers landed on page that is not a product page. 2026-01-28 04:27:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-platform-kit-12-x-18-x-72>: HTTP status code is not handled or not allowed 2026-01-28 04:27:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/dry_cleaning_laundry_equipment/ironing_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-48-w-x-48-d-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-12-w-x-12-d-x-78-h-725-hallowell-gray-triple-tier-1-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 04:27:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-72-h-add-on-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-84-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 04:27:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 04:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-18-d-x-87-h-725-hallowell-gray-starter-unit-78-bins>: HTTP status code is not handled or not allowed 2026-01-28 04:27:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 04:27:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/dry_cleaning_laundry_equipment/ironing_boards landed on page that is not a product page. 2026-01-28 04:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chenille-kraft-4092-modeling-clay-assortment-27-12g-each-assorted-bright-220-g>: HTTP status code is not handled or not allowed 2026-01-28 04:27:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 04:27:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/rotary_screw_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-120-h-add-on-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fort-knox-workbench-pedestal-doors-18-w-x-24-d-x-32-h-blk-body-red-doors-1-wide-all-welded-1>: HTTP status code is not handled or not allowed 2026-01-28 04:27:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/classroom_decorations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011552-pin-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 04:27:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 04:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 04:27:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cgw-4-12x035x78-t1-za60t-quickie-cut-reinforced-cutoff-wheel>: HTTP status code is not handled or not allowed 2026-01-28 04:27:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cgw-4-12x040x78-t1-za36t-quickie-cut-reinforced-cutoff-wheel>: HTTP status code is not handled or not allowed 2026-01-28 04:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories>: HTTP status code is not handled or not allowed 2026-01-28 04:27:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/rotary_screw_air_compressors landed on page that is not a product page. 2026-01-28 04:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t8-fluorescent-lamp-f17t8tl835alto-17w-3500k>: HTTP status code is not handled or not allowed 2026-01-28 04:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-sports-sb1020-composite-basketball-official-size-30-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/michigan-state-flag-4x6-nylon>: HTTP status code is not handled or not allowed 2026-01-28 04:27:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/decor_linens/classroom_decorations landed on page that is not a product page. 2026-01-28 04:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igs180-general-protocol-microbiological-incubator-6-85-cu-ft-120v>: HTTP status code is not handled or not allowed 2026-01-28 04:27:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 04:27:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves landed on page that is not a product page. 2026-01-28 04:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imh100-s-advanced-protocol-security-incubator-3-67-cu-ft-120v>: HTTP status code is not handled or not allowed 2026-01-28 04:27:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 04:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-25-foot-pvc-lay-flat-discharge-hose-coupled-with-cxe-aluminum-cam-and-groove-fittings>: HTTP status code is not handled or not allowed 2026-01-28 04:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57481 pages (at 81 pages/min), scraped 29830 items (at 42 items/min) 2026-01-28 04:27:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441641-contactor-240v-40a-for-alto-shaam>: HTTP status code is not handled or not allowed 2026-01-28 04:27:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/heavy_duty_floor_jacks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-25-foot-pvc-lay-flat-discharge-hose-coupled-with-mxf-aluminum-short-shanks>: HTTP status code is not handled or not allowed 2026-01-28 04:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/essentials-series-cherry-laminate-credenza-28lx1175wx1d>: HTTP status code is not handled or not allowed 2026-01-28 04:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-mobile-cabinet-7-drawers-72-compart-light-gray-no-lock>: HTTP status code is not handled or not allowed 2026-01-28 04:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet-6-drawers-84-compart-light-grayindividual-lock>: HTTP status code is not handled or not allowed 2026-01-28 04:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters>: HTTP status code is not handled or not allowed 2026-01-28 04:28:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/heavy_duty_floor_jacks landed on page that is not a product page. 2026-01-28 04:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-mobile-cabinet-8-drawers-90-compart-classic-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 04:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoulder-pulley-exerciser-with-tubing-and-handles-green-medium-1-set>: HTTP status code is not handled or not allowed 2026-01-28 04:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-exercise-band-gold-50-yard-roll-1-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 04:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561151-rod-push-1-7-8-inch-l-3-16-inch-od-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-28 04:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1591120-brush-toilet-bowl-blk-ylw>: HTTP status code is not handled or not allowed 2026-01-28 04:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uv-black-poly-cable-ties-502260-100-8-100-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2801322-corkscrew-blk-plst-hndl-hd>: HTTP status code is not handled or not allowed 2026-01-28 04:28:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-restaurant-lunchroom-square-bar-height-table-42-x-42-x-42-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:28:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-cat-5-phone-data-jack-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 04:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263785-leveler-cushion-glide>: HTTP status code is not handled or not allowed 2026-01-28 04:28:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-2-compartment-wardrobe-storage-cabinet-solid-door-oiled-cherry-color>: HTTP status code is not handled or not allowed 2026-01-28 04:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors>: HTTP status code is not handled or not allowed 2026-01-28 04:28:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:28:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings landed on page that is not a product page. 2026-01-28 04:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-tubing-yellow-100-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 04:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-23654-twp-miniature-base-t5-bi-pin-fluorescent-lampholder>: HTTP status code is not handled or not allowed 2026-01-28 04:28:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-28 04:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1881204-disc-spray-raised-ctr-12-hole-for-bloomfield>: HTTP status code is not handled or not allowed 2026-01-28 04:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77163-16-condensation-squeegee-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-167-medium-base-two-piece-keyless-incandescent-phenolic-lampholder>: HTTP status code is not handled or not allowed 2026-01-28 04:28:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-28 04:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8003300-dv-basket-support-rackh50-52-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 04:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-service-stock-truck-5-shelves-1200-lbs-capacity-36-x-18>: HTTP status code is not handled or not allowed 2026-01-28 04:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010545-grate-broiler-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 04:28:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-safety-fence-4-x-100-orange>: HTTP status code is not handled or not allowed 2026-01-28 04:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-exercise-cord-with-attachments-4-cord-tan>: HTTP status code is not handled or not allowed 2026-01-28 04:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77115-10-double-blade-ultra-hygiene-squeegee-white>: HTTP status code is not handled or not allowed 2026-01-28 04:28:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 04:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57575 pages (at 94 pages/min), scraped 29890 items (at 60 items/min) 2026-01-28 04:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-band-6-yard-roll-box-5-color-set>: HTTP status code is not handled or not allowed 2026-01-28 04:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-small-parts-storage-cabinet-4>: HTTP status code is not handled or not allowed 2026-01-28 04:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-horizontal-towel-dispenser-w-tumbler-lock>: HTTP status code is not handled or not allowed 2026-01-28 04:29:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-tube-rack-3-wide-x-2-deep-22w-x-26d-x-30h6-cylinder-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69714-1-5-stainless-steel-scraper-red>: HTTP status code is not handled or not allowed 2026-01-28 04:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wall-bracket-8w-x-4d-x-2h-1-cylinder-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:29:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 04:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dandux-vinyl-basket-truck-bulk-truck-20-bushel-green>: HTTP status code is not handled or not allowed 2026-01-28 04:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-60w-x-18d-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010847-relay-for-robot-coupe>: HTTP status code is not handled or not allowed 2026-01-28 04:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011027-lamp-fluorescent-tuff-coated-4ft-cs-12-for-bk-industries>: HTTP status code is not handled or not allowed 2026-01-28 04:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-roller-cage-assembly-14mm-bore-19mm-od-18mm-w-steel-cage-material>: HTTP status code is not handled or not allowed 2026-01-28 04:29:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/machine_screws/pan_head_machine_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741288-door-gasket-26-inch-x-27-7-8-inch-inch-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 04:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-cable-number-10-gauge-50l>: HTTP status code is not handled or not allowed 2026-01-28 04:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-cable-clamp-250a-15l>: HTTP status code is not handled or not allowed 2026-01-28 04:29:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:29:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-15-x-60-phenolic-locker-z-style-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 04:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/screws/machine_screws/pan_head_machine_screws>: HTTP status code is not handled or not allowed 2026-01-28 04:29:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-48w-x-12d-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-voltage-thermostat-single-pole-heat-only-aet9swts>: HTTP status code is not handled or not allowed 2026-01-28 04:29:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 04:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1170-chrome-pre-rinse-valve-handle-nut>: HTTP status code is not handled or not allowed 2026-01-28 04:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/canon-6432b001-ink-pgi-250xl-chromalife-100-500-page-yield-black>: HTTP status code is not handled or not allowed 2026-01-28 04:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-24w-x-14d-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts>: HTTP status code is not handled or not allowed 2026-01-28 04:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-48x24x69-1200-pound-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 04:29:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 04:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-production-workbench-phenolic-resin-safety-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-hang-type-magnetic-sweeper>: HTTP status code is not handled or not allowed 2026-01-28 04:29:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901200-shank-faucet-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 04:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conductive-workbench-cleaning-set-utility-brush-dust-pan-black-c80500>: HTTP status code is not handled or not allowed 2026-01-28 04:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261400-male-connector>: HTTP status code is not handled or not allowed 2026-01-28 04:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5380-103-4-216-4-0-pipe-brush-medium-red>: HTTP status code is not handled or not allowed 2026-01-28 04:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-duct-access-door-18-x-18>: HTTP status code is not handled or not allowed 2026-01-28 04:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable>: HTTP status code is not handled or not allowed 2026-01-28 04:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-rectorseal-coupler-2-12l-x-4-14w-x-3h-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-with-stainless-steel-thimble-58-dia-x-50l>: HTTP status code is not handled or not allowed 2026-01-28 04:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57667 pages (at 92 pages/min), scraped 29946 items (at 56 items/min) 2026-01-28 04:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-replacement-media-set-for-apex153-4000-60w-x-8d-x-49-12h>: HTTP status code is not handled or not allowed 2026-01-28 04:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-replacement-12-power-cord-w-gfci-for-apex--jetstream-series-evaporative-coolers>: HTTP status code is not handled or not allowed 2026-01-28 04:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29582-50-basic-aluminum-handle-green>: HTTP status code is not handled or not allowed 2026-01-28 04:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-media-flap-for-apex153-2000-portable-evaporative-coolers>: HTTP status code is not handled or not allowed 2026-01-28 04:30:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/wardrobe_combination_cabinets/wardrobe_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5380-103-3-216-4-0-pipe-brush-medium-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70377-tank-brush-stiff-orange>: HTTP status code is not handled or not allowed 2026-01-28 04:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29752-62-113-telescopic-aluminum-handle-green>: HTTP status code is not handled or not allowed 2026-01-28 04:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-black-yellow-belt>: HTTP status code is not handled or not allowed 2026-01-28 04:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41952-narrow-utility-brush-extra-stiff-green>: HTTP status code is not handled or not allowed 2026-01-28 04:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/317488-16-combo-push-broom-soft-stiff-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-unit-black-chrome-15-black-yellow-belt>: HTTP status code is not handled or not allowed 2026-01-28 04:30:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/wardrobe_combination_cabinets/wardrobe_cabinets landed on page that is not a product page. 2026-01-28 04:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-cube-ice-machine-58lb>: HTTP status code is not handled or not allowed 2026-01-28 04:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2901402-gch8040-80v-pro-series-rapid-battery-charger>: HTTP status code is not handled or not allowed 2026-01-28 04:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381779-fuse-and-lead-assembly-for-waring-products>: HTTP status code is not handled or not allowed 2026-01-28 04:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-outdoor-quartz-electric-infrared-heater-och-46-277ve-277v-2000w-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-tube-2-x-050-x-4-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 04:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-compartment-multi-size-sectional-unit-37-w-x-24-d-x-53-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-diamond-non-reinforced-water-activated-tape-3in-x-600ft-tan>: HTTP status code is not handled or not allowed 2026-01-28 04:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-48-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 04:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-bib-overall-m-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-safety-bib-overall-5xl-black>: HTTP status code is not handled or not allowed 2026-01-28 04:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chc03008-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 04:30:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/saute_pots_pans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44-1435-relay-200-240v>: HTTP status code is not handled or not allowed 2026-01-28 04:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-72-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-28 04:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-add-on-48-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 04:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-wrist-and-ankle-weight-0-5-lb-walnut>: HTTP status code is not handled or not allowed 2026-01-28 04:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-radius-wall-return-for-15-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 04:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ladle-4-oz-1>: HTTP status code is not handled or not allowed 2026-01-28 04:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-cutting-board-2>: HTTP status code is not handled or not allowed 2026-01-28 04:30:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/saute_pots_pans landed on page that is not a product page. 2026-01-28 04:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-insulated-safety-bib-overall-2xl-black>: HTTP status code is not handled or not allowed 2026-01-28 04:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-oz-teal-nsf-heavy-duty-ladle>: HTTP status code is not handled or not allowed 2026-01-28 04:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfc06016-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 04:30:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/glucose_monitoring already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-pom-tong-kool-touch>: HTTP status code is not handled or not allowed 2026-01-28 04:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-pliable-medicine-ball-2-lb-5-diameter-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-4-1-8-w-x-23-5-8-d-x-4-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:30:53 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 04:30:54 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:30 2026-01-28 04:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-30l-x-24w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 04:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57762 pages (at 95 pages/min), scraped 30003 items (at 57 items/min) 2026-01-28 04:30:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/glucose_monitoring landed on page that is not a product page. 2026-01-28 04:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedestal-base-for-yellow-safety-fan>: HTTP status code is not handled or not allowed 2026-01-28 04:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/221125-dial-kit2-d-off-450-100>: HTTP status code is not handled or not allowed 2026-01-28 04:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harloff-standard-line-med-bin-medication-cart-34-patient-bin-drawers-sand>: HTTP status code is not handled or not allowed 2026-01-28 04:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emerald-fixed-tv-wall-mount-for-26-55-tv-351>: HTTP status code is not handled or not allowed 2026-01-28 04:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15180-guard-rail-baseplate>: HTTP status code is not handled or not allowed 2026-01-28 04:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1053-stainless-steel-round-head-10-32-x-3-4-inch-phillips-machine-screw-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-variable-length-plastic-9-seal-red-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-4-panel-square-hole-60-toolholder-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-8-drawer-machinist-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:31:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/security_seals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:31:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-stretch-waist-flex-twill-cargo-pants-30l-inseam-x-29-30-waist-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:31:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:31:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-metal-cable-seal-1-8-wx12-l-green-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-computer-workstation-desk-with-storage-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:31:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders landed on page that is not a product page. 2026-01-28 04:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331391-bar-adapter-21-inch-l-steam-table-for-vollrath-idea-company>: HTTP status code is not handled or not allowed 2026-01-28 04:31:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders landed on page that is not a product page. 2026-01-28 04:31:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves>: HTTP status code is not handled or not allowed 2026-01-28 04:31:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/water_safety/water_rescue_lifeguard_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-54-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 04:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ckt-32-cruiser-bench-checkweighing-scale-70-lb-x-0-002-lb>: HTTP status code is not handled or not allowed 2026-01-28 04:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sinking-reed-switch-1-amp-tie-rod-3m-cbl>: HTTP status code is not handled or not allowed 2026-01-28 04:31:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/security_seals landed on page that is not a product page. 2026-01-28 04:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-stretch-waist-flex-twill-cargo-pants-30l-inseam-x-33-34-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 04:31:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/classification_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-insulated-quilted-jacket-l-olive>: HTTP status code is not handled or not allowed 2026-01-28 04:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/lathes>: HTTP status code is not handled or not allowed 2026-01-28 04:31:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/water_safety/water_rescue_lifeguard_equipment landed on page that is not a product page. 2026-01-28 04:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-commercial-16-4-40>: HTTP status code is not handled or not allowed 2026-01-28 04:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-s-black>: HTTP status code is not handled or not allowed 2026-01-28 04:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-add-on-24-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 04:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-54-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 04:31:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/classification_folders landed on page that is not a product page. 2026-01-28 04:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-3-12-accordion-expansion-front-pockets-13-tab-ltr-manilaredrope-10box>: HTTP status code is not handled or not allowed 2026-01-28 04:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-3-12-accordion-expansion-file-tuff-pockets-straight-legal-redrope-10box>: HTTP status code is not handled or not allowed 2026-01-28 04:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-wall-mount-post-bracket-kit>: HTTP status code is not handled or not allowed 2026-01-28 04:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-72-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 04:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/430-2-8-composite-spreader-beam-2-ton-capacity-8-hook-spread>: HTTP status code is not handled or not allowed 2026-01-28 04:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-shirred-pleat-skirting-8h-stage-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chicago-pneumatic-1-2-heavy-duty-air-impact-wrench-cp734h-8400-rpm-1-2-drive>: HTTP status code is not handled or not allowed 2026-01-28 04:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-4-in-1-safety-jacket-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 04:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-two-tone-surveyor-safety-vest-xl-green-sv6g2xl>: HTTP status code is not handled or not allowed 2026-01-28 04:31:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/hi_vis_jackets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1751154-caster-plate-2-inch-rigid-for-magikitchen-products>: HTTP status code is not handled or not allowed 2026-01-28 04:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57852 pages (at 90 pages/min), scraped 30053 items (at 50 items/min) 2026-01-28 04:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-4-in-1-safety-jacket-3xl-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 04:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-level-tapered-riser-carpet-60l-x-18w-8h-16h-24h-red>: HTTP status code is not handled or not allowed 2026-01-28 04:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rwg52l-kamori-leather-gloves-w-aramid-liner-cut-a4-1-pair-white-l>: HTTP status code is not handled or not allowed 2026-01-28 04:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-needle-valve-82830-04-14-tube-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 04:32:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/hi_vis_jackets landed on page that is not a product page. 2026-01-28 04:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-6-lb-blocks-rose-blossom-fragrance>: HTTP status code is not handled or not allowed 2026-01-28 04:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-rack-holds-10-quart-liter-bottles-single-tier>: HTTP status code is not handled or not allowed 2026-01-28 04:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-3xlt-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 04:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-96x48x60-with-3-shelves-wood-deck-1100-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 04:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capacity-counter-balanced-lift>: HTTP status code is not handled or not allowed 2026-01-28 04:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264100-kason-11806lg0lmp-vapor-proof-retrofit-kit>: HTTP status code is not handled or not allowed 2026-01-28 04:32:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/power-out-alert already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-72x36x60-with-3-shelves-wood-deck-900-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 04:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-black-urethane-reusable-cold-pack-half-size-6-1-2-x-11-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-pack-cover-neck-9-x-25-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-72x48x84-gray-with-3-shelves-laminated-deck-900-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 04:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-440mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 04:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-black-urethane-reusable-cold-pack-neck-6-x-21>: HTTP status code is not handled or not allowed 2026-01-28 04:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-level-wide-span-rack-96x24-wood-deck-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-pipe-flange-aligner-for-3-12-dia-pipe>: HTTP status code is not handled or not allowed 2026-01-28 04:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-single-acting-magnetic-cylinder-12mm-bore-x-10mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 04:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-24>: HTTP status code is not handled or not allowed 2026-01-28 04:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-85973-04-04-screw-adj-14-tube-x-14-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 04:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-insulated-ice-bag-with-hook-loop-band-5-x-13>: HTTP status code is not handled or not allowed 2026-01-28 04:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-double-acting-magnetic-cylinder-20mm-bore-x-160mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 04:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-vinyl-reusable-cold-pack-half-size-7-x-11-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-heavy-duty-shelving-48x24x72-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44-1387-24v-spark-module-with-wire-harness>: HTTP status code is not handled or not allowed 2026-01-28 04:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-heavy-duty-shelving-36x24x72-with-4-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-220mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 04:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-55210-10-38-10mm-tube-x-38-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 04:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1981084-holder-knife-assembly-edlund-1-for-edlund>: HTTP status code is not handled or not allowed 2026-01-28 04:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finish-thompson-40-drum-pump-kit-econo-pump-tube-ss-shaft-air-motor>: HTTP status code is not handled or not allowed 2026-01-28 04:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00127-beamer-153-bbc-fits-8-to-18-beams-up-to-2-1-2-4-thick-130-420-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-heavy-duty-cabinet-4>: HTTP status code is not handled or not allowed 2026-01-28 04:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ex2-deburring-wheel-8-inch-x-1-inch-x-3-inch-fin-9s-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-28 04:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-extra-hd-boltless-shelving-add-on-48-in-w-x-18-in-d-x-72-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx18-dx73-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-28 04:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1761327-bearing-cutter-repair-kit-for-hamilton-beach>: HTTP status code is not handled or not allowed 2026-01-28 04:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx12-dx85-h-open-clip-style-6-shelf>: HTTP status code is not handled or not allowed 2026-01-28 04:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 57954 pages (at 102 pages/min), scraped 30116 items (at 63 items/min) 2026-01-28 04:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weekend-away-secure-mailbox-with-vault-dvjr0060-front-access-black>: HTTP status code is not handled or not allowed 2026-01-28 04:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx18-dx97-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-28 04:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-connnector-85040-06-04-38-tube-x-14-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 04:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2151370-blade-assembly-3-8-inch-dice-for-redco-slicers>: HTTP status code is not handled or not allowed 2026-01-28 04:33:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-mount-in-ground-post-for-weekend-away-mail-protector-dvjr0060-dvcs0070-dvjr0060pi-black>: HTTP status code is not handled or not allowed 2026-01-28 04:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-184-dp-1ph-1740rpm-c184k17dk18aa>: HTTP status code is not handled or not allowed 2026-01-28 04:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-8610-4-4mm-nylon>: HTTP status code is not handled or not allowed 2026-01-28 04:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-215-tefc-1ph-1740rpm-b-1>: HTTP status code is not handled or not allowed 2026-01-28 04:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-mount-drum-grab-1-drum-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-debris-bag-b-flannelette-for-wide-area-vacuum-641830>: HTTP status code is not handled or not allowed 2026-01-28 04:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triangular-bandage-for-smartcompliance-cabinet-40-x-40-x-56-2box>: HTTP status code is not handled or not allowed 2026-01-28 04:33:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors landed on page that is not a product page. 2026-01-28 04:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50054-100-plastic-barrier-chain-hdpe-2-x100-8-51mm-green>: HTTP status code is not handled or not allowed 2026-01-28 04:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/166453-spout-cam-for-cambro>: HTTP status code is not handled or not allowed 2026-01-28 04:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-85130-04-14-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 04:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lineshaft-3-vari-speed-drive-conveyor-lsds19x16-18-3-3-v25-60-1-cd-18bf-1-hp>: HTTP status code is not handled or not allowed 2026-01-28 04:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qr152h-quick-release-part-ss-hose-clamp-2-inch-10-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:33:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/anti_fatigue_mats/wet_area_anti_fatigue_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51723-10-heavy-duty-master-link-acetal-copolymer-2-purple-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 04:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-henley-shirt-xs-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-filter-global-1-5-2-ton-portable-ac-s>: HTTP status code is not handled or not allowed 2026-01-28 04:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boardwalk-heavy-duty-aluminum-foil-roll-12-x-500ft-20-micron-thickness-silver>: HTTP status code is not handled or not allowed 2026-01-28 04:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ms48ss-all-ss-military-worm-gear-hose-clamp-2-916-inch-3-12-inch-clmpg-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tex-gold-fp-kinesiology-tape-2-x-34-yds-red-bulk-roll>: HTTP status code is not handled or not allowed 2026-01-28 04:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1771017-wheel-8-inch-w-delrin-bearing-for-lakeside-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 04:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-cu-yd-gray-self-dumping-forkli-hopper-with-heavy-gauge-base>: HTTP status code is not handled or not allowed 2026-01-28 04:33:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/anti_fatigue_mats/wet_area_anti_fatigue_mats landed on page that is not a product page. 2026-01-28 04:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-cut-kinesiology-tape-back-case-of-20>: HTTP status code is not handled or not allowed 2026-01-28 04:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321041-seal-assembly-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 04:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-184-tefc-1ph-1140rpm-c184c11fb2cc>: HTTP status code is not handled or not allowed 2026-01-28 04:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-1221-oven-element-240v-3400w-25-3-4-inch-x-6-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 04:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lite-caulk-warmer-equipment-heated-pouch-pblcauw-85f-fixed>: HTTP status code is not handled or not allowed 2026-01-28 04:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-ergonomic-vinyl-mat-15-16-thick-24-x48-black>: HTTP status code is not handled or not allowed 2026-01-28 04:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-heater-174-15001125750w-240208v-white>: HTTP status code is not handled or not allowed 2026-01-28 04:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-partition-flexible-nine-panel-15>: HTTP status code is not handled or not allowed 2026-01-28 04:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-coverall-5xl-short-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:33:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1501517-dispenser-water-cup-plst-for-san-jamar>: HTTP status code is not handled or not allowed 2026-01-28 04:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-coverall-xl-short-tan>: HTTP status code is not handled or not allowed 2026-01-28 04:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58045 pages (at 91 pages/min), scraped 30170 items (at 54 items/min) 2026-01-28 04:33:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:33:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/bookcases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9547-16w-jcd-led-g9-base-5000k>: HTTP status code is not handled or not allowed 2026-01-28 04:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009687-screw-on-gasket-185x-17-1-4>: HTTP status code is not handled or not allowed 2026-01-28 04:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carpenter-saws-irwin-marathon-2011201>: HTTP status code is not handled or not allowed 2026-01-28 04:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-full-vision-show-case-maple>: HTTP status code is not handled or not allowed 2026-01-28 04:34:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils landed on page that is not a product page. 2026-01-28 04:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches>: HTTP status code is not handled or not allowed 2026-01-28 04:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-14th-zip-fleece-sweatshirt-2xl-regular-black>: HTTP status code is not handled or not allowed 2026-01-28 04:34:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-coverall-3xl-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 04:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forced-air-wall-heater-efw1230-mw-w-white-120v-3000w>: HTTP status code is not handled or not allowed 2026-01-28 04:34:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/bookcases landed on page that is not a product page. 2026-01-28 04:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-alert-monitor-fcs11-for-fc-and-fcm-series>: HTTP status code is not handled or not allowed 2026-01-28 04:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-premium-hulk-stacking-bin-clear-1>: HTTP status code is not handled or not allowed 2026-01-28 04:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-1-twin-force-ip65-digital-electronic-micrometer>: HTTP status code is not handled or not allowed 2026-01-28 04:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-shoe-rack-for-easy-storage-chrome-8-shelves>: HTTP status code is not handled or not allowed 2026-01-28 04:34:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters landed on page that is not a product page. 2026-01-28 04:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/851157-fiberglass-sleeve-100ft-5-16-inch>: HTTP status code is not handled or not allowed 2026-01-28 04:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Luxor-Mobile-Bin-Cart-with-Eight-3H-Totes-MBS-SR-8S-Gray-Black-19-1-2L-x-17W-x-37-1-4H>: HTTP status code is not handled or not allowed 2026-01-28 04:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1800w-isobar-6-outlet-120v>: HTTP status code is not handled or not allowed 2026-01-28 04:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-plastic-classroom-chair-set-of-five-black>: HTTP status code is not handled or not allowed 2026-01-28 04:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-divider-4-ft-high-x-5-ft-9-inch-long-fabric-summer-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/save-a-stud-rethread-die-12mm-175>: HTTP status code is not handled or not allowed 2026-01-28 04:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/li-ing-chains-aluminum-with-steel-curb-all-steel-dock-boards>: HTTP status code is not handled or not allowed 2026-01-28 04:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-clean-papr-kit-1-ea-case>: HTTP status code is not handled or not allowed 2026-01-28 04:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evhc12-06l-led-high-lumen-emergency-unit-white-546-lumens-high-mounts>: HTTP status code is not handled or not allowed 2026-01-28 04:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evhc12-led-high-lumen-emergency-unit-white-326-lumens-for-high-mounts>: HTTP status code is not handled or not allowed 2026-01-28 04:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-porcelain-mogul-socket-mounting-screws-held-captive-2-wireways-1-2-strip-leads>: HTTP status code is not handled or not allowed 2026-01-28 04:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-wheel-riser-wheel-ramp-54-l-x-18-w-x-8-h-15-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06450-1-4-x-2-x-2-plastic-masonry-shim-2214-1020pc>: HTTP status code is not handled or not allowed 2026-01-28 04:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacking-chairs-plastic-midnight-blue-set-of-two-steel-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:34:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/condiment_servers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-panel-display-tower-6-ft-5-inch-high-fabric-greysmoke>: HTTP status code is not handled or not allowed 2026-01-28 04:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/halogen-socket-w-metal-plate-2-mounting-holes>: HTTP status code is not handled or not allowed 2026-01-28 04:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-panel-display-tower-6-ft-5-inch-high-fabric-sand>: HTTP status code is not handled or not allowed 2026-01-28 04:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bayonet-base-double-contact-socket-36-in-leads>: HTTP status code is not handled or not allowed 2026-01-28 04:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madison-4-ipe-wood-bench-with-back-armrests-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:34:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/serveware_tableware/dinnerware/condiment_servers landed on page that is not a product page. 2026-01-28 04:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-h-lockable-stacking-drawer-beige>: HTTP status code is not handled or not allowed 2026-01-28 04:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tractor-style-stool-with-seat-tilt-nylon-base-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madison-ipe-wood-outdoor-trash-can-with-ash-urn-lid-36-gallon-capacity-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-table-with-2-imme-armless-barstools-black-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 04:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264592-grease-filter-stainless-steel-20-x-16-x-2>: HTTP status code is not handled or not allowed 2026-01-28 04:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58143 pages (at 98 pages/min), scraped 30228 items (at 58 items/min) 2026-01-28 04:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-caster-chairs-black-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 04:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-flat-washer-uss-9-16-i-d-122-146-thick-steel-plain-grade-8-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 04:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1ml-cf-cryogenic-vial-external-thread-self-standing-sterile-100-case>: HTTP status code is not handled or not allowed 2026-01-28 04:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-5ml-micro-centrifuge-tube-resealable-bag-sterile-5000-case>: HTTP status code is not handled or not allowed 2026-01-28 04:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-barstools-sky-blue-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 04:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-48x18x84-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grinder-plate-40748-5-16-fits-40743>: HTTP status code is not handled or not allowed 2026-01-28 04:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-adjustable-height-shop-stand-2>: HTTP status code is not handled or not allowed 2026-01-28 04:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d1-handheld-laser-distance-meter-846805>: HTTP status code is not handled or not allowed 2026-01-28 04:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-chairs-navy-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 04:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-tater-king-scooper-1801>: HTTP status code is not handled or not allowed 2026-01-28 04:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-of-1-ptfe-o-ring-dash-350>: HTTP status code is not handled or not allowed 2026-01-28 04:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-times-to-wash-your-hands-sign>: HTTP status code is not handled or not allowed 2026-01-28 04:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sec-aluminum-63-crossover-truck-box-single-lid-black-79210988>: HTTP status code is not handled or not allowed 2026-01-28 04:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfid-sticker-for-personal-device-charging-lockers>: HTTP status code is not handled or not allowed 2026-01-28 04:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-48x48x84-with-3-levels-wood-deck-1500lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-plastic-storage-cabinet-36x18x37>: HTTP status code is not handled or not allowed 2026-01-28 04:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-48x36x84-with-3-level-steel-deck-1500lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321613-gh-2280zx-large-spindle-bore-lathe-w-acu-rite-300s-dro-collet-closer-10-hp>: HTTP status code is not handled or not allowed 2026-01-28 04:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1291096-filter-baffle-12x20-hd-type-i>: HTTP status code is not handled or not allowed 2026-01-28 04:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321930-gh-1640zx-large-spindle-bore-lathe-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 04:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-48x48x84-with-3-levels-wood-deck-1500-lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013048-element-120v-1100w-for-sealed-well-for-advance-tabco>: HTTP status code is not handled or not allowed 2026-01-28 04:35:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paint_sprayers_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/580001-control-pro-170-hea-piston-pump-paint-sprayer>: HTTP status code is not handled or not allowed 2026-01-28 04:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supply-single-probe-temperature-monitoring-device>: HTTP status code is not handled or not allowed 2026-01-28 04:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-workmate-stand-ahwh2496>: HTTP status code is not handled or not allowed 2026-01-28 04:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl-series-lateral-file-36-wide-4-drawer-lava-red>: HTTP status code is not handled or not allowed 2026-01-28 04:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-barstools-light-gray-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 04:35:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paint_sprayers_accessories landed on page that is not a product page. 2026-01-28 04:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009702-10-inch-x-25-inch-ss-grease-filter>: HTTP status code is not handled or not allowed 2026-01-28 04:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690120-jtm-1050-variable-speed-milling-machine-w-x-axis-powerfeed-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 04:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-18-manually-controlled-gas-griddle-40719-28000-btu-18-x-27-x-16>: HTTP status code is not handled or not allowed 2026-01-28 04:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66252843604-metal-right-angle-cut-off-wheel-4-1-2-inch-x-045-inch-x-7-8-inch-36-grit-alum-oxide-type-27>: HTTP status code is not handled or not allowed 2026-01-28 04:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-compostable-eco-friendly-round-plates-500-pcs>: HTTP status code is not handled or not allowed 2026-01-28 04:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qwikcheck-acid-test-kit-qt2000-case-of-25>: HTTP status code is not handled or not allowed 2026-01-28 04:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/personnel-locker-multiple-tier-42x18x68-6-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58234 pages (at 91 pages/min), scraped 30283 items (at 55 items/min) 2026-01-28 04:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-barstools-light-gray-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 04:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48w-x-30d-mobile-workbench-shop-top-square-edge-tan>: HTTP status code is not handled or not allowed 2026-01-28 04:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-ac-parallel-60rpm-cm38p17fz12c>: HTTP status code is not handled or not allowed 2026-01-28 04:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-multi-band-face-cover-neck-gaiter-khaki-fade>: HTTP status code is not handled or not allowed 2026-01-28 04:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-multi-band-face-cover-neck-gaiter-khaki-heather>: HTTP status code is not handled or not allowed 2026-01-28 04:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-king-kutter-6015-replacement-cone-includes-5-3-16-cone>: HTTP status code is not handled or not allowed 2026-01-28 04:36:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pushgard-174-push-in-connector-3-port-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-giant-stackable-storage-bin-18-3-8x29x14-7-8-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66252841906-gemini-cutting-wheel-6-inch-x-3-32-inch-x-7-8-inch-30-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 04:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-mask-low-pressure-system-3-workers-100-hose>: HTTP status code is not handled or not allowed 2026-01-28 04:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-dock-board-with-steel-curbs-10>: HTTP status code is not handled or not allowed 2026-01-28 04:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-viz-heavy-duty-single-scba-wall-case-green>: HTTP status code is not handled or not allowed 2026-01-28 04:36:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/power_inverters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-w-one-key-htiw-3-4-inch-friction-ring-tool-only>: HTTP status code is not handled or not allowed 2026-01-28 04:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scribe-engraving-chisel-kit>: HTTP status code is not handled or not allowed 2026-01-28 04:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-instaslice-12-blade-assembly-15113-1-4-cut>: HTTP status code is not handled or not allowed 2026-01-28 04:36:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs landed on page that is not a product page. 2026-01-28 04:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/confined-space-umbrella-stand>: HTTP status code is not handled or not allowed 2026-01-28 04:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ignition-20-upholstered-task-chair-mid-back-17-21-12h-seat-basalt>: HTTP status code is not handled or not allowed 2026-01-28 04:36:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/cd_players_boomboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:36:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/chafing_dishes_fuel already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-lead-free-hot-short-stem-cartridge>: HTTP status code is not handled or not allowed 2026-01-28 04:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/power_inverters>: HTTP status code is not handled or not allowed 2026-01-28 04:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341123-urn-heater-w-cut-out480v-7000w>: HTTP status code is not handled or not allowed 2026-01-28 04:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-use-indoor-outdoor-large-yellow-box-2-lights-1-exterior-sensor-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 04:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/cd_players_boomboxes>: HTTP status code is not handled or not allowed 2026-01-28 04:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1571106-connector-gas-3-4-inch-x48-inch-for-dormont-mfg>: HTTP status code is not handled or not allowed 2026-01-28 04:36:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-can-type-1-five-gallon-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 04:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266356-shelf-white-epoxy-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 04:36:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/chafing_dishes_fuel landed on page that is not a product page. 2026-01-28 04:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-4-48-3-8-x-24-3-8-pvc-glue-up-tile-in-crosshatch-silver-pg5321>: HTTP status code is not handled or not allowed 2026-01-28 04:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gml111yl-gauge-marking-decal>: HTTP status code is not handled or not allowed 2026-01-28 04:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivotal-therapy-system-soft-tissue-system-standard-lumbar-pivot>: HTTP status code is not handled or not allowed 2026-01-28 04:36:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets landed on page that is not a product page. 2026-01-28 04:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-liquid-cabinet-manual-single-door-vertical-storage-2>: HTTP status code is not handled or not allowed 2026-01-28 04:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-to-male-swivel-industrial-plug-z1414mmsip-1-4-x-1-4-zinc>: HTTP status code is not handled or not allowed 2026-01-28 04:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-side-outlet-elbow-1>: HTTP status code is not handled or not allowed 2026-01-28 04:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/presentation-gravity-flow-rack-28129-add-on-60w-x-96d-x-72h>: HTTP status code is not handled or not allowed 2026-01-28 04:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x10-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 04:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031029-pump-motor-assembly-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 04:36:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_area_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10194895-harness-back-chest-d-rings-tongue-buckle-leg-straps-super-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 04:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010454-motor-convectionoven-for-jade-range>: HTTP status code is not handled or not allowed 2026-01-28 04:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58331 pages (at 97 pages/min), scraped 30341 items (at 58 items/min) 2026-01-28 04:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x4x4-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-28 04:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-tape-1-2-x-20-assorted-colors>: HTTP status code is not handled or not allowed 2026-01-28 04:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-storage-forkli-able-caddy-2>: HTTP status code is not handled or not allowed 2026-01-28 04:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-horizontal-brace-set-5>: HTTP status code is not handled or not allowed 2026-01-28 04:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2500-watt-low-frequency-pure-sine-inverter-charger-12-vdc-to-120-vac>: HTTP status code is not handled or not allowed 2026-01-28 04:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881081-t2-orifice-cartridgeorifice-3>: HTTP status code is not handled or not allowed 2026-01-28 04:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weblok-assembly-867040-4-synthetic-to-attachment-1-1-4-75000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tutco-crankcase-100-120-30-1316>: HTTP status code is not handled or not allowed 2026-01-28 04:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-eye-rigging-hook-with-latch-10000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:37:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/contactors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:37:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_area_lighting landed on page that is not a product page. 2026-01-28 04:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weblok-assembly-877010-4-synthetic-to-synthetic-3-8-5000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packard-contactor-2-pole-150125100-208240>: HTTP status code is not handled or not allowed 2026-01-28 04:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-shelf-truck-36x24x80-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-manualstick-feed-carton-stapler>: HTTP status code is not handled or not allowed 2026-01-28 04:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packard-fan-center-spdt-relay-120v>: HTTP status code is not handled or not allowed 2026-01-28 04:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-high-pressure-ball-valve-1-1-16-12-npt-thread-5800-psi>: HTTP status code is not handled or not allowed 2026-01-28 04:37:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/contactors landed on page that is not a product page. 2026-01-28 04:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-hydraulic-floor-crane-3000lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x2150-2-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 04:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-hydraulic-gear-pump-1-95-cu-in-rev-3-4-dia-straight-shaft-30-39-gpm-max-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 04:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-top-lectern-24-wide-19-deep-13-high-medium-oak>: HTTP status code is not handled or not allowed 2026-01-28 04:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x1450-3-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 04:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-30-x-60-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461008-thermostat-w-diald1-d18-3-8-x-4-1-2-60>: HTTP status code is not handled or not allowed 2026-01-28 04:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergomat-complete-smooth-2-x-6>: HTTP status code is not handled or not allowed 2026-01-28 04:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-supreme-v-6-x-100-orange>: HTTP status code is not handled or not allowed 2026-01-28 04:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spatula-8-str-flex-blk-nylon>: HTTP status code is not handled or not allowed 2026-01-28 04:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-48-x-13-dark-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-12x9-rectangle-emergency-evacuation-route>: HTTP status code is not handled or not allowed 2026-01-28 04:37:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chefs-10-strgt-2-1-4-hdl-rwd>: HTTP status code is not handled or not allowed 2026-01-28 04:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-48inw-x-18ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264621-hinge-kit-for-cres-cor>: HTTP status code is not handled or not allowed 2026-01-28 04:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tailgate-strap-combo-pack-slcetsci-with-cam-strap>: HTTP status code is not handled or not allowed 2026-01-28 04:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h552-locking-ring>: HTTP status code is not handled or not allowed 2026-01-28 04:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/av-base-layer-bottoms-xl-black-bsbavxl>: HTTP status code is not handled or not allowed 2026-01-28 04:37:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nonperforated-paper-towel-rolls-8x800ft-white-12-carton>: HTTP status code is not handled or not allowed 2026-01-28 04:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scott-100-percent-recycled-fiber-hard-roll-towels-white-8x800ft-12-carton>: HTTP status code is not handled or not allowed 2026-01-28 04:37:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 04:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58427 pages (at 96 pages/min), scraped 30399 items (at 58 items/min) 2026-01-28 04:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-60x24x72-add-on>: HTTP status code is not handled or not allowed 2026-01-28 04:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facial-tissues-in-pop-up-dispenser-box-100-sheets-box-36-boxes-ctn>: HTTP status code is not handled or not allowed 2026-01-28 04:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-all-purpose-gloves-waterproof-winter-xt-large>: HTTP status code is not handled or not allowed 2026-01-28 04:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits>: HTTP status code is not handled or not allowed 2026-01-28 04:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-closed-cntr-1-4-nptf-110v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 04:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-42inw-x-30ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2281026-pin-cotter-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 04:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/st-drawer-layout-12-compartments-2-h>: HTTP status code is not handled or not allowed 2026-01-28 04:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-48-x-18-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 04:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-60x48x120-add-on>: HTTP status code is not handled or not allowed 2026-01-28 04:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/translucent-liner-21-x-42>: HTTP status code is not handled or not allowed 2026-01-28 04:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-48-x-18-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 04:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metromax-4-36-w-x-24-d-x-74-h-stationary-unit>: HTTP status code is not handled or not allowed 2026-01-28 04:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010808-thermostat-for-vollrath-idea-company>: HTTP status code is not handled or not allowed 2026-01-28 04:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44-inch-light-bar-kit-w-led-lights-and-wire-harness>: HTTP status code is not handled or not allowed 2026-01-28 04:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanger-bracket-kit-h915>: HTTP status code is not handled or not allowed 2026-01-28 04:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k93215-filter-regulator-38-npt>: HTTP status code is not handled or not allowed 2026-01-28 04:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m7580-34-master-kit-300-ft-3-outlets>: HTTP status code is not handled or not allowed 2026-01-28 04:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-60inw-x-48ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-24-kraft-heavy-duty-mailing-tubes-with-caps>: HTTP status code is not handled or not allowed 2026-01-28 04:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-48ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-48ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4mm-x-40mm-phillips-pan-head-metric-machine-screw-pkg-of-100-cnc04040>: HTTP status code is not handled or not allowed 2026-01-28 04:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/av-base-layer-shirt-m-gray-bstavlsmd>: HTTP status code is not handled or not allowed 2026-01-28 04:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-16-x-12-x-1250-feet-6-perforated-air-foam-rolls>: HTTP status code is not handled or not allowed 2026-01-28 04:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc100-lg12-100-cal-cm2-arc-flash-kit-lg-glove-size-12>: HTTP status code is not handled or not allowed 2026-01-28 04:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-6-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-28 04:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-industrial-fog-nozzle-520-2011-2-npsh-brass>: HTTP status code is not handled or not allowed 2026-01-28 04:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-work-shirt-xl-gray-tcgsswn00115xlrg00>: HTTP status code is not handled or not allowed 2026-01-28 04:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-48ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009498-extension-probe-2-1-2-inch-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 04:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-control-2-0-long-sleeve-t-shirt-xl-khaki-c52jksrlsxl>: HTTP status code is not handled or not allowed 2026-01-28 04:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-4x-gray-tcg02150881>: HTTP status code is not handled or not allowed 2026-01-28 04:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-reel-cover-138-3-18-x-6-10-oz-red-vinyl-for-1430-1>: HTTP status code is not handled or not allowed 2026-01-28 04:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24w-6-step-steel-rolling-ladder-21d-top-step-lock-type-b-wcal-osha-handrail-ca>: HTTP status code is not handled or not allowed 2026-01-28 04:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardner-bender-battery-tester-for-15v-button-cell-to-225v-photo-and-lantern-cells>: HTTP status code is not handled or not allowed 2026-01-28 04:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58528 pages (at 101 pages/min), scraped 30464 items (at 65 items/min) 2026-01-28 04:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-performance-utility-pants-36-x-30-navy-pnt9su36x30>: HTTP status code is not handled or not allowed 2026-01-28 04:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-pre-rinse-overhead-spring>: HTTP status code is not handled or not allowed 2026-01-28 04:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/die-rack-shelf-60-x-18>: HTTP status code is not handled or not allowed 2026-01-28 04:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-pot-kettle-filler>: HTTP status code is not handled or not allowed 2026-01-28 04:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-96inw-x-24ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-double-shaft-blower-208-230v-1075rpm-12hp>: HTTP status code is not handled or not allowed 2026-01-28 04:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-cal-dupont-nomex-kevlar-bib-overalls-xl-caramel-c45kdqexl32>: HTTP status code is not handled or not allowed 2026-01-28 04:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carrier-replacement-1625rpm-230v-14hp>: HTTP status code is not handled or not allowed 2026-01-28 04:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx24-dx85-h-open-clip-style-6-shelf>: HTTP status code is not handled or not allowed 2026-01-28 04:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-xl-ln-navy-tcg01160223>: HTTP status code is not handled or not allowed 2026-01-28 04:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-g-1-4-24v-dc-3w-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 04:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-1075rpm-460v-12hp>: HTTP status code is not handled or not allowed 2026-01-28 04:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-capacity-33-lbs-cylinders-heavy-duty-steel-gas-cylinder-cage-30w-x-70d-x-30h-white>: HTTP status code is not handled or not allowed 2026-01-28 04:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3740-charge-port-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-long-sleeve-fr-t-shirt-xl-t-navy-blue-df2-cm-446ls-nb-xlt>: HTTP status code is not handled or not allowed 2026-01-28 04:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-server-station-shelf>: HTTP status code is not handled or not allowed 2026-01-28 04:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kitchen-pegboard-pack-storage-organization-kit-red-black-32-x-32-x-6>: HTTP status code is not handled or not allowed 2026-01-28 04:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-1-4-nptf-110v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 04:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-magnetic-roll-2-in-wide>: HTTP status code is not handled or not allowed 2026-01-28 04:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-tool-board-workstation-accessory-kit-for-pegboard-slotted-tool-board-white>: HTTP status code is not handled or not allowed 2026-01-28 04:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-96inw-x-24ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-60inw-x-48ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012706-sifter-brush-assembly-black-for-ayrking-corporation>: HTTP status code is not handled or not allowed 2026-01-28 04:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010916-bearing-table-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 04:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-standard-tool-storage-kit-orange-black-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 04:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-foam-sheet-no-adhesive-1-8-x-12-x-24>: HTTP status code is not handled or not allowed 2026-01-28 04:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-foam-strip-with-high-temp-adhesive-1-4-x-3-4-x-56>: HTTP status code is not handled or not allowed 2026-01-28 04:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-3-in-4-in-magnetic-write-on>: HTTP status code is not handled or not allowed 2026-01-28 04:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264129-bearing-upper-for-dito-dean>: HTTP status code is not handled or not allowed 2026-01-28 04:39:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/standard_duty_steel_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264133-bearing-ball>: HTTP status code is not handled or not allowed 2026-01-28 04:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-truck-3-enclosed-sides-1>: HTTP status code is not handled or not allowed 2026-01-28 04:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filtro-classico-dark--intense-whole-bean-coffee-22-lb-bag>: HTTP status code is not handled or not allowed 2026-01-28 04:39:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/video_conference_cameras_microphones already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/card-holder-4-high-2-5-8-weighted-base>: HTTP status code is not handled or not allowed 2026-01-28 04:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-aluminum-platform-truck-with-diamond-deck-48-x-30-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/standard_duty_steel_lockers>: HTTP status code is not handled or not allowed 2026-01-28 04:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12ab-x-1-1-2-security-sheet-metal-screw-button-hex-socket-head-302hq-18-8-ss-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58620 pages (at 92 pages/min), scraped 30519 items (at 55 items/min) 2026-01-28 04:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1277-empire-1-light-mini-pendant-champagne-washed-linen-mahogany-bronze-7w-x-51h>: HTTP status code is not handled or not allowed 2026-01-28 04:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-30-removable-handle-magliner-aluminum-platform-trucks>: HTTP status code is not handled or not allowed 2026-01-28 04:39:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/emergency_lighting_signage/emergency_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-1-division-2-exit-sign-exit-self-powered-single-face>: HTTP status code is not handled or not allowed 2026-01-28 04:40:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/emergency_lighting_signage/emergency_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14ab-x-1-1-2-security-sheet-metal-screw-flat-torx-head-302hq-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:40:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-2-security-sheet-metal-screw-flat-torx-head-steel-black-oxide-ft-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-7w-vegan-blackout>: HTTP status code is not handled or not allowed 2026-01-28 04:40:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-1-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/emergency_lighting_signage/emergency_lighting>: HTTP status code is not handled or not allowed 2026-01-28 04:40:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:40:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/emergency_lighting_signage/emergency_lighting landed on page that is not a product page. 2026-01-28 04:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-edge-work-bench-top-plastic-72-w-x-36-d-x-1-5-8-thick>: HTTP status code is not handled or not allowed 2026-01-28 04:40:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment landed on page that is not a product page. 2026-01-28 04:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-green-epoxy-wire-shelving-36w-x-12-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 04:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-cylinder-cart-pneumatic-wheels-33-1-4-x-23-1-16-x-57-11-16>: HTTP status code is not handled or not allowed 2026-01-28 04:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-5-8-security-machine-screw-flat-torx-plus-head-18-8-stainless-steel-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:40:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 04:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-879-1-light-flush-mount-carport-frosted-acrylic-panels-white-10-25w-x-5-5h>: HTTP status code is not handled or not allowed 2026-01-28 04:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 04:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72v-lithium-ion-cordless-1-4in-hex-driver-drill-kit-with-auto-stop-clutch>: HTTP status code is not handled or not allowed 2026-01-28 04:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-4-user-with-manual-faucets-rountube-mounte80-l-x20-wxd>: HTTP status code is not handled or not allowed 2026-01-28 04:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-9-x-16-ga-galvanized-steel-roller-for-12-w-roller-conveyors>: HTTP status code is not handled or not allowed 2026-01-28 04:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-long-sleeve-shirt-silver-tape-type-r-class-3-fl-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-28 04:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-519-1-light-die-cast-bulk-head-frosted-diffuser-architectural-bronze-10w->: HTTP status code is not handled or not allowed 2026-01-28 04:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x12x84-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:40:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x24x84-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pyramid-sign-base-with-wheels-and-98-foot-high-post-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plc-03642-4oz-natural-hdpe-wide-mouth-round-bottle-with-38-400-white-pp-cap-case-of-48>: HTTP status code is not handled or not allowed 2026-01-28 04:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/240134-white-hdpe-sr-rieke-pail-lid-for-3-5-5-and-6-gallon-pails-case-of-32>: HTTP status code is not handled or not allowed 2026-01-28 04:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-12-black>: HTTP status code is not handled or not allowed 2026-01-28 04:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 04:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-48x18x84-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010807-hinge-kit-for-vollrath-idea-company>: HTTP status code is not handled or not allowed 2026-01-28 04:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241333-blade-fan-8-inch-28-degree-plst>: HTTP status code is not handled or not allowed 2026-01-28 04:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5031015-filter-condenser-10-inch-x-12-inch-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 04:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-2862-odeon-3-light-ceiling-satin-white-brushed-nickel-15w-x-5-625h>: HTTP status code is not handled or not allowed 2026-01-28 04:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-18-gauge-stainless-steel-workbench>: HTTP status code is not handled or not allowed 2026-01-28 04:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-jewelers-saw-2-inch-dia-x-020-inch-face-x-3-8-inch-hole-x-152-teeth>: HTTP status code is not handled or not allowed 2026-01-28 04:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-20523-mlb-los-angeles-dodgers-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-28 04:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-470-car-port-2-light-flush-mount-texture-frosted-white-9-25w>: HTTP status code is not handled or not allowed 2026-01-28 04:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-48inw-x-24ind-x-72inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-12-x-30-super-8-oz-tarp-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-36inw-x-24ind-x-96inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-power-hacksaw-blade-24-x-1-3-4-6t>: HTTP status code is not handled or not allowed 2026-01-28 04:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58709 pages (at 89 pages/min), scraped 30567 items (at 48 items/min) 2026-01-28 04:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4928-banyan-1-light-outdoor-post-clear-water-rustic-bronze-6-125w-x-17-25h>: HTTP status code is not handled or not allowed 2026-01-28 04:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerhouse-baseboard-stripper-18-ounce-aerosol-can-12-cans>: HTTP status code is not handled or not allowed 2026-01-28 04:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010814-thermometer-digital-for-delfield>: HTTP status code is not handled or not allowed 2026-01-28 04:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ego-snt2102-20-brushless-steel-deck-self-propelled-lawnmower-kit-7-5ah-battery-550w-charger>: HTTP status code is not handled or not allowed 2026-01-28 04:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661134-taylor-358-transformer240-t-24-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 04:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automotive-t-style-steel-plug-1-4-x-3-8-male-npt-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 04:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-maroon-x-stripping-pad-10-per-case>: HTTP status code is not handled or not allowed 2026-01-28 04:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-24ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flashing-cone-light-amber-lens-03-10-clg>: HTTP status code is not handled or not allowed 2026-01-28 04:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-machinery-leveling-mount-4-long-4-wide>: HTTP status code is not handled or not allowed 2026-01-28 04:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solar-barricade-light-yellow-body-amber-lens-03-10-sblg>: HTTP status code is not handled or not allowed 2026-01-28 04:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-cleaner-gallon-bottle-four-bottles>: HTTP status code is not handled or not allowed 2026-01-28 04:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-48inw-x-18ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-app-connector-1-0-wire-gauge-175-amp-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-8-l-x-7-3-8-w-x-3-h-yellow-stacking-hanging-interlocking-polypropylene-bins-6-ct>: HTTP status code is not handled or not allowed 2026-01-28 04:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-smh-connector-2-wire-gauge-175-amp-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011493-valve-housing-drain-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 04:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-8-step-steel-rolling-ladder-10-d-top-step-kdsr108246>: HTTP status code is not handled or not allowed 2026-01-28 04:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inside-stational-deck-dome-oven-square-exterior-59-gas-97500-btu-120v-digital-control>: HTTP status code is not handled or not allowed 2026-01-28 04:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-12ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-aluminum-wheel-ac-804-ra-4-dia-1-1-2w-675-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-circuit-board-12ksm54-2>: HTTP status code is not handled or not allowed 2026-01-28 04:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-20-spread-beam-telescoping-adjustable-10-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-with-removable-bins-9>: HTTP status code is not handled or not allowed 2026-01-28 04:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-174-no-a1105grn-solid-aluminum-rectangular-padlock-green>: HTTP status code is not handled or not allowed 2026-01-28 04:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266234-socket-leg-steel-weld-mount>: HTTP status code is not handled or not allowed 2026-01-28 04:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wes-1000>: HTTP status code is not handled or not allowed 2026-01-28 04:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safe-1-5-hour-fire-safe-18-1-2-w-x-18-1-2-d-x-24-h-digital-lock-black>: HTTP status code is not handled or not allowed 2026-01-28 04:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-vinyl-gloves-powder-free-medium>: HTTP status code is not handled or not allowed 2026-01-28 04:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dixie-industries-skidding-tong-1-w-swivel-hook-25-max-opening>: HTTP status code is not handled or not allowed 2026-01-28 04:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-2-shelf-mobile-rack-cabinet-with-locking-panels-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-metal-shelf-for-security-truck-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:41:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/dollies/lever_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-add-on-48inw-x-24ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-to-medium-duty-service-door-single-panel-beige-3ft-6in-x-7ft>: HTTP status code is not handled or not allowed 2026-01-28 04:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-80-inch-high-post-poly-z-brite-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-63-inch-high-post-chrome-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/dollies/lever_dollies>: HTTP status code is not handled or not allowed 2026-01-28 04:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kettle-faucet-for-groen-012262>: HTTP status code is not handled or not allowed 2026-01-28 04:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010274-evaporator-top-molding-for-manitowoc-machines>: HTTP status code is not handled or not allowed 2026-01-28 04:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-34-inch-high-post-poly-z-brite-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40t8-40w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 04:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58804 pages (at 95 pages/min), scraped 30620 items (at 53 items/min) 2026-01-28 04:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuf-r-heavy-lldpe-flat-bag-8in-x-12in-2-mil-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 04:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-density-poly-tubing-1-1-2in-3-mil-x-1450ft>: HTTP status code is not handled or not allowed 2026-01-28 04:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-corrugated-boxes-12l-x-9w-x-9h-kraft-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-28 04:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-10l-x-7w-x-9h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 04:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printed-thank-you-take-out-bag-with-bell-top-handle-16-5in-x-14in-pkg-qty-500>: HTTP status code is not handled or not allowed 2026-01-28 04:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-steady-burning-led-120-12-pipe-amber>: HTTP status code is not handled or not allowed 2026-01-28 04:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-8l-x-3w-x-3h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 04:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergo-iws-24-d-pedestrian-detection-24in-led-sign-combo>: HTTP status code is not handled or not allowed 2026-01-28 04:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-wide-rib-corrugated-rubber-floor-mat-1-8-thick-x-4-x-4-utility-runner>: HTTP status code is not handled or not allowed 2026-01-28 04:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fc40t5-830-40w-fluorescent-w-2gx13-base-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 04:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-plate-caster-4-polyurethane-wheel-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009299-cartridge-hinge-sprin-right-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 04:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-mobile-production-workbench-with-power-apron-esd-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-foot-pump-10-ton-90-120-psi-17-1-2-l-open-body-air>: HTTP status code is not handled or not allowed 2026-01-28 04:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7a19-27-7w-compact-fluorescent-w-medium-base-soft-white>: HTTP status code is not handled or not allowed 2026-01-28 04:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viking-jack-stand-set-4-ton-ratcheting-style>: HTTP status code is not handled or not allowed 2026-01-28 04:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-6-5-8-w-x-11-5-8-d-x-4-d-red>: HTTP status code is not handled or not allowed 2026-01-28 04:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-jack-4-ton-super-duty>: HTTP status code is not handled or not allowed 2026-01-28 04:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loop-end-ecomop-lg-5-recycled-pet-gre-12>: HTTP status code is not handled or not allowed 2026-01-28 04:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ft55hl-830-env-55w-compact-fluorescent-w-2g11-base-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 04:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-shower-treadle-t-style-ts-foot-ef>: HTTP status code is not handled or not allowed 2026-01-28 04:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75q-cl-dc-75w-halogen-w-dc-bay-base>: HTTP status code is not handled or not allowed 2026-01-28 04:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010662-temperature-gauge-for-alto-shaam>: HTTP status code is not handled or not allowed 2026-01-28 04:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lubrication-adapter-kit-7pc>: HTTP status code is not handled or not allowed 2026-01-28 04:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-corrugated-boxes-30l-x-15w-x-15h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 04:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-without-lid-31>: HTTP status code is not handled or not allowed 2026-01-28 04:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-gun-hose-w-spring-18>: HTTP status code is not handled or not allowed 2026-01-28 04:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gen-purp-micro-fiber-cloth-red>: HTTP status code is not handled or not allowed 2026-01-28 04:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-13>: HTTP status code is not handled or not allowed 2026-01-28 04:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hndl-wooden-with-metal-tip-60-x1-18>: HTTP status code is not handled or not allowed 2026-01-28 04:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-bead-size-60-100-526000b-50>: HTTP status code is not handled or not allowed 2026-01-28 04:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-high-capacity-boltless-shelving-steel-deck-add-on-48inw-x-36ind-x-72inh>: HTTP status code is not handled or not allowed 2026-01-28 04:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-32-bar-table-tekwood-natural>: HTTP status code is not handled or not allowed 2026-01-28 04:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1001-thermostat-type-tb125-temperature-60-250-f-48-inch-capillary>: HTTP status code is not handled or not allowed 2026-01-28 04:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-dividable-1>: HTTP status code is not handled or not allowed 2026-01-28 04:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-armchair-natural-sling-tekwood-natural-armcaps-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-to-length-dust-mop-rl-wpocket-design-40-ft>: HTTP status code is not handled or not allowed 2026-01-28 04:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ind-qlty-steel-wool-reel-1-med-65-lb>: HTTP status code is not handled or not allowed 2026-01-28 04:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-short-divider-26>: HTTP status code is not handled or not allowed 2026-01-28 04:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-8-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 04:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-resistant-gloves-micro-foam-nitrile-coated-ansi-a2-l-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 04:42:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/face-fly-applicator-kit>: HTTP status code is not handled or not allowed 2026-01-28 04:42:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40a15-f-40w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 04:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-vertical-fat-bike-rack-with-4-mounts>: HTTP status code is not handled or not allowed 2026-01-28 04:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-strip-door-curtain-14-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 04:42:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware landed on page that is not a product page. 2026-01-28 04:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-strip-door-curtain-14-w-x-13-h>: HTTP status code is not handled or not allowed 2026-01-28 04:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58903 pages (at 99 pages/min), scraped 30673 items (at 53 items/min) 2026-01-28 04:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-sheet-1-4-thick-x-48-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 04:42:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware landed on page that is not a product page. 2026-01-28 04:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-1-8-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 04:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scratch-resistant-strip-door-curtain-6-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 04:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-2-thick-x-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 04:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duck-pond-mini-berm-containment-2-x-2-x-4-5622-ye>: HTTP status code is not handled or not allowed 2026-01-28 04:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-end-mounted-piston-vibrator-10-5-8s>: HTTP status code is not handled or not allowed 2026-01-28 04:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-stairway-slope-work-platform-24in-x-60in-platform>: HTTP status code is not handled or not allowed 2026-01-28 04:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-1104-ultimate-blower-wheel-puller-for-5-8-inch-belt-drive>: HTTP status code is not handled or not allowed 2026-01-28 04:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-12-x-9-scratch-resistant-ribbed-clear-strip-strip-curtains>: HTTP status code is not handled or not allowed 2026-01-28 04:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/incandescent-chandelier-bulb-with-e12-candelabra-base-25w-120v-white-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 04:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-12-volt-electric-vibrator-dc-200>: HTTP status code is not handled or not allowed 2026-01-28 04:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e44-1-58w-miniature-sealed-beams-w-minature-bayonet-base>: HTTP status code is not handled or not allowed 2026-01-28 04:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012103-solenoid-valve-1-2-inch-120v>: HTTP status code is not handled or not allowed 2026-01-28 04:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-16-diameter-7x7-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 04:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/generac-7224-guardian-14kw-120-240v-1-phase-air-cooled-standby-generator-ng-lp-wifi-enabled>: HTTP status code is not handled or not allowed 2026-01-28 04:43:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-4-dia-vinyl-coated-5-16-dia-7x19-type-304-stainless-steel-cable>: HTTP status code is not handled or not allowed 2026-01-28 04:43:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-1-2-thick-x-1-1-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 04:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-sheet-1-2-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 04:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-wood-cubicle-cabinet-10-shelves-wlocks-solid-door-48-x-22-14-x-72-natural-oakbrown>: HTTP status code is not handled or not allowed 2026-01-28 04:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-5-8-dia-6x19-improved-plow-stee-galvanized-wire-rope-independent-wire-rope-center>: HTTP status code is not handled or not allowed 2026-01-28 04:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-vs-electric-chain-hoist-1-ton-10-foot-lift-1-3-8-fpm-115-1-60-3-step-iv-control>: HTTP status code is not handled or not allowed 2026-01-28 04:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 04:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 04:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spirit-lighted-display-case-72-w-x-80-h-x-16-d-mirror-back-satin-finish-black-base-and-top>: HTTP status code is not handled or not allowed 2026-01-28 04:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-in-dustbuddie-kit-1>: HTTP status code is not handled or not allowed 2026-01-28 04:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-steel-reel-holder-workbench-60-w>: HTTP status code is not handled or not allowed 2026-01-28 04:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-adjustable-led-emergency-light-fixture-4w-200-lumens-120-277v>: HTTP status code is not handled or not allowed 2026-01-28 04:43:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-99787w-t-style-automotive-safety-coupler-1-4-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 04:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jackson-safety-sc-6-cap-style-hard-hat-4-point-ratchet-suspension-brown-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 04:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-face-visor-adapter-blackgray-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 04:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/household-extension-cord-163-gauge-13a-125v-15l-white>: HTTP status code is not handled or not allowed 2026-01-28 04:43:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:43:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrapped-cutlery-6-14-knife-white>: HTTP status code is not handled or not allowed 2026-01-28 04:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidwire-welded-wire-4-sided-cage-w-3-hinged-door-ceiling-12-6-x-12-6-x-12-5-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 04:43:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs landed on page that is not a product page. 2026-01-28 04:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-acetal-plastic-bar-1-4-thick-x-1-1-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 04:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/new-nippondenso-7ses17c-compressor-w-clutch-four-seasons-168379>: HTTP status code is not handled or not allowed 2026-01-28 04:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 04:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-function-merchandise-lift-with-shelf-safety-orange>: HTTP status code is not handled or not allowed 2026-01-28 04:43:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 04:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/incandescent-bulb-with-e12-candelabra-base-7w-120v-orange-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 04:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-b10-torpedo-clear-light-bulb-e14-base-5w-470-lumens-27k-warm-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 04:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-individual-transfer-punch-23-64>: HTTP status code is not handled or not allowed 2026-01-28 04:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 58998 pages (at 95 pages/min), scraped 30725 items (at 52 items/min) 2026-01-28 04:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-skfl31-chemical-sorbent-spill-kit-31-gallon-1-case>: HTTP status code is not handled or not allowed 2026-01-28 04:43:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-w-push-broom-head-with-heavy-duty-blue-polypropylene-bristles-and-steel-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221429-sensor-temperature-for-waring-products>: HTTP status code is not handled or not allowed 2026-01-28 04:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cup-shave-tmb-07dc-circular-7-steel-blade-with-wood-handle-black>: HTTP status code is not handled or not allowed 2026-01-28 04:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-tree-pulling-clamp-bg-08-for-up-to-4-tree-diameter>: HTTP status code is not handled or not allowed 2026-01-28 04:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-150-ss>: HTTP status code is not handled or not allowed 2026-01-28 04:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-ca11-cfc-light-bulb-e12-base-45w-300-lumens-2700k-warm-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 04:44:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 04:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-stainless-steel-shelf-for-model-107-ss>: HTTP status code is not handled or not allowed 2026-01-28 04:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-mobile-production-workbench-with-power-apron-shop-top-square-edge-blue-32313740>: HTTP status code is not handled or not allowed 2026-01-28 04:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-33-height-adjustable-vinyl-padded-stool-with-backrest-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trippnt-apparel-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 04:44:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:44:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761394-filter-cartridge-4hc-h>: HTTP status code is not handled or not allowed 2026-01-28 04:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010464-pilot-burner-lp>: HTTP status code is not handled or not allowed 2026-01-28 04:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-125-b>: HTTP status code is not handled or not allowed 2026-01-28 04:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-2-wing-screw-1-1-4-head-width-malleable-iron-plain-usa-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 04:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-28 04:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x30-plastic-safety-power-apron-lab-bench-tan-32313858>: HTTP status code is not handled or not allowed 2026-01-28 04:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 04:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-9-piece-cabinet-set-142w-x-21-14d-wall-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 04:44:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/wine_bottle_racks_displays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171169-cartridge-polycarbon-20-inch-for-selecto-scientific-filters>: HTTP status code is not handled or not allowed 2026-01-28 04:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-recessed-downlight-fixture-15w-1000-lumens-7-516dia-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 04:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-050-z>: HTTP status code is not handled or not allowed 2026-01-28 04:44:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/portable_frame_fall_protection_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-brim-hard-hat-sun-shield-universal-fit-a-s1>: HTTP status code is not handled or not allowed 2026-01-28 04:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-solenoid-1-4-nptf-2-port-2-pos-normally-clsd-240vac-no-exh>: HTTP status code is not handled or not allowed 2026-01-28 04:44:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/wine_bottle_racks_displays landed on page that is not a product page. 2026-01-28 04:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-16-w-grip-all-directional-steel-rolling-ladder-w-cal-osha-handrail-cal-pip-7g>: HTTP status code is not handled or not allowed 2026-01-28 04:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-018-b>: HTTP status code is not handled or not allowed 2026-01-28 04:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-safety-rolling-ladder-w-weight-actuated-lock-24-w-perforated-step-orange-w-cal-osha-handrail-cal-wa063214p-o>: HTTP status code is not handled or not allowed 2026-01-28 04:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009336-thermostat-gs>: HTTP status code is not handled or not allowed 2026-01-28 04:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-48rbmag2-db-storage-cabinet-all-welded-48-wx18-dx78-h-denim-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-fiberglass-step-ladder-w-plastic-tool-tray-1>: HTTP status code is not handled or not allowed 2026-01-28 04:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-24-wx78-d-stainless-steel-rolling-safety-ladder-perforated-tread-w-cal-osha-handrail-cal-ss083228p>: HTTP status code is not handled or not allowed 2026-01-28 04:44:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fall_protection/portable_frame_fall_protection_systems landed on page that is not a product page. 2026-01-28 04:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-24-w-steel-safety-angle-orange-rolling-ladder-w-handrails-perforated-tread-w-cal-osha-handrail-cal-sw1232p-o>: HTTP status code is not handled or not allowed 2026-01-28 04:44:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-6-step-steel-rolling-ladder-14-d-top-step-w-handrails-orange-w-cal-osha-handrail-cal-fsh618p-o>: HTTP status code is not handled or not allowed 2026-01-28 04:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/osha-recordkeeping-for-managers-supervisors-and-other-employees-dvd-kit>: HTTP status code is not handled or not allowed 2026-01-28 04:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-132w-olefin-kiwi-fabric>: HTTP status code is not handled or not allowed 2026-01-28 04:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-24-h-x-4-d-mini-pleated-merv-13-air-filter-box-style-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 04:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergotron-neo-flex-wall-mount-lift>: HTTP status code is not handled or not allowed 2026-01-28 04:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergotron-t-slot-bracket>: HTTP status code is not handled or not allowed 2026-01-28 04:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas>: HTTP status code is not handled or not allowed 2026-01-28 04:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-20in-gray-straight-section-without-vents-5ft-long>: HTTP status code is not handled or not allowed 2026-01-28 04:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 59093 pages (at 95 pages/min), scraped 30777 items (at 52 items/min) 2026-01-28 04:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-pullover-hoodie-2xt>: HTTP status code is not handled or not allowed 2026-01-28 04:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-signs-caution-hearing-protection-vinyl-10-w-x-14-h>: HTTP status code is not handled or not allowed 2026-01-28 04:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regulator-5211d6017-1-npt-0100-psig-regulated-pressure-range-640-scfm>: HTTP status code is not handled or not allowed 2026-01-28 04:45:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/gondola_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:45:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_regulators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-folding-banquet-table-96-inch-x-48-inch-vinyl-edge-titan-series>: HTTP status code is not handled or not allowed 2026-01-28 04:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-tv-wall-mount-with-built-in-level-for-32-in-84-in-tvs>: HTTP status code is not handled or not allowed 2026-01-28 04:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suction-brush-for-aero-series-black>: HTTP status code is not handled or not allowed 2026-01-28 04:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-w-x-25-h-x-2-d-pleated-merv-8-standard-capacity-air-filter-wire-back-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 04:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-36-wal-storage-cabinet-all-welded-36-wx18-dx72-h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 04:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-extra-heavy-duty-steel-rolling-safety-ladder-heavy-duty-serrated-grating-w-cal-osha-handrail-cal-ml093221g>: HTTP status code is not handled or not allowed 2026-01-28 04:45:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/gondola_shelving landed on page that is not a product page. 2026-01-28 04:45:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_regulators landed on page that is not a product page. 2026-01-28 04:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-dual-access-fiberglass-step-ladder-2>: HTTP status code is not handled or not allowed 2026-01-28 04:45:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/confined_space_rescue_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-w-x-16-h-x-1-d-pleated-merv-11-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 04:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kemp-fire-first-aid-blanket-bag-with-80-wool-first-aid-blanket>: HTTP status code is not handled or not allowed 2026-01-28 04:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-lite-plastic-equipment-pad-32l-x-32w-x-3h-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-12x18x60-3-door-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 04:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-36782rb-wr-mobile-cabinet-all-welded-36-wx24-dx78-h-wine-red>: HTTP status code is not handled or not allowed 2026-01-28 04:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-22w-x-82h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 04:45:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fall_protection/confined_space_rescue_equipment>: HTTP status code is not handled or not allowed 2026-01-28 04:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prominence-heavy-duty-floor-cleaner-citrus-scent-845-oz-bottle-2case>: HTTP status code is not handled or not allowed 2026-01-28 04:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/residential-air-conditioner-condensing-unit-16-seer2-2-ton-208230v>: HTTP status code is not handled or not allowed 2026-01-28 04:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-sentra-ec-h-d-detachable-full-arm-dual-cross-brace-elevating-legrest>: HTTP status code is not handled or not allowed 2026-01-28 04:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-sil-phos-brazing-rod-18-dia>: HTTP status code is not handled or not allowed 2026-01-28 04:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-outward-swing-partition-door-w-hardware-26w-white>: HTTP status code is not handled or not allowed 2026-01-28 04:45:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-28 04:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-4w-x-82h-black>: HTTP status code is not handled or not allowed 2026-01-28 04:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-er5356-aluminum-mig-welding-wire-003-dia>: HTTP status code is not handled or not allowed 2026-01-28 04:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s201023-20-poly-web-sling-endless-6720-8400-16800-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk12eh-x03s-ear-bud-style-1-wire-surveillance-kit-earpiece>: HTTP status code is not handled or not allowed 2026-01-28 04:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patient-alarm-chair-size>: HTTP status code is not handled or not allowed 2026-01-28 04:45:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-strapping-kit-1-2-steel-strapping>: HTTP status code is not handled or not allowed 2026-01-28 04:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-wash-fountain-semi-circular-raising-vent>: HTTP status code is not handled or not allowed 2026-01-28 04:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s201018-6-poly-web-sling-endless-6720-8400-16800-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-ice-8118021>: HTTP status code is not handled or not allowed 2026-01-28 04:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-hand-dynamometer-300-lb-analog-output-signal-no-gauge-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-wash-fountain-corner-raising-vent>: HTTP status code is not handled or not allowed 2026-01-28 04:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-push-pull-dynamometer-100-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-universal-top-terminals-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 04:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151101-8-double-leg-chain-sling-w-grab-hook>: HTTP status code is not handled or not allowed 2026-01-28 04:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-add-on-60-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 04:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smedley-spring-dynamometer-adult-220-lb-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-factory-cat-290-756l>: HTTP status code is not handled or not allowed 2026-01-28 04:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-6-door-clear-view-locker-digital-lock12-inch-w-x-12-inch-d-x-78-inch-hgray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 04:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1818-1-4-4in-oal-hss-heavy-duty-sand-blasted-118-point-carbide-tipped-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 04:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 59185 pages (at 92 pages/min), scraped 30825 items (at 48 items/min) 2026-01-28 04:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1821-5-8-8in-oal-hss-h-d-sand-blasted-118-point-carbide-tipped-sds-plus-2-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 04:45:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches landed on page that is not a product page. 2026-01-28 04:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-6-door-digital-locker-36inwx18indx78inh-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 04:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151042-4-double-leg-chain-sling-w-grab-hook>: HTTP status code is not handled or not allowed 2026-01-28 04:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151102-3-double-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-28 04:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1877-39-64-black-gold-118-point-3-flat-1-2-reduced-shank-silver-deming-drill>: HTTP status code is not handled or not allowed 2026-01-28 04:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-10w-x-82h-azure>: HTTP status code is not handled or not allowed 2026-01-28 04:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-wall-exhaust-shutter-rear-flange-14-eas-mf-14>: HTTP status code is not handled or not allowed 2026-01-28 04:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1878-17-64-hss-heavy-duty-black-gold-135-split-point-3-flatted-shank-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 04:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-repel-rain-suit-3xl-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-set-screw-collar-nc-series-climax-nc-031>: HTTP status code is not handled or not allowed 2026-01-28 04:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7130-02-liftbak-back-support-medium>: HTTP status code is not handled or not allowed 2026-01-28 04:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152043-20-poly-web-sling-eye-and-eye-5120-6400-12800-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-silver-epoxy-wire-ledge-30x4>: HTTP status code is not handled or not allowed 2026-01-28 04:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1880-5-32-cobalt-heavy-duty-straw-135-left-hand-mechanics-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 04:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-triple-tier-3-wide-12-3-4w-x-18d-x-24-5-16h-blue-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 04:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1880-1-4-e-cobalt-heavy-duty-straw-135-left-hand-mechanics-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 04:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mega-bullet153-disposable-earplugs-uncorded-nrr-32-db-500-pairsbag>: HTTP status code is not handled or not allowed 2026-01-28 04:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-with-keyway-2c-kw-series-climax-2c-150-kw>: HTTP status code is not handled or not allowed 2026-01-28 04:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-sided-frame-24x30-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-28 04:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regency-decorative-cluster-box-unit-tall-12-a-size-doors-type-ii-bronze-usps-access>: HTTP status code is not handled or not allowed 2026-01-28 04:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunnage-shelf-24x60-1>: HTTP status code is not handled or not allowed 2026-01-28 04:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lateral-file-accessory-two-edp-adapters-2>: HTTP status code is not handled or not allowed 2026-01-28 04:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-accessory-return-4>: HTTP status code is not handled or not allowed 2026-01-28 04:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siv-14-diameter-sieves>: HTTP status code is not handled or not allowed 2026-01-28 04:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-156-z>: HTTP status code is not handled or not allowed 2026-01-28 04:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-4-x-60-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 04:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19056-3114-pull-on-wrist-lanyard-w-carabiner-3lbs-max-black>: HTTP status code is not handled or not allowed 2026-01-28 04:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-with-keyway-2c-kw-series-climax-2c-062-s-kw>: HTTP status code is not handled or not allowed 2026-01-28 04:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pob-k-oval-fast-food-baskets>: HTTP status code is not handled or not allowed 2026-01-28 04:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-partition-panel-wo-brackets-5712w-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19130-3130s-coiled-cable-lanyard-2-lbs-max-lime-polyurethane>: HTTP status code is not handled or not allowed 2026-01-28 04:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-h2c-318-s>: HTTP status code is not handled or not allowed 2026-01-28 04:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-10-x-9-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 04:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-193>: HTTP status code is not handled or not allowed 2026-01-28 04:46:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=slotted-cap-with-fas-trac-iii-suspension-hi-viz-yellow already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-button-up-safety-shirt-cottonnylon-3xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psh-14-scraper-600f-heat-resistant-14l-silicone>: HTTP status code is not handled or not allowed 2026-01-28 04:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psm-mw-medium-well-steak-markers>: HTTP status code is not handled or not allowed 2026-01-28 04:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-daylight-a19-dimmable-light-bulb-10-w-4pack>: HTTP status code is not handled or not allowed 2026-01-28 04:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-industry-standard-clamping-couplings-climax-2miscc-35-35>: HTTP status code is not handled or not allowed 2026-01-28 04:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-partition-panel-wo-brackets-5912w-almond>: HTTP status code is not handled or not allowed 2026-01-28 04:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5412w-dark-khaki>: HTTP status code is not handled or not allowed 2026-01-28 04:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=slotted-cap-with-fas-trac-iii-suspension-hi-viz-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-enviroduct-15wk-portable-heater-duct-14-dia-x-25l-x-6-pitch-white>: HTTP status code is not handled or not allowed 2026-01-28 04:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-shovel-10-in-blade-purple>: HTTP status code is not handled or not allowed 2026-01-28 04:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plw-cg-cover-for-plw-7g>: HTTP status code is not handled or not allowed 2026-01-28 04:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 59285 pages (at 100 pages/min), scraped 30879 items (at 54 items/min) 2026-01-28 04:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-4w-x-82h-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-series-3-4-hp-submersible-cast-iron-sump-pump-vertical-switch>: HTTP status code is not handled or not allowed 2026-01-28 04:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-1-4-x-11-1-4-x-7-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 04:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psw-24-wide-mouth-squeeze-bottles-24-oz>: HTTP status code is not handled or not allowed 2026-01-28 04:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-8w-x-82h-sand>: HTTP status code is not handled or not allowed 2026-01-28 04:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-24w-x-82h-khaki-brown>: HTTP status code is not handled or not allowed 2026-01-28 04:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-bulk-dispenser-12w-x-5-78d-x-17h-silverclear>: HTTP status code is not handled or not allowed 2026-01-28 04:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-10w-x-82h-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-c-phenolic-sheet-0-062-x-48-000-x-96-000>: HTTP status code is not handled or not allowed 2026-01-28 04:47:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-with-keyway-2c-kw-series-climax-2c-125-kw>: HTTP status code is not handled or not allowed 2026-01-28 04:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-gard-h2-mips-safety-helmet-vented-climbing-class-c-type-2-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-2b-plain-ramekins-2-oz-melamine-bone>: HTTP status code is not handled or not allowed 2026-01-28 04:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-5-random-orbital-sander-bare-tool-24v>: HTTP status code is not handled or not allowed 2026-01-28 04:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dwa8933-xp-ceramic-metal-grinding-wheels-type-27-4-1-2-inch-x-7-8-inch-24-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-28 04:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-20-x-16-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 04:47:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/super_glue already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-32-utility-scoop-32-oz-clear-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-28 04:47:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap landed on page that is not a product page. 2026-01-28 04:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-187-s>: HTTP status code is not handled or not allowed 2026-01-28 04:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wsolid-doors-sides-36wx24dx78h-redall-welded>: HTTP status code is not handled or not allowed 2026-01-28 04:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-press-fit-fluid-level-sight-glass-w-o-indicator-fits-20mm-79-bore-rd1-a>: HTTP status code is not handled or not allowed 2026-01-28 04:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-guardrail-stack-rack-kit-11-guardails-and-12-ucc-bases-5l-rails-yellow>: HTTP status code is not handled or not allowed 2026-01-28 04:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-outward-swing-door-w-hardware-26w-canyon-zephyr>: HTTP status code is not handled or not allowed 2026-01-28 04:47:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/super_glue landed on page that is not a product page. 2026-01-28 04:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-gear-locker-wsecurity-box-24wx24dx72h-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 04:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmc-14k-single-menu-cover-8-1-2w-14h-plastic-w-vinyl-binding-single-page-black>: HTTP status code is not handled or not allowed 2026-01-28 04:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-5-sprinkler-water-pressure-gauge-1-4-npt-0-300-psi-lower-mount-sprinkler-water>: HTTP status code is not handled or not allowed 2026-01-28 04:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartair-ductless-mini-split-ac-heater-wi-fi-control-12000-btu-25-installation-kit-white>: HTTP status code is not handled or not allowed 2026-01-28 04:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-gear-locker-w-1-coat-rod-48wx24dx72h-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 04:47:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-0-750-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 04:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-rod-0-125-dia-x-48-000-inch>: HTTP status code is not handled or not allowed 2026-01-28 04:47:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-vented-sides-24wx18dx72h-blue-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 04:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-x-30-kra-crimped-end-tubes-case>: HTTP status code is not handled or not allowed 2026-01-28 04:47:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-controlled-room-temperature-cabinet-glass-door-10-5-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 04:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4th-level-add-on-for-tapered-transport-riser-gray-carpet-with-black-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:47:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 04:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-film-for-hand-dispenser-blown-120-gauge-18w-x-1000l-clear-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 04:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 04:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-24>: HTTP status code is not handled or not allowed 2026-01-28 04:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-paper-phenolic-sheet-0-125-thick-36-x-48>: HTTP status code is not handled or not allowed 2026-01-28 04:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mahr-federal-pocket-surf-stand>: HTTP status code is not handled or not allowed 2026-01-28 04:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-5r-round-wire-skimmer-5d>: HTTP status code is not handled or not allowed 2026-01-28 04:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wsolid-doors-sides-42wx24dx78h-blueall-welded>: HTTP status code is not handled or not allowed 2026-01-28 04:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wsolid-doors-sides-42wx24dx78h-grayunassembled>: HTTP status code is not handled or not allowed 2026-01-28 04:47:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions landed on page that is not a product page. 2026-01-28 04:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-36>: HTTP status code is not handled or not allowed 2026-01-28 04:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contender-bookshelf-42h-ready-to-assemble>: HTTP status code is not handled or not allowed 2026-01-28 04:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 59380 pages (at 95 pages/min), scraped 30928 items (at 49 items/min) 2026-01-28 04:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-paddle-60-in-long>: HTTP status code is not handled or not allowed 2026-01-28 04:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-paddle-36-in-long>: HTTP status code is not handled or not allowed 2026-01-28 04:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-168-s>: HTTP status code is not handled or not allowed 2026-01-28 04:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2077-stainless-steel-dough-hoe>: HTTP status code is not handled or not allowed 2026-01-28 04:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0016-01-winston-teaspoon>: HTTP status code is not handled or not allowed 2026-01-28 04:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-radex-1x1-2-reducing-nipple>: HTTP status code is not handled or not allowed 2026-01-28 04:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-bxfootlockervented24x21x76grall-welded>: HTTP status code is not handled or not allowed 2026-01-28 04:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-grate-guard-high-flow-no-overflows-28l-x-42w-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 04:48:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:48:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:48:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-2-axis-acu-rite-g-2-millpower-cnc already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-brick-corner-edge-guard-protector-48l-x-24w-x-9h-orange>: HTTP status code is not handled or not allowed 2026-01-28 04:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s2124s-stainless-steel-wire-shelf-24w-x-21d>: HTTP status code is not handled or not allowed 2026-01-28 04:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0526-cooler-wear-trousers-regular-navy-large>: HTTP status code is not handled or not allowed 2026-01-28 04:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-21x72-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 04:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers>: HTTP status code is not handled or not allowed 2026-01-28 04:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-2-axis-acu-rite-g-2-millpower-cnc>: HTTP status code is not handled or not allowed 2026-01-28 04:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-metric-standard-impact-socket-18mm-drive-black>: HTTP status code is not handled or not allowed 2026-01-28 04:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbh-1824-cutting-board-18l-24w-3-4h-white>: HTTP status code is not handled or not allowed 2026-01-28 04:48:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers landed on page that is not a product page. 2026-01-28 04:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tl-kit-with-low-profile-yellow-hood-he-filters-extended-battery>: HTTP status code is not handled or not allowed 2026-01-28 04:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-gx4-calibration-adapter>: HTTP status code is not handled or not allowed 2026-01-28 04:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-climax-rc-150>: HTTP status code is not handled or not allowed 2026-01-28 04:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cleaner-lemon-15-oz-can-12-cans-case-1001541>: HTTP status code is not handled or not allowed 2026-01-28 04:48:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-back-metal-restaurant-barstool-black-vinyl-seat>: HTTP status code is not handled or not allowed 2026-01-28 04:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-partition-flexible-eleven-panel-30>: HTTP status code is not handled or not allowed 2026-01-28 04:48:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-l-x-30-w-14-gauge-stainless-workbench-w-undershelf-le-sink-2>: HTTP status code is not handled or not allowed 2026-01-28 04:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerquad153-pulseair-vacuum-kit-with-1-12-inlet-30-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-900988-blk-pegboard-organizer-kit-black-48-w-x-7-8-d-x-24-h>: HTTP status code is not handled or not allowed 2026-01-28 04:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-751603-three-tier-bowl-floor-display-16-w-x-16-d-x-60-h>: HTTP status code is not handled or not allowed 2026-01-28 04:48:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/display_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:48:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-54>: HTTP status code is not handled or not allowed 2026-01-28 04:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1ss-3c-15-electric-chain-hoist-1-ton-capacity-15-lift-24-fpm-230460v>: HTTP status code is not handled or not allowed 2026-01-28 04:48:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 04:48:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:48:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems landed on page that is not a product page. 2026-01-28 04:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pebble-5-8-thick-black-yellow-mat-3-foot-wide>: HTTP status code is not handled or not allowed 2026-01-28 04:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0934-econo-tuff-frock-liner-regular-navy-3xl>: HTTP status code is not handled or not allowed 2026-01-28 04:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/display_trays>: HTTP status code is not handled or not allowed 2026-01-28 04:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-28 04:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344l2-hivis-minus-50-suit-regular-hivis-lime-yellow-small>: HTTP status code is not handled or not allowed 2026-01-28 04:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems>: HTTP status code is not handled or not allowed 2026-01-28 04:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-latex-dark-blue-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 04:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-zlink-respirator-with-chin-seal>: HTTP status code is not handled or not allowed 2026-01-28 04:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-machine-table-60-x-30>: HTTP status code is not handled or not allowed 2026-01-28 04:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-temperature-controller-a421gbf-02c-24-vac-spdt-nema-1>: HTTP status code is not handled or not allowed 2026-01-28 04:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 59471 pages (at 91 pages/min), scraped 30978 items (at 50 items/min) 2026-01-28 04:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s90-300-10-hand-chain-hoist-3-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 04:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z4-face-shield>: HTTP status code is not handled or not allowed 2026-01-28 04:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-5-yards-self-adhesive-bandage-non-latex-yellow-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-28 04:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-55w-steak-knife-4-1-2l-wood-handle-round-tip>: HTTP status code is not handled or not allowed 2026-01-28 04:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1051-3-1-compressor-filter-housing-plastic-housing-5-tube-silencerfilter-sold-separately>: HTTP status code is not handled or not allowed 2026-01-28 04:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-outdoor-steel-flat-bench-perforated-metal-green>: HTTP status code is not handled or not allowed 2026-01-28 04:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-add-on-unit-60-w-x-12-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 04:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clw11-1205wmbrp-led-wall-pack-120w-16800-lumens-5000k>: HTTP status code is not handled or not allowed 2026-01-28 04:49:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n26r-osha-sign-notice-full-cylinders-7-x-10-whiteblueblack>: HTTP status code is not handled or not allowed 2026-01-28 04:49:14 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 04:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23070-cut-off-wheel-type-1-a60t-4-inch-x-035-inch-x-3-8-inch-60-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 04:49:15 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:31 2026-01-28 04:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cd-64-coffee-decanter-64-oz-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 04:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-116-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 04:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-add-on-unit-42-w-x-18-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 04:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_machines>: HTTP status code is not handled or not allowed 2026-01-28 04:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cord-spring-rewind-reels-fluorescent-angle-light-35-cord-16-awg>: HTTP status code is not handled or not allowed 2026-01-28 04:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosion-resistant-set-screw-collar-cr-climax-crc-043>: HTTP status code is not handled or not allowed 2026-01-28 04:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-strip-with-high-temp-adhesive-75a-132-thick-x-1-wide-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 04:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/room-divider-6-height-7-sections-clear-acrylic-panels>: HTTP status code is not handled or not allowed 2026-01-28 04:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-roll-no-adhesive-75a-316-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 04:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-motorized-power-cord-reel-that-accepts-250-of-12-gauge-or-200-of-10-gauge-cord-at45-amps-with4-gast-air-motor->: HTTP status code is not handled or not allowed 2026-01-28 04:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-sheet-with-acrylic-adhesive-60a-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 04:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-replacement-liner-24-bushel-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 04:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiber-lids-for-fiber-containers-7-8-x-10-1-x-0-5-natural-400-carton>: HTTP status code is not handled or not allowed 2026-01-28 04:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35124-psa-disc-8-inch-dia-40-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 04:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-12-wheel-with-hardware-includes-1-12-wheel-2-washers-1-axle-nut-standard-trucks>: HTTP status code is not handled or not allowed 2026-01-28 04:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-pocket-poly-portfolio-folder-with-3-hole-punch-yellow-25-set>: HTTP status code is not handled or not allowed 2026-01-28 04:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-100-050-s>: HTTP status code is not handled or not allowed 2026-01-28 04:49:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-stacking-box-gray-18-3-4x11-7-8x1-3-4>: HTTP status code is not handled or not allowed 2026-01-28 04:49:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alxp-1826-aluminum-sheet-pan>: HTTP status code is not handled or not allowed 2026-01-28 04:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-068-a>: HTTP status code is not handled or not allowed 2026-01-28 04:49:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apzs-15-pizza-screen>: HTTP status code is not handled or not allowed 2026-01-28 04:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-brake-w-4-way-die-for-open-cavity-65t-120t-11065t-elite-ironworkers>: HTTP status code is not handled or not allowed 2026-01-28 04:49:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/casters_wheels/plate_casters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 04:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hg-227-galvanized-turnbuckle-jaw-eye-3-4-x-6-5200-lbs-wll>: HTTP status code is not handled or not allowed 2026-01-28 04:49:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_curtains already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:49:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 04:49:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/37615-hook-and-loop-disc-6-inch-dia-80-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 04:49:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/bleachers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 04:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-immersion-heater-tank-6000-240v-316-stainless>: HTTP status code is not handled or not allowed 2026-01-28 04:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-shoe-rack-espresso>: HTTP status code is not handled or not allowed 2026-01-28 04:49:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/casters_wheels/plate_casters landed on page that is not a product page. 2026-01-28 04:49:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 59564 pages (at 93 pages/min), scraped 31031 items (at 53 items/min) 2026-01-28 04:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_curtains>: HTTP status code is not handled or not allowed 2026-01-28 04:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-row-national-rep-aluminum-bleacher-15-wide-single-footboard>: HTTP status code is not handled or not allowed 2026-01-28 04:50:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/bleachers landed on page that is not a product page. 2026-01-28 04:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-terrain-vise153-with-swivel-base-5-jaw-width-4-14-throat-depth>: HTTP status code is not handled or not allowed 2026-01-28 04:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-112-100-s>: HTTP status code is not handled or not allowed 2026-01-28 04:50:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 04:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-with-acrylic-adhesive-50a-12-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 04:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 04:50:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acid-resistant-spray-applicator-2-gallon-capacity-1-case>: HTTP status code is not handled or not allowed 2026-01-28 04:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-table-medium-oak>: HTTP status code is not handled or not allowed 2026-01-28 04:50:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-cs-5c-16-piece-collet-set-18-116-by-116-increments>: HTTP status code is not handled or not allowed 2026-01-28 04:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-508-t-slot-nuts-steel-blackened-m12-7-8-w-x-5-8-h>: HTTP status code is not handled or not allowed 2026-01-28 04:50:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-6319-spherical-washers-stainless-steel-seat-type-matte-m6-1-16-h-1-4-male-id>: HTTP status code is not handled or not allowed 2026-01-28 04:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 04:50:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders>: HTTP status code is not handled or not allowed 2026-01-28 04:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-2-lb-steel-dead-blow-hammer-14l-handle>: HTTP status code is not handled or not allowed 2026-01-28 04:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cortech-usa-7603bk-endurance-night-table-black-fr-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 04:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 04:50:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders landed on page that is not a product page. 2026-01-28 04:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-749-threaded-pipe-plugs-steel-zinc-plated-w-nbr-synthetic-rubber-seal-m-14-x-1-5>: HTTP status code is not handled or not allowed 2026-01-28 04:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biohazard-specimen-bags-6x9-1000-case-3-ply>: HTTP status code is not handled or not allowed 2026-01-28 04:50:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 04:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-6504-closet-door-roller-14-inch-offset-with-78-inch-nylon-wheelpack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 04:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-hydraulic-sheet-metal-shear-7-5-hp-3-phase-220v-sh-5210-hd>: HTTP status code is not handled or not allowed 2026-01-28 04:50:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-6512-closet-door-roller-front-14-inch-offset-1-inch-nylon-wheelpack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 04:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-driven-band-saw-1-1-2-hp-single-phase-220v-bs-260m>: HTTP status code is not handled or not allowed 2026-01-28 04:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delfin-64-longopac-hepa-vacuum-2-7-hp-mistral-202-ds-lp>: HTTP status code is not handled or not allowed 2026-01-28 04:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delfin-5-3-gallon-hepa-vacuum-2-7-hp-mistral-202-ds>: HTTP status code is not handled or not allowed 2026-01-28 04:50:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/static-conductive-air-hose-assembly-38-id-x-25l-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-8-bench-grinder-4-belt-grinder-single-phase-115v-igbb-436>: HTTP status code is not handled or not allowed 2026-01-28 04:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-in-nylon-scrub-brush-for-lvt-soft-white>: HTTP status code is not handled or not allowed 2026-01-28 04:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-in-nylon-scrub-brush-for-lvt-soft-white>: HTTP status code is not handled or not allowed 2026-01-28 04:50:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 04:50:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-double-tier-12x18x36-6-door-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 04:50:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/address_shipping_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=straight-hand-racers-brake-72-l-22-gauge already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laptop-tablet-holder-10-17>: HTTP status code is not handled or not allowed 2026-01-28 04:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-shelf-truck-mesh-sides-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 04:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-cabinet-36w-x-15d-x-17h-dark-cherry>: HTTP status code is not handled or not allowed 2026-01-28 04:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 04:50:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/corrugated_boxes_cartons/corrugated_boxes/specialized_moving_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/address_shipping_labels>: HTTP status code is not handled or not allowed 2026-01-28 04:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=straight-hand-racers-brake-72-l-22-gauge>: HTTP status code is not handled or not allowed 2026-01-28 04:50:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders landed on page that is not a product page. 2026-01-28 04:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-wall-corrugated-sheets-96l-x-36w-kraft-5pack>: HTTP status code is not handled or not allowed 2026-01-28 04:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-propane-blue-flame-vent-free-heater-10000-btu-electric>: HTTP status code is not handled or not allowed 2026-01-28 04:50:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/wall_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patio-heater-with-remote-control-metal-grid-cover-natural-gas-propane-37000-btu-120v>: HTTP status code is not handled or not allowed 2026-01-28 04:50:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 59648 pages (at 84 pages/min), scraped 31070 items (at 39 items/min) 2026-01-28 04:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-handle-instrument-cart-lip-shelves-24-x-36>: HTTP status code is not handled or not allowed 2026-01-28 04:50:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/corrugated_boxes_cartons/corrugated_boxes/specialized_moving_boxes landed on page that is not a product page. 2026-01-28 04:50:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-bumper-36-w-x-4-5-d-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 04:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-truck-5-lip-shelves-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 04:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-steel-solid-body-padlocks-no-6230>: HTTP status code is not handled or not allowed 2026-01-28 04:51:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=manually-operated-ironworker-10-w-4-stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/walls_ceilings/wall_tiles>: HTTP status code is not handled or not allowed 2026-01-28 04:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-cold-cups-20-oz-clear-1000-carton>: HTTP status code is not handled or not allowed 2026-01-28 04:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-cold-cups-9-oz-clear-1000-carton>: HTTP status code is not handled or not allowed 2026-01-28 04:51:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 04:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-50a-116-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 04:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-made-in-usa-2-x-110-yds-22-mil-redwhiteblue-18pack>: HTTP status code is not handled or not allowed 2026-01-28 04:51:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys landed on page that is not a product page. 2026-01-28 04:51:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=manually-operated-ironworker-10-w-4-stations>: HTTP status code is not handled or not allowed 2026-01-28 04:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-36x18x75-8>: HTTP status code is not handled or not allowed 2026-01-28 04:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-if-seal-is-broken-2-x-110-yds-redwhite-18pack>: HTTP status code is not handled or not allowed 2026-01-28 04:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s78129-class-3-hooded-sweatshirt-fluorescent-orange-sm>: HTTP status code is not handled or not allowed 2026-01-28 04:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1400-rubber-10-work-overshoes-black-cleated-outsole-sm>: HTTP status code is not handled or not allowed 2026-01-28 04:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x15-fall-safety-net-with-debris-liner-black>: HTTP status code is not handled or not allowed 2026-01-28 04:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-50a-18-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 04:51:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 04:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-insulated-replacement-cover-for-n1tw>: HTTP status code is not handled or not allowed 2026-01-28 04:51:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x18x39-6>: HTTP status code is not handled or not allowed 2026-01-28 04:51:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-03f-hung-diaphragm-solenoid-valve-2-2-nc-fkm-seal-1-2-nptf-12-mm-12v-dc>: HTTP status code is not handled or not allowed 2026-01-28 04:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modine-193000-btu-steam-or-hot-water-unit-heater>: HTTP status code is not handled or not allowed 2026-01-28 04:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-part-carbonless-inventory-tag-3000-3499-8-6-14l-x-3-18w-500pack>: HTTP status code is not handled or not allowed 2026-01-28 04:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-0-375-thick-x-24-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 04:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 04:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1350-wintertuff-ice-traction-stretch-overshoes-black-studded-outsole-3xl>: HTTP status code is not handled or not allowed 2026-01-28 04:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-sheet-0-500-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 04:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-part-carbonless-stub-style-inv-tag-pre-wired-0000-0499-8-6-14lx3-18w-500pk>: HTTP status code is not handled or not allowed 2026-01-28 04:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-carton-sealing-tape-2-x-55-yds-22-mil-orange-6pack>: HTTP status code is not handled or not allowed 2026-01-28 04:51:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 04:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-raised-circular-stair-tread-square-nose-204375-x-60-black>: HTTP status code is not handled or not allowed 2026-01-28 04:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-36x18x63-nexelon-finish>: HTTP status code is not handled or not allowed 2026-01-28 04:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-sheet-0-250-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 04:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-laminating-tag-5-4-34l-x-2-38w-yellow-100pack>: HTTP status code is not handled or not allowed 2026-01-28 04:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o24122-icon-snap-fly-front-overall-fluorescent-lime-5xl>: HTTP status code is not handled or not allowed 2026-01-28 04:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-wagon-50ft-long-high-pressure-gas-hose-1in-diameter>: HTTP status code is not handled or not allowed 2026-01-28 04:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-116-thick-x-36-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 04:51:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-316-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 04:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-ss-304-barstock-hex-head-bushing-3-2-npt-male-female>: HTTP status code is not handled or not allowed 2026-01-28 04:51:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merchandise-tag-1-34l-x-1-18w-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-with-high-temp-adhesive-50a-14-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 04:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1730s08-osha-stairway-30width-8-stairs>: HTTP status code is not handled or not allowed 2026-01-28 04:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-muffler-for-2-8-scfm-vortex-tube>: HTTP status code is not handled or not allowed 2026-01-28 04:51:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-clear-lid-18x12>: HTTP status code is not handled or not allowed 2026-01-28 04:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 59738 pages (at 90 pages/min), scraped 31114 items (at 44 items/min) 2026-01-28 04:51:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 04:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moisture-safe-cold-packs-8-oz-6-12l-x-4w-x-34h-white-72pack>: HTTP status code is not handled or not allowed 2026-01-28 04:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 04:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ldpe-rod-1-000-dia>: HTTP status code is not handled or not allowed 2026-01-28 04:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j32007-american-storm-fly-front-jacket-yellow-md>: HTTP status code is not handled or not allowed 2026-01-28 04:52:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 04:52:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-heater-mh360faet-portable-electric-forced-air-heater-garage-space-heater-3600w-240v>: HTTP status code is not handled or not allowed 2026-01-28 04:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn111-4-spiral-retaining-cables-plastic-2-key-rings-3-94-l-0-71-key-ring-dia>: HTTP status code is not handled or not allowed 2026-01-28 04:52:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-12-8l-x-4w-manilla-500pack>: HTTP status code is not handled or not allowed 2026-01-28 04:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-outdoor-bar-height-table-42-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:52:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1730b05-cross-over-bridge-35-overall-width-5-stairs>: HTTP status code is not handled or not allowed 2026-01-28 04:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-shelf-steel-shelving-with-24-akro-mils-shelf-bins-3>: HTTP status code is not handled or not allowed 2026-01-28 04:52:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 04:52:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:52:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haz-mat-boxes-for-1-gallon-paint-can-8-12l-x-8-12w-x-9-516h-kraft-25pack>: HTTP status code is not handled or not allowed 2026-01-28 04:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-shelf-steel-shelving-with-72-akrobins-36x12x75>: HTTP status code is not handled or not allowed 2026-01-28 04:52:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 04:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamper-kit-red-vinyl-enviro-pocket>: HTTP status code is not handled or not allowed 2026-01-28 04:52:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs landed on page that is not a product page. 2026-01-28 04:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb924b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-9>: HTTP status code is not handled or not allowed 2026-01-28 04:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-28 04:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-nsm-sheet-0-250-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 04:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trane-compatible-zone-sensors-model-sp155027>: HTTP status code is not handled or not allowed 2026-01-28 04:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-gallon-rubbermaid-plastic-wastebasket-black>: HTTP status code is not handled or not allowed 2026-01-28 04:52:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_controls/hvac_control_sensors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:52:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/surface_grinding_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-60a-14-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 04:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-pull-plate-8-l-x-16-h-x-3-4-oxidized-satin-bronze-8-ctc>: HTTP status code is not handled or not allowed 2026-01-28 04:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-b44-4x-tube-3-000-id-x-3-500-od-x-50-l>: HTTP status code is not handled or not allowed 2026-01-28 04:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-wired-1-2-34l-x-1-38w-fluorescent-red-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j22207-iron-eagle-storm-fly-front-jacket-gold-hood-snaps-sm>: HTTP status code is not handled or not allowed 2026-01-28 04:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o31107-webdri-snap-fly-front-overall-yellow-lg>: HTTP status code is not handled or not allowed 2026-01-28 04:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/hvac_controls/hvac_control_sensors>: HTTP status code is not handled or not allowed 2026-01-28 04:52:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 04:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/surface_grinding_wheels>: HTTP status code is not handled or not allowed 2026-01-28 04:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o53129-comfortbrite-snap-fly-front-overall-fluorescent-orange-lg>: HTTP status code is not handled or not allowed 2026-01-28 04:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-vacuum-to-hose-connecter-3-way-branch-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 04:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-60x36-high-capacity-rack-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silbrade-braided-silicone-tube-0-312-id-x-592-od-x-100-l-roll>: HTTP status code is not handled or not allowed 2026-01-28 04:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-welded-workbench-w-open-base-hardboard-over-steel-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 04:52:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s56307-durascrim-3-pc-suit-yellow-detachable-hood-4xl>: HTTP status code is not handled or not allowed 2026-01-28 04:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx18-dx73-h-closed-clip-style-5-shelf-starter>: HTTP status code is not handled or not allowed 2026-01-28 04:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-clear-vinyl-tubing-1-4-x-1-8-wall-200-feet-reel>: HTTP status code is not handled or not allowed 2026-01-28 04:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-tuck-folding-cartons-3l-x-3w-x-10h-white-250pack>: HTTP status code is not handled or not allowed 2026-01-28 04:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gpo-3-u-channel-1144-0-250-thick-x-2-w-x-1-leg-x-10-l>: HTTP status code is not handled or not allowed 2026-01-28 04:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apparel-boxes-24l-x-14w-x-4h-white-25pack>: HTTP status code is not handled or not allowed 2026-01-28 04:52:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 04:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-72-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 04:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 59833 pages (at 95 pages/min), scraped 31163 items (at 49 items/min) 2026-01-28 04:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-72-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 04:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-truck-72x24x69-1200-lb-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-28 04:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eva-tubing-w-nylon-braid-reinforcement-bulk-3-4-i-d-300-feet>: HTTP status code is not handled or not allowed 2026-01-28 04:52:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-niagara-2-x-2-nail-up-tin-ceiling-tile-in-unfinished-t54-03>: HTTP status code is not handled or not allowed 2026-01-28 04:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-ludington-2-x-2-nail-up-tin-ceiling-tile-in-matte-white-t57-01>: HTTP status code is not handled or not allowed 2026-01-28 04:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-jamestown-2-x-2-nail-up-tin-ceiling-tile-in-argento-t51-07>: HTTP status code is not handled or not allowed 2026-01-28 04:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-tuck-folding-cartons-4-58l-x-2-38w-x-7-516h-kraft-250pack>: HTTP status code is not handled or not allowed 2026-01-28 04:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2517-flatback-tape-2-x-60-yds-65-mil-kraft-12pack>: HTTP status code is not handled or not allowed 2026-01-28 04:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-lined-cd-mailers-5-18l-x-5w-white-100pack>: HTTP status code is not handled or not allowed 2026-01-28 04:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-add-on-72wx14dx54h>: HTTP status code is not handled or not allowed 2026-01-28 04:53:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 04:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-gift-box-bottoms-10l-x-10w-x-6h-white-50pack>: HTTP status code is not handled or not allowed 2026-01-28 04:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-ludington-2-x-2-nail-up-tin-ceiling-tile-in-unfinished-t57-03>: HTTP status code is not handled or not allowed 2026-01-28 04:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-industrial-grade-utility-towels-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-24-inch-polymer-rough-surface-industrial-push-broom>: HTTP status code is not handled or not allowed 2026-01-28 04:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-00-5460-blade-4l-wood-5-pk>: HTTP status code is not handled or not allowed 2026-01-28 04:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-ludington-2-x-2-lay-in-tin-ceiling-tile-in-argento-y57-07>: HTTP status code is not handled or not allowed 2026-01-28 04:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-heavy-duty-kitchen-brush>: HTTP status code is not handled or not allowed 2026-01-28 04:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-large-angled-toilet-bowl-brush-caddy>: HTTP status code is not handled or not allowed 2026-01-28 04:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-air-scented-oil-air-freshener-macintosh-apple-and-cinnamon-red-2-5-oz-6-case>: HTTP status code is not handled or not allowed 2026-01-28 04:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lw-address-labels-1-1-8-x-3-1-2-black-on-white-30320>: HTTP status code is not handled or not allowed 2026-01-28 04:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-nut-5510111>: HTTP status code is not handled or not allowed 2026-01-28 04:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-air-max-odor-eliminator-air-freshener-citrus-burst-8-oz-6-case>: HTTP status code is not handled or not allowed 2026-01-28 04:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8201-knob-5513846>: HTTP status code is not handled or not allowed 2026-01-28 04:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bntm3036-30-x-36-exposed-flange-mortise-lock-prep>: HTTP status code is not handled or not allowed 2026-01-28 04:53:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-double-folding-gate-10w-to-12w-and-76h>: HTTP status code is not handled or not allowed 2026-01-28 04:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-in-one-package-opener-multi-function>: HTTP status code is not handled or not allowed 2026-01-28 04:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-foam-skin-cleanser-with-moisturizers-citrus-scent-1-5-l-refill-2-case>: HTTP status code is not handled or not allowed 2026-01-28 04:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-brush-w-quick-connect-for-1316-id-tubes-blue-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-28 04:53:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 04:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-bacterial-liquid-hand-soap-spring-water-scent-1-gallon-bottle>: HTTP status code is not handled or not allowed 2026-01-28 04:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-sves-r-right-valve-encl-wslot>: HTTP status code is not handled or not allowed 2026-01-28 04:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-air-oil-inline-tool-filter>: HTTP status code is not handled or not allowed 2026-01-28 04:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-kcc-r-right-end-cap>: HTTP status code is not handled or not allowed 2026-01-28 04:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25816-crank-table-raiser-5507519>: HTTP status code is not handled or not allowed 2026-01-28 04:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-stackable-sidechair-linen-pack-of-16>: HTTP status code is not handled or not allowed 2026-01-28 04:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-36x24x32-1>: HTTP status code is not handled or not allowed 2026-01-28 04:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dishwashing-liquid-ultra-strength-original-scent-20-oz-bottle-9-case>: HTTP status code is not handled or not allowed 2026-01-28 04:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-bouffant-cap-34-mil-waterproof-100-latex-free-clear-21-100bag>: HTTP status code is not handled or not allowed 2026-01-28 04:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-breather-vent>: HTTP status code is not handled or not allowed 2026-01-28 04:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flextec-350xp-twist-mate-multi-process-welder-425a-5060-hz-red>: HTTP status code is not handled or not allowed 2026-01-28 04:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 59931 pages (at 98 pages/min), scraped 31221 items (at 58 items/min) 2026-01-28 04:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-muffler-3-8-female>: HTTP status code is not handled or not allowed 2026-01-28 04:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-flame-retardant-flexible-duct-global-industrial-air-scrubber-32>: HTTP status code is not handled or not allowed 2026-01-28 04:53:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blade-track-adjknob-5782571>: HTTP status code is not handled or not allowed 2026-01-28 04:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sharpie-twin-tip-permanent-markers-assorted-colors-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-bucket-with-lid-red-white-6-case>: HTTP status code is not handled or not allowed 2026-01-28 04:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8225z-class-2-standard-vest-lime-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-28 04:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-outdoor-wall-mounted-drinking-fountain-ss>: HTTP status code is not handled or not allowed 2026-01-28 04:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/officeworks-mobile-training-table-18x72-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 04:54:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers landed on page that is not a product page. 2026-01-28 04:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-digital-counting-scale-60-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sport-half-frame-safety-glasses-anti-fog-smoke-lens-red-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vogue-outdoor-stackable-chair-black-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 04:54:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/409996-medium-carrying-case-black>: HTTP status code is not handled or not allowed 2026-01-28 04:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-panel-hbs-1321w-1321w-151>: HTTP status code is not handled or not allowed 2026-01-28 04:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-edge-workbench-top-stainless-steel-48-w-x-30-d-x-1-1-2-thick>: HTTP status code is not handled or not allowed 2026-01-28 04:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-949evs-mill-3-axis-acu-rite-200s-dro-knee-x-y-and-z-axis-powerfeeds-698178>: HTTP status code is not handled or not allowed 2026-01-28 04:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crank-hndl-jdp-1417-10601009>: HTTP status code is not handled or not allowed 2026-01-28 04:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-caster-kit>: HTTP status code is not handled or not allowed 2026-01-28 04:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8oz-amber-boston-round-bottle-with-24-400-black-phenolic-rubber-lined-cap-24pk>: HTTP status code is not handled or not allowed 2026-01-28 04:54:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-newall-dp700-dro-knee-x-and-y-axis-powerfeeds-690548 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-high-lift-skid-truck-gwk-5442-lw-fits-model-no-h-5442>: HTTP status code is not handled or not allowed 2026-01-28 04:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8911-class-e-two-tone-pants-lime-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-28 04:54:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 04:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-40-x-5-gaylord-lid>: HTTP status code is not handled or not allowed 2026-01-28 04:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-38w-x-42l-2-mil-clear-200pack>: HTTP status code is not handled or not allowed 2026-01-28 04:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-performance-work-wear-6435-long-sleeve-black-x-large>: HTTP status code is not handled or not allowed 2026-01-28 04:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-9w-x-10l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:54:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:54:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-newall-dp700-dro-knee-x-and-y-axis-powerfeeds-690548 landed on page that is not a product page. 2026-01-28 04:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29-25-x-81mm-10-dram-clear-squat-vial-w-24-400-neck-finish-vial-only-72pk>: HTTP status code is not handled or not allowed 2026-01-28 04:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64oz-natural-hdpe-dairy-jug-with-38-400-neck-finish-jug-only-108pk>: HTTP status code is not handled or not allowed 2026-01-28 04:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/893-filament-tape-2-x-60-yds-6-mil-clear-6pack>: HTTP status code is not handled or not allowed 2026-01-28 04:54:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/506-24-screwhd-washer-10106s24>: HTTP status code is not handled or not allowed 2026-01-28 04:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crew-sweatshirt-hi-vis-orange-5xl>: HTTP status code is not handled or not allowed 2026-01-28 04:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions>: HTTP status code is not handled or not allowed 2026-01-28 04:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-24-hex-nut-plated-6566002>: HTTP status code is not handled or not allowed 2026-01-28 04:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40x14-type-f-pan-hd-6746020>: HTTP status code is not handled or not allowed 2026-01-28 04:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions>: HTTP status code is not handled or not allowed 2026-01-28 04:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-4000-single-strap-wrist-support-black-x-large-left>: HTTP status code is not handled or not allowed 2026-01-28 04:54:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-5-dram-natural-pp-graduated-hinged-vet-vial-500pk>: HTTP status code is not handled or not allowed 2026-01-28 04:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impeller-guard-plate-dc-1200a-411036w>: HTTP status code is not handled or not allowed 2026-01-28 04:54:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-tube-6l-3-8-thick-1-4nom-id>: HTTP status code is not handled or not allowed 2026-01-28 04:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-super-maxx-back-support-2-panel-w-detachable-suspendeners-large>: HTTP status code is not handled or not allowed 2026-01-28 04:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60024 pages (at 93 pages/min), scraped 31273 items (at 52 items/min) 2026-01-28 04:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-acrylic-safety-ppe-dispenser-dust-mask-dispenser-with-cover-gladm1>: HTTP status code is not handled or not allowed 2026-01-28 04:54:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:54:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-32w-x-32l-3-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 04:54:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps landed on page that is not a product page. 2026-01-28 04:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-12w-x-36l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders>: HTTP status code is not handled or not allowed 2026-01-28 04:55:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-hp-60-gallon-230v-ingersoll-rand-air-compressor>: HTTP status code is not handled or not allowed 2026-01-28 04:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelf-platform-36-w-x-21-d>: HTTP status code is not handled or not allowed 2026-01-28 04:55:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs landed on page that is not a product page. 2026-01-28 04:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s33blu-snap-lock-safety-padlock-1-38w-x-1-12h-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:55:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs landed on page that is not a product page. 2026-01-28 04:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-nitrimed-xtra-nitrile-glove-powder-free-6012l>: HTTP status code is not handled or not allowed 2026-01-28 04:55:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/panel_carts_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:55:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-edge-mechanic-nut-splitter-classes-5-6-8-3-8-10-mm-1-1-16-27-mm>: HTTP status code is not handled or not allowed 2026-01-28 04:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads>: HTTP status code is not handled or not allowed 2026-01-28 04:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-sign-18x4-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 04:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-8w-x-14l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:55:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/panel_carts_trucks landed on page that is not a product page. 2026-01-28 04:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miracool-velcro-collar-bandanas-blue-denim-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:55:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 04:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kaylw-safety-padlock-1-12w-x-1-12h-shackle-ylw>: HTTP status code is not handled or not allowed 2026-01-28 04:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-overnight-parking-violators-will-be-towed-18x12-040-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 04:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cambridge-tufted-upholstered-queen-size-headboard-fabric-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:55:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-density-stackable-melody-band-and-music-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 04:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7w-x-14l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washout-construction-washout-w-lid-polypropylene-120-gallon-48-l-x-48-w-x-12-h>: HTTP status code is not handled or not allowed 2026-01-28 04:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-switch-ghd-20tpft-et-1221>: HTTP status code is not handled or not allowed 2026-01-28 04:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-plastic-2-links-safety-green-100-feet-trade-size-8>: HTTP status code is not handled or not allowed 2026-01-28 04:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3lhblu-laminated-steel-safety-padlock-1-916w-x-2h-shackle-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-1002-a-rebuild-kit-1-5-gpf-toilet>: HTTP status code is not handled or not allowed 2026-01-28 04:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-double-tier-12x12x36-2-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-28 04:55:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 04:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-28w-x-48l-6-mil-clear-50pack>: HTTP status code is not handled or not allowed 2026-01-28 04:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-spices-bar-maple-glazed-pecan-sea-salt-1-4-oz>: HTTP status code is not handled or not allowed 2026-01-28 04:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-60843-powershot-4400psi-420cc-4-0gpm-gas-pressure-washer-w-simpson-engine--aaa-pump>: HTTP status code is not handled or not allowed 2026-01-28 04:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-led-magnifier-lamp-white>: HTTP status code is not handled or not allowed 2026-01-28 04:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powermatic-pm1800b-18in-bandsaw-5hp-1ph-230v>: HTTP status code is not handled or not allowed 2026-01-28 04:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-375-458r-ratchet-flaring-tool-37-degree-sae-flares>: HTTP status code is not handled or not allowed 2026-01-28 04:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-2-l-x-2-1-2-w-pro-carbon-steel-pointing-trowel-wood-handle>: HTTP status code is not handled or not allowed 2026-01-28 04:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-24in-w-steel-safety-angle-rolling-ladder-grip-strut-gray-kdec111242>: HTTP status code is not handled or not allowed 2026-01-28 04:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r8-spring-collet-27-piece-set-1-16-to-7-8-inch-round-tmx>: HTTP status code is not handled or not allowed 2026-01-28 04:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-8w-x-4d-x-16h-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-valve-14-cos18-229>: HTTP status code is not handled or not allowed 2026-01-28 04:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60116 pages (at 92 pages/min), scraped 31324 items (at 51 items/min) 2026-01-28 04:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermostats-46-1209-jad4615300100>: HTTP status code is not handled or not allowed 2026-01-28 04:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-18w-x-60l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 04:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-single-tier-12x18x72-3-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:56:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-21w-x-60l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 04:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-1-2-body-with-industrial-profile-with-1-2-fnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 04:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-499-quickchange-retractable-blade-utility-knife>: HTTP status code is not handled or not allowed 2026-01-28 04:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/92-piece-heavy-equipment-set>: HTTP status code is not handled or not allowed 2026-01-28 04:56:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_centers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-jaw-quick-clamping-scroll-chuck-steel-body-plain-back-3-inch-00059-t-i-r>: HTTP status code is not handled or not allowed 2026-01-28 04:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorola-8-channels-1-watt-uhf-two-way-business-radio-black>: HTTP status code is not handled or not allowed 2026-01-28 04:56:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip-slider-grip-reclosable-poly-bags-14-12w-x-16l-27-mil-clear250pk>: HTTP status code is not handled or not allowed 2026-01-28 04:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tongue-groove-pliers-480-bulk>: HTTP status code is not handled or not allowed 2026-01-28 04:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-flow-carton-rack-additional-level-1>: HTTP status code is not handled or not allowed 2026-01-28 04:56:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/micrometers_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_centers>: HTTP status code is not handled or not allowed 2026-01-28 04:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-station-shadow-board-blue-black-72-x-36-acp-general-purpose-composite>: HTTP status code is not handled or not allowed 2026-01-28 04:56:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories landed on page that is not a product page. 2026-01-28 04:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-8w-x-3d-x-20h-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:56:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_supply_dispensers_organizers/broom_holders_shadow_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-24w-x-30l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 04:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-316-stainless-steel-clipper-carded-hooks>: HTTP status code is not handled or not allowed 2026-01-28 04:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afk2416-floor-stand-kit-qty-2-2400x1606-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 04:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/measurement_layout_tools/micrometers_accessories>: HTTP status code is not handled or not allowed 2026-01-28 04:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-od-polyurethane-tubing-blue-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-28 04:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_supply_dispensers_organizers/broom_holders_shadow_boards>: HTTP status code is not handled or not allowed 2026-01-28 04:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-24w-x-72l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 04:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-18w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 04:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-m5x90-jsm4340-30>: HTTP status code is not handled or not allowed 2026-01-28 04:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bench-rack-with-22-bins-2>: HTTP status code is not handled or not allowed 2026-01-28 04:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-proof-repellent-gel-10oz>: HTTP status code is not handled or not allowed 2026-01-28 04:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-threading-model-1224-machine-die-heads-dies-33077>: HTTP status code is not handled or not allowed 2026-01-28 04:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-24w-x-36l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 04:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36x12x72-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck65-322-contactor-3-pole-120v>: HTTP status code is not handled or not allowed 2026-01-28 04:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-bth-9-ball-transfer-head-svj-12-max-pipe-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22mm-non-metallic-non-illuminated-push-pull-maintained-square-mushroom-button-red>: HTTP status code is not handled or not allowed 2026-01-28 04:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhus-5-40-adjustable-3-pole-three-phase-thermal-overload-relay>: HTTP status code is not handled or not allowed 2026-01-28 04:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-48x24x72-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 04:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f44w24-straight-section-400x400x2400>: HTTP status code is not handled or not allowed 2026-01-28 04:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-10w-x-6d-x-20h-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repeat-cycle-timer-0-6-sec-spdt-120-vac>: HTTP status code is not handled or not allowed 2026-01-28 04:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-bulk-box-8-bushel-truck-direct-mount-base-red>: HTTP status code is not handled or not allowed 2026-01-28 04:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a14p12-panel-junction-box-1275x1088-fits-14x12-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 04:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60206 pages (at 90 pages/min), scraped 31374 items (at 50 items/min) 2026-01-28 04:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-together-y-branch-45-deg-12-12-12-12-inch-diameter-galvanized-18-gage>: HTTP status code is not handled or not allowed 2026-01-28 04:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-hair-dryer-white>: HTTP status code is not handled or not allowed 2026-01-28 04:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-roll-fold-steel-rolling-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 04:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cotton-terry-towel-12-pack-17-x-14-sw56106>: HTTP status code is not handled or not allowed 2026-01-28 04:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ztek-eyewear-silver-mirror-lens-with-silver-mirror-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7ml-precision-oiler-bulk-super-lube-oil-with-ptfe-high-viscosity>: HTTP status code is not handled or not allowed 2026-01-28 04:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylindrical-weights-nist-class-f-with-traceable-certificate-500-grams>: HTTP status code is not handled or not allowed 2026-01-28 04:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tinted-shopping-bags-8w-x-4-12d-x-10-14h-brown-250pack>: HTTP status code is not handled or not allowed 2026-01-28 04:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2-readers-eyewear-clear-2-0-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 04:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-half-skid-40x24>: HTTP status code is not handled or not allowed 2026-01-28 04:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-foam-tape-1-x-36-yds-125-mil-white-2pack>: HTTP status code is not handled or not allowed 2026-01-28 04:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-base-assy-c0-2905330>: HTTP status code is not handled or not allowed 2026-01-28 04:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-foot-x-20-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 04:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slip-bar-1230r-5233191>: HTTP status code is not handled or not allowed 2026-01-28 04:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-foot-x-20-foot-heavy-duty-silver-tarp>: HTTP status code is not handled or not allowed 2026-01-28 04:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-power-riser>: HTTP status code is not handled or not allowed 2026-01-28 04:57:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lever-jsg-9121ns-730217>: HTTP status code is not handled or not allowed 2026-01-28 04:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-5-way-adjustable-polyurethane-stool>: HTTP status code is not handled or not allowed 2026-01-28 04:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4951-double-sided-foam-tape-34-x-5-yds-45-mil-white>: HTTP status code is not handled or not allowed 2026-01-28 04:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-100-l-hdpe-magenta>: HTTP status code is not handled or not allowed 2026-01-28 04:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4466-double-sided-foam-tape-12-x-36-yds-625-mil-white>: HTTP status code is not handled or not allowed 2026-01-28 04:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/041-372-24-cat-5e-24-port-110-idc-patch-panel>: HTTP status code is not handled or not allowed 2026-01-28 04:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-foot-x-50-foot-forest-green-tarp>: HTTP status code is not handled or not allowed 2026-01-28 04:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers>: HTTP status code is not handled or not allowed 2026-01-28 04:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uattend-rfid-wifi-time-clock>: HTTP status code is not handled or not allowed 2026-01-28 04:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-disc-769f-05910-t27-7-x-7-8-in-60-yf-weight-5-per-case>: HTTP status code is not handled or not allowed 2026-01-28 04:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4910-double-coated-film-tape-34-x-5-yds-40-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 04:57:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-suffocation-warning-poly-bags-12w-x-15l-1-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 04:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-disc-769f-05917-t29-5-x-7-8-in-60-yf-weight-10-per-case>: HTTP status code is not handled or not allowed 2026-01-28 04:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-ht132-storage-case>: HTTP status code is not handled or not allowed 2026-01-28 04:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-ht220-coupling-for-series-2000>: HTTP status code is not handled or not allowed 2026-01-28 04:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-double-roller-chain-20b-2-1-1-4-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 04:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dial-jtm-124vs-lk-033>: HTTP status code is not handled or not allowed 2026-01-28 04:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-w-5-drawer-binder-lateral-file-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 04:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-plunger-can-4-quart-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 04:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plunger-jtm-1055-jtm1055-h101>: HTTP status code is not handled or not allowed 2026-01-28 04:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-50-incline-ladder-24-inch-w-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 04:57:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 04:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/halux-universal-led-treatment-light-n50-1-p-sx-gooseneck-floor-stand>: HTTP status code is not handled or not allowed 2026-01-28 04:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30320su-f21t5835-21w-fluorescent-t5-bulb-mini-bipin-neutral-white>: HTTP status code is not handled or not allowed 2026-01-28 04:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unsupported-6-step-30-inch-cantilever-ladder-perforated>: HTTP status code is not handled or not allowed 2026-01-28 04:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-21>: HTTP status code is not handled or not allowed 2026-01-28 04:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60307 pages (at 101 pages/min), scraped 31433 items (at 59 items/min) 2026-01-28 04:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-paper-folding-machine-with-adj-stacker-wheels-252457>: HTTP status code is not handled or not allowed 2026-01-28 04:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-all-weather-hood>: HTTP status code is not handled or not allowed 2026-01-28 04:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-dipper-32-oz-solder-seal>: HTTP status code is not handled or not allowed 2026-01-28 04:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hugg-a-pillow-hypoallergenic-bed-pillow>: HTTP status code is not handled or not allowed 2026-01-28 04:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-nozzle-assembly-jsg1052-1s>: HTTP status code is not handled or not allowed 2026-01-28 04:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-tube-union-adapter>: HTTP status code is not handled or not allowed 2026-01-28 04:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40267sm-filter-bag-polyester-felt>: HTTP status code is not handled or not allowed 2026-01-28 04:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/singlefold-ramp-sfw630-6l-x-30w-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 04:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repair-kit-slt330fh-rk>: HTTP status code is not handled or not allowed 2026-01-28 04:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-temper-19-poly-combo-snow-shovel-with-versagrip>: HTTP status code is not handled or not allowed 2026-01-28 04:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-rechargeable-cordless-sweeper-12-cleaning-path>: HTTP status code is not handled or not allowed 2026-01-28 04:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-5w-x-7l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:58:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/office_machine_accessories/3d_printer_filaments_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8261frhl-2xl-3xl-lime-hi-vis-fr-safety-vest-class-2-dual-compliant>: HTTP status code is not handled or not allowed 2026-01-28 04:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/91420-pipe-marker-arrow-tape-vinyl-2w-x-30-yds-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 04:58:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-athletic-sneakers-water-and-oil-resistant-size-85m-black>: HTTP status code is not handled or not allowed 2026-01-28 04:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vandal-resistant-aerator>: HTTP status code is not handled or not allowed 2026-01-28 04:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-polypropylene-bags-8l-x-8w-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polypropylene-bags-4l-x-4w-15-mil-clear-5000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_machines/office_machine_accessories/3d_printer_filaments_accessories>: HTTP status code is not handled or not allowed 2026-01-28 04:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-mobile-packing-workbench-plastic-square-edge-with-electric-72-x-36>: HTTP status code is not handled or not allowed 2026-01-28 04:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-dinnerware-plates-9-diameter-white-125-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:58:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/storage_totes_tubs/storage_totes_with_lids already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip-anti-static-reclosable-poly-bags-2-12w-x-3l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31-oil-ratio-double-acting-pump-air-operated>: HTTP status code is not handled or not allowed 2026-01-28 04:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ase36x24x8-pull-box-screw-cover-kos-3600x2400x800-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 04:58:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 04:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-merchandise-bags-7-7-12w-x-10-12h-kraft-2000pack>: HTTP status code is not handled or not allowed 2026-01-28 04:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutlery-keeper-mediumweight-plastic-tableware-180-pieces-pack>: HTTP status code is not handled or not allowed 2026-01-28 04:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/storage_totes_tubs/storage_totes_with_lids>: HTTP status code is not handled or not allowed 2026-01-28 04:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18vlxt-174-lithium-ion-brushless-cordless-20-articulating-pole-hedge-trimmer-tool-only>: HTTP status code is not handled or not allowed 2026-01-28 04:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-10w-x-12l-6-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 04:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-steel-desk-single-right-pedestal-36-72-charcoal-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 04:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gasket-ag4s-21>: HTTP status code is not handled or not allowed 2026-01-28 04:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-translucent-lid-w-straw-slot-fits-dxft1607-1000-cs-clear-dx5600st8714>: HTTP status code is not handled or not allowed 2026-01-28 04:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60in-expansion-kit-with-2-win-dows-for-11ft-lifetime-sheds>: HTTP status code is not handled or not allowed 2026-01-28 04:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-285x2-jsm5130-29>: HTTP status code is not handled or not allowed 2026-01-28 04:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-215x15-jsm5252-35>: HTTP status code is not handled or not allowed 2026-01-28 04:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-jjp8bt-115>: HTTP status code is not handled or not allowed 2026-01-28 04:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilium-174-water-soluble-deodorizer-apple-spice-nilium-gallon-bottle-4-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 04:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quikpik-gravity-flow-add-on-rack-96-w-x-48-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 04:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-top-chest-4-drawers-41w-x-25d-x-22-14h-black-with-red-drawer-pulls>: HTTP status code is not handled or not allowed 2026-01-28 04:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60399 pages (at 92 pages/min), scraped 31485 items (at 52 items/min) 2026-01-28 04:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24r2410hcr-hinged-cover-medium-type-3r-2400x2400x1000-galvanizedpaint>: HTTP status code is not handled or not allowed 2026-01-28 04:58:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-304-cast-hex-head-plug-14-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 04:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urine-digester-with-odor-neutralizer-lemon-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 04:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mapa-temp-dex-720-nitrile-palm-coated-thermal-gloves-w-dots-medium-weight-1-pair-size-9>: HTTP status code is not handled or not allowed 2026-01-28 04:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-kra-clasp-envelopes-28-lb-12-x-15-1-2-100-box>: HTTP status code is not handled or not allowed 2026-01-28 04:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/temp-tec-nl517-17-neoprene-coated-gloves-heavy-weight-1-pair-size-8-338608>: HTTP status code is not handled or not allowed 2026-01-28 04:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fae-6101-fingertip-bandages-fabric-20-per-box>: HTTP status code is not handled or not allowed 2026-01-28 04:59:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-butts-smoking-shelters-back-to-wall-3-sided-3-6-x-7>: HTTP status code is not handled or not allowed 2026-01-28 04:59:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee landed on page that is not a product page. 2026-01-28 04:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mss-ss-304-cast-90-degree-elbow-2-socket-weld-female>: HTTP status code is not handled or not allowed 2026-01-28 04:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-231ha-impactool>: HTTP status code is not handled or not allowed 2026-01-28 04:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-med-brown-2-x-3>: HTTP status code is not handled or not allowed 2026-01-28 04:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ase8x6x6-pull-box-screw-cover-kos-800x600x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 04:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asg18x12x8nk-pull-box-screw-cover-1800x1200x800-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 04:59:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 04:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1412nf-j-box-clamp-cover-type-4-1400x1200x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 04:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-stainless-steel-shelving-add-on-unit-5-tier-48w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 04:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-add-on-unit-5-tier-72w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 04:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worm-shaft-6290592>: HTTP status code is not handled or not allowed 2026-01-28 04:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-star-amber-2>: HTTP status code is not handled or not allowed 2026-01-28 04:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-production-workbench-esd-laminate-square-edge-drawer-upright-shelf-tan>: HTTP status code is not handled or not allowed 2026-01-28 04:59:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-equal-tee>: HTTP status code is not handled or not allowed 2026-01-28 04:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-sided-wire-exchange-truck-five-wire-shelves-800-lb-cap-4>: HTTP status code is not handled or not allowed 2026-01-28 04:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-diamond-task-chair-with-adjustable-arms-caressoft-black>: HTTP status code is not handled or not allowed 2026-01-28 04:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-deluxe-posture-chair-with-adjustable-arms-black>: HTTP status code is not handled or not allowed 2026-01-28 04:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/main-p-c-b-assembly-part-replacement-for-kerosene-heater>: HTTP status code is not handled or not allowed 2026-01-28 04:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-oil-assembly-part-replacement-for-kerosene-heater>: HTTP status code is not handled or not allowed 2026-01-28 04:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-ft-natural-gas-rated-hose-with-quick-connect>: HTTP status code is not handled or not allowed 2026-01-28 04:59:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms landed on page that is not a product page. 2026-01-28 04:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x72-solar-star-greenhouse-w-solid-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-28 04:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-impact-driver-bare-tool>: HTTP status code is not handled or not allowed 2026-01-28 04:59:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:59:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-3-layer-epoxy-system-1000-sq-ft-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 04:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solenoid-valve-1632-6293483>: HTTP status code is not handled or not allowed 2026-01-28 04:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-silicone-roll-36-l-x-16-w-x-3-8-thick-red>: HTTP status code is not handled or not allowed 2026-01-28 04:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-72w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 04:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/index-card-holder-5-x-8-black>: HTTP status code is not handled or not allowed 2026-01-28 04:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-tube-60-l-x-7-8-id-x-1-5-16-od-black>: HTTP status code is not handled or not allowed 2026-01-28 04:59:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_tubes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 04:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/lathes>: HTTP status code is not handled or not allowed 2026-01-28 04:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090253363-iron-series-two-stage-horizontal-duplex-air-compressor-2-x-5hp-120-gallon>: HTTP status code is not handled or not allowed 2026-01-28 04:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090253157-iron-series-two-stage-vertical-air-compressor-5hp-80-gallon>: HTTP status code is not handled or not allowed 2026-01-28 04:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-24-foot-l-5-5-8-inches-to-6-5-8-inches-dia-brsn-424-7>: HTTP status code is not handled or not allowed 2026-01-28 04:59:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/band_saws/band_saw_machines landed on page that is not a product page. 2026-01-28 04:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-pin-jsg-0716n-00-3309>: HTTP status code is not handled or not allowed 2026-01-28 04:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-24w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 04:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60491 pages (at 92 pages/min), scraped 31533 items (at 48 items/min) 2026-01-28 04:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-48w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 04:59:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_tubes landed on page that is not a product page. 2026-01-28 04:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090250010-two-stage-horizontal-air-compressor-75hp-80-gallon>: HTTP status code is not handled or not allowed 2026-01-28 04:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jed-f16-screw-cone-pt-6285942>: HTTP status code is not handled or not allowed 2026-01-28 05:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52177-national-fire-protection-association-hazardous-materials-label-5w-x-5h>: HTTP status code is not handled or not allowed 2026-01-28 05:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34x12x40-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides>: HTTP status code is not handled or not allowed 2026-01-28 05:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-48-w-x-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 05:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94150-do-not-enter-sign-high-intensity-prismatic-reflective-sign-aluminum-30w-x-30h>: HTTP status code is not handled or not allowed 2026-01-28 05:00:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-commercial-canopy-18w-x-50l-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:00:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-96-l-x-48-w-x-1-4-thick-yellow-ps-cact-80>: HTTP status code is not handled or not allowed 2026-01-28 05:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grade-70-transport-binder-chain-1-2-dia-11300-lb-cap-20-box-bag>: HTTP status code is not handled or not allowed 2026-01-28 05:00:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65452-lockout-tag-danger-do-not-operate-2-sided-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-28 05:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-96-l-x-48-w-x-1-8-thick-green-ps-cact-91>: HTTP status code is not handled or not allowed 2026-01-28 05:00:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 05:00:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80281-bradyglo-exit-sign-polyester-polystyrene-10w-x-7h>: HTTP status code is not handled or not allowed 2026-01-28 05:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-poly-mailers-18w-x-48l-4-mil-white-25pack>: HTTP status code is not handled or not allowed 2026-01-28 05:00:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices landed on page that is not a product page. 2026-01-28 05:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_sheets>: HTTP status code is not handled or not allowed 2026-01-28 05:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-7-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 05:00:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 05:00:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 05:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-portable-green-canopy-8w-x-10l>: HTTP status code is not handled or not allowed 2026-01-28 05:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-4-w-x-1-8-thick-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:00:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-merchandise-bags-17w-x-4d-x-24h-white-500pack>: HTTP status code is not handled or not allowed 2026-01-28 05:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointer-jts-10jfjcs-10-10105057>: HTTP status code is not handled or not allowed 2026-01-28 05:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-do-not-double-stack-print-5l-x-3w-red-textwhite-back-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/103780-handicapped-parking-sign-bluewhite-hip-reflective-sign-aluminum-12w-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 05:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 05:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-13-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 05:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104311-toughstripe-floor-marking-tape-polyester-2w-x-100l-white>: HTTP status code is not handled or not allowed 2026-01-28 05:00:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104312-toughstripe-floor-marking-tape-polyester-2w-x-100l-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-rectangular-tube-12-l-x-7-8-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:00:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104347-toughstripe-floor-marking-tape-polyester-3w-x-100l-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 05:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700258pur-pegboard-floor-stand-w5-c-channel-sliding-16w-x-66h-pl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 05:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/special-screw-model-201planer-6012247>: HTTP status code is not handled or not allowed 2026-01-28 05:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gummed-envelopes-2-12w-x-4-14l-kraft-50000pack>: HTTP status code is not handled or not allowed 2026-01-28 05:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-plastex-wheel-6x1-12-34-roller>: HTTP status code is not handled or not allowed 2026-01-28 05:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/146127-cable-safety-padlock-with-label-8h-clearance-steel-cable-green>: HTTP status code is not handled or not allowed 2026-01-28 05:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-5-x-5-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 05:00:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 05:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-plastex-wheel-5x1-12-12-roller>: HTTP status code is not handled or not allowed 2026-01-28 05:00:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 05:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-tube-72-l-x-1-8-id-x-1-4-od-beige>: HTTP status code is not handled or not allowed 2026-01-28 05:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/878-500-internal-containers-for-878-sharps-disposal-yellow-4-case>: HTTP status code is not handled or not allowed 2026-01-28 05:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polystyrene-bar-24-l-x-6-w-x-1-32-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 05:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-drainwaterfill-cap-parpacinjs006-for-all-units>: HTTP status code is not handled or not allowed 2026-01-28 05:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-screw-m5-x-08p-x-10lg-pfeeders-6288763>: HTTP status code is not handled or not allowed 2026-01-28 05:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-static-sensitive-print-2-12l-x-1-34w-blackorange-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60581 pages (at 90 pages/min), scraped 31573 items (at 40 items/min) 2026-01-28 05:00:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scholar-colored-pencil-set-2b-24-assorted-colors-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/33a-7-washer-5d-6289150>: HTTP status code is not handled or not allowed 2026-01-28 05:00:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-hot-print-2l-x-2w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700420gre-pinwheel-pegboard-display-16w-x-60h-gn-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 05:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-heavy-duty-quick-disconnect-warning-whip-w-o-light-no-flag>: HTTP status code is not handled or not allowed 2026-01-28 05:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600051-attachment-for-gridwall-3h-clr-10-pc>: HTTP status code is not handled or not allowed 2026-01-28 05:01:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock landed on page that is not a product page. 2026-01-28 05:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wall-mounted-shelf-15-inch-36-inch-shelf-with-hooks>: HTTP status code is not handled or not allowed 2026-01-28 05:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-dia-round-removable-paper-labels-fluorescent-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-90-degree-angle-72-l-x-2-w-gray-bulk-pa-pvc-13>: HTTP status code is not handled or not allowed 2026-01-28 05:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700432pnk-hshaped-pegboard-display-32w-x-60h-pk-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 05:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bib6-bench-in-a-box-packing-workbench-esd-laminate-t-mold-edge-60-x-30>: HTTP status code is not handled or not allowed 2026-01-28 05:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-dog-5-ch-45-degree-right-turn-orange-lidblack-base>: HTTP status code is not handled or not allowed 2026-01-28 05:01:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-dog-low-profile-5-ch-orange-lidblack-base-ada-ramps>: HTTP status code is not handled or not allowed 2026-01-28 05:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/consecutive-numbered-labels-2001-2500-1-12l-x-1w-blackwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-9l-x-3w-fluorescent-green-roll-of-250>: HTTP status code is not handled or not allowed 2026-01-28 05:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wilton-174-20412-bash-4-lb-sledge-hammer-12-handle>: HTTP status code is not handled or not allowed 2026-01-28 05:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnh-3060-6py-with-hardboard-top-30-x-60-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 05:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnb2-2448-6py-with-lower-shelf-24-x-48-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 05:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/satco-s9951-23pll-led-840-bp-led-2g11-cfl-replacement-lamp-ballast-bypass23w-2800-lumens-4000k>: HTTP status code is not handled or not allowed 2026-01-28 05:01:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories/hitch_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:01:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:01:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adj-height-pallet-stand-pdse48-6ph2fllr-48-x-48-solid-deck-and-load-retainers>: HTTP status code is not handled or not allowed 2026-01-28 05:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-kraft-dispenser-replacement-brush>: HTTP status code is not handled or not allowed 2026-01-28 05:01:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsi-jumbo-contractor-bench-seat-center-console-floor-shift-compatible-model-33411-in-black>: HTTP status code is not handled or not allowed 2026-01-28 05:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-13-16-short>: HTTP status code is not handled or not allowed 2026-01-28 05:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories/hitch_covers>: HTTP status code is not handled or not allowed 2026-01-28 05:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_sheets>: HTTP status code is not handled or not allowed 2026-01-28 05:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-8mm-deep>: HTTP status code is not handled or not allowed 2026-01-28 05:01:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls>: HTTP status code is not handled or not allowed 2026-01-28 05:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nba-houston-rockets-grill-mat-14205>: HTTP status code is not handled or not allowed 2026-01-28 05:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arrow-labels-4l-x-3w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-6-l-x-6-w-x-1-2-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 05:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-12-l-x-3-w-x-1-4-thick-blue-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 05:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fmlrl-14-20840-m4-led-low-profile-round-120v-1600-lumens>: HTTP status code is not handled or not allowed 2026-01-28 05:01:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-14-1-2x20-self-seal-white-bubble-mailers-25-packs>: HTTP status code is not handled or not allowed 2026-01-28 05:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-sheet-12-l-x-12-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 05:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-60-l-x-3-w-x-1-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 05:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-rubber-tackboard-aluminum-trim-96-1-2w-x-48-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:01:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60672 pages (at 91 pages/min), scraped 31625 items (at 52 items/min) 2026-01-28 05:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgsh904vs-safety-first-sign-report-all-accidents-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 05:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats>: HTTP status code is not handled or not allowed 2026-01-28 05:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-15mm-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 05:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-30-open-end-static-shielding-bags>: HTTP status code is not handled or not allowed 2026-01-28 05:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-30w-solid-end-panel-green>: HTTP status code is not handled or not allowed 2026-01-28 05:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/htg-trolley-1-ton-geared>: HTTP status code is not handled or not allowed 2026-01-28 05:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-rubber-tackboard-aluminum-trim-36w-x-24h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-3-w-x-1-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 05:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-stop-reversible-non-slip-cushion-rug-pad-for-8-ft-x-10-ft-area-rug-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:02:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-drive-1-5-16-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 05:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-48-l-x-4-w-x-1-2-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 05:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22x25-liter-under-the-counter-corrosive-cabinet-fully-lined-left-hinge-23w-x-22d-x-35-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 05:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-2-w-x-1-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 05:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8-zinc-finish-low-carbon-steel-t-nut>: HTTP status code is not handled or not allowed 2026-01-28 05:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-impact-flex-socket-set-3-8-drive-6-point-short-10-piece>: HTTP status code is not handled or not allowed 2026-01-28 05:02:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock landed on page that is not a product page. 2026-01-28 05:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-aluminum-assembly-beta-standard-series-clamp>: HTTP status code is not handled or not allowed 2026-01-28 05:02:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-9-x-24-4-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 05:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msmk243vs-danger-sign-flammable-material-no-smoking-or-open-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 05:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2flexo-pet-general-purpose-sleeving-dia-500-green>: HTTP status code is not handled or not allowed 2026-01-28 05:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversible-gel-foam-seat-cushion-with-fleece-cover-16-x-18-x-2-cream-513-7631-9911>: HTTP status code is not handled or not allowed 2026-01-28 05:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/array-conference-table-with-power-data-grommet-120l-x-48w-x-29h-noble-oakblack>: HTTP status code is not handled or not allowed 2026-01-28 05:02:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mppe011vs-danger-sign-eye-protection-required-in-this-area-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 05:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireflex-silicone-coated-fiberglass-sleeve-88-dia-25-red>: HTTP status code is not handled or not allowed 2026-01-28 05:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-hand-corner-credenza-71w-x-24-36d-x-29-half-h-artisan-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:02:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-type-2-sheet-24-l-x-24-w-x-1-4-thick-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:02:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-36-l-x-1-2-w-x-1-16-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:02:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/desk_lamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp110vs-danger-sign-confined-space-keep-out-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 05:02:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd913vp-emergency-sign-eye-wash-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-led-crane-scale-with-remote-2000-lb-x-1-lb>: HTTP status code is not handled or not allowed 2026-01-28 05:02:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/commercial_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-heavy-duty-pallet-scale-10000-lb-x-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 05:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:02:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/desk_lamps landed on page that is not a product page. 2026-01-28 05:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insultherm-resin-coated-fiberglass-sleeve-63-dia-200-black>: HTTP status code is not handled or not allowed 2026-01-28 05:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparta-spectrum-quik-release-fiberglass-mop-handle-60-long-1-d-green>: HTTP status code is not handled or not allowed 2026-01-28 05:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parapet-flange-1>: HTTP status code is not handled or not allowed 2026-01-28 05:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/commercial_duty_boltless_shelves>: HTTP status code is not handled or not allowed 2026-01-28 05:02:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/outdoor_benches/plastic_benches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-24-l-x-4-w-x-1-2-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60763 pages (at 91 pages/min), scraped 31675 items (at 50 items/min) 2026-01-28 05:02:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/single_stage_reciprocating_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-corner-swivel-socket-member-2>: HTTP status code is not handled or not allowed 2026-01-28 05:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-color-coded-one-piece-rubber-floor-squeegee-24-white>: HTTP status code is not handled or not allowed 2026-01-28 05:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-blade-rubber-squeegee-w-handle-8>: HTTP status code is not handled or not allowed 2026-01-28 05:03:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-with-partial-window-48-x-73-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:03:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/outdoor_benches/plastic_benches landed on page that is not a product page. 2026-01-28 05:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mvhr633vs-caution-sign-watch-for-forklift-traffic-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 05:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-4-w-x-1-4-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 05:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-hoist-interface-software-and-programming-cable-for-lodestar-vs>: HTTP status code is not handled or not allowed 2026-01-28 05:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-oz-glass-jars-straight-side-clear-poly-vinyl-liner-case-of-12>: HTTP status code is not handled or not allowed 2026-01-28 05:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-ratchet-lever-hoist-9-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 05:03:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msmk251vs-danger-sign-flammable-material-no-smoking-or-open-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 05:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-coffee-ambient-dispenser-lca-2-344000001>: HTTP status code is not handled or not allowed 2026-01-28 05:03:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/single_stage_reciprocating_air_compressors landed on page that is not a product page. 2026-01-28 05:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-oz-amber-wide-mouth-packer-bottles-ppptfe-lined-caps-case-of-24>: HTTP status code is not handled or not allowed 2026-01-28 05:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-dot-shot-high-tack-glue-dots-low-profile>: HTTP status code is not handled or not allowed 2026-01-28 05:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20mm-crimp-seal-tear-off-aluminum-green-unlined-case-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 05:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-24-l-x-2-w-x-1-4-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-28 05:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gallon-portion-control-hot-water-dispenser-h5e-dv-pc-39100>: HTTP status code is not handled or not allowed 2026-01-28 05:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tea-concentrate-dispenser-67-galhr>: HTTP status code is not handled or not allowed 2026-01-28 05:03:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnimed-8-capacity-storage-rack>: HTTP status code is not handled or not allowed 2026-01-28 05:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jat-930-cut-off-r6-series-20-000-rpm90-psi-5-cfm>: HTTP status code is not handled or not allowed 2026-01-28 05:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x8-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 05:03:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-form-griffin-beakers-2000ml-case-of-8>: HTTP status code is not handled or not allowed 2026-01-28 05:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/under-counter-drop-slot-gray-uc-025k>: HTTP status code is not handled or not allowed 2026-01-28 05:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-sheet-12-l-x-12-w-x-1-8-thick-gray-ps-cpvc-13>: HTTP status code is not handled or not allowed 2026-01-28 05:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-tooth-timing-pulley-xl-15-pitch-clear-anod-alum-42xl037-6a4>: HTTP status code is not handled or not allowed 2026-01-28 05:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Sunex-100-ton-shop-press>: HTTP status code is not handled or not allowed 2026-01-28 05:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:03:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fghk-journeymans-m42-hole-saw-kit-13pc-3-4-7-8-1-1-8-1-3-8-1-1-2-1-3-4-2-2-1-4-2-1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlh-series-lever-hoist-w-overload-protection-1-ton-5-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 05:03:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlp-a-series-lever-hoist-6-ton-5-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 05:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-drop-slot-depository-safe-dual-key-lock-8-w-x-10-d-x-12-h-cream>: HTTP status code is not handled or not allowed 2026-01-28 05:03:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:03:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cw-stationary-premium-electric-pressure-washer-1000-psi-2-hp-25-gpm-1-phase-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designjet-heavyweight-coated-ink-jet-paper-35-lb-54-x-100-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-handle-m10-x-1-5-92mm-l-x-64mm-h-die-cast-handle-mh-208>: HTTP status code is not handled or not allowed 2026-01-28 05:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-duty-self-seal-bubble-pouches-6w-x-8l-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 05:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-14c-wax-meltingpoint-79mm-immersion>: HTTP status code is not handled or not allowed 2026-01-28 05:03:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-ultra-xtra-thrust-6-alum-ext-nozzle-special-14-inlet>: HTTP status code is not handled or not allowed 2026-01-28 05:03:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1800-2000-specific-gravity-and-64-70-degree-baume-dual-scale-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 05:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antibody-saver-tray-plastic-6-1-2-x-6-1-2-5pk>: HTTP status code is not handled or not allowed 2026-01-28 05:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bt-3060-all-purpose-tarp-30-x-60-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-whisper-jet-safety-air-gun-volume-control>: HTTP status code is not handled or not allowed 2026-01-28 05:03:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:03:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100mm-petri-dish-rack-42-places-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-387514-eifs-mesh-14-oz32-x-75>: HTTP status code is not handled or not allowed 2026-01-28 05:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60850 pages (at 87 pages/min), scraped 31712 items (at 37 items/min) 2026-01-28 05:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-air-foam-roll-72w-x-2000l-x-132-thick-white-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1200-1420-specific-gravity-hydrometer-for-liquids-heavier-than-water>: HTTP status code is not handled or not allowed 2026-01-28 05:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-60-x-72-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:04:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-grade-tissue-paper-10-lbs-15w-x-20l-black-960-sheets>: HTTP status code is not handled or not allowed 2026-01-28 05:04:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 05:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-hook-magnetic-coat-holder-4w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 05:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-zone-shadow-board-red-black-68-x-30-acp-aluminum-composite-panel-sb112acp>: HTTP status code is not handled or not allowed 2026-01-28 05:04:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/power_saw_blades/hole_saws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-shelf-truck-6-wheeled-3600-lbs-2-flush-shelves-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 05:04:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi-metallic-thermometer-50-to-550f-50mm-dial>: HTTP status code is not handled or not allowed 2026-01-28 05:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:04:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/cryogenic_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-depressed-center-grinding-wheel-6-x-1-4-x-7-8-t27-ceramic-grain-36-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-tp40-automotive-back-probe-pin-set-cat-iii-300-v-3-a-rating-ul-listed>: HTTP status code is not handled or not allowed 2026-01-28 05:04:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/power_saw_blades/hole_saws landed on page that is not a product page. 2026-01-28 05:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-499-inventory-tag-3-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-28 05:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000-2499-inventory-tag-3-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-28 05:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-24-l-x-1-3-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 05:04:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 05:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coupler-extension-5853>: HTTP status code is not handled or not allowed 2026-01-28 05:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-1-1-2w-10l-endless-poly-roundsling-red>: HTTP status code is not handled or not allowed 2026-01-28 05:04:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands landed on page that is not a product page. 2026-01-28 05:04:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/cryogenic_storage landed on page that is not a product page. 2026-01-28 05:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cellulose-filter-paper-discs-for-24-id-funnels-100pk>: HTTP status code is not handled or not allowed 2026-01-28 05:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-2w-6l-1-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-28 05:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:04:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-2w-12l-1-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-28 05:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-esd-safe-vertical-box-dividers-9-18l-x-4-1332h>: HTTP status code is not handled or not allowed 2026-01-28 05:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bench-rack-12x36x21-with-27-blue-drawers>: HTTP status code is not handled or not allowed 2026-01-28 05:04:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-14247gz-24w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 05:04:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-easy-read-general-purpose-liquid-in-glass-thermometer-35-to-50c-76mm-immersion>: HTTP status code is not handled or not allowed 2026-01-28 05:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-3-4w-14l-endless-poly-roundsling-purple>: HTTP status code is not handled or not allowed 2026-01-28 05:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-1-1-4w-16l-endless-poly-roundsling-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:04:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 05:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-14486gz-48w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 05:04:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 05:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:04:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 05:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4-x-2-7-8-7-green-fluorescent-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 05:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-12-l-x-3-4-id-x-1-od-white>: HTTP status code is not handled or not allowed 2026-01-28 05:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48in-hartford-horizontal-steel-slat-flat-bench-surface-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 05:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non242356w-2-ply-tissue-poly-professional-towels-13-w-x-18-l-white-500-box>: HTTP status code is not handled or not allowed 2026-01-28 05:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-aire-ii-dbl-sided-electric-benchtop-glassware-dryer-3-tier-230v-1675x10x227>: HTTP status code is not handled or not allowed 2026-01-28 05:04:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-52-3-4-x-15-x-8-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-hd-cartridge-12od-6l-120v-500w-58>: HTTP status code is not handled or not allowed 2026-01-28 05:04:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 60936 pages (at 86 pages/min), scraped 31753 items (at 41 items/min) 2026-01-28 05:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-24-l-x-1-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 05:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-rotary-paddle-white-18x18x48>: HTTP status code is not handled or not allowed 2026-01-28 05:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-channel-strip-120v-t1-10-12l-250w>: HTTP status code is not handled or not allowed 2026-01-28 05:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-ultra-low-freezer-verification-thermometer-90-to-25c>: HTTP status code is not handled or not allowed 2026-01-28 05:05:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-bistro-table-4-barstool-set-studio-teak-table-top-with-navy-stools>: HTTP status code is not handled or not allowed 2026-01-28 05:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-mini-semi-round-step-can-1-3-5-gallon-brushed-ss>: HTTP status code is not handled or not allowed 2026-01-28 05:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-lounge-ottoman-leather-melrose-white-hercules-alon-series>: HTTP status code is not handled or not allowed 2026-01-28 05:05:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:05:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-steel-trailer-tongue-truck-box-26-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 05:05:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-4-w-x-1-3-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 05:05:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-upright-frame-48d-x-120h>: HTTP status code is not handled or not allowed 2026-01-28 05:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-mouth-250ml-8oz-polyethylene-wash-bottles-red-polypropylene-cap-28mm-closure-6pk>: HTTP status code is not handled or not allowed 2026-01-28 05:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-ptfe-sheet-6-l-x-6-w-x-1-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 05:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alumi-blast-aluminum-coating-16-oz-6-cans-case-16-055>: HTTP status code is not handled or not allowed 2026-01-28 05:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-enamel-16-oz-gloss-green-6-cans-case-16-126>: HTTP status code is not handled or not allowed 2026-01-28 05:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-28 05:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-16-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 05:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-36-l-x-3-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 05:05:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:05:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 05:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelf-additional-level-24w-x-14d-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 05:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-poly-green-18-w-x-60-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 05:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-barmobile-portable-draft-beer-dispensers-bm-bm23>: HTTP status code is not handled or not allowed 2026-01-28 05:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-30w-x-18d-x-63h-4-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 05:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29d-undercounter-refrigerator-food-prep-27w-ucr27a>: HTTP status code is not handled or not allowed 2026-01-28 05:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-25-bundle-newsprint-sheets>: HTTP status code is not handled or not allowed 2026-01-28 05:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-60w-x-24d-x-54h-3-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 05:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-1100-white-freezer-paper>: HTTP status code is not handled or not allowed 2026-01-28 05:05:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/stacking_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-48-l-x-24-w-x-1-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 05:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-wire-shelving-unit-black-ep-24-w-x-48-l-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 05:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-wire-shelving-unit-black-ep-24-w-x-72-l-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 05:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-2-w-x-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 05:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-horizon-glass-half-glass-doors-52w-hrp2-1g>: HTTP status code is not handled or not allowed 2026-01-28 05:05:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/stacking_chairs landed on page that is not a product page. 2026-01-28 05:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-horizon-solid-half-solid-doors-35w-hrps1w-1s>: HTTP status code is not handled or not allowed 2026-01-28 05:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-stress-responder-kit>: HTTP status code is not handled or not allowed 2026-01-28 05:05:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-guardrail-7-5-feet-l-yellow-70759>: HTTP status code is not handled or not allowed 2026-01-28 05:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-6-drawer-2-cabinets-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:05:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-4u-hinged-wall-rack>: HTTP status code is not handled or not allowed 2026-01-28 05:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rugged-selfcontained-emergency-treatment-set-system>: HTTP status code is not handled or not allowed 2026-01-28 05:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4ft-x-6ft-bulldog-174-cotton-us-flag-with-sewn-stripes-embroidered-stars>: HTTP status code is not handled or not allowed 2026-01-28 05:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-28 05:05:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-snap-hook>: HTTP status code is not handled or not allowed 2026-01-28 05:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-lift-3-cstr-16-x-40-lift-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:05:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:05:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/emergency_food_drink already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5362-li-20-amp-125v-heavy-duty-grade-duplex-receptacle-grounding-ivory>: HTTP status code is not handled or not allowed 2026-01-28 05:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61027 pages (at 91 pages/min), scraped 31797 items (at 44 items/min) 2026-01-28 05:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-90te-2rs-spherical-plain-bearing-metric-high-capacity-sealed>: HTTP status code is not handled or not allowed 2026-01-28 05:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands>: HTTP status code is not handled or not allowed 2026-01-28 05:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-5-w-x-1-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 05:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-acetal-bar-24-l-x-2-w-x-1-4-thick-off-white-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 05:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secure-lok-label-holder-1-14l-x-3w-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:06:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/emergency_food_drink landed on page that is not a product page. 2026-01-28 05:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-30w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-9-21-degree-brix-sugar-scale-combined-form-thermo-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 05:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/display-hook-product-stop-1l-x-1w-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-treme-duty-stanchion-45-1-2-overall-height-black-sold-in-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 05:06:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/parts_cleaning_treating/parts_cleaners_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-cap-styrene-vials-40-dram-148ml-pe-cap-72pk>: HTTP status code is not handled or not allowed 2026-01-28 05:06:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-resin-chaise-white>: HTTP status code is not handled or not allowed 2026-01-28 05:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prevention-security-cabinet-48w-18d-84h-single-door-assembled>: HTTP status code is not handled or not allowed 2026-01-28 05:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spirit-display-case-black-base-satin-fr-white-back-48w-16d-72h>: HTTP status code is not handled or not allowed 2026-01-28 05:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louvered-wall-panel-without-bins-36x61>: HTTP status code is not handled or not allowed 2026-01-28 05:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liberty-letter-box-12-1-4w-x-24-1-8d-x-10-3-4h-white-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-silicone-tube-120-l-x-1-id-x-1-1-2-od-red>: HTTP status code is not handled or not allowed 2026-01-28 05:06:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/parts_cleaning_treating/parts_cleaners_accessories landed on page that is not a product page. 2026-01-28 05:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/com-10-spherical-plain-bearing-inch-commercial-series>: HTTP status code is not handled or not allowed 2026-01-28 05:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers>: HTTP status code is not handled or not allowed 2026-01-28 05:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-tray-storage-with-clear-trays>: HTTP status code is not handled or not allowed 2026-01-28 05:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-70te-2rs-spherical-plain-bearing-metric-high-capacity-sealed>: HTTP status code is not handled or not allowed 2026-01-28 05:06:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-3000-medium-outdoor-waterproof-case-w-o-foam-insert-14-1-4-l-x-11-3-4-w-x-6-3-4h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-2-1-2-w-x-2-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 05:06:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:06:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-body-nrf-33-circulator-1-15hp-115v-1ph>: HTTP status code is not handled or not allowed 2026-01-28 05:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-kit-with-18-w-36-w-pegboards-72-w-workbench-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-48w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-polygon-magnetic-stirring-bar-80-x-10mm-white-without-pivot-ring>: HTTP status code is not handled or not allowed 2026-01-28 05:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:06:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upfront-scraper-slotted-entrance-mat-5-16-thick-black-36x60>: HTTP status code is not handled or not allowed 2026-01-28 05:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-underbed-truck-box-24x24x36-1725135>: HTTP status code is not handled or not allowed 2026-01-28 05:06:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:06:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 05:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-stationary-floor-support-24w-max-leg-45-5-8h>: HTTP status code is not handled or not allowed 2026-01-28 05:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-stationary-floor-support-42w-max-leg-45-5-8h>: HTTP status code is not handled or not allowed 2026-01-28 05:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-clear-strobe-light-4-leds-8891104>: HTTP status code is not handled or not allowed 2026-01-28 05:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notched-hook-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grit-surface-aluminum-stair-tread-7-1-2-d-30-w-glued-down-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 05:06:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 05:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-polygon-magnetic-stirring-bar-20-x-8mm-white-without-pivot-ring>: HTTP status code is not handled or not allowed 2026-01-28 05:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-16-1-2-x-36-x-17-1-2-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:06:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/competitor-ventilated-three-tier-locker-starter-1-wide-12w-x-18d-x-24h-unassembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 05:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-21307b-30w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 05:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recyclockout-single-breaker-lockout-universal-3-pack-7110>: HTTP status code is not handled or not allowed 2026-01-28 05:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61116 pages (at 89 pages/min), scraped 31841 items (at 44 items/min) 2026-01-28 05:06:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-720-l-x-36-w-x-3-32-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-28 05:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-box-truck>: HTTP status code is not handled or not allowed 2026-01-28 05:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 05:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/175002-hlm-ss-limit-switch-2nc-2no-12npt>: HTTP status code is not handled or not allowed 2026-01-28 05:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermometer-hygrometer-0-120c-0-100-percent-humidity-range-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:07:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 05:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-silicone-tube-60-l-x-1-1-2-id-x-2-od-red>: HTTP status code is not handled or not allowed 2026-01-28 05:07:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccghosq-led-combo-light-square-heads-white-w-green-leds-nicad-batt-high-output>: HTTP status code is not handled or not allowed 2026-01-28 05:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-tubing-sinkers-7-32-to-1-4-and-5-16-to-7-16-tubing-2pk>: HTTP status code is not handled or not allowed 2026-01-28 05:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-360-l-x-36-w-x-3-32-thick-black-high-strength-90a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 05:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-3-wide-12w-x-12d-x-24h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 05:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/CTT-4824-48-W-x-24-D-16-ga-Stainless-Steel-Workbench-w-Galvanized-Legs-Shelf>: HTTP status code is not handled or not allowed 2026-01-28 05:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-attach-polymagnet-rare-earth-disc-w-adhesive-1-00-dia-x-0-06-thick>: HTTP status code is not handled or not allowed 2026-01-28 05:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-3-panel-corner-room-divider-60-1-4-w-x-73-1-2-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-15w-x-15d-x-36h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 05:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-1-2-thick-black-high-strength-90a-acrylic-adhesive-bulk-rs-h90-69>: HTTP status code is not handled or not allowed 2026-01-28 05:07:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 05:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-1-wide-12w-x-15d-x-15h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 05:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-way-base-for-grid-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 05:07:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/strapping_supplies/strapping_carts_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-side-action-serratable-sealer-hd-for-3-4w-polypropylene>: HTTP status code is not handled or not allowed 2026-01-28 05:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-t2-plus-8482-66462-dissipative-dual-layer-rubber-cut-mat-36-d-x-72-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-1594-13-soho-condiment-organizer-15-3-4-inch-w-x-12-inch-d-x-12-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-head-thumb-screw-10-32-78-thread-3-4-head-dia-55-head-h-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 05:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-magnetic-wall-mount--red-danger-entree-interdite-banner>: HTTP status code is not handled or not allowed 2026-01-28 05:07:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/strapping_supplies/strapping_carts_dispensers landed on page that is not a product page. 2026-01-28 05:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotating-slatwall-merchandiser-cube-maple-maple>: HTTP status code is not handled or not allowed 2026-01-28 05:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrirga24d-125-chameleon-superbright-rga-24v-dc>: HTTP status code is not handled or not allowed 2026-01-28 05:07:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/osc-170-oil-water-separator-360-cfm-10-ppm-3-4-npt-outlet-organoclay>: HTTP status code is not handled or not allowed 2026-01-28 05:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-248ledmb120a-48-mm-led-stacklight-module-blue-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 05:07:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifeguard-chair-62-in-seat-height-white>: HTTP status code is not handled or not allowed 2026-01-28 05:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrmb120ab-125xbr-xtra-brite-led-multi-mode-blue-120-vac>: HTTP status code is not handled or not allowed 2026-01-28 05:07:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4310t-60-hp-3560-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:07:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-mold-and-particulate-kit-l-1-each-h05-8921l>: HTTP status code is not handled or not allowed 2026-01-28 05:07:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 05:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-spreader-beam-2500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270fb1248d-incandescentled-bulb-module-blue-12-48v-dc>: HTTP status code is not handled or not allowed 2026-01-28 05:07:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:07:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 05:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels>: HTTP status code is not handled or not allowed 2026-01-28 05:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-mesh-wastebasket-silver-5-gal-11-5-dia-x-14-h>: HTTP status code is not handled or not allowed 2026-01-28 05:07:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors landed on page that is not a product page. 2026-01-28 05:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms90-b2030-90-shade-cloth-shade-tarp-20-x-30>: HTTP status code is not handled or not allowed 2026-01-28 05:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-12-bu-navy-blue-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 05:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61205 pages (at 89 pages/min), scraped 31887 items (at 46 items/min) 2026-01-28 05:07:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ssxt400-270-stainless-steel-extension-stem-400-mm>: HTTP status code is not handled or not allowed 2026-01-28 05:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-2920-rpm-208-230v-oao>: HTTP status code is not handled or not allowed 2026-01-28 05:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledsg24ad-smd-steady-led-module-and-light-source-green-24v-acdc>: HTTP status code is not handled or not allowed 2026-01-28 05:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-tooth-locking-flex-head-teardrop-ratchet-with-1-2-drive-tang-17>: HTTP status code is not handled or not allowed 2026-01-28 05:08:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/oem_replacement_fan_blower_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels>: HTTP status code is not handled or not allowed 2026-01-28 05:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-x-3-1-2-snap-on-package-qty-25>: HTTP status code is not handled or not allowed 2026-01-28 05:08:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-motor-3-4-hp-1075-rpm-208-230v-oao-48y-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearview-industrial-cabinet-with-single-door-30-w-x-24-d-x-75-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-96wx48dx84h-4-levels-add-on-no-decking-620-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/oem_replacement_fan_blower_motors>: HTTP status code is not handled or not allowed 2026-01-28 05:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l100-series-manual-chain-hoist-w-overload-protection-3-ton10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 05:08:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelf_liners landed on page that is not a product page. 2026-01-28 05:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-bumper-no-holes-4-25-w-x-120-l-x-4-h>: HTTP status code is not handled or not allowed 2026-01-28 05:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-drum-dumper-portable-10>: HTTP status code is not handled or not allowed 2026-01-28 05:08:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-48-inch-w-x-18-inch-d-x-84-inch-h-8-levels-starter-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-72wx48dx120h-5-levels-add-on-no-decking-500-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:08:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-internal-hex-6mm-tube-x-1-8-swift-fit-universal-thread-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 05:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-1-4-tube-x-1-4-nptf-5-6-l>: HTTP status code is not handled or not allowed 2026-01-28 05:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-anfl3514m-1-5-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-w-center-support-96-inch-w-x-48-inch-d-1-level-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 05:08:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper landed on page that is not a product page. 2026-01-28 05:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-indus-wrk-shirt-shrt-slv-gray-l-sp24>: HTTP status code is not handled or not allowed 2026-01-28 05:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper>: HTTP status code is not handled or not allowed 2026-01-28 05:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-tire-storage-shelving-60-inch-w-x-21-inch-d-x-120-inch-h-4-levels-starter-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-deluxe-western-style-shirt-reg-xl-sc14-sc14lbrgxl>: HTTP status code is not handled or not allowed 2026-01-28 05:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-tier-add-on-unit-30-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 05:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-20-hp-1550-rpm-208-230v-oao>: HTTP status code is not handled or not allowed 2026-01-28 05:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-tier-starter-unit-30-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 05:08:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-hp-1125-rpm-208-230-460v-oao-48-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-42-office-partition-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reliant-counter-case-plaque-back-champagne-gold-frame-walnut-vinyl-base-36l-x-40h-x-14d>: HTTP status code is not handled or not allowed 2026-01-28 05:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-10-hp-1100-rpm-115v-teao>: HTTP status code is not handled or not allowed 2026-01-28 05:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-1-4-aro-plug-x-3-8-barb-1-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 05:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-3-8-basic-ind-plug-x-3-8-female-nptf-1-1-3-l>: HTTP status code is not handled or not allowed 2026-01-28 05:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-7-drawers-60-w-x-24-d-x-75-h-red>: HTTP status code is not handled or not allowed 2026-01-28 05:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors>: HTTP status code is not handled or not allowed 2026-01-28 05:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-odp-motor-100-hp-1788-rpm-230-460v-odp>: HTTP status code is not handled or not allowed 2026-01-28 05:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-extra-level-with-wood-deck-96-w-x-18-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-60wx48dx84h-4-levels-add-on-no-decking-600-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-microfiber-disinfecting-cleaning-cart>: HTTP status code is not handled or not allowed 2026-01-28 05:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dividable-grid-container-16-1-2-l-x-10-7-8-w-x-5-h-clear-polyprolylene>: HTTP status code is not handled or not allowed 2026-01-28 05:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61300 pages (at 95 pages/min), scraped 31942 items (at 55 items/min) 2026-01-28 05:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-functional-cargo-pant-black-wp80-30x32-wp80bk3032>: HTTP status code is not handled or not allowed 2026-01-28 05:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-14-w-x-20-h-x-1-d-12-ctn>: HTTP status code is not handled or not allowed 2026-01-28 05:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idm4115t-50te-hp-3900-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-hc-16-w-x-16-h-x-2-d-12-ctn>: HTTP status code is not handled or not allowed 2026-01-28 05:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-8-l-x-11-w-x-3-h-ultra-series-stack-and-hang-bin-green-polyethylene-3-slots>: HTTP status code is not handled or not allowed 2026-01-28 05:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-ceramic-26000-btu>: HTTP status code is not handled or not allowed 2026-01-28 05:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-1-4-tube-x-1-4-ml-5-6-l>: HTTP status code is not handled or not allowed 2026-01-28 05:09:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/leaf_blowers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-clean-finished-floor-cleaner>: HTTP status code is not handled or not allowed 2026-01-28 05:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jack-plate-with-non-skid-surface-24-24-2-14468>: HTTP status code is not handled or not allowed 2026-01-28 05:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-case-cart-29-5-8-w-x-40-1-2-h-x-29-d-1-s-s-wire-pullout-shelf-1-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 05:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-feather-duster>: HTTP status code is not handled or not allowed 2026-01-28 05:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-size-binder-pocket-side-loading>: HTTP status code is not handled or not allowed 2026-01-28 05:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/donnelly-foot-stool-24-w-x-16-h-x-16-d-w-handrail-mri-safe>: HTTP status code is not handled or not allowed 2026-01-28 05:09:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/leaf_blowers landed on page that is not a product page. 2026-01-28 05:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1005t-1-5-38-hp-1725-850-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-120-w-x-48-d-x-120-h-b2282508n>: HTTP status code is not handled or not allowed 2026-01-28 05:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-valve-flow-knob-adjustment-1-2-tube-x-3-8-universal-thread-1-2-7-l>: HTTP status code is not handled or not allowed 2026-01-28 05:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l3703-2-hp-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dupont-tyvek-security-wristbands-yellow-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em4106t-20-hp-3520-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-black-front-t-shirt-pullover-lime-polyester-4xl>: HTTP status code is not handled or not allowed 2026-01-28 05:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-dds225-5hp-1ph-230v-25x2-2-speed>: HTTP status code is not handled or not allowed 2026-01-28 05:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-knob-adjustment-1-4-tube-x-10-32-swift-fit-universal-thread-6-7-l>: HTTP status code is not handled or not allowed 2026-01-28 05:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-bed-workstation-96-w-x-48-d-x-72-h-starter-section>: HTTP status code is not handled or not allowed 2026-01-28 05:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-valve-flow-knob-adjustment-5-32-tube-x-10-32-universal-thread-3-4-l>: HTTP status code is not handled or not allowed 2026-01-28 05:09:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-size-11-15-h-composite-toe-chevron-plus-outsole-blue-w-red-sole>: HTTP status code is not handled or not allowed 2026-01-28 05:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-guard-24-h-x-4-1-4-w-opening>: HTTP status code is not handled or not allowed 2026-01-28 05:09:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3660t-3-hp-3460-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-duffel-bag-only-99162>: HTTP status code is not handled or not allowed 2026-01-28 05:09:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_controls/pressure_controls_switches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 05:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-5mm-tube-x-1-4-swift-fit-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-28 05:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-chalk-assorted-chalk-12-box-510816>: HTTP status code is not handled or not allowed 2026-01-28 05:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-tear-drop-add-on-96-w-x-36-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 05:09:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels landed on page that is not a product page. 2026-01-28 05:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-tear-drop-starter-120-w-x-36-d-x-120-h>: HTTP status code is not handled or not allowed 2026-01-28 05:09:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/push_pins already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minicade-barricade-sign-stand-36-h-with-2-panels-no-sheeting-3>: HTTP status code is not handled or not allowed 2026-01-28 05:09:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_controls/pressure_controls_switches landed on page that is not a product page. 2026-01-28 05:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-paper-roll-50lb-24-x-720-feet-black>: HTTP status code is not handled or not allowed 2026-01-28 05:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-shipping-tag-pre-wired-4-3-4-x-2-3-8-green-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12920-carboy-hdpe-5-liter>: HTTP status code is not handled or not allowed 2026-01-28 05:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-guard-oil-sediment-plus-model-10pack>: HTTP status code is not handled or not allowed 2026-01-28 05:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-shipping-tag-6-1-4-x-3-1-8-green-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/push_pins>: HTTP status code is not handled or not allowed 2026-01-28 05:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-laboratory-medical-glass-door-refrigerator-12-cu-ft-nswdr121wwg-0>: HTTP status code is not handled or not allowed 2026-01-28 05:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61390 pages (at 90 pages/min), scraped 31988 items (at 46 items/min) 2026-01-28 05:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ffar10-fs30lstackmed2-medical-refrigerator-freezer-stacked-combination-12-1-cu-ft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-cleanroom-stool-with-glides-high-bench-height-black>: HTTP status code is not handled or not allowed 2026-01-28 05:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-u-tube-75000-btu-20l>: HTTP status code is not handled or not allowed 2026-01-28 05:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-63in-clear-combination-spot-flood-light-bar-with-15-led-1492182>: HTTP status code is not handled or not allowed 2026-01-28 05:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-ground-coffee-fraction-packs-original-2-oz-42-carton>: HTTP status code is not handled or not allowed 2026-01-28 05:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-zipper-bag-clear-5-x-8-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-straight-tube-tough-guy-50000-btu-30l>: HTTP status code is not handled or not allowed 2026-01-28 05:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-33in-amber-rectangular-turn-signal-light-kit-with-15-led-5625215>: HTTP status code is not handled or not allowed 2026-01-28 05:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-8-frame-step-24-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:10:07 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 05:10:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/coat_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:10:08 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:32 2026-01-28 05:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-angled-broom-with-vinyl-coated-metal-handle-2>: HTTP status code is not handled or not allowed 2026-01-28 05:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-27-inch-welded-black-formed-steel-mounting-brackets>: HTTP status code is not handled or not allowed 2026-01-28 05:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2511t-10-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-light-plug-3-pin-straight-male-with-2-blunt-cut-ends-and-number10-ring-on-ground-5620355>: HTTP status code is not handled or not allowed 2026-01-28 05:10:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:10:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacking-drawer-12-h>: HTTP status code is not handled or not allowed 2026-01-28 05:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/coat_racks>: HTTP status code is not handled or not allowed 2026-01-28 05:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prochapschain-saw-chaps-je-9036-36l-apron-style-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-stop-drop-down-4-hole-bronze-finish-h-d>: HTTP status code is not handled or not allowed 2026-01-28 05:10:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/storage_panels/slatwalls_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp44304t-4-300-hp-1785-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers>: HTTP status code is not handled or not allowed 2026-01-28 05:10:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/window_air_conditioners landed on page that is not a product page. 2026-01-28 05:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-3-pullover-hoodie-polyester-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-28 05:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/overall-blue-pvc-on-nomex-xl>: HTTP status code is not handled or not allowed 2026-01-28 05:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-875in-red-rectangular-marker-clearance-light-with-reflex-with-6-led-5622716>: HTTP status code is not handled or not allowed 2026-01-28 05:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-direction-arrow-23>: HTTP status code is not handled or not allowed 2026-01-28 05:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/storage_panels/slatwalls_accessories>: HTTP status code is not handled or not allowed 2026-01-28 05:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vbm3538-5s-5-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-310148-34-lb-loaded-vinyl-single-sided-modular-acoustic-screen>: HTTP status code is not handled or not allowed 2026-01-28 05:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1505-dress-hanger-wchrome-hook-medium-heavy-weight-17l-plastic-wh-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 05:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-125-8-qfm-double-faced-wall-blanket-w-1-lb-barrier-septum-4-w-x-8-h-x-2-thick>: HTTP status code is not handled or not allowed 2026-01-28 05:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vbm3542-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-air-5>: HTTP status code is not handled or not allowed 2026-01-28 05:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-sensitive-pipe-marker-direction-arrow-blue-3>: HTTP status code is not handled or not allowed 2026-01-28 05:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-174-1525stk-combination-padlock-key-access-with-1-control-key-chart-price-each>: HTTP status code is not handled or not allowed 2026-01-28 05:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/81-17ch-top-hanger-wnotches-17l-x-12w-wood-natural-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 05:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fellowes-callisto-95-laminator>: HTTP status code is not handled or not allowed 2026-01-28 05:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardware-base-72in-96in-steel-bench-with-back-rest>: HTTP status code is not handled or not allowed 2026-01-28 05:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardware-tan-plastic-picnic-table-top>: HTTP status code is not handled or not allowed 2026-01-28 05:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fellowes-self-adhesive-laminating-sheets-letter-size-3-mil-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-120-21-degree-ring-shank-galvanized-framing-nails-2000-qty>: HTTP status code is not handled or not allowed 2026-01-28 05:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/201-bedspread-and-drapery-hanger-19l-metal-chrome-pkg-qty-12>: HTTP status code is not handled or not allowed 2026-01-28 05:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radiant-safety-screen-100-000-to-120-000-btu-ceramic-heaters>: HTTP status code is not handled or not allowed 2026-01-28 05:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-mvm3542d-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlrs15mclk-breast-milk-refrigerator-with-8-lockers-15-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 05:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ucle570-5-7airover-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ucm713-7-5-10airover-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3400l-unlined-pigskin-driver-gloves-cream-large-12-pairs>: HTTP status code is not handled or not allowed 2026-01-28 05:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slhat-hat-hanger-metal-chrome-19l-x-11-12w-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 05:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vbm3154-1-5-hp-1735-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-pl3519m-3-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-screen-designer-cloth-screen-panel-rouge>: HTTP status code is not handled or not allowed 2026-01-28 05:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-screen-designer-cloth-screen-panel-lavender>: HTTP status code is not handled or not allowed 2026-01-28 05:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-horse-2300lb-riveted-shelving-with-wire-decking-5-shelf-72-h-x-36-w-x-18-d-black>: HTTP status code is not handled or not allowed 2026-01-28 05:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tray-fast-food-14x18-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-1-1-2-brass-pipe-nipple-schedule-40>: HTTP status code is not handled or not allowed 2026-01-28 05:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mpsbk3-multi-person-bleeding-kits-8-kits-gauze-1-carry-case-1-wall-mount-case>: HTTP status code is not handled or not allowed 2026-01-28 05:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-design-sink-bench-3-3-4-h-x-30-d-x-107-w-model-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-box-truck-63-x-27-x-71-3-shelves-986978>: HTTP status code is not handled or not allowed 2026-01-28 05:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-grain-cowhide-leather-palm-regular-grade-safety-cuff-s>: HTTP status code is not handled or not allowed 2026-01-28 05:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12v-max-brushless-3-8-impact-wrench-kit-w-2-2-0ah-batteries>: HTTP status code is not handled or not allowed 2026-01-28 05:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61489 pages (at 99 pages/min), scraped 32028 items (at 40 items/min) 2026-01-28 05:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vebm3611t-3-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-8-welded-pipe-nipple-schedule-40-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-15-power-bit-x-6-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-1-1-2-seamless-pipe-nipple-schedule-80-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-return-pedestal-silver-mesh-and-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-water-line-hardware-kit-for-bottle-filling-station-761219>: HTTP status code is not handled or not allowed 2026-01-28 05:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torq-set-1-4-insert-bit-x-1-1-4-5-16-hex-shank-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-tamper-10-power-bit-x-6-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-grain-goatskin-leather-protector-for-novax-gloves-white-size-11>: HTTP status code is not handled or not allowed 2026-01-28 05:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-way-stretch-mobile-stacking-chair-fabric-black>: HTTP status code is not handled or not allowed 2026-01-28 05:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-container-solid-wall-48x40x31-long-side-runners-yellow-1500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-bag-for-novax-rubber-insulating-gloves-11-l-black-one-size>: HTTP status code is not handled or not allowed 2026-01-28 05:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-danger-asbestos-cancer-lung-disease-hazard-2>: HTTP status code is not handled or not allowed 2026-01-28 05:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-stacking-panel-with-fabric-30-w-x-16-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbon-steel-hand-winch-with-brake-1500-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-grain-cowhide-drivers-straight-thumb-quality-grade-l>: HTTP status code is not handled or not allowed 2026-01-28 05:11:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-grain-cowhide-drivers-split-cowhide-back-grain-palm-keystone-regular-grade-l>: HTTP status code is not handled or not allowed 2026-01-28 05:11:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-pop-up-canopy-slant-leg-10-l-x-10-w-x-8-11-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-5-32-power-bit-x-2-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:11:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esp-kit-1-pair-black-esp-glove-1-pair-goat-class-0-size-12>: HTTP status code is not handled or not allowed 2026-01-28 05:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-3-4-spherical-washer-set-3-1-4-o-d-11-16-thick-carbon-steel-usa-black-oxide-sp-11>: HTTP status code is not handled or not allowed 2026-01-28 05:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vsswdm3538-5-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vwdl3514-1-5-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveworks-diamond-textured-industrial-grade-nitrile-gloves-2xl-100-box-10-box-cs>: HTTP status code is not handled or not allowed 2026-01-28 05:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-starter-unit-60w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vwdm3542-5-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-danger-eye-protection-required-this-area-2>: HTTP status code is not handled or not allowed 2026-01-28 05:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels>: HTTP status code is not handled or not allowed 2026-01-28 05:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4100-bk-park5-compact-park-sign-black>: HTTP status code is not handled or not allowed 2026-01-28 05:11:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/special_purpose_batteries/exit_sign_replacement_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-add-on-unit-36w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-54w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:11:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 05:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 05:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-enamel-ocean-blue-gallon-pail-1-case-31550-1>: HTTP status code is not handled or not allowed 2026-01-28 05:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spanish-vinyl-sign-peligro-alto-voltaje>: HTTP status code is not handled or not allowed 2026-01-28 05:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wfb-o-hiplr-kit-water-filled-barricade-system-plastic-interlocking-orange-60-l-x-24-w-x-36-h>: HTTP status code is not handled or not allowed 2026-01-28 05:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/456-ld-t-40-commander-traffic-drum-orange-23-1-2-w-x-39-1-2-h-4-reflective-orange-white-stripes>: HTTP status code is not handled or not allowed 2026-01-28 05:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-10-t-slot-nut-13-16-table-slot-1-3-8-base-width-1-3-8-height-carbon-steel-black-oxide-tn-40>: HTTP status code is not handled or not allowed 2026-01-28 05:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-7-8-l-stud-05-w-roller-075-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-15-gallon-stainless-steel-bulkhead-hydraulic-reservoir-with-25-micron-filter>: HTTP status code is not handled or not allowed 2026-01-28 05:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdm3587t-2te-hp-6000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-jumper-cables-4-awg-10-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 05:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/special_purpose_batteries/exit_sign_replacement_batteries>: HTTP status code is not handled or not allowed 2026-01-28 05:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-eye-protection-required-this-area-1>: HTTP status code is not handled or not allowed 2026-01-28 05:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs-2436-ll-receiving-station-24-x-36>: HTTP status code is not handled or not allowed 2026-01-28 05:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-18w-x-42l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 05:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-eccentric-stud-1-1-2-l-stud-0875-w-roller-1625-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-latch-container-lid-clear-lid1915-cl>: HTTP status code is not handled or not allowed 2026-01-28 05:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-30w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-2-awg-10-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 05:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuning-fork-without-weight-512-cps-satin-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 05:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-3-1-2-l-stud-225-w-roller-4-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-big-bubba-industrial-high-flow-housing>: HTTP status code is not handled or not allowed 2026-01-28 05:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-rtr-1-small-retrieveing-tool-w-r-cables>: HTTP status code is not handled or not allowed 2026-01-28 05:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gl-100-pipe-locator>: HTTP status code is not handled or not allowed 2026-01-28 05:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk3000-structural-channel-pallet-rack-10-inch-row-spacer-4-inch-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-duty-aluminum-correctional-cart-37-x-29-2000-lb-cap-986983>: HTTP status code is not handled or not allowed 2026-01-28 05:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcb-25-rebar-cutter-bender-5-8-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kelly-hemostatic-forceps-straight-5-1-2-l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-seco465-single-eco-gate-8482-3-w-to-4-w-6-h>: HTTP status code is not handled or not allowed 2026-01-28 05:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk2000-boltless-pallet-rack-3-12-inch-x-96-inchstep-beam>: HTTP status code is not handled or not allowed 2026-01-28 05:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tool-tray-holder-50-lb-cap-black-3010008>: HTTP status code is not handled or not allowed 2026-01-28 05:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-peco1265-double-eco-gate-8482-10-w-to-12-w-6-h>: HTTP status code is not handled or not allowed 2026-01-28 05:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ada-compliant-built-in-undercounter-refrigerator-complete-ss-wfront-lock>: HTTP status code is not handled or not allowed 2026-01-28 05:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/660s-12-light-duty-f-clamp-12>: HTTP status code is not handled or not allowed 2026-01-28 05:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-21w-x-48l-x-60h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v6770170-xl-heelstop-anti-slip-heel-traction-aid>: HTTP status code is not handled or not allowed 2026-01-28 05:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-infinity-ventilated-steel-locker-single-tier-1-wide-12x12x72-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-breezer-titan-evaporative-cooling-fan-15gph-8-blade-universal-110-220v>: HTTP status code is not handled or not allowed 2026-01-28 05:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-18w-x-48l-x-60h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-rigid-plastic-do-not-watch-the-arc>: HTTP status code is not handled or not allowed 2026-01-28 05:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-10x7-vinyl-workers-above>: HTTP status code is not handled or not allowed 2026-01-28 05:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tdb3104-terreon-4-person-54-semi-circular-7-1-2-deep-bowl-washfountain-w-off-line-vent>: HTTP status code is not handled or not allowed 2026-01-28 05:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/batteryprotect-12-24v-65a-with-7-segment-led-display-blue-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 05:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61580 pages (at 91 pages/min), scraped 32045 items (at 17 items/min) 2026-01-28 05:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-10x7-rigid-plastic-corrosive-avoid-contact>: HTTP status code is not handled or not allowed 2026-01-28 05:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hc-30211-all-purpose-leak-detector-with-trigger-spray-16-oz>: HTTP status code is not handled or not allowed 2026-01-28 05:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-trash-container-garbage-can-32-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 05:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-trash-container-garbage-can-lid-32-gallon-red>: HTTP status code is not handled or not allowed 2026-01-28 05:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-2-0-awg-6-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 05:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-vinyl-no-smoking-or-open-flame>: HTTP status code is not handled or not allowed 2026-01-28 05:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-trash-container-garbage-can-lid-55-gallon-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gx-touch-50-adapter-for-ccgx-cut-out-blue-abs-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-panel-portable-room-divider-6-ft-h-16-ft-9-inch-fabric-color-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1400-series-front-loading-horizontal-wall-mounted-mailbox-34-compartments-anodized-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 05:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-wear-organizer-22-5-16-w-x-3-13-16-d-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 05:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-sign-14x10-rigid-plastic-no-parking>: HTTP status code is not handled or not allowed 2026-01-28 05:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hc-20475-glug-kitchen-liquid-drain-opener-12-gallon>: HTTP status code is not handled or not allowed 2026-01-28 05:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-30601-pipegasket-lubricant-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 05:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-24v-low-voltage-motorized-zone-valves-35-cv>: HTTP status code is not handled or not allowed 2026-01-28 05:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-18w-x-36l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-21w-x-54l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28967-flap-mop-mandrel-2-x-1-x-1-4-aluminum-oxide-fine>: HTTP status code is not handled or not allowed 2026-01-28 05:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x12x4-1-2-stackable-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-28 05:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sign-14x10-rigid-plastic-ear-protection-required>: HTTP status code is not handled or not allowed 2026-01-28 05:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-bar-24-x-6-foot-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 05:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-bump-6-federal-spec-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 05:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sign-14x10-vinyl-hard-hat-required>: HTTP status code is not handled or not allowed 2026-01-28 05:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-inch-x-11-inch-x-8-inch-corrugated-cartons>: HTTP status code is not handled or not allowed 2026-01-28 05:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-24w-x-30l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-inch-x-20-inch-x-12-inch-corrugated-cartons>: HTTP status code is not handled or not allowed 2026-01-28 05:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-21w-x-54l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 05:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/82478-psa-disc-6-dia-100-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 05:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-curtain-w-hardware-24w-x-10h-white-clear-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-1-2-inch-x-8-3-4-inch-x-12-inch-multi-depth-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 05:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-48406-display-base-pallet-solid-top-end-cap-48w-x-40d-x-6h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/training-panel-leg-folding-table-24in-x-60in-black-granite-top>: HTTP status code is not handled or not allowed 2026-01-28 05:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-40205-ssp-safety-step-platform-40w-x-20d-x-5h>: HTTP status code is not handled or not allowed 2026-01-28 05:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-non-electric-office-partition-panel-with-raceway-24-14-w-x-47-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-48128-sj-solid-top-narrow-dunnage-rack-48w-x-12d-x-8h-1000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-602212-ec-dunnage-rack-60w-x-22d-x-12h-1500-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/martin-yale-1711-electronic-autofolder-paper-folder>: HTTP status code is not handled or not allowed 2026-01-28 05:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-tubing-for-drinking-water-18id-x-14od-x-25-ft>: HTTP status code is not handled or not allowed 2026-01-28 05:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-dun-2460-extra-heavy-duty-dunnage-rack-60w-x-24d-x-12h-3000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-24-number-5>: HTTP status code is not handled or not allowed 2026-01-28 05:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biztalk-174-unity-gain-antenna-for-br200-business-radio-black>: HTTP status code is not handled or not allowed 2026-01-28 05:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-m1800-sys-watr-bas-prec-line-invert-mark-pnt-aero-fluor-grn>: HTTP status code is not handled or not allowed 2026-01-28 05:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-wpartial-window-48-14-w-x-73-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2200w-portable-inverter-generator-red>: HTTP status code is not handled or not allowed 2026-01-28 05:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-36-14-w-x-61-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-wpartial-window-pass-thru-cable-36-14wx77-12h-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-026-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 05:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-high-perform-v2100-rust-preventive-enam-aero-semi-gloss-blk>: HTTP status code is not handled or not allowed 2026-01-28 05:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-pass-thru-cable-48-14-w-x-47-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-link-chin-seal-zytec-fr-safety-lens-fr-hx5-backpack-papr-assembly-with-spark-arrestor>: HTTP status code is not handled or not allowed 2026-01-28 05:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-srra-perf-metlmx-0-voc-dtm-acryl-enam-semi-gls-dp-bse-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 05:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-visi-sign-fire-hose-3>: HTTP status code is not handled or not allowed 2026-01-28 05:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24x1-indented-hex-head-machine-screws-1016MH188>: HTTP status code is not handled or not allowed 2026-01-28 05:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-48-14-w-x-43-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24x2-flat-head-self-drilling-screws-1232KPFMS4W>: HTTP status code is not handled or not allowed 2026-01-28 05:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/idea-collective-legal-pad-77103-8-12-x-11-34-white-50-sheetspad-1pack>: HTTP status code is not handled or not allowed 2026-01-28 05:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-as5400-sys-340-voc-anti-slip-one-step-epxy-flr-coat-blk>: HTTP status code is not handled or not allowed 2026-01-28 05:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/art1st-sketch-diary-4790-9-x-6-white-70-sheetspad>: HTTP status code is not handled or not allowed 2026-01-28 05:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-pass-thru-cable-60-14-w-x-76-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-extinguisher-plastic-4>: HTTP status code is not handled or not allowed 2026-01-28 05:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-hose-plastic-3>: HTTP status code is not handled or not allowed 2026-01-28 05:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tow-drop-spiker-seeder-spreader-100-lbs-36-inch-l-x-42-inch-w-x-20-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-o-ring-1mm-wide-5mm-id-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 05:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/entrance-mat-3-8-thick-2-l-x-3-w-black-smooth-backing>: HTTP status code is not handled or not allowed 2026-01-28 05:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easel-pads-self-stick-easel-pads-560vad4pk-25-x-30-white-30-sheets-4pack>: HTTP status code is not handled or not allowed 2026-01-28 05:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brighton-queen-tufted-upholstered-platform-bed-light-gray-memory-foam-mattress>: HTTP status code is not handled or not allowed 2026-01-28 05:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-sierra-perf-mtlmx-0-voc-dtm-acryl-enam-sem-gls-wh-past-bas>: HTTP status code is not handled or not allowed 2026-01-28 05:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/idea-collective-journal-56874-3-12-x-5-12-cream-96-sheetspad-1pack>: HTTP status code is not handled or not allowed 2026-01-28 05:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lennox-tufted-upholstered-full-size-headboard-in-white-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 05:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5x10-metric-thread-rolling-screws-M510D7500T>: HTTP status code is not handled or not allowed 2026-01-28 05:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usb-rechargeable-rover-pocket-flood-light>: HTTP status code is not handled or not allowed 2026-01-28 05:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/display-unit-2-tier-black-epoxy-14-w-x-48-l-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 05:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/display-unit-3-tier-black-epoxy-14-w-x-24-l-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 05:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-ton-ironworker-1-phase-230-volt-10-brake>: HTTP status code is not handled or not allowed 2026-01-28 05:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-tufted-upholstered-king-size-headboard-in-red>: HTTP status code is not handled or not allowed 2026-01-28 05:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-cord-1mm-cross-section-100-ft-length>: HTTP status code is not handled or not allowed 2026-01-28 05:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561-auto-fill-inflator>: HTTP status code is not handled or not allowed 2026-01-28 05:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-lock-out-point>: HTTP status code is not handled or not allowed 2026-01-28 05:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-general-purpose-filter-42-cfm>: HTTP status code is not handled or not allowed 2026-01-28 05:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-tufted-upholstered-twin-size-headboard-in-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-tufted-upholstered-twin-size-headboard-in-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-lockout-tags-1>: HTTP status code is not handled or not allowed 2026-01-28 05:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-bugle-head-drywall-screws-0816YQG>: HTTP status code is not handled or not allowed 2026-01-28 05:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61683 pages (at 103 pages/min), scraped 32065 items (at 20 items/min) 2026-01-28 05:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x1-2-8hd-pan-head-high-low-screws-1008HTP>: HTTP status code is not handled or not allowed 2026-01-28 05:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-erasable-wall-planner-yearly-calendar-32-x-48-2015-aagpm31028>: HTTP status code is not handled or not allowed 2026-01-28 05:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riverdale-twin-size-tufted-upholstered-platform-bed-in-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-circuit-board-for-portable-air-conditioner-w-heat-293164>: HTTP status code is not handled or not allowed 2026-01-28 05:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-desk-pad-24-x-19-2015-aagsk3000>: HTTP status code is not handled or not allowed 2026-01-28 05:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sustain-compost-container-15-gal-green>: HTTP status code is not handled or not allowed 2026-01-28 05:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resilient-anti-slip-tape-gray-12-w>: HTTP status code is not handled or not allowed 2026-01-28 05:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resilient-anti-slip-tape-black-2-w>: HTTP status code is not handled or not allowed 2026-01-28 05:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-silicone-o-ring-dash-119-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 05:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-4mm-wide-104mm-id-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 05:13:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/detectable-underground-warning-tape-caution-buried-sewer-line-below-3-w>: HTTP status code is not handled or not allowed 2026-01-28 05:13:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/mattresses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-7100e15-premium-230v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 05:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2475n75-premium-460v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 05:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-0-8x5-metric-socket-set-screws-cup-point-M5005SSC>: HTTP status code is not handled or not allowed 2026-01-28 05:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-1mm-wide-49mm-id-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 05:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11112-30-psikpa-14-cbm-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printed-barricade-tape-caution-chemical-spill-2>: HTTP status code is not handled or not allowed 2026-01-28 05:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printed-barricade-tape-danger-confined-space-do-not-enter-2>: HTTP status code is not handled or not allowed 2026-01-28 05:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16x1-3-4-hex-tap-bolts-3728BHT188>: HTTP status code is not handled or not allowed 2026-01-28 05:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printed-barricade-tape-caution-do-not-enter-2>: HTTP status code is not handled or not allowed 2026-01-28 05:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-dash-121-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/mattresses>: HTTP status code is not handled or not allowed 2026-01-28 05:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-gallon-drum-bare-ground-glide-path-potassium-formate-liquid-deicer>: HTTP status code is not handled or not allowed 2026-01-28 05:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11112-100-psikpa-14-cbm-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-244-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 05:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x2-1-2-hanger-bolt-fully-threaded-1440BH188>: HTTP status code is not handled or not allowed 2026-01-28 05:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000lb-bare-ground-coated-granular-ice-melt>: HTTP status code is not handled or not allowed 2026-01-28 05:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-9x4-1-2-hex-tap-bolts-grade-8-8772BHT8>: HTTP status code is not handled or not allowed 2026-01-28 05:13:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 05:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lite-aluminum-hand-truck-continuous-handle-mort-987030>: HTTP status code is not handled or not allowed 2026-01-28 05:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-lspp3b-o5x-ls-wick-b-eye-polo-org-5x>: HTTP status code is not handled or not allowed 2026-01-28 05:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11110-160-psi-14-lm-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-lspp2b-ym-ls-wick-b-eye-polo-yel-l>: HTTP status code is not handled or not allowed 2026-01-28 05:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/titan-telescoping-flagpole-kit-15-ft-bronze-black>: HTTP status code is not handled or not allowed 2026-01-28 05:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-kit-for-10-h-drawer-of-modular-drawer-cabinet-30-wx27-d-black>: HTTP status code is not handled or not allowed 2026-01-28 05:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-15-11112-160-psikgcm2-18-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activity-table-w-adjustable-legs-24-x48-black-frame-with-oak-top>: HTTP status code is not handled or not allowed 2026-01-28 05:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x3-flat-head-wood-screws-1448DPF>: HTTP status code is not handled or not allowed 2026-01-28 05:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150-lumen-rotatable-weatherproof-led-head-lamp>: HTTP status code is not handled or not allowed 2026-01-28 05:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-foam-with-acrylic-adhesive-316-thick-x-516w-x-10l>: HTTP status code is not handled or not allowed 2026-01-28 05:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kold-locker-indoor-cooler-plus-35-degrees-f-floorless-115v-60-1-rh-door-72-inches-w-x-72-inches-d-x-88-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 05:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4x1-1-4-hammer-drive-anchor-1420ADH>: HTTP status code is not handled or not allowed 2026-01-28 05:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3d-glow-sign-acrylic-first-aid>: HTTP status code is not handled or not allowed 2026-01-28 05:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glo-brite-exit-red-redlective-frameless>: HTTP status code is not handled or not allowed 2026-01-28 05:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-weekly-appointment-book-6-7-8-x-8-3-4-black-2015-aag7085505>: HTTP status code is not handled or not allowed 2026-01-28 05:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-solid-steel-deck-52-w-x-36-d-796894>: HTTP status code is not handled or not allowed 2026-01-28 05:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11110-100-psi-14-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-braille-case-of-fire-use-stairway-2>: HTTP status code is not handled or not allowed 2026-01-28 05:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11110-60-psikpa-14-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:13:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-tube-12-id-x-1-od-x-5l>: HTTP status code is not handled or not allowed 2026-01-28 05:13:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/headlamps_wearable_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-26in-deep-vertical-file-cabinet-2-drawer-letter-size-putty>: HTTP status code is not handled or not allowed 2026-01-28 05:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11112-30inhgkpa-vac-14-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11112-60-psikpa-14-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sharp-mechanical-pencil-1-3-mm-hb-2-5-black-lead-blue-barrel>: HTTP status code is not handled or not allowed 2026-01-28 05:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40x9-16-hex-standoffs-140904HFN>: HTTP status code is not handled or not allowed 2026-01-28 05:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-laser-inkjet-file-folder-labels-green-border-1500-box-5866>: HTTP status code is not handled or not allowed 2026-01-28 05:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-breeze-24-white-115v-1-3hp-1ph-s-var-w-brkt-10-cord>: HTTP status code is not handled or not allowed 2026-01-28 05:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-42-office-partition-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protect-all-surface-protectant-1-gallon-4-bottle>: HTTP status code is not handled or not allowed 2026-01-28 05:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs>: HTTP status code is not handled or not allowed 2026-01-28 05:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finito-stick-porous-point-pen-extra-fine-0-4mm-blue-ink-blue-silver-barrel-dozen>: HTTP status code is not handled or not allowed 2026-01-28 05:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/headlamps_wearable_lights>: HTTP status code is not handled or not allowed 2026-01-28 05:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-lockers-4-tier-12-x-12-x-18-4-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-labels-with-trueblock-technology-2-x-4-white-ink-jet-250-pack-8163>: HTTP status code is not handled or not allowed 2026-01-28 05:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gem-polypropylene-pencil-box-with-lid-clear-8-1-2-x-5-1-4-x-2-1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-main-brush-49-auto-ride-on-sweeper>: HTTP status code is not handled or not allowed 2026-01-28 05:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-exit-w-door-le-arrow>: HTTP status code is not handled or not allowed 2026-01-28 05:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viper-plus-gt-full-reclining-wheelchair-detachable-full-arms-16-seat>: HTTP status code is not handled or not allowed 2026-01-28 05:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4x1-hammer-drive-anchor-1416ADH>: HTTP status code is not handled or not allowed 2026-01-28 05:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-vaccine-storage-cart-with-24-cu-ft-refrigerator-3-drawer>: HTTP status code is not handled or not allowed 2026-01-28 05:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-floor-sign-stop>: HTTP status code is not handled or not allowed 2026-01-28 05:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oval-easy-peel-labels-1-1-2-x-2-1-2-glossy-white-180-pack-22804>: HTTP status code is not handled or not allowed 2026-01-28 05:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-labels-with-trueblock-technology-8-1-2-x-11-white-ink-jet-25-pack-8165>: HTTP status code is not handled or not allowed 2026-01-28 05:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-a24728b-72w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-fire-exit>: HTTP status code is not handled or not allowed 2026-01-28 05:13:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-x-6-working-length-j-hook-style-c>: HTTP status code is not handled or not allowed 2026-01-28 05:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-x-12-working-length-j-hook-style-c>: HTTP status code is not handled or not allowed 2026-01-28 05:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61776 pages (at 93 pages/min), scraped 32081 items (at 16 items/min) 2026-01-28 05:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-fire-regulations>: HTTP status code is not handled or not allowed 2026-01-28 05:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-sleeve-t-with-perimeter-insect-guard-ansi-3-yellow-m-uhv867-m>: HTTP status code is not handled or not allowed 2026-01-28 05:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offshore-life-vest-uscg-type-i-reversible-orange-adult-universal-dx400rtj>: HTTP status code is not handled or not allowed 2026-01-28 05:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bishamon-foot-operated-high-li-skid-truck-2200-lb-cap-27-x-42-5-forks>: HTTP status code is not handled or not allowed 2026-01-28 05:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-m-series-five-drawer-anesthesia-cart-w-standard-key-lock-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-drop-in-anchor-50ADR>: HTTP status code is not handled or not allowed 2026-01-28 05:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-8-plastic-anchors-08PA>: HTTP status code is not handled or not allowed 2026-01-28 05:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-lift-beam-yellow-28-l-x-25-w-x-12-h-225lbs-40000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-standard-key-lock-hammertone-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-fork-extensions-60-6w-x-60l-pair>: HTTP status code is not handled or not allowed 2026-01-28 05:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers>: HTTP status code is not handled or not allowed 2026-01-28 05:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20300-indoor-outdoor-utility-blower-fan-300-cfm-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6304zznr-double-shielded-wsnap-ring-20mm-bore-52mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:14:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/specialty_cleaners/whiteboard_cleaner already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6202-2rsnr-double-sealed-wsnap-ring-15mm-bore-35mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-box-polystyrene-9-3-16x2-3-4x6-1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-refrigerator-2-5-cu-ft-dar259w>: HTTP status code is not handled or not allowed 2026-01-28 05:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danby-compact-refrigerator-4-4-cu-ft-dcr044b1slm>: HTTP status code is not handled or not allowed 2026-01-28 05:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-pocket-special-purpose-literature-rack-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-pourover-coffee-brewer-1-warmer-vp17-1-sst>: HTTP status code is not handled or not allowed 2026-01-28 05:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-grid-panel-poly-green-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 05:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/active-seating-stool-fabric-25-h-33-h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-cabinet-3-shelf-15x5-9-16x16-5-32>: HTTP status code is not handled or not allowed 2026-01-28 05:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-aluminum-short-anesthesia-cart-key-lock-dark-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-sensitive-labels-horizontal-drawer-cabinets-sae-cap-screw-sets>: HTTP status code is not handled or not allowed 2026-01-28 05:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vp300-hepa-dust-bags082222900>: HTTP status code is not handled or not allowed 2026-01-28 05:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weight-driven-grinder-g9wd-rh-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/specialty_cleaners/whiteboard_cleaner>: HTTP status code is not handled or not allowed 2026-01-28 05:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6816-open-80mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6216zznr-double-shielded-wsnap-ring-80mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brewwise-dual-thermofresh-dbc-brewer-120208v>: HTTP status code is not handled or not allowed 2026-01-28 05:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-dia-x-50-l-roll-lifting-beam-yellow-18-l-x-40-w-x-56-h-115lbs-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-dia-x-14-working-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-28 05:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6020nr-open-wsnap-ring-100mm-bore-150mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-twin-hoist-lift-beam-yellow-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-feet-x-3-feet-blk-slvr-poly-drain-tarp>: HTTP status code is not handled or not allowed 2026-01-28 05:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8377-type-r-class-3-quilted-bomber-jacket-orange-xl-25615>: HTTP status code is not handled or not allowed 2026-01-28 05:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-feet-x-10-feet-translucent-fire-retardant-vinyl-nylon-drain-tarp>: HTTP status code is not handled or not allowed 2026-01-28 05:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6820zz-double-shielded-100mm-bore-125mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-lift-beam-yellow-42-l-x-36-w-x-12-h-725lbs-80000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cob-socks-312-x-3-25-gallon-capacity-40pack>: HTTP status code is not handled or not allowed 2026-01-28 05:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-tall-height-36-3-4-w-x-22-d-x-43-3-4-h-hammertone-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-pink>: HTTP status code is not handled or not allowed 2026-01-28 05:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-48-economy-h-beam-adjustable-length-yellow-126-l-x-40-w-x-36-h-425lbs-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6315-2rs-double-sealed-75mm-bore-160mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s268-mesh-neck-shield-hi-vis-lime-one-size-3-pack-19282>: HTTP status code is not handled or not allowed 2026-01-28 05:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-isolation-cart-5-drawers-e-lock-30-w-x-22-l-x-37-1-4-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-blasting-agent-d1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-flammable-gas-2-3>: HTTP status code is not handled or not allowed 2026-01-28 05:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-flammable-gas-2-4>: HTTP status code is not handled or not allowed 2026-01-28 05:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5216-responder-gear-bag-blue-13447>: HTTP status code is not handled or not allowed 2026-01-28 05:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xeno-wet-56-inch-black-with-black-blades-and-led>: HTTP status code is not handled or not allowed 2026-01-28 05:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6807-open-35mm-bore-47mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swf10wuu-58-id-round-flange-doublewide-type-linear-bearing-wseals-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-lightweight-aluminium-crash-cart-5-drawers-30-w-x-22-l-x-37-1-4-h-taupe>: HTTP status code is not handled or not allowed 2026-01-28 05:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-column-medical-storage-cart-glass-door-22-1-2-w-x-27-d-x-75-3-4-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edge-protectors-2-x-2-x-48-160-thick-white-2240-skid>: HTTP status code is not handled or not allowed 2026-01-28 05:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-savary-dilator-drying-cart-hepa-filter-23-89-100-wx22-lx51-89-100-h-taupe>: HTTP status code is not handled or not allowed 2026-01-28 05:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/307021-stainless-steel-single-bulk-ppe-dispenser-6-w-x-5-3-4-d-x-17-h>: HTTP status code is not handled or not allowed 2026-01-28 05:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6030zz-double-shielded-150mm-bore-225mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-96-economy-h-beam-adjustable-length-yellow-102-l-x-40-w-x-36-h-360lbs-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-bleachers-with-guardrails-5-row-27-w-1>: HTTP status code is not handled or not allowed 2026-01-28 05:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a181610chqrfgw-window-coverqr-1800x1600x1000in-type-4x-encl-fiberglass>: HTTP status code is not handled or not allowed 2026-01-28 05:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosive-label-worded-paper-500-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-isolation-cart-6-drawers-30-w-x-22-l-x-43-3-4-h-hammertone-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-isolation-cart-6-drawers-30-w-x-22-l-x-43-3-4-h-hammertone-green>: HTTP status code is not handled or not allowed 2026-01-28 05:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6036-open-180mm-bore-280mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blade-for-jet-horizontal-band-saws>: HTTP status code is not handled or not allowed 2026-01-28 05:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-epoxy-wire-shelf-platform-p2436ep-36w-x-24d>: HTTP status code is not handled or not allowed 2026-01-28 05:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilco-nb-20-galvanized-roof-hatch-30x54>: HTTP status code is not handled or not allowed 2026-01-28 05:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vynckier-vm433-vm-4-inch-x-3-inch-x-3-inch-non-metallic-enclosure-opaque-cover>: HTTP status code is not handled or not allowed 2026-01-28 05:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duty-lever-hand-pump-sd11>: HTTP status code is not handled or not allowed 2026-01-28 05:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Global-Wand-Handle-Nozzle-Sprayer-Kit>: HTTP status code is not handled or not allowed 2026-01-28 05:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/q1286pcd-qline-j-box-screw-cover-type-4x-120x80x55mm-polycarb>: HTTP status code is not handled or not allowed 2026-01-28 05:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-transfer-pump-extension-tube-30-with-diameter-of-42mm>: HTTP status code is not handled or not allowed 2026-01-28 05:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300-181-l-low-retention-pipette-tip-reload-system-non-sterile-1920-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-isolation-cart-3-drawers-standard-key-lock-37-1-2-wx22-lx42-63-100-h-brushed-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-circulation-fan-vk24-w-guard-cord-mount-1-2-hp-7860-cfm-115-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50ml-suspension-culture-flask-vent-cap-sterile-200-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suit-carrying-shipping-case-228-16525-18l-x-12-1-2w-x-7-1-4h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stand-here-12-round>: HTTP status code is not handled or not allowed 2026-01-28 05:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61874 pages (at 98 pages/min), scraped 32099 items (at 18 items/min) 2026-01-28 05:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cell-lifter-double-end-flat-blade-j-hook-sterile-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-spill-containment-cabinet-x-large-24w-x-12d-x-35h-oil-only>: HTTP status code is not handled or not allowed 2026-01-28 05:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-in-1-convertible-hand-truck-with-solid-rubber-wheels-700-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyjohn-pjn3-portable-restroom-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facility-visi-sign-women-1>: HTTP status code is not handled or not allowed 2026-01-28 05:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permeable-cell-culture-insert-pkd-in-24-well-plate-hanging-pet-3-0-181-m-24pk>: HTTP status code is not handled or not allowed 2026-01-28 05:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161200-comfort-construction-positioning-harness-quick-connect-s>: HTTP status code is not handled or not allowed 2026-01-28 05:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facility-visi-sign-disabled-access-symbol>: HTTP status code is not handled or not allowed 2026-01-28 05:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-narrow-medical-cart-6-drawers-e-lock-24-3-4-wx22-lx43-3-4-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60mm-x-15mm-petri-dish-w-grip-ring-sterile-clear-polystyrene-500-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s70-x-6-european-male-buttress-to-2-female-bsp-pipe-thread>: HTTP status code is not handled or not allowed 2026-01-28 05:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s56-x-4-tri-sure-male-buttress-to-2-female-bsp-pipe-thread>: HTTP status code is not handled or not allowed 2026-01-28 05:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-for-boltless-heavy-duty-die-rack-60-w-x-24-d-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s100x8-female-buttress-x-2-female-npt-pipe-thread>: HTTP status code is not handled or not allowed 2026-01-28 05:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-carbon-steel-insert-for-metal-329-601>: HTTP status code is not handled or not allowed 2026-01-28 05:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fe1026sc-condenser-fan-1-4-hp-1075-rpm-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/278-expo-ii-telescoping-shipping-case-trade-show-case-55l-x-17w-x-14h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000ml-bottle-top-filter-pes-filter-material-0-22-181-m-90mm-sterile-24-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-16-20-carbon-steel-insert-for-metal-329-720>: HTTP status code is not handled or not allowed 2026-01-28 05:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515-tank-heavy-duty-shipping-case-tube-without-wheels-10l-x-10w-x-44h-blk>: HTTP status code is not handled or not allowed 2026-01-28 05:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ec-9w115-unit-bearing-1-83-hp-1550-rpm-115v>: HTTP status code is not handled or not allowed 2026-01-28 05:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/278-expo-ii-telescoping-shipping-case-trade-show-case-41l-x-28w-x-10h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m10-15-thin-wall-insert-for-metal-319-m10>: HTTP status code is not handled or not allowed 2026-01-28 05:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-occupancy-sign-alarm-on-off-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/option-work-glove-hi-vis-yellow-synthetic-leather-palm-l-1-pair-gon-17hvbrl>: HTTP status code is not handled or not allowed 2026-01-28 05:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdf-16rs-daxhardhat-replacement-suspension>: HTTP status code is not handled or not allowed 2026-01-28 05:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straptoggle-hollow-wall-anchor-316-x-4-drill-dia-12>: HTTP status code is not handled or not allowed 2026-01-28 05:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerstud-wedge-expansion-anchor-sd1-34-x-7>: HTTP status code is not handled or not allowed 2026-01-28 05:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedgebit-drill-bit-straight-shank-heavy-duty-size-12-usable-11-l-overall-13-l>: HTTP status code is not handled or not allowed 2026-01-28 05:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-sign-women-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15300-dynafile-iii-abrasive-belt-tool-7hp-7-degree-offset-20000-rpm-front-exhaust>: HTTP status code is not handled or not allowed 2026-01-28 05:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40-straight-ultrasonic-insert-flush-hi-004-wh>: HTTP status code is not handled or not allowed 2026-01-28 05:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nitri-med-nitrile-medical-exam-textured-gloves-powder-free-blue-12-l-small-100-box>: HTTP status code is not handled or not allowed 2026-01-28 05:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-small-desk-24w-x-36d-ash>: HTTP status code is not handled or not allowed 2026-01-28 05:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-48-light-bar-12-volt-clear-lens-blue-leds-7825-b>: HTTP status code is not handled or not allowed 2026-01-28 05:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24h2006sslp3pt-continuous-hinge-w3point-ltch-type-4x-2400x2000x600in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-28 05:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slim-line-48-roof-mount-light-12-volt-clear-lens-amber-leds-7820-a>: HTTP status code is not handled or not allowed 2026-01-28 05:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-08-flush-press-insert-brass-240-m5-br>: HTTP status code is not handled or not allowed 2026-01-28 05:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd20168ss-conceptwall-mt-encl-type-4x-2000x1600x800in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-28 05:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-straight-ultrasonic-insert-flanged-fl-132-hi>: HTTP status code is not handled or not allowed 2026-01-28 05:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a404nfss-j-box-clamp-cover-type-4x-400x400x300in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-28 05:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-reverse-slot-press-insert-brass-260-332-rs>: HTTP status code is not handled or not allowed 2026-01-28 05:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washbar-duo-chrome-plated-casting-wbd1-0003>: HTTP status code is not handled or not allowed 2026-01-28 05:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-ga-double-tier-ventilated-locker-6-compartments-54-w-x-18-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws201608ss-watershedwall-mt-encl-type-4x-2000x1600x800in>: HTTP status code is not handled or not allowed 2026-01-28 05:15:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-316-stainless-insert-for-metal-316-4>: HTTP status code is not handled or not allowed 2026-01-28 05:15:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-07-stainless-insert-for-metal-453-4>: HTTP status code is not handled or not allowed 2026-01-28 05:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw-9040-5-8-bostitch-style-stick-staples>: HTTP status code is not handled or not allowed 2026-01-28 05:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a36h2408ss6lp-continuous-hinge-wclamps-type-4x-3600x2400x800in-ss-type-316l>: HTTP status code is not handled or not allowed 2026-01-28 05:15:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/six-stainless-steel-hook-panel>: HTTP status code is not handled or not allowed 2026-01-28 05:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-danger-laser-beam-with-graphic>: HTTP status code is not handled or not allowed 2026-01-28 05:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-roller-bearing-cone-lm102949>: HTTP status code is not handled or not allowed 2026-01-28 05:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-return-pneumatic-actuator-1055-in-lbs-spring-end>: HTTP status code is not handled or not allowed 2026-01-28 05:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cp323512-concepthmi-encl-wblack-trim-type-4-325x350x120mm>: HTTP status code is not handled or not allowed 2026-01-28 05:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mounted-corner-guard-90-degrees-2-ft-ft-wings-12-ft-h-with-caps-silkworm>: HTTP status code is not handled or not allowed 2026-01-28 05:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-air-outdoor-dining-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 05:15:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports landed on page that is not a product page. 2026-01-28 05:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports>: HTTP status code is not handled or not allowed 2026-01-28 05:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-cantilever-rack-double-sided-starter-hd-48w-x-59d-x-8h-w-lip>: HTTP status code is not handled or not allowed 2026-01-28 05:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 05:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-epdm-foam-strip-no-adhesive-14-thick-x-1-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 05:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 05:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/junior-2-in-1-convertible-hand-truck-pneumatic-wheels-987076>: HTTP status code is not handled or not allowed 2026-01-28 05:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fox-earpiece-ep1089sc>: HTTP status code is not handled or not allowed 2026-01-28 05:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-plastic-danger-flammable>: HTTP status code is not handled or not allowed 2026-01-28 05:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-poly-green-21w-x-60l-x-69h>: HTTP status code is not handled or not allowed 2026-01-28 05:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-purple-no-a1305prp>: HTTP status code is not handled or not allowed 2026-01-28 05:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pur-fill-fireblock-gun-foam-fb01>: HTTP status code is not handled or not allowed 2026-01-28 05:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-2-with-brakes-poly-green-21w-x-48l-x-69h>: HTTP status code is not handled or not allowed 2026-01-28 05:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-2-with-brakes-poly-green-21w-x-36l-x-69h>: HTTP status code is not handled or not allowed 2026-01-28 05:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rtl12061m-bathroom-safety-swivel-seat-shower-stool-14-seat>: HTTP status code is not handled or not allowed 2026-01-28 05:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-steel-rectangular-padlock-no-a5102>: HTTP status code is not handled or not allowed 2026-01-28 05:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-232-dn10-ball-poppet-type-robust-screw-to-connect-coupling-2-21-25-l>: HTTP status code is not handled or not allowed 2026-01-28 05:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 61966 pages (at 92 pages/min), scraped 32118 items (at 19 items/min) 2026-01-28 05:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shell-style-id-card-holder-vertical-horizontal-with-reel-clear-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-position-heavy-duty-channel-w-gussets-b9912>: HTTP status code is not handled or not allowed 2026-01-28 05:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-white-polycombed-cotton-tall-l>: HTTP status code is not handled or not allowed 2026-01-28 05:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-esdanti-static-tech-coat-white-polyesternylon-l>: HTTP status code is not handled or not allowed 2026-01-28 05:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-3-pc-ss-npt-ball-valve-w-nema-4-115vac>: HTTP status code is not handled or not allowed 2026-01-28 05:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-lift-beam-double-fork-single-fixed-hook-15-000lb>: HTTP status code is not handled or not allowed 2026-01-28 05:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-gripper-front-lab-coat-white-polycotton-m>: HTTP status code is not handled or not allowed 2026-01-28 05:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/restricted-area-aluminum-no-parking>: HTTP status code is not handled or not allowed 2026-01-28 05:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dixon-coil-hook-with-pivoting-wedge-1000-lbs-capacity-yellow-6-max-coil-width>: HTTP status code is not handled or not allowed 2026-01-28 05:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-non-rekeyable-solid-aluminum-padlock-no-a12>: HTTP status code is not handled or not allowed 2026-01-28 05:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nickel-plated-brass-non-drip-coupling-3-4-body-size-red-color-ring-nbr-seals>: HTTP status code is not handled or not allowed 2026-01-28 05:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-black-no-a1206blk>: HTTP status code is not handled or not allowed 2026-01-28 05:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-32-5-16-self-lock-hk-lat-kit>: HTTP status code is not handled or not allowed 2026-01-28 05:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nickel-plated-brass-non-drip-coupling-1-4-body-size-red-color-ring-nbr-seals>: HTTP status code is not handled or not allowed 2026-01-28 05:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-v10-coupling-link>: HTTP status code is not handled or not allowed 2026-01-28 05:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-pallet-lifter-fixed-fork-1-ton-capacity-42-fork-length-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-v10-clevis-sling-hk-w-lat>: HTTP status code is not handled or not allowed 2026-01-28 05:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-purple-no-a1105prp>: HTTP status code is not handled or not allowed 2026-01-28 05:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-16in-heavy-duty-a-frame-black-cast-coupler-0091595>: HTTP status code is not handled or not allowed 2026-01-28 05:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-button-front-lab-coat-white-polycombed-cotton-2xl>: HTTP status code is not handled or not allowed 2026-01-28 05:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-332-thick-x-18-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-ton-combination-hitch-1-7-8in-hitch-ball-bh81780>: HTTP status code is not handled or not allowed 2026-01-28 05:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-button-closure-lab-coat-white-polycotton-4xl>: HTTP status code is not handled or not allowed 2026-01-28 05:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-light-13-flush-mount-alabaster-glass-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 05:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drawbar-wear-guage-3013872>: HTTP status code is not handled or not allowed 2026-01-28 05:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-action-back-coverall-navyyellow-polyestercotton-regular-48>: HTTP status code is not handled or not allowed 2026-01-28 05:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breakaway-switch-with-48-inch-prewired-cable-loop-5422010>: HTTP status code is not handled or not allowed 2026-01-28 05:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-excel-flame-resistant-lab-coat-7-oz-light-blue-cotton-xl>: HTTP status code is not handled or not allowed 2026-01-28 05:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-tape-3-w-x-108-l-5-mil-solid-green-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-x-1-58-metal-framing-channel-p1000t10gr-12-gage-slotted>: HTTP status code is not handled or not allowed 2026-01-28 05:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-clear-fda-silicone-rubber-roll-no-adhesive-60a-116-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-ton-pintle-hook-ph30>: HTTP status code is not handled or not allowed 2026-01-28 05:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-21-24-d-hopper-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 05:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-industrial-long-sleeve-work-shirt-gray-polycotton-regular-2xl>: HTTP status code is not handled or not allowed 2026-01-28 05:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-116-thick-x-48-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-replacement-ball-w-nut-for-rm6-series-bh8-series-rb2000>: HTTP status code is not handled or not allowed 2026-01-28 05:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-stacking-arm-chair-desk-w-left-handed-tablet-charcoal-seat-back>: HTTP status code is not handled or not allowed 2026-01-28 05:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-industrial-long-sleeve-work-shirt-navy-polycotton-regular-2xl>: HTTP status code is not handled or not allowed 2026-01-28 05:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-plastic-sheet-18-thick-x-32-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12in-hitch-receiver-extension-1804005>: HTTP status code is not handled or not allowed 2026-01-28 05:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mastic-adhesive-for-installation-of-wall-sheet-and-vinyl-corner-guards-1-gal-container>: HTTP status code is not handled or not allowed 2026-01-28 05:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-28-giant-stacking-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 05:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipmentcart-bumber-ivory>: HTTP status code is not handled or not allowed 2026-01-28 05:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-combo-padlock-with-key-control>: HTTP status code is not handled or not allowed 2026-01-28 05:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contact-adhesive-for-installation-of-wall-sheet-and-vinyl-corner-guards-1-gal-container>: HTTP status code is not handled or not allowed 2026-01-28 05:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x36x74-chrome-wire-shelving-with-28-giant-stacking-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-28 05:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gemini-valve-high-duty-cycle-ball-valve-w-double-acting-pneumatic-actuator-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-21-giant-stacking-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-28 05:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x75-steel-shelving-with-28-24-d-hopper-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adhesive-transfer-tape-1-2-wide-x-36yds>: HTTP status code is not handled or not allowed 2026-01-28 05:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x75-steel-shelving-with-15-24-d-hopper-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 05:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-96-counter-height-pedestal-table-grey-nebula-top-round-silver-base>: HTTP status code is not handled or not allowed 2026-01-28 05:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-36h-round-counter-height-pedestal-table-studio-teak-top-round-black-base>: HTTP status code is not handled or not allowed 2026-01-28 05:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-gel-super-glue-14-oz>: HTTP status code is not handled or not allowed 2026-01-28 05:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-6-premium-standard-staples-1-4-5000-pack-12-case>: HTTP status code is not handled or not allowed 2026-01-28 05:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-34-thick-x-18-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-8-giant-stacking-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-1-12-thick-x-18-wide-x-18-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_enclosures already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x75-steel-shelving-with-13-24-d-hopper-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/assorted-refill-strips-white-16-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-weighted-desktop-tape-dispenser-3-core-plastic-putty-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-key-control-gold-dial>: HTTP status code is not handled or not allowed 2026-01-28 05:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-hose-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combination-lock-red-metal-dial-right-hinged>: HTTP status code is not handled or not allowed 2026-01-28 05:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-drum-rack-p1-one-drum-horizontal-rack>: HTTP status code is not handled or not allowed 2026-01-28 05:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000lb-capacity-drywall-cart-48-l-x-23-w-x-44-h>: HTTP status code is not handled or not allowed 2026-01-28 05:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combination-lock-purple-dial-left-hinged>: HTTP status code is not handled or not allowed 2026-01-28 05:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x75-steel-shelving-with-10-giant-stacking-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 05:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-14-thick-x-34-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-132-thick-x-6-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_enclosures>: HTTP status code is not handled or not allowed 2026-01-28 05:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tumbler-nt-12oz-slate-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:16:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-motor-trolley-1-15-14>: HTTP status code is not handled or not allowed 2026-01-28 05:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haws-axion-advantage-ax13-eye-face-wash-system-abs-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-e-a-r-express-pod-plugs-corded-assorted-colors>: HTTP status code is not handled or not allowed 2026-01-28 05:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-strip-no-adhesive-40a-132-thick-x-1-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-with-6-deep-deck-30-x-48-adj-height-mold-on-rubber>: HTTP status code is not handled or not allowed 2026-01-28 05:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-116-thick-x-3-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-axle-for-ptw-series-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 05:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microflex-174-supreno-174-ec-sec-375-nitrile-gloves-powder-free-size-l-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-9997-biomax-hepa-galv-steel-double-turned-flange-24-inch-w-x-24-inch-h-x-11-1-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 05:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-20-inch-w-x-30-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 05:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/karcher-hard-main-roller-brush-km105-sweeper-4-762-529-0>: HTTP status code is not handled or not allowed 2026-01-28 05:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermostat-single-stage-115-230v-50-60hz-with-cordset>: HTTP status code is not handled or not allowed 2026-01-28 05:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys>: HTTP status code is not handled or not allowed 2026-01-28 05:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-w-lse-acrylic-adhesive-132-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 05:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-for-w-40z-b218-45z-c215-pallet-trucks-hy-302375>: HTTP status code is not handled or not allowed 2026-01-28 05:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 62065 pages (at 99 pages/min), scraped 32130 items (at 12 items/min) 2026-01-28 05:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-dw-nrwrm-5-1-2-slate-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlk-chain-hoist-1100-lb-capacity-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 05:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handle-bushing-for-pe-3000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 05:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-lb-lever-hoist-2-34-5-foot-lift>: HTTP status code is not handled or not allowed 2026-01-28 05:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-tote-blue-t146-18l-x-10-1-2w-x-2-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 05:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-standard-capacity-xl8-pleated-panel-ext-surface-25-inch-w-x-25-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 05:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-standard-capacity-xl8-pleated-panel-ext-surface-12-inch-w-x-20-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 05:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-bank-roller-cabinet-w-14-drawers-42-w-x-22-3-8-d-x-38-1-2-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-cabinet-w-6-drawers-34-w-x-25-1-4-d-x-41-h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-18-thick-x-1-14-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x75-steel-shelving-with-21-magnum-giant-hopper-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 05:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x75-steel-shelving-with-10-magnum-giant-hopper-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 05:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-deluxe-thermoplastic-32-gal-perf-recycling-receptacle-w-multi-stream-lid-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-push-trolley-18-10-559>: HTTP status code is not handled or not allowed 2026-01-28 05:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x74-chrome-shelving-with-8-magnum-giant-hopper-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-for-smx-45-walkie-pallet-truck-pr-312651-001>: HTTP status code is not handled or not allowed 2026-01-28 05:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-tan-l>: HTTP status code is not handled or not allowed 2026-01-28 05:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30w-solar-panel-led-flood-light-black>: HTTP status code is not handled or not allowed 2026-01-28 05:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-for-wave-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 05:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-z7000-s9-low-flow-shower-head-1-5gpm>: HTTP status code is not handled or not allowed 2026-01-28 05:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-sheet-w-lse-acrylic-adhesive-14-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-hook-suspension-1-15-14>: HTTP status code is not handled or not allowed 2026-01-28 05:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5200-double-row-angular-contact-bearing-open-10mm-bore-x-30mm-od-x-14-3mm-w>: HTTP status code is not handled or not allowed 2026-01-28 05:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5202-double-row-angular-contact-bearing-open-15mm-bore-x-35mm-od-x-15-9mm-w>: HTTP status code is not handled or not allowed 2026-01-28 05:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-2-12-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drug-test-container-90ml-sterile-tab-seal-id-label-celsius-thermometer-strip-400-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5211-double-row-angular-contact-bearing-open-55mm-bore-x-100mm-od-x-33-3mm-w>: HTTP status code is not handled or not allowed 2026-01-28 05:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-retardant-neoprene-foam-sheet-with-acrylic-adhesive-2-thick-x-12-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-w-lse-acrylic-adhesive-116-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-specimen-container-4-oz-green-screwcap-frosted-writing-area-polypropylene-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-10fr4-garolite-sheet-14-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-111-112-113-114-pallet-trucks-ra-632-076>: HTTP status code is not handled or not allowed 2026-01-28 05:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-tite-rite-container-60ml-2-oz-sterile-screw-cap-id-label-tab-seal-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-bar-12-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-11-step-perforated-cantilever-ladder-14-overhang>: HTTP status code is not handled or not allowed 2026-01-28 05:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-8-step-perforated-cantilever-ladder-28-overhang>: HTTP status code is not handled or not allowed 2026-01-28 05:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-33-4-h-shelf-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-28 05:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-34-thick-x-5-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-plastic-sheet-116-thick-x-32-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-frock-winside-top-pocket-white-polyestercotton-twill-3xl>: HTTP status code is not handled or not allowed 2026-01-28 05:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24l-x-24w-x-36h-7-oz-black-5-sided-polyethylene-machine-cover>: HTTP status code is not handled or not allowed 2026-01-28 05:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-132-thick-x-8-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infrared-bar-heater-48>: HTTP status code is not handled or not allowed 2026-01-28 05:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-grill-18-hot-dogs-gripsit>: HTTP status code is not handled or not allowed 2026-01-28 05:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wexterior-pockets-navy-polyestercombed-cotton-3xl>: HTTP status code is not handled or not allowed 2026-01-28 05:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-berm-spill-containment-puncture-resistant-10-l-x-10-w-x-12-h>: HTTP status code is not handled or not allowed 2026-01-28 05:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clevis-pin-for-wp-2300-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 05:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cook-shirt-black-polyestercotton-4xl>: HTTP status code is not handled or not allowed 2026-01-28 05:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butcher-wrap-white-polyestercombed-cotton-4xl>: HTTP status code is not handled or not allowed 2026-01-28 05:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balancing-damper-radial-galvanized-steel-10-pk2>: HTTP status code is not handled or not allowed 2026-01-28 05:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eggcrate-return-grille-surface-mount-10-x-10-white-pk5>: HTTP status code is not handled or not allowed 2026-01-28 05:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stratus-plastic-return-filter-grille-20-square-duct-t-grid-black>: HTTP status code is not handled or not allowed 2026-01-28 05:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spx222-electronic-portable-balance-with-lcd-display-420g-x-0-01g>: HTTP status code is not handled or not allowed 2026-01-28 05:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks-yl-272015100>: HTTP status code is not handled or not allowed 2026-01-28 05:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solenoid-switch-for-mp-mpb-040-ac-pallet-trucks-yl-501270305>: HTTP status code is not handled or not allowed 2026-01-28 05:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-outdoor-bottle-filling-station-bi-level-fountain-w-water-filter-black>: HTTP status code is not handled or not allowed 2026-01-28 05:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-butcher-wrap-white-polyestercombed-cotton-l>: HTTP status code is not handled or not allowed 2026-01-28 05:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-magazine-24-brochure-wall-display-medium-oak>: HTTP status code is not handled or not allowed 2026-01-28 05:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wpockets-light-blue-polyestercombed-cotton-s>: HTTP status code is not handled or not allowed 2026-01-28 05:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-crescent-cuber-1-phase-water-cooled-1585-ppd>: HTTP status code is not handled or not allowed 2026-01-28 05:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-8-pocket-brochure-display-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 05:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-1-14-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/button-front-short-sleeve-cook-shirt-white-polyestercotton-3xl>: HTTP status code is not handled or not allowed 2026-01-28 05:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x39-steel-shelving-with-12-6-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-eje120-lw-fits-jungheinrich-model-eje120>: HTTP status code is not handled or not allowed 2026-01-28 05:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-mpe-060-mpe-080-pallet-trucks-yl-524140950-a-sg>: HTTP status code is not handled or not allowed 2026-01-28 05:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-goliath-black-steel-toe-w-power-lug-outsole-pvc-size-12>: HTTP status code is not handled or not allowed 2026-01-28 05:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-hazmax-ez-fit-green-yellow-steel-toe-mid-sole-pvc-size-13>: HTTP status code is not handled or not allowed 2026-01-28 05:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-mesh-file-organizer-storage-black>: HTTP status code is not handled or not allowed 2026-01-28 05:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-dc-control-bc160-dc-scr-control-230v-3-hp-nema-4x>: HTTP status code is not handled or not allowed 2026-01-28 05:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-12-thick-x-2-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-chemtex-green-coverall-w-inner-cuffs-pvc-on-polyester-size-medium>: HTTP status code is not handled or not allowed 2026-01-28 05:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-chemtex-green-bib-overall-plain-front-pvc-on-polyester-size-medium>: HTTP status code is not handled or not allowed 2026-01-28 05:17:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-mpw050e-lw-xl-fits-yale-model-mpw-050-e-c802>: HTTP status code is not handled or not allowed 2026-01-28 05:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-qwik-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-mpe060e-lw-fits-yale-model-mpe-060e-a896-series>: HTTP status code is not handled or not allowed 2026-01-28 05:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-n-rack-tube-rack-for-20mm-and-21mm-tubes-40-place-polypropylene-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 62162 pages (at 97 pages/min), scraped 32150 items (at 20 items/min) 2026-01-28 05:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-cast-iron-pvc-coupling-x-1-1-4-cast-iron-pvc-coupling>: HTTP status code is not handled or not allowed 2026-01-28 05:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metrovac-174-electra-sweep-power-broom-premium-es-109t>: HTTP status code is not handled or not allowed 2026-01-28 05:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-18-thick-x-5-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 05:17:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-fork-for-102xm-walkie-pallet-truck>: HTTP status code is not handled or not allowed 2026-01-28 05:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9ft-wooden-market-umbrella-khaki>: HTTP status code is not handled or not allowed 2026-01-28 05:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-cap-style-hard-hat-white-6-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 05:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-12-x-5-euro-fix-mesh-container-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-mailer-polypropylene-for-1-slide-natural-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-cap-for-sample-tubes-with-external-threads-s-6030-6059-lilac-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays>: HTTP status code is not handled or not allowed 2026-01-28 05:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-4-1-8x7-3-8x3-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-full-vision-showcase-60w-x-18d-x-38h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-8-1-4x14-3-4x7-red>: HTTP status code is not handled or not allowed 2026-01-28 05:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kneeling-sitting-creeper-w-2-casters-01rac>: HTTP status code is not handled or not allowed 2026-01-28 05:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-full-brim-hard-hat-shiny-black-graphite-pattern-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 05:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axial-exhaust-fan-500-cfm>: HTTP status code is not handled or not allowed 2026-01-28 05:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-28 05:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-38-thick-x-2-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 05:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-bar-w-lse-acrylic-adhesive-12-thick-x-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 05:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pigskin-leather-drivers-gloves-with-keystone-thumb-size-x2-pkg-qty-12>: HTTP status code is not handled or not allowed 2026-01-28 05:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-jig-saw-blade-bi-metal-8-teeth-inch-4-length-48-42-5850>: HTTP status code is not handled or not allowed 2026-01-28 05:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-vented-cap-style-hard-hat-red-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 05:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-bar-w-lse-acrylic-adhesive-18-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 05:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-8-3-8-x-11-5-8-x-6-red>: HTTP status code is not handled or not allowed 2026-01-28 05:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-kf-200cs-portable-direct-heat-sealer>: HTTP status code is not handled or not allowed 2026-01-28 05:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-hazmax-ez-fit-green-yellow-steel-toe-mid-sole-pvc-size-9>: HTTP status code is not handled or not allowed 2026-01-28 05:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-hinged-lid-1-7-cu-yd-self-dumping-plastic-hopper>: HTTP status code is not handled or not allowed 2026-01-28 05:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-goliath-black-steel-toe-w-power-lug-outsole-pvc-size-5>: HTTP status code is not handled or not allowed 2026-01-28 05:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-box-for-100-slides-cork-lined-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-retracting-lifeline-30-ss-cable>: HTTP status code is not handled or not allowed 2026-01-28 05:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m4-x-0-7-x-10mm-steel-zinc-clear-class-8-8-din-933-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-6-polyblend-black-steel-toe-w-cleated-outsole-pvc-size-10>: HTTP status code is not handled or not allowed 2026-01-28 05:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-film-5-1000-80-extended-core-handle>: HTTP status code is not handled or not allowed 2026-01-28 05:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goodyear-fine-ribbed-rubber-floor-mat-3-5mm-thick-3-x-25-black>: HTTP status code is not handled or not allowed 2026-01-28 05:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-sheet-w-lse-acrylic-adhesive-18-thick-x-48-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 05:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m12-x-1-5-x-90mm-steel-zinc-clear-class-8-8-din-960-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 05:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/560-fissured-ceiling-panels-mineral-fiber-white-24-x-24>: HTTP status code is not handled or not allowed 2026-01-28 05:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-hhcs050094eg-1-2-13-x-1-796982>: HTTP status code is not handled or not allowed 2026-01-28 05:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-bin-shelf-cart-w-phenolic-casters-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4801-pebbled-climaplus-ceiling-panels-mineral-fiber-white-24-x-24>: HTTP status code is not handled or not allowed 2026-01-28 05:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-rotating-gate-valve-lockout-2-to-5-diameter>: HTTP status code is not handled or not allowed 2026-01-28 05:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-solenoid-valve-assembly-641264-641244-641265-641245-641750-641746-641747>: HTTP status code is not handled or not allowed 2026-01-28 05:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-seal-tight-handle-on-ball-valve-lockout>: HTTP status code is not handled or not allowed 2026-01-28 05:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-with-window-60-1-4w-x-61-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-it-sms-tagging-needles>: HTTP status code is not handled or not allowed 2026-01-28 05:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/external-power-source-for-rfid-locks-if-battery-life-ends>: HTTP status code is not handled or not allowed 2026-01-28 05:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-it-3567-semi-automatic-twist-tie-machine-1-2-inch-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eyewear-clip-for-helmet-white>: HTTP status code is not handled or not allowed 2026-01-28 05:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/built-in-combination-lock-spring-latch-control-key-access-left-hinged>: HTTP status code is not handled or not allowed 2026-01-28 05:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-it-e-8-50-uv-black-intermediate-ul-recognized-cable-tie>: HTTP status code is not handled or not allowed 2026-01-28 05:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-safety-padlock-short-zenex-316-body-x-1-12-shackle-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fb-pic4188h-luxury-color-sewer-drain-camera-130-cable-w-sonde-transmitter-footage-counter>: HTTP status code is not handled or not allowed 2026-01-28 05:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-cover-glass-22mm-x-32mm--1-thickness-1-oz-vacuum-pack-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-clean-water-filter-261990-641250-641263-641264-641265-641244-641245>: HTTP status code is not handled or not allowed 2026-01-28 05:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-safety-padlock-short-zenex-316-body-x-1-12-shackle-teal>: HTTP status code is not handled or not allowed 2026-01-28 05:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-bar-w-lse-acrylic-adhesive-18-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 05:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-plug-lockout-use-for-110-120v-prongs>: HTTP status code is not handled or not allowed 2026-01-28 05:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-flat-shelf-portable-bin-cart-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-lockout-hasp-nylon-plastic-1-58w-x-6-78l>: HTTP status code is not handled or not allowed 2026-01-28 05:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-it-525-heavy-duty-nylon-tagging-fasteners>: HTTP status code is not handled or not allowed 2026-01-28 05:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-18-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 05:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-steel-padlock-no-3-reinforced-laminate-1-916w-x-34-shackle-green>: HTTP status code is not handled or not allowed 2026-01-28 05:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-quilted-bomber-jacket-ansi-class-4-navy-blue-l-nvbj-s1-l>: HTTP status code is not handled or not allowed 2026-01-28 05:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-rod-116-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 05:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-quilted-bomber-jacket-ansi-class-7-navy-blue-3x-nvbj-s1-3xl>: HTTP status code is not handled or not allowed 2026-01-28 05:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46in-round-metal-mesh-picnic-table-black>: HTTP status code is not handled or not allowed 2026-01-28 05:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pharmacy-narcotic-safe-mrx1000e-double-door-w-digital-lock-32-w-x-16-d-x-60-h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-116-thick-x-38-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 05:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buckets-for-use-with-gcc-mp-swing-rotor-4-each-for-4-x-100ml-tubes-1-tube-per-bucket-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-stand-support-for-12-oaw-skatewheel-10-bf-roller-conveyors-adjustable-31-to-43h>: HTTP status code is not handled or not allowed 2026-01-28 05:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-drawer-counter-high-24-w-cabinet-red-1>: HTTP status code is not handled or not allowed 2026-01-28 05:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slush-boots-rubber-17-height-yellow-size-18-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 05:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-150ml-narrow-stem-large-bulb-155mm-2500-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-18-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 05:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-counter-high-24-w-cabinet-everest-blue-4>: HTTP status code is not handled or not allowed 2026-01-28 05:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-rod-14-diameter-x-2-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 05:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buckets-for-use-gcc-mp-swing-rotor-4-each-for-16-x-10ml-12ml-and-15ml-tubes-4-tubes-per-bucket>: HTTP status code is not handled or not allowed 2026-01-28 05:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-108-industrial-ceiling-fan-dc-motor-6-speed>: HTTP status code is not handled or not allowed 2026-01-28 05:18:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-cap-vented-with-accessory-slots-and-4-point-mega-ratchet-suspension-hi-viz-pink>: HTTP status code is not handled or not allowed 2026-01-28 05:18:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1340vs-with-acu-rite-303-dro-with-taper-attachment-and-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 05:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/200g-deicing-sprayer-12v-7870-pump-75-12-hose>: HTTP status code is not handled or not allowed 2026-01-28 05:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50g-skid-sprayer-55hp-k25-pump-150-38-hose-manual-reel>: HTTP status code is not handled or not allowed 2026-01-28 05:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 62260 pages (at 98 pages/min), scraped 32166 items (at 16 items/min) 2026-01-28 05:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-inch-variangle-thermometer-6-inch-stem-30-240f>: HTTP status code is not handled or not allowed 2026-01-28 05:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handheld-clamshell-tape-dispenser-2w>: HTTP status code is not handled or not allowed 2026-01-28 05:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-lens-cleaning-wipes-100-per-box>: HTTP status code is not handled or not allowed 2026-01-28 05:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-flange-plug-12mm-red-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1236vs-with-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 05:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-refrigerator-33-38f-48-38w-30-18d-tuc-48d-4-ada>: HTTP status code is not handled or not allowed 2026-01-28 05:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-flat-panel-turntable-black>: HTTP status code is not handled or not allowed 2026-01-28 05:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-drawer-full-height-48-w-cabinet-black-1>: HTTP status code is not handled or not allowed 2026-01-28 05:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-drawer-full-height-36-w-cabinet-red-2>: HTTP status code is not handled or not allowed 2026-01-28 05:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 05:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-top-refrigerator-2-section-48-38w-30-18d-33-38h-twt-48>: HTTP status code is not handled or not allowed 2026-01-28 05:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-lock-out-tags-for-s3650-group-lock-box-pkgp58381>: HTTP status code is not handled or not allowed 2026-01-28 05:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges>: HTTP status code is not handled or not allowed 2026-01-28 05:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-wood-science-lab-table-24-x-54-x-30-whiteboard-top>: HTTP status code is not handled or not allowed 2026-01-28 05:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-top-freezer-2-section-10f-48-38w-30-18d-33-38h-twt-48f>: HTTP status code is not handled or not allowed 2026-01-28 05:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-refrigerator-33-38f-27-58w-30-18d-tuc-27-ada>: HTTP status code is not handled or not allowed 2026-01-28 05:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jmd-40gh-geared-head-mill-drill-with-newall-dp700-2axis-dro-x-powerfeed>: HTTP status code is not handled or not allowed 2026-01-28 05:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-rocker-double-tier-120v-60hz-us-plug-99-x-67-platforms-24-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-counter-high-24-w-cabinet-beige-3>: HTTP status code is not handled or not allowed 2026-01-28 05:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-refrigerator-33-38f-48-38w-30-18d-tuc-48d-2-ada>: HTTP status code is not handled or not allowed 2026-01-28 05:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-13mm-full-size-72-place-nylon-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serological-pipette-5ml-polystyrene-standard-tip-342mm-non-sterile-blue-band-375-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1440-1-lathe-with-newall-dp500-dro-and-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 05:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72in-yellow-plus-ii-quarter-in-hose-21072>: HTTP status code is not handled or not allowed 2026-01-28 05:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254vs-with-newall-dp700-3x-k-dro-x-powerfeed-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 05:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-drawer-full-height-48-w-cabinet-red-1>: HTTP status code is not handled or not allowed 2026-01-28 05:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-cooler-flat-top-24-34w-26-58d-33-38h-td-24-7>: HTTP status code is not handled or not allowed 2026-01-28 05:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254rvs-with-newall-dp700-3x-k-dro-x-powerfeed-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 05:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durable-view-binder-with-slant-rings-1-capacity-coral>: HTTP status code is not handled or not allowed 2026-01-28 05:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mig-nozzle-dip-gel-16-oz>: HTTP status code is not handled or not allowed 2026-01-28 05:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-double-swivel-ring-u038>: HTTP status code is not handled or not allowed 2026-01-28 05:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-camwear-spoon-white>: HTTP status code is not handled or not allowed 2026-01-28 05:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-waterproof-uv-resistent-labels-laser-2-x-2-600box>: HTTP status code is not handled or not allowed 2026-01-28 05:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30in-direct-drive-heavy-duty-portable-air-circulator-bf30dd-red-5500-cfm>: HTTP status code is not handled or not allowed 2026-01-28 05:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-air-conditioning-coil-fin-cleaner-case-of-four-1-gallon-bottles>: HTTP status code is not handled or not allowed 2026-01-28 05:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tong-9-flat-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-glass-25-x-75mm-45-beveled-edges-clipped-corners-pink-frosted1440-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1440-3-with-newall-dp700-dro>: HTTP status code is not handled or not allowed 2026-01-28 05:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jwdp-12-12-drill-press-with-dro-1-2hp-1ph-115v>: HTTP status code is not handled or not allowed 2026-01-28 05:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-milk-cooler-8-crts-34w-33-38d-41-12h-tmc-34>: HTTP status code is not handled or not allowed 2026-01-28 05:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-mailer-polypropylene-for-2-slides-natural-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-507-1405-series-507-screw-to-connect-coupling-1-2-body-size-1-2-female-npt>: HTTP status code is not handled or not allowed 2026-01-28 05:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-diamond-fixed-volume-15ul-pink>: HTTP status code is not handled or not allowed 2026-01-28 05:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-902-9203-multi-link-eurostandard-1-4-body-size-safety-esafe-kit-3-out-1-2-female-inlet>: HTTP status code is not handled or not allowed 2026-01-28 05:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-refrigerated-merch-ss-36-18w-22-38d-gdm-9-s>: HTTP status code is not handled or not allowed 2026-01-28 05:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triton-lbs18k-slv-silver-key-pegboard-kit>: HTTP status code is not handled or not allowed 2026-01-28 05:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triton-66201-ss-closed-hammer-pliers-holder-for-ss-locboard>: HTTP status code is not handled or not allowed 2026-01-28 05:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-inner-boxes-6-x-6-x-72>: HTTP status code is not handled or not allowed 2026-01-28 05:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-storage-cabinet-6-drawers-holds-up-to-4500-slides-metal-green>: HTTP status code is not handled or not allowed 2026-01-28 05:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-36-gal-concrete-receptacle-alum-lid-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:19:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=894103-etm-949-mill-with-usa-powered-draw-bar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-shipping-containers-17-x-10-x-10-1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:19:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-3-axis-acu-rite-303-quill-dro-and-x-y-z-axis-jet-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-full-brim-hard-hat-non-vented-4-pt-ratchet-suspension-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msbid2424-24-x-24-molded-stone-mop-basin>: HTTP status code is not handled or not allowed 2026-01-28 05:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/binclip-for-pegboard-797000>: HTTP status code is not handled or not allowed 2026-01-28 05:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-pens-9x26x1-5-white>: HTTP status code is not handled or not allowed 2026-01-28 05:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/salad-bowl-8-diameter-312-oz-capacity-fiberglass-dark-basketweave>: HTTP status code is not handled or not allowed 2026-01-28 05:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-draining-tray-100-place-for-up-to-200-slides-abs-green-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-front-brim-hard-hat-vented-4-pt-ratchet-suspension-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-outer-boxes-6-1-2-x-6-1-2-x-72>: HTTP status code is not handled or not allowed 2026-01-28 05:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-tow-hook-bar-38in>: HTTP status code is not handled or not allowed 2026-01-28 05:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-12x18-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-5-x-19-thank-you-t-shirt-bag-w-suffocation-warning-for-use-w-counter-rack>: HTTP status code is not handled or not allowed 2026-01-28 05:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=894103-etm-949-mill-with-usa-powered-draw-bar>: HTTP status code is not handled or not allowed 2026-01-28 05:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-6-5-8-x-1-4-standard-cut-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-28 05:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2876-95-3-inch-cast-iron-self-priming-centrifugal-pump-275gpm-125psi-buna-n-seal-7-5hp>: HTTP status code is not handled or not allowed 2026-01-28 05:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-3-axis-acu-rite-303-quill-dro-and-x-y-z-axis-jet-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 05:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-heavy-duty-steel-square-edge-48-w-x-36-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-measuring-diamond-essentials-class-b-pmp-molded-graduations-tall-form-100ml>: HTTP status code is not handled or not allowed 2026-01-28 05:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-20x25-white>: HTTP status code is not handled or not allowed 2026-01-28 05:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conveyor-magnet-18in-l>: HTTP status code is not handled or not allowed 2026-01-28 05:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camdolly-milk-crate-slate-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-mobile-plastic-square-lab-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cambox-16-7-8-inch-l-x-21-7-8-inch-w-x-4-3-4-inch-h-hi-impact-plastic-dark-brown-nsf>: HTTP status code is not handled or not allowed 2026-01-28 05:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-stock-picking-ladder-expanded-tread-spl-10-x>: HTTP status code is not handled or not allowed 2026-01-28 05:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-bender-and-portable-power-unit-3-phase-460-volt>: HTTP status code is not handled or not allowed 2026-01-28 05:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-measuring-diamond-essentials-class-b-polypropylene-molded-graduations-250ml>: HTTP status code is not handled or not allowed 2026-01-28 05:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-extra-shelf-for-18-deep-industrial-cabinet-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-30mm-full-size-24-place-nylon-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/media-flap-parflp007200-for-portacool-hurricane-360>: HTTP status code is not handled or not allowed 2026-01-28 05:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-75g-sliding-door-vertical-flammable-drum-cabinet-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-with-handle-diamond-essentials-low-form-printed-graduations-pmp-2000ml>: HTTP status code is not handled or not allowed 2026-01-28 05:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 62355 pages (at 95 pages/min), scraped 32180 items (at 14 items/min) 2026-01-28 05:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-literature-mailer-12-1-8-x-9-1-4-x-3>: HTTP status code is not handled or not allowed 2026-01-28 05:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-mailer-10-x-6-x-4->: HTTP status code is not handled or not allowed 2026-01-28 05:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lt191g01-lavatory-undercounter-2012-x-1238-wsanagloss-cotton-white>: HTTP status code is not handled or not allowed 2026-01-28 05:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-triple-wall-corrugated-sheets-48-x-96>: HTTP status code is not handled or not allowed 2026-01-28 05:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-12g-manual-close-flammable-cabinet-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-explosion-proof-direct-drive-duct-fan-1-phase-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 05:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lt579g01-rendezvous-undercounter-sg-lavatory-cotton-white>: HTTP status code is not handled or not allowed 2026-01-28 05:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-1-0-x-80mm-din-7985-phillips-drive-pan-head-zinc-finish-steel-machine-screw-pkg-100>: HTTP status code is not handled or not allowed 2026-01-28 05:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-3l6-3-8-x-1-4-standard-cut-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-28 05:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-5-step-steel-24w-x-48d-work-platform-ladder-1>: HTTP status code is not handled or not allowed 2026-01-28 05:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-totally-enclosed-direct-drive-duct-fan-3-phase-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 05:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-aluminum-rolling-ladder-16w-ribbed-tread-14d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 05:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spillage-pan-stainless-steel-full-size>: HTTP status code is not handled or not allowed 2026-01-28 05:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-bin-port-21x23x16>: HTTP status code is not handled or not allowed 2026-01-28 05:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-05ml-polypropylene-blue-stand-up-zipbag-mg-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-overbed-clipboard-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1845-sa-9-1-x-1-4-standard-cut-cylindrical-bur-w-o-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 05:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-guard-36-exhaust-fans>: HTTP status code is not handled or not allowed 2026-01-28 05:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150xl037-standard-timing-belt-xl-3-8-x-15-t75-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 05:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inlet-weatherhood-with-birdscreen-16-exhaust-fan>: HTTP status code is not handled or not allowed 2026-01-28 05:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-40-roll-ultimat-rubber-dark-green-ur-3040dg>: HTTP status code is not handled or not allowed 2026-01-28 05:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-aluminum-rolling-ladder-24w-grip-tread-21d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 05:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-40-roll-ultimat-ii-dark-blue-ur-2440xdb>: HTTP status code is not handled or not allowed 2026-01-28 05:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/142xl037-standard-timing-belt-xl-3-8-x-14-3-16-t71-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 05:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cimi-shield-protect-beg-bug-prevention-gallon-bottle-pc-bb20>: HTTP status code is not handled or not allowed 2026-01-28 05:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/126xl037-standard-timing-belt-xl-3-8-x-12-5-8-t63-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 05:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carboy-with-spigot-and-handles-polypropylene-white-screwcap-50-liter-autoclavable>: HTTP status code is not handled or not allowed 2026-01-28 05:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1852-sl-4l6-1-2-x-1-4-double-cut-included-angle-bur>: HTTP status code is not handled or not allowed 2026-01-28 05:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-molded-ring-binder-top-open-lilac>: HTTP status code is not handled or not allowed 2026-01-28 05:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unex-additional-level-for-gravity-flow-roller-rack-with-knuckled-span-track-96w-x-72d>: HTTP status code is not handled or not allowed 2026-01-28 05:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tilting-drum-ring-55-gallon>: HTTP status code is not handled or not allowed 2026-01-28 05:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-cross-over-ladder-104-l>: HTTP status code is not handled or not allowed 2026-01-28 05:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/187l037-standard-timing-belt-l-3-8-x-18-11-16-t50-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 05:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-0kw-277v-flowco-electric-tankless-water-heater>: HTTP status code is not handled or not allowed 2026-01-28 05:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-storage-3210brws-538l-x-418h-x-3w-brown-26-pc>: HTTP status code is not handled or not allowed 2026-01-28 05:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-pressure-switch-600-psi-open-475-psi-closed>: HTTP status code is not handled or not allowed 2026-01-28 05:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-pressure-switch-40-psi-open-80-psi-closed>: HTTP status code is not handled or not allowed 2026-01-28 05:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-t2-plus-dissipative-dual-layer-rubber-roll-blue-0060in-x-24in-x-20ft>: HTTP status code is not handled or not allowed 2026-01-28 05:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/225l050-standard-timing-belt-l-1-2-x-22-1-2-t60-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 05:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-24-inch-heavy-duty-adjustable-height-steel-work-platform-orange-5-h-to-8-h>: HTTP status code is not handled or not allowed 2026-01-28 05:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-tray-with-lid-4-liter-green>: HTTP status code is not handled or not allowed 2026-01-28 05:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-workstation-cover-18in-x-24in>: HTTP status code is not handled or not allowed 2026-01-28 05:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schedule-40-pvc-cross-fitting-1dia-white-133-u>: HTTP status code is not handled or not allowed 2026-01-28 05:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-insert-fittings-38w-1-14dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 05:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-table-w-2-shelves-30-w-x-18-d-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vornado-630b-medium-whole-room-air-circulator>: HTTP status code is not handled or not allowed 2026-01-28 05:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-vented-shelving-66-x-36-x-75>: HTTP status code is not handled or not allowed 2026-01-28 05:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/temperature-test-chamber-double-solid-door-49-cu-ft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-clamps-fittings-12l-14dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 05:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-organizer-23-compartments-15-l-x-12-1-4-w-x-2-3-4-h>: HTTP status code is not handled or not allowed 2026-01-28 05:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ex830nistl-true-rms-acdc-clamp-meter-winfrared-thermometer-nist-certified>: HTTP status code is not handled or not allowed 2026-01-28 05:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-solid-shelving-66-x-36-x-51>: HTTP status code is not handled or not allowed 2026-01-28 05:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2720h100-standard-timing-belt-h-1-x-272-t544-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 05:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foil-insulation-tape-3-inch-x-50-yards>: HTTP status code is not handled or not allowed 2026-01-28 05:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-polypropylene-printed-graduations-100ml-30-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ventureclad-4inch-x-15-yards-white>: HTTP status code is not handled or not allowed 2026-01-28 05:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotationally-molded-plastic-tray-33-1-2-x24-1-2x2-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 05:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/240h150-standard-timing-belt-h-1-1-2-x-24-t48-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 05:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/315h100-standard-timing-belt-h-1-x-31-1-2-t63-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 05:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ht30-heat-stress-wbgt-wet-bulb-globe-temperature-meter-greenorange>: HTTP status code is not handled or not allowed 2026-01-28 05:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-top-model-food-bar-33x71-green>: HTTP status code is not handled or not allowed 2026-01-28 05:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-carton-rack>: HTTP status code is not handled or not allowed 2026-01-28 05:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-security-shelving-unit-2-e-z-adjust-shelves-48-x-18-x-66>: HTTP status code is not handled or not allowed 2026-01-28 05:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/445702-hygrothermometer-clock-white-wall-mount-aaa-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100b13hx1mpb-1-14-pitch-1-plain-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl200-exstikand174-chlorine-meter-submersed-in-sample-cup-wextab-reagent-tablets>: HTTP status code is not handled or not allowed 2026-01-28 05:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ec150-conductivitytdstemperature-meter-ec150-protective-cap-4x-button-cell-batteries>: HTTP status code is not handled or not allowed 2026-01-28 05:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prc10nist-current-calibratormeter-green-nist-certified>: HTTP status code is not handled or not allowed 2026-01-28 05:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rf12-portable-brix-refractometer-018-brix>: HTTP status code is not handled or not allowed 2026-01-28 05:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roll-stand-60-width-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-polypropylene-printed-graduations-50ml-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ec500-waterproof-exstikand174-ii-phconductivity-meter-greenwhite-batteries-included>: HTTP status code is not handled or not allowed 2026-01-28 05:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-polypropylene-printed-graduations-10ml-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-only-boom-pillows-10-bale-18-x-8>: HTTP status code is not handled or not allowed 2026-01-28 05:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-fine-fiber-universal-heavy-weight-roll-1-bale-150-x-30>: HTTP status code is not handled or not allowed 2026-01-28 05:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mid-size-partially-equipped-soda-service-granite-sand>: HTTP status code is not handled or not allowed 2026-01-28 05:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-angle-beam-60-w-x-36-d-x-84-h-4-level-starter-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-angle-beam-96-w-x-36-d-x-84-h-4-level-add-on-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynabrade-3-100-grit-dynacut-extreme-orange-film-sanding-disc-50-count-box>: HTTP status code is not handled or not allowed 2026-01-28 05:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lens-cover-ff-400-15-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hotel-basics-hand-towel-27-inch-x-16-inch-white-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs24hx138-34-pitch-1-38-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 62455 pages (at 100 pages/min), scraped 32198 items (at 18 items/min) 2026-01-28 05:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-pmp-tpx-printed-graduations-500ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs12hx16-metric-12-pitch-16mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purpose-canvas-basket-1-50-bushel>: HTTP status code is not handled or not allowed 2026-01-28 05:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-galvanized-steel-floor-grating-b3200>: HTTP status code is not handled or not allowed 2026-01-28 05:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrofarm-ck64001-vented-humidity-dome-2-for-seeding-tray->: HTTP status code is not handled or not allowed 2026-01-28 05:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrofarm-cktrayhd-heavy-duty-flat-cut-kit-tray-21-13l-x-110w-x-28h>: HTTP status code is not handled or not allowed 2026-01-28 05:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ts200-020-electric-chain-hoist-w-trolley-4-button-pendulum-2-ton-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-cross-resin-outdoor-chair-taupe>: HTTP status code is not handled or not allowed 2026-01-28 05:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-direct-drive-blower-motor-1075-rpm-115-volts-5>: HTTP status code is not handled or not allowed 2026-01-28 05:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-work-bench-72-l-x-30-d-x-30-to-36-h-std-epoxy-resin-work-surface>: HTTP status code is not handled or not allowed 2026-01-28 05:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-split-capacitor-condenser-fan-motor-825-rpm-460-volts>: HTTP status code is not handled or not allowed 2026-01-28 05:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-pro-high-bay-led-18000-lumens-120v-277v-4000k>: HTTP status code is not handled or not allowed 2026-01-28 05:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-fan-blower-duty-1050-rpm-115-volts>: HTTP status code is not handled or not allowed 2026-01-28 05:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-mobile-computer-lanstation-workstation-69-hx24-wx72-l-black-4-shelf>: HTTP status code is not handled or not allowed 2026-01-28 05:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-explosion-proof-receptacle-interior-only-not-weatherproof>: HTTP status code is not handled or not allowed 2026-01-28 05:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs38x138-58-pitch-1-38-finished-bore-38-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microtube-15ml-polypropylene-no-cap-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drawer-stack-2-6-h-overall-12-h-x-18-d-x-12-w>: HTTP status code is not handled or not allowed 2026-01-28 05:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-lined-bib-overall-class-e-m-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelf-leg-6in>: HTTP status code is not handled or not allowed 2026-01-28 05:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-twist-in-earplugs-reusable-corded-nrr-27db-50-pairs>: HTTP status code is not handled or not allowed 2026-01-28 05:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-20ml-polypropylene-attached-snap-cap-graduated-natural-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impulse-protection-reusable-earplugs-corded-x-small-nrr-10db-20db>: HTTP status code is not handled or not allowed 2026-01-28 05:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groz-44134-vertical-lift-safety-pump-15-55-gallon-drum>: HTTP status code is not handled or not allowed 2026-01-28 05:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microtube-15ml-self-standing-polypropylene-no-cap-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-48-x-48-x-84-3-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-16242-e-15a-125v-decora-plus-duplex-receptacle-commercial-grade-black>: HTTP status code is not handled or not allowed 2026-01-28 05:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-with-screwcap-wide-mouth-ldpe-graduated-100ml-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-48-x-46-x-72-2-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-12-x-15-2-mil-blue-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/morrill-solid-state-unit-bearing-fan-motor-35-50-watts-208-230-volts-1>: HTTP status code is not handled or not allowed 2026-01-28 05:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-pallet-covers-51-x-49-x-73-2-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-10-extension-cable>: HTTP status code is not handled or not allowed 2026-01-28 05:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armor-poly-vci-bags-4-mil-40-x-36-x-80-blue-25-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs18hx58-38-pitch-58-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixed-pallet-please-break-3-5-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-28 05:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econo-plastic-seatcovers-500-roll-0-75mil>: HTTP status code is not handled or not allowed 2026-01-28 05:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/number-1-adjustable-height-complete-packing-workbench-laminate-square-edge-72-x-30-black>: HTTP status code is not handled or not allowed 2026-01-28 05:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-motor-460-volts-3000-rpm-1>: HTTP status code is not handled or not allowed 2026-01-28 05:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ton-jack-stand-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 05:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs21hx32-metric-34-pitch-32mm-finished-bore-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100sk14h-taper-bushed-1-14-pitch-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60a27hx1-a-plate-34-pitch-1-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-liquid-nos-4-4-3-4-white-red-black>: HTTP status code is not handled or not allowed 2026-01-28 05:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-gauge-20-ft-600-amp-parrot-clamp-booster-cables>: HTTP status code is not handled or not allowed 2026-01-28 05:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/syphon-spray-system-20-gallon-drum>: HTTP status code is not handled or not allowed 2026-01-28 05:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs19hx28-metric-34-pitch-28mm-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:21:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/thermometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-tier-3-door-premium-steel-locker-12-w-x-15-d-x-72-h-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-375-ge-11-frame-replacement-motor-208-230-volts-1550-rpm-2>: HTTP status code is not handled or not allowed 2026-01-28 05:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-forklift-side-mirror>: HTTP status code is not handled or not allowed 2026-01-28 05:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/morrill-cast-iron-unit-bearing-fan-motor-9-watts-115-volts-1>: HTTP status code is not handled or not allowed 2026-01-28 05:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-load-3-5-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-28 05:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-silver-ep-21w-x-36l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluorescent-green-3-dia-discs>: HTTP status code is not handled or not allowed 2026-01-28 05:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/job-sight-class-1-short-sleeve-t-shirt-black-with-fluorescent-yellow-green-tape-s>: HTTP status code is not handled or not allowed 2026-01-28 05:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/six-tier-18-door-premium-steel-locker-12-w-x-12-d-x-12-h-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-double-sha-motor-115-volts-3000-rpm-2>: HTTP status code is not handled or not allowed 2026-01-28 05:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluorescent-green-3-5>: HTTP status code is not handled or not allowed 2026-01-28 05:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/thermometers>: HTTP status code is not handled or not allowed 2026-01-28 05:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-4-5-16-shaded-pole-motor-850-rpm-230-volts>: HTTP status code is not handled or not allowed 2026-01-28 05:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-split-capacitor-fan-coil-motor-230-volts-1050-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-reflective-plastic-barrier-chain-2-x-25-ft-magenta>: HTTP status code is not handled or not allowed 2026-01-28 05:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-chrome-24w-x-48l-x-34h-3-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-28 05:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-reflective-plastic-barrier-chain-2-x-25-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 05:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keep-dry-fragile-up-3-4>: HTTP status code is not handled or not allowed 2026-01-28 05:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs12hx40-metric-1-pitch-40mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs11hx2316-1-14-pitch-2-316-finished-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-black-disc-with-20>: HTTP status code is not handled or not allowed 2026-01-28 05:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colonial-premium-grade-high-adhesion-masking-tape-natural-24mm-x-55m-pack-of-36>: HTTP status code is not handled or not allowed 2026-01-28 05:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-1-1-2-mr-clip-cobalt-blue-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 05:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frogtape-performance-grade-moderate-temperature-masking-tape-gold-48mm-x-55m-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 05:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-reflective-plastic-barrier-chain-2-x-25-ft-evergreen>: HTTP status code is not handled or not allowed 2026-01-28 05:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41bs40x114-12-pitch-1-14-finished-bore-40-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-aluminum-camlock-fitting-female-coupler-x-fpt-thread>: HTTP status code is not handled or not allowed 2026-01-28 05:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-tow-base-36-l-forks-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-master-link-traffic-blue-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 05:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dangerous-goods-4-4-white-black-red>: HTTP status code is not handled or not allowed 2026-01-28 05:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 62550 pages (at 95 pages/min), scraped 32215 items (at 17 items/min) 2026-01-28 05:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wheel-riser-wheel-ramp-84-l-x-24-w-x-8-1-4-h-20-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-chrome-21w-x-24l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-lined-poly-mailers-7-14-1-4-x-20-white-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-e-premium-two-tone-poly-filled-winter-insulated-bibs-w-multi-pockets-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-28 05:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-blower-115-volts-3400-rpm-6>: HTTP status code is not handled or not allowed 2026-01-28 05:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-centrifugal-blower-115-volts-2900-rpm-2>: HTTP status code is not handled or not allowed 2026-01-28 05:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-multi-color-vest-red-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-28 05:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-multi-color-vest-purple-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 05:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs38x134-34-pitch-1-34-finished-bore-38-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-teflon-protection-heavy-weight-sweatshirt-w-segment-tape-2xl>: HTTP status code is not handled or not allowed 2026-01-28 05:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs14hx42-metric-1-14-pitch-42mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs14hx50-metric-1-14-pitch-50mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dont-forklift-here-3-5-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-28 05:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/export-3-5-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-28 05:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-m5kasts-magnum-laminated-steel-padlock-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 05:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs34x134-1-pitch-1-34-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-flashlight-charger>: HTTP status code is not handled or not allowed 2026-01-28 05:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-green-discs-1-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t12-shatter-resistant-quantum-lamp-20w-x-24-25-case>: HTTP status code is not handled or not allowed 2026-01-28 05:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-mobile-cabinet-48-wx24-dx37-1-2-h-red>: HTTP status code is not handled or not allowed 2026-01-28 05:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80a44x1-a-plate-1-pitch-1-bore-44-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-food-box-gn-2-1-15-3-4-white>: HTTP status code is not handled or not allowed 2026-01-28 05:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/artisan-old-english-style-traditional-rug-8-ft-x-10-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 05:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs24x178-1-pitch-1-78-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunburst-discreet-fly-light-black>: HTTP status code is not handled or not allowed 2026-01-28 05:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ec2002b-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exq-17-drawer-pro-triple-bank-roller-72-w-x-30-d-x-h-44-3-4-black-w-blue-drawer-pulls>: HTTP status code is not handled or not allowed 2026-01-28 05:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-657-3-1-4-npt-swivel-hose-fitting-with-flow-control-and-gauge>: HTTP status code is not handled or not allowed 2026-01-28 05:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-jj2002-2-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lorna-doone-shortbread-cookies-1-5-oz-30-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 05:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-dj7p2hm-7-5-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capri-sun-fruit-juice-pouches-variety-pack-6-fl-oz-40-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 05:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-seal-o-ring-kit-replacement-part-for-model-hvf110>: HTTP status code is not handled or not allowed 2026-01-28 05:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ductless-mini-split-air-conditioner-with-heat-pump-12000-btu-19-seer-230v-white>: HTTP status code is not handled or not allowed 2026-01-28 05:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-stationary-medical-privacy-screen-81-w-x-69-h-white-vinyl-panels>: HTTP status code is not handled or not allowed 2026-01-28 05:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1828-1-hp-3-phase-850-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-24-w-aluminum-wheelbarrow-ladder-ribbed-tread>: HTTP status code is not handled or not allowed 2026-01-28 05:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-swivel-barstool-black>: HTTP status code is not handled or not allowed 2026-01-28 05:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24-wx76-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 05:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-4-liter-capacity-sanitizing-cleaning-all-purpose-pump-sprayer>: HTTP status code is not handled or not allowed 2026-01-28 05:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-3783-1-4-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-dairy-powdered-creamer-original-11-oz-canister-12-carton>: HTTP status code is not handled or not allowed 2026-01-28 05:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-mayo-real-mayonnaise-single-serve-packets-0-44-oz-200-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 05:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t2c2jh-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-inch-brushless-paddle-switch-small-angle-grinder-with-kickback-brake-no-lock-on-dwe43214n>: HTTP status code is not handled or not allowed 2026-01-28 05:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smarties-wrapped-5-lb-gr>: HTTP status code is not handled or not allowed 2026-01-28 05:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-16-w-stainless-steel-ladder-with-rails-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 05:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-extra-rolling-safety-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-28 05:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-steel-wheel-chock-with-handle>: HTTP status code is not handled or not allowed 2026-01-28 05:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-2193-3-4-hp-1-phase-920-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-fanbos-hvls-industrial-ceiling-fan-487-cfm-w>: HTTP status code is not handled or not allowed 2026-01-28 05:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-hd-double-panel-traffic-door-6-w-x-8-h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-eh741-3-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-eh755-3-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-infection-control-station-with-3-dispensers-double-sided-poster-frame-silver-lav-2228s-3d>: HTTP status code is not handled or not allowed 2026-01-28 05:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/idlewood-wall-mount-infection-control-station-cherry-id-3d-chmain>: HTTP status code is not handled or not allowed 2026-01-28 05:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipeline-4-way-adjustable-gloss-white-garment-rack>: HTTP status code is not handled or not allowed 2026-01-28 05:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linea-3-shelf-merchandising-table-statuary-bronze>: HTTP status code is not handled or not allowed 2026-01-28 05:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-agl10fl1h2-1-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d13b2n4z-1-3-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u5p1g-5-hp-3-phase-3525-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hgx-led-security-lights-2-round-heads-4000k-2600-lumens-black>: HTTP status code is not handled or not allowed 2026-01-28 05:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lbr-4-inch-round-retrofit-downlight-1000-2000-lumens-3000-5000k-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d32c2p18z-1-5-hp-1-phase-1740-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn47-7-5-1-h-182-4tc-cast-iron-helical-bevel-speed-reducer-182-4tc-input-flange-7-5-1-ft-mt>: HTTP status code is not handled or not allowed 2026-01-28 05:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn67-20-1-h-145tc-cast-iron-helical-bevel-speed-reducer-145tc-input-flange-20-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 05:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-erlenmeyer-globe-glass-narrow-mouth-dual-graduations-astm-e1404-2000ml-4-box>: HTTP status code is not handled or not allowed 2026-01-28 05:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn87-10-1-h-213-5tc-cast-iron-helical-bevel-speed-reducer-213-5tc-input-flange-10-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 05:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ee661-1-1-2-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/cabinet_pedestal_workbenches/stationary_cabinet_pedestal_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d7p1g-7-5-hp-3-phase-3505-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-uj3c2p18m-3-hp-1-phase-1740-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-assembled-antimicrobial-locker-double-tier-1-wide-15x18x78>: HTTP status code is not handled or not allowed 2026-01-28 05:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100492-2-scale-charger-for-wheel-load-scales-100-240v>: HTTP status code is not handled or not allowed 2026-01-28 05:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100493-4-scale-charger-for-wheel-load-scales-100-240v>: HTTP status code is not handled or not allowed 2026-01-28 05:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ts607-5-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-assembled-corrosion-resistant-locker-single-tier-1-wide-12x12x78>: HTTP status code is not handled or not allowed 2026-01-28 05:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ego-lbx6000-power-commercial-series-56v-600cfm-backpack-blower-bare-tool>: HTTP status code is not handled or not allowed 2026-01-28 05:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-assembled-corrosion-resistant-locker-double-tier-1-wide-12x12x78>: HTTP status code is not handled or not allowed 2026-01-28 05:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u32p2d-1-5-hp-3-phase-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 62647 pages (at 97 pages/min), scraped 32234 items (at 19 items/min) 2026-01-28 05:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u32p2g-1-5-hp-3-phase-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dandux-rectangular-plastic-box-truck-red-16-bushel-660-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:22:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/work-benches/workbenches_worktables/cabinet_pedestal_workbenches/stationary_cabinet_pedestal_workbenches>: HTTP status code is not handled or not allowed 2026-01-28 05:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-yc2p1b-2-hp-3-phase-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lau-4-blade-condenser-propeller-12-diameter-ccw-rotation-3>: HTTP status code is not handled or not allowed 2026-01-28 05:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-fd32cm2phzy-1-1-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-fdu5cm2k21z-5-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-x32p3b-1-5-hp-3-phase-1175-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-xs34s3a14-3-4-hp-3-phase-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-c3p2g-3-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-1-1-2-inch-links-500-feet-trade-size-6-black>: HTTP status code is not handled or not allowed 2026-01-28 05:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lau-4-blade-condenser-propeller-18-diameter-cw-rotation-2>: HTTP status code is not handled or not allowed 2026-01-28 05:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d7p3g-7-5-hp-3-phase-1185-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves>: HTTP status code is not handled or not allowed 2026-01-28 05:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs18i-a118-tas-460-3-60-base-mount-118-psi>: HTTP status code is not handled or not allowed 2026-01-28 05:23:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-c200p2cs-200-hp-3-phase-1785-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mattress-bags-54x8x90-1-5-mil-100-rl>: HTTP status code is not handled or not allowed 2026-01-28 05:23:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/anti_static_emi_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs15i-a138-tas-200-3-60-base-mount-138-psi>: HTTP status code is not handled or not allowed 2026-01-28 05:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-p-200nl-legendpress-forged-no-lead-brass-ball-valve-101-008nl>: HTTP status code is not handled or not allowed 2026-01-28 05:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-p-200nl-legendpress-forged-no-lead-brass-ball-valve-101-004nl>: HTTP status code is not handled or not allowed 2026-01-28 05:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-7040-1-3-hp-1-phase-825-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-kit-camshelving-24x72-vented-shelves-1>: HTTP status code is not handled or not allowed 2026-01-28 05:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-5482h-3-4-1-4-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcarrier-s-series-pancarrier-top-loading-approximately-cap-20-qt-stackable-coffee-beige>: HTTP status code is not handled or not allowed 2026-01-28 05:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-storage-container-18x26x12-17-gallon-capacity-natural-white>: HTTP status code is not handled or not allowed 2026-01-28 05:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camtainer-soup-carrier-no-spigot-insulated-plastic-3-3-8-gallon-16-1-2x9x18-3-8-coffee-beige>: HTTP status code is not handled or not allowed 2026-01-28 05:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-c200p2cs-200-hp-3-phase-1785-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kan-series-helical-bevel-speed-reducer-b5-output-flg-kit-size-47-b5-output-flg-kit-hardw-incl>: HTTP status code is not handled or not allowed 2026-01-28 05:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/anti_static_emi_bags>: HTTP status code is not handled or not allowed 2026-01-28 05:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-bike-wave-green-flange-mount-1>: HTTP status code is not handled or not allowed 2026-01-28 05:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handy-box-cover-blank>: HTTP status code is not handled or not allowed 2026-01-28 05:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-food-bars-work-table-cold-food-60-x-29-low-kentucky-green>: HTTP status code is not handled or not allowed 2026-01-28 05:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/memory-foam-lumbar-support-backrest-qty-5>: HTTP status code is not handled or not allowed 2026-01-28 05:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-food-bars-serving-buffet-cold-food-60-x-29-low-6-heavy-duty-swivel-casters-with-brakes-black>: HTTP status code is not handled or not allowed 2026-01-28 05:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-organizer-qty-6>: HTTP status code is not handled or not allowed 2026-01-28 05:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-well-cover-black-nsf>: HTTP status code is not handled or not allowed 2026-01-28 05:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wall-mount-hand-sink-w-strainer-14-x-10-x-5-deep>: HTTP status code is not handled or not allowed 2026-01-28 05:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoover-paper-vacuum-bags-for-hoover-type-n>: HTTP status code is not handled or not allowed 2026-01-28 05:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-rotation-label-1-1-4-x-2-100-biodegradable-white>: HTTP status code is not handled or not allowed 2026-01-28 05:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-storage-case-medim-21-1-2-x-16-1-4-x-18-1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-flammable-cabinet-with-manual-door-6-gallon>: HTTP status code is not handled or not allowed 2026-01-28 05:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-food-container-6-quart-8-3-8-x-8-3-8-x-7-1-4-natural-white-orange-graduation>: HTTP status code is not handled or not allowed 2026-01-28 05:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-cold-cart-tall-profile-granite-green>: HTTP status code is not handled or not allowed 2026-01-28 05:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-double-mixed-recyclables-waste-30-gallon-white-black-26-7-8-15-30-5-8>: HTTP status code is not handled or not allowed 2026-01-28 05:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-starter-unit-24-w-x-60-l-x-72-h-4-shelf-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 05:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reference-shelf-30-wx24-d-shelf-with-hardware>: HTTP status code is not handled or not allowed 2026-01-28 05:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-tube-175000-btu-50l>: HTTP status code is not handled or not allowed 2026-01-28 05:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camtainer-beverage-carrier-insulated-plastic-10-1-2-gallon-capacity-granite-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-flat-top-cabinet-hinged-doors-galv-30-x-96>: HTTP status code is not handled or not allowed 2026-01-28 05:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-flat-top-cabinet-sliding-doors-30-x-72>: HTTP status code is not handled or not allowed 2026-01-28 05:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-y-composite-5-16-tube>: HTTP status code is not handled or not allowed 2026-01-28 05:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcarrier-ultra-pancarrier-front-loading-approximately-cap-60-qt-foam-insulation-stackable-black>: HTTP status code is not handled or not allowed 2026-01-28 05:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-starter-unit-18-w-x-48-l-x-64-h-4-shelf-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 05:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-metal-release-collet-12mm-tube-x-3-8>: HTTP status code is not handled or not allowed 2026-01-28 05:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45degree-plug-in-elbow-5-32-tube-x-5-32-stud>: HTTP status code is not handled or not allowed 2026-01-28 05:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-8mm-tube-x-3-8-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 05:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-1-2-male-stud-x-1-4-tube>: HTTP status code is not handled or not allowed 2026-01-28 05:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-stainless-steel-10mm-tube-x-1-4-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 05:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-mobile-shelf-plate-kit-24-w-x-60-l-venteded-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 05:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-workbench-2-3-4-backsplash-ss-undershelf-60-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 05:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l075-5-16-inch-bore-diameter-no-keyway>: HTTP status code is not handled or not allowed 2026-01-28 05:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-metal-release-collet-6mm-tube-x-1-4-female-bspp>: HTTP status code is not handled or not allowed 2026-01-28 05:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-degree-union-elbow-5-16-tube>: HTTP status code is not handled or not allowed 2026-01-28 05:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-pivoting-forklift-jib-boom-crane-6000-lbs-capacity-36in-fork-centers>: HTTP status code is not handled or not allowed 2026-01-28 05:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-branch-tee-metal-release-collet-10mm-tube-x-1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-balldriver-screwdriver-long-10707>: HTTP status code is not handled or not allowed 2026-01-28 05:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-metal-release-collet-6mm-tube-x-m5-bspp>: HTTP status code is not handled or not allowed 2026-01-28 05:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-bulkhead-connector-metal-release-collet-1-2-tube-x-1-2-nptf>: HTTP status code is not handled or not allowed 2026-01-28 05:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/y-connector-composite-5-16-tube-x-1-4-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 05:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-elbow-metal-release-collet-8mm-tube-x-1-8-male-bspt>: HTTP status code is not handled or not allowed 2026-01-28 05:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-y-manifold-6mm-tube-x-8mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 05:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-convection-incubator-programmable-161-liters-115-volt>: HTTP status code is not handled or not allowed 2026-01-28 05:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-gage-handle-w-1pc-handle-and-6-pairs-of-collecting-bushes-228-281-inch-range>: HTTP status code is not handled or not allowed 2026-01-28 05:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zero-setter-2-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 05:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/samurai-winch-w-synthetic-rope-9500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-24-inch-reach-w-interlock-led-28-inch-l-x-10-inch-w-30-lb>: HTTP status code is not handled or not allowed 2026-01-28 05:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ply-looped-end-mop-w-5-green-band-medium-natural-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 05:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-fit-hot-lid-dispenser-black-small-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-fit-hot-lid-dispenser-black-large-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-spike-narrow-bird-spike-51l>: HTTP status code is not handled or not allowed 2026-01-28 05:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/birdslide-large-end-caps-beige-pair-of-5>: HTTP status code is not handled or not allowed 2026-01-28 05:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 62743 pages (at 96 pages/min), scraped 32250 items (at 16 items/min) 2026-01-28 05:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-14-dia-x-25l>: HTTP status code is not handled or not allowed 2026-01-28 05:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-916-dia-x-85l>: HTTP status code is not handled or not allowed 2026-01-28 05:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eled-outdoor-universal-metal-light-post-pole-156-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 05:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-elastic-soft-cover-for-vinyl-basket-trucks-poly-trucks-14-16-bushel-cap-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weldon-6-backless-picnic-bench-coastal-teak>: HTTP status code is not handled or not allowed 2026-01-28 05:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bistro-36-dining-height-table-round-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgecrest-pergola-138l-x-138w-coastal-teak>: HTTP status code is not handled or not allowed 2026-01-28 05:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/muskoka-adirondack-3-piece-bistro-dining-set-36h-table-white>: HTTP status code is not handled or not allowed 2026-01-28 05:24:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/naples-gold-lines-slab-door-wood-36w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 05:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmdale-slab-door-wood-24w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labella-slab-door-wood-24w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 05:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orlando-gold-lines-slab-door-wood-24w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 05:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-pull-handle-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/naples-gold-lines-slab-door-wood-32w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 05:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gainesville-gold-lines-slab-door-wood-30w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 05:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sarasota-slab-door-wood-24w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:24:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-west-gold-lines-slab-door-wood-28w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orlando-night-lines-slab-door-wood-30w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/largo-night-lines-slab-door-wood-24w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 05:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kierra-4-piece-conversation-set-w-table--zippered-removable-cushions-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-table-set-2-aluminum-slatted-side-tables-4-chaise-lounge-chairs>: HTTP status code is not handled or not allowed 2026-01-28 05:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets>: HTTP status code is not handled or not allowed 2026-01-28 05:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-30l-x-3w-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-10l-x-4w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-28 05:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-30l-x-2w-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-max-anti-fatigue-mat-58-thick-10l-x-3w-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 05:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-vehicle-headrest-kit-93-pieces>: HTTP status code is not handled or not allowed 2026-01-28 05:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-diamond-quilted-jacket-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-hiker-boots-size-10-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergoforce-mens-waterproof-low-insulated-bib-overalls-medium-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chillshield-mens-insulated-jacket-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-hiker-boots-size-9-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/placesetter-satin-non-laminated-foam-plate-7-dia-white-pack-of-900>: HTTP status code is not handled or not allowed 2026-01-28 05:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 05:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflections-heavyweight-spoon-silver-pack-of-320>: HTTP status code is not handled or not allowed 2026-01-28 05:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pop-up-aluminum-foil-sheets-10-3-4-l-x-9-w-silver-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-hot-drink-cups-lids-combo-12-oz-pack-of-300>: HTTP status code is not handled or not allowed 2026-01-28 05:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durable-packaging-dome-lids-for-round-container-7-dia-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/creamy-peanut-butter-cups-pack-of-200>: HTTP status code is not handled or not allowed 2026-01-28 05:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zero-calorie-sweetener-0-035-oz-pack-of-2000>: HTTP status code is not handled or not allowed 2026-01-28 05:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iodized-salt-packets-0-75-g-pack-of-3000>: HTTP status code is not handled or not allowed 2026-01-28 05:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors>: HTTP status code is not handled or not allowed 2026-01-28 05:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecocraft-grease-resistant-paper-wraps-and-liners-14-l-x-14-w-natural-pack-of-4000>: HTTP status code is not handled or not allowed 2026-01-28 05:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cake-container-9-shallow-9-dia-x-3-3-8-h-clear-black-pack-of-90>: HTTP status code is not handled or not allowed 2026-01-28 05:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bare-eco-forward-treated-paper-cold-drink-cups-5-oz-green-white-pack-of-3000>: HTTP status code is not handled or not allowed 2026-01-28 05:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/placesetter-deluxe-bowl-12-oz-6-dia-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 05:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-candy-mints-pep-o-mint-44-93-oz-bag>: HTTP status code is not handled or not allowed 2026-01-28 05:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drywall-cut-out-tool-24v>: HTTP status code is not handled or not allowed 2026-01-28 05:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-red-oxide-primer-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-11-oz-metallic-gold-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h13-hepa-filter-set-w-carbon-pre-filter-9997-efficient-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 05:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-chromatography-refrigerator-36-cuft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 05:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-height-outdoor-dining-set-36-in-square-x-42-in-h-table-4-chairs-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-drawers-vertical-file-cabinet-letter-size-22d-x-40-316h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-bathtub-grab-bar-w-microban-gray-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-hot-packs-6l-x-6w-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 05:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-forearm-crutches-aluminum-youth>: HTTP status code is not handled or not allowed 2026-01-28 05:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patient-valuables-bag-28-mil-9-14-x-14-12-1000-per-pack10-packs-per-case>: HTTP status code is not handled or not allowed 2026-01-28 05:24:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_pads_pad_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-powered-stand-assist-lift-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-cushioned-compression-hosiery-w-15-20-mmhg-knee-high-small-size-a-regular-white>: HTTP status code is not handled or not allowed 2026-01-28 05:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pharmacy-upright-refrigerator-26-cu-ft-capacity-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 05:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-deck-cart-stainless-steel-1200-lb-capacity-52-3-4l-x-30-1-8w-x-38-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 05:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-mesh-truck-steel-3060-lb-capacity-66-1-2l-x-30-1-2w-x-45-1-16h>: HTTP status code is not handled or not allowed 2026-01-28 05:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-truck-w-4-fixed-shelves-steel-2000-lb-cap-66-1-2l-x-38w-x-56-7-16h>: HTTP status code is not handled or not allowed 2026-01-28 05:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-truck-w-1-adjustable-shelf-steel-2000-lb-cap-66-1-2l-x-32w-x-56-7-16h>: HTTP status code is not handled or not allowed 2026-01-28 05:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-faucet-w-12-spout--soap-dish>: HTTP status code is not handled or not allowed 2026-01-28 05:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deck-mount-pre-rinse-faucet-w-8-spout>: HTTP status code is not handled or not allowed 2026-01-28 05:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rope-hanger-14l-x-2-12w-x-10-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_pads_pad_holders>: HTTP status code is not handled or not allowed 2026-01-28 05:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pliates-ring-firm-resistance-black>: HTTP status code is not handled or not allowed 2026-01-28 05:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-hybrid-bookcase-w-2-shelves-36w-x-16d-x-30h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-coventry-u-shaped-sectional-couch-137w-x-111d-x-35-3-4h-beige>: HTTP status code is not handled or not allowed 2026-01-28 05:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-coventry-l-shaped-sectional-couch-111w-x-111d-x-35-3-4h-beige>: HTTP status code is not handled or not allowed 2026-01-28 05:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-hybrid-table-desk-47-5-8w-x-23-3-8d-x-29-15-16h-storm-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-tap-keg-cooler-1-glass-door-54-cuft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 62831 pages (at 88 pages/min), scraped 32263 items (at 13 items/min) 2026-01-28 05:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-microwave-700-watts-07-cuft-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 05:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apartment-size-refrigerator-11-cuft-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 05:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-power-scissor-lift-table-72-in-x-48-in-3300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-mobile-cabinet-assembled-48w-x-24d-x-78h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-28 05:24:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-w-fixed-shelves-assembled-48w-x-18d-x-72h-wine-red>: HTTP status code is not handled or not allowed 2026-01-28 05:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-fixed-shelves-assembled-36w-x-18d-x-78h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 05:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-60h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-33h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 05:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-wardrobe-cabinet-assembled-36w-x-24d-x-72h-denim-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-60h-red>: HTTP status code is not handled or not allowed 2026-01-28 05:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/planzboard-mobile-work-station-50-14l-x-45w-x-20h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sterile-sampling-bag-36-oz-capacity-15l-x-4-12w-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-enhanced-visibility-full-zip-hoodie-polyester-fleece-black-4xl>: HTTP status code is not handled or not allowed 2026-01-28 05:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-vest-4xl5xl-lime-w-blue-bottom>: HTTP status code is not handled or not allowed 2026-01-28 05:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/friedrich--thru-the-wall-air-conditioner-940-watts-115-v-10000-btu>: HTTP status code is not handled or not allowed 2026-01-28 05:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diy-4th-generation-e-star-heat-pump-condenser-12000-btu-225-seer-115v>: HTTP status code is not handled or not allowed 2026-01-28 05:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/windup-floor-cleaning-system-black>: HTTP status code is not handled or not allowed 2026-01-28 05:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/windup-multi-surface-disinfecting-floor-cleaner-fluid-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 05:25:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-sheet--panel-truck-3600-lb-capacity-60l-x-30w-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-truck-w-retaining-lip-shelves-2000-lb-cap-41-12l-x-24w-x-35h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sided-towable-truck-4-shelves-2000-lb-cap-65-12l-x-30w-x-58-12h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-class-2-hi-vis-safety-vest-2-pockets-mesh-orange-bk-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 05:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8377ev-winter-bomber-jacket-enhanced-visibility-2xl-black>: HTTP status code is not handled or not allowed 2026-01-28 05:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8386-hi-vis-shell-jacket-4xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8381-hi-vis-4-in-1-winter-bomber-jacket-2xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 05:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8365bk-hi-vis-rain-jacket-w-black-accents-class-3-polyester-small-lime>: HTTP status code is not handled or not allowed 2026-01-28 05:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7001-abrasion-resistant-gloves-nitrile-coated-xs-black-144-pairs>: HTTP status code is not handled or not allowed 2026-01-28 05:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8280bk-hi-vis-performance-t-shirt-black-bottom-class-2-xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 05:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers>: HTTP status code is not handled or not allowed 2026-01-28 05:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8280bk-hi-vis-performance-t-shirt-black-bottom-class-2-5xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8289bk-hi-vis-t-shirt-black-bottom-class-2-3xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-jobsite-backpack-ppe-black>: HTTP status code is not handled or not allowed 2026-01-28 05:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3132-hi-vis-barcode-scanner-lanyard-harness-large-lime>: HTTP status code is not handled or not allowed 2026-01-28 05:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7022-cut-resistant-gloves-dsx-coated-ansi-a2-2xl-lime-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 05:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8346z-hi-vis-two-tone-surveyor-vest-zipper-class-3-sm-lime>: HTTP status code is not handled or not allowed 2026-01-28 05:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8291bk-hi-vis-long-sleeve-t-shirt-type-r-class-2-l-lime>: HTTP status code is not handled or not allowed 2026-01-28 05:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7044-cut-resistant-gloves-polyurethane-coated-ansi-a4-l-gray-12-pairs>: HTTP status code is not handled or not allowed 2026-01-28 05:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7072-cut-resistant-gloves-nitrile-coated-ansi-a4-2xl-green-12-pairs>: HTTP status code is not handled or not allowed 2026-01-28 05:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8379-hi-vis-3-in-1-winter-bomber-jacket-5xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 05:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6468-duck-canvas-work-jacket-3xl-black>: HTTP status code is not handled or not allowed 2026-01-28 05:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-bulk-earloop-face-mask-dispenser-8-1116w-x-4-38d-x-5h-transparent>: HTTP status code is not handled or not allowed 2026-01-28 05:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/367-x-675-random-orbital-air-sander-paper-clamp-pad-8000-rpm-03-hp>: HTTP status code is not handled or not allowed 2026-01-28 05:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extended-air-die-grinder-14-and-6mm-collets-7500-rpm-1-hp-rear-exhaust>: HTTP status code is not handled or not allowed 2026-01-28 05:25:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/specialty_tool_air_tools_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-drill-14-keyless-chuck-500-rpm-05-hp-pistol-grip>: HTTP status code is not handled or not allowed 2026-01-28 05:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1516-hex-sae-deep-powersocket-for-ingersoll-rand-12in-drive-tool>: HTTP status code is not handled or not allowed 2026-01-28 05:25:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/impact_sockets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-6-door-digital-locker-12in-w-x-18in-d-x-78in-h-blue-assembled>: HTTP status code is not handled or not allowed 2026-01-28 05:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tier-9-door-digital-locker-36in-w-x-15in-d-x-78in-h-blue-assembled>: HTTP status code is not handled or not allowed 2026-01-28 05:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-hat-fas-trac-iii-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 05:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/km-130300-r-lpg-ride-on-battery-sweeper-w-1-side-brush-51-cleaning-width>: HTTP status code is not handled or not allowed 2026-01-28 05:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trushot-20-multi-surface-cleaner-clean-fresh-scent-10-oz-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 05:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-care-heavy-duty-scrub-pad-17-dia-redgray-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 05:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/procedure-stat-cart-w-4-drawers-29l-x-26-12w-x-40h>: HTTP status code is not handled or not allowed 2026-01-28 05:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heater-terminal-assembly-for-kf-sealers-w-cutter>: HTTP status code is not handled or not allowed 2026-01-28 05:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-w-650ic>: HTTP status code is not handled or not allowed 2026-01-28 05:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-w-750ic>: HTTP status code is not handled or not allowed 2026-01-28 05:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc-board-for-w-series-long-hand-sealers>: HTTP status code is not handled or not allowed 2026-01-28 05:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-pad-for-kf-200h205h>: HTTP status code is not handled or not allowed 2026-01-28 05:25:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/air_tools_accessories/specialty_tool_air_tools_kits landed on page that is not a product page. 2026-01-28 05:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/sockets_bits/impact_sockets>: HTTP status code is not handled or not allowed 2026-01-28 05:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-sponge-for-wn-500h-wn-500hc>: HTTP status code is not handled or not allowed 2026-01-28 05:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-wn-750f>: HTTP status code is not handled or not allowed 2026-01-28 05:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-for-w-500l>: HTTP status code is not handled or not allowed 2026-01-28 05:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/timer-for-kf-series-hand-sealers>: HTTP status code is not handled or not allowed 2026-01-28 05:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-convex-mirror-w-stainless-steel-backer-outdoor-34-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shatter-resistant-roundtangular-convex-mirror-glass-outdoor-12l-x-18w>: HTTP status code is not handled or not allowed 2026-01-28 05:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-round-convex-mirror-glass-outdoor-26-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundtangular-convex-mirror-glass-outdoor-24l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 05:25:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithium-ion-battery-12v-max-2-ah-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-shaped-bur-single-cut-2l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointed-tree-shaped-bur-double-cut-18-shank-dia-x-0-38-len-of-cut>: HTTP status code is not handled or not allowed 2026-01-28 05:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-no-endcut-bur-double-cut-6-34l-x-14-shank-dia-38-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cylindrical-bur-for-stainless-steel-2l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-tree-shaped-bur-double-cut-2-34l-x-14-shank-dia-34-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-tree-shaped-bur-single-cut-3l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bur-box-aluma-cut-sb1-sb3-sc1-sc3-sd1-sd3-sf1-sf3-set-of-8>: HTTP status code is not handled or not allowed 2026-01-28 05:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 62924 pages (at 93 pages/min), scraped 32279 items (at 16 items/min) 2026-01-28 05:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-up-down-wall-sconce-22w-300-lumens-80-cri-12-size-black>: HTTP status code is not handled or not allowed 2026-01-28 05:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-wall-sconce-light-fixture-23w-1200-lumens-80-cri-24-size-white>: HTTP status code is not handled or not allowed 2026-01-28 05:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-fluorescent-replacement-bulb-120-277v-23w-2800-lumens-4-pin-base-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 05:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-magnetic-stirrer-w-ceramic-top-plate-eu-plug-50ltr-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits>: HTTP status code is not handled or not allowed 2026-01-28 05:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-5-position-hotplate-stirrer-w-white-ceramic-top-plate-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-wall-sconce-light-fixture-15w-850-lumens-80-cri-13-12-size-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 05:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuberoller-w-5-rollers-115v-5060-hz-2-80-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-paper-roll-for-smartdrop-internal-printer-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 05:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-balance-300g-capacity-01g-reaability-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/voyager-rechargeable-led-work-light-w-tripod-8000-lumens-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_upright_frames already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolt-on-receiver-tube-for-2-12-receivers-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-work-light-4000-lumens-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crown-forklift-order-picking-truck-w-3-shelves-40l-x-48w-x-89h-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mega-mover-dolly-for-14-bushel-tub-36-12l-x-24-12w-1500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/box-sentinel174-front-loader-cabinet-26w-x-26dx-43h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/box-sentinel174-front-loader-solar-powered-cabinet-26w-x-26dx-45h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-14w-x-54h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 05:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-36l-x-32w-x-60h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-28w-x-96h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 05:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondola-upper-shelves-36w-x-16d-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 05:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc7-2180v2ff-ironman-two-stage-air-compressor-1-phase-75-hp-230v-80-gallon-vertical-tank>: HTTP status code is not handled or not allowed 2026-01-28 05:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marque-triple-unit-reception-curved-workstation-143-12w-x-71d-x-45-12h-driftwood-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/none36c-ao-v-tec-mini-personal-fall-limiter-single-leg-6l>: HTTP status code is not handled or not allowed 2026-01-28 05:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-graduated-globe-glass-class-b-to-deliver-td-dual-grads-astm-e1272-500ml>: HTTP status code is not handled or not allowed 2026-01-28 05:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-aegir-afasm-half-frame-safety-glasses-blue-mirror-lens-lime-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-ytx30l-bs-12v-30ah-385cca-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-aegir-afasm-half-frame-safety-glasses-purple-mirror-lens-lime-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-pump-25-5-36982>: HTTP status code is not handled or not allowed 2026-01-28 05:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3785-split-ring-tool-attachment-1-12-size-silver-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 05:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobilecare-keyed-lock-cart-27w-x-27d-x-39h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spout-cap-blue-large-34422>: HTTP status code is not handled or not allowed 2026-01-28 05:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/array153-lookout-wall-mount-display-desktop-120v-ac-white>: HTTP status code is not handled or not allowed 2026-01-28 05:26:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_upright_frames landed on page that is not a product page. 2026-01-28 05:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/535-spot-check-and-vital-signs-monitor-for-nibp-spo2-rectal-temp>: HTTP status code is not handled or not allowed 2026-01-28 05:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-wheelchair-scale-portable-1000-lb-cap-32l-x-40w-platform>: HTTP status code is not handled or not allowed 2026-01-28 05:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adv-foam-hand-sanitizer-for-adx-7-dispensers-fragrance-free-700-ml-cap-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 05:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-steel-ladder-roof-rack-for-ram-promaster-city-2014-on-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-polypropylene-rope-7200l-x-12w-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-aluminum-ladder-roof-rack-for-nissan-nv200-2013-on-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceramic-bathroom-heater-1500w-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceramic-30-inch--digital-space-saving-pedestal-heater-w-digital-remote-1500w-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-caulk-seal-sealant-10-oz-capacity-clear-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 05:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-controlled-room-temperature-cabinet-1-cuft-capacity-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 05:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en-wheeled-salvage-drum-spill-kit-universal-95-gallon>: HTTP status code is not handled or not allowed 2026-01-28 05:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16a57-metric-a-plate-1-pitch-32mm-bore-57-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailgrip-work-athletic-hiker-boots-alloy-toe-size-7w-4-inch-h-coyote-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purell-push-style-hand-sanitizer-dispenser-1200-ml-graphite>: HTTP status code is not handled or not allowed 2026-01-28 05:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-9-5m-8-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs18hx19-metric-12-pitch-19mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs18hx25-metric-12-pitch-25mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-12-5w-8-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-120e19h-qd-bushed-1-12-pitch-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-pull-on-boots-composite-toe-size-7-5m-11-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuff-job-foodservice-towels-12-inch-x-24-inch-pink-white-200-carton>: HTTP status code is not handled or not allowed 2026-01-28 05:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs16hx42-metric-1-12-pitch-42mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs14hx35-metric-1-12-pitch-35mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bike-fixation-outdoor-public-bike-pump-with-gauge-hose-floor-mount>: HTTP status code is not handled or not allowed 2026-01-28 05:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-6-5w-8-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-11-5m-8-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-10w-8-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-dot-ecg-monitoring-electrodes-0-9-inch-x-0-9-inch-neonatal-radiolucent-3-bg-100-bg-cs>: HTTP status code is not handled or not allowed 2026-01-28 05:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100e21h-qd-bushed-1-14-pitch-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-adhesive-split-sheet-9196-90-inch-x-102-inch-10-each-carton-2-carton-case>: HTTP status code is not handled or not allowed 2026-01-28 05:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs36hx58-38-pitch-58-finished-bore-36-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100b18hx114mpb-1-14-pitch-1-14-plain-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 05:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs25hx114-1-14-pitch-1-14-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-mayo-stand-cover-9036-23-inch-x-54-inch-60-bx-4-bx-cs>: HTTP status code is not handled or not allowed 2026-01-28 05:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-orthopaedic-surgical-pack-9051-72-inch-x-124-inch-15-each-carton-2-carton-case>: HTTP status code is not handled or not allowed 2026-01-28 05:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bair-hugger-plus-warming-gown-kit-84202-x-large-20-case>: HTTP status code is not handled or not allowed 2026-01-28 05:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-2-incise-drape-2045-incise-area-19-5-8-inch-x-17-5-8-inch-10-carton-4-cartons-case>: HTTP status code is not handled or not allowed 2026-01-28 05:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs13hx40-metric-1-pitch-40mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-external-met-guard-steel-toe-size-10-5w-8-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs27x114-1-pitch-1-14-finished-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs25x28-metric-1-pitch-28mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-pull-on-boots-composite-toe-size-11w-11-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-external-met-guard-steel-toe-size-8-5w-8-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-boltless-shelving-48-in-w-x-24-in-d-x-72-in-h-5-shelves-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-boltless-shelving-60-in-w-x-24-in-d-x-84-in-h-5-shelves-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs20hx70-metric-1-14-pitch-70mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-4w-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-120e18h-qd-bushed-1-12-pitch-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63021 pages (at 97 pages/min), scraped 32294 items (at 15 items/min) 2026-01-28 05:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-11w-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs26hx78-38-pitch-78-finished-bore-26-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-women-s-low-cut-sneaker-composite-toe-size-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 05:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-square-shape-weigh-boat-80-x-80-mm-100-ml-polystyrene-black-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs16hx30-metric-58-pitch-30mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-7m-wintermoss-whitecap-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-square-shape-weigh-boat-80-x-80-mm-100-ml-polystyrene-white-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-centrifuge-tubes-with-50-per-sterile-bag-10-ml-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12a12h-metric-a-plate-34-pitch-14mm-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-cardboard-freezer-box-w-hinged-lid-5-ml-screw-cap-macrotubes-36-place-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-centrifuge-tubes-with-25-foam-rack-in-sterile-bag-50-ml-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs36x1316-1-pitch-1-316-finished-bore-36-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-centrifuge-tubes-with-8-bags-of-25-tubes-sterile-25-ml-200-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40a32hx58-a-plate-12-pitch-58-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 05:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-duoclick-culture-tubes-sterile-14-ml-10-foam-racks-of-50-tubes>: HTTP status code is not handled or not allowed 2026-01-28 05:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-reservoir-for-multi-channel-pipettes-sterile-25-ml-200-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-reservoir-for-multi-channel-pipettes-50-ml-sterile-5-per-bag-200-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-short-stem-transfer-pipette-non-sterile-4-ml-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40a26hx58-a-plate-12-pitch-58-bore-26-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mach-z-lt-r-796cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 05:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60ja13h-taper-bushed-34-pitch-13-teeth-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-b1-50-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs24hx12-38-pitch-12-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41b19hx58mpb-12-pitch-58-plain-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs12hx24-metric-34-pitch-24mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80a11hx34-a-plate-1-pitch-34-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-5-5w-blue-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs12hx1-34-pitch-1-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-8w-black-red>: HTTP status code is not handled or not allowed 2026-01-28 05:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs12hx114-34-pitch-1-14-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-13w-black-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guldmann-black-box-medical-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narco-mri-medical-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-steel-toe-size-9m-brown-burnt-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 05:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs13hx1716-34-pitch-1-716-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galion-s5-8-industrial-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60a20hx34-a-plate-34-pitch-34-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08a38-metric-a-plate-12-pitch-15mm-bore-38-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41bs32hx58-12-pitch-58-finished-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-bricks-4-1-2-x-4-x-3-4-42-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pastel-colors-tissue-paper-480-sheet-assortment-pack-20-x-30>: HTTP status code is not handled or not allowed 2026-01-28 05:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-11w-blue-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harmar-pinnacle-stairlift-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs23hx30-metric-58-pitch-30mm-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ohio-3700-printer-medical-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-10-x-5-32-white-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-8-5m-black-seafoam-green-white>: HTTP status code is not handled or not allowed 2026-01-28 05:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-oxford-shoes-steel-toe-size-7d-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-5-5w-black-seafoam-green-white>: HTTP status code is not handled or not allowed 2026-01-28 05:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koyo-np7-6-sealed-lead-acid-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50b20hx58mpb-58-pitch-58-plain-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-4-x-5-32-blue-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40b29hx58mpb-12-pitch-58-plain-bore-29-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-bags-6-x-9-2-mil-red-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-112-industrial-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-7m-dark-brown-khaki>: HTTP status code is not handled or not allowed 2026-01-28 05:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-slip-on-sneaker-steel-toe-size-9-5eee-cognac>: HTTP status code is not handled or not allowed 2026-01-28 05:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs14hx25-metric-34-pitch-25mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-bags-3-x-5-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galion-125fa-industrial-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs24hx58-12-pitch-58-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-5-x-5-32-green-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/construction-harness-tongue-buckle-legs-medium-large>: HTTP status code is not handled or not allowed 2026-01-28 05:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs21hx38-metric-58-pitch-38mm-finished-bore-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severance-chatter-free-stop-countersink-cutter-82-3-4-5-16-pilot-hole>: HTTP status code is not handled or not allowed 2026-01-28 05:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-10m-black>: HTTP status code is not handled or not allowed 2026-01-28 05:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledsl27wh-led-security-light-wall-pack-27w-4000-cct-2240-lumen-82-cri-white>: HTTP status code is not handled or not allowed 2026-01-28 05:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/napco-gema1000e4lb-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80a15hx34-a-plate-1-pitch-34-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs23hx32-metric-58-pitch-32mm-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledsm6dbrz-6-dimmable-led-can-disk-light-30w-3000-cct-2100-lumens-82-cri-white>: HTTP status code is not handled or not allowed 2026-01-28 05:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-13m-black-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-11w-black-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securitron-bps246-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securitron-m62gf-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-8-5m-silver-army-green-pink>: HTTP status code is not handled or not allowed 2026-01-28 05:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-8-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 05:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-10w-black>: HTTP status code is not handled or not allowed 2026-01-28 05:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-smp5pmp16-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs16hx70-metric-1-14-pitch-70mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-mid-cut-shoes-composite-toe-size-12m-black>: HTTP status code is not handled or not allowed 2026-01-28 05:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63117 pages (at 96 pages/min), scraped 32306 items (at 12 items/min) 2026-01-28 05:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-threshold-ramp-thresh-2-12l-x-34w-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs13hx1-12-pitch-1-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-13w-army-green-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25bs18hx34-14-pitch-34-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-round-ada-picnic-table-expanded-metal-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-blue-half-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 05:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-orange-half-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 05:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-yellow-1-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 05:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-black-2-inch-x-15-feet>: HTTP status code is not handled or not allowed 2026-01-28 05:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickie-p-220-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-12w-black>: HTTP status code is not handled or not allowed 2026-01-28 05:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs16hx58-12-pitch-58-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25a35x38-a-plate-14-pitch-38-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/satin-wall-mounting-black-wet-umbrella-bag-holder>: HTTP status code is not handled or not allowed 2026-01-28 05:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs12hx58-38-pitch-58-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-hook-with-acrylic-adhesive-half-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 05:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-skate-inspired-work-shoes-composite-toe-size-9w-navy-celestial-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-te12-lawn-and-garden-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs17hx1-38-pitch-1-finished-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs17hx12-38-pitch-12-finished-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ford-rmt66-lawn-and-garden-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/09834-food-pan-polycarbonate-119-qt-stackable-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs11hx12-38-pitch-12-finished-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-20031-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-women-s-athletic-work-shoes-composite-toe-size-7-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 05:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-wdryer-200v-115-psi-185-cfm-5hp-3ph>: HTTP status code is not handled or not allowed 2026-01-28 05:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-230v-125-psi-28-cfm-75hp-1ph>: HTTP status code is not handled or not allowed 2026-01-28 05:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-softshell-high-bib-black-60f-comfort-rating-m>: HTTP status code is not handled or not allowed 2026-01-28 05:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-wdryer-460v-140-psi-50-cfm-15hp-3ph>: HTTP status code is not handled or not allowed 2026-01-28 05:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/irontuff-jackoat-black-hivis-lime-50-comfort-rating-2xl-regular>: HTTP status code is not handled or not allowed 2026-01-28 05:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-quest-opt-650cc-atv-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 05:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-12m-black>: HTTP status code is not handled or not allowed 2026-01-28 05:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zap-electric-bicycle-replacement-battery-10ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/irontuff-jackoat-black-hivis-orange-50-comfort-rating-5xl-regular>: HTTP status code is not handled or not allowed 2026-01-28 05:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elan-vgl68-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-tapered-roller-bearing-e30212j-60mm-bore-110mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/els-eds695-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:28:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adi-411oxm-emergency-light-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-bcp-gy-cabinet-pedestal-16w-x-30d-x-30-14h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mojo-hawk-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lu621-food-grade-anti-seize-compound>: HTTP status code is not handled or not allowed 2026-01-28 05:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-onoff-primary-control-with-vps-rm7898a1000-shutter-drive-programmable-postpurge>: HTTP status code is not handled or not allowed 2026-01-28 05:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressboard-report-cover-prong-clip-letter-3-capacity-dark-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-xt400-400cc-motorcycle-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-13w-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbk-stunt-50cc-motorcycle-replacement-battery-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daystart-slip-on-work-shoes-steel-toe-size-7w-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb4500-high-top-work-sneaker-composite-toe-size-8-5m-black-white>: HTTP status code is not handled or not allowed 2026-01-28 05:28:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 05:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daystart-slip-on-work-shoes-steel-toe-size-8-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 05:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-pewwe5-36-184t-prem-eff-tefc-rigid-3-ph-184t-208-230-460v-6-fla>: HTTP status code is not handled or not allowed 2026-01-28 05:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/btlslssh101p-98-bottleless-stainless-steel-commercial-hot-cold-water-cooler-w-filtration>: HTTP status code is not handled or not allowed 2026-01-28 05:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-slide-base-w365t>: HTTP status code is not handled or not allowed 2026-01-28 05:28:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-all-50cc-motorcycle-replacement-battery-2000-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-grip-retractable-ballpoint-pen-blue-ink-medium-24-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-gel-pens-black-ink-black-barrel-1-each-bl407aa>: HTTP status code is not handled or not allowed 2026-01-28 05:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enviro-world-freegarden-rain-rain-barrel-system-ewc-10>: HTTP status code is not handled or not allowed 2026-01-28 05:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enviro-world-solid-brass-outdoor-grade-spigot-rain-barrels-ewc-11>: HTTP status code is not handled or not allowed 2026-01-28 05:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ozbike-all-motorcycle-replacement-battery-1966-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 05:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe75-36-213jp-tefc-rigid-c-3-ph-213jp-75-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-trail-wide-trak-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 05:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht150-12-445-7t-gp-tefc-rigid-3-ph-445-7t-171-fla-rb>: HTTP status code is not handled or not allowed 2026-01-28 05:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe15-18-145jp-tefc-rigid-c-3-ph-145jp-15-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht100-18-405tsc-f2-gp-tefc-rigid-3-ph-f2-405tsc-115-fla>: HTTP status code is not handled or not allowed 2026-01-28 05:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 05:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-instrument-table-with-lower-shelf-36x20x34-987207>: HTTP status code is not handled or not allowed 2026-01-28 05:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ft-one-fit-non-belted-full-body-harness-standard-1-d-ring-quick-connect-legs-3x-large>: HTTP status code is not handled or not allowed 2026-01-28 05:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-gasket-for-dust-collector-261575>: HTTP status code is not handled or not allowed 2026-01-28 05:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-700-697cc-snowmobile-replacement-battery-2001-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-strap-galvanized-steel-hooks-12l-black>: HTTP status code is not handled or not allowed 2026-01-28 05:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-backups-500-bf500-gr-ups-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-20-lbs-regular-dry-chemical-galaxy-20>: HTTP status code is not handled or not allowed 2026-01-28 05:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunkin-french-vanilla-coffee-regular-medium-ground-k-cup-pods-037-oz-capacity-pack-of-22>: HTTP status code is not handled or not allowed 2026-01-28 05:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-medical-system-622-medical-replacement-battery-8ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mark-bracket-for-wall-mounting-of-fire-extinguisher-for-model-galaxy-5-12-mercury-5-cosmic-5>: HTTP status code is not handled or not allowed 2026-01-28 05:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63210 pages (at 93 pages/min), scraped 32324 items (at 18 items/min) 2026-01-28 05:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenline-626d-hand-truck-w-single-loop-handle-solid-rubber-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ft-one-fit-non-belted-full-body-harness-standard-1-d-ring-tongue-buckle-legs-x-small>: HTTP status code is not handled or not allowed 2026-01-28 05:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-lp12-3-2-sealed-lead-acid-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-teledyne-118-0013-6v-12ah-emergency-light-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-prescolite-em-exit-6v-4-5ah-emergency-light-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-200v-150psi-34cfm-10hp-3ph-120-gal-tank>: HTTP status code is not handled or not allowed 2026-01-28 05:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-yellow-ceiling-mount-hdmc>: HTTP status code is not handled or not allowed 2026-01-28 05:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-n-carry-jnc105-jump-starter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-gal-yellow-plastic-open-head-tapered-drum-plastic-lever-lock-987225>: HTTP status code is not handled or not allowed 2026-01-28 05:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-lp12-4-0-sealed-lead-acid-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sugoi-hand-saw-360mm-extra-large-teeth>: HTTP status code is not handled or not allowed 2026-01-28 05:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marquette-1500-respond-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-2-tier-6-doors-locker-54w-x-18d-x-78h-dark-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-bc35-12-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silhouette-fabric-padded-stack-chair-ebony-black-fabric-and-black-santex-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-d11r-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ritar-rt640s-sealed-lead-acid-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mk-es14-12-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-metal-shelving-8-shelves-500-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-metal-shelving-6-shelves-add-on-unit-36w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbr-red-65a-sheet-3-16-thick-x-3-x-10-length>: HTTP status code is not handled or not allowed 2026-01-28 05:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm90-opc-output-cover-for-calm-series-90mm-aluminum-worm-gear-reducer>: HTTP status code is not handled or not allowed 2026-01-28 05:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm90-s-single-output-shaft-for-calm-series-90mm-aluminum-worm-gear-reducer>: HTTP status code is not handled or not allowed 2026-01-28 05:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/see-thru-toddler-book-browser>: HTTP status code is not handled or not allowed 2026-01-28 05:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-gpl-1272-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-stand-alone-shelving-8-shelves-450-lb-cap-48w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-style-deep-bin-shelving-7-shelves-add-on-unit-36w-x-96d-x-87h-bluegray>: HTTP status code is not handled or not allowed 2026-01-28 05:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-resin-patio-fence-3-panel-section-brown-238684bn>: HTTP status code is not handled or not allowed 2026-01-28 05:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toyo-6fm1-3-sealed-lead-acid-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdo-ot9-12hr-sealed-lead-acid-replacement-battery-9ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/close-style-deep-bin-shelving-7-shelves-starter-unit-36w-x-48d-x-87h-bluegray>: HTTP status code is not handled or not allowed 2026-01-28 05:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mt-dt-752200-7-5-x-22-dump-truck-tarp-industrial-grade>: HTTP status code is not handled or not allowed 2026-01-28 05:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-dn-0610-debris-safety-netting-6-x-10>: HTTP status code is not handled or not allowed 2026-01-28 05:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-in-x-12-in-steel-door-louver>: HTTP status code is not handled or not allowed 2026-01-28 05:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-stand-alone-shelving-5-shelves-500-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-in-high-galvanized-fixed-height-adjustable-width-louver>: HTTP status code is not handled or not allowed 2026-01-28 05:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-in-backdraft-damper>: HTTP status code is not handled or not allowed 2026-01-28 05:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-tm-b0620-6-x-20-tennis-court-wind-screen>: HTTP status code is not handled or not allowed 2026-01-28 05:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiamm-fg21202-fg-21202-12v-12ah-emergency-light>: HTTP status code is not handled or not allowed 2026-01-28 05:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ritar-ra12-70s-sealed-lead-acid-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cove-base-vinyl-4x080x48-black>: HTTP status code is not handled or not allowed 2026-01-28 05:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coopower-cp12-7-0-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-weld-on-contoured-single-strap-anchor-zinc-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/batterymart-sla-7-sealed-lead-acid-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-32-inch-jobbers-length-drill-blank>: HTTP status code is not handled or not allowed 2026-01-28 05:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unison-mx-06120-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-inch-made-in-usa-jobbers-length-drill-blank>: HTTP status code is not handled or not allowed 2026-01-28 05:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosed-shop-desk-psx-2436-3rbkdr-24-x-36-with-locking-storage-drawer>: HTTP status code is not handled or not allowed 2026-01-28 05:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-dolly-pdsh4848-6ph2fl-with-pipe-handle-solid-deck-48-x-48-floor-locks>: HTTP status code is not handled or not allowed 2026-01-28 05:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnh2-2448-6mr-ah-with-lower-shelf-24-x-48-adj-height>: HTTP status code is not handled or not allowed 2026-01-28 05:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spark-resistant-manual-chain-hoist-10-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 05:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ld8050-high-speed-electric-5w-x-12l-label-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 05:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/micro-centrifuge-tube-15ml-capacity-amber-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/napco-alarms-ma1000e4lb-pak-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-3-in-galvanized-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 05:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al1012ulacmcbj-alarm-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n246060-4-equipment-stands-4-shelf-shelving-unit-24w-x-60h-x-60l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 05:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n184860-3-equipment-stands-3-shelf-shelving-unit-18w-x-48h-x-60l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 05:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-6-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 05:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-lodestar-vs-electric-chain-hoist-12-ton-10-lift-26-16-fpm-115-1-60-2-step-iv-control>: HTTP status code is not handled or not allowed 2026-01-28 05:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-safety-shower-eye-face-wash-sign-for-wall-mounting-pvc-16w-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 05:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-galvanized-malleable-tee-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 05:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyno-lever-hoist-1-12-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 05:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brooks-equipment-bat127-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-narrow-mouth-pp-125ml-capacity-clear-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 05:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carboy-autoclavable-pp-20-liter-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 05:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draining-tray-polypropylene-16l-x-16w-x-4h-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/time-cards-for-bx-1500-monthly-semi-monthly-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/time-cards-for-bx-1500-weekly-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-drive-pump-5mdsc-115v-1050-gph-at-1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tysonic-ty-12-22-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desiccator-glass-6-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bruno-police-46-u1-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-4-flute-3-8-inch-dia-x-3-8-inch-shank-x-2-1-2-inch-oal-hss-single-end-mill>: HTTP status code is not handled or not allowed 2026-01-28 05:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-wide-mouth-pp-1000ml-capacity-clear-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amber-plastic-shim-coil-001-5-20>: HTTP status code is not handled or not allowed 2026-01-28 05:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoprider-4dxd-wheelchair-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/630032rs-deep-groove-ball-bearing-wide-width-double-sealed-17mm-bore-35mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permobil-x850-corpus-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32210-tapered-roller-bearing-metric-50mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6316-deep-groove-ball-bearing-open-80mm-bore-170mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63307 pages (at 97 pages/min), scraped 32340 items (at 16 items/min) 2026-01-28 05:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-narrow-mouth-pp-500ml-capacity-clear-pack-of-125>: HTTP status code is not handled or not allowed 2026-01-28 05:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-rally-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/production-booster-463t72wh-72w-x-36h-3-shelves-reflective-white>: HTTP status code is not handled or not allowed 2026-01-28 05:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-bolted-pallet-rack-add-on-108w-x-36d-x-120h>: HTTP status code is not handled or not allowed 2026-01-28 05:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-bolted-pallet-rack-starter-144w-x-48d-x-96h>: HTTP status code is not handled or not allowed 2026-01-28 05:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aerial-shelf-for-bench-22648wh-reflective-white>: HTTP status code is not handled or not allowed 2026-01-28 05:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-bolted-pallet-rack-add-on-144w-x-48d-x-96h>: HTTP status code is not handled or not allowed 2026-01-28 05:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-31002-3600rpm-3-phase-60hz-230460v-2pole>: HTTP status code is not handled or not allowed 2026-01-28 05:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/622102rs-deep-groove-ball-bearing-wide-width-double-sealed-50mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6208zz-deep-groove-ball-bearing-double-shielded-40mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63052rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-25mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-1-door-wood-locker-12-w-x-15-d-x-72-h-cherry-assembled>: HTTP status code is not handled or not allowed 2026-01-28 05:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoprider-te889dx2-4-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/623052rs-deep-groove-ball-bearing-wide-width-double-sealed-25mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evermed-ecw-explorer-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-ergonomic-forklift-seat-with-suspension-curved-back-black>: HTTP status code is not handled or not allowed 2026-01-28 05:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-universal-adjustable-ergonomic-forklift-seat-with-suspension-black>: HTTP status code is not handled or not allowed 2026-01-28 05:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6303zz-deep-groove-ball-bearing-double-shielded-17mm-bore-47mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-lb-load-capacity-fiberglass-step-ladder-8-ft-dxl381008>: HTTP status code is not handled or not allowed 2026-01-28 05:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6205zznr-deep-groove-ball-bearing-double-shielded-snap-ring-25mm-bore-52mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mirado-classic-2-pencil-with-eraser-black-dozen>: HTTP status code is not handled or not allowed 2026-01-28 05:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62092rs-deep-groove-ball-bearing-double-sealed-45mm-bore-85mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-cart-black-epoxy-54l-x-24w-x-40h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelhorse-13-22-lawn-and-garden-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-36l-x-18w-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/write-bros-ballpoint-stick-pen-medium-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 05:30:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esharp-mechanical-pencil-07mm-blue-dozen>: HTTP status code is not handled or not allowed 2026-01-28 05:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jacobsen-53020-lawn-and-garden-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelhorse-310-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440201592-cloth-belt-341d-6w-x-48l-p100-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-60l-x-14w-x-69h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500072873-belt-4w-x-132l-vfn-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twist-eraser-iii-automatic-pencil-09mm-black>: HTTP status code is not handled or not allowed 2026-01-28 05:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atlantis-ballpoint-retractable-pen-medium-black-barrelink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 05:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-x--back-womens-long-sleeve-shirt-class-3-2xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-womens-long-sleeve-shirt-s-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-20-series-1316-x-1316-four-t-slotted-extrusion-profile-118-18l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 05:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-airflow153-womens-long-sleeve-shirt-class-2-xl-hi-vis-orangenavy>: HTTP status code is not handled or not allowed 2026-01-28 05:30:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 05:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-ray-sulphite-construction-paper-24x18-sky-blue-50-sheets>: HTTP status code is not handled or not allowed 2026-01-28 05:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-permanent-marker-fine-point-black-ink-1-each>: HTTP status code is not handled or not allowed 2026-01-28 05:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-airflow153-womens-long-sleeve-shirt-class-2-m-hi-vis-yellownavy>: HTTP status code is not handled or not allowed 2026-01-28 05:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-berm-economy-model-30-mil-rpe-thickness-12l-x-12w-x-1h>: HTTP status code is not handled or not allowed 2026-01-28 05:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-40-series-1-916-x-3-18-lite-six-t-slotted-extrusion-profile-238-316l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 05:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-dr752-14s-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-womens-short-sleeve-t-shirt-class-2-m-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/columbia-mtd-387-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/columbia-mtd-397-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g301-gel-retractable-pen-07mm-stainless-steel-barrel-black-ink-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-x--back-womens-long-sleeve-shirt-class-3-xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pen-style-permanent-marker-fine-point-assorted-ink-8set>: HTTP status code is not handled or not allowed 2026-01-28 05:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbell-12-824-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-round-ada-in-ground-mount-picnic-table-green>: HTTP status code is not handled or not allowed 2026-01-28 05:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-26-11-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zgrip-ballpoint-retractable-pen-10mm-blue-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 05:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-pedal-pump-steel-fpp-chrm>: HTTP status code is not handled or not allowed 2026-01-28 05:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elsar-16238-emergency-light-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-battery-isolator-w-optional-override-switch-300-amp>: HTTP status code is not handled or not allowed 2026-01-28 05:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbell-he615-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rsvp-ballpoint-stick-pen-medium-clear-barrel-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 05:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-air-pump-pa60010000-psi-36-in-usable-oil-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12-709-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crossover-ladder-36l-x-28-12w-x-94-716h>: HTTP status code is not handled or not allowed 2026-01-28 05:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacking-wire-mesh-hangers-hmb520c-for-qmb520c-one-pair>: HTTP status code is not handled or not allowed 2026-01-28 05:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-aqm-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperlite-extension-ladder-w-cable-hooks-auto-leveler-32-type-iaa-375-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sd-t18-air-sample-tube-18>: HTTP status code is not handled or not allowed 2026-01-28 05:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exitronix-612-emergency-light-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sumostance-extension-ladder-w-ground-cue-sure-set-28-type-iaa-375-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x1-2-acrylic-mini-roller-cover-12-pack-8-case-4cr050q-12>: HTTP status code is not handled or not allowed 2026-01-28 05:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louisville-10-type-1aa-fiberglass-pro-platform-step-ladder-fxp1810hd>: HTTP status code is not handled or not allowed 2026-01-28 05:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-x-el-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrostatic-air-filter-merv-8-20w-x-1d-x-24h>: HTTP status code is not handled or not allowed 2026-01-28 05:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-bp76-t1-6v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbell-702941-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-metal-cage-for-trouble-light-sl1006-6pk>: HTTP status code is not handled or not allowed 2026-01-28 05:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbell-he6100-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63403 pages (at 96 pages/min), scraped 32359 items (at 19 items/min) 2026-01-28 05:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powercell-pc670-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powersonic-ps640f1-6v-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-storage-cabinet-turn-handle-4-adj-shelves-36-inch-w-x-18-inch-d-x-78-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolt-on-hitch-bar-led-flood-light-for-2020-current-chevy-gmc-2500-3500-44a>: HTTP status code is not handled or not allowed 2026-01-28 05:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12-806-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-112047-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2000-8-drawer-roller-cabinet-24w-x-20d-x-39h-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12-726-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-tb-30i-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm130-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-door-4w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 05:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-door-5w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 05:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm80-6-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k1800-7-drawer-roller-cabinet-27w-x-18d-x-34-1516h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-lp610-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-djw670-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-djw1226-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lcr127r2p-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astral-square-umbrella-w-centerpost-137w-x-137d-x-110h-mediterranean-blue-tweed>: HTTP status code is not handled or not allowed 2026-01-28 05:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pwl15-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-rack-placard-label-holder-3-x-100-ft-rollwhite-797046>: HTTP status code is not handled or not allowed 2026-01-28 05:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminate-collection-pedestal-tables-cube-table-29wx29dx15-1-2h-maple>: HTTP status code is not handled or not allowed 2026-01-28 05:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-ub12220-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wave-lever-keyed-entry-aged-bronze>: HTTP status code is not handled or not allowed 2026-01-28 05:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interstate-absl1075-12v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/add-on-weight-for-monaco-bases-30-lb-weight-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3gbi-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1515lite97-112-x-112-lite-tslotted-profile-97-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 05:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2040242-2-x-4-tslotted-profile-242-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 05:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1515lite72-15-x-15-lite-tslotted-profile-72-bar>: HTTP status code is not handled or not allowed 2026-01-28 05:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-open-tabloid-11inch-x-17inch-locking-slant-d-ring-binder-1-1-2inch-black>: HTTP status code is not handled or not allowed 2026-01-28 05:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-dr7477s-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-12m1-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-piece-rattan-outdoor-patio-set-black>: HTTP status code is not handled or not allowed 2026-01-28 05:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm020l-l-fg-10-ner-food-grade-hoist-with-motorized-trolley-2-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-elb0612a-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forbest-sewer-camera-system-w-10-lcd-monitor-200l-cable>: HTTP status code is not handled or not allowed 2026-01-28 05:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-electric-radiant-infrared-patio-heater-2000w-208240v-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13037-selfaligning-rollin-tnut-wball-spring>: HTTP status code is not handled or not allowed 2026-01-28 05:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-full-length-lab-coat-snap-cuff-light-blue-4xl>: HTTP status code is not handled or not allowed 2026-01-28 05:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tissue-box-holder-petg-small-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-teal-5xl>: HTTP status code is not handled or not allowed 2026-01-28 05:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3359-anchor-fastener>: HTTP status code is not handled or not allowed 2026-01-28 05:31:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-light-blue-x-large>: HTTP status code is not handled or not allowed 2026-01-28 05:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-light-blue-5xl>: HTTP status code is not handled or not allowed 2026-01-28 05:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-black-3xl>: HTTP status code is not handled or not allowed 2026-01-28 05:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2109-standard-tslot-cover>: HTTP status code is not handled or not allowed 2026-01-28 05:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-120225-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6873-single-unibearing-bearing-assembly-long>: HTTP status code is not handled or not allowed 2026-01-28 05:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-dual-paper-towel-dispenser-w-gliding-rods-large-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12006-tslot-tread-strip-per-meter>: HTTP status code is not handled or not allowed 2026-01-28 05:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-base-indicator-holder-set>: HTTP status code is not handled or not allowed 2026-01-28 05:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3304-1420-x-34-shcs-and-slidein-economy-tnut>: HTTP status code is not handled or not allowed 2026-01-28 05:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 05:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3340-flanged-button-head-socket-cap-screw-12l>: HTTP status code is not handled or not allowed 2026-01-28 05:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-truck-drivers-ring-bell--wait-sign-aluminum-10-x-14-blackbluewhite>: HTTP status code is not handled or not allowed 2026-01-28 05:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mototec-24v-electric-mini-quad-12v-12ah-scooter-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2635-alumalite-panel-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2605-acrylic-panel-black>: HTTP status code is not handled or not allowed 2026-01-28 05:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3487-1032-x-12-bhscs-and-slidein-tnut>: HTTP status code is not handled or not allowed 2026-01-28 05:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-wide-right-turns-sign-graphic-adhesive-dura-vinyl-14-x-10-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-1000-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-traffic-safety-sign-egp-aluminum-24-x-24-whiteblue>: HTTP status code is not handled or not allowed 2026-01-28 05:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oversize-load-transportation-sign-mesh-vinyl-18-x-84-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 05:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liftmaster-hd900d-garage-door-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4417-18-hole-inside-corner-bracket>: HTTP status code is not handled or not allowed 2026-01-28 05:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2194-deluxe-leveling-foot>: HTTP status code is not handled or not allowed 2026-01-28 05:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner003hd-15-ner-dual-speed-electric-chain-hoist-14-ton-15-lift-539-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cannondale-speed-440cc-atv-replacement-battery-2002-2003-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-move-on-green-only-sign-mirror-image-aluminum-14-x-20-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 05:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner030cd-20-ner-dual-speed-electric-chain-hoist-3-ton-20-lift-173-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 05:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/please-clean-up-after-your-pet-safety-sign-plastic-18-x-12-whitegreen>: HTTP status code is not handled or not allowed 2026-01-28 05:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner020sd-10-ner-dual-speed-electric-chain-hoist-2-ton-10-lift-2845-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 05:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3111-button-head-socket-cap-screw-58l>: HTTP status code is not handled or not allowed 2026-01-28 05:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-hot-surface-ignition-module-with-variable-timings-50e47-843>: HTTP status code is not handled or not allowed 2026-01-28 05:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner005s-20-ner-electric-hoist-hook-suspension-12-ton-20-lift-29-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63497 pages (at 94 pages/min), scraped 32377 items (at 18 items/min) 2026-01-28 05:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-short-sleeve-t-shirt-class-2-xl-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truck-route-traffic-sign-egp-reflective-aluminum-18-x-24-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 05:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atk-604-cc-604cc-motorcycle-replacement-battery-1991-1992-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6495-rechargeable-heated-vest-with-battery-power-bank-m-black>: HTTP status code is not handled or not allowed 2026-01-28 05:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6495-rechargeable-heated-vest-with-battery-power-bank-l-black>: HTTP status code is not handled or not allowed 2026-01-28 05:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner005l-fg-10-ner-food-grade-hoist-12-ton-capacity-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ktm-mxc-racing-525cc-motorcycle-replacement-battery-2000-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-contoured-reversible-puffer-jacket-ansi-l-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm020l-l-10-ner-electric-hoist-motor-trolley-2-ton-10-lift-14-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 05:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-c90-m-90cc-motorcycle-replacement-battery-1982-1993-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp020l-20-ner-electric-chain-hoist-push-trolley-2-ton-20-lift-14-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retaining-magnet-assembly-threaded-stud-and-rubber-jacket-346-dia-zinc-plated-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm-mxf250f-250cc-motorcycle-replacement-battery-2005-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9800-system-340-voc-dtm-urethane-mastic-white-9892383>: HTTP status code is not handled or not allowed 2026-01-28 05:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meyra-967-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-drum-roller-20-rpm-air-motor>: HTTP status code is not handled or not allowed 2026-01-28 05:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-please-turn-out-lights-when-not-in-use-label-adhesive-vinyl-10-x-14>: HTTP status code is not handled or not allowed 2026-01-28 05:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snerp003s-15-sner-electric-hoist-push-trolley-14-ton-15-lift-14-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-mobile-instrument-table-30-x-16-undershelf-304-grade>: HTTP status code is not handled or not allowed 2026-01-28 05:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-platform-pad-18900043-mx-s-vortex-mixers-requires-universal-adapter>: HTTP status code is not handled or not allowed 2026-01-28 05:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neodymium-telescoping-pickup-magnet-tool-07256-with-locking-hinge>: HTTP status code is not handled or not allowed 2026-01-28 05:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartwave-radiant-electric-heater-3000w-208v-43l-x-6-716w-x-12-58h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-tool-holder-24-am1plc-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-tool-holder-6-amc5plc-nickel-red>: HTTP status code is not handled or not allowed 2026-01-28 05:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-t-rex-125-125cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-1-8-inch-hss-aircraft-extension-drill-12-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 05:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-3-64-inch-hss-aircraft-extension-drill-12-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 05:32:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/anchorage_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/array-jumbo-card-stock-paper-8-1-2-inch-x-11-inch-65-lb-assorted-250-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-slatwall-panel-brushed-aluminum-hpl-without-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 05:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notebook-filler-paper-8-inch-x-10-1-2-inch-college-ruled-white-150-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-slatwall-panel-mahogany-laminate-with-aluminum-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 05:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snugboot-workpro-full-safety-knee-boots-cleated-outsole-composite-toe-size-13-16h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-wide-series-refrigerator-freezer-comb-rhd-glasssolid-door-988-cu-ft-cap-white>: HTTP status code is not handled or not allowed 2026-01-28 05:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inkjet-embossed-note-cards-5-1-2-inch-x-4-1-4-inch-matte-ivory-60-cards-box>: HTTP status code is not handled or not allowed 2026-01-28 05:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acifort-metmax-full-safety-boots-cleated-outsole-steel-toe-size-12-15h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ohio-transport-isolette-incubator-medical-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lionville-systems-power-rider-sl-250-medical-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-xcp-knee-boots-chevron-outsole-steel-toe-size-16-16h-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-tape-individual-dots-with-adhesive-38l-x-38w-black-pack-of-1800>: HTTP status code is not handled or not allowed 2026-01-28 05:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fall_protection/anchorage_connectors>: HTTP status code is not handled or not allowed 2026-01-28 05:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pharmacia-deltec-9000-profusion-system-medical-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/columnar-pad-11-inch-x-17-inch-24-columns-36-lines-green-100-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 05:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abbott-laboratories-75-life-care-breeze-medical-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/index-maker-clear-label-divider-easy-apply-85x11-3-tabs-25-sets-white-white>: HTTP status code is not handled or not allowed 2026-01-28 05:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-aluminum-gantry-crane-6000-lb-capacity-15w-x-13-316h>: HTTP status code is not handled or not allowed 2026-01-28 05:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/index-maker-clear-label-divider-blank-85x11-5-tabs-25-sets-white-white>: HTTP status code is not handled or not allowed 2026-01-28 05:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-powered-jib-crane-2000-lb-capacity-87-14h-span-106-12h-under-beam>: HTTP status code is not handled or not allowed 2026-01-28 05:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibt-technologies-bt10-4-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schumacher-electric-ipd-2200-jump-starter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-index-tab-blank-375-tabs-white-white>: HTTP status code is not handled or not allowed 2026-01-28 05:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-18d-x-74h-with-35-ssb461-stackable-shelf-bins-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-write-on-tab-divider-85x11-8-tabs-24-sets-multicolor-multicolor>: HTTP status code is not handled or not allowed 2026-01-28 05:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-shelf-bin-8-1-4w-x-18d-x-7h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-shelf-bin-8-1-4w-x-20-1-2d-x-7h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-21d-x-74h-with-12-ssb483-and-12-ssb485-stackable-shelf-bins-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanuk-990-0006-990-series-rifle-case-olive>: HTTP status code is not handled or not allowed 2026-01-28 05:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-style-industrial-climbing-helmet-vented-hdpe-suspension-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub12120-d5775-sealed-lead-acid-replacement-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jvm-836-3-mill3-axis-acu-rite-200s-dro-x-y-axis-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 05:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmer-industries-4-wheeler-409-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-and-square-flat-head-machine-screw-10-32-x-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-and-square-flat-head-machine-screw-14-20-x-1-12-size-pack-od-100>: HTTP status code is not handled or not allowed 2026-01-28 05:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/opus-38-thick-entrance-floor-mat-2x3-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-sof-tred-12-thick-safety-anti-fatigue-floor-mat-2x3-black>: HTTP status code is not handled or not allowed 2026-01-28 05:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-tuff-1-thick-antifatigueantislip-classic-fl-mat-3x75-blackyl>: HTTP status code is not handled or not allowed 2026-01-28 05:32:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-4vs-mill3-axis-acu-rite-vue-dro-x-y-axis-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emt-plastic-bushing-polyethylene-1-size>: HTTP status code is not handled or not allowed 2026-01-28 05:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/950-foam-foam-inserts-3-part-for-950-case>: HTTP status code is not handled or not allowed 2026-01-28 05:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-clear-quartz-lamp-630-16209-for-222-223-and-mm-electric-infrared-heaters-1600w-208v>: HTTP status code is not handled or not allowed 2026-01-28 05:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-rascal-500t-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-screw-hex-nut-solid-brass-6-32-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/910-1000-910-case-w-foam-143l-x-1111w-x-47h-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:32:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/wheelchair_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-pvc-liquid-tight-connector-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-no-thread-connector-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imc-heartway-rumba-sf-p-4f-u1-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63593 pages (at 96 pages/min), scraped 32399 items (at 22 items/min) 2026-01-28 05:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-tall-nestable-plast-step-stand-black-25-25-d-14-3-4-h-nbst-1-01>: HTTP status code is not handled or not allowed 2026-01-28 05:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jtm-4vs-mill3-axis-acu-rite-vue-dro-x-y-axis-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 05:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lr-threaded-conduit-body-w-cover-and-gasket-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-ft-type-1aa-aluminum-round-rung-straight-ladder-524-1>: HTTP status code is not handled or not allowed 2026-01-28 05:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lr-threaded-conduit-body-w-cover-and-gasket-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-grip-plastic-anchor-12-size-green-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/wheelchair_batteries>: HTTP status code is not handled or not allowed 2026-01-28 05:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-nut-solid-brass-12-13-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-air-curtain-42-inch-w-door-480v-electric-3-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-no-thread-connector-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-dress-uniform-shirt-slu2-silver-gray-size-m-regular>: HTTP status code is not handled or not allowed 2026-01-28 05:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-air-curtain-120-inch-w-door-240v-unheated-1-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-ground-bushing-w-lay-in-lug-zincaluminum-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/climate-control-air-curtain-96-inch-w-door-120v-unheated-1-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smrttim40-water-proof-timer-control-up-to-40kw-166a>: HTTP status code is not handled or not allowed 2026-01-28 05:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-9k-98-98-26-us-7-pc-pliers-screwdriver-insulated-tool-set-1000v-nylon-pouch>: HTTP status code is not handled or not allowed 2026-01-28 05:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-elite-traveller-lr-sc40lr-wheelchair-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-95-16-200-insulated-cable-shears-1000v-8-oal>: HTTP status code is not handled or not allowed 2026-01-28 05:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/friendly-robotics-robomower-rm200-lawn-and-garden-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-09-08-240-sba-high-leverage-combo-pliers-lineman-ne-head-1000v-insulated-9-12-oal>: HTTP status code is not handled or not allowed 2026-01-28 05:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vest-style-harness-1113007-w-back-d-ring-locking-quick-connect-buckles-large>: HTTP status code is not handled or not allowed 2026-01-28 05:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fsk-2424-field-service-kit-with-work-surface-ground-cord-wrist-strap>: HTTP status code is not handled or not allowed 2026-01-28 05:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplicity-trail-cruiser-hydrostatic-lawn-and-garden-replacement-battery-9ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pondmaster-10002000-bio-foam-pads-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-walldriller-anchor-kit-w-phillips-wafer-head-screw-8-size-50-pieces>: HTTP status code is not handled or not allowed 2026-01-28 05:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-7011cydup4-universal-ground-duplex-55mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-grip-anchor-kit-w-combo-pan-head-screw-12-size-tuff-pack-101-pieces>: HTTP status code is not handled or not allowed 2026-01-28 05:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cub-cadet-sit-down-under-seat-lawn-and-garden-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-decker-sweeper-cs100-lawn-and-garden-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-rope-polypropylene-316-x-3600-size>: HTTP status code is not handled or not allowed 2026-01-28 05:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/go-go-elite-traveller-plus-sc53-sc54-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-fishing-piston-durable-foam-12-size>: HTTP status code is not handled or not allowed 2026-01-28 05:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/friendly-robotics-robomower-rl17h-lawn-and-garden-replacement-battery-18ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golf-technologies-freedom-2000-motorcaddy-and-golf-caddy-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-coated-nail-strap-w-1-14-ser-and-seu-cable-carbon-steel-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 05:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-prestige-1000-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-mount-1-tapped-hole-1-threaded-stud-100-inch-dia-50-inch-h-1-4-20-thread>: HTTP status code is not handled or not allowed 2026-01-28 05:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6002-class-3-rain-coat-with-2-patch-pockets-orange-2xl3xl>: HTTP status code is not handled or not allowed 2026-01-28 05:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-fish-stick-rod-w-eye-and-hook-fibreglass-14-x-12-size>: HTTP status code is not handled or not allowed 2026-01-28 05:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-powerware-1000-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-fish-stick-rod-w-eye-and-hook-fibreglass-14-x-12-size>: HTTP status code is not handled or not allowed 2026-01-28 05:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-10-24-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-credenza-shell-60-inchw-x-24-inchd-x-29-1-2-inchh-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 05:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-square-pan-head-carbon-steel-8-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-princess-raider-cycle-iged0912us-ride-on-toys-battery-75ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lighting-lightning-tl930218-emergency-light-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-nga5060010hsosa-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lighting-lightning-tl930007-emergency-light-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-outlander-max-500-ho-efi-xt-p-500cc-atv-replacement-battery-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm450-grizzly-4x4-auto-450cc-atv-replacement-battery-2007-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:33:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb4830-mens-ateron-black-and-blue-sport-oxford-blackblue-size-85-m>: HTTP status code is not handled or not allowed 2026-01-28 05:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14ke64azi-blk-clutch-handwheel-wfrict-bearing-wo-handle-551-d-x-14mm-bore-keyway>: HTTP status code is not handled or not allowed 2026-01-28 05:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-68vr-hustler-drum-truck-rubber-casters-1000-lb>: HTTP status code is not handled or not allowed 2026-01-28 05:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf13351r56c-cast-iron-right-angle-worm-gear-reducer-51-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arrow-flags-1-2-wide-assorted-bright-100-flags-dispenser-1-dispenser-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-liquid-tight-connector-zinc-die-cast-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-stainless-steel-0-316-id-0-38-od-6-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-case-ih-magnum-tractor-ride-on-toys-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sign-here-flags-1-2-x-1-3-4-assorted-140-flags-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drywall-screw-phillips-bugle-head-fine-thread-6-x-1-size-tuff-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-insulated-liquid-tight-connector-zinc-die-cast-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 05:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucky-duck-lucky-flapper-specklebelly-goose-12-decoy-replacement-battery-5ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-weight-one-hole-pipe-strap-carbon-steel-14-gauge-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-outlander-400-ho-4x4-xt-400cc-atv-replacement-battery-2003-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-sport-glide-grand-touring-fxrd-1340cc-motorcycle-battery-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf133601r56c-cast-iron-right-angle-worm-gear-reducer-601-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-zx1000-ninja-zx-10r-30th-anniversary-motorcycle-battery-2015-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs175401l-cast-iron-right-angle-worm-gear-reducer-401-ratio>: HTTP status code is not handled or not allowed 2026-01-28 05:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-silicon-bronze-0-516-id-0-78-od-516-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63689 pages (at 96 pages/min), scraped 32425 items (at 26 items/min) 2026-01-28 05:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs23751l-cast-iron-right-angle-worm-gear-reducer-51-ratio>: HTTP status code is not handled or not allowed 2026-01-28 05:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf262201r56c-cast-iron-right-angle-worm-gear-reducer-201-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fender-washer-low-carbon-steel-38-x-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs32551r-cast-iron-right-angle-worm-gear-reducer-51-ratio>: HTTP status code is not handled or not allowed 2026-01-28 05:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf262301r56c-cast-iron-right-angle-worm-gear-reducer-301-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bands-size-16-2-1-2x-1-16-natural-1-lb-box>: HTTP status code is not handled or not allowed 2026-01-28 05:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-wall-clips-40-sheet-capacity-black-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-softail-deluxe-flstn-1450cc-motorcycle-battery-2005-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-lath-metal-piercing-screw-square-drive-wafer-head-10-x-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-handling-cable-tie-w-mounting-hole-11-size-red-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flags-1-wide-bright-green-50-flags-dispenser-2-dispensers-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strain-relief-connector-steel-34-dia-blue-grommet>: HTTP status code is not handled or not allowed 2026-01-28 05:34:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/wire_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-flags-3-16-x-1-assorted-240-flags-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-hooded-jacket-zipper-fluorescent-yellowgreenblack-xl>: HTTP status code is not handled or not allowed 2026-01-28 05:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-e-fr-overall-snap-fly-front-fluorescent-orangered-s>: HTTP status code is not handled or not allowed 2026-01-28 05:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-silicon-bronze-12-13-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheeled-case-18-1-4l-x-10w-x-13-3-4h-silver-dot>: HTTP status code is not handled or not allowed 2026-01-28 05:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-office-case-10l-x-8w-x-3h-smooth-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-utility-cases-medium-case-12l-x-9w-x-4-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-stainless-steel-12-13-x-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-pdr3-kd-portable-3-drum-rack-71-1-2-l-2400-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-offset-strut-strap-carbon-steel-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/wire_markers>: HTTP status code is not handled or not allowed 2026-01-28 05:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c0001-container-placard-label-holder-cstb5-6-x-8-white>: HTTP status code is not handled or not allowed 2026-01-28 05:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c0001-container-placard-label-holder-cstp5-wplace-label-here-6x8-white>: HTTP status code is not handled or not allowed 2026-01-28 05:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab85-2436-7-36-inch-w-x-24-inch-d-x-85-inch-h-7-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-low-carbon-steel-516-18-x-6-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f70ey12000400001-mike-pendant-6-button-yellow-2speed-buttons>: HTTP status code is not handled or not allowed 2026-01-28 05:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-cbx1000-super-sport-1000cc-motorcycle-replacement-battery-1981-1982-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-replacement-roller-kit-3-rollers-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb85-1836-7x-36-inch-w-x-18-inch-d-x-85-inch-h-7-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab85-1836-6-36-inch-w-x-18-inch-d-x-85-inch-h-6-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-tuono-1000-r-factory-1000cc-motorcycle-replacement-battery-2003-2011-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-zx1000-ninja-zx-10r-abs-30th-anniversary-1000cc-motorcycle-battery-2015-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb73-1836-6-36-inch-w-x-18-inch-d-x-73-inch-h-6-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-54p-4-wheel-warehouse-hand-truck-polyolefin-1000-lb>: HTTP status code is not handled or not allowed 2026-01-28 05:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-ironhorse-thunder-1820cc-motorcycle-replacement-battery-2000-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-popcorn-scoop>: HTTP status code is not handled or not allowed 2026-01-28 05:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-screamin-eagle-fat-boy-flstfse-1690cc-motorcycle-battery-2005-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-xv1700atm-road-star-midnight-silverado-1700cc-motorcycle-battery-2004-2007-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ross-5-3-closed-center-double-solenoid-controlled-directional-valve-24vdc-9577k1010w>: HTTP status code is not handled or not allowed 2026-01-28 05:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-softail-springer-classic-flstsci-motorcycle-battery-2005-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixture-carrier-with-custom-fit-side-drain-port-in-wall-floor-mount>: HTTP status code is not handled or not allowed 2026-01-28 05:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-hooded-sweatshirt-type-o-ansi-class-2-3xl-blackfluorescent-yellowgreen>: HTTP status code is not handled or not allowed 2026-01-28 05:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-sl-900-900cc-personal-watercraft-replacement-battery-1996-1997-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jt750-stx-750cc-personal-watercraft-battery-1996-1998-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-fx-sho-1812cc-personal-watercraft-replacement-battery-2008-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-rxt-1500cc-personal-watercraft-replacement-battery-2005-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucpk206-20-pillow-block-bearing-low-base-set-screw-bore-31-75-mm>: HTTP status code is not handled or not allowed 2026-01-28 05:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucfl212-39-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-61-9125-mm>: HTTP status code is not handled or not allowed 2026-01-28 05:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-overhead-track-kit-with-168-tracks--end-plates-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-28 05:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-sap202-10g-pillow-block-bearing-eccentric-locking-collar-bore-15-875-mm>: HTTP status code is not handled or not allowed 2026-01-28 05:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucp208-24-pillow-block-bearing-set-screw-locking-bore-38-1-mm>: HTTP status code is not handled or not allowed 2026-01-28 05:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-sbfl201-8g-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-12-7-mm>: HTTP status code is not handled or not allowed 2026-01-28 05:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucfl207-35mm-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-35-mm>: HTTP status code is not handled or not allowed 2026-01-28 05:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metatarsal-knee-boots-chevron-outsole-steel-toe-size-11-16h-brick-redcream>: HTTP status code is not handled or not allowed 2026-01-28 05:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucpa205-16a-pillow-block-bearing-tapped-base-set-screw-bore-25-4-mm>: HTTP status code is not handled or not allowed 2026-01-28 05:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ev200-evaporative-whole-room-humidifier-12-pints-output-per-day-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucfl210-50mm-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-50-mm>: HTTP status code is not handled or not allowed 2026-01-28 05:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23132ex1w33c3-160mm-bore-270mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dalton-3-wheel-sc-s235bl-electric-scooter-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-cylinder-storage-cabinet-single-door-8-cylinder-cap-30w-x-32d-x-65h>: HTTP status code is not handled or not allowed 2026-01-28 05:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-sx500-dirtrocket-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-label-holder-fits-48w-shelf-45l-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-label-holder-12l-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu216myc3-80mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8950-bump-cap-navy-long-brim-one-size>: HTTP status code is not handled or not allowed 2026-01-28 05:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-n222myc3-110mm-bore-200mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8391-class-3-long-sleeve-tshirt-lime-m>: HTTP status code is not handled or not allowed 2026-01-28 05:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-dynamo-sc180-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nferno6820-fr-knit-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 05:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-153302004-mobility-scooter-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8089-noncertified-tshirt-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-28 05:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8089-noncertified-tshirt-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-28 05:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-film-18-x-1500-x-70-gauge-clear-hand-dispenser-skid-lot>: HTTP status code is not handled or not allowed 2026-01-28 05:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-ground-forcedrifter-electric-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mart-cart-mart-cart-la-300-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ball-transfer-conveyor-table-btit100204-with-4-center-75-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-304-stainless-steel-union-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 05:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-x-1-1-2-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 05:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63788 pages (at 99 pages/min), scraped 32444 items (at 19 items/min) 2026-01-28 05:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-t316-stainless-steel-full-port-ball-valve-3-piece-sold-weld-1000-psi>: HTTP status code is not handled or not allowed 2026-01-28 05:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dalton-tacahe-rehab-pc1465rhb-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-add-on-cat75-1248-5x-48-inch-w-x-12-inch-d-x-75-inch-h-5-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-quality-e-036d-st3-wheel-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-add-on-oat75-2436-6-36-inch-w-x-24-inch-d-x-75-inch-h-6-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-starter-ost75-1542-7-42-inch-w-x-15-inch-d-x-75-inch-h-7-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-starter-cst87-1248-8x-48-inch-w-x-12-inch-d-x-87-inch-h-8-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-glide-aluminum-a-tskateboard-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-mx-z-tnt-500ss-553cc-snowmobile-replacement-battery-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-starter-48w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-03258-su-q20-fr-g4-12v-20w-single-ended-t2-5-halogen-bulb-bi-pin-base-frost>: HTTP status code is not handled or not allowed 2026-01-28 05:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-60w-x-12d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss68082rs-deep-groove-ball-bearing-stainless-steel-double-sealed-od-52mm-bore-40mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 05:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-golden-compass-sport-gp605cc-mobility-scooter-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-42w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52032rs-double-row-angular-contact-ball-bearing-double-sealed-od-40mm-bore-17mm-metric>: HTTP status code is not handled or not allowed 2026-01-28 05:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss6002zz-deep-groove-ball-bearing-stainless-steel-double-shielded-od-32mm-bore-15mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 05:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-72w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52042rs-double-row-angular-contact-ball-bearing-double-sealed-od-47mm-bore-20mm-metric>: HTTP status code is not handled or not allowed 2026-01-28 05:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-add-on-72w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-add-on-30w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-975xl2-1-2-in-fnpt-x-fnpt-reduced-pressure-principle-assembly-175-psi-cast-bronze>: HTTP status code is not handled or not allowed 2026-01-28 05:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-mx-z-sdi-adrenaline-and-x-593cc-snowmobile-battery-2005-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wxtp-50v-14-gallon-expansion-tank-1-in-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 05:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-gtx-380f-377cc-snowmobile-replacement-battery-2005-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-60w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-12-x-10-x-2-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-le-1200-1170cc-snowmobile-replacement-battery-2014-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-formula-500-deluxe-500cc-snowmobile-replacement-battery-1997-1998-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 05:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-le-600-ho-594cc-snowmobile-replacement-battery-2014-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-for-deposit-only-1-2-x-1-5-8-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/literature-mailers-12-x-10-x-4-200lb-test-ect-32-white-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-formula-iii-lt-598cc-snowmobile-replacement-battery-1996-1997-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 05:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sales-order-book-2-part-carbonless-3-11-32-x-7-3-16-50-sets-pad>: HTTP status code is not handled or not allowed 2026-01-28 05:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-36w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mono-mini-correction-tape-single-line-non-refillable-1-6-in-x-315-in-white-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/literature-mailers-12-1-8-x-9-1-4-x-6-1-2-200lb-test-ect-32-white-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-13-x-13-x-2-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-entered-1-2-x-1-5-8-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-13-x-18-8-mil-clear-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-48w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-backcountry-x-800r-800cc-snowmobile-battery-2014-2016-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rs-venture-gt-1049cc-snowmobile-replacement-battery-2009-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-36w-x-36d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bill-of-lading-snap-a-way-3-part-carbonless-8-1-2-x-7-250-sets-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-10-x-6-x-3-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-tundra-lt-550f-550cc-snowmobile-replacement-battery-2012-2018-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-starter-60w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cool-shield-thermal-bubble-rolls-16-x-125-x-3-16-thickness>: HTTP status code is not handled or not allowed 2026-01-28 05:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-king-cat-900-efi-early-build-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 05:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-5-x-8-8-mil-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-poly-green-wire-shelving-unit-starter-72w-x-12d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-flame-amplifier-r7861a1026-for-7800-series-and-r7140-relay-modules-2-seconds-or-3-seconds>: HTTP status code is not handled or not allowed 2026-01-28 05:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-wiring-subbase-q7800b1011-burner-wall-mount-3-knockouts-each-end>: HTTP status code is not handled or not allowed 2026-01-28 05:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-thermostat-guard-6-1-4-in-x-3-5-8-in-x-3-1-4-in-opening-tg1>: HTTP status code is not handled or not allowed 2026-01-28 05:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-tnt-ace-900-899cc-snowmobile-replacement-battery-2014-2018-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-green-wire-shelving-unit-starter-30w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-green-wire-shelving-unit-add-on-42w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inner-core-cable-75-feet-l-x-3-8-inch-for-use-w-k-3800-drum-machine>: HTTP status code is not handled or not allowed 2026-01-28 05:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8721-containment-berm-rapid-rise-15-x-72-copolymer-2000>: HTTP status code is not handled or not allowed 2026-01-28 05:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-tundra-sport-ace-600-600cc-snowmobile-replacement-battery-2012-2018-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harness-quick-connect-buckles-rdt-qc-ubk>: HTTP status code is not handled or not allowed 2026-01-28 05:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-roof-anchor-ra41>: HTTP status code is not handled or not allowed 2026-01-28 05:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pedestal-post-for-585279-292230>: HTTP status code is not handled or not allowed 2026-01-28 05:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rx10rs-rx-1-er-le-1000cc-snowmobile-replacement-battery-2003-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8714-containment-berm-rapid-rise-12-x-60-copolymer-2000>: HTTP status code is not handled or not allowed 2026-01-28 05:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-8-doors-tablet-cell-phone-locker-with-keyed-lock-hasp-master-door-open-black>: HTTP status code is not handled or not allowed 2026-01-28 05:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hollow-steel-half-glass-door-cylindrical-prep-curries-hinge-16-ga-32w-x-80h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hollow-steel-flush-door-mortise-prep-steelcraft-hinge-16-ga-36w-x-84h>: HTTP status code is not handled or not allowed 2026-01-28 05:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-911818720-single-tier-18-x-18-x-72-1-wide-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:35:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al3346g-gfci-surge-receptacle-cover-6l>: HTTP status code is not handled or not allowed 2026-01-28 05:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbit-mobile-powered-cart-with-4-swappable-lifepo4-batteries>: HTTP status code is not handled or not allowed 2026-01-28 05:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-cs340-ovation-deluxe-le-340cc-snowmobile-replacement-battery-1989-1998-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-725-2-piece-large-port-ball-valve-carbon-steel-34-threaded>: HTTP status code is not handled or not allowed 2026-01-28 05:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rst90gt-rs-venture-gt-1049cc-snowmobile-replacement-battery-2009-2015-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-summit-800-ho-adrenaline-800cc-snowmobile-replacement-battery-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63886 pages (at 98 pages/min), scraped 32466 items (at 22 items/min) 2026-01-28 05:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-gsx-limited-600-595cc-snowmobile-replacement-battery-2008-2011-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-heavyweight-reference-sheet-protectors-8-1-2w-x-11h-nonglare-50-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deodorizing-z-mat-commode-mat-black-gjo58331>: HTTP status code is not handled or not allowed 2026-01-28 05:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-toolbox-z600-big-grip-bucket-wh-rags-300-sheets-2-bucket-60320>: HTTP status code is not handled or not allowed 2026-01-28 05:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-1002nl-full-port-ball-valve-no-lead-forged-brass-3-threaded>: HTTP status code is not handled or not allowed 2026-01-28 05:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucy-3-piece-outdoor-bistro-set-27-1-2-w-x-29-1-2-h-table-taupe>: HTTP status code is not handled or not allowed 2026-01-28 05:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 05:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y996-215thfw7726-10hp-230-460v-1800rpm-3ph-215tc-tefc>: HTTP status code is not handled or not allowed 2026-01-28 05:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y572-326thfs8028-50hp-230-460v-1800rpm-3ph-326t-tefc>: HTTP status code is not handled or not allowed 2026-01-28 05:36:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/gaffer_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x032-1-2hp-115-230v-1625rpm-1ph-teao-48yz-fr>: HTTP status code is not handled or not allowed 2026-01-28 05:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-sterile-gauze-pads-3-x-3-10-box>: HTTP status code is not handled or not allowed 2026-01-28 05:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-g853-056c17g5320-1-3hp-115-208-230v-1800rpm-1ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 05:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y364-56h17t2021-1hp-230-460v-1800rpm-3ph-56c-tefc>: HTTP status code is not handled or not allowed 2026-01-28 05:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prescription-drop-box-rx-164-6-5-8w-x-14-1-8d-x-15-3-4h-beige>: HTTP status code is not handled or not allowed 2026-01-28 05:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hg646-1-3hp-115-230v-1725rpm-1ph-tenv-48ny-fr>: HTTP status code is not handled or not allowed 2026-01-28 05:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-separator-12>: HTTP status code is not handled or not allowed 2026-01-28 05:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-g855-056c17g5321-1-2hp-115-208-230v-1800rpm-1ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 05:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-671nl-lf-brass-14-turn-no-kink-hose-bibb-34-mnpt>: HTTP status code is not handled or not allowed 2026-01-28 05:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-lava-digital-controlled-wood-fired-oven-convection-fan-48>: HTTP status code is not handled or not allowed 2026-01-28 05:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-response-2-complete-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-671nl-lf-brass-14-turn-no-kink-hose-bibb-12-mnpt>: HTTP status code is not handled or not allowed 2026-01-28 05:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/argosrack-gun-open-rack-awr83-24r-holds-24-rifles-42w-x-15d-x-83h-battleship-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-531nl-lf-brass-hose-bibb-12-mnpt>: HTTP status code is not handled or not allowed 2026-01-28 05:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-response-complete-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/building_construction_tape/gaffer_tape>: HTTP status code is not handled or not allowed 2026-01-28 05:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-3000-1-piece-gas-ball-valve-forged-brass-38-flare-x-38-flare>: HTTP status code is not handled or not allowed 2026-01-28 05:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/para-systems-minuteman-b00009-ups-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-argos-full-shelf-ws-6442-ws23-battleship-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-argos-half-shelf-ws-6421-ws23-battleship-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alaris-medical-gemini-1320-medical-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-365ab-butterfly-valve-with-epdm-seals--10-position-handle-12-lug>: HTTP status code is not handled or not allowed 2026-01-28 05:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cell-phone-locker-with-access-panel-19158-25arc-recessed-mounted-combo-locks-25-a-doors-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 05:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/criticare-systems-504-pony-medical-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f780-1-2hp-208-230v-850rpm-1ph-tenv-56y-fr>: HTTP status code is not handled or not allowed 2026-01-28 05:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harmar-sl350ac-indoor-straight-stairlift-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/courier-and-collection-box-4975gry-gray-private-access>: HTTP status code is not handled or not allowed 2026-01-28 05:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enersys-np17-12i-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-coupled-pump-motor-z410-75hp-230v-3600rpm-1ph-213jm-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 05:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solar-jumper850-j850-jump-starter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lmasmb-filtered-mechanical-surface-mount-w-battery-powered-visual-monitor>: HTTP status code is not handled or not allowed 2026-01-28 05:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-e490-286tstfna6804-30hp-230-460v-3600rpm-3ph-286ts-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 05:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-series-forced-air-unit-heater-cw-tstat-5000w-600v-13-phase>: HTTP status code is not handled or not allowed 2026-01-28 05:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-medical-system-scale-3903-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coopower-cp6-4-5-sealed-lead-acid-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperpure-pe-rt-tubing-12id-x-58od-x-500-coil-red>: HTTP status code is not handled or not allowed 2026-01-28 05:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cxf-series-screw-plug-immersion-heater-2-12npt-6000w-600v-30l>: HTTP status code is not handled or not allowed 2026-01-28 05:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s036-056c17d2067-3-4hp-1800rpm-115-230v-1ph-56-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 05:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e264-5kcr46mn0055y-1-2hp-1725-1425rpm-100-120-200-240v-1ph-56c-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 05:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uni-paint-marker-broad-tip-white>: HTTP status code is not handled or not allowed 2026-01-28 05:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/springer-contr-merz-w451-7-i3-da-40a-3-pole-encl-reversing-switch-spring-return-lockable-handle>: HTTP status code is not handled or not allowed 2026-01-28 05:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-301-non-rising-stem-gate-valve-cast-iron-6-flanged>: HTTP status code is not handled or not allowed 2026-01-28 05:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/defender174-spdt-explosion-proof-hd-thermostat-heatcool-only-22a>: HTTP status code is not handled or not allowed 2026-01-28 05:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-312-ductile-iron-check-valve-with-epdm-seats-aluminum-bronze-disc-6-wafer>: HTTP status code is not handled or not allowed 2026-01-28 05:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-efficiency-motor-e2107-2hp-1800rpm-208-230-460v-3ph-145t-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 05:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-312-check-valve-with-epdm-seats-ductile-iron-disc-6-wafer>: HTTP status code is not handled or not allowed 2026-01-28 05:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-e-premium-flame-resistant-rain-bib-pants-hrc2-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-28 05:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cooling-tower-duty-motor-y390-60-15-hp-1800-900-rpm-460v-3ph-365t-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 05:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-structural-column-protector-6-1-4-square-opening-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-gal-half-round-ash-urn-side-opening-waste-recept-sat-alum-1894-sa-sa>: HTTP status code is not handled or not allowed 2026-01-28 05:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-pipe-fitting-90-degree-two-socket-tee-1-1-4-dia>: HTTP status code is not handled or not allowed 2026-01-28 05:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-x019-48a11o1351-1-3hp-1075rpm-277v-1ph-48y-fr-opao>: HTTP status code is not handled or not allowed 2026-01-28 05:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-titan-shop-stool-with-footrest-adj-height-solid-wood-seat-24-32h-maple-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 05:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-h165-5kh32jn3128x-1-3hp-1725rpm-115v-1ph-48z-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 05:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60455033252-stikitgold-disc-roll-df-6dia-p220-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s2010b-blank-end-fitting-125v-15a-34l>: HTTP status code is not handled or not allowed 2026-01-28 05:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orange-traffic-cone-mount-retracting-belt-barrier-10-orangeblack-diagonal-stripe-belt>: HTTP status code is not handled or not allowed 2026-01-28 05:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-add-on-72w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-max-ml18-12-sealed-lead-acid-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelon-blue-wire-shelving-unit-add-on-48w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-add-on-60w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s20gb206-plugmold-125v-15a-2l-4-outlets>: HTTP status code is not handled or not allowed 2026-01-28 05:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firstpower-lfp1280a-sealed-lead-acid-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 05:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mjp3-2d-fl-lp-48w-x-24d-mobile-service-bench-center-shelf-butcher-block-top>: HTTP status code is not handled or not allowed 2026-01-28 05:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-starter-30w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mjp2d-fl-lp-48w-x-24d-mobile-service-bench-with-butcher-block-top>: HTTP status code is not handled or not allowed 2026-01-28 05:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-pvc-ceiling-tile-75600-waterproof-washable-border-fill-2l-x-2w-white>: HTTP status code is not handled or not allowed 2026-01-28 05:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-main-21200-use-for-1w-grid-white>: HTTP status code is not handled or not allowed 2026-01-28 05:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powder-coffee-creamer-non-dairy-12-oz>: HTTP status code is not handled or not allowed 2026-01-28 05:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chewy-chocolate-caramels-individually-wrapped-187-lbs-6carton>: HTTP status code is not handled or not allowed 2026-01-28 05:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-16103msbk-6-outlet-surge-protector-3ft-cord-black>: HTTP status code is not handled or not allowed 2026-01-28 05:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 63986 pages (at 100 pages/min), scraped 32486 items (at 20 items/min) 2026-01-28 05:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-black-epoxy-wire-shelving-unit-starter-24w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-black-epoxy-wire-shelving-unit-starter-54w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-patrol-sla2608-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-5-10-cylinder-aluminum-storage-cabinet-30w-x-32d-x-65h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-card-size-thermal-laminating-pouches-5-mil-3-3-4-x-2-3-8-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quasar-500-manual-comb-binding-machine-18-1-8-x-15-3-8-x-5-1-8-metallic-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-drum-drumshed>: HTTP status code is not handled or not allowed 2026-01-28 05:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-72w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/medical_supply_carts/procedure_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p170-p171w-mp11-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-security-caddx-networx-nx-4-alarm-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-55-gal-drum-manual-flammable-cabinet-incl-drum-support-34w-x-34d-x-65h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leveling-caster-wgd-80f-1100-lb-load-rating-plate-mounted>: HTTP status code is not handled or not allowed 2026-01-28 05:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-gallon-1-sliding-door-self-close-paint-ink-cabinet-43w-x-18d-x-44h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permobil-trax-miniflex-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-42w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amigo-mobility-mcx-690000b-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-72w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-39005775-12-male-oring-x-38-female-pipe-swivel>: HTTP status code is not handled or not allowed 2026-01-28 05:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/medical_supply_carts/procedure_carts>: HTTP status code is not handled or not allowed 2026-01-28 05:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-rehab-s646-power-wheelchair-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-poly-z-brite-wire-shelving-unit-add-on-54w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15100-megatape-ptfe-tape-1-2-x-1000>: HTTP status code is not handled or not allowed 2026-01-28 05:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-roller-shopping-basket-blue-pkg-qty-10>: HTTP status code is not handled or not allowed 2026-01-28 05:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-add-on-48w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bruno-pacesaver-scout-rf-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-poly-z-brite-wire-shelving-unit-add-on-24w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orthofab-lifestyles-commuter-wheelchair-u1-wheelchair-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-9-1-2-inch-dia-cw-or-ccw-9-1-2-inch-w-3-4-inch-bore>: HTTP status code is not handled or not allowed 2026-01-28 05:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-10-5-8-inch-dia-cw-or-ccw-10-5-8-inch-w-5-8-inch-bore>: HTTP status code is not handled or not allowed 2026-01-28 05:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-6-5-16-inch-dia-cw-2000-rpm-1-2-inch-bore-3-7-16-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 05:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urban-ultra-multicase-173-17-x-4-1-2-x-12-1-10-black>: HTTP status code is not handled or not allowed 2026-01-28 05:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-wing-condenser-fan-blade-interchangeable-hub-aluminum-blade-cw-24-inch-dia-18-pitch>: HTTP status code is not handled or not allowed 2026-01-28 05:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-starter-54w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-5-3-4-inch-dia-cw-3450-rpm-1-2-inch-bore-6-7-8-inch-w-aluminium>: HTTP status code is not handled or not allowed 2026-01-28 05:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-hubless-fan-blade-10-inch-dia-31-pitch-cw-1-5-8-inch-blade-depth-5-blade>: HTTP status code is not handled or not allowed 2026-01-28 05:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-xcaliber-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acl-f-36x18-combination-louver-damper-with-flange-36wx18h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dfl-f-48x24-drainable-blade-fixed-louver-with-flange-48wx24h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t2449-1-oil-bearings-with-insulator>: HTTP status code is not handled or not allowed 2026-01-28 05:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-yellow-led-lights-for-psz-slm-portable-safety-zone-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-poly-z-brite-wire-shelving-unit-starter-24w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-4-27-32-inch-dia-cw-3600-rpm-1-2-inch-bore-7-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 05:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-ut12180-lawn-and-garden-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pp2-bl-58p-next-generation-rolling-blue-sign-base-w-58-pole>: HTTP status code is not handled or not allowed 2026-01-28 05:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-solid-shelving-unit-starter-48w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-4-3-4-inch-dia-cw-3450-rpm-1-2-inch-bore-2-15-16-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 05:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-motor-mounting-brackets-for-12-inch-blower>: HTTP status code is not handled or not allowed 2026-01-28 05:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ma-020-22x-handheld-led-light-magnifier>: HTTP status code is not handled or not allowed 2026-01-28 05:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-hubless-fan-blade-8-3-4-inch-dia-32-pitch-cw-3-inch-blade-depth-3-blade>: HTTP status code is not handled or not allowed 2026-01-28 05:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-3-shelf-vented-plastic-mat-shelving-unit-starter-54w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-5-1-4-inch-dia-ccw-3450-rpm-1-2-inch-bore-2-1-2-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 05:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-2cl12s15-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-stainless-steel-solid-shelving-unit-add-on-48w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powershred-waste-bags-for-99ci-shredder>: HTTP status code is not handled or not allowed 2026-01-28 05:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-pe6-5-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300-015-crimper-d-sub-closed-barrel-contacts-4-way-indent-awg-26-20>: HTTP status code is not handled or not allowed 2026-01-28 05:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-2tc12s20-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ft-leaning-rail-in-ground-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 05:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3gw5di-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-25-58mm-hand-held-label-applicator>: HTTP status code is not handled or not allowed 2026-01-28 05:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/die-cut-shipping-labels-24-x-39-white-300-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-ps12120l-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-divider-16-1-2-inch-h-x-18-inch-d-offset-only-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-labeling-tape-1-2w-gold-on-black>: HTTP status code is not handled or not allowed 2026-01-28 05:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-pe72f1-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-divider-12-inch-h-x-18-inch-d-offset-and-nut-and-bolt-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a206-4-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-labeling-tape-3-4w-blue-on-white>: HTTP status code is not handled or not allowed 2026-01-28 05:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-high-cap-boltless-shelving-steel-deck-add-on-48-in-w-x-18-in-d-x-96-in-h>: HTTP status code is not handled or not allowed 2026-01-28 05:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sliding-divider-8-inch-h-x-12-inch-d-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-80-8000-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-and-side-panel-for-nut-and-bolt-units-36-inch-x-39-inch-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-extra-hd-boltless-shelving-add-on-36-in-w-x-12-in-d-x-60-in-h-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-cmf25ts2-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4ffatcbk-poke-thru-assembly-4-feed-flush-black>: HTTP status code is not handled or not allowed 2026-01-28 05:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmgren-9612403-low-profile-drill-press-vise-4>: HTTP status code is not handled or not allowed 2026-01-28 05:37:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-cascade-10-pocket-magazine-rack-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 05:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 64084 pages (at 98 pages/min), scraped 32507 items (at 21 items/min) 2026-01-28 05:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-100u-mocha-quartztone-series-granite-dual-mount-bar-prep-sink-mocha>: HTTP status code is not handled or not allowed 2026-01-28 05:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-single-square-bottom-legal-size-file-holder-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 05:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-cascade-7-pocket-magazine-rack-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 05:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-wallsaver-luggage-rack-with-tan-webbing-medium-oak>: HTTP status code is not handled or not allowed 2026-01-28 05:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-100u-midnite-quartztone-series-granite-dual-mount-bar-prep-sink-black>: HTTP status code is not handled or not allowed 2026-01-28 05:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-lithonia-elsq-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bat610g-18v-lithium-ion-hc-slimpack-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transport-storage-cabinet-all-welded-36w-x-24d-x-72h-textured-black>: HTTP status code is not handled or not allowed 2026-01-28 05:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-reinforcing-chairs3-mesh-up-for-0-gauge-wire100-box-qty>: HTTP status code is not handled or not allowed 2026-01-28 05:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/national-power-gs038r2-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wirecraftersrackback-wire-mesh-pallet-rack-enclosure-hinged-door-108x120-797134>: HTTP status code is not handled or not allowed 2026-01-28 05:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-ballistic-bullet-resistant-vest-level-iii-a-foam-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 05:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lightning-tl930035-emergency-light-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks>: HTTP status code is not handled or not allowed 2026-01-28 05:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tank-liquid-level-gauge-stainless-steel-bushing-rod-float-2-fitting-24-depth>: HTTP status code is not handled or not allowed 2026-01-28 05:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-gator-hpx-ride-on-toys-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-filter-element-ab-ep10003-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ion-audio-pathfinder-2-red-speaker-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-n-go-pcd-w-tcd-shark-cw-002-1349-00-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-24ind-x-60inh-wire-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 05:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awsw-partition-80x7-f-sand>: HTTP status code is not handled or not allowed 2026-01-28 05:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-36in-w-x-12in-d-x-60in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-62wsvrca-4sided-l-r-open-front-15l-x-5w-vented-standing-seam-roof-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-36in-w-x-18in-d-x-84in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marcum-lx-6-fishinglocator-fish-finder-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mongoose-cbal24v450-electric-bicycle-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-63fdkb-3sided-wopen-front-15l-x-76w-flat-roof-dk-bronze>: HTTP status code is not handled or not allowed 2026-01-28 05:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-ranger-gt-hp243-ride-on-toys-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 05:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-computer-workstation-with-slide-out-keyboard-shelf-30-w-x-18-d-x-74-h-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd24-one-24-skate>: HTTP status code is not handled or not allowed 2026-01-28 05:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-ksf400-a-kfx400-400cc-atv-replacement-battery-2003-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chamberlain-3-4-hps-myq-belt-whisper-drive-garage-door-battery-5ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/933xl-high-yield-yellow-original-ink-cartridge>: HTTP status code is not handled or not allowed 2026-01-28 05:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-0-12-ton-imported-single-leverage-arbor-press>: HTTP status code is not handled or not allowed 2026-01-28 05:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-high-cap-boltless-shelving-starter-72-in-w-x-36-in-d-x-60-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-outlander-400-efi-400cc-atv-replacement-battery-2011-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd21-3-three-21-skates-wing-kit>: HTTP status code is not handled or not allowed 2026-01-28 05:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mt182418-2k195-machine-table-with-one-shelf-24w-x-18d-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 05:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-72-in-w-x-15-in-d-x-60-in-h-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 05:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-48-in-w-x-48-in-d-x-84-in-h-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 05:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yzf750r-750cc-motorcycle-replacement-battery-1994-1998-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cabinet-workbench-with-3-shelves--wheel-brakes-72w-x-30d-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hwbmt-364824-95-extra-heavy-duty-machine-table-with-top-shelf-only-48w-x-36d-x-24h>: HTTP status code is not handled or not allowed 2026-01-28 05:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-vegas-1634cc-motorcycle-replacement-battery-2006-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cabinet-workbench-with-2-shelves--floor-lock-60w-x-30d-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cabinet-workbench-with-3-shelves--wheel-brakes-60w-x-30d-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-shiver-900-900cc-motorcycle-replacement-battery-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ducati-biposto-996cc-motorcycle-replacement-battery-2001-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:38:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/920-case-16-11-16l-x-13-3-8w-x-6-13-16h-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-xv1100h-1100cc-motorcycle-replacement-battery-1986-1999-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 05:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m30-a-metric-eyebolt-shoulder-pattern-m30-x-350-short-shank>: HTTP status code is not handled or not allowed 2026-01-28 05:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2027-a-hdg-carbon-eyebolt-shoulder-pattern-5-8-11-1-1-4-shank-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 05:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-electric-heater-catchers-mask-1500w-3-speed-with-infrared-convection-dual-heat>: HTTP status code is not handled or not allowed 2026-01-28 05:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-ceiling-hanging-bracket-mounting-hardware-salamander-heater>: HTTP status code is not handled or not allowed 2026-01-28 05:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-mobile-storage-bin-msb6-2036-95-6-openings-36w-x-24d-x-49-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 05:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/woolen-fire-blanket-21-610>: HTTP status code is not handled or not allowed 2026-01-28 05:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/whf-series-replacement-grille-whfg-white>: HTTP status code is not handled or not allowed 2026-01-28 05:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-baseboard-heater-2k2405a-500w-240v-27l-almond>: HTTP status code is not handled or not allowed 2026-01-28 05:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-fiberglass-jaw-style-mop-handle-red-12-pack-36947505>: HTTP status code is not handled or not allowed 2026-01-28 05:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-cove-heater-kcv1206-560w-120v-47l-pearl-white>: HTTP status code is not handled or not allowed 2026-01-28 05:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-workbench-72-x-30-pegboard-panel-butcher-block-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 05:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-wave-venture-700-700cc-personal-watercraft-battery-1995-1996-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories>: HTTP status code is not handled or not allowed 2026-01-28 05:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fried-ue10d33c-uni-fit-thru-the-wall-air-conditioner-10000-btu-cool-11200-but-heat-230-208v>: HTTP status code is not handled or not allowed 2026-01-28 05:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-fxi-700-700cc-personal-watercraft-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securio-autofeed-300c-300-sheet-stack-5-7-sheet-micro-cut-9-gal-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-flush-door-with-185-yellow-bins-16-ga-all-welded-cabinet-60-w-x-24-d-x-84-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-deep-door-with-176-red-bins-16-ga-all-welded-cabinet-48-w-x-24-d-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-deep-door-with-louvered-panels-no-bin-shelf-16-ga-all-welded-cabinet-48-w-x-24-d-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meyra-2482narrow-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-4-station-with-electronic-faucet-round-tubes-132l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-28 05:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/371110002-round-spinbar-magnetic-stir-bar-teflon-ptfe-2l-x-5-16dia-white>: HTTP status code is not handled or not allowed 2026-01-28 05:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badsey-hot-scoot-mobility-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bladez-xtr-se-450-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 05:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-5008-class-3-hi-viz-moisture-wicking-birdeyes-short-sleeve-t-shirt-orange-xl-tall>: HTTP status code is not handled or not allowed 2026-01-28 05:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-2702-class-3-heavy-duty-safety-vest-orange-3xl>: HTTP status code is not handled or not allowed 2026-01-28 05:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-1700-orbital-genie-adhering-mat-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-1400-incubator-genie-shaking-incubator-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushman-1-8-3-4-inch-key-type-industrial-heavy-duty-drill-chuck-3jt>: HTTP status code is not handled or not allowed 2026-01-28 05:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-c-emergency-collet-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-stp-stl-all-direct-safet-roll-lad-wt-actu-16-perf-stp-wa-ad-062414p>: HTTP status code is not handled or not allowed 2026-01-28 05:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wus-tech-mambo-211-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-welded-workbench-48-x-30-open-base--louvered-panel-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 05:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-heavy-duty-workbench-adjustable-height-84w-x-42d-x-36h-3600-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-cover-lpgred-26dia-x-41-1-4h-4-rings-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-stp-stl-all-direct-safet-roll-lad-wt-actu-24-perf-stp-wa-ad-093214p>: HTTP status code is not handled or not allowed 2026-01-28 05:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-cl1385qq64-4-1-2dia-x-64h-black-w-no-tape>: HTTP status code is not handled or not allowed 2026-01-28 05:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-3512w-10-7-8dia-x-60h-blue-w-white-tape>: HTTP status code is not handled or not allowed 2026-01-28 05:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-bar-htgrd4580y-4-1-2dia-x-80l-yellow-w-graphics>: HTTP status code is not handled or not allowed 2026-01-28 05:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 64186 pages (at 102 pages/min), scraped 32520 items (at 13 items/min) 2026-01-28 05:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f2-19m-str-2-sludge-dispersant-de-icer-1-gal-tip-pour>: HTTP status code is not handled or not allowed 2026-01-28 05:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z1320-ez-34x10-wall-hydrant-wceramic-disc-34-x-10>: HTTP status code is not handled or not allowed 2026-01-28 05:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-sunfire-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 05:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kn-rp47c-rattle-paddle-47-red>: HTTP status code is not handled or not allowed 2026-01-28 05:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-36w-x-30d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-fully-powered-counter-balanced-stacker-s-cb-62-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drinking-cup-w-lanyard-5-oz-clear-1-case-dx1525m>: HTTP status code is not handled or not allowed 2026-01-28 05:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-scatto-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-oal-straight-steel-roller-conveyor-19-roller-dia-10-bf-6-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 05:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-oal-straight-galvanized-steel-roller-conveyor-1-3-8-roller-dia-22-bf-3-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 05:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/du1682-ns-cantilever-rack-double-sided-upright-82w-x-16h>: HTTP status code is not handled or not allowed 2026-01-28 05:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-loop-fastener-34-buttons-34-hook-white>: HTTP status code is not handled or not allowed 2026-01-28 05:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-24w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-adapter>: HTTP status code is not handled or not allowed 2026-01-28 05:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2sa42l-cantilever-rack-straight-arm-withlip-42-long>: HTTP status code is not handled or not allowed 2026-01-28 05:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1549-cantilever-rack-single-sided-upright-49d-x-15h>: HTTP status code is not handled or not allowed 2026-01-28 05:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2xhdsa42-cantilever-rack-straight-arm-no-lip-42-long>: HTTP status code is not handled or not allowed 2026-01-28 05:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24b48x-cantilever-rack-horizontal-brace-4-withx-bracing-48w-for-16-18-20-upright>: HTTP status code is not handled or not allowed 2026-01-28 05:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-gtx-800-ho-800cc-snowmobile-replacement-battery-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-800-ho-793cc-snowmobile-replacement-battery-2004-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-60w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-mountain-cat-800-le-144-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 05:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-merchandising-strip-double-sided-12-stations-15-12l>: HTTP status code is not handled or not allowed 2026-01-28 05:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wobbler-sign-holder-4>: HTTP status code is not handled or not allowed 2026-01-28 05:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-legend-700-693cc-snowmobile-replacement-battery-2004-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-channel-3-x-48l-white>: HTTP status code is not handled or not allowed 2026-01-28 05:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rx-warrior-998cc-snowmobile-replacement-battery-2004-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-48w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-nytro-1000cc-snowmobile-replacement-battery-2006-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wobbler-sign-tapered-holder-6>: HTTP status code is not handled or not allowed 2026-01-28 05:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-summit-550f-550cc-snowmobile-replacement-battery-2003-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-se-800r-799cc-snowmobile-replacement-battery-2014-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dover-mailbox-post-5810-b-56h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-se-e-tec-800r-snowmobile-replacement-battery-2012-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rst90tfl-rs-venture-tf-le-900cc-snowmobile-battery-2016-2017-12v>: HTTP status code is not handled or not allowed 2026-01-28 05:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-48w-x-24d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-54w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-iq-turbo-750cc-snowmobile-replacement-battery-2011-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-cfp-lw-fits-lift-rite-model-cf>: HTTP status code is not handled or not allowed 2026-01-28 05:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-piercing-flush-to-channel-sign-holder>: HTTP status code is not handled or not allowed 2026-01-28 05:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-wheel-kit-for-manual-pallet-jack-gwk-bf-ck-fits-mighty-lift-model-ml55>: HTTP status code is not handled or not allowed 2026-01-28 05:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-carbon-steel-hex-re-threading-die-1-3-8-8-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-x-440-437cc-snowmobile-replacement-battery-1998-2003-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/mounted_points already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-24w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-multi-purpose-cleaner-degreaser-gallon-bottle4-bottlescase-640407>: HTTP status code is not handled or not allowed 2026-01-28 05:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-1200-renegade-snowmobile-replacement-battery-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-counter-height-storage-cabinet-4218dlx-53-welded-36w-x-18d-x-42h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-30w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ventilated-locker-vdl-121836-c-02-double-tier-no-legs-3-wide-12x18x36-welded-med-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/SVTR-3024-24-W-x-30-D-T-430-18-ga-Stainless-Steel-Workbench-with-a-15-backsplash>: HTTP status code is not handled or not allowed 2026-01-28 05:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-42w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-bearcat-7000-xt-1049cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 05:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ba-fans-aireye-directional-fan-with-swivel-mount-24-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/points_burrs/mounted_points>: HTTP status code is not handled or not allowed 2026-01-28 05:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodservice-shovel-14-inch-white>: HTTP status code is not handled or not allowed 2026-01-28 05:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a75-4l770-v-belt-1-2-x-77>: HTTP status code is not handled or not allowed 2026-01-28 05:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-wheel-chock-912-l>: HTTP status code is not handled or not allowed 2026-01-28 05:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-60w-x-18d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-heavy-duty-panel-cart-w-5x-2-poly-casters-4000-lb-capacity-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-60w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-top-receptacle-36-gallon-9895>: HTTP status code is not handled or not allowed 2026-01-28 05:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-48w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-steel-flat-file-for-24-36-documents-black>: HTTP status code is not handled or not allowed 2026-01-28 05:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a95-4l970-v-belt-1-2-x-97>: HTTP status code is not handled or not allowed 2026-01-28 05:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exit-device-vertical-rod-grade-1-36-rhr>: HTTP status code is not handled or not allowed 2026-01-28 05:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-lockset-entrance-grade-2-au-handle-sfic-core-less-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 05:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exit-device-lever-trim-grade-1-sfic-prep>: HTTP status code is not handled or not allowed 2026-01-28 05:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-lockset-storeroom-grade-2-pb-handle-c-keyway>: HTTP status code is not handled or not allowed 2026-01-28 05:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-54w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elevated-stands-w-support-for-30-gallon-conical-bottom-tank>: HTTP status code is not handled or not allowed 2026-01-28 05:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8249z-s-hi-vis-surveyors-vest-class-2-economy-single-size-2xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b188-v-belt-5-8-x-191>: HTTP status code is not handled or not allowed 2026-01-28 05:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-john-us-flag-safety-air-gun-75lj012aaus-12-ext-34-scfm>: HTTP status code is not handled or not allowed 2026-01-28 05:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b106-v-belt-5-8-x-109>: HTTP status code is not handled or not allowed 2026-01-28 05:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 64282 pages (at 96 pages/min), scraped 32541 items (at 21 items/min) 2026-01-28 05:39:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/head_face_protection/hard_hats_helmets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-office-partitions-gray-60-14w-x-72h-238640FGY>: HTTP status code is not handled or not allowed 2026-01-28 05:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b225-v-belt-5-8-x-228>: HTTP status code is not handled or not allowed 2026-01-28 05:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-different-1-1-2-aluminum-steel-orange-6-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-alike-1-1-2-aluminum-steel-red-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-umbrella-8-feet-green-2>: HTTP status code is not handled or not allowed 2026-01-28 05:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3710t-5g-3-ph-75-hp-575-v-1800-rpm-tefc-213t-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-48w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sign-cap-20-h>: HTTP status code is not handled or not allowed 2026-01-28 05:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-40x-1000x-monocular-microscope-5mp-digital-camera-50-pc-slide-sets-3-pc-tweezers-sets>: HTTP status code is not handled or not allowed 2026-01-28 05:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-40x-1000x-monocular-student-microscope-with-coarse-focus-10-pc-slide-set-experiment-cards>: HTTP status code is not handled or not allowed 2026-01-28 05:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-40x-1000x-led-portable-compound-microscope-with-slide-preparation-cleaning-kits-book>: HTTP status code is not handled or not allowed 2026-01-28 05:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-iqcrew-100x-1200x-kids-microscope-with-smartphone-adapter-accessory-kit>: HTTP status code is not handled or not allowed 2026-01-28 05:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-42w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/92307-aruba-cocktail-24-oz-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/head_face_protection/hard_hats_helmets>: HTTP status code is not handled or not allowed 2026-01-28 05:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-20x-50x-portable-stereo-microscope-6-pc-3d-insect-specimen-kits-book-digital-camera>: HTTP status code is not handled or not allowed 2026-01-28 05:40:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/stereo_microscopes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoover-174-hushtone-153-13-ch54113-upright-vacuum>: HTTP status code is not handled or not allowed 2026-01-28 05:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-36w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-72w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-48w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kilimanjaro-full-brim-hard-hat-hdpe-shell-4-pt-nylon-webbing-cradle-ratchet-adjustment-royal>: HTTP status code is not handled or not allowed 2026-01-28 05:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-42w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ken-forging-tbe-07-rh-hdg-turnbuckle-eye-5-8-11-x-4-9-16-galvanized-right-hand>: HTTP status code is not handled or not allowed 2026-01-28 05:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-idwnm22937t-3-phase-75-hp-1765-rpm-230-460-volts-tenv-254tc-fr>: HTTP status code is not handled or not allowed 2026-01-28 05:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-rocky-industrial-climbing-helmet-polycarbonate-abs-shell-ratchet-adjustment-white>: HTTP status code is not handled or not allowed 2026-01-28 05:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp83580t-4-3-ph-1-hp-460-v-3450-rpm-tefc-143tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/stereo_microscopes>: HTTP status code is not handled or not allowed 2026-01-28 05:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mk8-evolution-type-ii-linesman-hard-hat-hdpe-shell-eps-impact-liner-polyester-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 05:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dlr1060-dlr-series-1-watt-6-channel-digital-two-way-radio>: HTTP status code is not handled or not allowed 2026-01-28 05:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-36w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k530f-pathfinder-atv-tire-812-4pf-i-25x800-12-4ply>: HTTP status code is not handled or not allowed 2026-01-28 05:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-steel-wheel-715-of-r-7x150-1-3-8-offset-hub-1-2bb-rib-tread>: HTTP status code is not handled or not allowed 2026-01-28 05:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-72w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-42w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-54w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-54w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-54w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-72w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-42wx24dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-30w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-vecp3771t-4-3-ph-10-hp-460-v-3500-rpm-tefc-215tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-vhecp3660t-3-phase-3-hp-230-460-volts-3500-rpm-60-hz-tefc-182hp>: HTTP status code is not handled or not allowed 2026-01-28 05:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-60w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-24w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-vhecp3665t-3-phase-5-hp-208-230-460-volts-1750-rpm-60-hz-tefc-184hp>: HTTP status code is not handled or not allowed 2026-01-28 05:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prefilled-homogenizer-tubes-2-0ml-silica-glass-beads-1-0mm-acid-washed-50-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-72w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dial-key-storage-box-797-c-with-shackle>: HTTP status code is not handled or not allowed 2026-01-28 05:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maximum-security-square-chain-and-sleeve-10ks-38-x-2-black>: HTTP status code is not handled or not allowed 2026-01-28 05:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-explosion-proof-motor-cdx1850-05-hp-1750-rpm-xpfc-182cz>: HTTP status code is not handled or not allowed 2026-01-28 05:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magic-clamp-magnetic-clamp-250ml-erlenmeyer>: HTTP status code is not handled or not allowed 2026-01-28 05:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magic-clamp-magnetic-clamp-25ml-erlenmeyer>: HTTP status code is not handled or not allowed 2026-01-28 05:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-48w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inkcart-cli-251-gy>: HTTP status code is not handled or not allowed 2026-01-28 05:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-set-includes-rod-clamp>: HTTP status code is not handled or not allowed 2026-01-28 05:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-propeller-stainless-steel-centrifugal-impeller-for-overhead-stirrers>: HTTP status code is not handled or not allowed 2026-01-28 05:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e202-universal-multi-pole-circuit-breaker-lockout-00401>: HTTP status code is not handled or not allowed 2026-01-28 05:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5ml-round-adapter-for-sprint-8-plus-fits-15ml-rotors-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-54w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5e-ssmach-rod-end-machined-304-stainless-1-2-13-x-6>: HTTP status code is not handled or not allowed 2026-01-28 05:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-36w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3215t-g-3-ph-2-hp-208-230-460-v-1200-rpm-odp-184t-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-mortar-tub-w-8-inch-mold-on-rubber-casters-6-6-cu-ft-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp83584t-4-3-ph-15-hp-460-v-1760-rpm-tefc-145t-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triangular-brush-attatchment-for-gvc-models-390-1100-1250-1502>: HTTP status code is not handled or not allowed 2026-01-28 05:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-30w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-height-computer-workstation-72-x-36-wood>: HTTP status code is not handled or not allowed 2026-01-28 05:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-stock-23-gallon-tank-gct21s-22-l-x-22-w-x-28-h-price-each>: HTTP status code is not handled or not allowed 2026-01-28 05:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-36w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-handling-motor-veuhm3615t-3-ph-5-hp-208-230-460-v-1750-rpm-tefc-184tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-54w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-95-x-125-x-36mm>: HTTP status code is not handled or not allowed 2026-01-28 05:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7200sb-blind-stitch-sewing-machine-w-direct-drive>: HTTP status code is not handled or not allowed 2026-01-28 05:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-24w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4020sw-direct-drive-walking-foot-sewing-machine>: HTTP status code is not handled or not allowed 2026-01-28 05:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-alum-wheel-barrow-roll-ladd-24-14-plat-ribbed-wlartr109244>: HTTP status code is not handled or not allowed 2026-01-28 05:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-32-x-47-x-20mm>: HTTP status code is not handled or not allowed 2026-01-28 05:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-72w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-95-x-130-x-35mm>: HTTP status code is not handled or not allowed 2026-01-28 05:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-steel-stock-cart-36-x-24-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-120-x-165-x-45mm>: HTTP status code is not handled or not allowed 2026-01-28 05:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-lock-no-8143d-4-combination-cable-lock>: HTTP status code is not handled or not allowed 2026-01-28 05:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welder-box-4-cu-ft-steel-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drt-l163-lifebuoy-light-uscg-solas-med-atex-orange-20-30-inch-liferings>: HTTP status code is not handled or not allowed 2026-01-28 05:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-42wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evap-cooling-triangle-hat-w-cooling-towel-navy-western-12584>: HTTP status code is not handled or not allowed 2026-01-28 05:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-gloves-latex-cut-a4-impact-1-abrasion-4-puncture-5-gray-blue-m>: HTTP status code is not handled or not allowed 2026-01-28 05:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 64380 pages (at 98 pages/min), scraped 32553 items (at 12 items/min) 2026-01-28 05:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk-sk2000-seismic-pallet-rack-upright-42-x-144-2-cross-braces-18k-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-gloves-nitrile-cut-a4-impact-1-abrasion-4-puncture-4-gray-black-l>: HTTP status code is not handled or not allowed 2026-01-28 05:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-flex-gloves-15-gauge-nylon-shell-latex-coated-palm-fingertips-red-gray-2xl>: HTTP status code is not handled or not allowed 2026-01-28 05:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-control-accessory-bc144-forward-brake-reverse-switch-kit-for-bc140>: HTTP status code is not handled or not allowed 2026-01-28 05:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-hole-pegboard-strip-18Wx45H-white-epoxy>: HTTP status code is not handled or not allowed 2026-01-28 05:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-48w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/feedback-cable-w-assembly-ms-connector-cbl305zd-2-100-ft-extension-length>: HTTP status code is not handled or not allowed 2026-01-28 05:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/encoder-feedback-kit-417077-188-tebc-fl210-only-5-15>: HTTP status code is not handled or not allowed 2026-01-28 05:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpm-iii-dc-motor-tachometer-kit-417708-126-dpg-dpfv-tenv-frames-dc180-c180-dc2112>: HTTP status code is not handled or not allowed 2026-01-28 05:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-male-3-8-18nptf-to-female-1-4-18nptf>: HTTP status code is not handled or not allowed 2026-01-28 05:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s3200hs-genesis-anti-fog-safety-glasses-black-frame-clear-lens>: HTTP status code is not handled or not allowed 2026-01-28 05:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-acting-hydraulic-cylinder-100-ton-6-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-37-1402-odp-37-254-6uc-tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-36w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-motor-base-b447t-447t-3-4-x-3-1-2-bolt-size-w-2-adjustable-screw>: HTTP status code is not handled or not allowed 2026-01-28 05:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-42w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ja-x-1-2-1-2-x-2-j-series-quick-detach-steel-bushing-1-2-bore>: HTTP status code is not handled or not allowed 2026-01-28 05:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/constant-velocity-blower-cooling-conversion-kit-blwl12-l-1-ph-115v-324tc-326tc-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/differential-pressure-manometer-5-psi>: HTTP status code is not handled or not allowed 2026-01-28 05:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-wdm120-milk-shake-mixer-single-spindle-3-speed-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-72w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edge-protector-black-plastic-1-34-x-2-12>: HTTP status code is not handled or not allowed 2026-01-28 05:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-72w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-wfp14sc-food-processor-commercial-with-liquid-lock-3-1-2-quart>: HTTP status code is not handled or not allowed 2026-01-28 05:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-wfp11s-food-processor-commercial-2-1-2-quart>: HTTP status code is not handled or not allowed 2026-01-28 05:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-25l-pipette-ovation-f2-fixed-volume-two-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-50ml-reagent-reservoir-bulk-sterile-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w5617-10-cimeter-knife-white-handle-10>: HTTP status code is not handled or not allowed 2026-01-28 05:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-72w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 05:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-leveling-jack-4-12-to-21-12-5000-lb-cap-987703>: HTTP status code is not handled or not allowed 2026-01-28 05:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-add-on-48inw-x-48ind-x-120inh-6590-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knives-6l-recycled-polystyrene-1000-carton-black>: HTTP status code is not handled or not allowed 2026-01-28 05:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-100ml-reagent-reservoir-bulk-nonsterile-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-mc280-1-vhs-alternate-coupling-bore-size-1-frame-284tp-or-286tp>: HTTP status code is not handled or not allowed 2026-01-28 05:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-mc440250-16875-vhs-alternate-coupling-bore-size-16875-frame-445tp-250hp>: HTTP status code is not handled or not allowed 2026-01-28 05:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-4ml-pipette-mla-macro-white>: HTTP status code is not handled or not allowed 2026-01-28 05:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-cab-45-cap-w-locking-panel-light-gray-49-3-4w-x-17d-x-55-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 05:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-reciprocating-saw-bare-tool-1-14-stroke-20v>: HTTP status code is not handled or not allowed 2026-01-28 05:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stirrers-7l-wooden-1000-pack-wood>: HTTP status code is not handled or not allowed 2026-01-28 05:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-flip-top-training-table-with-casters-60l-x-24w-x-29h-designer-white>: HTTP status code is not handled or not allowed 2026-01-28 05:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-60l-pipette-mla-dtipper-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-automatic-air-freshener-refills-mountain-air-7-oz-can-12-refills-case>: HTTP status code is not handled or not allowed 2026-01-28 05:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-automatic-air-freshener-refills-lemon-7-oz-can-12-refills-case>: HTTP status code is not handled or not allowed 2026-01-28 05:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lzws-lrpbm8k-filtered-bottle-filling-station-w-integral-refrig-fountain>: HTTP status code is not handled or not allowed 2026-01-28 05:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-3-x-4-x-58-black-rubber-elliptical-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/selectivend-ws4000-snack-machine-32-selections-holds-up-to-474-items-6-adjustable-trays>: HTTP status code is not handled or not allowed 2026-01-28 05:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-2000-manway-gasket-11-x-15-x-1-graphite-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/confined-space-plenum-rated-heater-h3h5705t-5kw-240-208v-3-ph>: HTTP status code is not handled or not allowed 2026-01-28 05:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi-directional-drum-pump-51505>: HTTP status code is not handled or not allowed 2026-01-28 05:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-3-x-4-x-34-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-4-x-6-x-34-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-manway-gasket-12-x-15-x-1-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16002p-16-000-watts-pto-avr-generator-kit>: HTTP status code is not handled or not allowed 2026-01-28 05:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-2-extended-anvil-attachment-12-drive>: HTTP status code is not handled or not allowed 2026-01-28 05:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-6-x-8-x-1-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-carpetmaster-115-upright-vacuum-107407691>: HTTP status code is not handled or not allowed 2026-01-28 05:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-multi-purpose-table-with-t-legs--glides-72l-x-24w-x-29h-columbian-walnut>: HTTP status code is not handled or not allowed 2026-01-28 05:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-manway-gasket-912-x-14-x-118-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twin-series-clamp-for-hose-tsch038-3-8-inch-id-0777-od>: HTTP status code is not handled or not allowed 2026-01-28 05:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-4-6-8-10-extended-anvil-4-piece-set-12-drive>: HTTP status code is not handled or not allowed 2026-01-28 05:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-6-x-10-x-58-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hospitality-base-cabinet-with-1-drawer--2-doors-36w-x-25d-x-39h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 05:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/therm153-heated-glove-liner-one-size-black>: HTTP status code is not handled or not allowed 2026-01-28 05:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-round-bistro-table-36dia-columbian-walnut-topsilver-base>: HTTP status code is not handled or not allowed 2026-01-28 05:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-nut-90-union-elbow-h5506x4-1-4-inch-tube-od>: HTTP status code is not handled or not allowed 2026-01-28 05:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-pipe-swivel-to-male-pipe-45-elbow-h9355x4x4-1-4-18-npsm-nut-1-4-18-male-npt>: HTTP status code is not handled or not allowed 2026-01-28 05:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanix-wear-durahide153-original174-leather-gloves-brown-medium>: HTTP status code is not handled or not allowed 2026-01-28 05:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-thread-o-ring-hex-socket-plug-h7238x20-1-1-4-inch-port-size>: HTTP status code is not handled or not allowed 2026-01-28 05:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanix-wear-mpact174-gloves-synthetic-leatherd30174-palm-padding-blackgray-medium>: HTTP status code is not handled or not allowed 2026-01-28 05:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-female-elbow-h5455x16-1-inch-tube-od-1-inch-female-pipe-thread>: HTTP status code is not handled or not allowed 2026-01-28 05:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cep-95135-50-123-stw-string-light-plastic-guards-5-sockets>: HTTP status code is not handled or not allowed 2026-01-28 05:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-coverall-xl-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-universal-second-story-nozzles-cold-water-use-up-to-5000-psi>: HTTP status code is not handled or not allowed 2026-01-28 05:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennsco-deluxe-cabinet-36x18x78-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-replacement-spray-nozzles-rated-up-to-3600-psi-orifice-size-30>: HTTP status code is not handled or not allowed 2026-01-28 05:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-head-fh325-1-1-2-inch-npt-25-psi-bypass>: HTTP status code is not handled or not allowed 2026-01-28 05:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-nexus-self-adhesive-vinyl-floor-tile-12-x-12-medium-oak-planklook-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bg9-belt-guard-fits-reducer-styles-smr9-or-wsmr9>: HTTP status code is not handled or not allowed 2026-01-28 05:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-nexus-self-adhesive-vinyl-floor-tile-12-x-12-mosaic-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smr3-ta-torque-arm-for-a-size-3-shaft-mount-reducer>: HTTP status code is not handled or not allowed 2026-01-28 05:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-nexus-self-adhesive-vinyl-floor-planks-6-x-36-light-grey-oak-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smr825rbkit-rebuild-kit-for-an-original-style-shaft-mount-reducer-smr8-251>: HTTP status code is not handled or not allowed 2026-01-28 05:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 64481 pages (at 101 pages/min), scraped 32572 items (at 19 items/min) 2026-01-28 05:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-interlocking-foam-anti-fatigue-floor-tiles-24-x-24-ash-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5scds-2-screw-conveyor-shaft-2-fits-ultimate-shaft-mount-reducer-size-5->: HTTP status code is not handled or not allowed 2026-01-28 05:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-tivoli-self-adhesive-vinyl-floor-tile-12-x-12-classic-light-oak-diamond-parquet-45-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wsmr6-91-shaft-mount-reducer-size-6-91-ratio-3-716-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 05:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wsmr9-151-shaft-mount-reducer-size-9-151-ratio-4-1516-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 05:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-tee-h5705x6-3-8-inch-tube-od>: HTTP status code is not handled or not allowed 2026-01-28 05:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-ballistic-body-shield-tested-to-level-iiia-ballistic-resistance-black>: HTTP status code is not handled or not allowed 2026-01-28 05:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3wtbk-2-tapered-bushing-kit-2-fits-reducer-styles-smr3wsmr3>: HTTP status code is not handled or not allowed 2026-01-28 05:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-ballistic-vest-tested-to-level-iiia-ballistic-resistance-large>: HTTP status code is not handled or not allowed 2026-01-28 05:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smr9-151-shaft-mount-reducer-size-9-151-ratio-4-1516-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 05:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-full-face-gas-mask-w-double-filters-adjustable-suspension-system>: HTTP status code is not handled or not allowed 2026-01-28 05:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stamped-welding-flange-fa150-1-1-2-inch-aluminum-325-inch-od-055-inch-thick>: HTTP status code is not handled or not allowed 2026-01-28 05:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/salamander-heater-electric-wall-mount-fan-forced-480v-15-kw-3-phase-18-1-amps>: HTTP status code is not handled or not allowed 2026-01-28 05:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-hydraulic-reservoir-ur70s-675-gal-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-cotton-jacket-w-reflective-stripes-hi-vis-orange-l>: HTTP status code is not handled or not allowed 2026-01-28 05:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-whiffle-typical-10-triple-48-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-corn-brooms>: HTTP status code is not handled or not allowed 2026-01-28 05:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-lounge-sofa-cognac>: HTTP status code is not handled or not allowed 2026-01-28 05:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-safco-lounge-chair-cognac>: HTTP status code is not handled or not allowed 2026-01-28 05:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medical-transporter-infinite-recline-5-casters-push-bar-side-table-300-lbs-max-aquamarine>: HTTP status code is not handled or not allowed 2026-01-28 05:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-goggles-indirect-vent>: HTTP status code is not handled or not allowed 2026-01-28 05:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husky-frame-protector-for-pallet-racks-24h>: HTTP status code is not handled or not allowed 2026-01-28 05:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-mirella-coffee-table-southerntobacco>: HTTP status code is not handled or not allowed 2026-01-28 05:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pops-assorted-flavors-individually-wrapped-bulk-30-lb-carton>: HTTP status code is not handled or not allowed 2026-01-28 05:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lxny-w-3-r-m4-led-steel-exit-sign-2w-standard-non-emergency-white>: HTTP status code is not handled or not allowed 2026-01-28 05:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lbw-portable-gas-heater-tradesman-400-250k-400k-btu-lpg>: HTTP status code is not handled or not allowed 2026-01-28 05:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-valve-f600s-3-8-inch-steel-flow-control-valve-npt>: HTTP status code is not handled or not allowed 2026-01-28 05:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrically-operated-sectional-valves-hve342prpb-3-way-4-way-w-2-pr-pb>: HTTP status code is not handled or not allowed 2026-01-28 05:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-flow-control-ball-valve-hbv050-1-2-inch-valve-600-wog-non-shock>: HTTP status code is not handled or not allowed 2026-01-28 05:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl97-40-1-213-5tchelical-inline-speed-reducer213-5tc-input-flange40-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 05:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-button-down-long-sleve-work-shirt-4xl-tall-black>: HTTP status code is not handled or not allowed 2026-01-28 05:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-difd-08kp-digital-8-key-differential-counter-led-display-auto-switching>: HTTP status code is not handled or not allowed 2026-01-28 05:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-34l-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-247050w-shrink-wrap-24w-x-50l-7mil-white>: HTTP status code is not handled or not allowed 2026-01-28 05:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-706w-heat-shrink-tape-6w-x-180l-9mil-white>: HTTP status code is not handled or not allowed 2026-01-28 05:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-s-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-button-down-work-shirt-3xl-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5424200-36x24-shelf-zinc-finish>: HTTP status code is not handled or not allowed 2026-01-28 05:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-s-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5489000-5-polyurethane-caster-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5409800-36x18-shelf>: HTTP status code is not handled or not allowed 2026-01-28 05:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-4xl-tall-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-under-desk-keyboard-tray-platinum>: HTTP status code is not handled or not allowed 2026-01-28 05:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-tablet-viewstation-black>: HTTP status code is not handled or not allowed 2026-01-28 05:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grd-super-brute-3-speed-circulator-water-pump-ups-15-58-fc-59896341-115v-cast-iron>: HTTP status code is not handled or not allowed 2026-01-28 05:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-189524>: HTTP status code is not handled or not allowed 2026-01-28 05:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-28w-x-34l-green>: HTTP status code is not handled or not allowed 2026-01-28 05:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-box-dec-1-c2-series-15a-6-outlets-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-side-truck-bx-alum-7-9-cu-ft-cap-364-0-02>: HTTP status code is not handled or not allowed 2026-01-28 05:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-32l-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-36w-x-34l-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-34w-x-28l-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-galvanized-steel-shelving-189905>: HTTP status code is not handled or not allowed 2026-01-28 05:42:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-solid-shelving-add-on-189989>: HTTP status code is not handled or not allowed 2026-01-28 05:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-galvanized-steel-shelving-189951>: HTTP status code is not handled or not allowed 2026-01-28 05:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-48x21x54-nexelon-finish-331478N>: HTTP status code is not handled or not allowed 2026-01-28 05:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-72x21x54-nexelon-finish-331481N>: HTTP status code is not handled or not allowed 2026-01-28 05:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-40w-x-34l-green>: HTTP status code is not handled or not allowed 2026-01-28 05:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chair-truck-68-l-x-31-w-black>: HTTP status code is not handled or not allowed 2026-01-28 05:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5456800-48x18x74-shelving>: HTTP status code is not handled or not allowed 2026-01-28 05:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-28w-x-36l-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5650100-sase-shlvg-48x18x63-add-on>: HTTP status code is not handled or not allowed 2026-01-28 05:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ezi-action-60-15-drum-pump-with-m63r-fitting-food-grade>: HTTP status code is not handled or not allowed 2026-01-28 05:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sealed-sheave-bearing-e5011xnnts1-without-snap-rings-and-coating-55mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-single-wall-corrugated-box-26-x-16-x-16-200lb-test-ect-32-kraft-15-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-cardboard-corrugated-box-12-x-12-x-48-275-lb-ect-48-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-42w-x-34l-green>: HTTP status code is not handled or not allowed 2026-01-28 05:42:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 05:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-single-wall-corrugated-box-22-x-12-x-6-200lb-test-ect-32-kraft-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:42:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-literature-mailers-9-x-6-1-2-x-4-200lb-test-ect-32-b-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:42:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-12-4b-70mm-stack-light-steady-24v-acdc-led-red>: HTTP status code is not handled or not allowed 2026-01-28 05:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-5450-70mm-stack-mount-20-inch-flange-base-w-4-hole-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 05:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-tcl04sf5632-70mm-complete-light-stack-120v-led-gray-term-g-b-a-r>: HTTP status code is not handled or not allowed 2026-01-28 05:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-34w-x-29l-green>: HTTP status code is not handled or not allowed 2026-01-28 05:42:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copper-compression-lug-standard-barrel-1-hole-with-inspection-window-4-0-awg-3-8-stud-purple>: HTTP status code is not handled or not allowed 2026-01-28 05:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-48w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 05:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescopic-circular-inspection-mirror-2-1-4-inch-diameter>: HTTP status code is not handled or not allowed 2026-01-28 05:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b1616-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-254mm>: HTTP status code is not handled or not allowed 2026-01-28 05:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-38w-x-31l-green>: HTTP status code is not handled or not allowed 2026-01-28 05:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b168-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-254mm>: HTTP status code is not handled or not allowed 2026-01-28 05:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 05:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-32w-x-31l-black>: HTTP status code is not handled or not allowed 2026-01-28 05:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b812-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-127mm>: HTTP status code is not handled or not allowed 2026-01-28 05:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 05:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-46w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vem31104-33hp-1800rpm-56c-frame-3ph-230-460v-odp-c-face-footless-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 05:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-metric-ruler-12-inch-long-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:42:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/praise-words-stinky-stickers-variety-pack-435-stickers-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 64575 pages (at 94 pages/min), scraped 32578 items (at 6 items/min) 2026-01-28 05:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-46w-x-33l-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-60w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-dura-chef-interlock-kitchen-comfort-mats-5-8-x-3-x-3-red-rubber-mat-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-34w-x-34l-black>: HTTP status code is not handled or not allowed 2026-01-28 05:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nitro-euro-style-walker-rollator-rtl10266bk-black>: HTTP status code is not handled or not allowed 2026-01-28 05:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-holding-retrieving-magnet-225-lbs-pull-5l-x-2w-x-2h>: HTTP status code is not handled or not allowed 2026-01-28 05:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-30w-x-unhemmed-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-loading-mesh-letter-trays-black-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:43:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 05:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-tape-600-3-4-x-1296-boxed-1-core-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-52w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 05:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-tank-brass-rod-zm-6052-10>: HTTP status code is not handled or not allowed 2026-01-28 05:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 05:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-cabinet-with-3-drawers-4-shelves-36w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 05:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-44w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 05:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-ghs2024al2-explosive-ghs-label-paper-4-x-4-250-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedge-locking-washer-carbon-steel-zinc-coated-3-8-large-o-d-pkg-of-200>: HTTP status code is not handled or not allowed 2026-01-28 05:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/friedrich-ptac-15-amp-cord-292291>: HTTP status code is not handled or not allowed 2026-01-28 05:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedge-locking-washer-carbon-steel-zinc-flake-coated-m14-9-16-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rackrow-spacer-12-798023>: HTTP status code is not handled or not allowed 2026-01-28 05:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-rectangular-return-shell-llr69388-42-w-x-24-d-x-29-1-2-h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 05:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dgi-dwl3000xy-b-2-axis-precision-digital-level-blue-tooth>: HTTP status code is not handled or not allowed 2026-01-28 05:43:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-31w-x-34l-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-34w-x-unhemmed-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-36w-x-unhemmed-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-sounder-curtain-w-hardware-1410w-x-10h-beige>: HTTP status code is not handled or not allowed 2026-01-28 05:43:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/head_face_protection/head_protection_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weld-curtain-w-hardware-12w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 05:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/09463-vegetable-produce-knife-high-carbon-steel-stamped-white-handle-6-l>: HTTP status code is not handled or not allowed 2026-01-28 05:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-12w-x-12d-x-30h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 05:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-2-wide-12w-x-12d-x-24h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 05:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-2-wide-12w-x-18d-x-36h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 05:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-56-regular-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:43:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 05:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-mesh-baskets-14x14x8-price-each-for-qty-3>: HTTP status code is not handled or not allowed 2026-01-28 05:43:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r75i-125-2303-rotary-screw-air-compressor-3-phase-230-volts-10hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-28 05:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-mesh-baskets-usable-10x8-round-4-mesh-price-each-for-qty-1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xlerator-174-hand-dryer-stainless-steel-110-120v-xl-sb-110-120>: HTTP status code is not handled or not allowed 2026-01-28 05:43:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/head_face_protection/head_protection_accessories landed on page that is not a product page. 2026-01-28 05:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-30x18-open-deck-hardwood-dolly-3-casters-900-lb-cap-987838>: HTTP status code is not handled or not allowed 2026-01-28 05:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-44-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-32w-x-32l-red>: HTTP status code is not handled or not allowed 2026-01-28 05:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-bin-organizer-with-accessory-bridge>: HTTP status code is not handled or not allowed 2026-01-28 05:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-30w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-performance-300-series-lan-station-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 05:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 05:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-performance-100-series-lan-station-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 05:43:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jd-es-shutter-fan-20-inch-115v-1-10hp-1ph-variable-speed-aluminum-shutters-10ft-cord>: HTTP status code is not handled or not allowed 2026-01-28 05:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/remp-040401-rubber-eva-pads-4-l-x-4-w-x-7-8-h>: HTTP status code is not handled or not allowed 2026-01-28 05:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcb-104-rubber-cup-spring-mounts-with-base-plate-2-3-8-l-x-2-3-8-w-x-5-1-8-h>: HTTP status code is not handled or not allowed 2026-01-28 05:43:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 05:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-33w-x-34l-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-shelf-steel-shelving-with-72-akro-mils-shelf-bins-603432WH>: HTTP status code is not handled or not allowed 2026-01-28 05:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-34w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a88k-v-belt-kevlar-1-2-x-90>: HTTP status code is not handled or not allowed 2026-01-28 05:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-35w-x-32l-green>: HTTP status code is not handled or not allowed 2026-01-28 05:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-44-tall-red>: HTTP status code is not handled or not allowed 2026-01-28 05:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-top-threshold-11056-36-inch-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b42k-v-belt-kevlar-5-8-x-45>: HTTP status code is not handled or not allowed 2026-01-28 05:43:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-sheeting-vinyl-clear-film-04762-clear-36-inch-x-25-foot>: HTTP status code is not handled or not allowed 2026-01-28 05:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-low-threshold-w-vinyl-seal-08086-32-inch-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kerf-style-replacement-door-bottom-w-vinyl-fins-67967-brown-35-3-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-33w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-48w-x-unhemmed-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-35w-x-34l-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-36w-x-32l-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-ceramic-sg12-n-120000-btu>: HTTP status code is not handled or not allowed 2026-01-28 05:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flanged-intake-door-1000>: HTTP status code is not handled or not allowed 2026-01-28 05:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sheet-union-jack-57281-02-inchl-x-36-inchw-x-36-inchh-albras>: HTTP status code is not handled or not allowed 2026-01-28 05:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-replacement-filter-1000-16-x-16-x-115>: HTTP status code is not handled or not allowed 2026-01-28 05:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sheet-elliptical-57010-24-inchl-x-12-inchw-x-02-inchh-satin-nickel>: HTTP status code is not handled or not allowed 2026-01-28 05:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-flat-bar-60715-48-inchl-x-2-inchw-x-1-8-inchh-silver-d0283>: HTTP status code is not handled or not allowed 2026-01-28 05:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spkhz-95-wd-hazmat-95-gallon-wheeled-kit>: HTTP status code is not handled or not allowed 2026-01-28 05:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 05:43:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies landed on page that is not a product page. 2026-01-28 05:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-38w-x-unhemmed-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinsser-mold-killing-primer-gallon-can-276049>: HTTP status code is not handled or not allowed 2026-01-28 05:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1210ktf7019-hydrosorb-filter-kit-for-1210b-pump-18-gpm-in-line>: HTTP status code is not handled or not allowed 2026-01-28 05:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-35w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-52w-x-32l-red>: HTTP status code is not handled or not allowed 2026-01-28 05:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mh7008-7-magnetic-wall-mount-barrier-danger-keep-out-banner>: HTTP status code is not handled or not allowed 2026-01-28 05:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mh7004-7-magnetic-wall-mount-barrier-cleaning-in-progress-banner>: HTTP status code is not handled or not allowed 2026-01-28 05:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 64665 pages (at 90 pages/min), scraped 32587 items (at 9 items/min) 2026-01-28 05:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-56w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-piece-wooden-handle-grilling-set>: HTTP status code is not handled or not allowed 2026-01-28 05:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-4040-v-strip-cut-shredder-press-combination-130-sheet-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-36-inch-w-x-14-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 05:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cesm-21cb-2424-safety-switch-mat-24-x-24-black>: HTTP status code is not handled or not allowed 2026-01-28 05:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-34w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-30w-x-34l-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-54w-x-32l-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-fluorescent-fast-drying-enamel-12-oz-aerosol-can-electric-pink-flat-366138>: HTTP status code is not handled or not allowed 2026-01-28 05:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-44w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-50w-x-34l-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-52w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-30w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-72w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maintenance-one-concentrated-all-purpose-cleaner-5-gallon-pail-1-case-513025>: HTTP status code is not handled or not allowed 2026-01-28 05:44:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-42w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-40w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 05:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-12-oz-aerosol-rust-preventative-paint-primer-in-one-reed-gloss-125842>: HTTP status code is not handled or not allowed 2026-01-28 05:44:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70inch-square-resin-outdoor-dining-table-and-chair-set-4-chairs>: HTTP status code is not handled or not allowed 2026-01-28 05:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-36w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 05:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-decorative-gloss-enamel-12-oz-aerosol-can-shutter-red-705267>: HTTP status code is not handled or not allowed 2026-01-28 05:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-direct-online-start-stop-250-500v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-remote-start-start-stop-100-250v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gpm-1-gallon-bottle-house-siding-wash-250-300-sq-ft-coverage-880765>: HTTP status code is not handled or not allowed 2026-01-28 05:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-48w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-oil-base-dtm-enamel-gloss-finish-blue-gallon-802082>: HTTP status code is not handled or not allowed 2026-01-28 05:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/start-right-interior-exterior-stain-blocking-primer-sealer-gallon-133281>: HTTP status code is not handled or not allowed 2026-01-28 05:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-brush-on-enamel-gloss-royal-blue-matches-ford-blue-gallon-776536>: HTTP status code is not handled or not allowed 2026-01-28 05:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-separate-coil-voltage-reset-button-250-500v-1-7-2-3a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 05:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-direct-online-reset-button-100-250v-2-3-3-1a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-14w-x-61-12h-deluxe-freestanding-office-partition-panel-blue-with-cherry-277529FBL>: HTTP status code is not handled or not allowed 2026-01-28 05:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-bollard-post-sleeve-4-yellow-436851>: HTTP status code is not handled or not allowed 2026-01-28 05:44:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 05:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-separate-coil-voltage-start-stop-250-500v-2-3-3-1a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-direct-online-start-stop-250-500v-3-1-4-2a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-separate-coil-voltage-reset-button-250-500v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18w-x-36d-x-39h-with-15-8h-plastic-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-shelf-back-panel-13-1-2-in-52-in-9605-3-01>: HTTP status code is not handled or not allowed 2026-01-28 05:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-shelf-door-10-1-2-in-36-in-9503-3-01>: HTTP status code is not handled or not allowed 2026-01-28 05:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-bulkhead-high-roof-ford-transit-96321-3-01>: HTTP status code is not handled or not allowed 2026-01-28 05:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-plastic-box-truck-12-bushel-blue-272537-8-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-hook-cord-tool-holder-9893-7-01>: HTTP status code is not handled or not allowed 2026-01-28 05:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-fastener-hfef96-stalguardcoated-steel-anticorrosive-96pk>: HTTP status code is not handled or not allowed 2026-01-28 05:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swing-bar-door-guard-u-9897-brass>: HTTP status code is not handled or not allowed 2026-01-28 05:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54fsl-2-person-floor-mount-wash-station-wdouble-foot-pedal-valves>: HTTP status code is not handled or not allowed 2026-01-28 05:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-1620-zz-shielded-light-duty-04375-inch-bore-1375-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 05:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b51212-jib-crane-12x12ft-500lb>: HTTP status code is not handled or not allowed 2026-01-28 05:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-r20-2rs-sealed-light-duty-125-inch-bore-225-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 05:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-remote-start-terminals-start-stop-100-250v-13-16a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6202-open-medium-duty-15mm-bore-35mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-direct-online-start-stop-100-250v-13-16a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/494003-hex-bolt-1-4-20-x-3-4-grade-a-steel-zinc-unc-ft-pkg-of-150>: HTTP status code is not handled or not allowed 2026-01-28 05:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6310-open-heavy-duty-50mm-bore-110mm-od>: HTTP status code is not handled or not allowed 2026-01-28 05:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-direct-online-start-stop-100-250v-16-20a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-34-white-flexible-nylon-labels>: HTTP status code is not handled or not allowed 2026-01-28 05:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-34-metalized-permanent-labels>: HTTP status code is not handled or not allowed 2026-01-28 05:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-remote-start-terminals-reset-button-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/857380-serrated-hex-flange-nut-5-8-11-zinc-case-hardened-steel-unc-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 05:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inl2-inspection-label-calibrated-1-x-2-14-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 05:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpt146-tags-out-of-service-6-x-3-whiteredblack-25pk>: HTTP status code is not handled or not allowed 2026-01-28 05:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm3g-traffic-sign-no-parking-fire-lane-18-x-12-whitered>: HTTP status code is not handled or not allowed 2026-01-28 05:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-1ph-separate-coil-voltage-start-stop-100-250v-20-24a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d18p-osha-sign-danger-diesel-no-smoking-7-x-10-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 05:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-separate-coil-voltage-reset-button-250-500v-30-40a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-06-od-x-0055-x-15-music-wire-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 05:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wfs629-walk-on-floor-sign-caution-watch-for-forklifts-6-x-24-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 05:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-012-od-x-0016-x-025-music-wire-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 05:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-3ph-direct-online-start-stop-100-250v-50-60a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melpb-fire-sign-exit-with-left-arrow-10-x-14-whitered>: HTTP status code is not handled or not allowed 2026-01-28 05:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-3ph-reset-button-24-60v-44-53a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-sprout-play-structure-w-roof-ground-spike>: HTTP status code is not handled or not allowed 2026-01-28 05:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-1ph-remote-start-terminals-reset-button-100-250v-57-67a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-timer-rts5-20-40-60>: HTTP status code is not handled or not allowed 2026-01-28 05:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-1ph-separate-coil-voltage-start-stop-100-250v-57-67a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-separate-coil-voltage-start-stop-100-250v-48-60a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-1ph-remote-start-terminals-reset-button-100-250v-44-53a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-separate-coil-voltage-reset-button-250-500v-57-68a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-115114-aluminum-oxide-3-x-18-60-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pothos-ledge-plant-set-on-foam-silk-plant>: HTTP status code is not handled or not allowed 2026-01-28 05:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-1ph-direct-online-start-stop-100-250v-57-68a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dendrobium-with-glass-vase-silk-flower-arrangement-white>: HTTP status code is not handled or not allowed 2026-01-28 05:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 64762 pages (at 97 pages/min), scraped 32602 items (at 15 items/min) 2026-01-28 05:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-19874-silicon-carbide-4-x-132-320-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-1ph-start-stop-24-60v-65-78a>: HTTP status code is not handled or not allowed 2026-01-28 05:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-20927-aluminum-oxide-4-x-24-120-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-2099-aluminum-oxide-25-x-48-180-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-217481-zirconia-alumina-2-1-2-x-72-50-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-284177-ceramic-37-x-60-80-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loaded-gear-vx-100-tactical-vest-and-leg-platform-22l-x-38-50w-x-h>: HTTP status code is not handled or not allowed 2026-01-28 05:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-69937-silicon-carbide-6-x-48-100-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-73580-silicon-carbide-6-x-48-150-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-inpass-1-2-inch-npt-coalescing-filter-35-cfm-8-000-hr-0-01-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 05:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-1-2-inch-npt-coalescing-filter-59-cfm-8-000-hr-0-1-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 05:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-99728-zirconia-alumina-6-x-48-24-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-800-lb-capacity-work-platform-with-36-w-x-48-l-platform>: HTTP status code is not handled or not allowed 2026-01-28 05:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-mezzanine-ladder-72h>: HTTP status code is not handled or not allowed 2026-01-28 05:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-mod-3mo160-single-lever-bathroom-faucet-with-pop-up-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-del-mar-2dm201-two-handle-kitchen-faucet-with-spray-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nord-lock-1080-wedge-locking-washer-316-stainless-steel-m6-pkg-of-200>: HTTP status code is not handled or not allowed 2026-01-28 05:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-mod-3mo160-bn-single-lever-bathroom-faucet-with-pop-up-pvd-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 05:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-7330-two-handle-bathroom-widespread-faucet-with-pop-up-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-production-workbench-plastic-laminate-square-edge-with-drawers-lower-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olympia-i2-l-6050-mb-single-lever-bathroom-faucet-with-pop-up-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 05:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-configurable-forward-descent-roll-ladder-perforated-ukdec106246>: HTTP status code is not handled or not allowed 2026-01-28 05:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r120-rivet-pack-assortment-120-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-automatic-stretch-wrap-machine-with-ntep-scale>: HTTP status code is not handled or not allowed 2026-01-28 05:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-osha-stairway-stair36o-9-77>: HTTP status code is not handled or not allowed 2026-01-28 05:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51-ibc-stairway-stair36i-8-51>: HTTP status code is not handled or not allowed 2026-01-28 05:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-rack-guard-left-side-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swkbn625s-brad-nails-5-8-inch-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/92-839-99-piece-fractional-metric-laser-etched-socket-set>: HTTP status code is not handled or not allowed 2026-01-28 05:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/82-115-4-piece-pick-and-hook-set>: HTTP status code is not handled or not allowed 2026-01-28 05:45:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/knives_blades/utility_knives_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-osha-stairway-stair36o-7-60>: HTTP status code is not handled or not allowed 2026-01-28 05:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-smartcompliance-large-metal-first-aid-cabinet-w-medications-ansi-b>: HTTP status code is not handled or not allowed 2026-01-28 05:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-48-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-3-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 05:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-140-nylon-handle-stiff-putty-knife-1-1-4-inch-wide-blade>: HTTP status code is not handled or not allowed 2026-01-28 05:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tra708-5c-heavy-duty-narrow-crown-staples-1-2-inch-5000-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-21-inch-d-x-86-inch-h-2000-lbs-cap-4-open-grid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/138-osha-stairway-stair36o-16-138>: HTTP status code is not handled or not allowed 2026-01-28 05:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-3-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/112-ibc-stairway-stair36i-16-112>: HTTP status code is not handled or not allowed 2026-01-28 05:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-24-inch-d-x-62-inch-h-2000-lbs-cap-4-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-21-inch-d-x-86-inch-h-2000-lbs-cap-3-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-bushing-srb060717-galvanized-steel-38id-x-716od-1116l>: HTTP status code is not handled or not allowed 2026-01-28 05:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/knives_blades/utility_knives_1>: HTTP status code is not handled or not allowed 2026-01-28 05:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-3-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr1-0094-77-flippi-v6-personal-circulator-120v-bliss-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-18-inch-d-x-74-inch-h-2000-lbs-cap-5-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 05:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11mm-locking-assembly-c170-series-c170m11x18-metric-m4-x-10>: HTTP status code is not handled or not allowed 2026-01-28 05:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m68-c600-series-steel-68mm-shaft>: HTTP status code is not handled or not allowed 2026-01-28 05:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/winding-arbor-wa142-steel-0032w-slot-1764od>: HTTP status code is not handled or not allowed 2026-01-28 05:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-21-inch-d-x-50-inch-h-2000-lbs-cap-5-open-grid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-4-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-18-inch-d-x-86-inch-h-2000-lbs-cap-5-open-grid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-24-inch-d-x-86-inch-h-2000-lbs-cap-3-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 05:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m7-c600-series-steel-7mm-shaft>: HTTP status code is not handled or not allowed 2026-01-28 05:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m8-c600-series-steel-8mm-shaft>: HTTP status code is not handled or not allowed 2026-01-28 05:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-ball-bearing-pbpsbl100-selfaligning-pressed-steel-housing-1-bore>: HTTP status code is not handled or not allowed 2026-01-28 05:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/125-dia-locking-assembly-c192-series-c192e125-steel-m6-x-20>: HTTP status code is not handled or not allowed 2026-01-28 05:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m24-c600-series-steel-24mm-shaft>: HTTP status code is not handled or not allowed 2026-01-28 05:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-al4fsl-lefthand-type-d-214l-thread-fits-12-shaft>: HTTP status code is not handled or not allowed 2026-01-28 05:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-sided-self-supporting-tank-hs-1200-116-dia-x-44h-1200-gallon-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-resistant-gray-water-bladder-tank-bt-5000x30-234l-x-186w-x-27h-5000-gal-black>: HTTP status code is not handled or not allowed 2026-01-28 05:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-sided-self-supporting-tank-hs-500-81-dia-x-40h-500-gallon-cap-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-sided-self-supporting-tank-ls-3500-204-dia-x-33h-3500-gallon-cap-green>: HTTP status code is not handled or not allowed 2026-01-28 05:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-mate-m53-automatic-submersible-sump-pump-53-0001-2-7-hp>: HTTP status code is not handled or not allowed 2026-01-28 05:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/newstripe-10001259-pack-master-air-powered-waste-compactor>: HTTP status code is not handled or not allowed 2026-01-28 05:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsv521-5x-ansi-class-2-heavy-duty-surveyor-vest-5xl>: HTTP status code is not handled or not allowed 2026-01-28 05:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-48-inch-w-x-18-inch-d-1000-lbs-cap-removable-solid-shelf-mat-polymer-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-stage-oil-lube-direct-drive-air-compressor-4-gallon-15-hp-twin-horizontal>: HTTP status code is not handled or not allowed 2026-01-28 05:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puma-tuk-5080vm-two-stage-belt-drive-air-compressor-80-gallon-5-hp-vertical>: HTTP status code is not handled or not allowed 2026-01-28 05:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-steel-closed-shelving-4-shelves-24d-x-48w-x-72h>: HTTP status code is not handled or not allowed 2026-01-28 05:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b-rate-depository-safe-front-loading-combo-lock-30-3-4w-x-21d-x-27-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 05:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b-rate-depository-safe-front-loading-digital-lock-20w-x-20d-x-30h>: HTTP status code is not handled or not allowed 2026-01-28 05:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40x40-hd-drainage-3-sided-o-b>: HTTP status code is not handled or not allowed 2026-01-28 05:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cotton-undercast-padding-regular-finish-3-x-4-yards-12-roll-bag-6-bag-case>: HTTP status code is not handled or not allowed 2026-01-28 05:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-corner-support-for-hutch-15w-x-15d-x-18h-gray-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-modular-frl-wo-end-ports-d33352-gauge-poly-bowl-manual-fog-lubricator>: HTTP status code is not handled or not allowed 2026-01-28 05:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-mod-frl-wend-ports-vc33352w-ga-metal-bowl-wsight-manual-fog-lubr-osha-valve>: HTTP status code is not handled or not allowed 2026-01-28 05:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-modular-frl-wend-ports-c33352-gauge-poly-bowl-manual-fog-lubricator>: HTTP status code is not handled or not allowed 2026-01-28 05:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-modular-frl-wend-ports-c33353-gauge-poly-bowl-manual-fog-lubricator>: HTTP status code is not handled or not allowed 2026-01-28 05:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-mod-frl-wend-ports-vc33454w-ga-metal-bowl-wsight-manual-ultra-fog-lubr-osha-valve>: HTTP status code is not handled or not allowed 2026-01-28 05:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-63w-hutch-63w-x-15d-x-50-1-2h-gray-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-48-inch-round-conference-table-mocha>: HTTP status code is not handled or not allowed 2026-01-28 05:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versatile-4c-mailbox-4c06d-09-23-14h-9-mailboxes-front-loading-aluminum-brown-usps>: HTTP status code is not handled or not allowed 2026-01-28 05:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 64859 pages (at 97 pages/min), scraped 32616 items (at 14 items/min) 2026-01-28 05:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versatile-4c-mailbox-4c16s-09-56-12h-9-mailboxes-1-parcel-front-loading-silver-usps>: HTTP status code is not handled or not allowed 2026-01-28 05:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-bu-standard-duty-basket-trucks-by-royal-vinyl-liner-32-wx48-dx36-h-4-swivel-casters-green>: HTTP status code is not handled or not allowed 2026-01-28 05:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-bin-holder-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-antibiotic-ointment-09-gpacket>: HTTP status code is not handled or not allowed 2026-01-28 05:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-torx-power-bit-16032x-1-4-hexagon-t30-drive-1-15-16-long>: HTTP status code is not handled or not allowed 2026-01-28 05:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-torx-power-bit-16036x-1-4-hexagon-t40-drive-1-15-16-long>: HTTP status code is not handled or not allowed 2026-01-28 05:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adhesive-fabric-bandages-sterile-34l-x-3w-2400-pcs>: HTTP status code is not handled or not allowed 2026-01-28 05:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-1-interchangeable-tamper-proof-bit-screwdriver-9315mt-8-1-2-long-15-bits>: HTTP status code is not handled or not allowed 2026-01-28 05:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-tray-mobile-cubbie-without-trays-38-1-2w-x-15d-x-35-1-2h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-28 05:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm620h-traffic-sign-no-parking-fire-lane-double-arrow-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 05:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-module-36w-x-15d-x-29h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-28 05:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calcium-alginate-dressing-4-14l-x-4-14w-120-pcs>: HTTP status code is not handled or not allowed 2026-01-28 05:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm062k-traffic-sign-no-parking-fire-lane-tow-away-zone-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 05:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-surgical-tape-3w-x-10-yards-pack-of-48>: HTTP status code is not handled or not allowed 2026-01-28 05:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-tub-mobile-cubbie-w-tubs-60w-x-15d-x-29-1-2h-gray-laminate-black-edge>: HTTP status code is not handled or not allowed 2026-01-28 05:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-wipeable-gait-belt-w-plastic-buckle-60-316l-x-1-1316w-red-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 05:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm195k-traffic-sign-detour-inside-arrow-right-sign-12-x-36-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tmas18h-traffic-sign-florida-250-fine-6-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-30-d-steel-square-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-28 05:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm603dg-traffic-sign-school-bus-stop-ahead-sign-30-x-30-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-work-height-platform-truck-w-hardboard-top-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 05:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-storage-locker-w-2-center-shelves-mesh-sides-61w-x-33d-x-52h>: HTTP status code is not handled or not allowed 2026-01-28 05:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quad-cane-w-small-base>: HTTP status code is not handled or not allowed 2026-01-28 05:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-refillable-permanent-marker-chisel-tip-red>: HTTP status code is not handled or not allowed 2026-01-28 05:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-built-in-undercounter-freezer-glass-door-abt-ucbi-0420ss-4-5-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 05:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-built-in-undercounter-freezer-solid-door-abt-ucbi-0420-4-5-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 05:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jojoba-unscented-lotion-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 05:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balancing-cream-unscented-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 05:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jeanie-rub-wall-hanger-for-large-pad-orbital-massager>: HTTP status code is not handled or not allowed 2026-01-28 05:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-berm-compact-model-12-feet-x-40-feet-x-1-feet-24-mil-pvc-black>: HTTP status code is not handled or not allowed 2026-01-28 05:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-heavy-duty-drop-safe-with-dial-combo-lock-tc-03c-8-x-10-x-12-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-zoom-circuit-inspection-stereo-microscope-7x-45x-magnification-w-80-led-light>: HTTP status code is not handled or not allowed 2026-01-28 05:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tenactiv-glove-w-blended-hppe-ultra-light-foam-nitrile-palm-ansi-a9-size-12>: HTTP status code is not handled or not allowed 2026-01-28 05:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-wf-microscope-eyepiece-10x-magnification-w-reticle-23mm>: HTTP status code is not handled or not allowed 2026-01-28 05:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-flexible-spine-didactic-with-femur-heads>: HTTP status code is not handled or not allowed 2026-01-28 05:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-biology-pathology-prepared-microscope-slides-set-50-pc>: HTTP status code is not handled or not allowed 2026-01-28 05:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-chart-nervous-system-chart-paper>: HTTP status code is not handled or not allowed 2026-01-28 05:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-shorty-the-mini-skeleton-on-hanging-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-shorty-the-mini-skeleton-on-mounted-base>: HTTP status code is not handled or not allowed 2026-01-28 05:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-hand-skeleton-with-removable-ligaments-muscles-4-part>: HTTP status code is not handled or not allowed 2026-01-28 05:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-chart-female-urinary-incontinence-chart-paper>: HTTP status code is not handled or not allowed 2026-01-28 05:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quality-park-tech-no-tear-cd-dvd-sleeve-qua77203-1-cd-dvd-capacity-white-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-wipe-rearr1391-screen-kleen-cleaning-wipe-40-bx>: HTTP status code is not handled or not allowed 2026-01-28 05:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-large-storage-cube-black>: HTTP status code is not handled or not allowed 2026-01-28 05:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-174-5-drawer-medical-bedside-cart-key-lock-beige>: HTTP status code is not handled or not allowed 2026-01-28 05:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-thermoplastic-32-gallon-mesh-recycling-receptacle-w-rain-bonnet-lid-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-sentinel-arm-chair-floor-mount-stone-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-wipe-ccs24224-anti-static-cleaning-wipe-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-endurance-open-chest-30-inch-x-17-1-2-inch-midnight-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oral-body-wash-shampoo-shave-cream-1-oz-96-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:46:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/39x18x47-trolley-1-perfo-panels-louvered-panel>: HTTP status code is not handled or not allowed 2026-01-28 05:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-ultraknit-flexweave-black-white-11-5m>: HTTP status code is not handled or not allowed 2026-01-28 05:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printing-calculator-shrel1801v-12-digit-fluorescent-display-screen-power-adapter-power>: HTTP status code is not handled or not allowed 2026-01-28 05:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shell-type-needle-roller-bearing-inch-114-bore-112-od-625-width>: HTTP status code is not handled or not allowed 2026-01-28 05:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-lime-resistant-full-grain-leather-brown-15m>: HTTP status code is not handled or not allowed 2026-01-28 05:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-dual-layer-stretch-mesh-upper-black-dark-grey-14w>: HTTP status code is not handled or not allowed 2026-01-28 05:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-knit-black-dark-grey-7-5m>: HTTP status code is not handled or not allowed 2026-01-28 05:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-ruched-bootie-full-grain-leather-black-10m>: HTTP status code is not handled or not allowed 2026-01-28 05:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-dual-layer-stretch-mesh-upper-black-dark-grey-134e>: HTTP status code is not handled or not allowed 2026-01-28 05:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-dual-layer-stretch-mesh-upper-black-dark-grey-9-5m>: HTTP status code is not handled or not allowed 2026-01-28 05:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media>: HTTP status code is not handled or not allowed 2026-01-28 05:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-three-quarter-nubuck-leather-black-12d>: HTTP status code is not handled or not allowed 2026-01-28 05:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/08806-abrasive-saw-blade-metal-cutting-6-1-2-x-3-32-arbor-5-8>: HTTP status code is not handled or not allowed 2026-01-28 05:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-jaw-puller-set-4216-6-ton-3way-12-jaws-20-pieces>: HTTP status code is not handled or not allowed 2026-01-28 05:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26205-cobalt-drill-bit-135-5-64-x-2>: HTTP status code is not handled or not allowed 2026-01-28 05:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-ultraknit-flexweave-grey-white-11w>: HTTP status code is not handled or not allowed 2026-01-28 05:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glassless-mirror-free-standing-3-panel-24w-x-72h-panels>: HTTP status code is not handled or not allowed 2026-01-28 05:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-ultraknit-flexweave-black-8-5w>: HTTP status code is not handled or not allowed 2026-01-28 05:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-lamp-infrared-two-bulb-portable-clamp-on-120v-6004-2>: HTTP status code is not handled or not allowed 2026-01-28 05:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-linear-guided-slide-mtcl40x60st-ball-bearing-14-npt-40mm-bore-60mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-bag-dust-cover-m-scope>: HTTP status code is not handled or not allowed 2026-01-28 05:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-performance-yellow-masking-tape-301-72-mm-x-55-m>: HTTP status code is not handled or not allowed 2026-01-28 05:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f37807-0000-adjustable-handle-water-sample-dipper-3-to-9-long-handle>: HTTP status code is not handled or not allowed 2026-01-28 05:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-plus-2-step-steel-folding-step-ladder-4342001>: HTTP status code is not handled or not allowed 2026-01-28 05:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-6-ft-hd-choker-sling-anchor>: HTTP status code is not handled or not allowed 2026-01-28 05:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1558-2a-premium-locker-double-tier-15x15x36-2-doors-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 05:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valve-1-8-inch-mpt-x-3-8-27-for-magikitchn-2802-1318100>: HTTP status code is not handled or not allowed 2026-01-28 05:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-heat-blowers-300-degrees-f>: HTTP status code is not handled or not allowed 2026-01-28 05:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-a1107-anodized-aluminum-safety-padlock-1-1-2-inchw-3-inchtall-shackle-keyed-alike-purple>: HTTP status code is not handled or not allowed 2026-01-28 05:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 64958 pages (at 99 pages/min), scraped 32636 items (at 20 items/min) 2026-01-28 05:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3558-2-premium-locker-double-tier-15x15x36-6-doors-ready-to-assemble-parchment>: HTTP status code is not handled or not allowed 2026-01-28 05:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crane-scale-shs300a-330-lb-capacity-0-04-lb-readability>: HTTP status code is not handled or not allowed 2026-01-28 05:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-bluetooth-proseries-extended-shackle-padlock-for-business-applications>: HTTP status code is not handled or not allowed 2026-01-28 05:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-clean-etch-1-gallon-bottle-me01-4>: HTTP status code is not handled or not allowed 2026-01-28 05:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1282-1a-mp-black-tie-locker-single-tier-12x18x72-1-door-assembled-black-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironcat-30-irontex-flame-retardant-cotton-jacket-green-large-all-cotton>: HTTP status code is not handled or not allowed 2026-01-28 05:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-add-on-unit-36w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3282-3a-me-black-tie-locker-triple-tier-12xx18x24-9-doors-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 05:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3282-1a-mr-black-tie-locker-single-tier-12x18x72-3-doors-assembled-black-red>: HTTP status code is not handled or not allowed 2026-01-28 05:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-slant-wire-shelving-starter-unit-48w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-60w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3518-2hv-a-heavy-duty-ventilated-locker-double-tier-15x21x36-6-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1282-2mp-black-tie-locker-double-tier-12x18x36-2-doors-unassembled-black-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-solid-door-storage-cabinet-36wx18dx72h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 05:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelf-basket-starter-unit-36w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelf-basket-starter-unit-36w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-1-solid-shelf-36w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-add-on-unit-48w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 05:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsv1260-red-12-x-60-shadow-board-red-vinyl-self-adhesive-tape-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lbs36g-wht-white-garden-storage-kit-w-1-36-x-45-steel-sqhole-pegboard-8-lochooks>: HTTP status code is not handled or not allowed 2026-01-28 05:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrc-dot-traffic-cone-36-inch-traffic-orange-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/np-two-piece-biocooler-fits-box-9-inch-l-x-7-inch-w-x-11-inch-h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosed-solid-core-ac-sensor-ribxk420-20-0-20a-4-20ma-transmitter-output-wire-leads>: HTTP status code is not handled or not allowed 2026-01-28 05:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oralite-48-inch-x-48-inch-super-bright-vivid-orange-roll-up-sign-right-lane-closed-ahead>: HTTP status code is not handled or not allowed 2026-01-28 05:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosed-power-control-center-pspw2rb4-4a-breaker-switch-120vac-2-outlets-wires>: HTTP status code is not handled or not allowed 2026-01-28 05:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathcade-barrier-system-w-hip-sheeting-2-side-72-inch-x-3-inch-x-38-inch-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-jobmaster-rolling-cabinet-609-cu-ft-steel-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bacnet-enclosed-relay-ribtw2401b-bc-20a-spdt-24vac-dc-120vac-w-1-digital-input>: HTTP status code is not handled or not allowed 2026-01-28 05:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-staple-1-1-4-length-15-16-crown-galvanized-steel-pkg-of-10000>: HTTP status code is not handled or not allowed 2026-01-28 05:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-1-enclosure-mh3100-m1-12125h-x-12125w-x-6d-w-studs-18-ga-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-gauge-staple-3-8-length-3-8-crown-galvanized-steel-pkg-of-100000>: HTTP status code is not handled or not allowed 2026-01-28 05:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-chrome-large-capacity-laundry-cart-w-double-pole-rack>: HTTP status code is not handled or not allowed 2026-01-28 05:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hp-stringer-wire-wheel-dw49202b-6-x-5-8-11-9000-rpm-020-carbon-wire-1-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-case-qf540sgr-watertight-5-gun-cap-15-x12-1-8-x12-1-8-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-marking-aisle-tape-white-3w-x-108l-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gator-grip-cleat-yellowblack-6w-x-24l-10pkg>: HTTP status code is not handled or not allowed 2026-01-28 05:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-esd-rubber-matting-mt4524-24x50x0080-green>: HTTP status code is not handled or not allowed 2026-01-28 05:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-marking-tape-blue-t-shape-25pkg>: HTTP status code is not handled or not allowed 2026-01-28 05:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-heel-grounder-35mm-red-velcro-1meg>: HTTP status code is not handled or not allowed 2026-01-28 05:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-12-bushel-antimicrobial-vinyl-basket-truck-all-swivel-casters-red>: HTTP status code is not handled or not allowed 2026-01-28 05:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-brite-reflective-tape-white-2w-x-30l-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-over-the-seat-hard-hat-rack-5002-3l-7-3-4w-6h>: HTTP status code is not handled or not allowed 2026-01-28 05:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-apron-dispenser-tray-horizontal-or-bagged-packages-4022-15l>: HTTP status code is not handled or not allowed 2026-01-28 05:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-watertight-case-with-pre-cubed-foam-el012p-13-3-4x9-1-16x2-5-16>: HTTP status code is not handled or not allowed 2026-01-28 05:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-16-bushel-ups-fedex-able-vinyl-basket-all-swivel-casters-red>: HTTP status code is not handled or not allowed 2026-01-28 05:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-non-ventilated-curb-5acc17fs-17-1-2-square-x-8h-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanics-roller-seat-w-tool-tray-300-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-174-aerial-safety-cage-5-9-w-click-casters-18509-240>: HTTP status code is not handled or not allowed 2026-01-28 05:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dryer-booster-kit-with-fr-110-fan-dbf110-120v-167-cfm>: HTTP status code is not handled or not allowed 2026-01-28 05:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ft-outdoor-bench-with-back-vertical-steel-slat-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-port-ventilation-cvs275a-2-points-245-cfm>: HTTP status code is not handled or not allowed 2026-01-28 05:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-non-ventilated-curb-5acc20ft-20-1-2-square-x-12h-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-power-sonic-ps-12280nb-12v-26ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contactor-3-pole-40-50a-120v-for-hatco-020101500>: HTTP status code is not handled or not allowed 2026-01-28 05:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-kung-long-wp3-3-12-12v-3-2ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-eagle-picher-cf6v5-5-6v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sad-9-one-one-high-back-racing-style-chair-with-flip-up-arms-gray-back-black-base>: HTTP status code is not handled or not allowed 2026-01-28 05:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-gs-portalac-pxl12072-pxl-12072-12v-8ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-interstate-bsl1075-12v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 05:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-with-partial-window-48-1-4-w-x-73-1-2-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorola-rmm2050-rm-series-2-way-radio-5-channel-2-watt>: HTTP status code is not handled or not allowed 2026-01-28 05:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws099001av-70-amp-stick-welder>: HTTP status code is not handled or not allowed 2026-01-28 05:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/file-lateral-dwt>: HTTP status code is not handled or not allowed 2026-01-28 05:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thhn-wire-w-non-metallic-connectors-3-4-x-4>: HTTP status code is not handled or not allowed 2026-01-28 05:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-6-diameter-x-15-l-air-chute-w-cap-ring-kpac2421-2>: HTTP status code is not handled or not allowed 2026-01-28 05:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-series-versatrac-5-1-4height-4-phenolic-wheel-with-side-wheel-brake-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-28 05:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-2-performance-tpr-wheel-with-roller-bearing-for-1-2-axle-600-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-blower-motor-1075-rpm-115v-3-4-hp>: HTTP status code is not handled or not allowed 2026-01-28 05:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-series-10-1-8height-3w-8-durastan-wheel-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-28 05:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-multipoise-gas-furnace-90000-btu-17-1-2-w>: HTTP status code is not handled or not allowed 2026-01-28 05:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contactor-30-amp-24v-2-pole>: HTTP status code is not handled or not allowed 2026-01-28 05:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-height-adjustable-desktop-computer-workstation>: HTTP status code is not handled or not allowed 2026-01-28 05:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-pump-high-wall-18-seer-36000-btu-3-ton>: HTTP status code is not handled or not allowed 2026-01-28 05:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-pump-high-wall-22-seer-18000-btu-1-5-ton>: HTTP status code is not handled or not allowed 2026-01-28 05:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/142726-vertical-top-load-acrylic-sign-holder-4-x-6-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 05:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dti-coverall-bound-seams-elastic-wrists-ankles-white-sm-25-qty>: HTTP status code is not handled or not allowed 2026-01-28 05:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-change-mop-handle-plastic-yellow-gjo80160>: HTTP status code is not handled or not allowed 2026-01-28 05:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/112712-vertical-slanted-l-shaped-acrylic-sign-holder-9-x-12-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lnr-xt-300-waste-oil-heater-pkg-8-inch-chimney-wall-kit-80-gallon-tank-300000-btu>: HTTP status code is not handled or not allowed 2026-01-28 05:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/201l-mixing-check-valve-certified-nsfansi-372>: HTTP status code is not handled or not allowed 2026-01-28 05:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/608f-wall-mount-sink-with-faucet>: HTTP status code is not handled or not allowed 2026-01-28 05:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 65058 pages (at 100 pages/min), scraped 32655 items (at 19 items/min) 2026-01-28 05:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-arc-flash-construction-harness-w-dielectric-pass-thru-legs-back-hip-d-rings-m-l>: HTTP status code is not handled or not allowed 2026-01-28 05:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-d-bolt-anchor-5-8-inch-opening-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/172739-acrylic-hanging-poster-frame-22-x-17-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 05:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54fal-2-person-floor-mount-wash-station-w-ac-powered-sensors>: HTTP status code is not handled or not allowed 2026-01-28 05:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-60-feet-cable-horizontal-lifeline-assembly-w-cross-arm-strap>: HTTP status code is not handled or not allowed 2026-01-28 05:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/225533-48-slot-mascara-cosmetic-tray-for-pegboard-slatwall-12-x-2-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 05:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-metal-locker-72024-ventilated-door-24w-x-24d-x-72h-blue-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-2-shelf-utility-cart-440lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-max-patrol-leading-edge-30-cable-self-retracting-lifeline-w-snap-hook>: HTTP status code is not handled or not allowed 2026-01-28 05:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515430-acrylic-easel-w-1-75-lip-7-x-6-5-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 05:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-12-gauge-heavy-duty-36-w-x-24-d-x-66-h-cabinet-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibuprofen-200-mg-2-pack-50-pack-box>: HTTP status code is not handled or not allowed 2026-01-28 05:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/703386-gre-4-sided-interlocking-pegboard-display-w-wheels-8-x-40-green-opaque>: HTTP status code is not handled or not allowed 2026-01-28 05:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-channel-mount-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700405-pnk-four-sided-pegboard-spinning-floor-display-16-x-60-pink>: HTTP status code is not handled or not allowed 2026-01-28 05:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-i-beam-mount-fan-w-drop-cord-switch-2-speed-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/771660-blu-blue-pegboard-wall-panel-16-x-60-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-608l-replacement-1-0-gpm-aerator-55-64-27-female-thread>: HTTP status code is not handled or not allowed 2026-01-28 05:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-310l-royal-series-4-center-deck-mount-faucet-10-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 05:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-multi-hs-6-multi-position-hot-plate-stirrer-digital-115v-60hz>: HTTP status code is not handled or not allowed 2026-01-28 05:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700405-yel-four-sided-pegboard-spinning-floor-display-16-x-60-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-double-rod-mini-h-stand-set>: HTTP status code is not handled or not allowed 2026-01-28 05:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-812l-royal-series-3-4-full-flow-wall-mount-faucet-low-lead-compliant>: HTTP status code is not handled or not allowed 2026-01-28 05:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-overhead-stirrer-60-ncm-digital-system-w-stand-shaft-clamp-115v-60hz>: HTTP status code is not handled or not allowed 2026-01-28 05:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyn-1-tier-1-door-locker-15-inch-w-x-18-inch-d-x-78-inch-h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrp-rigid-drum-insert-smooth-30-gallon-15-mil>: HTTP status code is not handled or not allowed 2026-01-28 05:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-8x10-4-wall-2-lgts-2-dplx-1-door-white>: HTTP status code is not handled or not allowed 2026-01-28 05:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-8x10-2-wall-2-lgts-2-dplx-1-door-white>: HTTP status code is not handled or not allowed 2026-01-28 05:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-precision-combination-squares-w-6-inch-blade-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 05:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-high-precision-double-square-w-6-inch-steel-blade-black>: HTTP status code is not handled or not allowed 2026-01-28 05:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-digital-electronic-protractor-w-12-inch-stainless-steel-blade>: HTTP status code is not handled or not allowed 2026-01-28 05:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-digital-electronic-angle-protractor-with-4-inch-7-inch-stainless-steel-blades-0-360>: HTTP status code is not handled or not allowed 2026-01-28 05:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-12x12-2-wall-3-lgt-4-dplx-1-dr-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-digital-indicator-w-magnetic-base-protective-case>: HTTP status code is not handled or not allowed 2026-01-28 05:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-led-100x-measuring-microscope-w-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-heavy-duty-super-cover-poly-tarp-sth1012-10-mil-silverblack-10l-x-12w>: HTTP status code is not handled or not allowed 2026-01-28 05:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-electric-kit-12x20-inplant-office>: HTTP status code is not handled or not allowed 2026-01-28 05:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-20x20-4-wall-8-lgt-6-dplx-1-dr-gry>: HTTP status code is not handled or not allowed 2026-01-28 05:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-8x8-2-wall-1-lgt-2-dplx-1-dr-white>: HTTP status code is not handled or not allowed 2026-01-28 05:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anflex-ultralight-cut-resistant-gloves-a4-cut-protection-size-10>: HTTP status code is not handled or not allowed 2026-01-28 05:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-20x20-3-wall-8-lgts-6-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hepa-replacement-filter-dc5001h-for-use-with-dc500-wet-dry-vac>: HTTP status code is not handled or not allowed 2026-01-28 05:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithium-ion-compact-battery-pack-15-ah-2-pack-dcb201-2-20vmax>: HTTP status code is not handled or not allowed 2026-01-28 05:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bench-grinder-dw756-6-wheel-diameter-5-8-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kh-esd-cabinet-pegboard-10-inch-w-x-11-inch-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-2-tier-2-door-locker-18-in-w-x-18-in-d-x-36-in-h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-16x20-4-wall-5-lgts-6-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-cantilever-rack-starter-heavy-duty-2-in-lip-48-in-w-x-45-in-d-72-in-h>: HTTP status code is not handled or not allowed 2026-01-28 05:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-cantilever-rack-starter-heavy-duty-2-in-lip-72-in-w-x-82-in-d-120-in-h>: HTTP status code is not handled or not allowed 2026-01-28 05:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-green-wire-shelf-24-x-18>: HTTP status code is not handled or not allowed 2026-01-28 05:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-green-wire-shelf-24-x-24>: HTTP status code is not handled or not allowed 2026-01-28 05:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-series-swivel-threaded-stem-caster-900716-polyolefin-5-dia-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-green-wire-ledge-54-x-4>: HTTP status code is not handled or not allowed 2026-01-28 05:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circuit-board-shipping-and-storage-box-w-foam-16-1-2l-x-12-7-8w-x-2-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 05:48:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/rotary_screw_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-plastic-barrier-chain-1-1-2-inch-x-100-feet-l-slate-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-open-bin-box-12w-x-18d-x-4-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 05:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-1-2-inch-medium-duty-stowable-stanchion-40-inch-h-white-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 05:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-1-2-inch-medium-duty-reflective-stanchion-kit-w-2-inch-x-50-feet-l-chain-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-aluminum-rolling-ladder-16inw-grip-tread-21ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-28 05:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-aluminum-rolling-ladder-24inw-grip-tread-21ind-top-step-w-o-handrails>: HTTP status code is not handled or not allowed 2026-01-28 05:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-3-inch-heavy-duty-stowable-stanchion-41-inch-h-safety-green-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 05:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-1-2-inch-medium-duty-stowable-stanchion-40-inch-h-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pink-cushion-grade-static-dissipative-foam48l-x-40w-x-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 05:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-aluminum-rolling-ladder-24inw-ribbed-tread-21ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-28 05:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-storage-container-23-5-8l-x-13-3-8w-x-10-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 05:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-3-inch-heavy-duty-ground-pole-kit-w-2-inch-x-50-feet-l-chain-black-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-pak-static-dissipative-foam-inside-22-3-8l-x-12-5-8w-x-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 05:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispensing-jug-118500000-hdpe-20-liters-1-pk-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/rotary_screw_air_compressors>: HTTP status code is not handled or not allowed 2026-01-28 05:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-spigot-for-autoclavable-carboys-911846005-polypropylene-1-pk-blue-white>: HTTP status code is not handled or not allowed 2026-01-28 05:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-408199339-phenolic-8dia-1250-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-404109139-cast-iron-4dia-1000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-116210016-ldpe-500ml-capacity-12-pk-natural-cap-narrow>: HTTP status code is not handled or not allowed 2026-01-28 05:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-116463739-ldpe-1000ml-capacity-ethanol-6-pk-natural-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 05:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-bar-table-60-inches-x-60-inches-x-29-inches-with-black-granite-top-and-dual-pedestal-black-cross-base>: HTTP status code is not handled or not allowed 2026-01-28 05:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fitness-ub521m-upper-body-ergometer-with-adjustable-seat-69l-x-28w-x-70h>: HTTP status code is not handled or not allowed 2026-01-28 05:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scented-exercise-putty-vanilla-tan-xx-light-5-pound>: HTTP status code is not handled or not allowed 2026-01-28 05:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wigan-ceiling-medallion-cm29wg-2934od-x-112d>: HTTP status code is not handled or not allowed 2026-01-28 05:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-inside-corner-for-moulding-profiles-mic03x03be-3d-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 05:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seville-panel-moulding-corner-pml06x06se2-6w-x-6h-x-34d>: HTTP status code is not handled or not allowed 2026-01-28 05:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microwaveable-exercise-putty-soft-orange-1-pound>: HTTP status code is not handled or not allowed 2026-01-28 05:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microwaveable-exercise-putty-soft-orange-4-ounce>: HTTP status code is not handled or not allowed 2026-01-28 05:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-exercise-putty-6-ounce-set-of-6>: HTTP status code is not handled or not allowed 2026-01-28 05:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-5-tools-4-x-5-lb-putties-easy-tan-yellow-red-green>: HTTP status code is not handled or not allowed 2026-01-28 05:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balance-system-yellow-ball-only-level-1-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 05:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balance-system-15-x-18-board-only>: HTTP status code is not handled or not allowed 2026-01-28 05:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balance-system-blue-ball-only-level-4-1-each>: HTTP status code is not handled or not allowed 2026-01-28 05:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stability-trainer-x-soft-black-set-of-2>: HTTP status code is not handled or not allowed 2026-01-28 05:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 65154 pages (at 96 pages/min), scraped 32663 items (at 8 items/min) 2026-01-28 05:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-wood-locker-33365-triple-tier-3-wide-12w-x-15d-x-24h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-panel-33305-for-21d-designer-wood-locker-without-sloping-hood-maple>: HTTP status code is not handled or not allowed 2026-01-28 05:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-designer-wood-locker-22364-double-tier-3-wide-15x24x36-cherry-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-panel-33303-for-18d-designer-wood-locker-without-sloping-hood-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-wood-locker-35358-six-tier-3-wide-12w-x-18d-x-12h-maple-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-unit-storage-shelving-chrome-72w-x-21d-x-74h-14-ft>: HTTP status code is not handled or not allowed 2026-01-28 05:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-floor-tiles-sm002d-195x195-textured-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-drop-key-control-box-4-3-8-w-x-3-1-4-d-x-7-1-4-h-keyed-alike-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-toolboard-double-sided-louvered-panel-39w-6-panel-starter>: HTTP status code is not handled or not allowed 2026-01-28 05:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workfit-sr-1-monitor-sit-stand-desktop-workstation-white>: HTTP status code is not handled or not allowed 2026-01-28 05:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gel-hand-exercise-ball-small-circular-tan-xx-soft>: HTTP status code is not handled or not allowed 2026-01-28 05:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-pe-foam-roller-round-6-dia-x-36l>: HTTP status code is not handled or not allowed 2026-01-28 05:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-pe-foam-roller-half-round-6-dia-x-24l>: HTTP status code is not handled or not allowed 2026-01-28 05:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-finger-exerciser-yellow-x-light>: HTTP status code is not handled or not allowed 2026-01-28 05:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/progressive-hand-trainer-6-sheet-refills-blue-heavy>: HTTP status code is not handled or not allowed 2026-01-28 05:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-base-5-bases-and-metal-rack>: HTTP status code is not handled or not allowed 2026-01-28 05:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-base-1-each>: HTTP status code is not handled or not allowed 2026-01-28 05:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/com-pax-ial-explosion-proof-blower-with-15-duct-canister-9538-15-8-dia-1-3hp-900-cfm>: HTTP status code is not handled or not allowed 2026-01-28 05:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-conditioning-disc-2-inch-dia-tsm-alum-oxide-med-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-exercise-jump-ball-blue-22-55-cm>: HTTP status code is not handled or not allowed 2026-01-28 05:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-exercise-ball-with-feet-yellow-18-45-cm>: HTTP status code is not handled or not allowed 2026-01-28 05:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-lb-capacity-monorail-system-2-runway-length-12-trolley-clevis-height-2-columns>: HTTP status code is not handled or not allowed 2026-01-28 05:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-lb-capacity-monorail-system-12-runway-length-10-trolley-clevis-height-2-columns>: HTTP status code is not handled or not allowed 2026-01-28 05:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-ground-protection-mat-3-x-6-clear-cm36>: HTTP status code is not handled or not allowed 2026-01-28 05:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trakmats-445-x-8-x-12-thick-nubs-both-sides-black-tm4496-b>: HTTP status code is not handled or not allowed 2026-01-28 05:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-ground-protection-mat-2-x-4-black-am24>: HTTP status code is not handled or not allowed 2026-01-28 05:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stockport-bracket-bktm02x16x16stcrs-2w-x-16d-x-16h>: HTTP status code is not handled or not allowed 2026-01-28 05:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9in-x-3-8in-100-polyester-roller-cover-green-fabric-24-case-9db038>: HTTP status code is not handled or not allowed 2026-01-28 05:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-x-3-8in-microfiber-mini-roller-covers-2-pack-24-case-6mf8038d>: HTTP status code is not handled or not allowed 2026-01-28 05:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-wood-extension-pole-brown-24-case-wp-06fmt>: HTTP status code is not handled or not allowed 2026-01-28 05:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9in-x-12in-plastic-drop-cloth-1mm-0912-10>: HTTP status code is not handled or not allowed 2026-01-28 05:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/detachable-50-foot-power-cord-replacement-for-ma10-part-107416424>: HTTP status code is not handled or not allowed 2026-01-28 05:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slice-ceramic-blade-auto-retractable-box-cutter-10503>: HTTP status code is not handled or not allowed 2026-01-28 05:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/903001-2b-6-ton-compound-leverage-press>: HTTP status code is not handled or not allowed 2026-01-28 05:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/903007-4-12-ton-compound-leverage-press-floor-type>: HTTP status code is not handled or not allowed 2026-01-28 05:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asimeto-602-02-1-articulating-arm-magnetic-base-60kg-280mm>: HTTP status code is not handled or not allowed 2026-01-28 05:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3500-p-versa-polyurethane-stool-black-w-black-nylon-base>: HTTP status code is not handled or not allowed 2026-01-28 05:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-flood-light-100w-8000-lumens-5000k-with-mounting-bracket>: HTTP status code is not handled or not allowed 2026-01-28 05:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expansion-tank-fill-valve-isolation-tee-pfiv1212>: HTTP status code is not handled or not allowed 2026-01-28 05:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-device-charging-cart>: HTTP status code is not handled or not allowed 2026-01-28 05:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-3-4-security-self-drilling-screw-pan-6-lobe-head-410-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-1-2-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 05:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-nylon-mesh-731-dia-x-325-l-800-micron-snap-band-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 05:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-3-4-partition-size-sex-bolt-set-one-way-truss-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polyester-felt-7-1-8-d-x-32-l-25-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 05:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-1-security-cap-screw-flat-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-1-security-sheet-metal-screw-pan-phillips-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-tri-wing-machine-screw-pan-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polypropylene-monofil-7-1-8-x-32-600-micron-steel-ring-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 05:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polypropylene-felt-7-1-8-d-x-16-1-2-l-10-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 05:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-balldriver-power-bit-10814>: HTTP status code is not handled or not allowed 2026-01-28 05:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45mm-balldriver-l-wrench-10962>: HTTP status code is not handled or not allowed 2026-01-28 05:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kidney-activity-table-48w-x-72l-x-24-31h-classic-oak>: HTTP status code is not handled or not allowed 2026-01-28 05:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-x-0-8-x-16mm-security-cap-screw-flat-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-raceway-48-1-4w-x-76h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-raceway-36-1-4w-x-77-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-28-x-1-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-window-48-1-4w-x-42h-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-raceway-36-1-4w-x-47-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-2-spanner-machine-screw-flat-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 05:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-raceway-48-1-4w-x-47-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-office-partition-panel-with-partial-window-36-1-4w-x-46h-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-pipe-wrap-kit-3-12x25-ft>: HTTP status code is not handled or not allowed 2026-01-28 05:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/if-seal-is-broken-check-contents-before-accept-2-x-110-yard-white-red>: HTTP status code is not handled or not allowed 2026-01-28 05:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaner-qik-clean-griddle>: HTTP status code is not handled or not allowed 2026-01-28 05:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-one-way-machine-screw-oval-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-8-torx-tamperproof-key>: HTTP status code is not handled or not allowed 2026-01-28 05:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-branch-tee-metal-release-collet-5-16-tube-x-3-8-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 05:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sf-swivel-4-position-y-5-32-tube-x-1-4-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 05:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-42w-x-24d-x-14h-1-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-way-block-valve-1-4-male-sf-1-4-female-npt>: HTTP status code is not handled or not allowed 2026-01-28 05:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-12mm-tube-x-3-8-metal-release-collet-knob-adjustmet>: HTTP status code is not handled or not allowed 2026-01-28 05:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-end-stop-fs40b37-for-37-bf-roller-conveyor-painted-steel-4-1-2-x-1-4>: HTTP status code is not handled or not allowed 2026-01-28 05:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-bspt-1-8-male-x-1-4-female>: HTTP status code is not handled or not allowed 2026-01-28 05:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-straight-roller-conveyor-10f05kg06b36-36bf-19-roller-dia-6-axle-centers>: HTTP status code is not handled or not allowed 2026-01-28 05:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-uz-964-934-plastic-crevice-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 05:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gallon-container-and-cart-bpcrt-o-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulkhead-connector-1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gm-80-polyester-microfilter>: HTTP status code is not handled or not allowed 2026-01-28 05:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5t5000p05a-set-screw-w-full-ball-516-18-thread-x-12-thread-length>: HTTP status code is not handled or not allowed 2026-01-28 05:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-valve-1-2-female-bspp>: HTTP status code is not handled or not allowed 2026-01-28 05:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-pc-long-paddle-with-out-holes-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-pc-long-paddle-with-out-holes-white>: HTTP status code is not handled or not allowed 2026-01-28 05:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-3-8-tube-x-1-4-swift-fit-flow-in-screw-adjustment>: HTTP status code is not handled or not allowed 2026-01-28 05:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-wetstep-drainable-mat-3ft-x-5ft-gray-789020035>: HTTP status code is not handled or not allowed 2026-01-28 05:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a160-male-connector-with-35mm-pin-contacts>: HTTP status code is not handled or not allowed 2026-01-28 05:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemo-trans-bag-12w-15l>: HTTP status code is not handled or not allowed 2026-01-28 05:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-48-x-36-adj-height-workbench-w-drawer-riser-gray-maple-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 05:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rt2-advanced-hotplate-stirrer-5-5-diameter-ceramic-top-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 65253 pages (at 99 pages/min), scraped 32673 items (at 10 items/min) 2026-01-28 05:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invisible-solid-antiperspirant-deodorant-floral-scent-0-5-oz-36-sticks-case>: HTTP status code is not handled or not allowed 2026-01-28 05:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiber-one-70-calorie-chocolate-fudge-brownies-40-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 05:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-nestable-plastic-step-stand-gray-26-w-x-33-d-x-20-h-nst-2-gy>: HTTP status code is not handled or not allowed 2026-01-28 05:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189249gz-30w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 05:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-workbenchlower-shelf-48-w-x-12-d>: HTTP status code is not handled or not allowed 2026-01-28 05:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-tray-for-maximix-iii-vortex-mixer>: HTTP status code is not handled or not allowed 2026-01-28 05:50:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-platform-kit-8-x-18-x-54>: HTTP status code is not handled or not allowed 2026-01-28 05:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combo-set-garment-vacuum-cubes-sizes-1-large-1-extra-large-1-jumbo-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-readybuilt-locker-36-w-x-15-d-x-78-h-729-parchment-double-tier-3-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 05:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-readybuilt-locker-12-w-x-15-d-x-78-h-725-hallowell-gray-single-tier-1-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 05:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-36-w-x-18-d-x-78-h-729-parchment-double-tier-3-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 05:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-24-d-x-72-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-84-h-starter-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-84-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-36-w-x-12-d-x-78-h-725-hallowell-gray-triple-tier-3-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 05:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-digital-dry-bath-block-heater-double-block-capacity-100-240v>: HTTP status code is not handled or not allowed 2026-01-28 05:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-42-single-pedestal-desk-ash-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-apple-timer>: HTTP status code is not handled or not allowed 2026-01-28 05:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-letter-board-blacksilver-frame-24w-x-36h-board-let03031810>: HTTP status code is not handled or not allowed 2026-01-28 05:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-12-w-x-18-d-x-78-h-729-parchment-double-tier-1-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 05:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 05:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-12-d-x-87-h-725-hallowell-gray-starter-unit-21-bins>: HTTP status code is not handled or not allowed 2026-01-28 05:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-18-d-x-87-h-725-hallowell-gray-add-on-unit-54-bins>: HTTP status code is not handled or not allowed 2026-01-28 05:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-72-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 05:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2261132-basket-divider>: HTTP status code is not handled or not allowed 2026-01-28 05:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-24-d-x-87-h-725-hallowell-starter-unit-21-12-x-12-bins>: HTTP status code is not handled or not allowed 2026-01-28 05:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281674-cap-outside-round>: HTTP status code is not handled or not allowed 2026-01-28 05:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-platter-for-nsf-listed-primo-scales>: HTTP status code is not handled or not allowed 2026-01-28 05:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eluh311810-gourmet-lustertone-undermount-sink-30-3-4l-x-18-1-2w-x-10d>: HTTP status code is not handled or not allowed 2026-01-28 05:50:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2051104-bumper-cage-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 05:50:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kimberly-clark-41600-wypall-x70-wipersjumbo-rollperf12-12-x-13-25white>: HTTP status code is not handled or not allowed 2026-01-28 05:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pilfergard-surface-mounted-door-alarm-metallic-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pilfergard-surface-mounted-door-alarm-metallic-bronze>: HTTP status code is not handled or not allowed 2026-01-28 05:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cgw-5-x045x78-t1-za36t-quickie-cut-reinforced-cutoff-wheel>: HTTP status code is not handled or not allowed 2026-01-28 05:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cgw-4-12x045x78-t27-a60t-super-quickie-reinforced-cutoff-wheel>: HTTP status code is not handled or not allowed 2026-01-28 05:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-96-h-starter-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 05:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-96-h-add-on-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 05:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-72-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264087-pilot-adaptor3-16-inch-to-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wisconsin-state-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-28 05:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012926-relay-40a-solid-state-for-lincoln-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 05:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8003760-pilot-assembly-013-lp-gas-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 05:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 05:50:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 05:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511533-pilot-for-groen>: HTTP status code is not handled or not allowed 2026-01-28 05:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012116-motor-for-vulcan-hart>: HTTP status code is not handled or not allowed 2026-01-28 05:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oms180-general-protocol-oven-mechanical-convection-6-3-cu-ft-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010445-grommet-dispense-valve-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 05:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-aleva316012my-valencia-under-counter-file-organizer-shelf-15-34w-x-10d-x-11hmahogany>: HTTP status code is not handled or not allowed 2026-01-28 05:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-x-100-foot-medium-duty-pvc-discharge-hose-coupled-with-cxe-aluminum-cam-and-groove-fittings>: HTTP status code is not handled or not allowed 2026-01-28 05:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-96-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-alesd216030po-double-pedestal-steel-desk-metal-desk-60w-x-30d-x-29-12h-cherryputty>: HTTP status code is not handled or not allowed 2026-01-28 05:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dn-10045-fire-resistant-debris-netting-10-feet-by-150-feet-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-50-foot-medium-duty-pvc-discharge-hose-coupled-with-cxe-aluminum-cam-and-groove-fittings>: HTTP status code is not handled or not allowed 2026-01-28 05:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-epdm-rubber-suction-discharge-hose>: HTTP status code is not handled or not allowed 2026-01-28 05:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-sports-qs1-ring-toss-set-plasticwood-assorted-colors-4-rings5-pegsset>: HTTP status code is not handled or not allowed 2026-01-28 05:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1090-white-ptfe-teflon-tape-1-2-inch-x-260-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-12-drawer-174-compart-classic-blue-master-keyed>: HTTP status code is not handled or not allowed 2026-01-28 05:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-35-ton-air-hydraulic-truck-jack-23227>: HTTP status code is not handled or not allowed 2026-01-28 05:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/750-lb-cap-engine-stand-h-type-30750>: HTTP status code is not handled or not allowed 2026-01-28 05:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1100-lb-cap-low-profile-hydraulic-transmission-jack-41100c>: HTTP status code is not handled or not allowed 2026-01-28 05:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500-lb-cap-motorcycle-lift-t-2152>: HTTP status code is not handled or not allowed 2026-01-28 05:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511093-repair-kit-for-champion-dishwasher>: HTTP status code is not handled or not allowed 2026-01-28 05:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-tire-cart-300-lbs-capacity-92030>: HTTP status code is not handled or not allowed 2026-01-28 05:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/physicianscare-51028-first-aid-antiseptic-towelettes-box-of-25>: HTTP status code is not handled or not allowed 2026-01-28 05:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-16-drawer-270-compart-bright-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-28 05:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263196-round-nut>: HTTP status code is not handled or not allowed 2026-01-28 05:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ae14n-nexelon-safety-push-handle-14w>: HTTP status code is not handled or not allowed 2026-01-28 05:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crews-k3h20-klondike-magnifier-glasses-20-magnifier-clear-lens>: HTTP status code is not handled or not allowed 2026-01-28 05:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expander-red-light>: HTTP status code is not handled or not allowed 2026-01-28 05:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-covered-handles-for-exercise-band-tubing-10-pairs>: HTTP status code is not handled or not allowed 2026-01-28 05:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-cabinet-9-drawer-111-compart-light-gray-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 05:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263164-wire-guard>: HTTP status code is not handled or not allowed 2026-01-28 05:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 65347 pages (at 94 pages/min), scraped 32694 items (at 21 items/min) 2026-01-28 05:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012212-adapter1-4-p-sgl-2021-4-6s-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 05:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-tubing-tan-25-roll-bag>: HTTP status code is not handled or not allowed 2026-01-28 05:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-al442s-stainless-steel-wire-ledge-42l-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 05:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ks-fs605-24-automatic-foot-impulse-sealer-with-5mm-seal-width>: HTTP status code is not handled or not allowed 2026-01-28 05:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frm-1120c-horizontal-continuous-band-sealer-with-tilt-head-right-feed-dry-ink-coding>: HTTP status code is not handled or not allowed 2026-01-28 05:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-tubing-red-100-roll-box-10-5722>: HTTP status code is not handled or not allowed 2026-01-28 05:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681531-motor-convection-oven-208-240v-for-southbend-range>: HTTP status code is not handled or not allowed 2026-01-28 05:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-450dts-18-ptfe-coated-direct-heat-foot-sealer-with-15mm-serrated-seal-width>: HTTP status code is not handled or not allowed 2026-01-28 05:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2061250-hub-drive-for-robot-coupe>: HTTP status code is not handled or not allowed 2026-01-28 05:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gwsz-300-12-portable-direct-heat-sealer-with-pfte-coated-bars-12mm-seal-width>: HTTP status code is not handled or not allowed 2026-01-28 05:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-blue-65-polyester-34-cotton-1-carbon-microstat-esd-short-coat-size-s>: HTTP status code is not handled or not allowed 2026-01-28 05:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-tin-plated-copper-lugs-5958-050hl-4-0-gauge-50-pcs>: HTTP status code is not handled or not allowed 2026-01-28 05:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-ground-magnalugs-6401-005f-2-1-gauge-5-pcs>: HTTP status code is not handled or not allowed 2026-01-28 05:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711186-basket-fry-16-5-8x8-5-8x6-1-4-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 05:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-yellow-48-l-band-box-of-40>: HTTP status code is not handled or not allowed 2026-01-28 05:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263792-insert-threaded-squaretubing>: HTTP status code is not handled or not allowed 2026-01-28 05:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263801-rivet-springretainer-6-pkg-for-ice-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 05:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-nylon-cable-ties-502104-100-85-long-100-pcs>: HTTP status code is not handled or not allowed 2026-01-28 05:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-gate-mg-connector-expandable-barricade-with-connector-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-nylon-cable-ties-502123-050-18-long-50-pcs>: HTTP status code is not handled or not allowed 2026-01-28 05:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1731083-washer-flat-hd8799-hd8802-for-bloomfield>: HTTP status code is not handled or not allowed 2026-01-28 05:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdmsteel-covered-clamps-504408-010-1-1-8-diameter-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 05:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29358-51-aluminum-handle-purple>: HTTP status code is not handled or not allowed 2026-01-28 05:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-plum-level-5-50-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 05:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281666-cap-inside-round>: HTTP status code is not handled or not allowed 2026-01-28 05:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1213-nickel-plated-brass-sink-drain-1-inch-nps-3-1-4-inch-long-1-3-8-inch-sink-opening>: HTTP status code is not handled or not allowed 2026-01-28 05:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lead-stick-2599-035-12>: HTTP status code is not handled or not allowed 2026-01-28 05:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31665-12-upright-broom-medium-white>: HTTP status code is not handled or not allowed 2026-01-28 05:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41795-ust-short-handle-scrubbing-brush-stiff-white>: HTTP status code is not handled or not allowed 2026-01-28 05:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29382-59-fiberglass-handle-green>: HTTP status code is not handled or not allowed 2026-01-28 05:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-exercise-band-pack-4-band-easy-yellow-red-green>: HTTP status code is not handled or not allowed 2026-01-28 05:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86046-6-mil-gown-xtra-large-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321061-rubber-hose-per-ft>: HTTP status code is not handled or not allowed 2026-01-28 05:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoco-non-adjustable-ballet-rack-psbb-41w-x-64h-x-22d-anthracite-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-service-stock-truck-5-shelves-3000-lbs-capacity-48-x-24>: HTTP status code is not handled or not allowed 2026-01-28 05:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hager-ecco-full-mortise-spring-hinge>: HTTP status code is not handled or not allowed 2026-01-28 05:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71258-10-single-blade-ultra-hygiene-bench-squeegee-purple>: HTTP status code is not handled or not allowed 2026-01-28 05:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-steel-toe-knee-boots-size-10-vinyl-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 05:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71252-10-single-blade-ultra-hygiene-bench-squeegee-green>: HTTP status code is not handled or not allowed 2026-01-28 05:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-buckle-boots-size-8-rubber-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 05:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire--waterproof-safe-with-dial-combination-16-38w-x-18-1316d-x-13-1116h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8002521-cast-iron-radiant22-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-plum-50-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 05:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-232007-anystream-shower-head-w-hand-shower-combination-shower-system>: HTTP status code is not handled or not allowed 2026-01-28 05:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-2007-bn-e2-anystream-multi-function-shower-head>: HTTP status code is not handled or not allowed 2026-01-28 05:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-3019-anystream-vintage-shower-head>: HTTP status code is not handled or not allowed 2026-01-28 05:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-tier-5-door-clear-view-locker-w-digital-lock-12-w-x-18-d-x-66-h-tan-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:51:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-tier-5-door-clear-view-locker-w-digital-lock-12-w-x-15-d-x-66-h-tan-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 05:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huot-superscoot-50-taper-cnc-holders>: HTTP status code is not handled or not allowed 2026-01-28 05:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681265-insulation-inner-front-lwr-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 05:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2061300-capacitor-start-for-robot-coupe>: HTTP status code is not handled or not allowed 2026-01-28 05:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huot-tap-dispenser-metric>: HTTP status code is not handled or not allowed 2026-01-28 05:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-high-z-bracket-rz0501-silver>: HTTP status code is not handled or not allowed 2026-01-28 05:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fieldpro-purofort-full-safety-boots-steel-toe-15h-size-11-green>: HTTP status code is not handled or not allowed 2026-01-28 05:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-5-band-heavy-blue-black-retail-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-pallet-stand-32w-x-48d-x-37-1-4h-12-cylinder-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigpro174-purofort-full-safety-boots-steel-toe-12h-size-13-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-27>: HTTP status code is not handled or not allowed 2026-01-28 05:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70374-tank-brush-stiff-red>: HTTP status code is not handled or not allowed 2026-01-28 05:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-18>: HTTP status code is not handled or not allowed 2026-01-28 05:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-25-cent-surface-mounted-sanitary-vendor-90-edges>: HTTP status code is not handled or not allowed 2026-01-28 05:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets>: HTTP status code is not handled or not allowed 2026-01-28 05:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-tube-rack-5-wide-x-3-deep-70w-x-40d-x-30h15-cylinder-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271122-decal-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 05:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-42w-x-12d-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-40mm-machine-screw-pan-head-phillips-steel-zinc-pkg-of-120>: HTTP status code is not handled or not allowed 2026-01-28 05:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powered-12-w-x-40-l-belt-conveyor-with-6-h-side-rails>: HTTP status code is not handled or not allowed 2026-01-28 05:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-fixed-position-tilt-mirror-18-w-x-36-h>: HTTP status code is not handled or not allowed 2026-01-28 05:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-concrete-installation-yellow-cover-blue-tapes>: HTTP status code is not handled or not allowed 2026-01-28 05:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn844-heavy-duty-push-pull-toggle-clamp-70evu4-asd-size-70-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-surface-mounted-toiletry-shelf-24-w>: HTTP status code is not handled or not allowed 2026-01-28 05:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-12mm-machine-screw-pan-head-phillips-steel-zinc-pkg-of-250>: HTTP status code is not handled or not allowed 2026-01-28 05:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-2-1-2-machine-screw-round-head-phillips-slotted-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-pallet-truck-pallet-jack-6600-lb-capacity-21-x-36>: HTTP status code is not handled or not allowed 2026-01-28 05:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-natural-ground-installation-black-cover-red-tapes-2>: HTTP status code is not handled or not allowed 2026-01-28 05:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-with-ss-thimble-kevlar-tail-58-dia-x-75l>: HTTP status code is not handled or not allowed 2026-01-28 05:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-machine-screw-indented-hex-head-unslotted-steel-zinc-ft-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321814-brush-lettuce-cutter>: HTTP status code is not handled or not allowed 2026-01-28 05:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-truck-4-shelves-48-x-24-3000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1355-3-8-inch-24-locknut>: HTTP status code is not handled or not allowed 2026-01-28 05:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/458766-bench-brush-soft-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-hopper-front-bulk-truck-48-cu>: HTTP status code is not handled or not allowed 2026-01-28 05:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3732-waste-drain-inch-e-inch-ring-for-twist-handle>: HTTP status code is not handled or not allowed 2026-01-28 05:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-with-stainless-steel-thimble-38-dia-x-50l>: HTTP status code is not handled or not allowed 2026-01-28 05:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-48-solid-plastic-locker-bench-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 65446 pages (at 99 pages/min), scraped 32707 items (at 13 items/min) 2026-01-28 05:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/317466-16-combo-push-broom-soft-stiff-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-12-x-72-phenolic-locker-single-tier-silver-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelf-utility-cart-36-w-x-18-d-2-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/in-plant-system-48-x-24-x-78>: HTTP status code is not handled or not allowed 2026-01-28 05:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metered-aerosol-air-fresheners-vineyard-12-case-07934>: HTTP status code is not handled or not allowed 2026-01-28 05:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/er70s-6-mild-steel-mig-welding-wire-035-dia-x-33-lb-spool>: HTTP status code is not handled or not allowed 2026-01-28 05:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-36x18x69-1200-pound-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 05:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-48x18x69-1200-pound-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 05:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-47605-acs-j-box-surge-protective-kit-single-ac-power-module>: HTTP status code is not handled or not allowed 2026-01-28 05:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-36w-x-30d-black>: HTTP status code is not handled or not allowed 2026-01-28 05:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brother-lc101c-lc101c-ink-300-page-yield-cyan>: HTTP status code is not handled or not allowed 2026-01-28 05:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cat-6-plenum-1000-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/697277-3-stainless-steel-scraper-pink>: HTTP status code is not handled or not allowed 2026-01-28 05:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-72x24x80-1200-pound-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 05:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31942-24-combo-push-broom-soft-stiff-green>: HTTP status code is not handled or not allowed 2026-01-28 05:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5380-103-9-216-4-0-pipe-brush-medium-black>: HTTP status code is not handled or not allowed 2026-01-28 05:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-14-w-x-18-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-28 05:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-36-d-production-workbench-phenolic-resin-safety-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-30-d-production-workbench-maple-butcher-block-square-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8345-containment-berm-track-belts-30-by-72-pvc-set-of-2>: HTTP status code is not handled or not allowed 2026-01-28 05:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29112-nylon-floor-scraper-green>: HTTP status code is not handled or not allowed 2026-01-28 05:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42373-dish-brush-w-scraper-medium-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1211120-leveler-non-skid-3-8-16-thd>: HTTP status code is not handled or not allowed 2026-01-28 05:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8751-replacement-liner-for-13-by-13-modular-model-berm-textured-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29105-stainless-steel-floor-scraper-white>: HTTP status code is not handled or not allowed 2026-01-28 05:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-rectorseal-45176-vertical-elbow-4-34l-x-4-14w-x-3h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium76-46-59-collapsible-inside-76l-x-46w-x-59>: HTTP status code is not handled or not allowed 2026-01-28 05:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29102-stainless-steel-floor-scraper-green>: HTTP status code is not handled or not allowed 2026-01-28 05:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-round-soup-bowl-lid-1000-cs-white-dxhh87>: HTTP status code is not handled or not allowed 2026-01-28 05:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010609-fuse-block-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 05:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium76-57-23-collapsible-inside-76l-x-57w-x-23>: HTTP status code is not handled or not allowed 2026-01-28 05:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panels-for-small-bussing-cart-18-x-36-black-cp203603>: HTTP status code is not handled or not allowed 2026-01-28 05:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-bussing-cart-w-panels-18-x-36-black-cc2036p03>: HTTP status code is not handled or not allowed 2026-01-28 05:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-fenwick-insulated-dome-10-d-12-cs-onyx-dx540003>: HTTP status code is not handled or not allowed 2026-01-28 05:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-protective-cover-for-apex153-1200--jetstream-240-portable-evaporative-coolers>: HTTP status code is not handled or not allowed 2026-01-28 05:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-30-maple-square-edge-work-bench-adjustable-height-1-3-4-top>: HTTP status code is not handled or not allowed 2026-01-28 05:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-snow-ice-melting-heated-walkway-mat-3-x-20-120-volts>: HTTP status code is not handled or not allowed 2026-01-28 05:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-96x48x120-starter-unit-green-orange-6080-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pxcmlc1683066-16rhp-single-stage-piston-comp30-gal-vert135-psi-1-phase-120-240v>: HTTP status code is not handled or not allowed 2026-01-28 05:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-96x36x144-starter-unit-green-orange-6080-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bott-plier-hooks-for-perfo-panels-package-of-5-2-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 05:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-classic-translucent-lid-1000-cs-clear-dx1193st8714>: HTTP status code is not handled or not allowed 2026-01-28 05:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tensacone-topper-yellow-with-black-yellow-diagonal-striped-belt>: HTTP status code is not handled or not allowed 2026-01-28 05:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-flat-tray-15-x-20-12-cs-gray-dx1089m23>: HTTP status code is not handled or not allowed 2026-01-28 05:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1155-stainless-steel-flat-washer-18-8-size-10-100-box>: HTTP status code is not handled or not allowed 2026-01-28 05:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-coated-cast-iron-dumbbell-set-with-floor-rack-20-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 05:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-security-cage-60x24x72>: HTTP status code is not handled or not allowed 2026-01-28 05:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-add-on-48inw-x-48ind-x-144inh-6590-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orange-bomb-gel-8-ounce-cup>: HTTP status code is not handled or not allowed 2026-01-28 05:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40124-nylon-scraper-with-threaded-handle-red>: HTTP status code is not handled or not allowed 2026-01-28 05:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-unit-blk-yellow-15-black-yellow-w-clamp-belt-end>: HTTP status code is not handled or not allowed 2026-01-28 05:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-unit-blk-yellow-15-caution-do-not-enter-yellow-w-clamp-belt-end>: HTTP status code is not handled or not allowed 2026-01-28 05:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-unit-black-black-30-black-yellow-belt>: HTTP status code is not handled or not allowed 2026-01-28 05:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mineral-refrigeration-oil-5-gallons-300-sus>: HTTP status code is not handled or not allowed 2026-01-28 05:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31748-16-combo-push-broom-soft-stiff-purple>: HTTP status code is not handled or not allowed 2026-01-28 05:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-tulip-bowlswirl-13-oz-48-cs-clear-dxswc1207>: HTTP status code is not handled or not allowed 2026-01-28 05:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storability-32-top-track-with-mounting-hardware>: HTTP status code is not handled or not allowed 2026-01-28 05:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/221622-indicator-knob>: HTTP status code is not handled or not allowed 2026-01-28 05:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-shop-desk-36-x-28-x-54>: HTTP status code is not handled or not allowed 2026-01-28 05:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-able-shipping-container-with-lid-44-x-29-5>: HTTP status code is not handled or not allowed 2026-01-28 05:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-vi-wind-front-brim-safety-helmet-adjustable-one-d-rotor-clamping-system-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aerospec-ss-nsf-wall-shelf-34>: HTTP status code is not handled or not allowed 2026-01-28 05:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-door-wall-mountable-film-box-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-swivel-casters-set-of-4>: HTTP status code is not handled or not allowed 2026-01-28 05:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-floor-standing-stainless-steel-wet-wipe-station-starter-kit>: HTTP status code is not handled or not allowed 2026-01-28 05:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccc10040-socket-set-screw>: HTTP status code is not handled or not allowed 2026-01-28 05:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-sectional-stackbin-unit-37-w-x-15-1-2-d-x-6-h-black-5-compartments>: HTTP status code is not handled or not allowed 2026-01-28 05:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-weight-0-5-lb-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/550-10-1-digital-chair-scale-with-17w-seat-660-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 05:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-unlined-bib-overall-m-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-tube-2-x-050-x-4-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdc03016-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 05:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-handrail-bracket-for-15-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abe08-heavy-duty-flat-washer>: HTTP status code is not handled or not allowed 2026-01-28 05:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-5-foot-rail-kit-2-tube-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 05:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1075-pin-connector-1-8-inch-female-push-on-straight-crimp-end>: HTTP status code is not handled or not allowed 2026-01-28 05:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-72-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 05:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cmc05020-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 05:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-carton-storage-truck-single-level-400lb>: HTTP status code is not handled or not allowed 2026-01-28 05:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-eye-adjustable-manual-trolley-2000lb>: HTTP status code is not handled or not allowed 2026-01-28 05:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-water-dispenser-approx-273-lb-production-soft-chewable-ice-crystals>: HTTP status code is not handled or not allowed 2026-01-28 05:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-add-on-60-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 05:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-level-incline-board-plastic-14-x-14>: HTTP status code is not handled or not allowed 2026-01-28 05:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/molded-dual-handle-medicine-ball-22-lb-10-kg-gold>: HTTP status code is not handled or not allowed 2026-01-28 05:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porta-shield-vinyl-divider-6-foot-w-x-6-half-foot-h-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 65546 pages (at 100 pages/min), scraped 32721 items (at 14 items/min) 2026-01-28 05:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/molded-dual-handle-medicine-ball-11-lb-5-kg-red>: HTTP status code is not handled or not allowed 2026-01-28 05:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cnc06014-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 05:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-heat-spatula-nsf>: HTTP status code is not handled or not allowed 2026-01-28 05:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-pliable-medicine-ball-11-lb-7-diameter-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-adjustable-saddle-ball-for-15-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-twill-safety-cargo-utility-pants-34l-inseam-x-38-waist-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-6-5-8-w-x-11-5-8-d-x-4-h-red>: HTTP status code is not handled or not allowed 2026-01-28 05:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-handle-lockout-steelplastic-red>: HTTP status code is not handled or not allowed 2026-01-28 05:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-72l-x-24w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-10-stud-wedge-anchor-steel-zinc-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 05:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-x-7-stud-wedge-anchor-steel-zinc-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 05:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-end-dome-with-drop-cord-and-2-speed-for-642-motor-only>: HTTP status code is not handled or not allowed 2026-01-28 05:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-tube-15-x-050-x-8-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 05:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-glass-grip-mini-flat-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-72l-x-21w-x-69h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmj05025-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 05:53:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-48l-x-21w-x-69h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010607-gasket-burner-boxto-tube-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 05:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/servewell-4-well-hot-food-table-2>: HTTP status code is not handled or not allowed 2026-01-28 05:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-42l-x-18w-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 05:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harloff-standard-line-punch-card-medication-cart-600-card-capacity-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-flush-tee-fitting-side-outlet-for-2-tubing-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 05:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Hot-Surface-Furnace-Ignitor-Five-And-One-Quarter-Inch-Lead-Wire-Length>: HTTP status code is not handled or not allowed 2026-01-28 05:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-hanging-file-folders-15-tab-11-point-stock-letter-assorted-colors-25box>: HTTP status code is not handled or not allowed 2026-01-28 05:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/165lb-counting-scale>: HTTP status code is not handled or not allowed 2026-01-28 05:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-cabinet-workbench-with-sliding-doors>: HTTP status code is not handled or not allowed 2026-01-28 05:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors>: HTTP status code is not handled or not allowed 2026-01-28 05:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x24-cabinet-workbench-with-hinged-doors>: HTTP status code is not handled or not allowed 2026-01-28 05:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-blind-rivet-1-8-x-4-3-countersunk-head-up-to-3-16-grip-aluminum-steel-pkg-of-500>: HTTP status code is not handled or not allowed 2026-01-28 05:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-security-weather-resistant-covered-padlocks-with-master-key-system-6121lf>: HTTP status code is not handled or not allowed 2026-01-28 05:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-solid-shelf-18x36>: HTTP status code is not handled or not allowed 2026-01-28 05:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-metal-cable-seal-1-16-wx12-l-green-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-monobolt-blind-rivet-3-16-dome-head-062-270-grip-range-aluminum-aluminum-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-metal-cable-seal-1-16-wx24-l-green-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011542-relay-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 05:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-pressboard-end-tab-classification-folders-letter-eight-section-red-10box>: HTTP status code is not handled or not allowed 2026-01-28 05:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1028-clear-tin-plated-copper-closed-end-connector-wire-gauge-10-100-box>: HTTP status code is not handled or not allowed 2026-01-28 05:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2151265-arm-pusher-head-left-for-redco-slicers>: HTTP status code is not handled or not allowed 2026-01-28 05:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-pants-s-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 05:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421138-rivet-blind-stainless-steel-44-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-industrial-incandescent-25>: HTTP status code is not handled or not allowed 2026-01-28 05:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2051116-hose-drain-salad-dryer-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 05:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-pin-with-snap-rings-cs-50-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 05:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-24-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 05:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-end-tab-folders-two-fasteners-legal-manila-50box>: HTTP status code is not handled or not allowed 2026-01-28 05:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-block-for-trunnion-cs-100-125-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 05:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-pressboard-classification-folder-letter-six-section-green-10box>: HTTP status code is not handled or not allowed 2026-01-28 05:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421143-rivet-blind-stainless-steel-46-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:53:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_cylinders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012406-spark-ignition-module-for-woodstone-ovens>: HTTP status code is not handled or not allowed 2026-01-28 05:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-add-on-42-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 05:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cpr-board-10-518>: HTTP status code is not handled or not allowed 2026-01-28 05:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500-watt-48-volt-pure-sine-inverter>: HTTP status code is not handled or not allowed 2026-01-28 05:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-professional-trauma-bag-royal-blue-10-104-roy>: HTTP status code is not handled or not allowed 2026-01-28 05:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottlejacks-jet-453323k>: HTTP status code is not handled or not allowed 2026-01-28 05:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-1-accordion-expansion-file-pockets-25-tab-legal-manila-50box>: HTTP status code is not handled or not allowed 2026-01-28 05:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-add-on-30-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 05:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-responder-bag-navy-10-108-nvy>: HTTP status code is not handled or not allowed 2026-01-28 05:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-box-pleat-skirting-24h-stage-black>: HTTP status code is not handled or not allowed 2026-01-28 05:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4ft-long-box-pleat-skirting-32h-stage-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-stage-carpet-96l-x-48w-x-32h-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireproof-2-drawer-vertical-file-cabinet-letter-31-9-16-lx17-3-4-wx27-3-4-h-parchment>: HTTP status code is not handled or not allowed 2026-01-28 05:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_cylinders>: HTTP status code is not handled or not allowed 2026-01-28 05:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireproof-4-drawer-vertical-file-cabinet-letter-31-9-16-lx17-3-4-wx52-3-4-h-parchment>: HTTP status code is not handled or not allowed 2026-01-28 05:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009335-ignition-module-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 05:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511042-rear-pilot-tube-for-randell>: HTTP status code is not handled or not allowed 2026-01-28 05:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/414483-vbs-1408-14-vertical-bandsaw-115-230v1-phase>: HTTP status code is not handled or not allowed 2026-01-28 05:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uncoated-fiberglass-welding-blanket-6w-x-6h-24-oz-fabric-white>: HTTP status code is not handled or not allowed 2026-01-28 05:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2481011-knob-carriage-arm-for-univex>: HTTP status code is not handled or not allowed 2026-01-28 05:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-36-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 05:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screwjacks-jet-441325>: HTTP status code is not handled or not allowed 2026-01-28 05:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-utility-cart-30-3-4-x-18-3-8-x-33-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-30mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-36-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 05:53:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_cylinders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-32l-inseam-x-30-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 05:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-60-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 05:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-pie-set-carpet-36w-stage-units-8h-16h-24h-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vises-wilton-63248>: HTTP status code is not handled or not allowed 2026-01-28 05:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 65639 pages (at 93 pages/min), scraped 32739 items (at 18 items/min) 2026-01-28 05:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-surveyor-safety-vest-zipper-2xl-orange-sv59z-2zod-2x>: HTTP status code is not handled or not allowed 2026-01-28 05:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/416-14-3-composite-adjustable-spreader-lifting-beam-14-ton-capacity-3-hook-spread>: HTTP status code is not handled or not allowed 2026-01-28 05:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-620mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-50mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-20mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-xs-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 05:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-48-w-x-18-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 05:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-60-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 05:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/terry-foot-booties-for-paraffin-treatment-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_cylinders>: HTTP status code is not handled or not allowed 2026-01-28 05:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rwg564xxl-axis-cut-resistant-gloves-foam-nitrile-palm-hv-grn-blk-2xl-1-pr>: HTTP status code is not handled or not allowed 2026-01-28 05:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-pallet-truck-storage-caddy>: HTTP status code is not handled or not allowed 2026-01-28 05:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-60-w-x-18-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 05:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-3-heavy-duty-engineer-vest-green-4xl-sv55-3zgd-4x>: HTTP status code is not handled or not allowed 2026-01-28 05:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-add-on-60-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 05:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-4xlt-black>: HTTP status code is not handled or not allowed 2026-01-28 05:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-4xlt-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 05:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-pie-unit-carpet-48w-x-24h-stage-units-red>: HTTP status code is not handled or not allowed 2026-01-28 05:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331318-handle-kit-wheel-short-shuttle-for-worchester-industrial-products>: HTTP status code is not handled or not allowed 2026-01-28 05:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23awg-4-pr-utp-cat6e-550-mhz-cmr-1000-ft-box-green>: HTTP status code is not handled or not allowed 2026-01-28 05:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-two-tone-surveyor-safety-vest-4xl-green-sv6g4x>: HTTP status code is not handled or not allowed 2026-01-28 05:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mf1-mf2-fl-mount-kit-1-1-2-bore-nfpa-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 05:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledge-72-l-x-4-h-wire-shelves>: HTTP status code is not handled or not allowed 2026-01-28 05:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-chrome-wire-shelf-cart-36x18-2-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-poly-oxford-3-in-1-waterproof-parka-jacket-l-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-set-hardboard-96l-x-48w-8h-16h-24h-two-guard-rails>: HTTP status code is not handled or not allowed 2026-01-28 05:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-pain-relief-gel-1-gallon-dispenser-bottle>: HTTP status code is not handled or not allowed 2026-01-28 05:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compress-large-10-x-13>: HTTP status code is not handled or not allowed 2026-01-28 05:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bib-apron-28x27-three-pockets-adjustable-neckband-royal-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-insulated-quilted-jacket-l-black>: HTTP status code is not handled or not allowed 2026-01-28 05:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-3xlt-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 05:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8016225-sweep-38-inch-for-kolpak-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 05:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compress-tri-sectional-8-x-16-6-case>: HTTP status code is not handled or not allowed 2026-01-28 05:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fx-40-balaclava-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 05:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-two-tone-surveyor-safety-vest-s-green-sv6gs>: HTTP status code is not handled or not allowed 2026-01-28 05:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-pain-relief-gel-4-oz-tube-11-1031-1>: HTTP status code is not handled or not allowed 2026-01-28 05:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelf-truck-48x24x92-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-82280n-02-32-18-male-nptf-x-1032-unf-female-thread-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 05:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1631012-whip-wire-5-6-qt-for-kitchen-aid>: HTTP status code is not handled or not allowed 2026-01-28 05:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-lt-black>: HTTP status code is not handled or not allowed 2026-01-28 05:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1872-aluminum-keyhole-shelf-pilaster-48-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-shelf-level-boltless-wire-deck-34>: HTTP status code is not handled or not allowed 2026-01-28 05:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chefs-trousers-4x-hounds-tooth>: HTTP status code is not handled or not allowed 2026-01-28 05:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-lined-safety-parka-jacket-xxs-black>: HTTP status code is not handled or not allowed 2026-01-28 05:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-60mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-55905-10-38-knob-adj-10mm-tube-x-38-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 05:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-electric-heating-pad-dry-heat-3-settings-small-12-x-15>: HTTP status code is not handled or not allowed 2026-01-28 05:54:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-coverall-m-blackfluorescent-yellow-green>: HTTP status code is not handled or not allowed 2026-01-28 05:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-lined-safety-parka-jacket-xs-black>: HTTP status code is not handled or not allowed 2026-01-28 05:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reusable-hot-and-cold-compress-5-x-10-case-of-24>: HTTP status code is not handled or not allowed 2026-01-28 05:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-m-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 05:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tabletop-heating-unit-e2-with-2-oversize-3-standard-1-neck-packs>: HTTP status code is not handled or not allowed 2026-01-28 05:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compression-sleeve-large>: HTTP status code is not handled or not allowed 2026-01-28 05:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-55920-5-14-screw-adj-5mm-tube-x-14-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 05:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-85963-53-02-screw-adj-532-tube-x-18-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 05:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711235-shaft-carrier-kit-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 05:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-55925-6-m5-knob-adj-6mm-tube-x-m5-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 05:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-48x36x60-with-3-shelves-wood-deck-1200-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 05:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-480mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-320mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves>: HTTP status code is not handled or not allowed 2026-01-28 05:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wire-span-rack-96x36x96-with-3-shelves-wood-deck-800-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 05:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-polypropylene-seal-top-bag-with-hang-hole-5-x-3-2-mil>: HTTP status code is not handled or not allowed 2026-01-28 05:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-vinyl-reusable-cold-pack-standard-11-x-14-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saddle-pack-printed-portion-control-bags-tuesday-print-in-yellow-ink-7-x-65-05-mil>: HTTP status code is not handled or not allowed 2026-01-28 05:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steam-table-hdpe-pan-liners-on-rolls-with-twist-ties-25-x-34-05-mil>: HTTP status code is not handled or not allowed 2026-01-28 05:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-black-urethane-reusable-cold-pack-oversize-12-1-2-x-18-1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6mm-id-x-8mm-od-x-065mm-die-button-shim-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 05:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-36-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 05:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-insulated-ice-bag-with-tie-strings-7-x-13>: HTTP status code is not handled or not allowed 2026-01-28 05:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-4xl-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-extra-shelving-48x18x72-with-4-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boots-cleated-outsole-plain-toe-mens-size-10-15h-white>: HTTP status code is not handled or not allowed 2026-01-28 05:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-acid-corrosive-cabinet-manual-close-15-gallon>: HTTP status code is not handled or not allowed 2026-01-28 05:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-extra-shelving-48x18x96-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-55905-5-14-knob-adj-5mm-tube-x-14-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 05:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0625-inch-id-x-0874-inch-od-x-0005-inch-die-button-shim-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 05:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-double-acting-magnetic-cylinder-20mm-bore-x-80mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-pipe-nipple-82200n-06-38-nptf-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 05:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-inch-id-x-58-inch-od-x-0001-inch-steel-arbor-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 05:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00125-inch-black-plastic-color-coded-shim-stock-25-inch-x-50-inch-flat-sheet>: HTTP status code is not handled or not allowed 2026-01-28 05:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-acid-corrosive-cabinet-self-close-12-gallon>: HTTP status code is not handled or not allowed 2026-01-28 05:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-dual-access-fiberglass-step-ladder-1>: HTTP status code is not handled or not allowed 2026-01-28 05:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-225mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 05:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741394-wiper-gasket-for-glasspro>: HTTP status code is not handled or not allowed 2026-01-28 05:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-load-binder-hydraulic-raise-n-roll-machinery-dolly>: HTTP status code is not handled or not allowed 2026-01-28 05:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 65737 pages (at 98 pages/min), scraped 32750 items (at 11 items/min) 2026-01-28 05:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-boss-21300-extended-free-fall-lanyard-6-single-leg-with-steel-snap-hook-shock-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15176-window-gap-anchor-130-420-lbs-capacity-stainless-powder-coated-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1661203-pilot-assembly-nat-q345>: HTTP status code is not handled or not allowed 2026-01-28 05:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-utility-cloth-roll-kit-314d-1-in-p60x-p80j-p120j-p180j-p240j>: HTTP status code is not handled or not allowed 2026-01-28 05:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381725-lamp-for-amana-litton>: HTTP status code is not handled or not allowed 2026-01-28 05:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-high-capacity-wire-deck-shelf-48x48>: HTTP status code is not handled or not allowed 2026-01-28 05:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-heavy-duty-cabinet-2>: HTTP status code is not handled or not allowed 2026-01-28 05:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-counter-top-cabinet-1>: HTTP status code is not handled or not allowed 2026-01-28 05:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/564-inch-x-34-inch-o-1-oil-hardening-ground-flat-stock-18-inch-length>: HTTP status code is not handled or not allowed 2026-01-28 05:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-hd-boltless-shelving-add-on-48-in-w-x-24-in-d-x-72-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/332-inch-x-12-inch-o-1-oil-hardening-ground-flat-stock-18-inch-length>: HTTP status code is not handled or not allowed 2026-01-28 05:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-vcmx-series-condensate-removal-pump-safety-switch-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263319-kason-11070000032-hinge-surface-mount-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 05:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx24-dx73-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-28 05:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bayco-sl-1530-portable-led-worklight-50-watts-5000k-10000-lumens>: HTTP status code is not handled or not allowed 2026-01-28 05:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-55040-10-8-10mm-tube-x-8mm-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 05:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-extra-shelving-48x12x60-gray-with-4-shelves-1500-lb-cap-per-shelf>: HTTP status code is not handled or not allowed 2026-01-28 05:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-undercounter-freestanding-refrigerator-solid-door-2-5-cu-ft-abt-hc-ucfs-0204>: HTTP status code is not handled or not allowed 2026-01-28 05:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/release-lever-rod-for-globalindustrial-1-2-3-cu-yd-dumping-hopper-w-bump-release>: HTTP status code is not handled or not allowed 2026-01-28 05:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx12-dx73-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-28 05:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-alum-transfer-tank-100-gal-l-tank-long-37024149>: HTTP status code is not handled or not allowed 2026-01-28 05:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011847-motor-gear-for-turbochef>: HTTP status code is not handled or not allowed 2026-01-28 05:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-transfer-tank-50-gal-square-29224165>: HTTP status code is not handled or not allowed 2026-01-28 05:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-plug-30a-3ph-480v-l16-30pb-w>: HTTP status code is not handled or not allowed 2026-01-28 05:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-transfer-tank-36-gal-vertical-bl-29211584>: HTTP status code is not handled or not allowed 2026-01-28 05:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-freestanding-undercounter-flammable-storage-freezer-4-cu-ft-abt-ffp-04>: HTTP status code is not handled or not allowed 2026-01-28 05:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gold-ss-bellman-cart-curved-uprights-2>: HTTP status code is not handled or not allowed 2026-01-28 05:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-mount-above-ground-post-for-weekend-away-vault-dvjr0060-dvjr0060smpa-sand>: HTTP status code is not handled or not allowed 2026-01-28 05:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50054-500-plastic-barrier-chain-hdpe-2-x500-8-51mm-green>: HTTP status code is not handled or not allowed 2026-01-28 05:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0002-inch-stainless-steel-shim-stock-6-inch-x-60-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-piece-metric-steel-shim-stock-assortment-150mm-x-300mm-sheets>: HTTP status code is not handled or not allowed 2026-01-28 05:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51010-500-heavy-duty-plastic-barrier-chain-hdpe-2-x500-54mm-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-dp-1ph-3450rpm-m6c34db13hh>: HTTP status code is not handled or not allowed 2026-01-28 05:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00015-inch-brass-shim-stock-6-inch-x-60-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deposit-vault-mailbox-and-parcel-drop-dvcs0020-free-standing-rear-access-white>: HTTP status code is not handled or not allowed 2026-01-28 05:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1271140-door-gasket-18-1-4-inch-x-21-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1631021-beater-flat-7-qt-stainless-steel-nsf-for-kitchen-aid>: HTTP status code is not handled or not allowed 2026-01-28 05:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-48-tenv-1ph-1625rpm-a4p17nb8kk>: HTTP status code is not handled or not allowed 2026-01-28 05:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-safety-strap-for-144in-bay-j-hook-attachment-yellow>: HTTP status code is not handled or not allowed 2026-01-28 05:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-60130-04-14-tube-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultimate-truck-cargo-net-tie-down-kit-113-x-90-utdk-11390>: HTTP status code is not handled or not allowed 2026-01-28 05:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b56hs-all-ss-worm-gear-hose-clamp-3-116-inch-4-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 05:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b12hl-shieldedlined-hose-clamp-34-inch-1-18-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 05:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8004109-probe-w-ties-kit-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 05:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-40mm-phillips-oval-head-machine-screw-304-stainless-steel-din-966-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 05:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartcompliance-plastic-bandage-38-x-1-12-80box>: HTTP status code is not handled or not allowed 2026-01-28 05:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013101-wire-heater-frame-3-door-lt-for-hussman-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 05:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-89210-08-06-12-tube-x-38-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 05:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-55210-8-18-8mm-tube-x-18-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 05:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-eyebolt-1-2-13-x-8l-1-id-2-od-plain-pattern-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-60130-53-532-tube-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711259-rods-guide-w-4-cushions-2-pk-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 05:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30026-25-plastic-barrier-chain-hdpe-1-5-x25-6-38mm-traffic-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx12-dx85-h-closed-clip-style-5-shelf-starter-1>: HTTP status code is not handled or not allowed 2026-01-28 05:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011040-door-gasket-26-1-8-inch-x-26-3-4-inch-for-turbo-air-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 05:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-henley-shirt-4xl-regular-tan>: HTTP status code is not handled or not allowed 2026-01-28 05:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circuit-board-global-commercial-portable-ac-s>: HTTP status code is not handled or not allowed 2026-01-28 05:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cool-air-duct-connecting-flange-global-commercial-portable-ac-s>: HTTP status code is not handled or not allowed 2026-01-28 05:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30725-10-master-link-acetal-copolymer-1-5-safety-pink-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 05:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-henley-shirt-5xl-regular-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-basket-10-9-16-l-x-8-7-16-w-x-6-1-4-h-stainless-steel-price-each-for-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 05:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycle-42-square-container-dome-lid-black>: HTTP status code is not handled or not allowed 2026-01-28 05:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-round-basket-8-5-8-dia-x-8-1-4-h-stainless-steel-price-each-for-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 05:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-3-4-cu-yd-gray-self-dumping-hopper>: HTTP status code is not handled or not allowed 2026-01-28 05:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boardwalk-mediumweight-polypropylene-cutlery-spork-white-1000carton>: HTTP status code is not handled or not allowed 2026-01-28 05:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boardwalk-plastic-tableware-heavy-mediumweight-teaspoon-white-1000carton>: HTTP status code is not handled or not allowed 2026-01-28 05:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kinesiology-tape-2-x-16-5-ft-pink-latex-free-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 05:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfy-hand-thumb-orthosis-adult-large-with-one-cover>: HTTP status code is not handled or not allowed 2026-01-28 05:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-shower-abs-plastic-shower-head-replacement>: HTTP status code is not handled or not allowed 2026-01-28 05:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lite-insulated-drum-heater-pbl15-15-gallon-capacity-145f-fixed>: HTTP status code is not handled or not allowed 2026-01-28 05:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blackout-cordless-cellular-shade-48-wide-x-48-drop-cloud-white>: HTTP status code is not handled or not allowed 2026-01-28 05:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3269-5-inch-swivel-threaded-stem-caster-with-brake-1-2-inch-13-x-1-1-2-inch-stem-260-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 05:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-1ph-3450rpm-c6c34fk19ll>: HTTP status code is not handled or not allowed 2026-01-28 05:55:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-truck-gwk-102tf-lw-fits-raymond-model-102tf>: HTTP status code is not handled or not allowed 2026-01-28 05:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-1099-10-1-4-inch-door-latch-with-lock-and-strike-straight-handle>: HTTP status code is not handled or not allowed 2026-01-28 05:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-perimeter-warning-line-pennants-replacement-yellow-plastic-nylon>: HTTP status code is not handled or not allowed 2026-01-28 05:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-xl-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1150-model-9d-dual-check-backflow-preventer-w-atmospheric-vent-3-4-inch-fpt-union-fitting>: HTTP status code is not handled or not allowed 2026-01-28 05:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-waterproof-hard-case-w-p-tear-foam-16-11-32-l-x-13-3-16-w-x-4-3-4-h-black>: HTTP status code is not handled or not allowed 2026-01-28 05:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolt-extractors-irwin-54019>: HTTP status code is not handled or not allowed 2026-01-28 05:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 65837 pages (at 100 pages/min), scraped 32770 items (at 20 items/min) 2026-01-28 05:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9842-95w-a19-led-220-beam-spread-gu24-base-4000k>: HTTP status code is not handled or not allowed 2026-01-28 05:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9835-95w-a19-led-220-beam-spread-medium-base-2700k>: HTTP status code is not handled or not allowed 2026-01-28 05:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-helix-work-shirt-4xl-regular-dark-khaki>: HTTP status code is not handled or not allowed 2026-01-28 05:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9833-5w-a19-led-220-bean-spread-medium-base-4000k>: HTTP status code is not handled or not allowed 2026-01-28 05:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-m-short-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-v1100-spectrophotometer-320-1100nm-wavelength-range>: HTTP status code is not handled or not allowed 2026-01-28 05:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-portion-cup-lids-plastic-clear-125bag>: HTTP status code is not handled or not allowed 2026-01-28 05:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1201006-caster-stem-3-1-2-inch-w-brk-blk>: HTTP status code is not handled or not allowed 2026-01-28 05:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72w-x-30d-modular-workbench-with-3-drawers-esd-laminate-safety-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-3xl-short-khaki>: HTTP status code is not handled or not allowed 2026-01-28 05:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-cup-company-ultra-clear-pete-cold-cups-20-oz-clear>: HTTP status code is not handled or not allowed 2026-01-28 05:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-auto-cleaning-cloth-wipes-100-wipes-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thread-repair-kit-for-metal-standard-wall-m6-1-0-x-m10-1-5-ez-450-6>: HTTP status code is not handled or not allowed 2026-01-28 05:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9678-18w-led-hid-replacement-medium-base-amber100-277v>: HTTP status code is not handled or not allowed 2026-01-28 05:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-plastic-box-truck-8-bushel>: HTTP status code is not handled or not allowed 2026-01-28 05:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-plastic-box-truck-10-bushel>: HTTP status code is not handled or not allowed 2026-01-28 05:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-magnetic-floor-sweeper-36-w>: HTTP status code is not handled or not allowed 2026-01-28 05:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-plastic-box-truck-10-bushel>: HTTP status code is not handled or not allowed 2026-01-28 05:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-clamps-irwin-quick-grip-225106>: HTTP status code is not handled or not allowed 2026-01-28 05:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741410-door-gasket-for-kairak>: HTTP status code is not handled or not allowed 2026-01-28 05:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi-metal-hole-saws-irwin-marathon-3073004>: HTTP status code is not handled or not allowed 2026-01-28 05:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9172-14w-led-s14-ceramic-blue-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 05:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-series-3-harness-with-waist-pad-tie-back-legs-3-d-rings-m-l>: HTTP status code is not handled or not allowed 2026-01-28 05:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010367-door-seal-6-pan-for-groen>: HTTP status code is not handled or not allowed 2026-01-28 05:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100774-cs200-light-duty-hanging-scale-50-lb-x-02-lb>: HTTP status code is not handled or not allowed 2026-01-28 05:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9288-16w-led-a21-gu24-base-300-beam-spread-2700k>: HTTP status code is not handled or not allowed 2026-01-28 05:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9161-12w-led-s11-night-light-bulb-medium-base-white-2700k>: HTTP status code is not handled or not allowed 2026-01-28 05:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-clear-6>: HTTP status code is not handled or not allowed 2026-01-28 05:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cove-heater-kcv2407-w-59-white-240-208v-700-525w>: HTTP status code is not handled or not allowed 2026-01-28 05:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-hulk-stacking-bin-clear-3>: HTTP status code is not handled or not allowed 2026-01-28 05:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-special-slatwall-hooks-with-plastic-label-holder-zinc>: HTTP status code is not handled or not allowed 2026-01-28 05:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0051-inch-diameter-music-wire-1-pound-coil>: HTTP status code is not handled or not allowed 2026-01-28 05:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-mat-3-ft-w-x-5-ft-l-7-8-in-thick-black-yellow-border>: HTTP status code is not handled or not allowed 2026-01-28 05:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-foot-e-track-section-galvanized-2-per-carton>: HTTP status code is not handled or not allowed 2026-01-28 05:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-6-150mm-absolute-origin-ip54-digital-caliper-w-factory-calibration-cert>: HTTP status code is not handled or not allowed 2026-01-28 05:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-round-rack>: HTTP status code is not handled or not allowed 2026-01-28 05:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wstk-02-sstick-welder-glove>: HTTP status code is not handled or not allowed 2026-01-28 05:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-plastic-classroom-chair-set-of-five-navy>: HTTP status code is not handled or not allowed 2026-01-28 05:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011554-door-gasket-17-1-8-inch-x-25-5-8-inch-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 05:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-inch-id-x-58-inch-od-x-0020-inch-plastic-color-coded-arbor-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 05:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-flate-handheld-digital-tire-inflator-25-to-200-psi-1-58l-hose>: HTTP status code is not handled or not allowed 2026-01-28 05:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271203-door-hinge-screw-forframe-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 05:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-plastic-classroom-chair-set-of-five-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twin-cluster-medium-base-socket>: HTTP status code is not handled or not allowed 2026-01-28 05:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-cabinet-24w-22d-35-1-4h-1-door-silver-beige>: HTTP status code is not handled or not allowed 2026-01-28 05:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-pink-porcelain-mogul-socket>: HTTP status code is not handled or not allowed 2026-01-28 05:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-normally-closed-sing-air-actuated-valve-pilot-spring-return1-4-nptf-ports>: HTTP status code is not handled or not allowed 2026-01-28 05:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hub-bro-replacement-strip-disc>: HTTP status code is not handled or not allowed 2026-01-28 05:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281288-bakery-wheel-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccesr-led-die-cast-thin-exit-brushed-face-black-single-face-red-letters-ac-only>: HTTP status code is not handled or not allowed 2026-01-28 05:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06140-1-16-x-2-x-2-1-2-plastic-key-horseshoe-shim-86-1008pc>: HTTP status code is not handled or not allowed 2026-01-28 05:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-full-height-modular-storage-drawer-cabinet-32>: HTTP status code is not handled or not allowed 2026-01-28 05:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cwc1rw-ct-led-combo-exitemerg-light-wet-listed-red-letters-white-one-face-cold-temp>: HTTP status code is not handled or not allowed 2026-01-28 05:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-plastic-lever-lock-20-gallon-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 05:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-outdoor-ashtray>: HTTP status code is not handled or not allowed 2026-01-28 05:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-panel-divider-8-ft-high-x-13-ft-1-inch-long-fabric-greystone>: HTTP status code is not handled or not allowed 2026-01-28 05:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-wheel-riser-wheel-ramp-48-l-x-18-w-x-6-h-15-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-display-tower-6-ft-5-inch-high-fabric-walnut>: HTTP status code is not handled or not allowed 2026-01-28 05:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyn12i-dynamo-industrial-led-emergency-unit-wet-rated-3w-led-lamps-self-diagnostics>: HTTP status code is not handled or not allowed 2026-01-28 05:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mirage-cadet-induction-range-59310-canada-only-12-amps>: HTTP status code is not handled or not allowed 2026-01-28 05:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06025-3-8-x-1-1-2-x-2-plastic-horseshoe-shim-solid-13s-300pc>: HTTP status code is not handled or not allowed 2026-01-28 05:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixer-flat-beater-40772-for-30-quart-mixer>: HTTP status code is not handled or not allowed 2026-01-28 05:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-way-keyless-mechanism-w-screw-terminals>: HTTP status code is not handled or not allowed 2026-01-28 05:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-panel-display-tower-5-ft-9-inch-high-fabric-stone>: HTTP status code is not handled or not allowed 2026-01-28 05:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06050-1-4-x-2-5-16-x-3-plastic-horseshoe-shim-solid-24s-500pc>: HTTP status code is not handled or not allowed 2026-01-28 05:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-display-tower-6-ft-5-inch-high-fabric-sea-green>: HTTP status code is not handled or not allowed 2026-01-28 05:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanley-stht71834-heavy-duty-narrow-crown-staples-5-16-inch-1250-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010402-element-proofer-120v-600w-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 05:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262391-swivel-stm-castr-w-brk5-w-1-5-8-od-tubing>: HTTP status code is not handled or not allowed 2026-01-28 05:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-14-x-14-x-14-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixer-dough-hook-40763-for-10-quart-mixer>: HTTP status code is not handled or not allowed 2026-01-28 05:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixer-dough-hook-40767-for-20-quart-mixer>: HTTP status code is not handled or not allowed 2026-01-28 05:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-tee-adapter-532-tube-od-x-14-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 05:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireway-husky-tear-drop-pallet-rack-with-wire-deck-96x36x96>: HTTP status code is not handled or not allowed 2026-01-28 05:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-loaded-lip-seal-516-id-x-916-od-x-18-height-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 05:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phoenix-8-double-cantilever-steel-bench-without-back-surface-mount-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phoenix-8-double-cantilever-recycled-plastic-bench-wo-back-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-drawer-parts-storage-cabinet-24-drawers-1>: HTTP status code is not handled or not allowed 2026-01-28 05:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1131129-backflow-preventer-leadfree-ss-3-4-for-fisher-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 05:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 65937 pages (at 100 pages/min), scraped 32791 items (at 21 items/min) 2026-01-28 05:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-straight-connector-10mm-tube-od>: HTTP status code is not handled or not allowed 2026-01-28 05:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1087-female-quick-disconnect-with-90-degree-flag-1-4-inch-tab-100-box>: HTTP status code is not handled or not allowed 2026-01-28 05:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-plastic-shelf-truck-24-w-x-18-d-x-33-1-2-h-2-shelves>: HTTP status code is not handled or not allowed 2026-01-28 05:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hexagon-tree-9-bench-with-back-surface-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 05:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-unglazed-porcelain-socket-w-hickey-and-aluminum-screw-shell>: HTTP status code is not handled or not allowed 2026-01-28 05:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tefc-3ph-1725rpm-c6t17wk2jj>: HTTP status code is not handled or not allowed 2026-01-28 05:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-machinery-bushing-1-1-4-i-d-042-054-thick-steel-plain-grade-2-18-ga-50-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arkadia-4-1-2-quart-sauce-pan-7344-9-gauge-4-5-8-depth>: HTTP status code is not handled or not allowed 2026-01-28 05:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-taper-paper-tape-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 05:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphite-compression-packing-14w-x-14h-x-50-ft>: HTTP status code is not handled or not allowed 2026-01-28 05:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500ml-filter-system-0-45um-pes-filter-90mm-diameter-sterile-12-case>: HTTP status code is not handled or not allowed 2026-01-28 05:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-ft-extension-cord-16-2-spt-2-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-fiber-syringe-filter-1-1um-30mm-sterile-30-case>: HTTP status code is not handled or not allowed 2026-01-28 05:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprayed-glossy-white-ball-8-in-diameter>: HTTP status code is not handled or not allowed 2026-01-28 05:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-countersunk-finishing-washer-268-236-i-d-steel-plain-grade-2-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100ml-graduated-beaker-polypropylene-non-sterile-100-case>: HTTP status code is not handled or not allowed 2026-01-28 05:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signature-heavy-duty-single-compartment-bus-box-52661-20-x-15-x-7-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2hp-square-flange-motor-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 05:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1221158-latch-chrome-w-fl-strike-ir>: HTTP status code is not handled or not allowed 2026-01-28 05:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262076-oven-shelf2575-w-x-2075-d-for-franklin-universal-chef>: HTTP status code is not handled or not allowed 2026-01-28 05:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-machinery-bushing-4-i-d-042-054-thick-steel-plain-grade-2-18-gauge-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 05:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardner-bender-46-308uvbsc-self-cutting-cable-ties-8-in-black-50lb-50pk>: HTTP status code is not handled or not allowed 2026-01-28 05:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-high-pressure-clear-pvc-tubing-1id-x-1-14od-x-50-ft>: HTTP status code is not handled or not allowed 2026-01-28 05:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cpu-computer-cabinet-black>: HTTP status code is not handled or not allowed 2026-01-28 05:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-05785-white-ribbed-pp-sturdeeseal-pe-foam-lined-cap-20-410-neck-finish-case-of-7200>: HTTP status code is not handled or not allowed 2026-01-28 05:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-level-boltless-1>: HTTP status code is not handled or not allowed 2026-01-28 05:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-hook-for-gridwall>: HTTP status code is not handled or not allowed 2026-01-28 05:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-electric-height-adjustable-table-walnut-w-gray-base-72-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 05:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-am-2-1-3-4-carbon-filter-1ea>: HTTP status code is not handled or not allowed 2026-01-28 05:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iec-metric-motor-180m-ip55-3ph-c180t34fz1cc>: HTTP status code is not handled or not allowed 2026-01-28 05:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-professional-standard-strength-loaf-pan-5431-natural-3-3-8-x-5-x-2-1-2>: HTTP status code is not handled or not allowed 2026-01-28 05:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/servewell-sl-hot-food-table-38218-4-well-13-3-amp>: HTTP status code is not handled or not allowed 2026-01-28 05:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36x12x60-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-bucket-with-lid-and-handle-polypropylene-one-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-thank-you-for-social-distancing-sign>: HTTP status code is not handled or not allowed 2026-01-28 05:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdn-loud-alarm-timer-abs-plastic>: HTTP status code is not handled or not allowed 2026-01-28 05:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/new-york-new-york-cover-knob-46283-mirror-finish-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/414226-cs-275-275mm-ferrous-manual-cold-saw-1-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 05:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixer-wire-whisk-40778-for-60-quart-mixer>: HTTP status code is not handled or not allowed 2026-01-28 05:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fast-dry-traffic-striping-paint-5-gallon-white-10002069>: HTTP status code is not handled or not allowed 2026-01-28 05:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-black-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 05:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1t16a01k-zinc-die-cast-adjustable-lever-w-steel-components-10-32-x-63-stud>: HTTP status code is not handled or not allowed 2026-01-28 05:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321495-gh-1640zx-large-spindle-bore-lathe-w-acu-rite-200s-dro-collet-closer-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 05:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-width-wall-mounted-hanger-style-coat-rack-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321304-gh-1440zx-large-spindle-bore-lathe-w-acu-rite-300s-dro-collet-closer-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 05:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321507-gh-1440zx-large-spindle-bore-lathe-w-acu-rite-200s-taper-attachment-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 05:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014141-hood-filter-type6-stainless-steel-16x16-w-btm-bracket>: HTTP status code is not handled or not allowed 2026-01-28 05:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arkadia-16-quart-stock-pot-7304-6-gauge-12-depth>: HTTP status code is not handled or not allowed 2026-01-28 05:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-60x36x96-with-3-levels-wood-deck-1300lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-caster-chairs-black-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 05:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-best-value-wire-shelving-unit-48-w-x-18-d-x-74-h-600-lb-shelf-cap-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-48x24x96-with-3-level-steel-deck-1500lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-navy-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 05:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutlery-bins-52652-brown>: HTTP status code is not handled or not allowed 2026-01-28 05:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690140-jtm-4vs-milling-machine-w-3-axis-acu-rite-200s-dro-quill-x-y-axis-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 05:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-36-straight-floor-squeegee-w-wood-handle>: HTTP status code is not handled or not allowed 2026-01-28 05:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truck-powered-crate-turner-dumper-3000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chem-vac-soot-remover-stick-114-grams-1-qty>: HTTP status code is not handled or not allowed 2026-01-28 05:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-barstools-navy-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 05:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-barstools-light-gray-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 05:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-d-workstation-fan>: HTTP status code is not handled or not allowed 2026-01-28 05:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-all-purpose-cleaner-citrus-20-pods-jar>: HTTP status code is not handled or not allowed 2026-01-28 05:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-containment-sump-without-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-caster-chairs-sky-blue-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 05:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slip-over-floor-savers-gray-8-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-barstools-black-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 05:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-96x36x96-with-3-levels-steel-deck-800lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-caster-chairs-sky-blue-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 05:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-72x48-high-capacity-rack-wood-deck-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-packing-table-with-butcher-block-square-edge-top-70-x-30>: HTTP status code is not handled or not allowed 2026-01-28 05:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321502-hose-kit-1-2-inch-x-12-ft>: HTTP status code is not handled or not allowed 2026-01-28 05:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-chairs-black-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 05:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-chairs-sky-blue-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 05:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boil-in-vacuum-sealer-bags-23850-pack-of-100-6-x-8>: HTTP status code is not handled or not allowed 2026-01-28 05:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-96x48-high-capacity-rack-steel-deck-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/servue153-touchless-refrigerated-slide-in-salad-dispenser-8-compartments-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olympian-digital-fire-resistant-safe-0-66-cu-ft-black-steel>: HTTP status code is not handled or not allowed 2026-01-28 05:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-tapered-sauce-pan-434412-7-1-2625-bottom-diameter-4-1-2-quart-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wall-brackets>: HTTP status code is not handled or not allowed 2026-01-28 05:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-oz-compostable-eco-friendly-wheat-tray-400-pcs>: HTTP status code is not handled or not allowed 2026-01-28 05:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x14-wire-basket>: HTTP status code is not handled or not allowed 2026-01-28 05:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basetek-cut-resistant-gloves-polyurethane-coated-ansi-a3-l-salt-pepper-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 05:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strathmere-6-piece-woven-deep-seating-set-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261058713-metalite-cloth-sheet-9-inch-x-11-inch-p40-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 05:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66037 pages (at 100 pages/min), scraped 32807 items (at 16 items/min) 2026-01-28 05:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-4-shelf-retainer-divider>: HTTP status code is not handled or not allowed 2026-01-28 05:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-speed-pipe-dies-for-universal-die-heads-12-34-pipe-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-half-tub-only-1390-beige-24-x-24-3-8-x-5-1-4>: HTTP status code is not handled or not allowed 2026-01-28 05:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breeze-task-chair-with-headrest-high-back-19-22-12h-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 05:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261126268-metalite-cloth-roll-1-inch-w-x-50-yds-aluminum-oxide-p320-grit>: HTTP status code is not handled or not allowed 2026-01-28 05:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-flatware-washing-system-97285-20-pc>: HTTP status code is not handled or not allowed 2026-01-28 05:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-lok-174-red-g2-500-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-pieces-sae-metric-ball-end-long-arm-hex-key-set-005-38-2mm-10mm>: HTTP status code is not handled or not allowed 2026-01-28 05:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1503530-tray-chilled-condiment-3-qt-for-san-jamar>: HTTP status code is not handled or not allowed 2026-01-28 05:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-ac-parallel-157rpm-c4c17fz32c>: HTTP status code is not handled or not allowed 2026-01-28 05:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263779-pump-sp-for-server-products>: HTTP status code is not handled or not allowed 2026-01-28 05:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-only-3500-first-responder-kit-151-piece-fabric-case>: HTTP status code is not handled or not allowed 2026-01-28 05:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66623399006-neon-plastic-flat-flap-disc-t27-4-1-2-inch-x-7-8-inch-p80-grit-zirconia-alumina>: HTTP status code is not handled or not allowed 2026-01-28 05:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cross-stack-nest-tote-box-25-1-8x16x8-1-2-white>: HTTP status code is not handled or not allowed 2026-01-28 05:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wiregard-174-orange-gb-3-small-jar-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 05:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-long-divider-sold-pack-of-6-5>: HTTP status code is not handled or not allowed 2026-01-28 05:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-storage-cabinet-9300-series-2-door-fixed-shelves-black>: HTTP status code is not handled or not allowed 2026-01-28 05:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-adaptabilities-single-left-pedestal-credenza-avant-honey>: HTTP status code is not handled or not allowed 2026-01-28 05:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1231117-kason-1055-000044-hinge-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 05:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-adaptabilities-4-door-kit-for-hutch-avant-honey>: HTTP status code is not handled or not allowed 2026-01-28 05:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7401-coated-waterproof-winter-work-gloves-medium-orange-case>: HTTP status code is not handled or not allowed 2026-01-28 05:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-dock-seal-40-ounce-8-w-x-8-h>: HTTP status code is not handled or not allowed 2026-01-28 05:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-pencil-drawer-18-15black>: HTTP status code is not handled or not allowed 2026-01-28 05:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-reversible-drill-65>: HTTP status code is not handled or not allowed 2026-01-28 05:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/respirator-cleaning-kit-with-liquid-cleaner-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 05:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kyorene-pro-cut-resistant-gloves-hct-micro-foam-nitrile-coated-ansi-a4-xs-yellow-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 05:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-bussing-cart-97186-3-shelf-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-recoilless-air-hammer>: HTTP status code is not handled or not allowed 2026-01-28 05:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-foldable-3>: HTTP status code is not handled or not allowed 2026-01-28 05:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-instacut-3-1-2-corer-dicer-wedger-15006-8-section-wedge-cut-tabletop>: HTTP status code is not handled or not allowed 2026-01-28 05:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traffic-cone-non-reflective-4>: HTTP status code is not handled or not allowed 2026-01-28 05:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gpx-9-in-portable-dvd-player>: HTTP status code is not handled or not allowed 2026-01-28 05:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-single-basin-metering-faucet-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 05:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-facility-signs-wear-your-safety-glasses-vinyl-4x4>: HTTP status code is not handled or not allowed 2026-01-28 05:58:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/label_makers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ft-x20-ft-1-3-8-inch-8-leg-canopy-wht-cover-w-enclosure-and-ext-kits>: HTTP status code is not handled or not allowed 2026-01-28 05:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/68-1211-pump-motor-assembly-115v>: HTTP status code is not handled or not allowed 2026-01-28 05:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3889-10-inch-h-x-20-inch-w-x-2-inch-t-stainless-steel-hood-filter-ridged-baffles>: HTTP status code is not handled or not allowed 2026-01-28 05:58:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331220-filter-oil-12-1-8x235-inch-100-pk-for-anetsberger-bros>: HTTP status code is not handled or not allowed 2026-01-28 05:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-use-indoor-outdoor-large-yellow-interior-box-2-lights-2-sensor-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 05:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1303-full-surface-spring-double-acting-hinge-6-usp>: HTTP status code is not handled or not allowed 2026-01-28 05:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1291050-filter-baffle-10x20-hd-type-i>: HTTP status code is not handled or not allowed 2026-01-28 05:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mq74pe-metromax-q-stationary-post-74>: HTTP status code is not handled or not allowed 2026-01-28 05:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsloxyvsp-gas-cylinder-shoulder-label>: HTTP status code is not handled or not allowed 2026-01-28 05:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-3-point-drum-lifter-for-30-and-55-gallon-drums-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:58:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3853-grade-1-mortise-lock-entry-esc-us32d-wts-full6-scc-kd-rev-1>: HTTP status code is not handled or not allowed 2026-01-28 05:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_machines/label_makers>: HTTP status code is not handled or not allowed 2026-01-28 05:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/81-h-steel-post-with-fixed-base-power-outlet-beige>: HTTP status code is not handled or not allowed 2026-01-28 05:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-d-repel-gel-plus-quart-bottle-12-case-051500>: HTTP status code is not handled or not allowed 2026-01-28 05:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5100-grade-1-heavy-duty-surface-door-closer-par-adj-2-6-alm-hdhos>: HTTP status code is not handled or not allowed 2026-01-28 05:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-high-speed-straight-drill>: HTTP status code is not handled or not allowed 2026-01-28 05:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges>: HTTP status code is not handled or not allowed 2026-01-28 05:58:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_closers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263129-alum-tube-50ft-roll-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 05:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-38>: HTTP status code is not handled or not allowed 2026-01-28 05:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffer-23-3-4-x-23-3-4-pvc-lay-in-tile-in-gloss-white-pl6100>: HTTP status code is not handled or not allowed 2026-01-28 05:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-56>: HTTP status code is not handled or not allowed 2026-01-28 05:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-1-23-3-4-x-23-3-4-pvc-lay-in-tile-in-polished-copper-pl5025>: HTTP status code is not handled or not allowed 2026-01-28 05:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-2-w-x-12-d-x-4-1-2-h-stackbin-hopper-front-container-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges>: HTTP status code is not handled or not allowed 2026-01-28 05:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coil-siding-nail-snrsg92-2wc-2-x-92-wire-collated-galvanized-ring-shank-3600-bx>: HTTP status code is not handled or not allowed 2026-01-28 05:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011830-transformer-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 05:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hsp820-blockade-versatile-sign-stand>: HTTP status code is not handled or not allowed 2026-01-28 05:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012704-blower-assembly-115v-for-cres-cor>: HTTP status code is not handled or not allowed 2026-01-28 05:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-table-with-poly-top-and-undershelf-24-inch-w-72-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 05:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681547-element-208v-85kw-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 05:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681384-pump>: HTTP status code is not handled or not allowed 2026-01-28 05:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_closers>: HTTP status code is not handled or not allowed 2026-01-28 05:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp208or-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 05:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-2-23-3-4-x-23-3-4-pvc-lay-in-tile-in-antique-bronze-pl5231>: HTTP status code is not handled or not allowed 2026-01-28 05:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-jumbo-bulk-mover>: HTTP status code is not handled or not allowed 2026-01-28 05:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281442-window-only-access-for-lincoln-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 05:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/noheat-hand-dryer-with-noise-reduction-nozzle-stainless-steel-hepa-110-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-dryer-with-noise-reduction-nozzle-graphite-die-cast-zinc-alloy-hepa-110-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-dryer-w-noise-reduction-nozzle-stainless-steel-hepa-110-120v>: HTTP status code is not handled or not allowed 2026-01-28 05:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp212bu-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 05:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1571095-connector-gas-3-4-inch-x-48-inch-for-dormont-mfg>: HTTP status code is not handled or not allowed 2026-01-28 05:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-double-swivel-socket-2>: HTTP status code is not handled or not allowed 2026-01-28 05:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-174-48-11-1812-m18-174-redlithium-174-high-output-12-0ah-battery-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-corner-swivel-socket-2>: HTTP status code is not handled or not allowed 2026-01-28 05:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10197215-harness-back-hip-d-rings-tongue-buckle-leg-straps-standard>: HTTP status code is not handled or not allowed 2026-01-28 05:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp225-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 05:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x1075-4-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 05:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-glasses-mirror-lens-clear-mirror-frame>: HTTP status code is not handled or not allowed 2026-01-28 05:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66127 pages (at 90 pages/min), scraped 32815 items (at 8 items/min) 2026-01-28 05:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012122-motor-assembly-for-vulcan-hart>: HTTP status code is not handled or not allowed 2026-01-28 05:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1412000-dispenser-nap-tmpn-surface-for-bobrick>: HTTP status code is not handled or not allowed 2026-01-28 05:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/175-dst-classic-single-handle-kitchen-faucet-wspray-chrome>: HTTP status code is not handled or not allowed 2026-01-28 05:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-36-x-48-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72in-w-x-36in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10194976-harness-back-d-ring-tongue-buckle-leg-straps-extra-small>: HTTP status code is not handled or not allowed 2026-01-28 05:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72in-w-x-15in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/challenger-mat-3-ft-x-5-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 05:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241080-frame-easy-tomato-slicer-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 05:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-marker-booklet-a-z-0-15-symbols>: HTTP status code is not handled or not allowed 2026-01-28 05:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motors-hostile-duty-tefc-1-hp-3-phase-1760-rpm-motor-hd1p2e>: HTTP status code is not handled or not allowed 2026-01-28 05:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x8x1-1-4-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 05:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009358-thermostat-ego-for-moffat>: HTTP status code is not handled or not allowed 2026-01-28 05:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bristol-ridge-scraper-carpet-mat-4-ft-x-6-ft-slate-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010739-hi-limit-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 05:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marble-sof-tyle-grande-mat-3-ft-x-custom-length-grey>: HTTP status code is not handled or not allowed 2026-01-28 05:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-35x13x30-2-shelf-glass-double-door-wall-medical-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 05:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spillmagic-sm1srskitspill-response-station-kit-with-filled-spillmagic-bottle>: HTTP status code is not handled or not allowed 2026-01-28 05:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/621160-infrared-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 05:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-workbench-w-sliding-door-8-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-72-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10196702-harness-back-d-ring-tongue-buckle-leg-straps-extra-small>: HTTP status code is not handled or not allowed 2026-01-28 05:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1167-thermostat-kit-type-sp-kit-temperature-100-200-f-36-inch-capillary>: HTTP status code is not handled or not allowed 2026-01-28 05:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10194946-harness-back-d-ring-quick-connect-leg-straps-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 05:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-heavy-duty-boltless-shelving-starter-42in-w-x-15in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tutco-crankcase-100-240-28-516>: HTTP status code is not handled or not allowed 2026-01-28 05:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-stanchion-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-54-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-42-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-2-1-2-fluid-glycerine-filled-pressure-gage-panel-flange-4000-psi>: HTTP status code is not handled or not allowed 2026-01-28 05:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x6x57-telescoping-inner-boxes>: HTTP status code is not handled or not allowed 2026-01-28 05:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-shelf-truck-60x24x80-1200-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 05:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/224467-knob-indexing-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 05:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-plastic-chain-traffic-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x12x8-double-wall-boxes>: HTTP status code is not handled or not allowed 2026-01-28 05:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-document-holder>: HTTP status code is not handled or not allowed 2026-01-28 05:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-54-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-wall-mount-shelf-with-one-lip>: HTTP status code is not handled or not allowed 2026-01-28 05:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e7018-aluminum-welding-rod-5-32-40-lbs-package>: HTTP status code is not handled or not allowed 2026-01-28 05:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-54-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-2-1-2-fluid-glycerine-filled-pressure-gage-panel-flange-60-psi>: HTTP status code is not handled or not allowed 2026-01-28 05:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-60-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-1-2x6-1-2x24-telescoping-outer-boxes>: HTTP status code is not handled or not allowed 2026-01-28 05:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96in-w-x-48in-d-x-84in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-without-lid-21>: HTTP status code is not handled or not allowed 2026-01-28 05:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clp-series-single-unit-charger-kit>: HTTP status code is not handled or not allowed 2026-01-28 05:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-riser-36-wide-36-deep-10-high-oiled-cherry>: HTTP status code is not handled or not allowed 2026-01-28 05:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-plastic-shipping-tote-29-5x19-5x15-gray>: HTTP status code is not handled or not allowed 2026-01-28 05:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/book-truck-6-shelves-42-wide-18-deep-42-high-oiled-cherry>: HTTP status code is not handled or not allowed 2026-01-28 05:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-42in-w-x-15in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561267-3-4-inch-backflow-prevent>: HTTP status code is not handled or not allowed 2026-01-28 05:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lxt-174-cordless-7-1-4-circular-saw-tool-only-lithium-ion-brushless-18v-6000rpm>: HTTP status code is not handled or not allowed 2026-01-28 05:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-storage-cabinet-36-w-x-18-d-x-42-h-with-removable-bins-1>: HTTP status code is not handled or not allowed 2026-01-28 05:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-picture-book-shelving-base-37-w-x-12-1-2-d-x-47-1-4-h-oiled-cherry>: HTTP status code is not handled or not allowed 2026-01-28 05:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-mobile-rack-with-bins-5>: HTTP status code is not handled or not allowed 2026-01-28 05:59:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 05:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-enclosed-bulletin-board-cabinet-1-door-2-feet-h-x-1-5-feet-w-silver-trim-natural>: HTTP status code is not handled or not allowed 2026-01-28 05:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-36in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-enclosed-bulletin-board-cabinet-1-door-3-feet-h-x-3-feet-w-coffee-trim-pacific-blue>: HTTP status code is not handled or not allowed 2026-01-28 05:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-60in-w-x-24in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insect-and-bug-zapper>: HTTP status code is not handled or not allowed 2026-01-28 05:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x5-1-2-environmental-packing-list-enclosed-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 05:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-2x10-blue-packing-list-enclosed-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 05:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-drawer-two-shelf-steel-audio-visual-instrument-carts>: HTTP status code is not handled or not allowed 2026-01-28 05:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009330-bjwa-thermostat>: HTTP status code is not handled or not allowed 2026-01-28 05:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-48-oz-blender-programmable-electronic-keypad-bpa-free-copolyester-jar-2-spd>: HTTP status code is not handled or not allowed 2026-01-28 05:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72in-w-x-48in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 05:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-34x26-arrow-sign-pedestrians>: HTTP status code is not handled or not allowed 2026-01-28 05:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards>: HTTP status code is not handled or not allowed 2026-01-28 05:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-36-x-72-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-21-x-60-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torq-bar-blender-48-oz-copolyester-jar-toggle-switch-2-speed-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 05:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-00-rubber-voltage-gloves-black-size-10-dwh110010>: HTTP status code is not handled or not allowed 2026-01-28 05:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fine-replacement-115x25x5>: HTTP status code is not handled or not allowed 2026-01-28 05:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-1671-on-off-toggle-switch-10a-240v-15a-125v>: HTTP status code is not handled or not allowed 2026-01-28 05:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-triangle-24-x-24-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 05:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-1-4-nptf-110v-ac-5va-coil-blk-conn>: HTTP status code is not handled or not allowed 2026-01-28 05:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66221 pages (at 94 pages/min), scraped 32833 items (at 18 items/min) 2026-01-28 05:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271184-henny-penny-basket-support-ofe-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 05:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v551a-vac-brkr-repair-kit-v500>: HTTP status code is not handled or not allowed 2026-01-28 05:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-supreme-v-2-x-100-orange>: HTTP status code is not handled or not allowed 2026-01-28 05:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f5at-cp-spud-coupling-asm-1-1-2-x-3>: HTTP status code is not handled or not allowed 2026-01-28 06:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-96x24x96-starter>: HTTP status code is not handled or not allowed 2026-01-28 06:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2171152-switch-rocker-on-off-dpst-lt-for-server-products>: HTTP status code is not handled or not allowed 2026-01-28 06:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-g-1-2-24v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 06:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-supreme-v-4-x-100-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-rubber-voltage-glove-kit-black-size-12-kitgc212>: HTTP status code is not handled or not allowed 2026-01-28 06:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kithp45-53-cal-fr-ar-goggle-balaclava-combo>: HTTP status code is not handled or not allowed 2026-01-28 06:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1381263-thermometer-digital-allergen-for-taylor-precision-products-lp>: HTTP status code is not handled or not allowed 2026-01-28 06:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pres-cntr-dbl-solenoid-vlv-pilot-spr-cntred-1-2-nptf-24v-dc-2w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 06:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-resistant-mid-arm-cryogenic-glove-medium-blue-g99crbermdma>: HTTP status code is not handled or not allowed 2026-01-28 06:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-chemical-splash-protection-hood-h30gv001>: HTTP status code is not handled or not allowed 2026-01-28 06:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-all-purpose-gloves-waterproof-winter-xt-dbl-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 06:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-all-purpose-gloves-waterproof-winter-plus-large>: HTTP status code is not handled or not allowed 2026-01-28 06:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakeside-economy-late-tray>: HTTP status code is not handled or not allowed 2026-01-28 06:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakeside-ss-top-counter-height-can-rack-7210-965>: HTTP status code is not handled or not allowed 2026-01-28 06:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-60-x-18-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031132-switch-toggle-dpst-on-off-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 06:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-42inw-x-15ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-long-sleeve-henley-navy-xl-navy-c541nnbbslsxl>: HTTP status code is not handled or not allowed 2026-01-28 06:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-60-x-18-white>: HTTP status code is not handled or not allowed 2026-01-28 06:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-long-sleeve-henley-navy-s-navy-c541nnbbslssm>: HTTP status code is not handled or not allowed 2026-01-28 06:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-cntr-closed-cntr-1-8-nptf-12v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 06:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-self-centering-vise-4-inch-jaw-width-1-1-2-inch-depth>: HTTP status code is not handled or not allowed 2026-01-28 06:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pres-cntr-dbl-solenoid-vlv-pilot-spr-cntred-1-8-nptf-110v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 06:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/translucent-liner-18-x-42>: HTTP status code is not handled or not allowed 2026-01-28 06:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-closed-cntr-1-4-nptf-24v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 06:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-layout-slotted-groove-trays-51-compartments-2-h>: HTTP status code is not handled or not allowed 2026-01-28 06:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-36-x-18-dark-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-pilot-valve-spring-return-1-4-12v-dc-3w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 06:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmb-cable-with-ground-white-12-2-awg>: HTTP status code is not handled or not allowed 2026-01-28 06:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-1749-infinite-control-switch-kit-15a-240v>: HTTP status code is not handled or not allowed 2026-01-28 06:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-60-x-18-dark-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011731-valve-gas>: HTTP status code is not handled or not allowed 2026-01-28 06:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-g-1-4-double-solenoid-valve-pilot-24v-dc-3w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 06:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-96x24x120-add-on>: HTTP status code is not handled or not allowed 2026-01-28 06:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dw-drawer-layout-9-compartments-3-h>: HTTP status code is not handled or not allowed 2026-01-28 06:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-long-sleeve-henley-2xl-gray-c541ngebsls2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-1-4-npt-double-solenoid-valve-pilot-24v-dc-2w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 06:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-14-x-48-x-18-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-vdc-namur-solenoid-valve-nema-4>: HTTP status code is not handled or not allowed 2026-01-28 06:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-16-20-x-5-hex-head-cap-screw-steel-plain-unf-grade-8-usa-25-pack-452282>: HTTP status code is not handled or not allowed 2026-01-28 06:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-long-sleeve-t-shirt-m-navy-c541nnblsmd>: HTTP status code is not handled or not allowed 2026-01-28 06:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thhn-6-gauge-building-wire-stranded-type-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-cal-ultrasoft-arc-flash-coat-xl-navy-c04up03xll32>: HTTP status code is not handled or not allowed 2026-01-28 06:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-42inw-x-30ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thhn-8-gauge-building-wire-stranded-type-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-96x48x96-add-on>: HTTP status code is not handled or not allowed 2026-01-28 06:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-24ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12910-265-piece-e-clip-assortment-maintenance-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-1-8-npt-double-solenoid-valve-pilot-12v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 06:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-96x36x120-add-on>: HTTP status code is not handled or not allowed 2026-01-28 06:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-48ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-120>: HTTP status code is not handled or not allowed 2026-01-28 06:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-1-2-npt-double-solenoid-valve-pilot-24v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 06:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8002-12-tubing-x-12-male-npt-fitting>: HTTP status code is not handled or not allowed 2026-01-28 06:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f28100-1-master-kit-100-ft-3-outlets>: HTTP status code is not handled or not allowed 2026-01-28 06:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241345-curtain-night-woven-alum-6-w>: HTTP status code is not handled or not allowed 2026-01-28 06:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-30ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/receptacle-removal-tool>: HTTP status code is not handled or not allowed 2026-01-28 06:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws28-waveseal-360-constant-tension-hose-clamp-134-206-dia-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 06:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-24ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-1-8-x-9-1-4-x-2-kraft-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 06:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8065-34-tubing-clamp-10pkg>: HTTP status code is not handled or not allowed 2026-01-28 06:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8022-34-union-fitting>: HTTP status code is not handled or not allowed 2026-01-28 06:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-tall-high-back-chair-pneumatic-height-adjustment-4>: HTTP status code is not handled or not allowed 2026-01-28 06:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-way-connector-kit-with-1-pass-through-cable>: HTTP status code is not handled or not allowed 2026-01-28 06:00:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-in-w-x-64-in-h-panel-with-pass-thru-cable-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc40xl10-40-cal-compliance-arc-flash-kit-w-short-coat-bib-overall-xl-sz-10>: HTTP status code is not handled or not allowed 2026-01-28 06:00:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421911-infinite-switch-208v-for-american-permanent-ware>: HTTP status code is not handled or not allowed 2026-01-28 06:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-double-male-hose-nipple-358-2562521-2-1-2-npt-x-2-1-2-nh-brass>: HTTP status code is not handled or not allowed 2026-01-28 06:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-back-chair-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 06:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-g-1-4-220v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 06:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66317 pages (at 96 pages/min), scraped 32853 items (at 20 items/min) 2026-01-28 06:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-organizer-metal-stand-rotary-unit>: HTTP status code is not handled or not allowed 2026-01-28 06:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-ext-pilot-1-8-nptf-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 06:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-2xl-ln-royal-blue-tcg01130226>: HTTP status code is not handled or not allowed 2026-01-28 06:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11bxl12-12-cal-ultrasoft-arc-flash-kit-fr-coverall-balaclava-xl-sz-12>: HTTP status code is not handled or not allowed 2026-01-28 06:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners>: HTTP status code is not handled or not allowed 2026-01-28 06:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ryton-rotary-pump-aggressive-chemicals>: HTTP status code is not handled or not allowed 2026-01-28 06:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners>: HTTP status code is not handled or not allowed 2026-01-28 06:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-high-three-way-kit-for-two-64-in-low-panel-with-cable>: HTTP status code is not handled or not allowed 2026-01-28 06:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-48ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-72inw-x-30ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m12andno8482-cordless-screwdriver-bare-tool-2401-20>: HTTP status code is not handled or not allowed 2026-01-28 06:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m12andno8482-cordless-screwdriver-2401-22>: HTTP status code is not handled or not allowed 2026-01-28 06:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g1-2-dbl-solenoid-valve-pilot-spring-cntred-220v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 06:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbital-jig-saw-6268-21>: HTTP status code is not handled or not allowed 2026-01-28 06:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc40s12-40-cal-compliance-arc-flash-kit-w-short-coat-bib-overall-s-sz-12>: HTTP status code is not handled or not allowed 2026-01-28 06:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sleeve-anchor-3-8-x-5-phillips-slotted-combo-flat-head-steel-zinc-pkg-of-50-277090>: HTTP status code is not handled or not allowed 2026-01-28 06:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/av-base-layer-bottoms-l-black-bsbavlg>: HTTP status code is not handled or not allowed 2026-01-28 06:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv08-md12-8-cal-cm2-arc-flash-kit-with-fr-coverall-md-glove-size-12>: HTTP status code is not handled or not allowed 2026-01-28 06:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-8-1-4-x-18-x-9-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-fire-hose-reel-1430-1-1-1-2-diameter-50-ft-capacity-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-enclosed-satin-bulletin-board-48-in-w-x-36-in-h>: HTTP status code is not handled or not allowed 2026-01-28 06:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-96inw-x-24ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241398-coil-evap-blk-w-2-fans-for-russell>: HTTP status code is not handled or not allowed 2026-01-28 06:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-mobile-rack-with-bins-10>: HTTP status code is not handled or not allowed 2026-01-28 06:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamper-cap-10-oz-vinyl-14-bushel-white>: HTTP status code is not handled or not allowed 2026-01-28 06:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-18ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-with-drawstring-closure-orange-18-24-medium>: HTTP status code is not handled or not allowed 2026-01-28 06:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24w-10-step-steel-rolling-ladder-21d-top-step-wcal-osha-handrail-ca>: HTTP status code is not handled or not allowed 2026-01-28 06:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264616-pan-impedance-9-inch-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 06:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-sided-wire-exchange-truck-five-wire-shelves-1000-lb-cap-1>: HTTP status code is not handled or not allowed 2026-01-28 06:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-modular-fixed-louver-36w-x-24h-afl-36x24>: HTTP status code is not handled or not allowed 2026-01-28 06:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-dunnage-rack-30-w-x-18-d-1>: HTTP status code is not handled or not allowed 2026-01-28 06:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heatmaster-fan-canopy-200-230460v-1075rpm-1-12hp-single-phase>: HTTP status code is not handled or not allowed 2026-01-28 06:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/282287-handle-meat-grip-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 06:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/322012-fibre-washer1-5-8-od-x-1-id>: HTTP status code is not handled or not allowed 2026-01-28 06:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-single-leg-support-23-38h-for-curved-conveyors>: HTTP status code is not handled or not allowed 2026-01-28 06:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/265871-spring-plate-pivoting-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 06:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-cal-flame-resistant-ultrasoft-bib-overall-3xl-navy-c45up3xl32>: HTTP status code is not handled or not allowed 2026-01-28 06:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-18ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-pre-rinse-assembly-44-w-24-riser>: HTTP status code is not handled or not allowed 2026-01-28 06:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jrs-5l-18w-straight-gal-steel-roller-conveyor-1-3-8-roller-dia-16-bf-6-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 06:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262831-key1-inch-x-9-3-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 06:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx30-dx85-h-open-clip-style-4-shelf>: HTTP status code is not handled or not allowed 2026-01-28 06:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jrs-13w-1-3-8-dia-gal-steel-roller-for-15-roller-conveyors>: HTTP status code is not handled or not allowed 2026-01-28 06:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx24-dx85-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-28 06:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx18-dx85-h-open-clip-style-6-shelf>: HTTP status code is not handled or not allowed 2026-01-28 06:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-cal-flame-resistant-ultrasoft-bib-overall-xl-navy-c45upxl32>: HTTP status code is not handled or not allowed 2026-01-28 06:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-security-stainless-steel-key-keeper-n1025949>: HTTP status code is not handled or not allowed 2026-01-28 06:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-24ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-bc-75a-refrigerator-compact-countertop-2-6-cu-energy-star-compliant-20-1-6-h>: HTTP status code is not handled or not allowed 2026-01-28 06:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-1-2-nptf-110v-ac-5va-coil-blk-conn>: HTTP status code is not handled or not allowed 2026-01-28 06:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nekoosa-fast-pack-digital-carbonless-paper-nek17392-8-1-2-11-pink-canary-white-2500-sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xerox-vitality-printer-paper-xer3r02047plt-8-1-2-11-white-200000-sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-open-cntr-spr-cntred-g1-4-24v-dc-2w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 06:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx30-dx97-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-28 06:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-locker-double-tier-12x12x36-2-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-drumtop-pads-gtop-8-gallon-cap-22-dia-polypropylene-25-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-stock-115208-230v-1550rpm-18hp>: HTTP status code is not handled or not allowed 2026-01-28 06:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8460-containment-berm-foam-wall-12-feet-by-50-feet-22-ounce-pvc>: HTTP status code is not handled or not allowed 2026-01-28 06:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-12-stock-200-230460v-1140rpm-1-12hp>: HTTP status code is not handled or not allowed 2026-01-28 06:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-safety-view-locker-six-tier-12x15x12-18-doors-unassembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 06:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-1-2-nptf-single-solenoid-valve-pilot-spr-return-110v-ac-5va-coil-blk-conn>: HTTP status code is not handled or not allowed 2026-01-28 06:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-safety-view-plus-six-tier-locker-12x18x12-18-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 06:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-metal-pegboard-blue-96-x-32-x-3-4>: HTTP status code is not handled or not allowed 2026-01-28 06:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-60inw-x-36ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-cntred-closed-cntr-g-1-2-24v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 06:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/282296-washer-slide-rod-pk-5-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 06:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-locker-double-tier-12x18x36-2-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-unassembled-storage-cabinet-recessed-handle36w-x-24d-x-72h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-hobby-craft-organizer-storage-kit-galvanized-black-32-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 06:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264266-reducing-coupling-1-1-8-inch-ftg-x-7-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 06:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-36ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-hygienic-bath-tissue-2-ply-250-pack-36-carton>: HTTP status code is not handled or not allowed 2026-01-28 06:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2851057-juicer-commercial-8-for-sunkist-juicer>: HTTP status code is not handled or not allowed 2026-01-28 06:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-48inw-x-48ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-60x18x63>: HTTP status code is not handled or not allowed 2026-01-28 06:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-high-metal-indoor-outdoor-counter-height-stool-with-back-white>: HTTP status code is not handled or not allowed 2026-01-28 06:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-tool-board-workstation-accessory-kit-for-pegboard-slotted-tool-board-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266355-control-panel-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 06:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-digital-workspace-cart>: HTTP status code is not handled or not allowed 2026-01-28 06:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66417 pages (at 100 pages/min), scraped 32874 items (at 21 items/min) 2026-01-28 06:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locker-number-plate-aluminum-with-1-2-black-lettering>: HTTP status code is not handled or not allowed 2026-01-28 06:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-standard-tool-storage-kit-blue-white-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 06:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-tier-box-locker-with-legs-3-wide-12w-x-18d-x-12h-assembled-putty>: HTTP status code is not handled or not allowed 2026-01-28 06:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-36ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-person-box-locker-with-legs-12w-x-18d-x-12h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 06:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-foam-sheet-with-acrylic-adhesive-1-8-x-39-x-78>: HTTP status code is not handled or not allowed 2026-01-28 06:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-30ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-tier-half-height-locker-no-legs-1-wide-12w-x-18d-x-36h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 06:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-ext-pilot-spring-return-1-8-nptf-24v-dc-2w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 06:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-2859-worm-wheel-shaft-service-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-48inw-x-12ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-36ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-seal-vinyl-pouches-5-8-in-plain>: HTTP status code is not handled or not allowed 2026-01-28 06:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securit-barrier-system-portable-15-dia-x-40-post-base-gold-plated>: HTTP status code is not handled or not allowed 2026-01-28 06:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-1-2-nptf-12v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 06:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basting-cover-9-inner-diameter>: HTTP status code is not handled or not allowed 2026-01-28 06:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-ink-jet-insert-letter-pref-2-in-8-in-250-per-package>: HTTP status code is not handled or not allowed 2026-01-28 06:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-394-1-light-pendant-alabaster-bell-brushed-nickel-9-75w-x-20-5h>: HTTP status code is not handled or not allowed 2026-01-28 06:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holders-2-in-6-in-clear-removable>: HTTP status code is not handled or not allowed 2026-01-28 06:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carson-optical-mp-842is-carson-monopix-8x42mm-waterproof-monocular-w-smartphone-digiscoping-adapter>: HTTP status code is not handled or not allowed 2026-01-28 06:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-3246-3-light-ceiling-semi-flush-frosted-white-brushed-nickel-15-25w-x-15-5h>: HTTP status code is not handled or not allowed 2026-01-28 06:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14ab-x-1-1-4-security-sheet-metal-screw-button-torx-head-302hq-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-aluminum-platform-truck-with-smooth-deck-60-x-30-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lacer-face-strip-fsman2-60>: HTTP status code is not handled or not allowed 2026-01-28 06:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441597-circuit-board-screws-caps-for-robot-coupe>: HTTP status code is not handled or not allowed 2026-01-28 06:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-dplaf50sr-dpl-exit-sign-photoluminescent-wred-letters-aluminum-frame-single-face>: HTTP status code is not handled or not allowed 2026-01-28 06:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-1-1-2-security-sheet-metal-screw-flat-torx-head-302hq-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266056-track-set-for-randell>: HTTP status code is not handled or not allowed 2026-01-28 06:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-dish-pan-straight-sided-14x14x2-deep-solid>: HTTP status code is not handled or not allowed 2026-01-28 06:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-swivel-plate-caster-5-phenolic-wheel>: HTTP status code is not handled or not allowed 2026-01-28 06:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ab-x-2-1-2-security-sheet-metal-screw-flat-hex-socket-head-302hq-18-8-ss-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnex-leveling-mount-34-10x4-bolt>: HTTP status code is not handled or not allowed 2026-01-28 06:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advance-advolution-passive-dust-bag-20-24-burnishers-10-10-packs-case>: HTTP status code is not handled or not allowed 2026-01-28 06:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-aluminum-female-short-shank-coupling-with-brass-nut>: HTTP status code is not handled or not allowed 2026-01-28 06:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-plate-caster-6-mold-on-rubber-wheel-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regal-cordless-outdoor-sun-shade-6-w-x-8-l-palm>: HTTP status code is not handled or not allowed 2026-01-28 06:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-distribution-unit-19-1u-13-nema-5-20r-15ft-cord-20a>: HTTP status code is not handled or not allowed 2026-01-28 06:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-power-distribution-unit-vertical-pdu-16-nema5-15r-15a>: HTTP status code is not handled or not allowed 2026-01-28 06:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-edge-work-bench-top-shop-top-96-w-x-36-d-x-1-1-2-thick>: HTTP status code is not handled or not allowed 2026-01-28 06:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4756-gemini-4-light-pendant-slate-gray-fabric-shade-brushed-nickel-23-5w-x-22-875h>: HTTP status code is not handled or not allowed 2026-01-28 06:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sweatband-black-universal-4-x-10>: HTTP status code is not handled or not allowed 2026-01-28 06:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-1-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-plate-caster-8-plastic-wheel-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3000va-ups-smart-pro-vs-tower-line-interactive-3kva-10-outlets>: HTTP status code is not handled or not allowed 2026-01-28 06:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-green-scrubbing-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-28 06:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-8-inch-5-inch-stainless-steel-worm-gear-clamp-with-9-16-inch-band>: HTTP status code is not handled or not allowed 2026-01-28 06:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-black-stripping-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-28 06:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-1-3-4-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-72x30x96-with-3-shelves-no-deck-900-lb-capaity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 06:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-627-1-light-surface-mount-industrial-style-frosted-old-bronze-5-5w-x-11h>: HTTP status code is not handled or not allowed 2026-01-28 06:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2721313-sprocket-clutched-13-tooth-for-nieco-corp>: HTTP status code is not handled or not allowed 2026-01-28 06:02:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-e-polypropylene-cam-and-groove-adapter-x-hose-shank>: HTTP status code is not handled or not allowed 2026-01-28 06:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-542-briton-1-light-wall-lantern-w-clear-seed-glass-clear-textured-black-6w-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 06:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mela-scrub-sponge-white-48-sponges>: HTTP status code is not handled or not allowed 2026-01-28 06:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40-x-3-8-security-machine-screw-button-hex-socket-head-302hq-18-8-ss-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3227-lock-and-key-assembly>: HTTP status code is not handled or not allowed 2026-01-28 06:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-wide-span-rack-96x36-wood-deck-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-2-station-with-knee-operatefaucets-straight-legs-4l-x20-wxd>: HTTP status code is not handled or not allowed 2026-01-28 06:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-488-briton-1-light-hanging-lantern-clear-old-bronze-6w-x-9-5h>: HTTP status code is not handled or not allowed 2026-01-28 06:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-chock-hanger-14-in-w-x-5-in-d-x-3-in-h>: HTTP status code is not handled or not allowed 2026-01-28 06:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-t-shirt-long-sleeve-1-pocket-fl-lime-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-3-station-with-knee-valve-operatefaucets-rounlegs-60l-x20wx8d>: HTTP status code is not handled or not allowed 2026-01-28 06:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-60x36x60-with-3-shelves-wood-deck-1200-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 06:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 06:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnesium-hypoid-saw-5377mg-7-1-4-15-amp>: HTTP status code is not handled or not allowed 2026-01-28 06:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-2-station-with-manual-faucets-rountube-mounte4l-x20-wxd>: HTTP status code is not handled or not allowed 2026-01-28 06:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/265854-tension-assembly-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 06:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4965-boxwood-1-light-outdoor-wall-clear-beveled-rustic-bronze-9-875w-x-19h>: HTTP status code is not handled or not allowed 2026-01-28 06:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sgna033pc-self-closing-safety-gate-31-5-inch-to-35-inch-length-safety-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-hard-hat-area-vinyl-10-h-x-14-w>: HTTP status code is not handled or not allowed 2026-01-28 06:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/66-158-100-plus-8-piece-screwdriver-set>: HTTP status code is not handled or not allowed 2026-01-28 06:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-sheet-finishing-sander-w-micro-filter-dust-collection>: HTTP status code is not handled or not allowed 2026-01-28 06:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/creation-c300-coffee-brewer-machine-1-cup-capacity-120v-1440w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661011-brush-white-bristle-1-1-2-inch-x3-inch-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 06:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-resistant-squeegee-blade-for-b-250-r-bp-2sb-r-100-scrubber-brown-6-273-252-0>: HTTP status code is not handled or not allowed 2026-01-28 06:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x18x60-with-4-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x12x60-with-4-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cartridge-filter-cooling-air-9-989-190-0>: HTTP status code is not handled or not allowed 2026-01-28 06:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-non-ansi-hi-viz-t-shirt-14211-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tearaway-standard-smooth-bulk-roll-6w-x-7h-clear-21-strips-per-roll>: HTTP status code is not handled or not allowed 2026-01-28 06:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66513 pages (at 96 pages/min), scraped 32890 items (at 16 items/min) 2026-01-28 06:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accordion-rigid-drum-insert-18-mil-thick-55-gallon-capacity-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-28 06:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpg05-0935-tamper-evident-ties>: HTTP status code is not handled or not allowed 2026-01-28 06:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-pleat-filter-for-km-150-ride-on-sweeper-standard-green-6-988-159-0>: HTTP status code is not handled or not allowed 2026-01-28 06:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storability-wall-mount-shelving-unit-3-shelves-33w-x-16d-x-31-12h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/met-08918-heavy-duty-anodized-gold-lid-off-plastic-pail-opener-1-each>: HTTP status code is not handled or not allowed 2026-01-28 06:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mk-296-nitrile-powder-free-disposable-gloves-4-7-mil-black-l-100-box>: HTTP status code is not handled or not allowed 2026-01-28 06:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-8w-vegan-blackout>: HTTP status code is not handled or not allowed 2026-01-28 06:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-pack-of-letter-legal-file-dividers-bone-white>: HTTP status code is not handled or not allowed 2026-01-28 06:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-top-plate-caster-5-dia-thermo-pro-with-plain-bore>: HTTP status code is not handled or not allowed 2026-01-28 06:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-3147-3-light-ceiling-flush-mount-frosted-white-mahogany-bronze-15-25w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 06:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009340-valve-safety-1-2-inch-fpt-for-nieco-corp>: HTTP status code is not handled or not allowed 2026-01-28 06:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-floor-jack-with-t-handle-hydraulic-pump>: HTTP status code is not handled or not allowed 2026-01-28 06:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-cleaning-ribbed-mat-3x10-green-1>: HTTP status code is not handled or not allowed 2026-01-28 06:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-high-letter-starter-empty-black>: HTTP status code is not handled or not allowed 2026-01-28 06:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-stem-caster-5-dia-soft-rubber-tread-with-tech-lock-1-1-2-h-stem>: HTTP status code is not handled or not allowed 2026-01-28 06:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we12d33-wall-air-conditioner-w-elec-heat-12000-btu-cool-230-v>: HTTP status code is not handled or not allowed 2026-01-28 06:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws12d30a-wall-air-conditioner-12000-btu-cool-230-v>: HTTP status code is not handled or not allowed 2026-01-28 06:03:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/thermometers_temperature_instruments already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-acrylic-desk-dicider-48-x-24-freestanding>: HTTP status code is not handled or not allowed 2026-01-28 06:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cobalt-tmx-silver-and-deming-drill-1-2-inch-shank-135-splt-pt-5-8-inch-dia-x-3-inch-flute-l-x-6-inch-oal>: HTTP status code is not handled or not allowed 2026-01-28 06:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-30-18-gauge-stainless-steel-workbench>: HTTP status code is not handled or not allowed 2026-01-28 06:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-unit-letter-25-inch-36-1-2-inch-82-inch-7-opening-black>: HTTP status code is not handled or not allowed 2026-01-28 06:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4907-adams-1-light-outdoor-post-frosted-white-6-125w-x-18-25h>: HTTP status code is not handled or not allowed 2026-01-28 06:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711183-timer-1-function-2-ch-merlin-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 06:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-high-legal-adder-empty-bone-white>: HTTP status code is not handled or not allowed 2026-01-28 06:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merchandiser-freezer-glass-door-23-cu-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 06:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-18794-mississippi-state-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-28 06:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-48inw-x-24ind-x-72inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-60-x-60-light-duty-2-9-oz-tarp-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-in-1-portable-workbench-with-power-strip>: HTTP status code is not handled or not allowed 2026-01-28 06:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011301-drain-fitting-for-ice-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 06:03:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/thermometers_temperature_instruments landed on page that is not a product page. 2026-01-28 06:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-12ind-x-84inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1381153-probe-fryvat-k-type-for-cooper-atkins>: HTTP status code is not handled or not allowed 2026-01-28 06:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-edge-work-bench-top-plastic-48-w-x-30-d-x-1-5-8-thick>: HTTP status code is not handled or not allowed 2026-01-28 06:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-single-flute-tm-x-countersink-82-3-8-inch-dia-x-1-4-inch-shank-dia-x-1-inch-shank-len-x-2-inch-oal>: HTTP status code is not handled or not allowed 2026-01-28 06:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-file-storage-box-w-lid-fsb350-letter-24l-x-12w-x-10h-kraft-price-each>: HTTP status code is not handled or not allowed 2026-01-28 06:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-str-shank-4-flute-tm-x-core-drill-3-8-inch-dia-x-4-1-4-inch-flute-x-6-3-4-inch-oal>: HTTP status code is not handled or not allowed 2026-01-28 06:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-48inw-x-24ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-3-step-steel-rolling-ladder-20-d-top-step-1>: HTTP status code is not handled or not allowed 2026-01-28 06:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-floor-mount-vibration-isolator-6-long-3-wide-white>: HTTP status code is not handled or not allowed 2026-01-28 06:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-301-4-light-vanity-wall-brushed-nickel-24w-x-4-75h>: HTTP status code is not handled or not allowed 2026-01-28 06:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-m-style-swivel-steel-plug-1-4-x-1-4-male-npt-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 06:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qt-pro-two-stage-air-compressor-5-hp-80gallon-vertical-200v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 06:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-36inw-x-12ind-x-36inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unhoused-simple-spring-mount-2-long-2-wide-purple>: HTTP status code is not handled or not allowed 2026-01-28 06:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266297-roller-1-inch-od-1-4-inch-id-nylon-tire>: HTTP status code is not handled or not allowed 2026-01-28 06:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-305-4-light-vanity-wall-old-bronze-24w-x-4-75h>: HTTP status code is not handled or not allowed 2026-01-28 06:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-duty-1-2-50-ft-300-psi-air-water-with-hose>: HTTP status code is not handled or not allowed 2026-01-28 06:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24-w-perforated-all-directional-steel-ladder>: HTTP status code is not handled or not allowed 2026-01-28 06:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-16-w-grip-all-directional-steel-ladder>: HTTP status code is not handled or not allowed 2026-01-28 06:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-48inw-x-12ind-x-36inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-16-w-perforated-all-directional-steel-ladder-safety-angle>: HTTP status code is not handled or not allowed 2026-01-28 06:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-app-connector-2-0-wire-gauge-350-amp-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009784-clamp-rear-for-high-limit-hp-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 06:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-app-connector-2-wire-gauge-175-amp-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbx-connector-4-0-wire-gauge-350-amp-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-48inw-x-12ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-single-rod-30-degree-bend-1-4-dia-steel-pegboard-hook-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-9-step-steel-rolling-ladder-10-d-top-step-kdsr109246>: HTTP status code is not handled or not allowed 2026-01-28 06:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-smh-connector-6-wire-gauge-50-amp-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009797-crumb-screen-new-style-65447--65208-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 06:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inside-stational-deck-dome-oven-round-domed-exterior-47-gas-92500btu-120v-digital-control>: HTTP status code is not handled or not allowed 2026-01-28 06:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012208-seal-felt1-4id-x-3-4od-x-1-4-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 06:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-low-headroom-plain-trolley-4-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-322-sanitation-container-rigid-caster-n32-5-mcp-phenolic-5-dia-1000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inside-stational-deck-dome-oven-pentagonal-exterior-39-gas-92500btu-120v-digital-control>: HTTP status code is not handled or not allowed 2026-01-28 06:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-handtruck-fbal14-10fpn-loop-handle-pneumatic-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sawtrax-yel-low-safety-dolly-30-25-5-1000-lb-capysd>: HTTP status code is not handled or not allowed 2026-01-28 06:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-series-lever-dolly-e-60-iw-boxed-60-handle-semi-steel-wheels-3500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-gallon-steel-drum-closed-head>: HTTP status code is not handled or not allowed 2026-01-28 06:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-style-a-j-hook>: HTTP status code is not handled or not allowed 2026-01-28 06:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffing-lsb-ratchet-lever-hoist-3-4-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-style-b-j-hook>: HTTP status code is not handled or not allowed 2026-01-28 06:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-steel-wheel-1310-srd-10-dia-3w-2700-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-24ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-food-grade-electric-chain-hoist-w-chain-container-1-4-ton-15-ft-lift-115v>: HTTP status code is not handled or not allowed 2026-01-28 06:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wiremold-wspc220cbk-desktop-power-center-with-mounting-kit-2-tamper-resistant-outlets-1-usb-a-1-usb-c-black>: HTTP status code is not handled or not allowed 2026-01-28 06:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-motion-and-pull-down-tv-wall-mount-for-43-in-73-in-tv-screen>: HTTP status code is not handled or not allowed 2026-01-28 06:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-with-removable-bins-31>: HTTP status code is not handled or not allowed 2026-01-28 06:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-with-removable-bins-34>: HTTP status code is not handled or not allowed 2026-01-28 06:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-4-bar-tong-lifter-1-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safe-rotary-hopper-drop-safe-14-w-x-17-d-x-21-h-digtal-lock-black>: HTTP status code is not handled or not allowed 2026-01-28 06:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-96-economy-lift-beam-adjustable-length-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66610 pages (at 97 pages/min), scraped 32904 items (at 14 items/min) 2026-01-28 06:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/royal-910-16>: HTTP status code is not handled or not allowed 2026-01-28 06:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-4-shelf-boltless-shelving-starter-36inw-x-24ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:03:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/hoists/lever_chain_hoists already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sf-2400-4>: HTTP status code is not handled or not allowed 2026-01-28 06:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-vertical-plate-clamp-lifting-attachment-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ft-square-outdoor-tree-bench-expanded-metal-surface-mount-green>: HTTP status code is not handled or not allowed 2026-01-28 06:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-4-shelf-boltless-shelving-starter-48inw-x-18ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ft-rectangular-outdoor-picnic-table-with-backrests-expanded-metal-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-inch-analog-wall-clock-with-black-narrow-bezel-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-boom-forklift-jib-lift-crane-pb-jlt424-4000-lb-capacity-24-on-center-fork-pockets>: HTTP status code is not handled or not allowed 2026-01-28 06:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f17t8-835-env-17w-fluorescent-w-medium-bi-pin-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-28 06:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-to-medium-duty-service-door-double-panel-black-5ft-x-7ft>: HTTP status code is not handled or not allowed 2026-01-28 06:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-through-with-handrails-fixed-access-ladder-yellow-12>: HTTP status code is not handled or not allowed 2026-01-28 06:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-add-on-36inw-x-24ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72073-unitzed-economy-fiberglass-disc-4-1-2-inch-x-5-8-11-inch-fine-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 06:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/cranes_hoists/hoists/lever_chain_hoists>: HTTP status code is not handled or not allowed 2026-01-28 06:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-68-inch-high-post-poly-z-brite-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35ar111-ssp4-35w-incandescent-w-g53-base>: HTTP status code is not handled or not allowed 2026-01-28 06:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gauge-glass-washer-for-groen-008917>: HTTP status code is not handled or not allowed 2026-01-28 06:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25b11-25w-incandescent-w-medium-base-130v>: HTTP status code is not handled or not allowed 2026-01-28 06:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-keys-adjustable-key-with-digital-lock-28-3-4-w-x-5-3-4-d-x-22-h-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8008787-power-momentaryswitch>: HTTP status code is not handled or not allowed 2026-01-28 06:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-surface-mat-5-8-thick-4-wide-cut-length-up-to-30-bk-w-yl-borders>: HTTP status code is not handled or not allowed 2026-01-28 06:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-86-inch-high-post-stainless-steel-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-edge-work-bench-top-esd-60-w-x-30-d-x-1-1-4-thick>: HTTP status code is not handled or not allowed 2026-01-28 06:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100a21-f-34v-100w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 06:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispense-rite-built-in-napkin-dispenser-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-density-poly-tubing-18in-2-mil-x-2150ft>: HTTP status code is not handled or not allowed 2026-01-28 06:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010182-switch-micro-250f>: HTTP status code is not handled or not allowed 2026-01-28 06:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-line-single-track-seal-top-bag-with-hang-hole-5in-x-8in-2-mil-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 06:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-ldpe-pallet-cover-51in-x-85in-1-5-mil-pallet-size-48-x-48-x-60-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 06:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26inx40in-safety-stance-mat-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012738-microswitch-for-merry-chef>: HTTP status code is not handled or not allowed 2026-01-28 06:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-deluxe-literature-mailers-30l-x-17w-x-8h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 06:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461634-main-pcb-for-master-bilt-products>: HTTP status code is not handled or not allowed 2026-01-28 06:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20mr11-ftd-b-c-20w-halogen-w-bi-pin-base>: HTTP status code is not handled or not allowed 2026-01-28 06:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-w-prelude-scrape-mat-black>: HTTP status code is not handled or not allowed 2026-01-28 06:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/897-filament-tape-3-4-x-60-yds-5-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266241-release-inside-pinned-w-hdl>: HTTP status code is not handled or not allowed 2026-01-28 06:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100t4-cl-100w-halogen-w-bi-pin-base>: HTTP status code is not handled or not allowed 2026-01-28 06:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jib-crane-wall-mounted-under-braced-1-000-lb-capacity-5>: HTTP status code is not handled or not allowed 2026-01-28 06:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datum-tekstak-laptop-storage-locker-7-tier-electronic-lock-10>: HTTP status code is not handled or not allowed 2026-01-28 06:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tn-high-efficiency-vacuum-bag-for-tn-v-smu-14-includes-secondary-filters>: HTTP status code is not handled or not allowed 2026-01-28 06:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ipc-e-pleated-filter-with-foam-secondary-filter-for-smart-vac-models-464-664>: HTTP status code is not handled or not allowed 2026-01-28 06:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garage-creeper>: HTTP status code is not handled or not allowed 2026-01-28 06:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-axle-size-3-4-9>: HTTP status code is not handled or not allowed 2026-01-28 06:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009824-drain-line-heater-19208v>: HTTP status code is not handled or not allowed 2026-01-28 06:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-9l-x-6w-x-2h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 06:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergo-multi-function-mesh-chair-with-flip-up-arms-black>: HTTP status code is not handled or not allowed 2026-01-28 06:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-semi-steel-8x2-with-1-2-axle>: HTTP status code is not handled or not allowed 2026-01-28 06:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010281-water-curtain-for-manitowoc-machines>: HTTP status code is not handled or not allowed 2026-01-28 06:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-smart-ups-rt-surt8000xlt>: HTTP status code is not handled or not allowed 2026-01-28 06:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381804-bulb-fluorescent-t-8-48-inch-pk-6-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 06:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-desk-with-2-drawers-60-x-24-cherry>: HTTP status code is not handled or not allowed 2026-01-28 06:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-extension-3-4-drive-250-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 06:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-replacement-battery-rbc57>: HTTP status code is not handled or not allowed 2026-01-28 06:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series-laminate-wood-desk-right-return-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 06:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-replacement-battery-rbc7>: HTTP status code is not handled or not allowed 2026-01-28 06:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-axle-jack-30-15-ton-2-stage-air>: HTTP status code is not handled or not allowed 2026-01-28 06:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tube-cuff-for-sphygmomanometer-large-adult-7w-x-24l>: HTTP status code is not handled or not allowed 2026-01-28 06:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-jack-12-ton-super-duty>: HTTP status code is not handled or not allowed 2026-01-28 06:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-wall-corrugated-sheets-18l-x-24w-white-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 06:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydroshield-safety-glasses-navy-frame-clear-lens-scratch-resistanthard-coat>: HTTP status code is not handled or not allowed 2026-01-28 06:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f15t8-blb-15w-fluorescent-w-medium-bi-pin-base-blacklight-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-8-3-8-w-x-17-7-8-d-x-4-h-red-2>: HTTP status code is not handled or not allowed 2026-01-28 06:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24w-x-36-l-adjustable-height-step-stands-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f6t5-bl-6w-fluorescent-w-minature-bi-pin-base-black-light>: HTTP status code is not handled or not allowed 2026-01-28 06:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/separable-roller-follower-metric-nast15zzr-crowned-od-double-shielded-15-mm-bore-35-mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lev-r-matic-push-lever-seat-cvr-dsp-whi>: HTTP status code is not handled or not allowed 2026-01-28 06:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fc12t9-cw-rs-32w-fluorescent-w-4-pin-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 06:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfd13w-830-13w-compact-fluorescent-w-gx23-2-base-warm>: HTTP status code is not handled or not allowed 2026-01-28 06:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ivory-personal-bar-31oz-size-72>: HTTP status code is not handled or not allowed 2026-01-28 06:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxithin-fld-pad-250>: HTTP status code is not handled or not allowed 2026-01-28 06:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-forkli-able-with-lid-2>: HTTP status code is not handled or not allowed 2026-01-28 06:04:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switchboard-non-conductive-diamond-mat-4-wide-full-75-ft-roll-black>: HTTP status code is not handled or not allowed 2026-01-28 06:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switchboard-non-conductive-corrugated-mat-3-wide-full-75-ft-roll-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-11>: HTTP status code is not handled or not allowed 2026-01-28 06:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-cardboard-corrugated-boxes-32l-x-10w-x-6-12h-kraft-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 06:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/broomanglerflagged-42-metal-hndlplas-brstl-dz>: HTTP status code is not handled or not allowed 2026-01-28 06:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cf13dd-e-841-13w-compact-fluorescent-w-g24vq-1-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 06:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-12-in-opening-24-in-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2881082-probe-thermostat-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-28 06:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66707 pages (at 97 pages/min), scraped 32920 items (at 16 items/min) 2026-01-28 06:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-dividable-27>: HTTP status code is not handled or not allowed 2026-01-28 06:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-resistant-gloves-polyurethane-coated-ansi-a4-xl-green>: HTTP status code is not handled or not allowed 2026-01-28 06:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-deluxe-thermoplastic-coated-32-gallon-perforated-receptacle-w-flat-lid-base-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1ns-long-sleeve-pullover-hoodie-with-uv-protection-m-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-armchair-natural-sling-tekwood-vintage-armcaps-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-trap-duster-cloth-lg-8x6x125ft-rl250>: HTTP status code is not handled or not allowed 2026-01-28 06:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ind-qlty-steel-wool-hand-pad-00-fine-126>: HTTP status code is not handled or not allowed 2026-01-28 06:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines>: HTTP status code is not handled or not allowed 2026-01-28 06:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42x24-abrasive-blast-cabinet-siphon-101696r-a>: HTTP status code is not handled or not allowed 2026-01-28 06:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-resistant-gloves-micro-foam-nitrile-coated-ansi-a2-xl-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-isle-outdoor-mobile-trolley-39-38l-x-18-18w-x-29-18h-teakwhite>: HTTP status code is not handled or not allowed 2026-01-28 06:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/581054-solenoid-valve3-8-inch-110-120v>: HTTP status code is not handled or not allowed 2026-01-28 06:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-pin-compact-fluorescent-light-bulb-gx24q3-base-2700k-26w-warm-white-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 06:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h10-disposable-earplugs-corded-nrr-31-db-800-pairscase>: HTTP status code is not handled or not allowed 2026-01-28 06:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-rod-2-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loom-clamps-vinyl-coated-steel-11>: HTTP status code is not handled or not allowed 2026-01-28 06:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-3-4-thick-x-3-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3ca10-flicker-3w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 06:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdw-flush-access-doors-for-drywall-surf-lock-18wx18h-kdwp1818l>: HTTP status code is not handled or not allowed 2026-01-28 06:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-3-8-thick-x-3-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strain-relief-cord-connectors-3>: HTTP status code is not handled or not allowed 2026-01-28 06:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012049-hv-lead-wire-for-royal-range>: HTTP status code is not handled or not allowed 2026-01-28 06:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-mat-shelf-21-in-x-72-in-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 06:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/press-fit-drywall-access-panel-lock-24wx24h-pfp2424l>: HTTP status code is not handled or not allowed 2026-01-28 06:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sit-stand-desk-mesh-chair-bundle-72-x-30-walnut-black-base>: HTTP status code is not handled or not allowed 2026-01-28 06:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/turbo-lite-mini-torch-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-i-hss-straight-flute-chucking-reamer-6350>: HTTP status code is not handled or not allowed 2026-01-28 06:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-foxx-2hp-ufo-101m-dust-collector>: HTTP status code is not handled or not allowed 2026-01-28 06:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-maple-butcher-block-safety-edge-top-workbench-with-drawer>: HTTP status code is not handled or not allowed 2026-01-28 06:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/158-3-36w-miniature-sealed-beams-w-mini-wedge-base>: HTTP status code is not handled or not allowed 2026-01-28 06:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25f10-a-25w-incandescent-w-candelabra-base>: HTTP status code is not handled or not allowed 2026-01-28 06:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedestrian-strip-door-curtain-3-w-x-8-h>: HTTP status code is not handled or not allowed 2026-01-28 06:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hipower-ii-classical-section-wrapped-vbelt-gates-a39>: HTTP status code is not handled or not allowed 2026-01-28 06:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1ns-long-sleeve-pullover-hoodie-with-uv-protection-xl-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-rod-6-diameter-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-strip-door-curtain-6-w-x-9-h>: HTTP status code is not handled or not allowed 2026-01-28 06:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-up-stinger-berm-compact-12-x-20-x-1-48-12201-bk-su>: HTTP status code is not handled or not allowed 2026-01-28 06:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x83-orange-strip>: HTTP status code is not handled or not allowed 2026-01-28 06:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-air-service-hose-gates-27571>: HTTP status code is not handled or not allowed 2026-01-28 06:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gallon-pail-battery-acid-spill-kit-1305-bat>: HTTP status code is not handled or not allowed 2026-01-28 06:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-high-gray-angle-post-package-of-4>: HTTP status code is not handled or not allowed 2026-01-28 06:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-heavy-duty-electric-vibrator-2pcd-200-3-460v>: HTTP status code is not handled or not allowed 2026-01-28 06:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/essentials-36-oval-conference-table-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 06:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/933-series-airtight-watertight-case-with-foam-933-1001-19-7-8-l-x-16-1-8-w-x-10-1-8-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh328-vented-full-brim-hard-hat-4-point-adjustable-ratchet-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 06:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/padded-dividers-for-933-case-933-divi>: HTTP status code is not handled or not allowed 2026-01-28 06:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-vs-electric-chain-hoist-1-2-ton-10-foot-lift-5-3-32-fpm-115-1-60-3-step-iv-control>: HTTP status code is not handled or not allowed 2026-01-28 06:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-ball-vibrator-v-38>: HTTP status code is not handled or not allowed 2026-01-28 06:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/925-series-pistol-case-w-foam-insert-925-4up6-4-pistol-cap-18-11-16-x-14-13-16-x-7-olive>: HTTP status code is not handled or not allowed 2026-01-28 06:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-16-diameter-7x7-type-304-stainless-steel-cable>: HTTP status code is not handled or not allowed 2026-01-28 06:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omni-pir-ceiling-low-voltage-sensor-with-1500-sq-ft-range-relay-photocell-off-white>: HTTP status code is not handled or not allowed 2026-01-28 06:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-flush-mount-ceiling-light-fixture-60w-7-1516-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 06:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-ufl-f32t8-850-highlumen>: HTTP status code is not handled or not allowed 2026-01-28 06:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-f17t8-835-24in86cri>: HTTP status code is not handled or not allowed 2026-01-28 06:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010642-controller-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 06:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-panels-1w-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 06:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-elh-jcr120v-300w>: HTTP status code is not handled or not allowed 2026-01-28 06:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/verishield-153-folding-ear-muffs-27-db-hi-visibility>: HTTP status code is not handled or not allowed 2026-01-28 06:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-steel-container-unpainted-9>: HTTP status code is not handled or not allowed 2026-01-28 06:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-1810w-p-style-automotive-plug-1-4-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 06:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-bag-35-lb-base-weight-brown-kraft-6-6-x-3-58-x-11-116-500-bundle>: HTTP status code is not handled or not allowed 2026-01-28 06:05:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-8-thick-x-1-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-8-thick-x-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-106-z>: HTTP status code is not handled or not allowed 2026-01-28 06:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-776w-a-style-aro-coupler-1-4-mnpt>: HTTP status code is not handled or not allowed 2026-01-28 06:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-gm1c-15-b>: HTTP status code is not handled or not allowed 2026-01-28 06:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881319-filter-drier-liquid-line-for-emerson-radio-corp>: HTTP status code is not handled or not allowed 2026-01-28 06:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-732w-m-style-industrial-plug-3-8-fnpt-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-panels-1w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 06:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881359-sight-glass-moistureindicators-for-emerson-radio-corp>: HTTP status code is not handled or not allowed 2026-01-28 06:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-275-b>: HTTP status code is not handled or not allowed 2026-01-28 06:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 06:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-w-push-broom-head-with-heavy-duty-polypropylene-bristles-and-steel-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561147-probe-temperature-control-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-28 06:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-212-z>: HTTP status code is not handled or not allowed 2026-01-28 06:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a19-edison-light-bulb-e26-base-55w-600-lumens-3000k-warm-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 06:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-2-step-steel-rolling-ladder-20-d-top-step-2>: HTTP status code is not handled or not allowed 2026-01-28 06:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0423rblksml-womens-softshell-quilted-jacket-black-small>: HTTP status code is not handled or not allowed 2026-01-28 06:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a19-light-bulb-e26-base-9w-800-lumens-2700k-warm-white-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 06:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-5-step-steel-rolling-ladder-20-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 06:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66806 pages (at 99 pages/min), scraped 32939 items (at 19 items/min) 2026-01-28 06:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-inch-small-tank-brush>: HTTP status code is not handled or not allowed 2026-01-28 06:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1355-xl-3-8-composite-xtreme-torque-twin-hammer-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-28 06:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-24-adjustable-height-9-14-steel-work-platform>: HTTP status code is not handled or not allowed 2026-01-28 06:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71-x-24-adjustable-height-9-14-steel-work-platform>: HTTP status code is not handled or not allowed 2026-01-28 06:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-metric-hss-tm-x-hand-taps-set-of-3-m3-5-x-0-60-taper-plug-and-bottoming-chamfer>: HTTP status code is not handled or not allowed 2026-01-28 06:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-36-power-apron-production-workbench-birch-butcher-block-square-edge-blue-32313801>: HTTP status code is not handled or not allowed 2026-01-28 06:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m14-x-1-5-d5-bottoming-chamfer-iso-metric-hss-tm-x-hand-tap-ground-rh-4-flutes>: HTTP status code is not handled or not allowed 2026-01-28 06:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reebokrb4895-mens-performance-cross-trainer-shoes-black-silver-size-13-w>: HTTP status code is not handled or not allowed 2026-01-28 06:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x36-plastic-square-edge-power-apron-production-bench-blue-32313809>: HTTP status code is not handled or not allowed 2026-01-28 06:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x24-maple-square-edge-power-apron-production-bench-blue-32313811>: HTTP status code is not handled or not allowed 2026-01-28 06:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-ageia0163-mens-6-internal-met-guard-work-boot-brown-size-105-w>: HTTP status code is not handled or not allowed 2026-01-28 06:06:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-14-hss-taper-tmx-pipe-tap-npt-ground-rh-5-flutes>: HTTP status code is not handled or not allowed 2026-01-28 06:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-recessed-downlight-fixture-91318w-2000-lumens-5-1516dia-white>: HTTP status code is not handled or not allowed 2026-01-28 06:06:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reebokrb4444-womens-waterproof-sport-hiker-brown-size-10-w>: HTTP status code is not handled or not allowed 2026-01-28 06:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/std050342hp-10-hp-oil-less-scroll-compressor-80-gallon-horizontal-145-psi-3-phase-460v>: HTTP status code is not handled or not allowed 2026-01-28 06:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-maple-safety-edge-mobile-power-apron-production-bench-tan-32313866>: HTTP status code is not handled or not allowed 2026-01-28 06:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-1-3-cut-file-folder-labels-15-16-x-3-7-16-white-450-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seo40073hp-40-hp-oil-less-scroll-compressor-tankless-145-psi-3-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-175-b>: HTTP status code is not handled or not allowed 2026-01-28 06:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-7-piece-cabinet-set-71w-x-21-14d-wall-x-80h-silver>: HTTP status code is not handled or not allowed 2026-01-28 06:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-suffocation-warning-poly-bags-12-w-x-18-l-1-mil-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-243-b>: HTTP status code is not handled or not allowed 2026-01-28 06:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 06:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-solenoid-1-8-nptf-3-port-2-pos-normally-clsd-24vdc-free-to-atmosphere-exh>: HTTP status code is not handled or not allowed 2026-01-28 06:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 06:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31-5-in-square-tempered-glass-metal-table>: HTTP status code is not handled or not allowed 2026-01-28 06:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rt110af-safety-glasses-rt1-series-black-frame-clear-anti-fog-lens>: HTTP status code is not handled or not allowed 2026-01-28 06:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hgc-4c-tn-hss-cobalt-4-flute-tin-square-single-end-mill-7-16-x-3-8-x-1-x-2-11-16>: HTTP status code is not handled or not allowed 2026-01-28 06:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-plastic-laminate-square-edge-with-drawer-riser>: HTTP status code is not handled or not allowed 2026-01-28 06:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-coated-paper-hot-cups-8-oz-white-1000-carton>: HTTP status code is not handled or not allowed 2026-01-28 06:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-compact-parking-block-with-cable-protection-and-hardware-72-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 06:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-solenoid-1-4-nptf-2-port-2-pos-normally-clsd-24vac-no-exh>: HTTP status code is not handled or not allowed 2026-01-28 06:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-w-1-water-hardening-drill-rod-19-64>: HTTP status code is not handled or not allowed 2026-01-28 06:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-coupling-g2scc-037-037kw>: HTTP status code is not handled or not allowed 2026-01-28 06:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-step-steel-safety-rolling-ladder-w-weight-actuated-lock-step-24-w-serrated-step-w-cal-osha-handrail-cal-wa144014g>: HTTP status code is not handled or not allowed 2026-01-28 06:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-gm2c-40-ss>: HTTP status code is not handled or not allowed 2026-01-28 06:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-vertical-file-letter-size-4-drawer-desert-putty-15w-x-25d-x-52h>: HTTP status code is not handled or not allowed 2026-01-28 06:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-o-1-oil-hardening-drill-rod-7-32>: HTTP status code is not handled or not allowed 2026-01-28 06:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-gmc-03-ss>: HTTP status code is not handled or not allowed 2026-01-28 06:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-vertical-file-legal-size-2-drawer-desert-putty-18w-x-25d-x-29h>: HTTP status code is not handled or not allowed 2026-01-28 06:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011327-control-board-for-manitowoc-machines>: HTTP status code is not handled or not allowed 2026-01-28 06:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-bronze-pole-108w-olefin-graywhite-stripe-fabric>: HTTP status code is not handled or not allowed 2026-01-28 06:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-bronze-pole-108w-olefin-woven-granite-fabric>: HTTP status code is not handled or not allowed 2026-01-28 06:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-16-w-perf-step-w-cal-osha-handrail-cal-wa-sw-62414p>: HTTP status code is not handled or not allowed 2026-01-28 06:06:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/linear_light_fixtures already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-363013-bl-bookcase-all-welded-36-wx13-dx30-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-box-cutter-blades-pointed-tips-10408-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 06:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/newport-patio-umbrella-with-silver-pole-108w-sunbrella-1a-black-fabric>: HTTP status code is not handled or not allowed 2026-01-28 06:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-60141-20-amp-assembly-straight-blade-plug-with-nema-5-20p-male-end>: HTTP status code is not handled or not allowed 2026-01-28 06:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-adj-height-steel-av-cart-3-shelves-black-electric-32-w-x-20-d-x-24-to-42-h>: HTTP status code is not handled or not allowed 2026-01-28 06:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/newport-patio-umbrella-w-silver-pole-108w-sunbrella-1a-heather-beige-fabric>: HTTP status code is not handled or not allowed 2026-01-28 06:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-truck-48-l-x-30-w-1400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-truck-48-l-x-30-w-1200-lb-capacity-with-ergo-handle>: HTTP status code is not handled or not allowed 2026-01-28 06:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regulator-mini-type-1-4-npt>: HTTP status code is not handled or not allowed 2026-01-28 06:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-safety-view-locker-five-tier-12x12x12-15-doors-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sidekick-3769jc>: HTTP status code is not handled or not allowed 2026-01-28 06:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rbmag1-h-grn-storage-cabinet-all-welded-36-wx24-dx72-h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-28 06:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/linear_light_fixtures>: HTTP status code is not handled or not allowed 2026-01-28 06:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-16-w-stainless-steel-fold-and-store-rolling-ladder-perforated-tread-w-cal-osha-handrail-cal-ssfawl-9p>: HTTP status code is not handled or not allowed 2026-01-28 06:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-cable-ties-uv-black-3-50-pieces>: HTTP status code is not handled or not allowed 2026-01-28 06:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-w-x-22-h-x-1-d-pleated-merv-8-standard-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 06:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-20-h-x-4-d-mini-pleated-merv-13-air-filter-single-header-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 06:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-24in-gray-straight-section-with-vents-667-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-12in-gray-straight-section-with-vents-100-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-12in-gray-straight-section-with-vents-600-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-16in-gray-straight-section-without-vents-10ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-steel-safety-rolling-ladder-w-weight-actuated-lock-24-w-serrated-step-orange-w-cal-osha-handrail-cal-wa053214g-o>: HTTP status code is not handled or not allowed 2026-01-28 06:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-signs-danger-eye-protection-required-vinyl-7-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 06:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-pullover-hoodie-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-fr-control-2-0-short-sleeve-tee-type-r-class-2-mdt>: HTTP status code is not handled or not allowed 2026-01-28 06:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-by-side-refrigeratorfreezer-55-cu-ft-capacity-blackstainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-crown-bellman-cart-48x25-satin-aluminum-black-carpet-2>: HTTP status code is not handled or not allowed 2026-01-28 06:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-relief-blanket>: HTTP status code is not handled or not allowed 2026-01-28 06:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-extra-heavy-duty-steel-rolling-safety-ladder-heavy-duty-serrated-grating-w-cal-osha-handrail-cal-ml123221g>: HTTP status code is not handled or not allowed 2026-01-28 06:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-18-h-x-2-d-pleated-merv-8-standard-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 06:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1200101-pro-line-temporary-horizontal-lifeline-60l-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 06:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-24-w-perf-step-w-cal-osha-handrail-cal-wa-sw103214p>: HTTP status code is not handled or not allowed 2026-01-28 06:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pool-saddle-red-small>: HTTP status code is not handled or not allowed 2026-01-28 06:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-18w-x-82h-cream>: HTTP status code is not handled or not allowed 2026-01-28 06:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-16-wx52-d-stainless-steel-rolling-safety-ladder-perforated-tread-w-cal-osha-handrail-cal-ss062414p>: HTTP status code is not handled or not allowed 2026-01-28 06:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-24w-x-82h-cream>: HTTP status code is not handled or not allowed 2026-01-28 06:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66903 pages (at 97 pages/min), scraped 32956 items (at 17 items/min) 2026-01-28 06:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-outward-swing-partition-door-w-hardware-36w-royal-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-swivel-seat-cushion>: HTTP status code is not handled or not allowed 2026-01-28 06:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-outward-swing-partition-door-w-hardware-26w-dark-khaki>: HTTP status code is not handled or not allowed 2026-01-28 06:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-copper-fitting-with-90-short-radius-elbow-c-x-c-12-od-x-38-id-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-drop-arm-bedside-commode-with-padded-seat-arms>: HTTP status code is not handled or not allowed 2026-01-28 06:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clpe-earbud-kit-contains-pmln8068-pmln8069-and-pmln8070-for-use-with-clpe-portable-radios>: HTTP status code is not handled or not allowed 2026-01-28 06:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1002106-web-adjustable-tie-off-adaptor-fixed-6l-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 06:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-double-tier-3-wide-12x18x72-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carry-holster-for-tlk100-portable-radios>: HTTP status code is not handled or not allowed 2026-01-28 06:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slatwall-shelf-48x15-black-plastic-with-round-edge>: HTTP status code is not handled or not allowed 2026-01-28 06:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-steel-stock-picking-ladder-perforated-tread-w-cal-osha-handrail-cal-spl-11-14p>: HTTP status code is not handled or not allowed 2026-01-28 06:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-1-8-tan-for-nilfisk-advance-30764l1>: HTTP status code is not handled or not allowed 2026-01-28 06:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-e71t-gs-self-steel-flux-core-mig-welding-wire-116-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk12ne-x03s-secret-service-style-1-wire-surveillance-kit-earpiece>: HTTP status code is not handled or not allowed 2026-01-28 06:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qub-series-powered-armless-l-sectional-26-38x26-38x30-12-black>: HTTP status code is not handled or not allowed 2026-01-28 06:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-closed-linear-bearing-wseals-sw16uu-1id-225l>: HTTP status code is not handled or not allowed 2026-01-28 06:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valencia-series-d-top-desk-71wx35-12dx29-58h-espresso>: HTTP status code is not handled or not allowed 2026-01-28 06:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-12w-x-82h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-plasma-cutter-electrodes--tips-consumable-kit-20a-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 06:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-lavatory-system-low-on-left-2-people>: HTTP status code is not handled or not allowed 2026-01-28 06:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-piece-hand-evaluation-set-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-strapping-1-2-w-x-200-l-x-020-thick>: HTTP status code is not handled or not allowed 2026-01-28 06:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-strapping-seals-3-4-packed-1000>: HTTP status code is not handled or not allowed 2026-01-28 06:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-wash-fountain-circular-raising-vent>: HTTP status code is not handled or not allowed 2026-01-28 06:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-8w-x-82h-olive>: HTTP status code is not handled or not allowed 2026-01-28 06:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-closed-linear-bearing-wresin-retainer-sws8g-12id-125l>: HTTP status code is not handled or not allowed 2026-01-28 06:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-hydraulic-pinch-gauge-100-lb-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-ipc-eagle-mpvr45195>: HTTP status code is not handled or not allowed 2026-01-28 06:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1801-13-32-hss-heavy-duty-steam-oxide-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-minuteman-260242>: HTTP status code is not handled or not allowed 2026-01-28 06:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-tester-drench-shower-s19-330st>: HTTP status code is not handled or not allowed 2026-01-28 06:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-eye-wash-station-s19-210>: HTTP status code is not handled or not allowed 2026-01-28 06:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-three-flint-striker>: HTTP status code is not handled or not allowed 2026-01-28 06:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-nobles-tennant-610150>: HTTP status code is not handled or not allowed 2026-01-28 06:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispenser-rwd2020-for-steel-strapping-fits-3-ribbon-wound-coils>: HTTP status code is not handled or not allowed 2026-01-28 06:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-shower-drench-station-s19-310bf>: HTTP status code is not handled or not allowed 2026-01-28 06:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151002-4-single-leg-chain-sling-w-grab-hook>: HTTP status code is not handled or not allowed 2026-01-28 06:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-tensiometer-set-child-165-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1802-40-cobalt-heavy-duty-straw-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-36-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 06:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-5w-x-82h-almond>: HTTP status code is not handled or not allowed 2026-01-28 06:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1872-21-64-hss-heavy-duty-black-gold-135-hss-heavy-duty-parabolic-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-inward-swing-door-w-hardware-24w-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-3-16-flat-ure-a-for-nilfisk-advance-30937a>: HTTP status code is not handled or not allowed 2026-01-28 06:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-magnetic-roll-stock-1200l-x-1w-x-003-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 06:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-semi-round-step-can-16-gallon-brushed-ss-cw2029>: HTTP status code is not handled or not allowed 2026-01-28 06:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/950-series-heavy-duty-closer-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-squeegee-set-for-factory-cat-25-770l-factory-cat-25-754l-factory-cat-25-755l>: HTTP status code is not handled or not allowed 2026-01-28 06:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151087-10-double-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-28 06:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-danger-do-not-enter-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-pad-for-containment-berm-12l-x-40w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1823-13-16-heavy-duty-steam-oxide-power-wood-bits-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bag-spill-kit-4-capacity-gallon-bag-universal>: HTTP status code is not handled or not allowed 2026-01-28 06:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-6-door-digital-locker-36inwx15indx78inh-blue-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 06:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-24w-x-82h-royal-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-squeegee-set-for-nilfisk-advance-56409430>: HTTP status code is not handled or not allowed 2026-01-28 06:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-lock-hard-hat-white>: HTTP status code is not handled or not allowed 2026-01-28 06:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5712w-folkstone-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-wall-exhaust-shutter-front-flange-18-easr-mf-18>: HTTP status code is not handled or not allowed 2026-01-28 06:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1878-3-32-hss-heavy-duty-black-gold-135-split-point-3-flatted-shank-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-wall-exhaust-shutter-front-flange-10-easr-mf-10>: HTTP status code is not handled or not allowed 2026-01-28 06:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-actuator-for-nobles-tennant-9005784-nobles-tennant-1050461-nobles-tennant-397721>: HTTP status code is not handled or not allowed 2026-01-28 06:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-repel-rain-suit-2xl-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-two-piece-clamping-collar-n2c-series-climax-n2c-062>: HTTP status code is not handled or not allowed 2026-01-28 06:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-couplings-recessed-screw-w-keyway-cc-series-climax-2cc-050-050-kw>: HTTP status code is not handled or not allowed 2026-01-28 06:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152003-4-poly-web-sling-eye-and-eye-1250-1600-3200-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1874-3-16-1-2-x-1-16-hss-heavy-duty-bright-118-step-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-safety-pant-42-waist-x-32l-inseam-navy>: HTTP status code is not handled or not allowed 2026-01-28 06:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1880-7-16-cobalt-heavy-duty-straw-135-left-hand-mechanics-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-heated-fleece-hoodie-jacket-with-detachable-hood-s-charcoal-mix>: HTTP status code is not handled or not allowed 2026-01-28 06:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-vac-motor-pd-quiet-bypass-for-nobles-tennant-1039763>: HTTP status code is not handled or not allowed 2026-01-28 06:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hose-assembly-smooth-for-nobles-tennant-613759-nobles-tennant-160462>: HTTP status code is not handled or not allowed 2026-01-28 06:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-with-keyway-2c-kw-series-climax-2c-100-a-kw>: HTTP status code is not handled or not allowed 2026-01-28 06:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-five-tier-3-wide-12-3-4w-x-18d-x-14-5-8h-tan-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 06:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-couplings-recessed-screw-w-keyway-cc-series-climax-2cc-062-050-kw>: HTTP status code is not handled or not allowed 2026-01-28 06:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcr-safety-9378k-cut-pro-153-7-gauge-kevlar-174-synthetic-sleeve-18-thumb-slot>: HTTP status code is not handled or not allowed 2026-01-28 06:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-081-s>: HTTP status code is not handled or not allowed 2026-01-28 06:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1896-13-00mm-hss-heavy-duty-steam-oxide-135-split-point-screw-machine-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-3-micron-sensor-air-quality-microfilter-for-cvu-30-1-36-1-46-1-8-600-522-0>: HTTP status code is not handled or not allowed 2026-01-28 06:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1896-17-00mm-hss-heavy-duty-steam-oxide-135-split-point-screw-machine-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 66999 pages (at 96 pages/min), scraped 32971 items (at 15 items/min) 2026-01-28 06:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-broom-w-water-resistant-bristles-for-km-70-20-km-70-30-6-966-005-0>: HTTP status code is not handled or not allowed 2026-01-28 06:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-double-long-scissor-lift-table-foot-operated-4000-lb-cap-96l-x-26w-115230v>: HTTP status code is not handled or not allowed 2026-01-28 06:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-double-long-scissor-lift-table-hand-operated-12000-lb-cap-96l-x-26w-230460v>: HTTP status code is not handled or not allowed 2026-01-28 06:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dropper-bottles-with-control-dispensing-tip-15ml-case-of-25>: HTTP status code is not handled or not allowed 2026-01-28 06:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-couplings-recessed-screw-climax-cc-150-150>: HTTP status code is not handled or not allowed 2026-01-28 06:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-rectangular-strip-carbide-blank-14x14x12-stb88l>: HTTP status code is not handled or not allowed 2026-01-28 06:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5712w-red>: HTTP status code is not handled or not allowed 2026-01-28 06:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-ipc-eagle-mpvr05806>: HTTP status code is not handled or not allowed 2026-01-28 06:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500-tt-51-hss-heavy-duty-tin-tipped-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-reception-station-with-window-and-raceway-116w-x-80d-x-46h-cherry-counter-blue-panel>: HTTP status code is not handled or not allowed 2026-01-28 06:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lightweight-long-sleeve-flame-resistant-safety-shirt-2xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk-1-heavy-duty-steak-knife-5l-black-polypropylene-handle-high-carbon-steel-pointed-tip>: HTTP status code is not handled or not allowed 2026-01-28 06:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-heavyweight-pullover-hoodie-xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-5w-x-82h-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 06:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pn-10-piano-wire-whip-10l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-panel-wo-brackets-5412w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-100-100>: HTTP status code is not handled or not allowed 2026-01-28 06:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150asp-tn-57-hss-heavy-duty-tin-135-point-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 06:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-factory-cat-39-755l>: HTTP status code is not handled or not allowed 2026-01-28 06:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-ipc-eagle-mpvr08039>: HTTP status code is not handled or not allowed 2026-01-28 06:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56121-loki-safety-glasses-goggles-gray-framepz-copper-lens>: HTTP status code is not handled or not allowed 2026-01-28 06:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rtu-odor-eliminator-and-disinfectant-lavender-32-oz-spray-bottle-12carton>: HTTP status code is not handled or not allowed 2026-01-28 06:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-h2c-325-s>: HTTP status code is not handled or not allowed 2026-01-28 06:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tr-34w-folding-tray-stand-33-h-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cap-with-lamp-bracket--cord-holder-class-c-staz-on-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 06:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cap-with-staz-on-suspension-black>: HTTP status code is not handled or not allowed 2026-01-28 06:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-shovel-large-blade-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-shovel-small-blade-green>: HTTP status code is not handled or not allowed 2026-01-28 06:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versasure-cleaner-disinfectant-wipes-1-ply-675-x-8-white-85canister-6-canisterscarton>: HTTP status code is not handled or not allowed 2026-01-28 06:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-enviroduct-15wk-portable-heater-duct-16-dia-x-25l-x-7-pitch-black>: HTTP status code is not handled or not allowed 2026-01-28 06:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-hard-hat-sun-shade-one-size-hi-vis-yellowgreen>: HTTP status code is not handled or not allowed 2026-01-28 06:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedcartt-18-48-63-single-sided-15-cells-13-17-11>: HTTP status code is not handled or not allowed 2026-01-28 06:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedcartt-24-48-63-back-to-back-40-cells-10-11-11>: HTTP status code is not handled or not allowed 2026-01-28 06:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3780-power-tool-trap-small-black>: HTTP status code is not handled or not allowed 2026-01-28 06:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosion-resistant-set-screw-collar-cr-climax-crc-012-s>: HTTP status code is not handled or not allowed 2026-01-28 06:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-series-1-2-hp-submersible-cast-iron-effluent-pump-vertical-switch>: HTTP status code is not handled or not allowed 2026-01-28 06:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppc-2-diameter-blade-pizza-cutter-with-plastic-handle>: HTTP status code is not handled or not allowed 2026-01-28 06:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/submersible-cast-iron-and-zinc-sump-pump-1-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 06:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-6w-x-82h-taupe>: HTTP status code is not handled or not allowed 2026-01-28 06:08:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-250-s>: HTTP status code is not handled or not allowed 2026-01-28 06:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-256>: HTTP status code is not handled or not allowed 2026-01-28 06:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-sprinkler-pump-1-5-hp>: HTTP status code is not handled or not allowed 2026-01-28 06:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-200-s>: HTTP status code is not handled or not allowed 2026-01-28 06:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tmt-ir1-dial-instant-read-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 06:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-6w-x-82h-sand>: HTTP status code is not handled or not allowed 2026-01-28 06:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-w-keyway-climax-2iscc-200-200kw>: HTTP status code is not handled or not allowed 2026-01-28 06:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-8w-x-82h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5528-topped-parts-pouch-canvas-black>: HTTP status code is not handled or not allowed 2026-01-28 06:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8955-lightweight-bump-cap-long-brim-black>: HTTP status code is not handled or not allowed 2026-01-28 06:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 06:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-125-s>: HTTP status code is not handled or not allowed 2026-01-28 06:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mega-dipper-128-oz-green>: HTTP status code is not handled or not allowed 2026-01-28 06:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-scoop-82-oz-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wbkh-6r-round-black-wire-condiment-caddy>: HTTP status code is not handled or not allowed 2026-01-28 06:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-rod-1-500-dia-x-48-000-inch>: HTTP status code is not handled or not allowed 2026-01-28 06:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-043-z>: HTTP status code is not handled or not allowed 2026-01-28 06:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-fluid-level-sight-glass-w-reflector-1-npt-thread-1ptk3>: HTTP status code is not handled or not allowed 2026-01-28 06:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-x-16-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wexpanded-metal-sides-42wx24dx78h-blall-welded>: HTTP status code is not handled or not allowed 2026-01-28 06:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-fluid-level-sight-glass-g-1-pipe-thread-6311025>: HTTP status code is not handled or not allowed 2026-01-28 06:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-makrofol-de1-1-g-g-pc-film-0-015-x-24-x-48-75-sheet-case>: HTTP status code is not handled or not allowed 2026-01-28 06:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/if1s-2436-5pytl-heavy-duty-mobile-work-center-1200-lbs-capacity-24-x-36-1-sided>: HTTP status code is not handled or not allowed 2026-01-28 06:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-inch-x-8-inch-x-8-inch-long-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 06:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-pilaster-w-shoe-4w-x-82h-silver-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-bullet-resist-polycarbonate-sheet-1-250-thick-48-x-96>: HTTP status code is not handled or not allowed 2026-01-28 06:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-8-x-6-4-2-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-vented-sides-24wx24dx76h-red-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 06:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-vented-sides-18wx18dx78h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 06:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-24-x-12-10-8-6-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-0-187-thick-48-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmcp-200-measuring-cup-w-red-blue-markings-2-qt-clear-plastic>: HTTP status code is not handled or not allowed 2026-01-28 06:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-4w-x-82h-navy-grafix>: HTTP status code is not handled or not allowed 2026-01-28 06:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-vented-sides-24wx21dx72h-blue-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 06:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-duty-locker-24wx24dx90h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 06:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-coupling-4-set-screws-2-90-rc4h-series-climax-rc-037-4h90>: HTTP status code is not handled or not allowed 2026-01-28 06:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 67095 pages (at 96 pages/min), scraped 32993 items (at 22 items/min) 2026-01-28 06:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/budget-equipment-stand-36-x-36-24-high-ss-top-galvanized-legs-and-undershelf>: HTTP status code is not handled or not allowed 2026-01-28 06:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-trash-can-with-lift-handle-44-gal-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-24-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 06:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-gutter-guard-rt-with-5-weir-108l-x-8-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-12-s>: HTTP status code is not handled or not allowed 2026-01-28 06:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-film-for-hand-dispenser-blown-90-gauge-12w-x-1500l-clear-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 06:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-15>: HTTP status code is not handled or not allowed 2026-01-28 06:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-4005-single-strap-wrist-brace-support-left-s-black>: HTTP status code is not handled or not allowed 2026-01-28 06:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-all-purpose-waterproof-sealant-10-1oz-crystal-clr-7079818388>: HTTP status code is not handled or not allowed 2026-01-28 06:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mahr-federal-pocket-surf-probe>: HTTP status code is not handled or not allowed 2026-01-28 06:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wh-5-oil-and-vinegar-cruet-rack>: HTTP status code is not handled or not allowed 2026-01-28 06:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-with-extended-core-handle-cast-90-gauge-15w-x-1000l-clear-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 06:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-paper-phenolic-sheet-0-250-thick-48-x-96>: HTTP status code is not handled or not allowed 2026-01-28 06:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atch-46-table-card-holder-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 06:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-pipe-5-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-25>: HTTP status code is not handled or not allowed 2026-01-28 06:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gussetted-poly-bag-rolls-32x28x96-2-mil-80-rl>: HTTP status code is not handled or not allowed 2026-01-28 06:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-1080-economy-chafer-8-qt-folding-top>: HTTP status code is not handled or not allowed 2026-01-28 06:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bw-ss1-solid-spoon-black-nylon>: HTTP status code is not handled or not allowed 2026-01-28 06:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-t-branch-6-6-6-6-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reddy-general-purpose-sealant-11-0-oz-cream-7565000021>: HTTP status code is not handled or not allowed 2026-01-28 06:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-21>: HTTP status code is not handled or not allowed 2026-01-28 06:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-butterfly-valve-6-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reborn-collection-2-in-1-hybrid-duffle-bag-polyester-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-box-footlocker-18wx18dx78hblall-welded>: HTTP status code is not handled or not allowed 2026-01-28 06:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-couplings-recessed-screw-w-keyway-cc-series-climax-2cc-075-075-kw>: HTTP status code is not handled or not allowed 2026-01-28 06:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-adjustable-nipple-with-o-ring-10-dia-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 06:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0045r-skinny-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 06:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-24wx24dx72h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 06:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alrk-30bk-30-tier-aluminum-rack-w-brake>: HTTP status code is not handled or not allowed 2026-01-28 06:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-truck-slat-sides-2-adj-shelves-3600-lbs-cap-30-60-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-28 06:09:19 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 06:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sloped-handle-service-cart-lipped-shlfvs-1200-lbs-cap-18-32-5-poly-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:09:20 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:33 2026-01-28 06:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelfsecurity-boxvented18wx18dx78hgyall-welded>: HTTP status code is not handled or not allowed 2026-01-28 06:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0016-04-winston-bouillon-spoon>: HTTP status code is not handled or not allowed 2026-01-28 06:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0385r-iron-tuff-high-bib-overall-tall-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-28 06:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-7002-eco-recycled-pu-coated-gloves-m-green-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-industry-standard-clamping-couplings-w-keyway-climax-miscc-10-10-skw>: HTTP status code is not handled or not allowed 2026-01-28 06:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afp-10a-h-fry-pan>: HTTP status code is not handled or not allowed 2026-01-28 06:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-018-s>: HTTP status code is not handled or not allowed 2026-01-28 06:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-025>: HTTP status code is not handled or not allowed 2026-01-28 06:09:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-grate-guard-high-flow-no-overflows-24l-x-48w-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 06:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelfsecurity-boxvented24wx18dx72hrdall-welded>: HTTP status code is not handled or not allowed 2026-01-28 06:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-18x42-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 06:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-vented-24wx24dx76hgrall-welded>: HTTP status code is not handled or not allowed 2026-01-28 06:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bspb-15-perforated-basting-spoon-w-bakelite-handle-15l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-t-link-qc-hood-hard-hat-breathing-tube-constant-flow>: HTTP status code is not handled or not allowed 2026-01-28 06:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-inch-corner-edge-protector-vb13-double-slots-stackable-11l-x-8w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 06:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-plastic-trash-container-lid-garbage-can-lid-20-gallon-white>: HTTP status code is not handled or not allowed 2026-01-28 06:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tb250b-adjustable-hydraulic-gate-closer>: HTTP status code is not handled or not allowed 2026-01-28 06:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-glowear-8205hl-eco-recycled-hi-vis-safety-vest-2xl3xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 06:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0526-cooler-wear-trousers-regular-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-28 06:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-3-inhalation-hazard-adhesive-vinyl-placard>: HTTP status code is not handled or not allowed 2026-01-28 06:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0526-cooler-wear-trousers-regular-navy-medium>: HTTP status code is not handled or not allowed 2026-01-28 06:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-2-non-flammable-gas-tagboard-placard>: HTTP status code is not handled or not allowed 2026-01-28 06:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0488-insulated-quilted-sweatshirt-regular-navy-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-silver-epoxy-wire-shelf-54x24>: HTTP status code is not handled or not allowed 2026-01-28 06:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s2454s-stainless-steel-wire-shelf-54w-x-24d>: HTTP status code is not handled or not allowed 2026-01-28 06:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-lift-standard-scissor-lift-table-hand-operated-4000-lb-capacity-72l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 06:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0025-08-houston-dinner-knife>: HTTP status code is not handled or not allowed 2026-01-28 06:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0026-04-elite-bouillon-spoon>: HTTP status code is not handled or not allowed 2026-01-28 06:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-zlink-fr-face-seal-px5-papr>: HTTP status code is not handled or not allowed 2026-01-28 06:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-zlink-tychem-shoulder-cape-px5-papr>: HTTP status code is not handled or not allowed 2026-01-28 06:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-2000-extra-length-nylon-cape>: HTTP status code is not handled or not allowed 2026-01-28 06:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0033-08-oxford-dinner-knife>: HTTP status code is not handled or not allowed 2026-01-28 06:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-thick-x-3-w-corrugated-vinyl-runner-full-roll-105-l>: HTTP status code is not handled or not allowed 2026-01-28 06:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-800072-clr-2-clear-glass-filled-nylon-hook-0-287-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asfb-4-utility-scoop-w-flat-bottom-4-oz-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0322r-iron-tuff-polar-jacket-regular-navy-3xl>: HTTP status code is not handled or not allowed 2026-01-28 06:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-carbon-pre-filter-for-hero-hs300-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-206320-clr-suggestion-box-11-w-x-8-1-4-d-x-52-3-4-h>: HTTP status code is not handled or not allowed 2026-01-28 06:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fold-in-half-plastic-table-96-x-30-x-29-inch-black>: HTTP status code is not handled or not allowed 2026-01-28 06:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-brass-sledge-hammer-4-lb-head-16-steel-handle>: HTTP status code is not handled or not allowed 2026-01-28 06:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/re-machinable-couplings-r2cc-series-climax-r2cc-100-100-s>: HTTP status code is not handled or not allowed 2026-01-28 06:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0360-iron-tuff-ice-parka-regular-navy-3xl>: HTTP status code is not handled or not allowed 2026-01-28 06:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-inch-brass-interlocking-stencil-numbers-fifteen-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 06:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crkc-13-clear-cover-for-crk-13-series>: HTTP status code is not handled or not allowed 2026-01-28 06:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eight-inch-brass-interlocking-stencil-gothic-style-numbers-thirteen-piece-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 67190 pages (at 95 pages/min), scraped 33010 items (at 17 items/min) 2026-01-28 06:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344l2-hivis-minus-50-suit-regular-hivis-lime-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ms3a-8s-single-fine-mesh-8-diameter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-pallet-40-l-x-48-w-x-4-3-4-h-8000-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mt100-two-speed-electric-trolley-1-ton-capacity-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlh-75wo-30-lever-hoist-with-overload-protection-34-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z3-magnifying-lens-holder>: HTTP status code is not handled or not allowed 2026-01-28 06:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-rubbermaid-brute-32-gallon-trash-container-5>: HTTP status code is not handled or not allowed 2026-01-28 06:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-inch-x-5-yards-self-adhesive-bandage-non-latex-kelly-green-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 06:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-inch-x-5-yards-self-adhesive-bandage-non-latex-bright-pink-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 06:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-storage-cabinet-36x24x72-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-287>: HTTP status code is not handled or not allowed 2026-01-28 06:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jla-300-5-lever-hoist-3-ton-capacity-5-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-inch-x-5-yards-self-adhesive-bandage-non-latex-dark-blue-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-28 06:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-t200-tychem-2000-face-seal-hood>: HTTP status code is not handled or not allowed 2026-01-28 06:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/129c-enduramax-boot-regular-black-7>: HTTP status code is not handled or not allowed 2026-01-28 06:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stn-6-solid-turner>: HTTP status code is not handled or not allowed 2026-01-28 06:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-quiet-link-earmuffs>: HTTP status code is not handled or not allowed 2026-01-28 06:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-double-wide-climax-d2c-018>: HTTP status code is not handled or not allowed 2026-01-28 06:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-3-c40-xxl-blast-jacket>: HTTP status code is not handled or not allowed 2026-01-28 06:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-plastic-top-pedestal-workbench-w-6-drawers>: HTTP status code is not handled or not allowed 2026-01-28 06:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-maple-safety-edge-top-pedestal-workbench-w-6-drawers>: HTTP status code is not handled or not allowed 2026-01-28 06:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-temperature-controller-a421gef-02c-24-vac-spdt-nema-4x>: HTTP status code is not handled or not allowed 2026-01-28 06:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/129c-enduramax-boot-regular-black-10>: HTTP status code is not handled or not allowed 2026-01-28 06:10:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/welding_face_masks_respirators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-esd-safety-edge-top-pedestal-workbench-w-8-drawers>: HTTP status code is not handled or not allowed 2026-01-28 06:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-high-visibility-all-weather-extension-cord-10awg-15a-125v-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glc-01008-clear-glass-screw-thread-vials-with-green-caps-8-dram-30ml-case-of-144>: HTTP status code is not handled or not allowed 2026-01-28 06:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1026-midsize-regulator-34-npt-250-psi-gauge-not-included>: HTTP status code is not handled or not allowed 2026-01-28 06:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-5-yards-self-adhesive-bandage-non-latex-kelly-green>: HTTP status code is not handled or not allowed 2026-01-28 06:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mss-65-strainer-6-1-2-diameter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-threading-machine-automatic-die-head-1-2-2>: HTTP status code is not handled or not allowed 2026-01-28 06:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1022-10-micro-filter-metal-bowl-34-npt-250-psi-40-micron>: HTTP status code is not handled or not allowed 2026-01-28 06:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-rack-all-welded-aluminum-27-l-x-37-w-x-71-h-12-tub-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-1173-mini-disposable-air-line-desiccant-filter-polycarbonate-bowl-14-npt-125-psi>: HTTP status code is not handled or not allowed 2026-01-28 06:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1453120-tarco-conveyor-chain-31037-10a>: HTTP status code is not handled or not allowed 2026-01-28 06:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-48-x12>: HTTP status code is not handled or not allowed 2026-01-28 06:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/respiratory_protection/welding_face_masks_respirators>: HTTP status code is not handled or not allowed 2026-01-28 06:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-with-acrylic-adhesive-70a-12-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j-2550-floor-model-drill-press-1-hp-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1115-regulator-12-npt-250-psi-gauge-not-included>: HTTP status code is not handled or not allowed 2026-01-28 06:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-add-on-unit-48-w-x-12-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 06:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jdp-20vs-3-variable-speed-drill-press-2-hp-3-phase-230460v>: HTTP status code is not handled or not allowed 2026-01-28 06:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ift-2-insulated-food-transporter-2-1-2-6-deep-pans-polypropylene-green>: HTTP status code is not handled or not allowed 2026-01-28 06:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clw11-805wmbrp-led-wall-pack-80w-11200-lumens-5000k>: HTTP status code is not handled or not allowed 2026-01-28 06:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-starter-unit-60-w-x-21-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 06:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27611-challenger-iii-grinding-wheel-type-29-4-1-2-inch-x-1-8-inch-x-7-8-inch-60-grit>: HTTP status code is not handled or not allowed 2026-01-28 06:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-starter-unit-24-w-x-21-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 06:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-132-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-050-dt>: HTTP status code is not handled or not allowed 2026-01-28 06:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-starter-unit-54-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 06:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ap-0-manually-operated-arbor-press-12-ton-max-pressure>: HTTP status code is not handled or not allowed 2026-01-28 06:10:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-tier-shelving-add-on-unit-solid-galvanized-steel-54w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-starter-unit-solid-galvanized-steel-54w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1308105-universal-nylon-markers-b2028>: HTTP status code is not handled or not allowed 2026-01-28 06:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-3-shelf-poly-green-36l-x-24w-x-39h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-roll-with-high-temp-adhesive-75a-132-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23334-depressed-center-wheel-t1-z-tech-4-1-2-inch-x-045-inch-x-7-8-inch-zirconium->: HTTP status code is not handled or not allowed 2026-01-28 06:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/241-punch-assembly-for-25t-ironworker>: HTTP status code is not handled or not allowed 2026-01-28 06:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72246-encore-flap-disc-type-29-5-inch-x-7-8-inch-60-grit-zirconium>: HTTP status code is not handled or not allowed 2026-01-28 06:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-wjt-ab864uw-16-angle-block-8-34l-x-6w-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 06:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-rewind-hose-reel-for-air-water-14-i-d-35-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 06:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-rewind-hose-reel-for-air-water-3-8-i-d-35-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 06:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arp-13-rolling-pin>: HTTP status code is not handled or not allowed 2026-01-28 06:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jmd-45-geared-head-square-column-millingdrilling-w-power-downfeed-1-12hp-115230v-1ph>: HTTP status code is not handled or not allowed 2026-01-28 06:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-replacement-liner-18-bushel-red-2>: HTTP status code is not handled or not allowed 2026-01-28 06:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-075-075-s>: HTTP status code is not handled or not allowed 2026-01-28 06:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-087-062>: HTTP status code is not handled or not allowed 2026-01-28 06:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-roll-no-adhesive-75a-132-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70049-2a-flap-wheel-2-inch-x-1-inch-x-1-4-inch-40-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 06:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-strip-with-high-temp-adhesive-75a-132-thick-x-14-wide-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiber-trays-pla-lined-pfas-free-1-compartment-18-x-14-x-1-100-carton>: HTTP status code is not handled or not allowed 2026-01-28 06:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-punch-die-set-3132>: HTTP status code is not handled or not allowed 2026-01-28 06:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-roll-no-adhesive-75a-18-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35142-psa-disc-9-inch-dia-100-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 06:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-262-s>: HTTP status code is not handled or not allowed 2026-01-28 06:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-12-wheel-with-hardware-includes-1-12-wheel-4-washers-1-axle-nut>: HTTP status code is not handled or not allowed 2026-01-28 06:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35422-hook-and-loop-disc-6a-5-inch-dia-120-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 06:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/br-25-coffee-urn-brush>: HTTP status code is not handled or not allowed 2026-01-28 06:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-subject-notebook-wide-ruled-70-page-assorted-48-each-set>: HTTP status code is not handled or not allowed 2026-01-28 06:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-16-wheel-for-rubbermaid-towable-tilt-truck>: HTTP status code is not handled or not allowed 2026-01-28 06:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/press-brake-tooling-set-60110-ton-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 06:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-lock-assembly-with-keys-and-hardware-includes-1-lock-2-keys-and-mounting-hardware>: HTTP status code is not handled or not allowed 2026-01-28 06:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35082-psa-disc-5-inch-dia-40-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 06:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 67289 pages (at 99 pages/min), scraped 33026 items (at 16 items/min) 2026-01-28 06:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-330-alloy-chain-clevis-grab-hook-3-4-24700-lbs-wll>: HTTP status code is not handled or not allowed 2026-01-28 06:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-19-3-4x12-1-2-red>: HTTP status code is not handled or not allowed 2026-01-28 06:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-320an-s-c-alloy-hook-eye-w-latch-22t-wll>: HTTP status code is not handled or not allowed 2026-01-28 06:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-neoteq-caster-with-grip-ring-swivel-stem-1-7-16h-stem-175-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-neoteq-caster-with-threaded-swivel-stem-and-brake-1h-stem-175-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50180-az-x-fiber-disc-4-1-2-inch-x-7-8-inch-36-grit-zirconium>: HTTP status code is not handled or not allowed 2026-01-28 06:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20063-depressed-center-wheel-t27-4-1-2-inch-x-1-4-inch-x-7-8-inch-24-grit-alum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 06:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-320cn-s-c-carbon-hook-eye-w-latch-1-1-2t-wll>: HTTP status code is not handled or not allowed 2026-01-28 06:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-043-s>: HTTP status code is not handled or not allowed 2026-01-28 06:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-rewind-static-discharge-hand-crank-cable-reel-100-cable>: HTTP status code is not handled or not allowed 2026-01-28 06:11:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84251-water-proof-sanding-sheets-9-inch-x-11-inch-120-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-28 06:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-compartment-kids-hanging-toy-sorter-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-of-boxed-serrated-jaw-inserts-with-4-screws-for-1765-vise>: HTTP status code is not handled or not allowed 2026-01-28 06:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35322-hook-and-loop-disc-5-inch-dia-120-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-28 06:11:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/disposable_face_masks_respirators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-50a-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-50a-14-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-no-adhesive-70a-18-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-237-s>: HTTP status code is not handled or not allowed 2026-01-28 06:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-loader-25-lb-x-1-8-lb-enamel-finish-6-inch-fixed-dial>: HTTP status code is not handled or not allowed 2026-01-28 06:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-5-drawer-deluxe-flat-file-putty-1>: HTTP status code is not handled or not allowed 2026-01-28 06:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-580-lifting-eye-bolts-steel-shoulder-zinc-plated-m8-1-7-16-h-5-16-t-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 06:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-hp-35a-hydraulic-shop-press-35-ton-max-pressure>: HTTP status code is not handled or not allowed 2026-01-28 06:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:11:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/drilling_hole_making/punches_dies/knockout_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-standard-soft-face-hammer-131-lb-head-9-38-steel-handle>: HTTP status code is not handled or not allowed 2026-01-28 06:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-with-acrylic-adhesive-50a-38-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gd-12154-ferrules-and-stops-14-inch-aluminumpack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 06:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pebble-surface-mat-black-yellow-48-es-wide>: HTTP status code is not handled or not allowed 2026-01-28 06:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suede-finish-vinyl-round-ring-binder-1-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 06:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-explosion-proof-motor-25hp-1800rpm-284t-epfc-230-460v-60hz-40c-1-15sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 06:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-3-2hp-3450-2850rpm-145tc-tefc-208-230-460v-60-50hz-rigid-c>: HTTP status code is not handled or not allowed 2026-01-28 06:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-251-6-setting-bolts-steel-w-retaining-magnet-zinc-pltd-m10-11-16-mag-dia-2-l>: HTTP status code is not handled or not allowed 2026-01-28 06:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-farm-ag-motor-1-2hp-1625rpm-48y-tenv-115-230v-60hz-airover-auto-rigid>: HTTP status code is not handled or not allowed 2026-01-28 06:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-251-6-setting-bolts-steel-w-retaining-magnet-zinc-plated-m6-3-8-mag-dia-1-l>: HTTP status code is not handled or not allowed 2026-01-28 06:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ts050-010-electric-chain-hoist-w-trolley-4-button-pendant-12-ton-cap-10-lift-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24-w-grip-safety-angle-ladder>: HTTP status code is not handled or not allowed 2026-01-28 06:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-287-bo>: HTTP status code is not handled or not allowed 2026-01-28 06:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/drilling_hole_making/punches_dies/knockout_kits>: HTTP status code is not handled or not allowed 2026-01-28 06:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-6-lb-ft-coupler-brake-56c-143-5tc-nema4x-ip55-bissc-115-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-293-dt>: HTTP status code is not handled or not allowed 2026-01-28 06:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-with-acrylic-adhesive-50a-38-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-300>: HTTP status code is not handled or not allowed 2026-01-28 06:11:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/respiratory_protection/disposable_face_masks_respirators landed on page that is not a product page. 2026-01-28 06:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-72x18x72-starter>: HTTP status code is not handled or not allowed 2026-01-28 06:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/241-punch-assembly-for-120t-dlx-ironworkers>: HTTP status code is not handled or not allowed 2026-01-28 06:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/211-quad-ring-xring-1316id-x-1116od-70-duro-round-black-pkg-100>: HTTP status code is not handled or not allowed 2026-01-28 06:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-gray-96-wx-48-d-x-84-h-with-polyethylene-file-boxes>: HTTP status code is not handled or not allowed 2026-01-28 06:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cortech-usa-tpdbb-high-security-double-blank-cover-plate-w-hardware1-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-fume-extractor-1-5-hp-single-phase-110v-fe-850>: HTTP status code is not handled or not allowed 2026-01-28 06:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l100-150wo-10-hand-chain-hoist-with-overload-protection-1-12-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-4300-casement-operator-9-inch-square-type-left-hand-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-hook-stake-black>: HTTP status code is not handled or not allowed 2026-01-28 06:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-brake-motor-1-5hp-1-12kw-1740rpm-145-tefc-1ph-60hz-cont-40c-rigid-c>: HTTP status code is not handled or not allowed 2026-01-28 06:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delfin-21-14-gallon-wet-dry-vacuum-2-7-hp-mistral-802-wd>: HTTP status code is not handled or not allowed 2026-01-28 06:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/underbody-spring-assembly-passenger-side-3024916>: HTTP status code is not handled or not allowed 2026-01-28 06:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3754-2-12mm-extra-long-length-ball-end-screwdriver>: HTTP status code is not handled or not allowed 2026-01-28 06:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-mesh-tarp-8-ft-x-18-ft-3022117>: HTTP status code is not handled or not allowed 2026-01-28 06:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-mesh-tarp-7-1-2-ft-x-28-ft-3013398>: HTTP status code is not handled or not allowed 2026-01-28 06:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-70a-132-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-12x18x72-3-door-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-0-hp-pistol-grip-non-reversible-drill-2600-rpm-3-8-inch-chuck>: HTTP status code is not handled or not allowed 2026-01-28 06:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-1hp-3600rpm-56hc-tenv-230-460v-60hz-1-15sf-rigid-c>: HTTP status code is not handled or not allowed 2026-01-28 06:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drill-press-2-hp-single-phase-220v-dp-1250vs>: HTTP status code is not handled or not allowed 2026-01-28 06:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-in-heavy-duty-nylon-scrub-brush-for-concrete-black>: HTTP status code is not handled or not allowed 2026-01-28 06:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-h-frame-press-3-hp-3-phase-220v-hsp-110m-hd>: HTTP status code is not handled or not allowed 2026-01-28 06:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-flush-deck-36-x-60-mold-on-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 06:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-farm-ag-motor-1-4hp-1625rpm-48-tenv-115-230v-60hz-auto-round>: HTTP status code is not handled or not allowed 2026-01-28 06:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-mount-12-v-aluminum-mount-system-10-1-2-ft-x-8-1-3-ft-5544300>: HTTP status code is not handled or not allowed 2026-01-28 06:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-truck-2-shelves-slat-sides-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 06:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-pallet-rack-starter-96w-x-42d-x-144h-6820-lbs-shelf-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-speed-electric-tarp-gear-motor-5541065>: HTTP status code is not handled or not allowed 2026-01-28 06:11:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=sheet-metal-corner-notcher-3-hp-3-phase-220v-sn-f09-ms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-beveling-machine-1-hp-single-phase-110v-cm-10p>: HTTP status code is not handled or not allowed 2026-01-28 06:11:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/tags_tickets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-mesh-tarp-7-ft-x-20-ft-3009457>: HTTP status code is not handled or not allowed 2026-01-28 06:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-general-purpose-motor-50hz-1-1hp-1-1kw-1425rpm-56h-ip54-1-0sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 06:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-pallet-rack-add-on-96w-x-42d-x-96h-6820-lbs-shelf-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-door-silencer-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-adjustable-truck-slat-sides-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-70a-18-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-roller-latch-1-1-8-x-2-3-4-strike-085862>: HTTP status code is not handled or not allowed 2026-01-28 06:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-frame-sheet-panel-truck-30-x-48-w-brake-wheels>: HTTP status code is not handled or not allowed 2026-01-28 06:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-60a-38-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 67385 pages (at 96 pages/min), scraped 33041 items (at 15 items/min) 2026-01-28 06:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-tier-15-door-clear-view-locker-digital-lock-36-inch-w-x-12-inch-d-x-66-inch-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 06:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-welding-positioner-3-phase-220v-rwp-110-1-0>: HTTP status code is not handled or not allowed 2026-01-28 06:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=sheet-metal-corner-notcher-3-hp-3-phase-220v-sn-f09-ms>: HTTP status code is not handled or not allowed 2026-01-28 06:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/tags_tickets>: HTTP status code is not handled or not allowed 2026-01-28 06:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-manually-operated-hand-straight-brake-10-l-16-gauge>: HTTP status code is not handled or not allowed 2026-01-28 06:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-strength-hand-truck-loop-handle-8-x-250-solid-rubber-tire>: HTTP status code is not handled or not allowed 2026-01-28 06:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-nursery-cart-5-shelf-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-10x10x8-without-roof-4-sides>: HTTP status code is not handled or not allowed 2026-01-28 06:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrislynn-helical-thread-single-size-insert-replacement-kit-m4x07-rh>: HTTP status code is not handled or not allowed 2026-01-28 06:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-intensity-infrared-patio-heater-with-transformer-natural-gas-100000-btu-120v>: HTTP status code is not handled or not allowed 2026-01-28 06:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/313-carton-sealing-tape-2-x-100-yds-25-mil-clear-36pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smi6-general-purpose-laboratory-incubator-5-7-cu-ft-162-l-115v>: HTTP status code is not handled or not allowed 2026-01-28 06:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-handle-instrument-cart-flush-shelves-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/373-carton-sealing-tape-2-x-55-yds-25-mil-yellow-6pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-tier-plastic-lockers-flat-top-15x15x18-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-ashen-slate-trim-kit-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-6-l-x-14-8-w-vinyl-wall-tile-adobe-drift-8-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/order-picking-truck-w-storage-pocket-lip-shelves-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-wheeler-wagon-truck-lip-edge-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35111-workbrutes-hitop-work-overshoes-black-cleated-outsole-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-truck-5-flush-shelves-24-x-48-w-writing-shelf-document-pocket>: HTTP status code is not handled or not allowed 2026-01-28 06:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-70a-116-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-truck-3-flush-shelves-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-j-trim-in-oak-mocha-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-handle-instrument-cart-lip-shelves-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-l-trim-in-louvre-granite-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-cup-sleeves-fits-10-12-16-20-oz-cups-natural-1000-carton>: HTTP status code is not handled or not allowed 2026-01-28 06:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lettered-cones-a-z-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-service-cart-2-flush-shelves-18-x-32>: HTTP status code is not handled or not allowed 2026-01-28 06:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/373-carton-sealing-tape-2-x-110-yds-25-mil-tan-6pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-brass-solid-body-padlocks-no-6840>: HTTP status code is not handled or not allowed 2026-01-28 06:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x12x39-12>: HTTP status code is not handled or not allowed 2026-01-28 06:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-70a-12-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slc-stacking-container-24l-x-15w-x-11h-silver-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x100-cargo-net-roll-1-polypropylene-webbing-5-mesh-size-700lb-tensile-strength>: HTTP status code is not handled or not allowed 2026-01-28 06:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o12008-magnaprene-plain-front-overall-green-2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-part-carbonless-inventory-tag-pre-wired-7500-7999-8-6-14l-x-3-18w-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-reinforced-industrial-spray-white>: HTTP status code is not handled or not allowed 2026-01-28 06:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-industrial-spray-nozzle-red>: HTTP status code is not handled or not allowed 2026-01-28 06:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j26119-bomber-ii-hooded-jacket-fluorescent-orangeredblack-lg>: HTTP status code is not handled or not allowed 2026-01-28 06:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-10-ft-24-inch-w-1-9-inch-dia-galvanized-rollers-21-inch-between-rail-3-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-28 06:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modine-high-efficiency-150000-btu-gas-fired-unit-heater>: HTTP status code is not handled or not allowed 2026-01-28 06:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixed-stand-24-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 06:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capital-locker-single-tier-12x15x72-3-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permaloc-wire-rope-sling-1-4x6-eye-to-eye>: HTTP status code is not handled or not allowed 2026-01-28 06:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1800-weather-fashions-trim-rubber-overshoes-black-sm>: HTTP status code is not handled or not allowed 2026-01-28 06:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-02f-direct-acting-solenoid-valve-2-2-nc-fkm-seal-3-8-nptf-3-mm-110v-ac>: HTTP status code is not handled or not allowed 2026-01-28 06:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-with-acrylic-adhesive-50a-132-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-5-ft-18-inch-w-1-9-inch-dia-galvanized-rollers-15-inch-between-rail-3-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-28 06:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-2-ft-ball-transfer-table-13-inch-between-frame-3-inch-ball-center>: HTTP status code is not handled or not allowed 2026-01-28 06:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-with-acrylic-adhesive-60a-116-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j24172-icon-31-jacket-with-reflective-tape-fluorescent-yellowgreen-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-single-tab-white-gothic-1-letters>: HTTP status code is not handled or not allowed 2026-01-28 06:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-1-500-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 06:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-double-tier-12x18x36-6-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:12:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-rubber-wall-base-coil-4-in-x-125-in-x-120-ft-pewter>: HTTP status code is not handled or not allowed 2026-01-28 06:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-03f-hung-diaphragm-solenoid-valve-2-2-nc-fkm-seal-3-4-nptf-18mm-24vac-31va>: HTTP status code is not handled or not allowed 2026-01-28 06:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ketron-peek-sheet-q-1-250-thick-x-24-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 06:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-03f-hung-diaphragm-solenoid-valve-2-2-nc-fkm-seal-1-nptf-25mm-24v-ac-31va>: HTTP status code is not handled or not allowed 2026-01-28 06:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-70a-116-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f-style-haz-mat-shipper-kit-1-gallon-can-8-316l-x-5-1116w-x-12-38h-kraft>: HTTP status code is not handled or not allowed 2026-01-28 06:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-116-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-132-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-315-nipple-1-4-male-npt-asian-interchange>: HTTP status code is not handled or not allowed 2026-01-28 06:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-1-250-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 06:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-snap-on-deck-junior-aluminum-2-1-convertible-hand-truck>: HTTP status code is not handled or not allowed 2026-01-28 06:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ertalyte-pet-p-rod-q-0-25-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-low-circular-profile-square-nose-125-x-48-deep-navy>: HTTP status code is not handled or not allowed 2026-01-28 06:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 06:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-heavy-duty-double-shift-cabinet-12-gauge-36-w-x-24-d-x-66-h>: HTTP status code is not handled or not allowed 2026-01-28 06:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3199-carton-sealing-tape-check-seal-before-accepting-2-x-110-yds-clearred-36pk>: HTTP status code is not handled or not allowed 2026-01-28 06:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-ss-316-barstock-half-coupling-38-npt-female-plain>: HTTP status code is not handled or not allowed 2026-01-28 06:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-garment-tag-1-78l-x-1-14w-green-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-nesting-tote-23-3-4-x-17-1-4x8-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-raised-circular-stair-tread-square-nose-12063-x-48-lunar-dust>: HTTP status code is not handled or not allowed 2026-01-28 06:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-5-34l-x-2-78w-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-ss-304-barstock-union-12-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 06:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-ss-316-barstock-cap-1-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 06:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j31107-webdri-storm-fly-front-hooded-jacket-yellow-lg>: HTTP status code is not handled or not allowed 2026-01-28 06:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-0-500-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 06:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-0-500-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 06:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-four-channel-cable-ramp-four-and-a-half-inch-and-two-inch-channel-orange-black-xg4400>: HTTP status code is not handled or not allowed 2026-01-28 06:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 67483 pages (at 98 pages/min), scraped 33058 items (at 17 items/min) 2026-01-28 06:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-3-000-thick-x-12-w-x-12-l>: HTTP status code is not handled or not allowed 2026-01-28 06:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merchandise-tag-pre-strung-1316l-x-38w-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s66218-stormchamp-2-pc-suit-forest-green-attached-hood-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-channel-cable-protector-one-inch-channel-orange-black-lg1100>: HTTP status code is not handled or not allowed 2026-01-28 06:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-rod-1-750-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x5-8-11-z3-60-t27-reg100-za-flap-disc>: HTTP status code is not handled or not allowed 2026-01-28 06:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ae-55-headest-black-and-silver>: HTTP status code is not handled or not allowed 2026-01-28 06:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-0-625-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 06:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-2-glass-filled-nylon-caster-kit-d-ck4-gfn8-2-for-hopper-5000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-shipping-tag-pre-wired-6-14l-x-3-18w-green-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-super-air-nozzle-fnpt-1-4-316ss>: HTTP status code is not handled or not allowed 2026-01-28 06:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v70639-job-sight-class-2-vest-fluorescent-orange-polyester-mesh-sm>: HTTP status code is not handled or not allowed 2026-01-28 06:13:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-rod-0-875-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1748s05-osha-stairway-48width-5-stairs>: HTTP status code is not handled or not allowed 2026-01-28 06:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn471-crank-handles-aluminum-revolving-handle-through-round-bore-12mm-3-94-long>: HTTP status code is not handled or not allowed 2026-01-28 06:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v41108-safetyflex-zipper-fly-front-hooded-coverall-lg>: HTTP status code is not handled or not allowed 2026-01-28 06:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-3-6amed-whl048011-17191>: HTTP status code is not handled or not allowed 2026-01-28 06:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35211-steel-toe-pvc-overshoes-blackyellow-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-14-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-132-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rotary-pump-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-wired-12-8l-x-4w-orange-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-tape-applicator>: HTTP status code is not handled or not allowed 2026-01-28 06:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-rubber-strip-with-high-temp-adhesive-50a-116-thick-x-2-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-28 06:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-deck-platform-truck-6-mold-on-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 06:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-electric-height-adjustable-desk-72-w-24-d-gray-w-gray-base>: HTTP status code is not handled or not allowed 2026-01-28 06:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j22208-iron-eagle-storm-fly-front-jacket-green-hood-snaps-4xl>: HTTP status code is not handled or not allowed 2026-01-28 06:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-system-120-lb>: HTTP status code is not handled or not allowed 2026-01-28 06:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chipboard-pads-8l-x-8w-kraft-675pack>: HTTP status code is not handled or not allowed 2026-01-28 06:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j72003-icon-31-black-fleece-jacket-3xl>: HTTP status code is not handled or not allowed 2026-01-28 06:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-rubber-roll-no-adhesive-40a-132-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-m-ite-roloc-roll-on-coated-polyester-disc-10>: HTTP status code is not handled or not allowed 2026-01-28 06:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-part-stub-style-inventory-tag-7000-7999-8-6-14l-x-3-18w-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-50a-38-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p56007-durascrim-plain-front-pants-yellow-lg>: HTTP status code is not handled or not allowed 2026-01-28 06:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-16-bu-green-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 06:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s56307-durascrim-3-pc-suit-yellow-detachable-hood-sm>: HTTP status code is not handled or not allowed 2026-01-28 06:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-16-bu-black-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 06:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-70a-14-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 06:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-decker-workmate-174-wm425-protable-workbench-project-cetner-vise-550-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-3350-sanitary-silicone-tubing-abw00046-0-625-id-x-875-od-x-50-l>: HTTP status code is not handled or not allowed 2026-01-28 06:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-48x12x84-gray-with-3-levels-no-deck-1500-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 06:13:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/grinding_cut_off_wheel_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-3-3-34l-x-1-78w-dark-blue-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:13:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p67013-stormflex-plain-front-pants-black-retail-packed-md>: HTTP status code is not handled or not allowed 2026-01-28 06:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-nsm-sheet-2-000-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 06:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c53122-comfortbrite-coat-fluorescent-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-28 06:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-starter-rack-48x12x84-gray-with-3-level-wire-deck-1500lb-cap-per-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j22201-iron-eagle-storm-fly-front-jacket-blue-hood-snaps-2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bemis-heavy-duty-open-front-fire-retardant-commercial-seat-sta-tite-hinges-elongated>: HTTP status code is not handled or not allowed 2026-01-28 06:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-96x48x84-gray-with-3-level-wire-deck-1100lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 06:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-hd-wall-bracket-jib-crane-18-ft-span-and-200and-176-rotation-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb924b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-12>: HTTP status code is not handled or not allowed 2026-01-28 06:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/grinding_cut_off_wheel_accessories>: HTTP status code is not handled or not allowed 2026-01-28 06:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o53129-comfortbrite-snap-fly-front-overall-fluorescent-orange-5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-28 06:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s53307-35mm-industrial-3-pc-work-suit-yellow-jacket-detachable-hood-3xl>: HTTP status code is not handled or not allowed 2026-01-28 06:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-vacuum-hose-yellow-10-l>: HTTP status code is not handled or not allowed 2026-01-28 06:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-workbench-butcher-block-top-adjustable-height-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-glass-dry-erase-board-72-x-48-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl4140-plus-barrier-system-light-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mho4171r-red-magnetic-led-strobesolid-light>: HTTP status code is not handled or not allowed 2026-01-28 06:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-table-3-shelves-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-30-glass-filled-cast-nylon-sheet-0-500-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 06:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-steel-gantry-crane-20-ft-span-and-15-ft-18-ft-adjustable-height-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-floor-crane-with-telescopic-boom-4000-lb-capacity-extended-1000-lb>: HTTP status code is not handled or not allowed 2026-01-28 06:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb924b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-6>: HTTP status code is not handled or not allowed 2026-01-28 06:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-round-brush-d>: HTTP status code is not handled or not allowed 2026-01-28 06:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-storage-locker-1-center-shelf-30-x-72>: HTTP status code is not handled or not allowed 2026-01-28 06:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb924b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-7>: HTTP status code is not handled or not allowed 2026-01-28 06:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-erase-markers-black-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 06:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-welded-workbench-w-open-base-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 06:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oscillating-wall-mount-fan-30-diameter-2>: HTTP status code is not handled or not allowed 2026-01-28 06:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-storage-locker-2-center-shelves-36-x-60>: HTTP status code is not handled or not allowed 2026-01-28 06:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gss-saftey-8505-3-in-1-waterproof-parka-class-3-lime-black-5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-top-machine-table-24-x-36-x-18-swivel-casters-w-brakes>: HTTP status code is not handled or not allowed 2026-01-28 06:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-steel-gantry-crane-12-ft-span-and-12-ft-fixed-height-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-gift-box-lids-4l-x-4w-white-50pack>: HTTP status code is not handled or not allowed 2026-01-28 06:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accuglide2-stainless-steel-taping-head-lower-taping-head-3>: HTTP status code is not handled or not allowed 2026-01-28 06:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-with-backstop-adjustable-height-28-x-60>: HTTP status code is not handled or not allowed 2026-01-28 06:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-industrial-aerosol-wall-cleaner-20-ounce-aerosol-can-12-cans-case>: HTTP status code is not handled or not allowed 2026-01-28 06:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 67580 pages (at 97 pages/min), scraped 33074 items (at 16 items/min) 2026-01-28 06:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-tuck-folding-cartons-2l-x-2w-x-4h-kraft-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-boxes-8l-x-8w-x-3-12h-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-shipping-envelopes-6-1-2-x-10-1000-case>: HTTP status code is not handled or not allowed 2026-01-28 06:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkliftable-spill-control-platform-4-drum-66-gallon>: HTTP status code is not handled or not allowed 2026-01-28 06:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eva-tubing-shrink-wrapped-coil-w-label-3-4-i-d-x-1-8-wall-25-feet>: HTTP status code is not handled or not allowed 2026-01-28 06:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jewelry-boxes-3-12l-x-3-12w-x-1h-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nomex-410-sheet-0-030-thick-x-24-000-w-x-36-000-l>: HTTP status code is not handled or not allowed 2026-01-28 06:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-foaming-equipment-cleaner-all-purpose-cleaner-degreaser-5-gallon-pail-1-pail>: HTTP status code is not handled or not allowed 2026-01-28 06:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/formula-22-unfinished-floor-cleaner-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 06:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bound-wood-deck-truck-60x30-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aspect-subway-matted-12-x-4-brushed-stainless-metal-decorative-tile-backsplash-a95-50>: HTTP status code is not handled or not allowed 2026-01-28 06:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-niagara-2-x-2-nail-up-tin-ceiling-tile-in-matte-white-t54-01>: HTTP status code is not handled or not allowed 2026-01-28 06:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2460-flatback-tape-2-x-60-yds-33-mil-gold-12pack>: HTTP status code is not handled or not allowed 2026-01-28 06:14:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/hoses_tubes/commercial_industrial_tubing already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-operated-high-li-skid-truck-3300-lb-capacity-27-x-44>: HTTP status code is not handled or not allowed 2026-01-28 06:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-12-rail-unit-with-48-qus240-ultra-stack-hang-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 06:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-vinyl-tubing-5-16-i-d-x-1-16-wall-275-feet-reel>: HTTP status code is not handled or not allowed 2026-01-28 06:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/906-st-m14x1-5-gpc-steel-threaded-plug-with-m14-x-1-5-tapered-thread-w-gpc-coating>: HTTP status code is not handled or not allowed 2026-01-28 06:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-shop-desk-2>: HTTP status code is not handled or not allowed 2026-01-28 06:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/906-ni-m24x1-5-a-stainless-threaded-plug-with-m24-x-1-5-tapered-thread>: HTTP status code is not handled or not allowed 2026-01-28 06:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/906-ni-m12x1-5-a-stainless-threaded-plug-with-m12-x-1-5-tapered-thread>: HTTP status code is not handled or not allowed 2026-01-28 06:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-16-rail-unit-with-48-qus230-ultra-stack-hang-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 06:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/macor-ceramic-sheet-0-500-thick-x-12-000-w-x-12-000-l>: HTTP status code is not handled or not allowed 2026-01-28 06:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-wall-container-12x7-2-5x5>: HTTP status code is not handled or not allowed 2026-01-28 06:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g5-116t-aff-7-5hp-oil-injected-rotary-screw-71-gal-tank-116psi-1ph-230v-w-dryer>: HTTP status code is not handled or not allowed 2026-01-28 06:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g5-145t-ap-7-5hp-oil-injected-rotary-screw-71-gal-tank-145psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 06:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/hoses_tubes/commercial_industrial_tubing>: HTTP status code is not handled or not allowed 2026-01-28 06:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-syracuse-2-x-2-nail-up-tin-ceiling-tile-in-argento-t50-07>: HTTP status code is not handled or not allowed 2026-01-28 06:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-push-pins-3-4-assorted-colors-6-ct-im356601>: HTTP status code is not handled or not allowed 2026-01-28 06:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-rochester-2-x-2-nail-up-tin-ceiling-tile-in-matte-white-t58-01>: HTTP status code is not handled or not allowed 2026-01-28 06:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/file-storage-boxes-with-lid-15l-x-12w-x-10h-wood-grain-12pack>: HTTP status code is not handled or not allowed 2026-01-28 06:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-copper-scrubbers-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-13-inch-dust-pan-black>: HTTP status code is not handled or not allowed 2026-01-28 06:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-add-on-30wx14dx54h>: HTTP status code is not handled or not allowed 2026-01-28 06:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-boxes-7l-x-7w-x-7h-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-60wx18dx54h>: HTTP status code is not handled or not allowed 2026-01-28 06:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54h-nexel-chrome-wire-shelving-48wx21d>: HTTP status code is not handled or not allowed 2026-01-28 06:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-56-9631-2-1-2-bi-metal-hole-saw>: HTTP status code is not handled or not allowed 2026-01-28 06:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54h-nexel-chrome-wire-shelving-add-on-60wx21d>: HTTP status code is not handled or not allowed 2026-01-28 06:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63h-nexel-chrome-wire-shelving-36wx21d>: HTTP status code is not handled or not allowed 2026-01-28 06:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-oil-5000-cst-4-oz-bottle-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63h-nexel-chrome-wire-shelving-add-on-54wx21d>: HTTP status code is not handled or not allowed 2026-01-28 06:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-89-0012-titanium-coated-drill-bit-set-29-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-56-9667-2-bi-metal-hole-saw-w-3-8-arbor>: HTTP status code is not handled or not allowed 2026-01-28 06:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-48-inch-steel-handle-nylon-thread>: HTTP status code is not handled or not allowed 2026-01-28 06:14:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-54wx24dx54h>: HTTP status code is not handled or not allowed 2026-01-28 06:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-32-4512-12-magnetic-bit-tip-holder>: HTTP status code is not handled or not allowed 2026-01-28 06:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-66-4525-1-7-8-mag-nutdriver-3-8>: HTTP status code is not handled or not allowed 2026-01-28 06:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-ludington-2-x-2-lay-in-tin-ceiling-tile-in-penny-vein-y57-05>: HTTP status code is not handled or not allowed 2026-01-28 06:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-pin-sprng-5510267>: HTTP status code is not handled or not allowed 2026-01-28 06:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-curved-kitchen-brush>: HTTP status code is not handled or not allowed 2026-01-28 06:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gxt3000-gmrs-two-way-radio-36-miles-black-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 06:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasonic-table-top-parts-cleaning-system-digital-timer-heat-2-5-gal-45-khz-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-4w-to-5w-and-7h>: HTTP status code is not handled or not allowed 2026-01-28 06:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-48-huron-tin-crown-molding-in-gloss-white-195-00>: HTTP status code is not handled or not allowed 2026-01-28 06:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-maintenance-platform-all-welded-48x40>: HTTP status code is not handled or not allowed 2026-01-28 06:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4210-switch-wenclosure-5512766>: HTTP status code is not handled or not allowed 2026-01-28 06:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-dunnage-rack-23x17x8>: HTTP status code is not handled or not allowed 2026-01-28 06:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-10w-to-11w-and-6h>: HTTP status code is not handled or not allowed 2026-01-28 06:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves>: HTTP status code is not handled or not allowed 2026-01-28 06:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bntc0808-8-x-8-exposed-flange-cam-latch>: HTTP status code is not handled or not allowed 2026-01-28 06:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-1230r-5234521>: HTTP status code is not handled or not allowed 2026-01-28 06:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bntl2030-20-x-30-exposed-flange-key-operated-lock>: HTTP status code is not handled or not allowed 2026-01-28 06:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21ct-stainless-steel-stock-pot-w-cover-40-qt>: HTTP status code is not handled or not allowed 2026-01-28 06:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bnwc1010-10-x-10-drywall-bead-flange-cam-latch>: HTTP status code is not handled or not allowed 2026-01-28 06:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-surface-disinfectant-degreaser-pleasant-scent-gallon-bottle>: HTTP status code is not handled or not allowed 2026-01-28 06:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4c-horizontal-mailbox-37-1-2h-double-9-mb1-2-pl-doors-front-load-aluminum-usps>: HTTP status code is not handled or not allowed 2026-01-28 06:14:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/brass_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-kit-72-w-workbench-with-18-w-louver-36-w-whiteboard-mounting-rail-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-kit-72-w-workbench-with-18-w-36-w-whiteboard-mounting-rail-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/y-connection-with-valve>: HTTP status code is not handled or not allowed 2026-01-28 06:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purpose-cleaner-morning-meadow-23-oz-trigger-spray-bottle-8-case>: HTTP status code is not handled or not allowed 2026-01-28 06:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reechcraft-powerlift-mast-with-height-control-48h>: HTTP status code is not handled or not allowed 2026-01-28 06:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shampoo-light-green-gold-pleasant-scent-0-75-oz-bottle-288-case>: HTTP status code is not handled or not allowed 2026-01-28 06:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4c-horizontal-mailbox-23-1-2h-single-column-4-mb1-doors-front-load-aluminum-usps>: HTTP status code is not handled or not allowed 2026-01-28 06:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/free-clear-he-liquid-laundry-detergent-unscented-1-6-oz-vend-box-100-case>: HTTP status code is not handled or not allowed 2026-01-28 06:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2232ac-ball-steel-5510154>: HTTP status code is not handled or not allowed 2026-01-28 06:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-security-cross-cut-paper-shredder-with-auto-oiling-system>: HTTP status code is not handled or not allowed 2026-01-28 06:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-comfort-cross-over-style-positioning-climbing-harness-1140200-m>: HTTP status code is not handled or not allowed 2026-01-28 06:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-true-fully-automatic-hydraulic-guillotine-paper-cutter>: HTTP status code is not handled or not allowed 2026-01-28 06:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cooper153-crx-10ial-air-cooled-welding-cobot>: HTTP status code is not handled or not allowed 2026-01-28 06:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4210-threaded-rod-5513052>: HTTP status code is not handled or not allowed 2026-01-28 06:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/brass_pipe_fittings>: HTTP status code is not handled or not allowed 2026-01-28 06:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superwheel-attachment-battery-powered-stair-climbing-appliance-hand-truck>: HTTP status code is not handled or not allowed 2026-01-28 06:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyguard-coverall-elastic-wrists-ankles-attached-hood-zipper-front-white-xl-25cs>: HTTP status code is not handled or not allowed 2026-01-28 06:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 67676 pages (at 96 pages/min), scraped 33087 items (at 13 items/min) 2026-01-28 06:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-key-5510093>: HTTP status code is not handled or not allowed 2026-01-28 06:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-container-20-lx13-wx6-1-4-h-3>: HTTP status code is not handled or not allowed 2026-01-28 06:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-khc-l-left-hinged-end-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-container-26-lx18-3-4-wx10-h-2>: HTTP status code is not handled or not allowed 2026-01-28 06:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/element-kit-for-arrow-inline-tool-filter-9074>: HTTP status code is not handled or not allowed 2026-01-28 06:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfortplus-double-roll-toilet-paper-septic-safe-231-sheets-roll-12-rolls-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-coverallbunny-suit-elastic-wrists-attached-hood-boots-zipper-front-2xl-25cs>: HTTP status code is not handled or not allowed 2026-01-28 06:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-blue-flame-vent-free-thermostatic-heater-bfss20ngt-2n-20000-btu>: HTTP status code is not handled or not allowed 2026-01-28 06:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-30x27x32-7>: HTTP status code is not handled or not allowed 2026-01-28 06:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-30x27x32-2>: HTTP status code is not handled or not allowed 2026-01-28 06:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavenly-soft-paper-towel-7-8-x-800-ft-brown-6-rolls-case>: HTTP status code is not handled or not allowed 2026-01-28 06:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plum-screw-5630521>: HTTP status code is not handled or not allowed 2026-01-28 06:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-36x24x60-3>: HTTP status code is not handled or not allowed 2026-01-28 06:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6705-evaporative-cooling-bandana-solid-blue-one-size>: HTTP status code is not handled or not allowed 2026-01-28 06:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-30x27x60-1>: HTTP status code is not handled or not allowed 2026-01-28 06:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-antibacterial-dishwashing-liquid-20-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 06:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upper-wheel-guide-inner-5782631>: HTTP status code is not handled or not allowed 2026-01-28 06:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l20-towels-brag-box-12-1-2-x-16-4-5-multi-ply-white-176-box>: HTTP status code is not handled or not allowed 2026-01-28 06:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfswdl3507-ip69-75hp-1740rpm-1ph-60hz-56c-3532l-tefc-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cross-linked-polyethylene-shoe-covers-water-resistant-blue-xl-100bag-3-bagscase>: HTTP status code is not handled or not allowed 2026-01-28 06:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vfswdl3507-ip69-75hp-1740rpm-1ph-60hz-56c-3532l-tefc-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-36x24x40-4>: HTTP status code is not handled or not allowed 2026-01-28 06:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/160-expanding-steel-aluminum-barricade-yellow-black-37h-x-16-l-fpa160yb>: HTTP status code is not handled or not allowed 2026-01-28 06:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-midflow-regulator-with-gauge-220-scfm>: HTTP status code is not handled or not allowed 2026-01-28 06:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microadj-nut-5783371>: HTTP status code is not handled or not allowed 2026-01-28 06:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-325-utility-tailgate-spreader-3-25-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 06:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6700-evaporative-cooling-bandana-tie-navy-western-one-size>: HTTP status code is not handled or not allowed 2026-01-28 06:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6630-high-performance-cap-lime-one-size>: HTTP status code is not handled or not allowed 2026-01-28 06:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-430-wall-cabinet-30w-x-12d-x-30h>: HTTP status code is not handled or not allowed 2026-01-28 06:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refill-dusters-dust-lock-fiber-2-x-6-light-blue-18-box-4-boxes-case>: HTTP status code is not handled or not allowed 2026-01-28 06:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mid-capacity-twin-twist-counter-top-soft-serve-machine>: HTTP status code is not handled or not allowed 2026-01-28 06:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-20-compartment-9>: HTTP status code is not handled or not allowed 2026-01-28 06:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crimper-for-steel-strapping-1-2-w-x-023-thickness>: HTTP status code is not handled or not allowed 2026-01-28 06:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-cable-extension-for-ln-15-flex-feeds-ln-25-pro-dual-power-50l>: HTTP status code is not handled or not allowed 2026-01-28 06:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sms-coverall-elastic-wrists-ankles-attached-hood-zipper-front-white-4xl-25case>: HTTP status code is not handled or not allowed 2026-01-28 06:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warehouse-retractable-barrier-clamp-mount-24-belt>: HTTP status code is not handled or not allowed 2026-01-28 06:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/am73915mztl-edge-handheld-digital-microscope-with-polarizer-5mp-10x-140x>: HTTP status code is not handled or not allowed 2026-01-28 06:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyguard-coverallbunny-suit-attached-hood-boots-zipper-front-white-xl-25case>: HTTP status code is not handled or not allowed 2026-01-28 06:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-gravity-flow-rack-5>: HTTP status code is not handled or not allowed 2026-01-28 06:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sms-lab-coat-no-pockets-elastic-wrists-snap-front-single-collar-blue-3xl-30case>: HTTP status code is not handled or not allowed 2026-01-28 06:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-hex-516-18-5630061>: HTTP status code is not handled or not allowed 2026-01-28 06:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multifold-brown-towels>: HTTP status code is not handled or not allowed 2026-01-28 06:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-mil-pvc-apron-with-sewn-edge-blue-35-x-45-12bag->: HTTP status code is not handled or not allowed 2026-01-28 06:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennsco-capstone-boltless-shelving-starter-unit-42-w-x-18-d-x-76-h-5-shelves-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/su-1009-urinal-and-royal-186-flushometer>: HTTP status code is not handled or not allowed 2026-01-28 06:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500ml-natural-hdpe-oblong-bottle-with-43-400-white-pp-cap-24-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-gallon-universal-spill-kit-spku-10>: HTTP status code is not handled or not allowed 2026-01-28 06:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-polypropylene-bouffant-cap-100-latex-free-green-24-100bag-10-bagscase>: HTTP status code is not handled or not allowed 2026-01-28 06:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-red-bottle-tote-safety-carrier-500ml-and-1000ml-bottles-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-heavy-duty-shelf-18-wx48-l>: HTTP status code is not handled or not allowed 2026-01-28 06:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodsafe-cfswdm41906t-e-ip69-20hp-3525rpm-3ph-60hz-256tc-3960m-tefc-f>: HTTP status code is not handled or not allowed 2026-01-28 06:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-174-trex-153-6300-ice-traction-device-large>: HTTP status code is not handled or not allowed 2026-01-28 06:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-heavy-duty-shelf-18-wx60-l>: HTTP status code is not handled or not allowed 2026-01-28 06:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxitrol-1-2-inch-certified-line-regulator-with-imblue-technology-325-5bl-1-2-up-to-325000-btu>: HTTP status code is not handled or not allowed 2026-01-28 06:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jamaica-beach-folding-chair-sky-blue-sling-w-white-resin-frame-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 06:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2oz-natural-hdpe-wide-mouth-lab-style-bottle-with-28-415-natural-pp-linerless-cap-72pk>: HTTP status code is not handled or not allowed 2026-01-28 06:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-600-single-layer-neoprene-knee-sleeve-black-large>: HTTP status code is not handled or not allowed 2026-01-28 06:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/java-wicker-stacking-armchair-charcoal-pack-of-16>: HTTP status code is not handled or not allowed 2026-01-28 06:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-steel-stakes-mpcr-4s-19-14-l-x-1-14-dia-set-of-4>: HTTP status code is not handled or not allowed 2026-01-28 06:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cannes-outdoor-stackable-dining-chair-yellow-pack-of-18>: HTTP status code is not handled or not allowed 2026-01-28 06:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relief-strain-4224-6295729>: HTTP status code is not handled or not allowed 2026-01-28 06:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-drawer-cabinet-workbench-plastic>: HTTP status code is not handled or not allowed 2026-01-28 06:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dl160-dual-input-true-rms-ac-voltagecurrent-datalogger10to600v01v>: HTTP status code is not handled or not allowed 2026-01-28 06:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-949evs-mill-3-axis-newall-dp700-dro-knee-x-and-y-axis-powerfeeds-air-powered-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 06:15:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-949evs-mill-3-axis-newall-dp700-dro-quill-x-axis-powerfeed-air-powered-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8981-filament-tape-1-x-60-yds-66-mil-clear-36pack>: HTTP status code is not handled or not allowed 2026-01-28 06:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warn-w-es-portable-anchor-plate-12v-w-es>: HTTP status code is not handled or not allowed 2026-01-28 06:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/516-12-vermont-gage-hss-extra-long-drill-blank>: HTTP status code is not handled or not allowed 2026-01-28 06:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-12-vermont-gage-hss-extra-long-drill-blank>: HTTP status code is not handled or not allowed 2026-01-28 06:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-1100sf-standard-back-support-black-x-small>: HTTP status code is not handled or not allowed 2026-01-28 06:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-high-lift-skid-truck-gwk-l220dc-lw-fits-model-no-l220dc>: HTTP status code is not handled or not allowed 2026-01-28 06:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-dram-amber-vial-w-24-400-white-pp-hole-cap-ptfe-silicone-septa-cleaned-cert-80pk>: HTTP status code is not handled or not allowed 2026-01-28 06:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-1050evs2-230-mill-3-axis-acu-rite-200s-dro-quill-x-y-axis-pwrfeed-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 06:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-x-60mm-2-dram-vial-w-15-425-green-thermoset-f217-ptfe-lined-cap-cleaned-144pk>: HTTP status code is not handled or not allowed 2026-01-28 06:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t1d-hss-jobbers-drill-black-oxide-18-12>: HTTP status code is not handled or not allowed 2026-01-28 06:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-heavy-duty-4-shelf-rack-20-wx72-hx60-l>: HTTP status code is not handled or not allowed 2026-01-28 06:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supro-max-hand-cleaner-cherry-5000ml-refill-2-carton-7582-02>: HTTP status code is not handled or not allowed 2026-01-28 06:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jet-jtm-949evs-mill-3-axis-newall-dp700-dro-quill-x-axis-powerfeed-air-powered-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 06:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-174-277xb-mc22b-520b-27-x-18-x-56-1-2-16-drawer-roller-cabinet-machinest-chest-combo>: HTTP status code is not handled or not allowed 2026-01-28 06:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-steel-orange-tilt-and-roll-ladder-with-serrated-grating-tr-5-g-o>: HTTP status code is not handled or not allowed 2026-01-28 06:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 67773 pages (at 97 pages/min), scraped 33105 items (at 18 items/min) 2026-01-28 06:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t1hd-hss-jobbers-drill-black-bronze-oxide-14-12>: HTTP status code is not handled or not allowed 2026-01-28 06:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-10w-x-40l-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hhcs-12-13-x-1-9128571>: HTTP status code is not handled or not allowed 2026-01-28 06:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t1c-cobalt-jobbers-drill-bronze-oxide-14-12>: HTTP status code is not handled or not allowed 2026-01-28 06:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-300-yellow-post-retracting-belt-barrier-16-ft-yellow-authorized-belt>: HTTP status code is not handled or not allowed 2026-01-28 06:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-wallshelf-20-wx36-l>: HTTP status code is not handled or not allowed 2026-01-28 06:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-wallshelf-pot-rack-20-wx36-l>: HTTP status code is not handled or not allowed 2026-01-28 06:16:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-sleeve-wicking-t-shirt-class-2-hi-vis-yellow-s>: HTTP status code is not handled or not allowed 2026-01-28 06:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-series-3-feet-steel-easy-slip-on-baseboard-heater-cover-white>: HTTP status code is not handled or not allowed 2026-01-28 06:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/516-18-x-12-soc-set-sc-6715116>: HTTP status code is not handled or not allowed 2026-01-28 06:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-use-speciman-containers-with-sterile-fluid-pathway-4-oz-100-case-dynd30330>: HTTP status code is not handled or not allowed 2026-01-28 06:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-cord-pad-18-x-18-x-1>: HTTP status code is not handled or not allowed 2026-01-28 06:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-cantilever-t-bar-shelf-24-wx48-l>: HTTP status code is not handled or not allowed 2026-01-28 06:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-sleeve-t-shirt-segmented-tape-hi-vis-yellow-4xl>: HTTP status code is not handled or not allowed 2026-01-28 06:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-sleeve-wicking-birdseye-t-shirt-w-pocket-hi-vis-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 06:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-60x18x72-starter>: HTTP status code is not handled or not allowed 2026-01-28 06:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-sleeve-wicking-birdseye-t-shirt-w-pocket-hi-vis-orange-m>: HTTP status code is not handled or not allowed 2026-01-28 06:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-32mm-2ml-clear-wide-opening-crimp-neckvial-w-11mm-neck-finish-2000pk>: HTTP status code is not handled or not allowed 2026-01-28 06:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-32mm-2ml-clear-standard-opening-crimp-neck-vial-w-11mm-neck-finish-2000pk>: HTTP status code is not handled or not allowed 2026-01-28 06:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-5ml-natural-pp-large-opening-vial-w-9-425mm-neck-finish-vial-only-1000pk>: HTTP status code is not handled or not allowed 2026-01-28 06:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars>: HTTP status code is not handled or not allowed 2026-01-28 06:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-42x15x84-steel-boltless-shelving-with-10-hopper-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 06:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/37u-72-data-cabinet-assembled>: HTTP status code is not handled or not allowed 2026-01-28 06:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-lock-n-06-6549006>: HTTP status code is not handled or not allowed 2026-01-28 06:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/le-corner-desk-dark-cherry-office-furniture-groupings-1>: HTTP status code is not handled or not allowed 2026-01-28 06:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/credenza-shell-dark-cherry-office-furniture-groupings-1>: HTTP status code is not handled or not allowed 2026-01-28 06:16:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-parka-hi-viz-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-20w-x-36l-1-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-flat-cap-gel-knee-pads-black>: HTTP status code is not handled or not allowed 2026-01-28 06:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-mobile-rectangular-table-mdf-with-protectedge-powder-coated-frame-banister-oak>: HTTP status code is not handled or not allowed 2026-01-28 06:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baby-changing-table>: HTTP status code is not handled or not allowed 2026-01-28 06:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xd-smooth-aluminum-underbody-with-barn-door-18x24x48-1705425>: HTTP status code is not handled or not allowed 2026-01-28 06:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-message-stamp-past-due-pre-inked-re-inkable-red>: HTTP status code is not handled or not allowed 2026-01-28 06:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-flame-resistant-short-sleeve-t-shirt-ansi-hi-viz-yellow-medium>: HTTP status code is not handled or not allowed 2026-01-28 06:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-hydronic-complete-baseboard-30-series>: HTTP status code is not handled or not allowed 2026-01-28 06:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bellman-hotel-cart-35-x-24-satin-aluminum-with-black-carpet-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 06:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-9w-x-17l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-outside-corner-30-series>: HTTP status code is not handled or not allowed 2026-01-28 06:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bellman-hotel-cart-41x24-satin-aluminum-with-black-carpet-pneumatic-wheels>: HTTP status code is not handled or not allowed 2026-01-28 06:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-30w-x-30l-1-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights>: HTTP status code is not handled or not allowed 2026-01-28 06:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bellman-hotel-cart-41x24-satin-brass-with-gray-carpet-pneumatic-wheels>: HTTP status code is not handled or not allowed 2026-01-28 06:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-75-x-26mm-0-50-dram-amber-compound-vial-w-13-425-neck-finish-vial-only-144pk>: HTTP status code is not handled or not allowed 2026-01-28 06:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breathable-foul-weather-coat-hi-viz-yellow-6xl>: HTTP status code is not handled or not allowed 2026-01-28 06:16:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-tube-6l-1-2-thick-1-4>: HTTP status code is not handled or not allowed 2026-01-28 06:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-cable-barrier-orange-45332-mo>: HTTP status code is not handled or not allowed 2026-01-28 06:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-30w-x-40l-3-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-clear-front-report-cover-tang-fasteners-letter-size-dark-blue-25-box>: HTTP status code is not handled or not allowed 2026-01-28 06:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-sheet-s2s-3-83648>: HTTP status code is not handled or not allowed 2026-01-28 06:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-9180-232>: HTTP status code is not handled or not allowed 2026-01-28 06:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microbananti-microbial-wall-guards-black-89b>: HTTP status code is not handled or not allowed 2026-01-28 06:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neo-thumb-wrist-wrap-navy-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 06:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recess-kit-to-inset-xlerator-xleratorecohand-dryers-40502>: HTTP status code is not handled or not allowed 2026-01-28 06:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/373-contact-adhesive-1-quart>: HTTP status code is not handled or not allowed 2026-01-28 06:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-60w-x-60l-6-mil-clear-50pack>: HTTP status code is not handled or not allowed 2026-01-28 06:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs>: HTTP status code is not handled or not allowed 2026-01-28 06:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-write-on-erasable-indexes-w-white-tabs-5-tab-letter-white-5-set>: HTTP status code is not handled or not allowed 2026-01-28 06:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protecrubber-jsg-0717shlsh-29-0009>: HTTP status code is not handled or not allowed 2026-01-28 06:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-shelf-truck-with-dolly-base-36x24x70-1600-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-center-punch-steel-1-3-w-x-2-5-d-x-5-4-5-h>: HTTP status code is not handled or not allowed 2026-01-28 06:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/operating-elementb-424-2>: HTTP status code is not handled or not allowed 2026-01-28 06:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-collection-premium-cold-weather-coverall-hi-viz-yellow-large>: HTTP status code is not handled or not allowed 2026-01-28 06:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-premium-wicking-hoodie-hi-viz-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-shelf-truck-with-dolly-base-36x24x93-1600-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-collection-premium-cold-weather-bib-pants-hi-viz-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-4w-x-40l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-liner-12-bushel-yellow-vinyl-basket-truck-bulk-truck>: HTTP status code is not handled or not allowed 2026-01-28 06:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-collection-premium-cold-weather-bib-pants-hi-viz-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kas6orj-safety-padlock-1-12h-shackle-orange-6set>: HTTP status code is not handled or not allowed 2026-01-28 06:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/selfseal-catalog-envelope-12-x-15-12-white-100box>: HTTP status code is not handled or not allowed 2026-01-28 06:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copy-paper-convenience-carton-92-brightness-20lb-812-x-11-white-2500ctn>: HTTP status code is not handled or not allowed 2026-01-28 06:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-hard-hat-area-7x10-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 06:16:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kaltteal-safety-padlock-1-12w-x-3h-shackle-teal>: HTTP status code is not handled or not allowed 2026-01-28 06:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-keep-out-10x14-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-28 06:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-standard-wicking-birdseye-t-shirt-with-pocket-hi-viz-yellow-large>: HTTP status code is not handled or not allowed 2026-01-28 06:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-l-x-30-w-production-bench-maple-square-edge-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fanfolded-popup-notes-3-x-3-5-colors-12-100sheet-padspack>: HTTP status code is not handled or not allowed 2026-01-28 06:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/internal-extractor-set-with-counterstays-1-2-12-mm-to-2-3-4-70-mm>: HTTP status code is not handled or not allowed 2026-01-28 06:16:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/117142-8-sol-vex-unsupported-nitrile-line-37-155-8>: HTTP status code is not handled or not allowed 2026-01-28 06:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 67866 pages (at 93 pages/min), scraped 33119 items (at 14 items/min) 2026-01-28 06:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-ap5-5-1>: HTTP status code is not handled or not allowed 2026-01-28 06:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-perforated-note-pads-812-x-11-blue-50sheet-dozen>: HTTP status code is not handled or not allowed 2026-01-28 06:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kas3ylw-safety-padlock-1-12w-x-1-12h-yellow-3set>: HTTP status code is not handled or not allowed 2026-01-28 06:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes>: HTTP status code is not handled or not allowed 2026-01-28 06:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-joint-extractor-7-8-23-mm-opening-8-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-18w-x-22l-3-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/406kas3ylw-safety-padlock-yellow-3set>: HTTP status code is not handled or not allowed 2026-01-28 06:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-jaw-self-centering-puller-1ton-capacity-1-4-to-3-3-16-open-3-3-16-reach>: HTTP status code is not handled or not allowed 2026-01-28 06:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls>: HTTP status code is not handled or not allowed 2026-01-28 06:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-separator-3-4-18-mm-opening>: HTTP status code is not handled or not allowed 2026-01-28 06:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cambridge-tufted-upholstered-twin-size-headboard-fabric-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-16-person-locker-12-x-18-x-12-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-student-desk-gray-top-black-pedestal-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-barstool-vinyl-black>: HTTP status code is not handled or not allowed 2026-01-28 06:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-handle-3520b-288>: HTTP status code is not handled or not allowed 2026-01-28 06:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7w-x-13l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-n95-disposable-respirator-1511>: HTTP status code is not handled or not allowed 2026-01-28 06:17:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/stools/task_office_stools/drafting_stools_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-triple-tier-12x18x24-9-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 06:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/406kas12ylw-safety-padlock-yellow-12set>: HTTP status code is not handled or not allowed 2026-01-28 06:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/406kas12blu-safety-padlock-blue-12set>: HTTP status code is not handled or not allowed 2026-01-28 06:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-12w-x-48l-4-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 06:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-light-duty-portable-room-divider-6-5-h-x-5-9-l-fabric-color-stone>: HTTP status code is not handled or not allowed 2026-01-28 06:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathway-hd-code-compliant-wheelchair-ramp-kit-36-x-48-w-turnback-guards-3-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-high-velocity-hands-in-hand-dryer-white>: HTTP status code is not handled or not allowed 2026-01-28 06:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/springs-26-2015-bkps3002x>: HTTP status code is not handled or not allowed 2026-01-28 06:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-flap-disc-577f-t27-giant-4-1-2-in-x-5-8-11-80-yf-weight-10-per-case>: HTTP status code is not handled or not allowed 2026-01-28 06:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-3-8-automotive-profile-with-1-4-mnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 06:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-double-tier-12x18x36-6-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/limits-48-1197-tuc102075>: HTTP status code is not handled or not allowed 2026-01-28 06:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rods-22-1667-ber400825-0075a>: HTTP status code is not handled or not allowed 2026-01-28 06:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/stools/task_office_stools/drafting_stools_chairs>: HTTP status code is not handled or not allowed 2026-01-28 06:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-65200-superpro-roll-cage-3600psi-192cc-2-5gpm-gas-pressure-washer-w-honda-gx200-engine>: HTTP status code is not handled or not allowed 2026-01-28 06:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relays-44-1774-tuc101273>: HTTP status code is not handled or not allowed 2026-01-28 06:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-12x12x72-3-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-height-turn-platform-24in-w-grip-strut-tread-uct04242>: HTTP status code is not handled or not allowed 2026-01-28 06:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switchs-42-2066-isgde5-60>: HTTP status code is not handled or not allowed 2026-01-28 06:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/assemblys-44-1843-kea008327>: HTTP status code is not handled or not allowed 2026-01-28 06:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-15w-x-18l-6-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 06:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-24in-w-steel-safety-angle-rolling-ladder-perforated-tread-gray-kdec111246>: HTTP status code is not handled or not allowed 2026-01-28 06:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-plug-body-with-high-flow-profile-1-2-mnpt-connection-used-with-esi-coupling>: HTTP status code is not handled or not allowed 2026-01-28 06:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cabinet-tip-cushioned-grip-screwdrivers-601-4>: HTTP status code is not handled or not allowed 2026-01-28 06:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51-505-fatmax-jacketed-graphite-hammer-curve-claw-16-oz>: HTTP status code is not handled or not allowed 2026-01-28 06:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24in-w-steel-safety-angle-rolling-ladder-grip-strut-gray-kdec110242>: HTTP status code is not handled or not allowed 2026-01-28 06:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/er16-spring-collet-9-32-inch-tmx>: HTTP status code is not handled or not allowed 2026-01-28 06:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-single-tier-15x18x72-3-door-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-16in-w-steel-safety-angle-rolling-ladder-grip-strut-gray-kdec104162>: HTTP status code is not handled or not allowed 2026-01-28 06:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pry-bars-196c>: HTTP status code is not handled or not allowed 2026-01-28 06:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scroll-plate-for-5-inch-5c-collet-plain-back-chucks>: HTTP status code is not handled or not allowed 2026-01-28 06:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-double-tier-12x15x36-6-door-assembled-champagne>: HTTP status code is not handled or not allowed 2026-01-28 06:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rod-joint-jbj22-17>: HTTP status code is not handled or not allowed 2026-01-28 06:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-handle-jbj5-25>: HTTP status code is not handled or not allowed 2026-01-28 06:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-diameter-portable-misting-fan-oscillating>: HTTP status code is not handled or not allowed 2026-01-28 06:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-6x50-ghb1340-107>: HTTP status code is not handled or not allowed 2026-01-28 06:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-ghb1340-132>: HTTP status code is not handled or not allowed 2026-01-28 06:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-hand-truck-continuous-handle-10-flat-free-wheels>: HTTP status code is not handled or not allowed 2026-01-28 06:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-jaw-2-piece-scroll-chuck-forged-steel-body-camlock-d-6-inch-d1-4>: HTTP status code is not handled or not allowed 2026-01-28 06:17:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-24in-w-20in-d-top-step-steel-rolling-ladder-perforated-tread-36in-handrail-kdsr103246-d2>: HTTP status code is not handled or not allowed 2026-01-28 06:17:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/tongue_groove_pliers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-ring-18mm-jsh275-17>: HTTP status code is not handled or not allowed 2026-01-28 06:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-24in-w-10in-d-top-step-steel-rolling-ladder-perforated-tread-no-handrail-kdsr004246>: HTTP status code is not handled or not allowed 2026-01-28 06:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-jaw-2-piece-scroll-chuck-semi-steel-body-plain-back-5-inch>: HTTP status code is not handled or not allowed 2026-01-28 06:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-24w-x-30l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brake-nut-jsh275-20>: HTTP status code is not handled or not allowed 2026-01-28 06:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-6-x-0001-od-micrometer-set-w-std>: HTTP status code is not handled or not allowed 2026-01-28 06:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aisle-signage-package-of-10-clips-sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-panel-trash-sand-urn-gray-17-1-2-square-x-32-h>: HTTP status code is not handled or not allowed 2026-01-28 06:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f22guc-u-connector-type-1-fits-250x250-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 06:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-21w-x-24l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-station-shadow-board-combo-kit-yellow-black-72-x-36-acp-composite>: HTTP status code is not handled or not allowed 2026-01-28 06:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24p20g-panel-nema-12-2100x1700-fits-24x20-steelzinc>: HTTP status code is not handled or not allowed 2026-01-28 06:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks>: HTTP status code is not handled or not allowed 2026-01-28 06:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-12w-x-24l-6-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 06:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 67959 pages (at 93 pages/min), scraped 33141 items (at 22 items/min) 2026-01-28 06:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-pin-15x4-jsm4140-27>: HTTP status code is not handled or not allowed 2026-01-28 06:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/tongue_groove_pliers>: HTTP status code is not handled or not allowed 2026-01-28 06:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-metal-waste-receptacle-36-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 06:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-16in-w-30in-d-top-step-steel-rolling-ladder-grip-strut-tread-36in-handrail-kdsr103162-d3>: HTTP status code is not handled or not allowed 2026-01-28 06:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-16in-w-20in-d-top-step-steel-rolling-ladder-grip-strut-tread-36in-handrail-kdsr103162-d2>: HTTP status code is not handled or not allowed 2026-01-28 06:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-32-od-polyurethane-tubing-black-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-28 06:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-24in-w-30in-d-top-step-steel-rolling-ladder-perforated-tread-36in-handrail-kdsr104246-d3>: HTTP status code is not handled or not allowed 2026-01-28 06:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balldriver-l-wrench-key-sets-10999>: HTTP status code is not handled or not allowed 2026-01-28 06:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-static-shielding-bags-18w-x-18l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-long-stacking-box-48-x-15-x-7-1-2-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-pipe-cutters-83080>: HTTP status code is not handled or not allowed 2026-01-28 06:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-end-plate-jsm4340-14>: HTTP status code is not handled or not allowed 2026-01-28 06:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a12p10al-panel-junction-box-1075x888-fits-12x10-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a30p30-panel-nema-12-2700x2700-fits-30x30-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 06:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-5w-x-9l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-18w-x-30l-6-mil-clear-200pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/bin_cabinets/stationary_bin_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/name-plate-jlh80-34>: HTTP status code is not handled or not allowed 2026-01-28 06:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-starter-w-start-stop-reset-2-4-3-6-amps-120v-c09-contactor>: HTTP status code is not handled or not allowed 2026-01-28 06:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-end-static-shielding-bags-11w-x-15l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-gas-infrared-heater-094550lps-straight-configuration-50-l-200000-btu>: HTTP status code is not handled or not allowed 2026-01-28 06:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switch-sticks-adjustable-folding-walking-cane-and-walking-stick-collapses-and-adjusts-from-32-to-37-inches-engraved-pearl-gold>: HTTP status code is not handled or not allowed 2026-01-28 06:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-1819521>: HTTP status code is not handled or not allowed 2026-01-28 06:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atpbm-touch-up-paint-black-matte-12-oz-spray-can>: HTTP status code is not handled or not allowed 2026-01-28 06:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f66lsag-seal-plate-90-deg-600x600-steelzinc>: HTTP status code is not handled or not allowed 2026-01-28 06:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-pc-1375-single-stroke-plastic-pipetubing-cutter-18-1-38-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x18x72-with-4-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-designer-cane-with-offset-handle-and-strap-leopard>: HTTP status code is not handled or not allowed 2026-01-28 06:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-24w-x-24l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/bin_cabinets/stationary_bin_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 06:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30mm-non-metallic-non-illuminated-flush-head-momentary-op-push-button-green>: HTTP status code is not handled or not allowed 2026-01-28 06:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-chain-kit-1800csu05-for-u-configuration-infrared-heaters-5-l>: HTTP status code is not handled or not allowed 2026-01-28 06:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-threading-pipe-and-bolt-dies-only-38345>: HTTP status code is not handled or not allowed 2026-01-28 06:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck16-310-contactor-3-pole-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regulator-sprng-jsm-401-sm-40146>: HTTP status code is not handled or not allowed 2026-01-28 06:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-flat-poly-bags-6w-x-15l-6-mil-pink-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-12w-x-10d-x-24h-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hat-style-saddle-hanger-6-inch-diameter-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 06:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-ball-zx-lathes-zx-h5>: HTTP status code is not handled or not allowed 2026-01-28 06:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-24w-x-42l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-plastic-dunnage-rack-1500-lbs-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 06:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f66g44r-reducer-type-1-6x6-to4x4-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 06:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1300-strapping-tape-34-x-60-yds-39-mil-clear-48pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cca22128-compact8482-cast-junction-box-type-4x-220x122x80mm>: HTTP status code is not handled or not allowed 2026-01-28 06:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-bumper-guard-w-39-inches-long-by-2inches-wide-black-and-yellow-60-6902>: HTTP status code is not handled or not allowed 2026-01-28 06:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck12-310-contactor-3-pole-460v>: HTTP status code is not handled or not allowed 2026-01-28 06:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-516x5-50-3388100>: HTTP status code is not handled or not allowed 2026-01-28 06:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam104-concept8482-adjustable-mtg-kit-4-stud-fits-1000-deep->: HTTP status code is not handled or not allowed 2026-01-28 06:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-24w-x-36l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-blade-ss-8nss-12n-ss8n-1>: HTTP status code is not handled or not allowed 2026-01-28 06:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f4490ein-90-degree-elbow-type-1-inside-fits-400x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 06:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polypropylene-coverall-elastic-wrists-ankles-white-large-25-case>: HTTP status code is not handled or not allowed 2026-01-28 06:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-covers-70w-x-44d-x-62h-3-mil-clear-50roll>: HTTP status code is not handled or not allowed 2026-01-28 06:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-12w-x-12d-x-48h-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-21w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-in-1-screwdriver-nut-driver-32476>: HTTP status code is not handled or not allowed 2026-01-28 06:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pin-text-150031>: HTTP status code is not handled or not allowed 2026-01-28 06:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proto-174-1-2-drive-ratcheting-head-micrometer-torque-wrench-16-80-lbs-asme>: HTTP status code is not handled or not allowed 2026-01-28 06:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-bouffant-cap-28-inch-white-100-bag>: HTTP status code is not handled or not allowed 2026-01-28 06:18:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/whiteboard_bulletin_board_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-fork--pivot-3584005>: HTTP status code is not handled or not allowed 2026-01-28 06:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-together-double-branch-45-deg-6-4-4-4-6-inch-diameter-galvanized-18-gage>: HTTP status code is not handled or not allowed 2026-01-28 06:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-ghb-1340-4204>: HTTP status code is not handled or not allowed 2026-01-28 06:18:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/reclosable_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-cap-style-6-point-snap-lock-suspension-hard-hat>: HTTP status code is not handled or not allowed 2026-01-28 06:18:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/crowd_control_barricades already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-desk-slate-frame-with-gray-surface-modular-office-furniture-1>: HTTP status code is not handled or not allowed 2026-01-28 06:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gal-pail-super-lube-air-tool-lubricant>: HTTP status code is not handled or not allowed 2026-01-28 06:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/163-sjtw-8ft-heavy-duty-extension-cord-gg-13708bk-black>: HTTP status code is not handled or not allowed 2026-01-28 06:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-hard-spectacle-case>: HTTP status code is not handled or not allowed 2026-01-28 06:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/897-filament-tape-1-x-60-yds-6-mil-clear-12pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/183010d-x-large-acrylic-refrigerator-lock-box-keyed-differently-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spac-457-1-2-hp-115v-37ft-shutoff-48-gpm-10ft-cord-sump-pump>: HTTP status code is not handled or not allowed 2026-01-28 06:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-3m36t-zx-lathes-zx-08107>: HTTP status code is not handled or not allowed 2026-01-28 06:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-metros-mailbox-wf-l002-stainless-steel-with-window>: HTTP status code is not handled or not allowed 2026-01-28 06:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ts199-thermo-glove-anti-fatigue-lrg-open-finger-relief-from-strain-and-fatigue-rsi>: HTTP status code is not handled or not allowed 2026-01-28 06:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/reclosable_bags>: HTTP status code is not handled or not allowed 2026-01-28 06:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2g-readers-eyewear-1-5-clear-lens-with-black-strap-temples>: HTTP status code is not handled or not allowed 2026-01-28 06:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/crowd_control_barricades>: HTTP status code is not handled or not allowed 2026-01-28 06:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylindrical-weights-nist-class-f-1-grams>: HTTP status code is not handled or not allowed 2026-01-28 06:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/support-plate-100178>: HTTP status code is not handled or not allowed 2026-01-28 06:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/el420-universal-wrist-support-ambidextrous-stays-top-bottom-vinyl-cover-elastic-strap>: HTTP status code is not handled or not allowed 2026-01-28 06:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-ref-11--1230-5232561>: HTTP status code is not handled or not allowed 2026-01-28 06:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/turbotoe-steel-toe-cap-overshoe-lrg-10-13-flexible-pliable-pvc-antislip-sole-waterproof>: HTTP status code is not handled or not allowed 2026-01-28 06:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-giant-stackable-storage-bin-16-1-2x29-7-8x11-red>: HTTP status code is not handled or not allowed 2026-01-28 06:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8959-bi-directional-filament-tape-1-x-55-yds-57-mil-clear-36pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rendezvous-eyewear-clear-anti-fog-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:18:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/boards_easels/whiteboard_bulletin_board_accessories landed on page that is not a product page. 2026-01-28 06:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 68057 pages (at 98 pages/min), scraped 33154 items (at 13 items/min) 2026-01-28 06:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-jsm-403-40329>: HTTP status code is not handled or not allowed 2026-01-28 06:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-24w-x-24d-x-60h-2-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taco-valve-zone-34-sweat-two-way>: HTTP status code is not handled or not allowed 2026-01-28 06:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-half-pallet-skid-bottom-solid-top-40x24>: HTTP status code is not handled or not allowed 2026-01-28 06:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sj3571-loop-fastener-1w-x-150l-black>: HTTP status code is not handled or not allowed 2026-01-28 06:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pocket-clip-highlighter-chisel-tip-fluorescent-orange-ink-1-dozen>: HTTP status code is not handled or not allowed 2026-01-28 06:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-x-38-breathing-air-rated-hose-hansen-fittings-h-50-3>: HTTP status code is not handled or not allowed 2026-01-28 06:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rmt-4000-series-rotary-tool-3-attachments-34-accessories>: HTTP status code is not handled or not allowed 2026-01-28 06:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointer-4200-5051741>: HTTP status code is not handled or not allowed 2026-01-28 06:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-bca-365213-b-bookcase-assembled-36x13x52-black>: HTTP status code is not handled or not allowed 2026-01-28 06:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-nylon-cover-for-small-mp-series-carts-mp-c>: HTTP status code is not handled or not allowed 2026-01-28 06:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-1-link-100-l-hdpe-khaki-gold>: HTTP status code is not handled or not allowed 2026-01-28 06:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-fs-30-g-storage-cabinet-assembled-30x18x72-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-bl-364-b-counter-high-cabinet-assembled-36x18x42-black>: HTTP status code is not handled or not allowed 2026-01-28 06:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/molded-urethane-cable-hose-protection-bridges-36-x-24-x-4>: HTTP status code is not handled or not allowed 2026-01-28 06:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5962-double-sided-foam-tape-1-x-5-yds-62-mil-black>: HTTP status code is not handled or not allowed 2026-01-28 06:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-1230r-5233631>: HTTP status code is not handled or not allowed 2026-01-28 06:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-fs-30-b-storage-cabinet-assembled-30x18x72-black>: HTTP status code is not handled or not allowed 2026-01-28 06:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-foam-tape-34-x-72-yds-3125-mil-white-2pack>: HTTP status code is not handled or not allowed 2026-01-28 06:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-hanford-twin-post-only-no-support-brace-or-base>: HTTP status code is not handled or not allowed 2026-01-28 06:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puncture-proof-ergonomic-polyurethane-chair-with-armrests>: HTTP status code is not handled or not allowed 2026-01-28 06:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-100-l-hdpe-green>: HTTP status code is not handled or not allowed 2026-01-28 06:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-foot-x-36-foot-heavy-duty-silver-tarp>: HTTP status code is not handled or not allowed 2026-01-28 06:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offices-to-go-2-drawer-pedestal-in-walnut-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 06:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offices-to-go-desk-shell-66x30-walnut>: HTTP status code is not handled or not allowed 2026-01-28 06:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-electric-hydraulic-scissor-li-table-ehlt-4848-4-43-48-x-48-4000-lb>: HTTP status code is not handled or not allowed 2026-01-28 06:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offices-to-go-return-desk-48wx24dx29-1-2h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 06:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-general-purpose-masking-tape-3-4-x-60yds-3-core-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offices-to-go-bridge-42wx24dx29-1-2h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 06:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-roller-chain-35-1r-3-8-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 06:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-double-roller-chain-160-2r-2-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-28 06:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-plate-ghb-1340-8104>: HTTP status code is not handled or not allowed 2026-01-28 06:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-storage-cabinet-48-x-24-x-84>: HTTP status code is not handled or not allowed 2026-01-28 06:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6812-ribbed-knit-beanie-black>: HTTP status code is not handled or not allowed 2026-01-28 06:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6802-classic-trapper-hat-s-m-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-plug-cover-b-rubber-812168>: HTTP status code is not handled or not allowed 2026-01-28 06:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6823-balaclava-face-mask-wind-proof-hinged-realtree-xtra>: HTTP status code is not handled or not allowed 2026-01-28 06:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-cottered-pin-roller-chain-100-1c-1-1-4-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 06:19:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hndl-ghb-1340-6556>: HTTP status code is not handled or not allowed 2026-01-28 06:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lever-ghb-1340-7213>: HTTP status code is not handled or not allowed 2026-01-28 06:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-060r-inspection-tags-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 06:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ap450-048-stainless-steel-shower-head-replacement>: HTTP status code is not handled or not allowed 2026-01-28 06:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-and-strip-xt-pro-disc-t27-7-x-7-8-in-s-xcs-5-per-case>: HTTP status code is not handled or not allowed 2026-01-28 06:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-foam-tape-34-x-36-yds-125-mil-white-2pack>: HTTP status code is not handled or not allowed 2026-01-28 06:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-foot-x-20-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 06:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29-0910b-10xl-cut-resistant-gloves-smooth-nitrile-coating-a9-f-size-10>: HTTP status code is not handled or not allowed 2026-01-28 06:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f9469pc-double-sided-adhesive-transfer-tape-1-x-5-yds-5-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-x-36-double-shelf-shop-stand-shop-top-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bands-size-18-3-x-116-400-bands14lb-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-6-x-9-1-4-x-5-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters>: HTTP status code is not handled or not allowed 2026-01-28 06:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivet-jvm-836-vm-l7-1>: HTTP status code is not handled or not allowed 2026-01-28 06:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-water-line-hardware-kit-for-761218>: HTTP status code is not handled or not allowed 2026-01-28 06:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-5w-x-7l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-bottle-filler-spout-assembly-for-761218>: HTTP status code is not handled or not allowed 2026-01-28 06:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-lower-plastic-cover-for-761217-761218>: HTTP status code is not handled or not allowed 2026-01-28 06:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polypropylene-bags-7l-x-5w-15-mil-clear-5000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purofort-full-safety-mens-work-boots-size-6-green>: HTTP status code is not handled or not allowed 2026-01-28 06:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purofort-full-safety-mens-work-boots-size-11-green>: HTTP status code is not handled or not allowed 2026-01-28 06:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-cottered-pin-roller-chain-60-1c-3-4-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 06:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-polypropylene-bags-10l-x-5w-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-272136-lw-fits-wesco-model-272136>: HTTP status code is not handled or not allowed 2026-01-28 06:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-wire-container-48x40x36-1-2-2in-mesh-size-4000-lb-capdrop-gate-48in-side>: HTTP status code is not handled or not allowed 2026-01-28 06:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-ew80-lw-xl-fits-baker-model-ew60>: HTTP status code is not handled or not allowed 2026-01-28 06:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41700-28-gal-pressure-blaster-with-vacuum-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-gondola-g-725305-36-slider-system-with-36-tip-out-ivory-bins>: HTTP status code is not handled or not allowed 2026-01-28 06:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnimax-led-43-reach-120v-50-60hz-13w>: HTTP status code is not handled or not allowed 2026-01-28 06:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40292-3-32-id-pressure-nozzle-kit-7cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-ra15w-lw-fits-multiton-model-ra15w>: HTTP status code is not handled or not allowed 2026-01-28 06:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42000-front-open-high-pressure-blast-cabinet-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05571su-ap2330k-air-purification-spiral-cfl-light-bulb-medium-base-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 06:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41001-40-lb-portable-deadman-blaster-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-steel-rolling-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 06:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondola-free-standing-slider-system-with-56-bins-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-10w-x-13l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05023su-fc16t9ww-40w-fluorescent-t9-circline-bulb-4pin-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 06:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-shelf-bookcase-mahogany-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 06:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-pw23-lw-fits-mitsubishi-model-pw23>: HTTP status code is not handled or not allowed 2026-01-28 06:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wla-led-workstation-light-5000-850-t-120-277v-63w-59>: HTTP status code is not handled or not allowed 2026-01-28 06:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-drawer-pedestal-mahogany-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 06:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-deluxe-3-shelf-plastic-utility-service-cart-5-rubber-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bib12-bench-in-a-box-technical-workbench-60-w-x-30-d-esd-laminate-top-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 68154 pages (at 97 pages/min), scraped 33170 items (at 16 items/min) 2026-01-28 06:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-alum-pizza-tray-032-thick>: HTTP status code is not handled or not allowed 2026-01-28 06:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedpress-76-ultimate-steel-safety-ruler>: HTTP status code is not handled or not allowed 2026-01-28 06:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedpress-4-8-grid-only>: HTTP status code is not handled or not allowed 2026-01-28 06:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-8w-x-12l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cover-dia-50-641410-641411-641244-641264-641265-floor-scrubbers>: HTTP status code is not handled or not allowed 2026-01-28 06:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perma-patch-all-season-asphalt-repair-material-60-lb-bag>: HTTP status code is not handled or not allowed 2026-01-28 06:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-anystream-napa-5-jet-showerhead-polished-chrome-finish-2-5-gpm>: HTTP status code is not handled or not allowed 2026-01-28 06:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/counter-height-cabinet-48x24x42>: HTTP status code is not handled or not allowed 2026-01-28 06:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-2w-x-4l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 06:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4150059-siphon-gun-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-tight-cllr-thread-jmd15-026>: HTTP status code is not handled or not allowed 2026-01-28 06:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40001-65-lb-portable-pressure-blaster-deadman-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warn-works-pullzall-handheld-24v-battery-powered-portable-pulling-li-ing-tool>: HTTP status code is not handled or not allowed 2026-01-28 06:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/throttle-valve-jsm3330-05>: HTTP status code is not handled or not allowed 2026-01-28 06:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42inh-cal-osha-handrail-kit-5-to-9-step-yellow-grcal0509-y>: HTTP status code is not handled or not allowed 2026-01-28 06:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-aluminum-sign-one-way-do-not-enter-080mm-thick>: HTTP status code is not handled or not allowed 2026-01-28 06:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-universal-wheel-dia-100-global-floor-scrubbers>: HTTP status code is not handled or not allowed 2026-01-28 06:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-8-3-8-w-x-11-5-8-d-x-6-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-athletic-sneakers-size-95m-black>: HTTP status code is not handled or not allowed 2026-01-28 06:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-jtm-4vs-vs-068>: HTTP status code is not handled or not allowed 2026-01-28 06:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-8-3-8-w-x-11-5-8-d-x-6-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-comfort-oxford-shoes-size-65w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5oz-piston-mini-pump-70mm-for-5-6-7-gal>: HTTP status code is not handled or not allowed 2026-01-28 06:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd363016-concept-wall-mount-encl-3600x3000x1600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 06:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-8-3-8-w-x23-5-8-d-x-6-h-red>: HTTP status code is not handled or not allowed 2026-01-28 06:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd363612-concept-wall-mount-encl-3600x3600x1200-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 06:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-polishing-17-red-400-grit-cleaning-pad-2-per-case>: HTTP status code is not handled or not allowed 2026-01-28 06:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-sign-vertical-vinyl-glow>: HTTP status code is not handled or not allowed 2026-01-28 06:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-with-legs-manual-close-door-28-gallon>: HTTP status code is not handled or not allowed 2026-01-28 06:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/311-office-11-lbs>: HTTP status code is not handled or not allowed 2026-01-28 06:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanco-full-featured-coverall-7-5-oz-100-fr-cotton-navy-blue-frc681nb-2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccs2rbb15lg-rotational-base-bracket-15-degree-fits-45x60mm-alumltgray>: HTTP status code is not handled or not allowed 2026-01-28 06:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18vx2-36v-lxt-174-li-ion-brushless-cordless-string-trimmer-15-max-cut-dia-tool-only>: HTTP status code is not handled or not allowed 2026-01-28 06:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lookout-tagout-station>: HTTP status code is not handled or not allowed 2026-01-28 06:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-moisture-barrier-bags-10w-x-12l-7-mil-silver-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-micron-standard-length-chlorine-taste-odor-sediment-rust-cart-case-36-ap117>: HTTP status code is not handled or not allowed 2026-01-28 06:20:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/outdoor_structures_storage/shed_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teleplus-5-sections-30>: HTTP status code is not handled or not allowed 2026-01-28 06:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sanitary-brush-18-w-acme-insert>: HTTP status code is not handled or not allowed 2026-01-28 06:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powr-flite-1-4-hp-axial-floor-dryer>: HTTP status code is not handled or not allowed 2026-01-28 06:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/downrod-8-wh-color-for-cp48dw-cp56dw-cp60dw-with-lead-wire-and-safety-cable>: HTTP status code is not handled or not allowed 2026-01-28 06:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cool-barrier-bubble-pallet-covers-48w-x-40d-x-48h-1875-mil-silver-5pack>: HTTP status code is not handled or not allowed 2026-01-28 06:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strap-protector-2-x-2-x-3-160-thickness-package-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 06:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-326-industrial-tricycle-26-wheels-600-lb-capacity-yellow-w-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 06:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-inlet-jsm-501text-50103>: HTTP status code is not handled or not allowed 2026-01-28 06:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd24246-concept-wall-mount-encl-2400x2400x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 06:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd24248w-concept-wall-mount-enclwindow-2400x2400x800-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 06:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-18w-x-20l-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd30208-concept-wall-mount-encl-3000x2000x800-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 06:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/outdoor_structures_storage/shed_accessories>: HTTP status code is not handled or not allowed 2026-01-28 06:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-packing-workbench-plastic-safety-edge-with-electric-72-x-36-with-lower-shelf-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-124-industrial-tricycle-500-lb-capacity-24-wheels-includes-basket-black>: HTTP status code is not handled or not allowed 2026-01-28 06:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-men-s-industrial-cruiser-hd-120-w-solid-tire-black>: HTTP status code is not handled or not allowed 2026-01-28 06:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-forced-portable-heater-2>: HTTP status code is not handled or not allowed 2026-01-28 06:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a74h7224lp3pt-2-door-w3-pt-latches-and-floor-stands-type-4-7406x7206x2406>: HTTP status code is not handled or not allowed 2026-01-28 06:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gasket-jsm-6196195b-sm-61935>: HTTP status code is not handled or not allowed 2026-01-28 06:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilium-174-water-soluble-deodorizer-orange-nilium-gallon-bottle-4-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 06:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slurry-vacuum-system-30-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-diamond-mat-bluestone-3-x-5>: HTTP status code is not handled or not allowed 2026-01-28 06:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mapa-solo-green-977-disposable-nitrile-gloves-powder-free-100-box-size-9-977019>: HTTP status code is not handled or not allowed 2026-01-28 06:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a10r106-screw-cover-type-3r-1000x1000x600-c-d-e-f-g-knockout-ptrn>: HTTP status code is not handled or not allowed 2026-01-28 06:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrane-526-grip-proof-nitrile-fully-coated-gloves-lt-weight-1-pair-size-8-526418>: HTTP status code is not handled or not allowed 2026-01-28 06:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-304-cast-welding-spud-1-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 06:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrane-500-grip-proof-nitrile-palm-coated-gloves-lt-weight-1-pair-size-10-500410>: HTTP status code is not handled or not allowed 2026-01-28 06:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-316-cast-90-degree-elbow-1-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 06:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-classic-diamond-mat-evergreen-4-x-16>: HTTP status code is not handled or not allowed 2026-01-28 06:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-304-cast-welding-spud-18-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 06:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e30pby25m-push-button-encl-extra-lgpanel-30pb-x-225mm>: HTTP status code is not handled or not allowed 2026-01-28 06:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-kra-clasp-envelopes-28-lb-9-x-12-100-box>: HTTP status code is not handled or not allowed 2026-01-28 06:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-power-workstation-hutch-41w-x-25d-x-22-14h-black-with-red-handle>: HTTP status code is not handled or not allowed 2026-01-28 06:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilium-174-water-soluble-deodorizer-original-nilium-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 06:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-power-workstation-hutch-41w-x-25d-x-22-14h-black-with-blue-handle>: HTTP status code is not handled or not allowed 2026-01-28 06:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rtu-leather-cleaner-conditioner-unsecented-quart-trigger-spray-bottle-6-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 06:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-diamond-mat-red-black-4-x-6>: HTTP status code is not handled or not allowed 2026-01-28 06:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-air-urinal-screen-soft-linen-scent-10-case>: HTTP status code is not handled or not allowed 2026-01-28 06:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-285b-6-impact>: HTTP status code is not handled or not allowed 2026-01-28 06:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-109xpa-3-8-club-style-ratchet>: HTTP status code is not handled or not allowed 2026-01-28 06:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-up-notes-super-sticky-3-x-3-assorted-neon-colors-6-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smiths-environmental-products-quiet-one-kickspace-fan-heater-8000-btu>: HTTP status code is not handled or not allowed 2026-01-28 06:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-tokens>: HTTP status code is not handled or not allowed 2026-01-28 06:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 68252 pages (at 98 pages/min), scraped 33189 items (at 19 items/min) 2026-01-28 06:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/91105-complete-empty-lockable-station>: HTTP status code is not handled or not allowed 2026-01-28 06:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-square-to-round-adaptor-register-vent-boot-w-adj-hangers-for-hvac-duct-work-10-x-10-x-8>: HTTP status code is not handled or not allowed 2026-01-28 06:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-20-32-44-55-gallon-trash-container>: HTTP status code is not handled or not allowed 2026-01-28 06:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a6r64hcr-hinged-cover-medium-type-3r-600x600x400-galvanizedpaint>: HTTP status code is not handled or not allowed 2026-01-28 06:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-8-3-8-w-x-17-7-8-d-x-4-h-green-2>: HTTP status code is not handled or not allowed 2026-01-28 06:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-microbial-reception-chair-black-vinyl-upholstered>: HTTP status code is not handled or not allowed 2026-01-28 06:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-dolly-55-gal-white>: HTTP status code is not handled or not allowed 2026-01-28 06:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-jsg-0470-829049>: HTTP status code is not handled or not allowed 2026-01-28 06:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-breather-valve-low-profile-m10-x-1-0-thread-883-m10x1-160-a-ms>: HTTP status code is not handled or not allowed 2026-01-28 06:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brushless-cordless-4-tool-combo-kit-circular-saw-40v-xgt-25ah4ah-li-ion-batteries>: HTTP status code is not handled or not allowed 2026-01-28 06:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-stainless-steel-shelving-add-on-unit-5-tier-48w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-12-x-34-reduction-union-fitting>: HTTP status code is not handled or not allowed 2026-01-28 06:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-mdl-jwss-10-200391>: HTTP status code is not handled or not allowed 2026-01-28 06:21:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gasket-brake-6294296>: HTTP status code is not handled or not allowed 2026-01-28 06:21:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-jsg-96-jsg96-203>: HTTP status code is not handled or not allowed 2026-01-28 06:21:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retaining-ring-992522>: HTTP status code is not handled or not allowed 2026-01-28 06:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a726012ulp-2-door-wfloor-stands-type-12-encl-7206x6006x1206-steelpaint>: HTTP status code is not handled or not allowed 2026-01-28 06:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-176-ss-corner-guard-16-ga-3-8-wings-sq-corners-48-lx1-1-2-wx1-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 06:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-locker-with-drawers-2>: HTTP status code is not handled or not allowed 2026-01-28 06:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-unit-5-tier-36w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-commercial-canopy-18w-x-20l-white>: HTTP status code is not handled or not allowed 2026-01-28 06:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrabarrier-standarf-6-ft-long-4-in-high>: HTTP status code is not handled or not allowed 2026-01-28 06:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-pro-power-workstation-hutch-roller-cabinet-72w-x-25d-blue-with-black-dr-pulls>: HTTP status code is not handled or not allowed 2026-01-28 06:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-patio-heater-thermocouple>: HTTP status code is not handled or not allowed 2026-01-28 06:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms>: HTTP status code is not handled or not allowed 2026-01-28 06:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-clamp-jbos-5-6286794>: HTTP status code is not handled or not allowed 2026-01-28 06:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-3-layer-epoxy-system-1000-sq-ft-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:21:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 06:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights>: HTTP status code is not handled or not allowed 2026-01-28 06:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-3-layer-epoxy-system-1000-sq-ft-desert-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/computer-desk-72w-x-30d-x-29-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n728022-ell-20-rectangular-boom>: HTTP status code is not handled or not allowed 2026-01-28 06:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-adj-single-sidedclear>: HTTP status code is not handled or not allowed 2026-01-28 06:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-3v-cogged-v-belt-3v670>: HTTP status code is not handled or not allowed 2026-01-28 06:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expanding-zipper-pouch-clear-mesh-black>: HTTP status code is not handled or not allowed 2026-01-28 06:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/index-card-holder-4-x-6-black>: HTTP status code is not handled or not allowed 2026-01-28 06:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-14-x-14-6295436>: HTTP status code is not handled or not allowed 2026-01-28 06:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-riser-stair-cover-60-w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-3-layer-epoxy-system-2500-sq-ft-charcoal-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-model-201planer-6012249>: HTTP status code is not handled or not allowed 2026-01-28 06:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090253694-elite-iron-series-two-stage-vertical-air-compressor-75hp-80-gallon>: HTTP status code is not handled or not allowed 2026-01-28 06:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-cylinder-719t-156>: HTTP status code is not handled or not allowed 2026-01-28 06:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-1-w-x-1-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 06:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-metallic-paint-gold-metallic>: HTTP status code is not handled or not allowed 2026-01-28 06:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-48-w-x-1-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 06:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65454-lockout-tag-danger-locked-out-do-not-operate-2-sided-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-28 06:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-12-l-x-12-w-x-1-8-thick-green-ps-cacc-34>: HTTP status code is not handled or not allowed 2026-01-28 06:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-line-up-sb-pavement-striping-paint-parking-lot-white-1>: HTTP status code is not handled or not allowed 2026-01-28 06:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-quad-slim-recycling-station-for-organics-36-gallon-cap-whitegrayblack>: HTTP status code is not handled or not allowed 2026-01-28 06:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/97615-floor-warning-forklift-traffic-sign-yellowblack-anit-skid-vinyl-17dia>: HTTP status code is not handled or not allowed 2026-01-28 06:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-cogged-bx-v-belt-bx43>: HTTP status code is not handled or not allowed 2026-01-28 06:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jed-f14-stud-pivot-6285940>: HTTP status code is not handled or not allowed 2026-01-28 06:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-cogged-ax-v-belt-ax36>: HTTP status code is not handled or not allowed 2026-01-28 06:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-rack-mobile-gear-storage-rack-locker-double-sided-eight-18-sections-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-8mm-x-30-dia-31a-69>: HTTP status code is not handled or not allowed 2026-01-28 06:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-sensitive-electronic-print-4l-x-4w-blackyellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 06:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-a-v-belt-a36>: HTTP status code is not handled or not allowed 2026-01-28 06:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-5-ball-interior-exterior-paint-emerald-green>: HTTP status code is not handled or not allowed 2026-01-28 06:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-60w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x72-solar-star-greenhouse-w-poly-top-and-ends-drop-down-sides-prop-heater>: HTTP status code is not handled or not allowed 2026-01-28 06:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-rack-mobile-gear-storage-rack-locker-single-sided-three-24-sections-red>: HTTP status code is not handled or not allowed 2026-01-28 06:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90018-handicapped-parking-van-accessible-sign-bluewhite-aluminum-12w-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 06:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x72-solar-star-greenhouse-w-poly-ends-and-drop-down-sides-prop-heater>: HTTP status code is not handled or not allowed 2026-01-28 06:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-30w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grade-70-transport-binder-chain-5-16-dia-4700-lb-cap-16-box-bag>: HTTP status code is not handled or not allowed 2026-01-28 06:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-wall-storage-cabinet-assembled-18x12x26-gray-269875gy>: HTTP status code is not handled or not allowed 2026-01-28 06:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-seal-bubble-mailers-7-14-14w-x-20l-kraft-25pack>: HTTP status code is not handled or not allowed 2026-01-28 06:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-seal-bubble-mailers-5-10-12w-x-16l-kraft-25pack>: HTTP status code is not handled or not allowed 2026-01-28 06:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-1-8-diameter-7x7-stainless-steel-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 06:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-upper-208-planer-6292670>: HTTP status code is not handled or not allowed 2026-01-28 06:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-5-x-5-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-30-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-8-x-17-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-lined-poly-mailers-9-12w-x-14-12l-2-mil-white-25pack>: HTTP status code is not handled or not allowed 2026-01-28 06:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grade-30-proof-coil-chain-3-16-dia-750-lb-cap-10-box-bright-zinc>: HTTP status code is not handled or not allowed 2026-01-28 06:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-30w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapan-light-gauge-full-size-pan-20-34-x-12-34-4-deep>: HTTP status code is not handled or not allowed 2026-01-28 06:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/121453-hazardous-materials-identification-guide-color-bar-labels-10pkg-3w-x-5h>: HTTP status code is not handled or not allowed 2026-01-28 06:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/opticlean-16-compartment-glass-rack-w-3-extenders-carlisle-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76226-danger-do-not-operate-tag-2-sided-25pkg-polyester-3w-x-5-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-20-planer-md-208-6292635>: HTTP status code is not handled or not allowed 2026-01-28 06:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96263-rearview-mirror-hanging-tags-201-300-parking-permits-blue-2-34w-x-4-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grade-43-high-test-chain-3-8-dia-5400-lb-cap-10-box>: HTTP status code is not handled or not allowed 2026-01-28 06:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 68348 pages (at 96 pages/min), scraped 33202 items (at 13 items/min) 2026-01-28 06:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-9-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-envelopes-9-12w-x-12-12l-white-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:21:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-general-utility-2-34x3-34-rigid-5x1-38-versa-tech-ball-275lb>: HTTP status code is not handled or not allowed 2026-01-28 06:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sko-20-oil-only-labpack-spill-kit20-gallon-drum>: HTTP status code is not handled or not allowed 2026-01-28 06:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-24w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-36-l-x-7-w-x-3-16-thick-blue-detectable-60a-acrylic-adhesive-bulk-rs-h60md-84>: HTTP status code is not handled or not allowed 2026-01-28 06:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-54w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-48w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-ace-tuf-wheel-8x250-58-ball>: HTTP status code is not handled or not allowed 2026-01-28 06:22:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700258blu-pegboard-floor-stand-w5-c-channel-sliding-16w-x-66h-bl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-pneumatic-wheel-10x340300-5-34-tapered>: HTTP status code is not handled or not allowed 2026-01-28 06:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-assembly-model-201planer-6012057>: HTTP status code is not handled or not allowed 2026-01-28 06:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-plate-jsg-04700472-829023>: HTTP status code is not handled or not allowed 2026-01-28 06:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700250gre-pegboard-floor-stand-16w-x-60h-gn-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-ultrasonic-machine-parts-cleaner-neutral-ph-1-gal>: HTTP status code is not handled or not allowed 2026-01-28 06:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-28 06:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-30w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-13-x-13-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700460gre-pinwheel-pegboard-display-wrb-135w-x-60h-gn-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-tube-120-l-x-7-8-id-x-1-5-16-od-black>: HTTP status code is not handled or not allowed 2026-01-28 06:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shifter-label-model-201-planer-6012226>: HTTP status code is not handled or not allowed 2026-01-28 06:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-42w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 06:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-16-x-15-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-x-500-6-garden-bar-lug-tire>: HTTP status code is not handled or not allowed 2026-01-28 06:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polystyrene-sheet-48-l-x-24-w-x-1-32-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 06:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700258wht-pegboard-floor-stand-w5-c-channel-sliding-16w-x-66h-wh-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ldpe-film-1200-l-x-6-3-4-w-x-0-006-thick-clear-bulk-pf-ldpe-13>: HTTP status code is not handled or not allowed 2026-01-28 06:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-48w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x-22-x-18-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700431pur-hshaped-pegboard-display-wwheel-base-16w-x-60h-pl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-42w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-plastex-wheel-5x2-1-roller>: HTTP status code is not handled or not allowed 2026-01-28 06:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/66052-danger-do-not-operate-tag-bilingual-englighspanish-hd-polyester-25pack>: HTTP status code is not handled or not allowed 2026-01-28 06:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-mailers-0-6w-x-10l-kraft-150pack>: HTTP status code is not handled or not allowed 2026-01-28 06:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-doctor-weatherproof-ato-atc-fuse-holder>: HTTP status code is not handled or not allowed 2026-01-28 06:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x-12-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-pivot72a-74a-66-arbor-saw-3070108>: HTTP status code is not handled or not allowed 2026-01-28 06:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daylight-1-ultra-slim-swing-arm-xr-lens-with-4x-magnification>: HTTP status code is not handled or not allowed 2026-01-28 06:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-36w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700355wht-pegboard-powerwing-display-135w-x-22h-wh-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-fan-assembly-parfanj220f0-for-jetstream-220>: HTTP status code is not handled or not allowed 2026-01-28 06:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/556088-open-tray-8w-x2h-x7d-clr-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-poly-soft-wheel-6x2-12-ball>: HTTP status code is not handled or not allowed 2026-01-28 06:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-x-14-x-14-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 06:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-72w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:22:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sani-adjustable-aluminum-tubular-shelf-20-inch-72-inch>: HTTP status code is not handled or not allowed 2026-01-28 06:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700443red-pinwheel-pegboard-display-wwheel-base-135w-x-44h-red-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-heavy-duty-standard-threaded-hex-base-warning-whip-w-o-light-12-x9-orange-triangle-flag>: HTTP status code is not handled or not allowed 2026-01-28 06:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-flag-12-x11-green-w-yellow-x>: HTTP status code is not handled or not allowed 2026-01-28 06:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-m4x07px8lg-model-201-planer-6012232>: HTTP status code is not handled or not allowed 2026-01-28 06:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-5-x-40-full-over-lap-container>: HTTP status code is not handled or not allowed 2026-01-28 06:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-21x60>: HTTP status code is not handled or not allowed 2026-01-28 06:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ring-retainer-rtw-30-5fb-a22-15planer-6284798>: HTTP status code is not handled or not allowed 2026-01-28 06:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-rectangular-tube-72-l-x-2-w-gray-bulk-rpt-pvc-3>: HTTP status code is not handled or not allowed 2026-01-28 06:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-21x30>: HTTP status code is not handled or not allowed 2026-01-28 06:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-dunnage-rack-20-inch-w-60-inch-l-12-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 06:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-24-l-x-24-w-x-3-16-thick-blue-detectable-60a>: HTTP status code is not handled or not allowed 2026-01-28 06:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-retractable-belt-barrier-black-mount-black-belt-7-1-2-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 06:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-heavy-duty-split-pole-warning-whip-w-o-light-no-flag>: HTTP status code is not handled or not allowed 2026-01-28 06:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-x-4-clevis-pin-low-carbon-steel-zinc-clear-clpz-0500-4000>: HTTP status code is not handled or not allowed 2026-01-28 06:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700422wht-pinwheel-pegboard-display-wwheel-rb-16w-x-60h-wh-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/server-stainless-steel-pump-for-deep-fountain-jar-thick-condiments>: HTTP status code is not handled or not allowed 2026-01-28 06:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/112720-l-shaped-acrylic-sign-hlr-55w-x-7h-10pack>: HTTP status code is not handled or not allowed 2026-01-28 06:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-3-cotterless-clevis-pin-low-carbon-steel-zinc-clear-clpcz-0375-3000>: HTTP status code is not handled or not allowed 2026-01-28 06:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/610109blk-flat-revolving-display-base-075h-x-9dia-bk-10pack>: HTTP status code is not handled or not allowed 2026-01-28 06:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-27-kra-stayflat-mailers>: HTTP status code is not handled or not allowed 2026-01-28 06:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/consecutive-numbered-labels-1001-1500-1-12l-x-1w-blackwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 06:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700292clr-pegboard-floor-stand-24w-x-48h-clr-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 06:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600047-tstrip-sign-hlr-wgrips-1w-x-075h-clr-10pack>: HTTP status code is not handled or not allowed 2026-01-28 06:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-strip-120-l-x-1-w-x-3-8-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 06:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/112758-vert-l-shaped-acrylic-sign-hlr-35w-x-55h-10pack>: HTTP status code is not handled or not allowed 2026-01-28 06:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-paper-labels-with-counted-print-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 06:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/720-pocket-aneroid-sphygmomanometer-adult-black>: HTTP status code is not handled or not allowed 2026-01-28 06:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/33a-5-sprng-6289071>: HTTP status code is not handled or not allowed 2026-01-28 06:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 68444 pages (at 96 pages/min), scraped 33221 items (at 19 items/min) 2026-01-28 06:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerback-rubber-duct-10-ft-3-ch>: HTTP status code is not handled or not allowed 2026-01-28 06:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-9l-x-3w-black-roll-of-250>: HTTP status code is not handled or not allowed 2026-01-28 06:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21a-1-cap-oil-6288980>: HTTP status code is not handled or not allowed 2026-01-28 06:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-density-foam-roller-18lx6-diameter-round>: HTTP status code is not handled or not allowed 2026-01-28 06:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-ntn-6203llbnr-6060051>: HTTP status code is not handled or not allowed 2026-01-28 06:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-club-exercise-mat-68lx24wx3-8-thick-jet-black>: HTTP status code is not handled or not allowed 2026-01-28 06:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-2-mailers>: HTTP status code is not handled or not allowed 2026-01-28 06:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnl-3048-6py-with-lip-edge-30-x-48-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 06:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-10-x-4-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 06:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b0150s-2-bucket-trap-1-2-in>: HTTP status code is not handled or not allowed 2026-01-28 06:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-1-8-x-8-3-4-x-2-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 06:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-outdoor-in-ground-steel-flat-bench-perforated-metal-green>: HTTP status code is not handled or not allowed 2026-01-28 06:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wisconsin-hitch-cover-4-1-2-x-3-3-8-15091>: HTTP status code is not handled or not allowed 2026-01-28 06:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-t40-internal-torx>: HTTP status code is not handled or not allowed 2026-01-28 06:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-raceway-60-1-4w-x-100h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-28 06:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-coverall-knit-cuffs-attached-hood-white-4x-large-4520-4xl>: HTTP status code is not handled or not allowed 2026-01-28 06:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-1-7-16-deep>: HTTP status code is not handled or not allowed 2026-01-28 06:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-3-4-x-10-3-4-x-2-1-4-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 06:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-w-partial-window-and-raceway-48-1-4w-x-101-1-2h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-28 06:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jiffy-rigi-bag-self-seal-mailers-3-8-12w-x-13l-kraft-200pack>: HTTP status code is not handled or not allowed 2026-01-28 06:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-w-partial-window-and-pass-thru-cable-60-1-4wx101-1-2h-blu-gl>: HTTP status code is not handled or not allowed 2026-01-28 06:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-11-16-short>: HTTP status code is not handled or not allowed 2026-01-28 06:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leveling-foot-threaded-1800-lbs-capacity-50mm-base-dia-41-50-m8-40-d3-sk>: HTTP status code is not handled or not allowed 2026-01-28 06:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-adjustable-wire-shelving-24-w-x-18-d-x-63-h-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 06:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi12612-loaded-gear-gx500-crossover-utility-tactical-backpack-black>: HTTP status code is not handled or not allowed 2026-01-28 06:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-adjustable-wire-shelving-30-w-x-18-d-x-74-h-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 06:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-office-partition-panel-60-1-4w-x-100h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-28 06:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-sheet-36-l-x-36-w-x-1-4-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 06:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-x-26-x-6-4-2-1-jumbo-bookfolds>: HTTP status code is not handled or not allowed 2026-01-28 06:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leveling-foot-threaded-3150-lbs-capacity-2-36-base-dia-41-60-3-8x16-75-d3-sk>: HTTP status code is not handled or not allowed 2026-01-28 06:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mstf647vs-caution-sign-not-a-step-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 06:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-48-1-4w-x-101-1-2h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-28 06:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-1-1-8-short>: HTTP status code is not handled or not allowed 2026-01-28 06:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-8-self-seal-white-stayflat-mailers>: HTTP status code is not handled or not allowed 2026-01-28 06:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-1-2-x-9-1-2-x-1-gusetted-self-seal-white-stayflat-mailers>: HTTP status code is not handled or not allowed 2026-01-28 06:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moo-tel-calf-nursery-w-open-ends-26w-x-20l-white>: HTTP status code is not handled or not allowed 2026-01-28 06:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-circle-mailing-labels-1-dia-clear-roll-of-5000>: HTTP status code is not handled or not allowed 2026-01-28 06:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd737-steering-wheel-message-cover-vinyl-24-diameter>: HTTP status code is not handled or not allowed 2026-01-28 06:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-30w-solid-end-panel-white>: HTTP status code is not handled or not allowed 2026-01-28 06:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-1-8-x-9-1-8-x-2-3-16-deluxe-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 06:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-outdoor-in-ground-steel-flat-bench-expanded-metal-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp002vs-danger-sign-confined-space-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 06:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-outdoor-in-ground-steel-bench-with-backrest-perforated-metal-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kcc624-look-n-stop-group-lock-box-plastic>: HTTP status code is not handled or not allowed 2026-01-28 06:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanmltiwdshd-gry-galvanized-steel-shed-41-1-3-l-x-106-1-5-w-x-62-1-5-h-dark-gray-white>: HTTP status code is not handled or not allowed 2026-01-28 06:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-12-100-gauge-pvc-shrink-bag>: HTTP status code is not handled or not allowed 2026-01-28 06:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tackboard-with-wrapped-edge-72-5-8w-x-48-5-8h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-100-gauge-pvc-shrink-tubing>: HTTP status code is not handled or not allowed 2026-01-28 06:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-3-w-x-1-8-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 06:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clifton-computer-desk-with-top-and-lower-storage-shelves-walnutnan-clifton-ru-gg>: HTTP status code is not handled or not allowed 2026-01-28 06:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-bench-cabinet-maple-top-2-locking-doors-42-1-8-w-x-25-13-16-d-x-37-1-8-h>: HTTP status code is not handled or not allowed 2026-01-28 06:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermal-transfer-labels-6w-x-4l-3-core-white-4pack>: HTTP status code is not handled or not allowed 2026-01-28 06:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mppa656va-caution-sign-personal-protective-equipment-required-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kst410-aluminum-hanger-board-aluminum-15w-x-20-12h>: HTTP status code is not handled or not allowed 2026-01-28 06:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-mini-360-hand-chain-hoist-1-2t-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mchl224va-danger-sign-diesel-fuel-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-roll-120-l-x-54-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 06:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-cork-tackboard-wood-frame-144-1-2w-x-48-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 06:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-rubber-tackboard-aluminum-trim-46-1-2w-x-36h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s153-zebra-thermal-transfer-ribbons-2-38w-x-984l-wax-black-36-rollscase>: HTTP status code is not handled or not allowed 2026-01-28 06:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-14mm-short>: HTTP status code is not handled or not allowed 2026-01-28 06:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-lever-dolly-60-metal-wheels>: HTTP status code is not handled or not allowed 2026-01-28 06:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-steel-hand-truck-8-ace-tuf-wheels-20-58x46>: HTTP status code is not handled or not allowed 2026-01-28 06:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-gallon-under-the-counter-flammable-cabinet-self-closing-29w-x-22d-x-35-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 06:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-30-mm-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 06:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-36-mm-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 06:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-oz-claw-hammer-w-fiberglass-handle>: HTTP status code is not handled or not allowed 2026-01-28 06:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22x25-liter-stak-a-cab-acid-cabinet-47w-x-18d-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 06:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-slip-rug-pad-for-8-ft-x-10-ft-area-rug-white>: HTTP status code is not handled or not allowed 2026-01-28 06:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s153-zebra-thermal-transfer-ribbons-3-18w-x-984l-waxresin-black-24-rollscase>: HTTP status code is not handled or not allowed 2026-01-28 06:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x25-liter-floor-acid-cabinet-fully-lined-top-tray-31w-x-20d-x-36-5-8h>: HTTP status code is not handled or not allowed 2026-01-28 06:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-pipe-s-s-u-bolt-cushion-pipe-clamp>: HTTP status code is not handled or not allowed 2026-01-28 06:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8flexo-pet-general-purpose-sleeving-dia-100-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-t-general-clamp-assembly-for-tube-pipe-hydraulic-hose>: HTTP status code is not handled or not allowed 2026-01-28 06:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-polypropylene-rail-mount-beta-smoothie-clamp>: HTTP status code is not handled or not allowed 2026-01-28 06:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb-2530-bb-mobile-service-bench-20-bin-box-and-locking-cabinet-33-w-x-25-d-x-40-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrestling-marial-arts-roll-mats-24-x-6-x-1-5-8-navy-111r-ny>: HTTP status code is not handled or not allowed 2026-01-28 06:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 68541 pages (at 97 pages/min), scraped 33242 items (at 21 items/min) 2026-01-28 06:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-cut-fray-resistant-sleeving-3-8-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-28 06:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sck116-on-the-job-safety-electronic-scoreboard-20w-x-28h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-48-l-x-1-2-w-x-1-4-thick-gray-oil-filled>: HTTP status code is not handled or not allowed 2026-01-28 06:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfs729-keep-clear-in-front-of-electrical-floor-sign-17-diameter-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 06:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-shelf-with-new-electric-outlet-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x12-4-mil-anti-static-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-10mm-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 06:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfxg908va-fire-extinguisher-sign-10w-x-14h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-inches-buckle-for-stainless-steel-100-per-case>: HTTP status code is not handled or not allowed 2026-01-28 06:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-pipe-zinc-plated-omega-cushion-clamp>: HTTP status code is not handled or not allowed 2026-01-28 06:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-enclosed-wire-stockpicker-truck-48-x-18-x-69-800-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gp3300i-49st-co-portable-inverter-generator-with-recoil-start-gasoline-2500-rated-watts>: HTTP status code is not handled or not allowed 2026-01-28 06:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16x16-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x30-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tar125-danger-do-not-operate-tag-pf-cardstock-250roll>: HTTP status code is not handled or not allowed 2026-01-28 06:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madm499vs-authorized-personnel-only-sign-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 06:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveplus-powderfree-industrial-grade-nitrile-black-xl-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 06:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4flexo-pet-general-purpose-sleeving-dia-1000-red>: HTTP status code is not handled or not allowed 2026-01-28 06:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveworks-powderfree-industrial-grade-nitrile-gloves-xl-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 06:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-charger-76l-cord-26a-36v>: HTTP status code is not handled or not allowed 2026-01-28 06:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-4-drive-11mm-deep>: HTTP status code is not handled or not allowed 2026-01-28 06:24:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-fabric-heat-shrink-197-diameter-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-28 06:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-cabinet-with-lock-36w-x-22d-x-29-half-h-artisan-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-hanging-scale-200-lb-x-005-lb>: HTTP status code is not handled or not allowed 2026-01-28 06:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-12-l-x-1-w-x-1-4-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-28 06:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-7-8-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 06:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-bankers-cfl-lamp-13w-green-glass-shadeantique-brass>: HTTP status code is not handled or not allowed 2026-01-28 06:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-26mm-short>: HTTP status code is not handled or not allowed 2026-01-28 06:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-8mp-quad-view-ip-camera-with-ceiling-mount-4-x-40mm-fixed-lens-white-housing>: HTTP status code is not handled or not allowed 2026-01-28 06:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x3-1-2-x18-1-5-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-1-2-x-10-7-8-x-3-1-2-lewisbins-divider-box-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-additional-perforated-steel-shelf-level-with-clips-42-w-x-24-d-x-1-5-16-h>: HTTP status code is not handled or not allowed 2026-01-28 06:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durawrap-1050-ballistic-nylon-wrap-w-velcro-closure-450-dia-25-black>: HTTP status code is not handled or not allowed 2026-01-28 06:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-28 06:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cortech-usa-tpds-high-security-double-switch-cover-plate-w-hardware>: HTTP status code is not handled or not allowed 2026-01-28 06:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duraflex-woven-high-abrasion-sleeve-334-dia-50-black>: HTTP status code is not handled or not allowed 2026-01-28 06:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-gallon-rotating-composter>: HTTP status code is not handled or not allowed 2026-01-28 06:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd725-steering-wheel-message-cover-vinyl-20-diameter>: HTTP status code is not handled or not allowed 2026-01-28 06:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-2mp-hd-tvi-intensifier-dome-camera-w-junction-box-5-50mm-lens-dark-gray-housing>: HTTP status code is not handled or not allowed 2026-01-28 06:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/malleable-plug-4>: HTTP status code is not handled or not allowed 2026-01-28 06:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crossover-coupling-30366288>: HTTP status code is not handled or not allowed 2026-01-28 06:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g18-100-ff-25hp-oil-injected-rotary-screw-132-gal-tank-mnt-100psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 06:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-8mp-h265-ip-turret-camera-with-junction-box-28-12mm-motorized-lens-white-housing>: HTTP status code is not handled or not allowed 2026-01-28 06:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-two-socket-cross-2>: HTTP status code is not handled or not allowed 2026-01-28 06:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1flexo-pet-general-purpose-sleeving-dia-250-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mext591vs-exit-safety-sign-10w-x-7h-4-mil-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 06:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2flexo-pet-general-purpose-sleeving-dia-200-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-corner-swivel-socket-1>: HTTP status code is not handled or not allowed 2026-01-28 06:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-fabric-heat-shrink-275-diameter-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-28 06:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x12-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-mop-handle-60-4585000>: HTTP status code is not handled or not allowed 2026-01-28 06:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x8-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-wall-flange-2>: HTTP status code is not handled or not allowed 2026-01-28 06:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd719-steering-wheel-message-cover-vinyl-16-diameter>: HTTP status code is not handled or not allowed 2026-01-28 06:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x36-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-with-partial-window-36-x-61-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/li-ion-battery-for-strike-upright-zephyr-backpack--tempest-sweeper-vac-36v-75ah>: HTTP status code is not handled or not allowed 2026-01-28 06:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcpg611va-caution-sign-hot-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-counter-bench-brush-8-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durawrap-1050-ballistic-nylon-wrap-w-velcro-closure-125-dia-150-black>: HTTP status code is not handled or not allowed 2026-01-28 06:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-2-panel-corner-room-divider-48-x-72-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-3-panel-corner-room-divider-with-partial-window-36-x-61-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x16-1-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x10-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airpot-rack-sponge>: HTTP status code is not handled or not allowed 2026-01-28 06:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-oz-glass-jar-straight-side-clear-poly-vinyl-liner-case-of-12>: HTTP status code is not handled or not allowed 2026-01-28 06:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-24-channel-hybrid-digital-video-recorder-4tb-storage>: HTTP status code is not handled or not allowed 2026-01-28 06:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-sheet-12-l-x-12-w-x-1-thick-gray-ps-cpvc-29>: HTTP status code is not handled or not allowed 2026-01-28 06:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20ml-vials-clear-in-lab-file-ptfe-lined-case-of-72>: HTTP status code is not handled or not allowed 2026-01-28 06:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hoist-and-trolley-combo-standard-2-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-desk-shell-66w-x-30d-x-29h-noble-oak>: HTTP status code is not handled or not allowed 2026-01-28 06:24:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/dispensers_organizers/beverage_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-utility-tray-40-x-48-30-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x18-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-1-w-x-3-32-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-6-l-x-6-w-x-1-2-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 06:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x3-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 68636 pages (at 95 pages/min), scraped 33261 items (at 19 items/min) 2026-01-28 06:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reservoir-bottle-with-bottom-valve-outlet-2000ml>: HTTP status code is not handled or not allowed 2026-01-28 06:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-500i-w-series-20-i-bar-sealer-with-film-roller-round-wire>: HTTP status code is not handled or not allowed 2026-01-28 06:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-battery-charging-tester-pbt-200>: HTTP status code is not handled or not allowed 2026-01-28 06:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5400061-round-file-6-bastard-cut>: HTTP status code is not handled or not allowed 2026-01-28 06:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torrent-walk-behind-battery-powered-sweeper-28-cleaning-width>: HTTP status code is not handled or not allowed 2026-01-28 06:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saf-t-stor-cylinder-cabinet-58-inch-w-x-29-inch-d-x-66-inch-h-capacity-18-vertical-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 06:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/dispensers_organizers/beverage_dispensers>: HTTP status code is not handled or not allowed 2026-01-28 06:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brushless-hepa-backpack-vacuum-kit-with-40v-max-xgt-li-ion-batteries-15-gal-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psbb60-60-wide-pipeline-non-adjustable-ballet-bar-rack>: HTTP status code is not handled or not allowed 2026-01-28 06:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x8-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-36-x-60-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlp-a-series-lever-hoist-3-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boost-12v-xgc-accessory-kit-16-awg-24l-cable>: HTTP status code is not handled or not allowed 2026-01-28 06:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dax-carbon-fiber-full-brim-50-50-orange-black>: HTTP status code is not handled or not allowed 2026-01-28 06:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-flw-flow-switch>: HTTP status code is not handled or not allowed 2026-01-28 06:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msd22-2-semi-automatic-adjustable-side-belt-drive-case-sealer-with-2-tape-head>: HTTP status code is not handled or not allowed 2026-01-28 06:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-kit-for-sliding-windows-white-23-1-2-h-exclusively-for-all-micro-split-ac>: HTTP status code is not handled or not allowed 2026-01-28 06:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-lazer-pistol-grip-12-alum-ext-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 06:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-2-panel-corner-room-divider-24-x-60-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-ultra-venturi-6-alum-ext-alloy-nozzle-long-trigger>: HTTP status code is not handled or not allowed 2026-01-28 06:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-21-degree-baume-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 06:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indooroutdoor-lcd-guardian-tv-enclosure-for-44-50-monitors-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-lazer-pistol-grip-48-alum-ext-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 06:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/credenza-sandstone-modular-furniture-2>: HTTP status code is not handled or not allowed 2026-01-28 06:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-gaylord-tote-bin-liner-51-49-97-4-mils>: HTTP status code is not handled or not allowed 2026-01-28 06:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-30-ground-joint-liquid-in-glass-thermometer-10-to-250c-25mm-immersion>: HTTP status code is not handled or not allowed 2026-01-28 06:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-wash-bottle-carrier-holds-250-500ml-8-16oz-bottles-11-x-7-x-8>: HTTP status code is not handled or not allowed 2026-01-28 06:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-force-5-48-alum-ext-venturi-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 06:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-entrance-mat-waffle-pattern-3-8-thick-3-x-20-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 06:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-5-x-30-square-mailing-tubes>: HTTP status code is not handled or not allowed 2026-01-28 06:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-ultra-xtra-thrust-12-alum-ext-alloy-nozzle-long-trigger>: HTTP status code is not handled or not allowed 2026-01-28 06:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prison-bench-4-foot-solid-steel-seating-without-backrest-black>: HTTP status code is not handled or not allowed 2026-01-28 06:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cth-1520-fire-retardant-tarp-14x14-weave-15-x-20>: HTTP status code is not handled or not allowed 2026-01-28 06:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shadow-adjustable-beam-anchor-aluminum-and-bronze-8816-14>: HTTP status code is not handled or not allowed 2026-01-28 06:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-x-24-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 06:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapi-kool-cold-paddles-rcu128>: HTTP status code is not handled or not allowed 2026-01-28 06:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-x-24-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 06:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-size-fits-all-ez-fit-c2410c18>: HTTP status code is not handled or not allowed 2026-01-28 06:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/81-place-plastic-freezer-storage-boxes-orange-5pk>: HTTP status code is not handled or not allowed 2026-01-28 06:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-36-kra-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 06:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-60-l-x-1-1-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 06:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bt-1010-all-purpose-tarp-10-x-10-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-5-60g-l-soil-analysis-astm-152h-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 06:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roll-out-extra-shelving-add-on-4-shelf-48x36x85>: HTTP status code is not handled or not allowed 2026-01-28 06:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-1503-insulation-tester-0-1-to-2000m>: HTTP status code is not handled or not allowed 2026-01-28 06:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69-81-degree-api-astm-8h-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 06:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-72-l-x-3-8-id-x-3-4-od-white>: HTTP status code is not handled or not allowed 2026-01-28 06:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shureshop-bench-w-acc-kit-portable-maple-top-60-x-30-sebring-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-96-l-x-1-2-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 06:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-12-l-x-3-4-w-x-1-2-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 06:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/felxible-spout-measuring-can-5qt-g525>: HTTP status code is not handled or not allowed 2026-01-28 06:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-cu-yd-orange-medium-duty-self-dumping-hopper-986763>: HTTP status code is not handled or not allowed 2026-01-28 06:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-cut-off-wheel-4-1-2-x-4-x-7-8-t1-ceramic-grain-36-grit>: HTTP status code is not handled or not allowed 2026-01-28 06:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crinkle-paper-40-lbs-forest-greed>: HTTP status code is not handled or not allowed 2026-01-28 06:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500-1999-inventory-tag-3-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-28 06:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-bp880-bnc-female-to-double-stacking-banana-plug-operating-temperature-50-c-122-f-max>: HTTP status code is not handled or not allowed 2026-01-28 06:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-5499-inventory-tag-3-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-28 06:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-chrome-wire-linen-cart-with-nylon-cover-4-shelves-36-l-x-18-w-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 06:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-24-l-x-1-5-8-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 06:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-valve-740>: HTTP status code is not handled or not allowed 2026-01-28 06:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-air-foam-rolls-12w-x-2000l-x-132-thick-white-6-rolls>: HTTP status code is not handled or not allowed 2026-01-28 06:25:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-esd-safe-vertical-box-dividers-9-18l-x-7-1332h>: HTTP status code is not handled or not allowed 2026-01-28 06:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-cs120-2gy-20a-120-277v-toggle-single-pole-ac-quiet-switch-commercial-spec-grade-grounding-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-4-x-3-1-8-8-light-blue-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-28 06:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-96-l-x-1-4-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 06:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crinkle-paper-10-lbs-light-pink>: HTTP status code is not handled or not allowed 2026-01-28 06:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-4-x-2-5-8-6-red-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-28 06:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-36-l-x-2-w-x-1-4-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-28 06:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-vci-paper-30-lbs-48w-x-200-yd-kraft-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 06:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24h-single-sided-floor-stand-with-24-drawer-interlocking-storage-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 06:25:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atx9-powersports-battery-8-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-28 06:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbis-stakpak-modular-straight-wall-container-12l-x-15w-x-7-12h-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-4-x-1-3-8-1-light-blue-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 06:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-28 06:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-7a-bs-battery-7-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-28 06:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70h-single-sided-floor-stand-with-192-drawer-interlocking-storage-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 06:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-bluetooth-verification-thermometer-50-300c-58-572f>: HTTP status code is not handled or not allowed 2026-01-28 06:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-rack-24x36x60-with-64-red-drawers>: HTTP status code is not handled or not allowed 2026-01-28 06:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4-x-2-7-8-7-orange-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 06:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-24-l-x-1-1-2-id-x-1-3-4-od-white>: HTTP status code is not handled or not allowed 2026-01-28 06:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impromptu-lectern-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 68736 pages (at 100 pages/min), scraped 33278 items (at 17 items/min) 2026-01-28 06:25:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 06:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-4-x-2-5-8-6-light-green>: HTTP status code is not handled or not allowed 2026-01-28 06:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nace-paper-vacuum-bag-nace-numatic-henryjames-200225235250252260-rsv130200>: HTTP status code is not handled or not allowed 2026-01-28 06:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-1-1-4w-4l-endless-poly-roundsling-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4-x-2-7-8-7-pink-fluorescent-tag>: HTTP status code is not handled or not allowed 2026-01-28 06:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-4-x-3-1-8-8-yellow-fluorescent-tag>: HTTP status code is not handled or not allowed 2026-01-28 06:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-20l-2-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-28 06:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-4-x-1-3-8-1-yellow-fluorescent-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 06:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bench-rack-12x36x21-with-18-blue-drawers>: HTTP status code is not handled or not allowed 2026-01-28 06:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-1-1-4w-3l-endless-poly-roundsling-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-24245gz-24w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-14366gz-36w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-calibrated-electronic-verification-lollipop-stem-thermometer-0-70c-32-158f>: HTTP status code is not handled or not allowed 2026-01-28 06:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-cassius-ceiling-fan-59264-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 06:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-alloy-latching-j-hook-style-a-230-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-2-1-4-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 06:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-52-3-4-x-15-x-8-white>: HTTP status code is not handled or not allowed 2026-01-28 06:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-refrigerator-verification-thermometer-with-individual-calibration-report-2-to-10c>: HTTP status code is not handled or not allowed 2026-01-28 06:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-1-5-8-channel-nut-p1006-1420egs-electro-galvanized-1-4-20>: HTTP status code is not handled or not allowed 2026-01-28 06:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-117c-bomb-calorimeter-239-to-301c>: HTTP status code is not handled or not allowed 2026-01-28 06:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-x-5-1-2-clear-face-document-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 06:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-aluminum-step-box-24-x-28-x-30>: HTTP status code is not handled or not allowed 2026-01-28 06:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-finned-strip-240v-t1-19-12l-1000w>: HTTP status code is not handled or not allowed 2026-01-28 06:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-channel-strip-120v-t3-23-34l-1000w>: HTTP status code is not handled or not allowed 2026-01-28 06:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-5-w-x-1-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 06:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-steel-immersion-2-1175d-1500w-120v-t-stat>: HTTP status code is not handled or not allowed 2026-01-28 06:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-4-chair-set-espresso-table-top-with-black-chairs>: HTTP status code is not handled or not allowed 2026-01-28 06:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-modular-lounge-loveseat-leather-black-hercules-lacey-series>: HTTP status code is not handled or not allowed 2026-01-28 06:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-12-l-x-12-w-x-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 06:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slide-box-slip-on-cover-holds-100-slides>: HTTP status code is not handled or not allowed 2026-01-28 06:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-36-l-x-12-w-x-1-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 06:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-gel-retractable-gel-ink-pen-0-5mm-red-ink>: HTTP status code is not handled or not allowed 2026-01-28 06:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-aluminum-underbody-box-w-t-handle-24x24x30>: HTTP status code is not handled or not allowed 2026-01-28 06:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-14-2-mil-reclosable-poly-bags-w-hang-hole>: HTTP status code is not handled or not allowed 2026-01-28 06:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mro-industrial-enamel-20-oz-omaha-orange-6-cans-case-620-1450>: HTTP status code is not handled or not allowed 2026-01-28 06:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x5-4-mil-white-block-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leather-guest-chair-with-tablet-arm-and-cup-holder-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-profile-open-can-2-3-5-gallon-brushed-ss>: HTTP status code is not handled or not allowed 2026-01-28 06:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mro-industrial-enamel-20-oz-safety-orange-6-cans-case-620-1451>: HTTP status code is not handled or not allowed 2026-01-28 06:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/executive-swivel-chair-mid-back-leather-black>: HTTP status code is not handled or not allowed 2026-01-28 06:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipettor-stand-5-places-9-x-5-3-4-x-7-3-4-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-ss-door-18x18x24>: HTTP status code is not handled or not allowed 2026-01-28 06:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17dx17-3-8wx7-3-8h-partition-hanging-basket>: HTTP status code is not handled or not allowed 2026-01-28 06:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tool-crib-dry-moly-lube-20-oz-6-cans-case-620-1505>: HTTP status code is not handled or not allowed 2026-01-28 06:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-24-l-x-1-1-2-w-x-1-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 06:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tool-crib-insulating-varnish-20-oz-red-6-cans-case-620-1525>: HTTP status code is not handled or not allowed 2026-01-28 06:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-composite-6w-x-4h-oxford-gy-alum-composite-horizontal-fence-starter-sec-surface-mt-ef-us2204>: HTTP status code is not handled or not allowed 2026-01-28 06:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/305323-single-clear-petg-face-mask-holder>: HTTP status code is not handled or not allowed 2026-01-28 06:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52h15hdo50n-jafline-hd-double-jacket-fire-hose-1-12-x-50-ft-400-psi-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-36w-x-18d-x-14h-1-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 06:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52h15hdw50n-jafline-hd-double-jacket-fire-hose-1-12-x-50-ft-400-psi-white>: HTTP status code is not handled or not allowed 2026-01-28 06:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wire-shelves-utility-cart-chrome-24-w-x-30-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 06:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n51h175lnr50n-jafline-double-jacket-fire-hose-1-34-x-50-ft-400-psi-red>: HTTP status code is not handled or not allowed 2026-01-28 06:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-48-l-x-48-w-x-3-32-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 06:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-16-4-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-4-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 06:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-merchandiser-ct96-20-7-8w-ct96y>: HTTP status code is not handled or not allowed 2026-01-28 06:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din319al-aluminum-ball-knobs-tapped-32mm-diameter-mm-length-m8x125>: HTTP status code is not handled or not allowed 2026-01-28 06:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32d-undercounter-refrigerator-freezer-food-prep-67w-ucf67a>: HTTP status code is not handled or not allowed 2026-01-28 06:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-platform-poly-z-brite-21-w-x-24-l-x-14-h>: HTTP status code is not handled or not allowed 2026-01-28 06:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-54w-x-18d-x-34h-2-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 06:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-calibrated-liquid-in-glass-thermometer-1-to-51c-76mm-immersion>: HTTP status code is not handled or not allowed 2026-01-28 06:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-calibrated-liquid-in-glass-thermometer-1-to-51c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 06:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-jaque-plastic-lab-jack>: HTTP status code is not handled or not allowed 2026-01-28 06:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bk-steel-ball-knobs-tapped-254mm-diameter-mm-length-1032>: HTTP status code is not handled or not allowed 2026-01-28 06:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-black-ep-24-w-x-36-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 06:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-200-yds-waxed-30-basis-weight-vci-paper>: HTTP status code is not handled or not allowed 2026-01-28 06:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din319st-steel-ball-knobs-tapped-40mm-diameter-mm-length-m10x15>: HTTP status code is not handled or not allowed 2026-01-28 06:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr-polyurethane-gray-grip-gloves-with-hppe-glass-liner-gray-palm-fingers-s-1-dz>: HTTP status code is not handled or not allowed 2026-01-28 06:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wire-shelves-utility-cart-2-casters-w-brakes-chrome-24-w-x-60-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 06:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-nexelon-21-w-x-36-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 06:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-42u-standard-19-vented-rear-door-glass-front-door>: HTTP status code is not handled or not allowed 2026-01-28 06:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-2-with-brakes-black-ep-18-w-x-48-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 06:26:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-40-50-basis-weight-kra-paper-sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-shelf-wall-mount-wine-rack-double-wide-chrome-14-d-x-96-w-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 06:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-15u-fixed-wall-mount-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 06:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmp-76ml-urbanti-high-speed-filter-funnels-pack-of6>: HTTP status code is not handled or not allowed 2026-01-28 06:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-12-drawer-cabinet-plastic>: HTTP status code is not handled or not allowed 2026-01-28 06:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-14-drawers-plastic>: HTTP status code is not handled or not allowed 2026-01-28 06:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-36w-x-18d-x-63h-4-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 06:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-3u-flat-spacer-blank>: HTTP status code is not handled or not allowed 2026-01-28 06:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-protective-product-sj5202-hexagon-0-433-w-x-0-063-l-lt-brown-pkg-of-3000>: HTTP status code is not handled or not allowed 2026-01-28 06:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-cpu-wall-mount-shelf>: HTTP status code is not handled or not allowed 2026-01-28 06:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-52ml-micro-funnels-12pk>: HTTP status code is not handled or not allowed 2026-01-28 06:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-blue-36-1-4-x-60>: HTTP status code is not handled or not allowed 2026-01-28 06:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-28 06:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/remote-chiller-ech8>: HTTP status code is not handled or not allowed 2026-01-28 06:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 68833 pages (at 97 pages/min), scraped 33290 items (at 12 items/min) 2026-01-28 06:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-resiliant-rollstock-sj5904-4-1-2-x-18-yds-black-1-4-thick-70006459708>: HTTP status code is not handled or not allowed 2026-01-28 06:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vht-extreme-high-temperature-coating-flat-black-11-oz-aerosol>: HTTP status code is not handled or not allowed 2026-01-28 06:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-48-l-x-24-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 06:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vht-high-temperature-caliper-paint-gloss-black-11-oz-aerosol>: HTTP status code is not handled or not allowed 2026-01-28 06:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/computer-utility-table-lift-attachment-for-desk-lifts>: HTTP status code is not handled or not allowed 2026-01-28 06:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34130-20478-btu-forced-air-cabinet-unit-heater-240v>: HTTP status code is not handled or not allowed 2026-01-28 06:27:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-carry-all-tractor-attachment-1000-lb-capacity-cat-1>: HTTP status code is not handled or not allowed 2026-01-28 06:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/01-016-emergency-food-supply-favorites-16-servings>: HTTP status code is not handled or not allowed 2026-01-28 06:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-36w-x-36d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purpose-dolly>: HTTP status code is not handled or not allowed 2026-01-28 06:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-40240-entree-and-breakfast-bucket-1-month-2-servings-day-240-servings>: HTTP status code is not handled or not allowed 2026-01-28 06:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precisionware-narrow-mouth-125ml-4-oz-low-densitype-bottles-pp-cap-28mm-closure-12pk>: HTTP status code is not handled or not allowed 2026-01-28 06:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-8300-hr-20-amp-125-volt-heavy-duty-hospital-grade-duplex-receptacle-red>: HTTP status code is not handled or not allowed 2026-01-28 06:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kid-dress-up-storage-unit-with-colored-tubs-48wx15dx415h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5362-e-wide-body-duplex-receptacle-straight-blade-industrial-grade-strap-black>: HTTP status code is not handled or not allowed 2026-01-28 06:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-poster-frame-display-stand-12l-x-22w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 06:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-32-gallon-square-recycled-plastic-receptacle-w-liner-green>: HTTP status code is not handled or not allowed 2026-01-28 06:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-bookcase>: HTTP status code is not handled or not allowed 2026-01-28 06:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-3-w-x-1-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 06:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prevention-security-cabinet-48w-18d-84h-single-door-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 06:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stor-file-letter-box-12-7-8w-x-25-3-8d-x-10-1-4h-white-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/144in-wide-complete-4-in-corner-compartments-satin-brushed-ic43660-ss>: HTTP status code is not handled or not allowed 2026-01-28 06:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/op1010id-half-frame-safety-glasses-clear-lens-clear-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gac-110f-spherical-plain-thrust-bearing-angular-contact-metric>: HTTP status code is not handled or not allowed 2026-01-28 06:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gez-500es-spherical-plain-bearing-inch>: HTTP status code is not handled or not allowed 2026-01-28 06:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-12-l-x-4-w-x-1-8-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 06:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secador-vertical-profile-amber-40-auto-desiccator-cabinet-230v-19-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 06:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-section-locker>: HTTP status code is not handled or not allowed 2026-01-28 06:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liberty-check-and-form-boxes-9-3-4w-x-23-3-4d-x-6-1-4h-white-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-48w-x-30d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sv4-class-2-5-pt-breakaway-solid-vest-hi-viz-green-2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-72w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-72w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secador-amber-10-gas-purge-desiccator-cabinet-07-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 06:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coupler-spring-type-1-2-x-1-2>: HTTP status code is not handled or not allowed 2026-01-28 06:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-2-1-2-w-x-2-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 06:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-2000-small-outdoor-waterproof-case-w-o-foam-insert-10-3-4-l-x-8-1-2-w-x-6-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/box-sealing-tape-373-clear-2-inch-x-110-yards-36-per-case-bulk>: HTTP status code is not handled or not allowed 2026-01-28 06:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-54w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-500-small-outdoor-waterproof-case-w-sponge-insert-foam-8-3-4-l-x-7-w-x-3-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermodisc-steam-trap-td6528-1>: HTTP status code is not handled or not allowed 2026-01-28 06:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7440-heavy-duty-hand-pad-6-x-9-40-pads>: HTTP status code is not handled or not allowed 2026-01-28 06:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-60w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-12-inch-scrub-pad-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-12-inch-strip-pad-black>: HTTP status code is not handled or not allowed 2026-01-28 06:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-acetal-bar-48-l-x-1-2-w-x-3-8-thick-off-white-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 06:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-kit-with-18-w-pegboard-36-w-louver-60-w-workbench-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-mix-and-match-quick-disconnects-for-3-8-to-1-2-tubing-polyethylene-12pk>: HTTP status code is not handled or not allowed 2026-01-28 06:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tz-extra-strength-adhesive-tapes-laminated-black-on-yellow-1-1-2w>: HTTP status code is not handled or not allowed 2026-01-28 06:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12w-x-6d-x-6h-narrow-basket-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 06:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plano-prolatch-8482-stowaway-174-4-9-adjustable-compartment-box-11-w-x-7-1-4-d-x-2-3-4-h-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/executive-full-strip-stapler-black>: HTTP status code is not handled or not allowed 2026-01-28 06:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9600-50-adapter-reducer-16-inch-to-8-inch-for-models-9515-and-9517>: HTTP status code is not handled or not allowed 2026-01-28 06:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-half-strip-stapler-black>: HTTP status code is not handled or not allowed 2026-01-28 06:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-42w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-24-l-x-5-8-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 06:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cejn-spiral-nonbraided-pur-hose-516-x-20>: HTTP status code is not handled or not allowed 2026-01-28 06:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-600-l-x-12-w-x-1-32-thick-black-40a>: HTTP status code is not handled or not allowed 2026-01-28 06:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-utility-light-12-24vdc-6-leds-1492118>: HTTP status code is not handled or not allowed 2026-01-28 06:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-48w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/splash-shield-2-24-articulating-arms-15-x-24-plexiglass>: HTTP status code is not handled or not allowed 2026-01-28 06:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-ball-gridwall-waterfall-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-dia-round-folding-rack-welded-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-304-stainless-steel-locker-18w-x-18d-x-78h-single-tier-3-wide-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 06:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lateral-file-cabinet-storm-gray-studio-c-series>: HTTP status code is not handled or not allowed 2026-01-28 06:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-blue-low-profile-strobe-light-12v-6-leds-8891914>: HTTP status code is not handled or not allowed 2026-01-28 06:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coat-rod-12-wide-for-hallowell-304-stainless-steel-lockers>: HTTP status code is not handled or not allowed 2026-01-28 06:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trimmer-line-spool-bracket-lt40>: HTTP status code is not handled or not allowed 2026-01-28 06:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2h-x-8d-millinery-displayer-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-micro-flea-magnetic-stirring-bar-5-x-2mm-white>: HTTP status code is not handled or not allowed 2026-01-28 06:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-underbed-truck-box-24x24x36-black-1734305>: HTTP status code is not handled or not allowed 2026-01-28 06:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-16-gauge-heavy-duty-galvanite-duratough-combination-cabinet-36w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-vented-steel-locker-double-tier-24x24x74-2-door-putty-1>: HTTP status code is not handled or not allowed 2026-01-28 06:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-way-w-straight-arms-rectangular-tubing-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butterfly-valve-lockout-red-7605>: HTTP status code is not handled or not allowed 2026-01-28 06:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-14246b-24w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-24485b-48w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-vented-steel-locker-double-tier-18x18x75-2-door-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 06:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lk8-chrome-basket-strainer-and-tailpiece-for-bar-sink>: HTTP status code is not handled or not allowed 2026-01-28 06:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-54-4-gauge-vinyl-w-center-zipper-and-side-gusset-crystal-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-to-grid-at-any-angle-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recyclockout-mini-lockout-station-stocked-6063>: HTTP status code is not handled or not allowed 2026-01-28 06:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-bar-rack-w-v-brace-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:27:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-double-bagged-sterile-scoop-sampling-system-125ml-4oz>: HTTP status code is not handled or not allowed 2026-01-28 06:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 68931 pages (at 98 pages/min), scraped 33303 items (at 13 items/min) 2026-01-28 06:27:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-2-wide-12w-x-15d-x-30h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-broom-magnetic-sweep-bar-attachment-60-w>: HTTP status code is not handled or not allowed 2026-01-28 06:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-deluxe-hook-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 06:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notch-hook-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 06:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-12w-x-12d-x-30h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-12w-x-12d-x-36h-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-12w-x-15d-x-36h-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20020-ultra-quiet-oil-free-air-compressor2-0-hp-20-0-gal-air-compressor>: HTTP status code is not handled or not allowed 2026-01-28 06:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-supreme-esd-vacuum>: HTTP status code is not handled or not allowed 2026-01-28 06:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-adder-1-wide-18w-x-18d-x-36h-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-120-l-x-36-w-x-1-16-thick-red-food-70a-high-temp-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 06:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 06:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands>: HTTP status code is not handled or not allowed 2026-01-28 06:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-36-square-edge-work-bench-shop-top-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-polypropylene-rimless-90ml-centrifuge-tubes-162mm-12pk>: HTTP status code is not handled or not allowed 2026-01-28 06:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-double-bagged-long-handle-sampling-spoons-246ml-1-2-tsp>: HTTP status code is not handled or not allowed 2026-01-28 06:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-teaspoon-style-sampling-spoon-white-10ml-03oz-100pk>: HTTP status code is not handled or not allowed 2026-01-28 06:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-straight-tubing-connectors-for-1-2-tubing-polypropylene-12pk>: HTTP status code is not handled or not allowed 2026-01-28 06:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-neoprene-roll-720-l-x-20-w-x-3-8-thick-black-ultra-strength-70a>: HTTP status code is not handled or not allowed 2026-01-28 06:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-groundskeeper-receptacle-fg2570l4bla>: HTTP status code is not handled or not allowed 2026-01-28 06:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-single-tier-locker-2-wide-12w-x-15d-x-60h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/SVTR-1860-18-W-x-60-D-T-430-18-ga-Stainless-Steel-Workbench-with-a-15-backsplash>: HTTP status code is not handled or not allowed 2026-01-28 06:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-w-push-trolley-1-4-ton-15-lift-33-5-5-ft-min-460v>: HTTP status code is not handled or not allowed 2026-01-28 06:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-single-hosiery-bin-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-baby-changing-station-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-36-w-x-1-32-thick-black-high-strength-90a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 06:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-sink-hand-towel-black-12-mats-bx-sink-bl-b0x>: HTTP status code is not handled or not allowed 2026-01-28 06:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-orig-urinal-mats-black-12-pk-6-pks-bx-or-10001-bl-cs>: HTTP status code is not handled or not allowed 2026-01-28 06:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-knife-bracket-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solvent-base-street-utility-marking-paint-20-oz-utility-yellow-20-978-12-case>: HTTP status code is not handled or not allowed 2026-01-28 06:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-bibb-1-2-mip-x-3-4-mht>: HTTP status code is not handled or not allowed 2026-01-28 06:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-single-tier-locker-2-wide-12w-x-12d-x-72h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-straight-arm-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 06:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-1-wide-12w-x-18d-x-15h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 06:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-t2-plus-8482-66460-dissipative-dual-layer-rubber-cut-mat-36-d-x-72-w-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-calibration-block-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-24-l-x-12-w-x-3-16-thick-frosted>: HTTP status code is not handled or not allowed 2026-01-28 06:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-front-action-sealer-for-5-8w-x-5-8thickness>: HTTP status code is not handled or not allowed 2026-01-28 06:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trustat-b80-16313-vinyl-mat-with-ground-30-d-x-72-w-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-3-wide-12w-x-12d-x-15h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-head-thumb-screw-1-4-20-78-thread-1-head-dia-3-4-head-h-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 06:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-1-wide-12w-x-18d-x-18h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 06:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-type-1-tube-24-l-x-1-id-x-1-1-2-od-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-single-tier-locker-2-wide-12w-x-12d-x-60h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 06:28:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/cutting_tools_air_saws_components already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-2-wide-12w-x-18d-x-15h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grab-and-go-low-profile-open-display-merchandiser-rear-loading-manual-shutter-41x36x65>: HTTP status code is not handled or not allowed 2026-01-28 06:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-94dv2r-n5-division-2-xenon-strobe-red-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 06:28:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6l-x-1-2-x-1-1-2-rectangular-tubing-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-two-bay-7>: HTTP status code is not handled or not allowed 2026-01-28 06:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-heavyweight-single-slot-w-1-slots-on-2-centers-satin-zinc>: HTTP status code is not handled or not allowed 2026-01-28 06:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-b33-179-494-or-b-494-color-polyester-labels-1-h-x-1-w-orange-white-1500-roll>: HTTP status code is not handled or not allowed 2026-01-28 06:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-tht-152-494-or-b-494-color-polyester-labels-0-375-h-x-1-w-orange-white-3000-roll>: HTTP status code is not handled or not allowed 2026-01-28 06:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a0014-valve-spring-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 06:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4410t-4-125-hp-1785-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-protector-organizer-21-x-25-1-2-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pensacola-chaise-lounge-green>: HTTP status code is not handled or not allowed 2026-01-28 06:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/air_tools_accessories/cutting_tools_air_saws_components>: HTTP status code is not handled or not allowed 2026-01-28 06:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-chm264a-33airover-hp-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-21-single-post-mayo-stand>: HTTP status code is not handled or not allowed 2026-01-28 06:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-105xbrmb24d-dual-mode-led-signal-blue-24v-dc>: HTTP status code is not handled or not allowed 2026-01-28 06:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-28 06:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grand-isle-3-seat-adirondack-chair-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-motor-4-57-hp-1050-rpm-115v-teao>: HTTP status code is not handled or not allowed 2026-01-28 06:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-deck-72-wx30-dx5-8-thick-2>: HTTP status code is not handled or not allowed 2026-01-28 06:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-869stra-aq-flush-mount-hornstrobe-24v-acdc-amber>: HTTP status code is not handled or not allowed 2026-01-28 06:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-machine-cleaner-green-gallon-size-144-oz>: HTTP status code is not handled or not allowed 2026-01-28 06:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-50a-n5-40wh-flashing-beacon-amber-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 06:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indigo-nxt-half-cube-ice-machine-w-luminice-22-wide-460-lbs-24-hrs-prod-water-cooled>: HTTP status code is not handled or not allowed 2026-01-28 06:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30674-wrench-25-mm-l-key-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 06:28:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/janitorial-supply-organizer-black-vinyl-4-pocket>: HTTP status code is not handled or not allowed 2026-01-28 06:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30621-spring-belt-tension-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 06:28:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-j20-262-2569-153-polyester-label-6-10-h-x-4-13-w-200-roll-white>: HTTP status code is not handled or not allowed 2026-01-28 06:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-12-bu-gray-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 06:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-10-bu-gray-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 06:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69024 pages (at 93 pages/min), scraped 33322 items (at 19 items/min) 2026-01-28 06:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apron-style-walk-ramp-38-w-x-16-l-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc-board-sk-129-169-219-289-110v-60hz-cube-ice-machines>: HTTP status code is not handled or not allowed 2026-01-28 06:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms90-b0614-90-shade-cloth-shade-tarp-6-x-14>: HTTP status code is not handled or not allowed 2026-01-28 06:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4115t-50-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-lube-1-gal>: HTTP status code is not handled or not allowed 2026-01-28 06:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-51r-n5-40w-flashing-beacon-with-horn-red-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 06:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-frame-motor-2-67-hp-3000-rpm-120v-oao>: HTTP status code is not handled or not allowed 2026-01-28 06:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-inch-w-pegboard-and-whiteboard-combo-46747-for-built-systems-assembly-tables>: HTTP status code is not handled or not allowed 2026-01-28 06:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes>: HTTP status code is not handled or not allowed 2026-01-28 06:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels>: HTTP status code is not handled or not allowed 2026-01-28 06:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-and-blower-1-4-hp-1725-rpm-115-230v-odp>: HTTP status code is not handled or not allowed 2026-01-28 06:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-14-bu-yellow-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 06:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banner-drive-safety-stop-look-listen-3-x-10>: HTTP status code is not handled or not allowed 2026-01-28 06:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledg120v-led-bulb-green-120v>: HTTP status code is not handled or not allowed 2026-01-28 06:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-long-aluminum-construction-pipe-safety-railing>: HTTP status code is not handled or not allowed 2026-01-28 06:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-z2-dipped-handle-slip-joint-pliers>: HTTP status code is not handled or not allowed 2026-01-28 06:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-48-inch-w-x-24-inch-d-x-84-inch-h-3-levels-add-on-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 06:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-single-phase-odp-motor-1-3-hp-1725-rpm-115-230v-odp-60-herts>: HTTP status code is not handled or not allowed 2026-01-28 06:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-coated-tape-476xl-1-x-540-yds-6-mil-translucent>: HTTP status code is not handled or not allowed 2026-01-28 06:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fans-motor-1-hp-850-rpm-208-230-460v-oao>: HTTP status code is not handled or not allowed 2026-01-28 06:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-drive-standard-sae-metric-mechanics-tool-set-of-128-pieces>: HTTP status code is not handled or not allowed 2026-01-28 06:29:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/standby_generators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-inch-tongue-groove-pliers-with-dual-material-handle>: HTTP status code is not handled or not allowed 2026-01-28 06:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/specialty-molded-dock-bumper-12-wx24-lx6-h>: HTTP status code is not handled or not allowed 2026-01-28 06:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-duct-25-ft-length-of-12-inch-diameter-indoor-outdoor>: HTTP status code is not handled or not allowed 2026-01-28 06:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/li-all-174-cse10-eye-top-3-5-10-gallon-water-cooler-sling-500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cfdl3507m-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-motor-1-3-hp-1100-rpm-115v-teao>: HTTP status code is not handled or not allowed 2026-01-28 06:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/li-tilt-scissor-table-8>: HTTP status code is not handled or not allowed 2026-01-28 06:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-gloves-15-gauge-gray-nylon-shell-black-hpt-palm-and-fingertips-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-elevating-spring-table-1>: HTTP status code is not handled or not allowed 2026-01-28 06:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tablet-cell-phone-locker-9w-x-12d-x-30-1-2h-5-door-1-wide-padlock-hasp-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tablet-cell-phone-locker-27w-x-12d-x-30-1-2h-15-door-3-wide-padlock-hasp-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-2-way-air-deflector-cover-for-4-ft-linear-diffuser>: HTTP status code is not handled or not allowed 2026-01-28 06:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/he-i-li-hydraulic-li-positioner-4>: HTTP status code is not handled or not allowed 2026-01-28 06:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/standby_generators>: HTTP status code is not handled or not allowed 2026-01-28 06:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-deck-cart-1>: HTTP status code is not handled or not allowed 2026-01-28 06:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-36-inch-w-x-12-inch-d-x-84-inch-h-5-levels-starter-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-button-pendant-30-power-cord-for-ssc-series-electronic-hoists>: HTTP status code is not handled or not allowed 2026-01-28 06:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-motor-1-4-hp-1075-rpm-115v-teao-48y-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-48wx18dx84h-4-levels-add-on-no-decking-1400-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manifold-only-r410a>: HTTP status code is not handled or not allowed 2026-01-28 06:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/revolution-nevertear-paper-white-8-mil-8-1-2in-x-11in-500-sheets-ream>: HTTP status code is not handled or not allowed 2026-01-28 06:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multipurpose-paper-white-8-1-2in-x-11in-20-lb-2500-sheets-carton>: HTTP status code is not handled or not allowed 2026-01-28 06:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-matte-presentation-paper-bright-white-11in-x-14in-50-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-48-inch-w-x-24-inch-d-x-84-inch-h-6-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/papers-multipurpose20-paper-white-8-1-2in-x-11in-20-lb-1-500-sheets-carton>: HTTP status code is not handled or not allowed 2026-01-28 06:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-hand-impulse-sealer-with-2-6-mm-seal-width>: HTTP status code is not handled or not allowed 2026-01-28 06:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyed-trigger-lock-keyed-alike-no-90kadspt>: HTTP status code is not handled or not allowed 2026-01-28 06:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cewdm3611t-5-3-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s19004-cr39-welding-helmet-cover-plate-412-x-514-50box>: HTTP status code is not handled or not allowed 2026-01-28 06:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-1-4-basic-ind-plug-x-1-2-female-nptf-1-4-5-l>: HTTP status code is not handled or not allowed 2026-01-28 06:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-aom3454-25-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-8mm-tube-x-3-8-bspp-8-9-l>: HTTP status code is not handled or not allowed 2026-01-28 06:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-72wx24dx84h-4-levels-add-on-no-decking-500-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shift-cabinet-with-6-drawers-48-w-x-24-d-x-75-h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kneepro-ultraflex-iii-knee-pad-green-shell-green-strip-one-size>: HTTP status code is not handled or not allowed 2026-01-28 06:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cecp83770t-5-7-5-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cem3558-2-hp-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-configured-8x8-partitioned-office-60-h-starter-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-full-width-rod-60-w-x-24-d-x-75-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-7-drawers-36-w-x-24-d-x-75-h-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-tier-starter-unit-30-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 06:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-polymer-shelf-with-grid-mat-42-w-x-21-d>: HTTP status code is not handled or not allowed 2026-01-28 06:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-inch-w-x-48-inch-d-x-84-inch-h-3-levels-add-on-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 06:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-tier-starter-unit-with-solid-bottom-shelf-48-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 06:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-inch-w-x-24-inch-d-x-84-inch-h-3-levels-starter-w-wire-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 06:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toolbox-t700-blue-jumbo-roll-870-sheets-roll-1-roll-case-78350>: HTTP status code is not handled or not allowed 2026-01-28 06:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sump-pump-motor-1-2-hp-1725-rpm-115v-oao-48y-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-7-drawers-48-w-x-24-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-souffle-portion-cups-5>: HTTP status code is not handled or not allowed 2026-01-28 06:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-motor-1-2-hp-825-rpm-277v-oao>: HTTP status code is not handled or not allowed 2026-01-28 06:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cdpswd3410-0-25-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-48-inch-w-x-24-inch-d-x-84-inch-h-3-levels-add-on-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 06:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toolbox-z300-white-interfold-135-sheets-box-8-boxes-case-2020002>: HTTP status code is not handled or not allowed 2026-01-28 06:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-access-control-keypad-card-reader-36-w-x-24-d-x-78-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-knob-adjustment-10-32-fm-x-10-32-ml-3-4-l>: HTTP status code is not handled or not allowed 2026-01-28 06:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-10-hp-1050-rpm-115v-oao-42y-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pool-pump-motor-5-hp-3450-rpm-208-230v-odp>: HTTP status code is not handled or not allowed 2026-01-28 06:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-2-hp-1075-rpm-277v-oao>: HTTP status code is not handled or not allowed 2026-01-28 06:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idnm3665t-5te-hp-6000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-door-outdoor-letterboard-24-x-36-x-2>: HTTP status code is not handled or not allowed 2026-01-28 06:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69122 pages (at 98 pages/min), scraped 33339 items (at 17 items/min) 2026-01-28 06:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-electronic-lock-and-card-reader-36-w-x-24-d-x-75-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-end-table-24-x-24-walnut>: HTTP status code is not handled or not allowed 2026-01-28 06:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-shop-ticket-holder-both-sides-clear-9-x-12-50-bx>: HTTP status code is not handled or not allowed 2026-01-28 06:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-8mm-tube-x-1-8-swift-fit-universal-thread-7-8-l>: HTTP status code is not handled or not allowed 2026-01-28 06:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-extra-level-with-wood-deck-84-w-x-30-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-utility-3shlf-pm>: HTTP status code is not handled or not allowed 2026-01-28 06:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-3mm-tube-2-3-l>: HTTP status code is not handled or not allowed 2026-01-28 06:30:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/boltless_shelving_additional_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-door-outdoor-message-center-45-x-30-woodland-green>: HTTP status code is not handled or not allowed 2026-01-28 06:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-safety-storage-ingredient-bin-100-cups>: HTTP status code is not handled or not allowed 2026-01-28 06:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-6mm-tube-x-1-8-swift-fit-universal-thread-5-6-l>: HTTP status code is not handled or not allowed 2026-01-28 06:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-functional-cargo-pant-black-wp80-32x30-wp80bk3230>: HTTP status code is not handled or not allowed 2026-01-28 06:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-inch-w-x-18-inch-d-1-level-w-wire-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 06:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-brute-plastic-round-bucket-14-quart-red>: HTTP status code is not handled or not allowed 2026-01-28 06:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-14-w-x-25-h-x-1-d-12-ctn>: HTTP status code is not handled or not allowed 2026-01-28 06:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l1508t-5-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idvsm3665t-5-hp-6200-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-14mm-tube-2-l>: HTTP status code is not handled or not allowed 2026-01-28 06:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condensate-pump-24-foot-lift-115v>: HTTP status code is not handled or not allowed 2026-01-28 06:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/boltless_shelving_additional_shelves>: HTTP status code is not handled or not allowed 2026-01-28 06:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-condensate-pump-24-foot-lift-115v>: HTTP status code is not handled or not allowed 2026-01-28 06:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-mobile-security-cabinet-bench-maple-safety-edge-1>: HTTP status code is not handled or not allowed 2026-01-28 06:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-maxiplus-microfiber-dust-mop-blue-6-case-96078>: HTTP status code is not handled or not allowed 2026-01-28 06:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-particle-board-decking-60-inch-w-x-36-inch-d-x-5-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 06:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-safety-sign-bilingual-2-sided-6-case-96991>: HTTP status code is not handled or not allowed 2026-01-28 06:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-grabber-orange-cone>: HTTP status code is not handled or not allowed 2026-01-28 06:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2549t-75-hp-3540-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-5-32-tube-x-1-8-ml-2-3-l>: HTTP status code is not handled or not allowed 2026-01-28 06:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxirough-dust-pan-brush-combo-black-12-case-96423>: HTTP status code is not handled or not allowed 2026-01-28 06:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-particle-board-decking-36-inch-w-x-15-inch-d-x-5-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 06:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ton-locking-jack-stand-single-unit-14415>: HTTP status code is not handled or not allowed 2026-01-28 06:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warming-cabinet-30-w-x-74-1-2-h-x-26-5-8-d-freestanding-1-glass-door-3-adj-shelves>: HTTP status code is not handled or not allowed 2026-01-28 06:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-108-w-x-36-d-x-96-h-b2282527n>: HTTP status code is not handled or not allowed 2026-01-28 06:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-station-windsor-scrub-sink-wall-mounted-with-elbow-action-control-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-3-reflective-reboundable-delineator-round-white>: HTTP status code is not handled or not allowed 2026-01-28 06:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-tab-poly-binder-index-dividers-with-slant-pockets-assorted-5-st>: HTTP status code is not handled or not allowed 2026-01-28 06:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-tee-6mm-tube-1-2-3-l>: HTTP status code is not handled or not allowed 2026-01-28 06:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3769t-7-5-hp-3525-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-floor-pads-white-12>: HTTP status code is not handled or not allowed 2026-01-28 06:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-floor-pads-white-13>: HTTP status code is not handled or not allowed 2026-01-28 06:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-screw-adjustment-1-8-fm-nptf-x-1-8-swift-fit-universal-thread-0-l>: HTTP status code is not handled or not allowed 2026-01-28 06:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-stacking-stool-dolly-stainless-steel-21-1-2-w-x-16-1-2-d-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 06:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basket-for-ep100h-s100h>: HTTP status code is not handled or not allowed 2026-01-28 06:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-back-task-stool-red>: HTTP status code is not handled or not allowed 2026-01-28 06:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-10mm-tube-x-3-8-swift-fit-universal-thread-1-1-5-l>: HTTP status code is not handled or not allowed 2026-01-28 06:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em4103t-25-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-108-w-x-48-d-x-120-h-b2282536n>: HTTP status code is not handled or not allowed 2026-01-28 06:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heated-curing-blanket-15-x-3>: HTTP status code is not handled or not allowed 2026-01-28 06:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-magnet-drain-cover-24-inches-by-36-inches-l-yellow-black-3112ls>: HTTP status code is not handled or not allowed 2026-01-28 06:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l3409m-1-2-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-size-6-15-h-composite-toe-chevron-plus-outsole-blue-w-red-sole>: HTTP status code is not handled or not allowed 2026-01-28 06:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slash-pocket-jacket-long-xl-navy-jt22>: HTTP status code is not handled or not allowed 2026-01-28 06:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atrix-high-capacity-hepa-filter-black>: HTTP status code is not handled or not allowed 2026-01-28 06:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-track-floor-conveyor-3-staggered-skate-wheel-lanes-8-l-5040-lb>: HTTP status code is not handled or not allowed 2026-01-28 06:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patio-heater-with-steel-table-gold>: HTTP status code is not handled or not allowed 2026-01-28 06:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-14mm-tube-x-3-8-bspp-2-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 06:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em4310t-60-hp-3560-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-slide-valve-3-8-nptf-1-3-8-l>: HTTP status code is not handled or not allowed 2026-01-28 06:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3587t-2-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:30:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/air_conditioning_refrigeration_thermostats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-tear-drop-welded-upright-frame-36-d-x-120-h-green>: HTTP status code is not handled or not allowed 2026-01-28 06:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-shelving-unit-36-w-x-18-d-x-74-h-chrome-all-welded-5-shelves>: HTTP status code is not handled or not allowed 2026-01-28 06:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-3mm-x-m5-unf-3-4-l>: HTTP status code is not handled or not allowed 2026-01-28 06:30:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/wire_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lad-eith-l12-ladder-inspection-tag-kit-10-pkg-plastic-5-inches-by-7-inches-white-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-yard-ramp-forkli-dock-ramp-36-l-x-84-w-25-000-cap-lbs-with-tow-bar>: HTTP status code is not handled or not allowed 2026-01-28 06:30:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-dock-board-with-lock-pins-72-w-x-84-l-15-000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-storage-cabinet-hc-48-pb-with-pegboard-back-panel-48-w-x-10-d-x-24-h>: HTTP status code is not handled or not allowed 2026-01-28 06:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrawall-protectors>: HTTP status code is not handled or not allowed 2026-01-28 06:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3556-1-hp-1155-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pt-shipping-tags-6-1-4-x-3-1-8-assorted-color>: HTTP status code is not handled or not allowed 2026-01-28 06:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-guard-reusable-model-curb-style-24-x-24>: HTTP status code is not handled or not allowed 2026-01-28 06:30:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/air_conditioning_refrigeration_thermostats landed on page that is not a product page. 2026-01-28 06:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-buckle-ice-traction-12-overshoe-mens-sz-7-waterproof-vulcanized-rubber-blk>: HTTP status code is not handled or not allowed 2026-01-28 06:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-markers>: HTTP status code is not handled or not allowed 2026-01-28 06:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/wire_markers>: HTTP status code is not handled or not allowed 2026-01-28 06:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bloodborne-pathogen-spill-clean-up-kit-plastic-case-24-piece>: HTTP status code is not handled or not allowed 2026-01-28 06:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices>: HTTP status code is not handled or not allowed 2026-01-28 06:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69214 pages (at 92 pages/min), scraped 33355 items (at 16 items/min) 2026-01-28 06:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-laboratory-medical-glass-door-refrigerator-33-cu-ft-nswdr332wwg-0>: HTTP status code is not handled or not allowed 2026-01-28 06:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contour-insole-medium-polypropylene>: HTTP status code is not handled or not allowed 2026-01-28 06:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-boot-men-s-size-11-15-h-steel-pr-midsole-cleated-sole-black>: HTTP status code is not handled or not allowed 2026-01-28 06:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-polyurethane-cleanroom-stool-with-glides-desk-height-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-elastic-loop>: HTTP status code is not handled or not allowed 2026-01-28 06:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-11in-clear-combination-spot-flood-light-bar-with-12-led-1492160>: HTTP status code is not handled or not allowed 2026-01-28 06:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-vacuum-u-tube-150000-btu-40l>: HTTP status code is not handled or not allowed 2026-01-28 06:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49in-amber-modular-light-bar-with-14-led-modules-and-built-in-traffic-arrow-8893049>: HTTP status code is not handled or not allowed 2026-01-28 06:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-vacuum-straight-tube-tough-guy-175000-btu-50l>: HTTP status code is not handled or not allowed 2026-01-28 06:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-vacuum-straight-tube-150000-40l>: HTTP status code is not handled or not allowed 2026-01-28 06:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm4106t-20-hp-3520-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverallzipper-fronthoodelastic-wrist-and-anklestormflapbound-seamyellowxl>: HTTP status code is not handled or not allowed 2026-01-28 06:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-armrests-big-tall-chair-2>: HTTP status code is not handled or not allowed 2026-01-28 06:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-water-filter-bracket-rotocast-outdoor-drinking-fountains>: HTTP status code is not handled or not allowed 2026-01-28 06:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-18-inch-welded-stainless-steel-mounting-brackets>: HTTP status code is not handled or not allowed 2026-01-28 06:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-portion-packs-hazelnut-creme-2-5-oz-pack-24-box>: HTTP status code is not handled or not allowed 2026-01-28 06:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-jl3501a-33-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flo-controlled-electric-tankless-water-heater-6-0kw-277v-22a>: HTTP status code is not handled or not allowed 2026-01-28 06:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-1-5in-rectangular-clear-flood-light-with-3-led-1492139>: HTTP status code is not handled or not allowed 2026-01-28 06:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moisture-barrier-bag-17-x-19-35mm-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-plant-air-5>: HTTP status code is not handled or not allowed 2026-01-28 06:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-powered-orbit-cart-with-40ah-battery-black>: HTTP status code is not handled or not allowed 2026-01-28 06:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lawnmower-adapter-for-use-with-2-post-lifts-ateatlma-fpd>: HTTP status code is not handled or not allowed 2026-01-28 06:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-hazard-protection-jacket-size-men-s-large-storm-fly-front-hood-snaps-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prestoli-s-8482-portable-electric-scissor-li-xbp24-10-1000-lb-cap-24x36>: HTTP status code is not handled or not allowed 2026-01-28 06:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-shoe-covers-large-ankle-height-black-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-gas-3>: HTTP status code is not handled or not allowed 2026-01-28 06:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jacket-size-men-s-xl-polyester-quilted-liner-attached-hood-black>: HTTP status code is not handled or not allowed 2026-01-28 06:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/overall-blue-pvc-on-nomex-sm>: HTTP status code is not handled or not allowed 2026-01-28 06:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-38mm-18-gauge-1-2mm-crown-stapler>: HTTP status code is not handled or not allowed 2026-01-28 06:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-15-degree-cap-nailer>: HTTP status code is not handled or not allowed 2026-01-28 06:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qsd-w-universal-queen-size-divider-2w-x-5h-plastic-wh-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 06:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jw-winco-adjustable-levers-stainless-steel-components-307l-38-16-thread>: HTTP status code is not handled or not allowed 2026-01-28 06:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-x-120-smooth-shank-15-degree-coil-framing-nails-2700-qty>: HTTP status code is not handled or not allowed 2026-01-28 06:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-x-148-35-degree-paper-tape-metal-connector-nails-galvanized-1000-qty>: HTTP status code is not handled or not allowed 2026-01-28 06:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlrs3mc-counter-height-breast-milk-refrigerator-3-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 06:31:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/acoustical_thermal_insulation already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlrs1mc-countertop-breast-milk-refrigerator-1-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 06:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-vent-cap-roof-vent>: HTTP status code is not handled or not allowed 2026-01-28 06:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-4-x-131-ring-shank-15-degree-framing-nails-2000-qty>: HTTP status code is not handled or not allowed 2026-01-28 06:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6pc-nutsetter-and-power-bit-set-gunmetal-grey-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camtray-8x10-rec-white>: HTTP status code is not handled or not allowed 2026-01-28 06:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tray-fast-food-10x14-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pick-shelving-5-level-single-tilt-78-h-x-50-w-x-20-d-add-on>: HTTP status code is not handled or not allowed 2026-01-28 06:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-weather-faux-rattan-sofa-light-gray-with-light-gray-cushions>: HTTP status code is not handled or not allowed 2026-01-28 06:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-3-power-bit-x-3-1-2-extra-hard-s2-modified-steel-black-manganese-phosphate>: HTTP status code is not handled or not allowed 2026-01-28 06:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-weather-faux-rattan-loveseat-light-gray-with-light-gray-cushions>: HTTP status code is not handled or not allowed 2026-01-28 06:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/btkct011-bleeding-trauma-kit-molle-bag-1-cat-tourniquet-chest-seal>: HTTP status code is not handled or not allowed 2026-01-28 06:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/acoustical_thermal_insulation>: HTTP status code is not handled or not allowed 2026-01-28 06:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vm3543-75-hp-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24h-backless-counter-height-stool-metal-square-mint-green>: HTTP status code is not handled or not allowed 2026-01-28 06:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fast-spiral-14-piece-masonry-set>: HTTP status code is not handled or not allowed 2026-01-28 06:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-venm3546t-1-hp-1745-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-channel-heavy-duty-cable-protector-channel-24000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-veswdm3554t-1-5-hp-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-channel-heavy-duty-cable-protector-channel-32600-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-single-pedestal-desk-48-inch-w-x-30-inch-d-x-30-inch-h-silver-mesh-and-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vl3506-75-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nitriledipped-gloves-activgrip-nitrile-wmicrofinish-grip-12-l-open-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-circuit-1-receptacle>: HTTP status code is not handled or not allowed 2026-01-28 06:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/construction-positioning-harness-tongue-pass-thru-buckle-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-power-pass-through-cable-17-l>: HTTP status code is not handled or not allowed 2026-01-28 06:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-wheelsecure-mobile-shredder-cart-175-gallon-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kevlar-gloves-wmicro-surface-nitrile-coated-palm-fingers-medium-weight-m>: HTTP status code is not handled or not allowed 2026-01-28 06:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-tamper-27-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-corner-worksurface-36-w-x-24-d-white-ash>: HTTP status code is not handled or not allowed 2026-01-28 06:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transit-bike-shelter-7-20-29-1-l-x-7-5-w-20-bike-capacity-flat-roof>: HTTP status code is not handled or not allowed 2026-01-28 06:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-2-power-bit-x-2-3-4-extra-hard-s2-modified-steel-black-manganese-phosphate>: HTTP status code is not handled or not allowed 2026-01-28 06:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-slippery-when-wet-3>: HTTP status code is not handled or not allowed 2026-01-28 06:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-3-power-bit-x-2-3-4-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedestal-base-for-compozite-davit-crane>: HTTP status code is not handled or not allowed 2026-01-28 06:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ambidex-disposable-latex-industrial-grade-fully-textured-nonpowdered-l>: HTTP status code is not handled or not allowed 2026-01-28 06:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/domestic-beam-clamp-3-ton-capacity-fits-beam-flange-range-3-9>: HTTP status code is not handled or not allowed 2026-01-28 06:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csp-sw38-w-egfrhl-strongwall-ada-compliant-plastic-barricade-white-38-h-enginer-grade-sheeting>: HTTP status code is not handled or not allowed 2026-01-28 06:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-caution-do-not-operate-this-machine-without-guards>: HTTP status code is not handled or not allowed 2026-01-28 06:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csp-sw38-o-hipfrhl-strongwall-ada-compliant-plastic-barricade-hi-intensity-prismatic-striped-sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-2-power-bit-x-3-2pc-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:31:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-6-8-power-bit-x-3-1-2-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 06:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esp-kit-1-pair-black-esp-glove-1-pair-goat-class-0-size-7>: HTTP status code is not handled or not allowed 2026-01-28 06:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-warning-keep-all-cylinders-chained>: HTTP status code is not handled or not allowed 2026-01-28 06:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-pitch-gauge-14-34>: HTTP status code is not handled or not allowed 2026-01-28 06:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csp-sg-4kit-all-plastic-manhole-guard-nonconductive-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-10-dia-round-floor-drain-wscrews-nickel>: HTTP status code is not handled or not allowed 2026-01-28 06:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-caution-only-authorized-personnel-allowed-to-operate-2>: HTTP status code is not handled or not allowed 2026-01-28 06:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-caution-eye-protection-required-1>: HTTP status code is not handled or not allowed 2026-01-28 06:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-42w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-7-x-7-square-floor-drain-wscrews-brass>: HTTP status code is not handled or not allowed 2026-01-28 06:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69311 pages (at 97 pages/min), scraped 33367 items (at 12 items/min) 2026-01-28 06:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdvsm2333t-15-hp-5400-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-compliant-freestanding-refrigerator-auto-defrost-and-front-lock>: HTTP status code is not handled or not allowed 2026-01-28 06:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-priced-inch-cube-inch-sized-compact-refrigerator-freezer-front-mounted-lock>: HTTP status code is not handled or not allowed 2026-01-28 06:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7342-ld-o-3-hip-ww-42-watchtower-delineator-polyethylene-orange-2-hip-white-reflective-bands>: HTTP status code is not handled or not allowed 2026-01-28 06:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels>: HTTP status code is not handled or not allowed 2026-01-28 06:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-rich-latex-brite-yellow-gallon-pail-1-case-51200-1>: HTTP status code is not handled or not allowed 2026-01-28 06:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-aluminum-paint-gallon-pail-1-case-46000-1>: HTTP status code is not handled or not allowed 2026-01-28 06:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fusion-all-in-one-combination-aerosol-paint-primer-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 06:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-half-foot-patio-umbrella-olefin-hunter-green-hardwood-pole-grove>: HTTP status code is not handled or not allowed 2026-01-28 06:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-add-on-unit-54w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mj-2d-2448-fl-48-w-mobile-bench-cabinets-butcher-block-top-2-doors>: HTTP status code is not handled or not allowed 2026-01-28 06:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-heavy-sealed-hex-head-3-4-l-stud-04375-w-roller-0625-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-add-on-unit-24w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-starter-unit-30w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-foot-patio-umbrella-olefin-kiwi-hardwood-pole-grove>: HTTP status code is not handled or not allowed 2026-01-28 06:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-starter-unit-36w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mh-2448-hdfl-48-w-mobile-bench-cabinets-heavy-duty-drawer-hardboard-top>: HTTP status code is not handled or not allowed 2026-01-28 06:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yoke-roller-sealed-crowned-od-15-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jat-125-3-8-stubby-composite-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-28 06:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-add-on-unit-72w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-add-on-unit-36w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-24w-x-24l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-wound-filter-cartridges-20lx2-12od-5-micron>: HTTP status code is not handled or not allowed 2026-01-28 06:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-5-year-inline-10-carbon-filter-fittings>: HTTP status code is not handled or not allowed 2026-01-28 06:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-2cg-10-2-w-r-connector-for-2-4-pipe>: HTTP status code is not handled or not allowed 2026-01-28 06:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-pleated-cartridges-standard-2-34odx9-34l-5-micron>: HTTP status code is not handled or not allowed 2026-01-28 06:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-72w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-filter-housing-wrenches-500-4000-4200-7000-v-i-h-series>: HTTP status code is not handled or not allowed 2026-01-28 06:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-danger-do-not-enter-authorized-personnel-only-3>: HTTP status code is not handled or not allowed 2026-01-28 06:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-4-awg-6-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 06:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-big-bubba-pleated-cartridge-50-micron>: HTTP status code is not handled or not allowed 2026-01-28 06:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-3uc-10-3-u-cutter-w-r-cables>: HTTP status code is not handled or not allowed 2026-01-28 06:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/littauer-suture-removal-scissors-5-1-2-l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-30-production-workbench-birch-butcher-block-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kelly-hemostatic-forceps-curved-5-1-2-l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk2000-boltless-pallet-rack-48-inch-x-240-inch-upright-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk2000-boltless-pallet-rack-4-inch-x-96-inch-step-beam>: HTTP status code is not handled or not allowed 2026-01-28 06:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-peco1065-double-eco-gate-8482-8-w-to-10-w-6-h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-12-0-awg-12-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 06:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-floor-crane-4l0042-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roll-of-500-hazard-warning-vinyl-labels-asbestos-free>: HTTP status code is not handled or not allowed 2026-01-28 06:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk2000-boltless-pallet-rack-48-inch-pallet-support-roll-in>: HTTP status code is not handled or not allowed 2026-01-28 06:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-floor-crane-4l0007-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-kap-industrial-pant-black-40x32-pt20>: HTTP status code is not handled or not allowed 2026-01-28 06:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk3000-structural-channel-pallet-rack-3-inch-x-42-inch-x-144-inch-upright>: HTTP status code is not handled or not allowed 2026-01-28 06:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-heavy-duty-mobile-work-platform-36-x-36-platform>: HTTP status code is not handled or not allowed 2026-01-28 06:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-1-0-awg-4-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 06:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexbollard-52h-x-7-14w-w99h-signpost-concrete-redwhite-xl-b528-c-redwhite>: HTTP status code is not handled or not allowed 2026-01-28 06:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sign-14x10-rigid-plastic-hearing-protection-required>: HTTP status code is not handled or not allowed 2026-01-28 06:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-2-tier-esd-24w-x-36l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-3-8-ring-terminals-2-0-awg-6-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 06:32:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/over-the-panel-single-hook-qty-6-black>: HTTP status code is not handled or not allowed 2026-01-28 06:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impromptu-machine-stand-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexbollard-52h-x-7-14w-w99h-signpost-adhesive-redwhite-xl-b528-d-redwhite>: HTTP status code is not handled or not allowed 2026-01-28 06:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-tubular-deck-aluminum-stock-cart-700-lb-cap-986990>: HTTP status code is not handled or not allowed 2026-01-28 06:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-24w-x-72l-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-14w-x-42l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-trash-container-garbage-can-lid-55-gallon-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shopstar-electric-chain-hoist-500-lbs-cap-12-fpm-10ft-lift-110v-w-fabric-chain-bags-3-3-8l>: HTTP status code is not handled or not allowed 2026-01-28 06:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-rigid-plastic-no-smoking-matches-or-open-flames>: HTTP status code is not handled or not allowed 2026-01-28 06:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-275088-8-12-test-ball-plug-11-psi-25-ft>: HTTP status code is not handled or not allowed 2026-01-28 06:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-sign-14x10-vinyl-spill-response-equipment>: HTTP status code is not handled or not allowed 2026-01-28 06:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11126-qc-disc-type-s-3-aluminum-oxide-medium>: HTTP status code is not handled or not allowed 2026-01-28 06:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 06:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-sign-14x10-aluminum-first-aid-station>: HTTP status code is not handled or not allowed 2026-01-28 06:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/db-p9803ec-1-12-x-16-double-flanged-strainer-tailpiece-pvc-adapter>: HTTP status code is not handled or not allowed 2026-01-28 06:32:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/launderable-gown-protective-wear-organizer-5-11-16-w-x-3-15-16-d-x-9-7-8-h-multicolor>: HTTP status code is not handled or not allowed 2026-01-28 06:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-30925-abs-to-pvc-transition-green-cement-16-oz>: HTTP status code is not handled or not allowed 2026-01-28 06:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hc-45025-sandcloth-waterproof-10-yd-plumber-s-grit-rool>: HTTP status code is not handled or not allowed 2026-01-28 06:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-four-square-game-stencil-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 06:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-glove-box-dispenser-22-1-4-w-x-5-d-x-14-3-4-h-maple>: HTTP status code is not handled or not allowed 2026-01-28 06:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-120v-1-sweat-connection-line-voltage-motorized-zone-valves-8-cv-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-commercialpro>: HTTP status code is not handled or not allowed 2026-01-28 06:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-30915-abs-medium-black-cement-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 06:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snail-hopscotch-playground-stencil-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 06:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-sign-14x10-rigid-plastic-keep-door-closed>: HTTP status code is not handled or not allowed 2026-01-28 06:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-handicap-symbol-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 06:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-single-rod-direct-spark-ignition-control-6-second-trial-timing>: HTTP status code is not handled or not allowed 2026-01-28 06:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-18w-x-24l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 06:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69408 pages (at 97 pages/min), scraped 33384 items (at 17 items/min) 2026-01-28 06:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x18x4-1-2-open-top-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-28 06:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-tradeline-power-pro-model-3-pole-40a-120v>: HTTP status code is not handled or not allowed 2026-01-28 06:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-2-shelf-21w-x-60l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-2-shelf-21w-x-54l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40435-satin-disc-wheel-1-8-mandrel-1-aluminum-oxide-fine>: HTTP status code is not handled or not allowed 2026-01-28 06:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32041-qc-disc-type-r-3-aluminum-oxide-medium>: HTTP status code is not handled or not allowed 2026-01-28 06:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x24x4-1-2-open-top-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-28 06:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x18x4-1-2-kraft-open-top-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-28 06:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-24w-x-54l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11215-qc-disc-type-r-2-aluminum-oxide-coarse>: HTTP status code is not handled or not allowed 2026-01-28 06:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-30w-x-60l-x-69h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-inch-x-6-inch-x-6-inch-long-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 06:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-276348-3-4-test-ball-plug-17-psi-40-ft>: HTTP status code is not handled or not allowed 2026-01-28 06:33:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-w-machine-guard-wire-panel-black>: HTTP status code is not handled or not allowed 2026-01-28 06:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microporous-coverall-elastic-wrists-ankles-hood-boots-white-3x-large-25-case>: HTTP status code is not handled or not allowed 2026-01-28 06:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-panel-display-tower-5-ft-9-inch-fabric-color-navy>: HTTP status code is not handled or not allowed 2026-01-28 06:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-21w-x-48l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hacksaw-replacement-blades-14-tpi-12-inch-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plant-marking-stencil-20x20-keep-aisle-clear-bilingular>: HTTP status code is not handled or not allowed 2026-01-28 06:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-48405-np120-ec-full-size-economy-nestable-plastic-pallet-48w-x-40d-x-5h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-non-electric-office-partition-panel-with-raceway-48-14-w-x-65-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-482212-ec-dunnage-rack-48w-x-22d-x-12h-1200-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-dual-heat-electric-garage-heater-w-bluetooth-51-180-btu-15-000-watts>: HTTP status code is not handled or not allowed 2026-01-28 06:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-dual-heat-electric-garage-heater-w-bluetooth-25-589-btu-7500w>: HTTP status code is not handled or not allowed 2026-01-28 06:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/martin-yale-high-speed-letter-opener>: HTTP status code is not handled or not allowed 2026-01-28 06:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-20-gal-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-48246-hpfl-display-base-pallet-solid-top-end-cap-48w-x-24d-x-6h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 06:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-20-gal-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-mobile-printer-stand-19x16x13-1-2-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-18w-x-60l-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-24-number-0>: HTTP status code is not handled or not allowed 2026-01-28 06:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-21w-x-24l-x-69h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-3-tier-esd-18w-x-30l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-24-letter-l>: HTTP status code is not handled or not allowed 2026-01-28 06:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x1-1-4-bugle-head-drywall-screws-0620KPG>: HTTP status code is not handled or not allowed 2026-01-28 06:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-sierra-performance-beyond-0-voc-acry-enamel-satin-tint-base>: HTTP status code is not handled or not allowed 2026-01-28 06:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-indus-choice-1600-sys-gen-purp-enamel-aero-ansi-61-lght-gry>: HTTP status code is not handled or not allowed 2026-01-28 06:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-stainless-steel-faucet-connector-20-l-3-8-x-1-2-od-x-fip>: HTTP status code is not handled or not allowed 2026-01-28 06:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-36-number-1>: HTTP status code is not handled or not allowed 2026-01-28 06:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-turn-straight-stop-valve-w-cross-handle-brushed-nickel-1-2-fip-x-3-8-od-comp>: HTTP status code is not handled or not allowed 2026-01-28 06:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7400-series-340-voc-dtm-alkyd-enamel-yellow-old-catpillr>: HTTP status code is not handled or not allowed 2026-01-28 06:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-21w-x-72l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-48-14-w-x-73-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-18w-x-48l-x-69h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-link-t-link-bump-cap-tychem-4000-hood-hx5-papr>: HTTP status code is not handled or not allowed 2026-01-28 06:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/certificatedocument-cover-47400-12-12-x-9-34-gray-metallic-6pack>: HTTP status code is not handled or not allowed 2026-01-28 06:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-24w-x-48l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rule-index-cards-40279-3-x-5-glow-assorted-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-14w-x-36l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-with-high-temp-adhesive-38-thick-x-34-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x1-2-pan-head-machine-screws-1408MCP188>: HTTP status code is not handled or not allowed 2026-01-28 06:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-as6000-sys-100-voc-anti-slip-low-profile-epoxy-flr-ct-navy>: HTTP status code is not handled or not allowed 2026-01-28 06:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-detectable-silicone-o-ring-dash-223-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 06:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16x3-indent-hex-washer-head-thread-cutting-screws-type-f-3748FW>: HTTP status code is not handled or not allowed 2026-01-28 06:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-m1600-sys-slvnt-based-prec-lin-invrt-mark-pnt-aero-fluor-or>: HTTP status code is not handled or not allowed 2026-01-28 06:33:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-exit-only-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 06:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-viton-o-ring-dash-106-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-pass-thru-cable-36-14-w-x-46-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-9100-system-340voc-dtm-epoxy-mastic-safety-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-48-14-w-x-76-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-60-14-w-x-76-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-strength-neoprene-rubber-strip-with-acrylic-adhesive-60a-116-thick-x-12-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7500-series-450-voc-dtm-alkyd-enamel-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 06:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-sprinkler-control-valve-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 06:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-2-modified-truss-head-self-drilling-screws-0808KPM>: HTTP status code is not handled or not allowed 2026-01-28 06:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-industrial-choice-1600-sys-gen-purp-enamel-aero-antique-wh>: HTTP status code is not handled or not allowed 2026-01-28 06:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asb1185-lawn-and-garden-tire-assembly-size-18-x-850-8>: HTTP status code is not handled or not allowed 2026-01-28 06:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x2-1-2-flat-thread-cutting-screws-type-f-1440FPF>: HTTP status code is not handled or not allowed 2026-01-28 06:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/overhead_clearance_bars_door_guards>: HTTP status code is not handled or not allowed 2026-01-28 06:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rule-index-cards-35810-5-x-8-assorted-100pack>: HTTP status code is not handled or not allowed 2026-01-28 06:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40x1-2-fillister-head-machine-screws-0408MPL188>: HTTP status code is not handled or not allowed 2026-01-28 06:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-dash-911-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 06:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brighton-king-tufted-upholstered-platform-bed-black-with-pocket-spring-mattress>: HTTP status code is not handled or not allowed 2026-01-28 06:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-panel-hinged-shipping-crate-with-lid-32-x-24-x-24-od>: HTTP status code is not handled or not allowed 2026-01-28 06:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-high-performance-v2100-system-high-heat-aerosol-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x3-4-pan-head-self-tapping-screws-type-a-thread-1412APPB>: HTTP status code is not handled or not allowed 2026-01-28 06:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-do-not-open>: HTTP status code is not handled or not allowed 2026-01-28 06:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7400-series-340-voc-dtm-alkyd-enamel-flat-white>: HTTP status code is not handled or not allowed 2026-01-28 06:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-ply-thermal-cash-registerpos-rolls-07906-3-18-x-230-white-10pack>: HTTP status code is not handled or not allowed 2026-01-28 06:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7400-series-340-voc-dtm-alkyd-enamel-safety-red>: HTTP status code is not handled or not allowed 2026-01-28 06:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-high-perform-v2100-rust-prevent-ena-aero-wh-cln-metal-prim>: HTTP status code is not handled or not allowed 2026-01-28 06:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-silicone-o-ring-dash-110-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 06:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-flammable-storage-freezer-30-cu-ft-ff301www-0mgp>: HTTP status code is not handled or not allowed 2026-01-28 06:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tagout-center-with-supplies>: HTTP status code is not handled or not allowed 2026-01-28 06:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69506 pages (at 98 pages/min), scraped 33397 items (at 13 items/min) 2026-01-28 06:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-2-5mm-wide-9mm-id-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 06:33:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-punch-die-set-with-storage-case-12-piece>: HTTP status code is not handled or not allowed 2026-01-28 06:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-rubber-strip-with-acrylic-adhesive-60a-14-thick-x-1-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-o-ring-5mm-wide-155mm-id-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 06:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/453-1-1-2-plastic-valve-extension>: HTTP status code is not handled or not allowed 2026-01-28 06:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-rubber-overboots-mens-black-size-1719-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tingley-174-pilot-g2-knee-boot-composite-safety-toe-15-h-size-13-black>: HTTP status code is not handled or not allowed 2026-01-28 06:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-mc1800-sys-wtr-bas-prec-line-invert-mark-chalk-aero-apwa-rd>: HTTP status code is not handled or not allowed 2026-01-28 06:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-electrician-lock-out>: HTTP status code is not handled or not allowed 2026-01-28 06:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-tubing-1id-x-1-14od-x-50-ft>: HTTP status code is not handled or not allowed 2026-01-28 06:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/415-1-1-4-tubeless-tire-valve>: HTTP status code is not handled or not allowed 2026-01-28 06:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-tubing-316id-x-516od-x-10-ft>: HTTP status code is not handled or not allowed 2026-01-28 06:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2545e10v-value-plus-460v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 06:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-28 06:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-tufted-upholstered-king-size-headboard-in-black>: HTTP status code is not handled or not allowed 2026-01-28 06:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/display-unit-2-tier-chrome-24-w-x-48-l-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 06:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x3-flat-self-drilling-screws-1048KQF>: HTTP status code is not handled or not allowed 2026-01-28 06:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-weekly-appointment-book-refill-hourly-ruled-3-1-4-x-6-1-4-2015-aag7090410>: HTTP status code is not handled or not allowed 2026-01-28 06:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-general-purpose-filter-125-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flagging-tape-fluorescent-orange-2>: HTTP status code is not handled or not allowed 2026-01-28 06:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-non-cycling-air-dryer-42-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-general-purpose-filter-233-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-silicone-o-ring-dash-122-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 06:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300-lb-clutch-jack-7790>: HTTP status code is not handled or not allowed 2026-01-28 06:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-full-tufted-upholstered-platform-bed-light-gray-pocket-spring-mattress>: HTTP status code is not handled or not allowed 2026-01-28 06:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x4-bugle-head-drywall-screws-0864DQG>: HTTP status code is not handled or not allowed 2026-01-28 06:34:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-double-arm-dock-light-w-screw-med-base-25-reach-par38-bulb-compatible>: HTTP status code is not handled or not allowed 2026-01-28 06:34:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/toilets_urinals/bidets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hlb-3000er-wireless-remote-control-electric-bidet-seat>: HTTP status code is not handled or not allowed 2026-01-28 06:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fg300-36-traffic-channelizer-post-efx-polyurethane-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-push-centerset-metering-faucet-s-5141-ld>: HTTP status code is not handled or not allowed 2026-01-28 06:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-fuel-ventless-gas-fireplace-w-mantel-26000-btu-remote-apple-spice-dfs-300r-3as>: HTTP status code is not handled or not allowed 2026-01-28 06:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-12-column-opening-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-pharmacy-stainless-steel-solid-door-refrigerator-72-cu-ft-ph-abt-hc-ssp-72>: HTTP status code is not handled or not allowed 2026-01-28 06:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/micro-message-dater-self-inking>: HTTP status code is not handled or not allowed 2026-01-28 06:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8568-ultra-containment-berm-foam-wall-model-3-x-3-x-4-copolymer-2000>: HTTP status code is not handled or not allowed 2026-01-28 06:34:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/ice_melt_rock_salt already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-series-classroom-chair-navy-vented-back-18-5-8-w-x-30-5-8-h-1>: HTTP status code is not handled or not allowed 2026-01-28 06:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x4-pan-head-self-drilling-screws-1464KPP>: HTTP status code is not handled or not allowed 2026-01-28 06:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-m6jkt-y4x-m6-soft-shell-jacket-yel-4x>: HTTP status code is not handled or not allowed 2026-01-28 06:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blower-for-duluth-forge-gas-fireplaces>: HTTP status code is not handled or not allowed 2026-01-28 06:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11110-100-psi-14-lm-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/toilets_urinals/bidets>: HTTP status code is not handled or not allowed 2026-01-28 06:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/titan-telescoping-flagpole-kit-25-ft-bronze-black>: HTTP status code is not handled or not allowed 2026-01-28 06:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlw-2607-22ct-compact-12-hammer-drill-driver-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-15-11112-30inhg760mmhg-vac-18-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 06:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-retardant-silicone-foam-no-adhesive-132-thick-x-12w-x-10l>: HTTP status code is not handled or not allowed 2026-01-28 06:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kold-locker-outdoor-freezer-minus-10-degrees-f-with-floor-1-1-2hp-lh-door-96-inches-w-x-96-inches-d-x-91-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 06:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3d-glow-sign-plastic-plastic-flangedlow-fire-alarm>: HTTP status code is not handled or not allowed 2026-01-28 06:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-lid-foam-food-containers-5-7-8in-x-6in-x-3in-400-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/ice_melt_rock_salt>: HTTP status code is not handled or not allowed 2026-01-28 06:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4x4-toggle-anchors-1464TBCM>: HTTP status code is not handled or not allowed 2026-01-28 06:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-k-ni-wall-mounted-shower-bench-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 06:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-tape-red-2-x30>: HTTP status code is not handled or not allowed 2026-01-28 06:34:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 06:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-cord-18-dia-x-100l>: HTTP status code is not handled or not allowed 2026-01-28 06:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gel-ocity-quick-dry-retractable-gel-pen-medium-0-7mm-black-ink-barrel-dozen>: HTTP status code is not handled or not allowed 2026-01-28 06:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/monthly-planner-9-x-11-winestone-2015-aag7026050>: HTTP status code is not handled or not allowed 2026-01-28 06:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-drop-in-anchor-284949>: HTTP status code is not handled or not allowed 2026-01-28 06:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brite-liner-highlighter-chisel-tip-yellow-24-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-sheet-with-high-temp-adhesive-40a-18-thick-x-36w-x-12l>: HTTP status code is not handled or not allowed 2026-01-28 06:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-click-mechanical-pencil-0-7-mm-hb-2-5-black-lead-asstd-barrel-colors-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-40-flat-top-pallet-4-way-entry>: HTTP status code is not handled or not allowed 2026-01-28 06:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plumix-fountain-pen-refill-cartridge-permanent-black-ink-12-box>: HTTP status code is not handled or not allowed 2026-01-28 06:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-8000-series-receding-drawer-front-lateral-file-5-drawer-putty>: HTTP status code is not handled or not allowed 2026-01-28 06:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13x3-hex-tap-bolts-5048BHT>: HTTP status code is not handled or not allowed 2026-01-28 06:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-terminal-protector-sealer-20-oz-12-can>: HTTP status code is not handled or not allowed 2026-01-28 06:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-emergency-exit-le-arrow>: HTTP status code is not handled or not allowed 2026-01-28 06:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-illuminated-push-button-operator-22mm-green-flush-style>: HTTP status code is not handled or not allowed 2026-01-28 06:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-5x14-w-door-le-arrow>: HTTP status code is not handled or not allowed 2026-01-28 06:34:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pediatric-forearm-crutches-large-knight-blue-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-9-long-term-care-pressure-redistribution-mattress-no-cut-out-42w-x-80l>: HTTP status code is not handled or not allowed 2026-01-28 06:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-laser-inkjet-file-folder-labels-purple-border-750-pack-5666>: HTTP status code is not handled or not allowed 2026-01-28 06:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-peel-inkjet-address-labels-1-1-3-x-4-white-1400-box-8462>: HTTP status code is not handled or not allowed 2026-01-28 06:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4x3-toggle-anchors-1448TBCR>: HTTP status code is not handled or not allowed 2026-01-28 06:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-fixed-spreader-beam-yellow-40000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/print-or-write-removable-multi-use-labels-3-4-x-1-white-1000-pack-05428>: HTTP status code is not handled or not allowed 2026-01-28 06:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toilet-partition-door-hardware-kit-inswing-zamak-baked-enamel-hdwt-zd1>: HTTP status code is not handled or not allowed 2026-01-28 06:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/558-professional-rolling-trimmer-51in-cutting-length>: HTTP status code is not handled or not allowed 2026-01-28 06:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-8-round-spacers-140208RSA>: HTTP status code is not handled or not allowed 2026-01-28 06:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69599 pages (at 93 pages/min), scraped 33412 items (at 15 items/min) 2026-01-28 06:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/556-professional-rolling-trimmer-37in-cutting-length>: HTTP status code is not handled or not allowed 2026-01-28 06:34:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 06:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-ship-m-series-short-emergency-crash-cart-w-four-drawers-and-breakaway-lock>: HTTP status code is not handled or not allowed 2026-01-28 06:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odorstop-72-watt-uv-air-treatment-system-with-16-bulbs>: HTTP status code is not handled or not allowed 2026-01-28 06:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6306zznr-double-shielded-wsnap-ring-30mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-carton-truck-single-level-48-x-24-5-polyurethane-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-m-series-five-drawer-anesthesia-cart-w-standard-key-lock-red>: HTTP status code is not handled or not allowed 2026-01-28 06:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tank-bottle-lifter-yellow-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/counting-package-for-opaque-labels-only-up-to-6-w-x-12-dia-3-core-rolls-count-100-deluxe>: HTTP status code is not handled or not allowed 2026-01-28 06:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-in-line-slitter-rewinder-for-rolls-up-to-10-x-8-1-2-dia-right-side-of-printer-sr-200-r-l>: HTTP status code is not handled or not allowed 2026-01-28 06:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6006zz-double-shielded-30mm-bore-55mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-lift-beam-yellow-42-l-x-16-w-x-6-h-80lbs-10000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-fork-extensions-60-4w-x-60l-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-waterproof-reversible-raincoat-ansi-class-3-300d-oxfordpu-coating-limeblack-3xl>: HTTP status code is not handled or not allowed 2026-01-28 06:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2x3-hex-lag-screws-5048L>: HTTP status code is not handled or not allowed 2026-01-28 06:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmps4111mc-fmpro-stainless-steel-41-wx20-1-4-dx43-1-8-h-11-drawer-roller-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 06:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-w-mobile-bench-cabinet-1-shelf>: HTTP status code is not handled or not allowed 2026-01-28 06:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-r8-open-05-bore-1125-od>: HTTP status code is not handled or not allowed 2026-01-28 06:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmp5421rc-rd-fmpro-54-w-x-20-d-x-42-1-2-h-21-drawer-red-chest-roller-cabinet-combo>: HTTP status code is not handled or not allowed 2026-01-28 06:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-lift-beam-yellow-12-l-x-14-w-x-12-h-9lbs-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6328-open-140mm-bore-300mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-dielectric-union-copper>: HTTP status code is not handled or not allowed 2026-01-28 06:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dino-lite-table-toptype-versatile-stand>: HTTP status code is not handled or not allowed 2026-01-28 06:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airpotsthermal-pitcher-airpot-sst-25l-sngl-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-light-fixture-with-shelf-60>: HTTP status code is not handled or not allowed 2026-01-28 06:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-protection-hi-vis-terry-glove-latex-coated-41-1400-m>: HTTP status code is not handled or not allowed 2026-01-28 06:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s373pt-ansi-class-e-lightweight-rain-pants-hi-vis-lime-5x-61516>: HTTP status code is not handled or not allowed 2026-01-28 06:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19290-americana-full-brim-hard-hat-w-accy-slots-mega-ratchet-4-pt-suspension-hi-viz-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safe-130eh-electronic-lock-28w-x-30-1-2d-x-57h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-four-digit-1017-1>: HTTP status code is not handled or not allowed 2026-01-28 06:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/depository-safe-ms1k-dual-key-lock-10-1-2w-x-6d-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-voltage-370-440-oval-run-capacitor-455-mfd-45-5dv>: HTTP status code is not handled or not allowed 2026-01-28 06:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-weight-inspection-gloves-unhemmed-mens-97-520>: HTTP status code is not handled or not allowed 2026-01-28 06:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-poison-6-2>: HTTP status code is not handled or not allowed 2026-01-28 06:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-l-traffic-barrier-polyethylene-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-bulb-g10704-120v-warm-white-3400-lumens-3000k-light-color-48l-x-1w>: HTTP status code is not handled or not allowed 2026-01-28 06:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-nylon-lycra-glove-nitrile-coated-34-874fy-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-anesthesia-cart-6-drawers-e-lock-47-5-8-w-x-22-l-x-66-3-4-h-taupe>: HTTP status code is not handled or not allowed 2026-01-28 06:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-bak-mb1d-id-retractable-key-reel-with-36-nylon-cord-swivel-bulldog-clip>: HTTP status code is not handled or not allowed 2026-01-28 06:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62396-s252c-class-2-mesh-solid-surveyor-vest-hi-vis-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cone-sign-handicapped>: HTTP status code is not handled or not allowed 2026-01-28 06:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-spread-basket-lifting-beam-yellow-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-lift-beam-yellow-25-l-x-26-w-x-12-h-107lbs-20000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-x-14-working-length-j-hook-style-9>: HTTP status code is not handled or not allowed 2026-01-28 06:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-isolation-cart-6-drawers-30-w-x-22-l-x-43-3-4-h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-lift-beam-yellow-28-l-x-36-w-x-12-h-585lbs-80000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-1267-3>: HTTP status code is not handled or not allowed 2026-01-28 06:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-lightweight-emergency-cart-6-drawers-key-lock-36-3-4-wx22-lx40-1-2-h-taupe>: HTTP status code is not handled or not allowed 2026-01-28 06:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-lightweight-emergency-cart-6-drawers-key-lock-36-3-4-wx22-lx40-1-2-h-sand>: HTTP status code is not handled or not allowed 2026-01-28 06:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-dia-x-8-working-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-28 06:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swf8g-12-id-round-flange-type-linear-bearing-wresin-retainer-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-fixed-spreader-beam-yellow-60000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knockdown-tray-13-x-12-x-4-1-2-cardboard-brown-qty-100-plus>: HTTP status code is not handled or not allowed 2026-01-28 06:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-flammable-3-blank-1>: HTTP status code is not handled or not allowed 2026-01-28 06:35:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/ceiling_fans/residential_ceiling_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/do-not-double-stack-edge-protectors-3-x-3-x-48-160-thick-white-1600-skid>: HTTP status code is not handled or not allowed 2026-01-28 06:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-foot-square-shade-sail-sand>: HTTP status code is not handled or not allowed 2026-01-28 06:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edge-protectors-2-x-2-x-48-225-thick-white-1540-skid>: HTTP status code is not handled or not allowed 2026-01-28 06:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6918zz-double-sealed-90mm-bore-125mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-green-wire-shelf-platform-p2424g-24w-x-24d>: HTTP status code is not handled or not allowed 2026-01-28 06:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-plastic-stanchion-stake-22-42-adjustable-height-red>: HTTP status code is not handled or not allowed 2026-01-28 06:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-hr-time-switched-duty-cycle-dial-plastic-enclosure>: HTTP status code is not handled or not allowed 2026-01-28 06:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-savary-dilator-drying-cart-hepa-filter-23-89-100-wx22-lx51-89-100-h-hammertone-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multivolt-365-day-4-zone-lighting-control-30a-spdt-w-portable-mem-module>: HTTP status code is not handled or not allowed 2026-01-28 06:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e4dr19fm51u-open-4-post-rack-19x51ru-alumblack>: HTTP status code is not handled or not allowed 2026-01-28 06:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6806-open-30mm-bore-42mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-housing-assembly-for-wilton-drill-presses>: HTTP status code is not handled or not allowed 2026-01-28 06:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/fans_blowers/ceiling_fans/residential_ceiling_fans>: HTTP status code is not handled or not allowed 2026-01-28 06:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/litestak-led-light-module-24vdc-green-lsld-024g>: HTTP status code is not handled or not allowed 2026-01-28 06:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-buster-4-oz>: HTTP status code is not handled or not allowed 2026-01-28 06:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/litestak-led-light-module-120vac-amber-lsld-120a>: HTTP status code is not handled or not allowed 2026-01-28 06:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/litestak-light-module-24vdc-green-lsl-024g>: HTTP status code is not handled or not allowed 2026-01-28 06:35:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/stack_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-emergency-cart-short-height-5-drawers-18-w-x-18-l-x-34-1-2-h-mauve>: HTTP status code is not handled or not allowed 2026-01-28 06:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-column-medical-storage-cart-glass-door-22-1-2-w-x-27-d-x-75-3-4-h-taupe>: HTTP status code is not handled or not allowed 2026-01-28 06:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vynckier-mp1614s-vj-16-inch-x-14-inch-steel-mounting-plate>: HTTP status code is not handled or not allowed 2026-01-28 06:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strobe-120vac-hazardous-location-clear-151xst-120c>: HTTP status code is not handled or not allowed 2026-01-28 06:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-procedure-cart-6-drawers-e-lock-36-3-4-w-x-22-l-x-43-3-4-h-red>: HTTP status code is not handled or not allowed 2026-01-28 06:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/attachment-kit-321291>: HTTP status code is not handled or not allowed 2026-01-28 06:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-414815>: HTTP status code is not handled or not allowed 2026-01-28 06:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/160mm-dia-slewing-ring-bearing-11240-lbs-max-axial-static>: HTTP status code is not handled or not allowed 2026-01-28 06:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-181-l-low-retention-pipette-tip-reload-system-non-sterile-1920-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-plastic-2-flat-black-shelf-service-utility-cart-44-x-25-1-2-5-rubber-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69695 pages (at 96 pages/min), scraped 33427 items (at 15 items/min) 2026-01-28 06:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-left-hand-female-rod-end-bearing>: HTTP status code is not handled or not allowed 2026-01-28 06:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-short-height-36-3-4-w-x-22-l-x-37-1-4-h-hammertone-red>: HTTP status code is not handled or not allowed 2026-01-28 06:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/stack_lights>: HTTP status code is not handled or not allowed 2026-01-28 06:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suredry-14-scope-drying-cabinet-w-e-lock-36-w-x-24-d-x-93-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 06:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-swivel-single-miter-cnc-band-saw-s-320cnc>: HTTP status code is not handled or not allowed 2026-01-28 06:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-isolation-cart-3-drawers-standard-key-lock-37-1-2-wx22-lx42-63-100-h-hammertone-green>: HTTP status code is not handled or not allowed 2026-01-28 06:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-approved-yellow-x-large-tote-combo-w-4wheels-47-1-4l-x-51-1-2w-x-33h>: HTTP status code is not handled or not allowed 2026-01-28 06:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/syringe-filter-sfca-0-22-181-m-30mm-sterile-dark-blue-polypropylene-30-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strust-sspr-metallic-silver-11-oz-7271830>: HTTP status code is not handled or not allowed 2026-01-28 06:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-utah>: HTTP status code is not handled or not allowed 2026-01-28 06:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600ml-graduated-beaker-polypropylene-non-sterile-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11614231comfort-vest-style-climbing-harness-tongue-buckle-pass-through-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-28-insert-for-hard-wood-brass-400-428>: HTTP status code is not handled or not allowed 2026-01-28 06:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-sign-men-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250ml-bottle-top-filter-nylon-filter-material-0-45-181-m-75mm-sterile-24-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-isolation-cart-3-drawers-standard-key-lock-37-1-2-wx22-lx42-63-100-h-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 06:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250ml-filter-system-pes-filter-material-0-10-181-m-75mm-sterile-polystyrene-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515-tank-heavy-duty-shipping-case-tube-with-wheels-10l-x-10w-x-41h-blk>: HTTP status code is not handled or not allowed 2026-01-28 06:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-anesthesia-cart-6-drawers-e-lock-47-5-8-w-x-22-l-x-66-3-4-h-mauve>: HTTP status code is not handled or not allowed 2026-01-28 06:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prowler-pool-66-gallon>: HTTP status code is not handled or not allowed 2026-01-28 06:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500ml-pp-bottle-top-filter-nylon-filter-material-0-45-181-m-90mm-non-sterile-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-height-triple-column-medical-storage-cabinet-60-2-5-wx27-4-5-dx55-3-5-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-poly-drum-funnel-cover>: HTTP status code is not handled or not allowed 2026-01-28 06:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-insert-for-soft-wood-flanged-901420-20>: HTTP status code is not handled or not allowed 2026-01-28 06:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-plasteur-174-pasteur-pipet-9-l-bulk-packed-sterile-500-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/275-omni-telescoping-case-trade-show-case-43l-x-33w-x-8h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/framed-fingerless-work-glove-brown-black-xl-1-pair-gfd-17kbr1l>: HTTP status code is not handled or not allowed 2026-01-28 06:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511-rotunda-graphics-case-trade-show-case-10l-x-10w-x-44h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-non-contact-forehead-infrared-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 06:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-powered-led-warning-light-amber-lens-magnet-mount-3020-a>: HTTP status code is not handled or not allowed 2026-01-28 06:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedgebit-drill-bit-sdsplus-size-58-usable-6-l-overall-8-l>: HTTP status code is not handled or not allowed 2026-01-28 06:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-07-tapered-ultrasonic-insert-single-vane-th-m40-sv>: HTTP status code is not handled or not allowed 2026-01-28 06:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedgebolt-ot-screw-anchor-38-x-4>: HTTP status code is not handled or not allowed 2026-01-28 06:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48327-4hp-straight-line-die-grinder-30000-rpm-gearless-rear-exhaust-1-4-6mm-collets>: HTTP status code is not handled or not allowed 2026-01-28 06:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/architectural-sign-men-symbol>: HTTP status code is not handled or not allowed 2026-01-28 06:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-missouri>: HTTP status code is not handled or not allowed 2026-01-28 06:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-blower-hadp8-12-hp-3-ph-tefc-cw-top-horizontal>: HTTP status code is not handled or not allowed 2026-01-28 06:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strain-relief-grips-3-4-npt-0-520-to-0-730-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-blower-hadp12-3-hp-3-ph-tefc-cw-230460v-top-horizontal-wheel-11-12-x-2-34>: HTTP status code is not handled or not allowed 2026-01-28 06:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-stiff-splinting-material-24-x-36-x-1-8-mini-perforated>: HTTP status code is not handled or not allowed 2026-01-28 06:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-bin-cabinet-with-68-storage-bins-dual-locking-48-w-x-18-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-28 06:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-straight-ultrasonic-insert-flanged-fl-420-hi>: HTTP status code is not handled or not allowed 2026-01-28 06:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-ga-extra-heavy-duty-triple-tier-locker-3-compartments-18-w-x-18-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/titan-non-stretch-harness-mating-buckle-legs-436719>: HTTP status code is not handled or not allowed 2026-01-28 06:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washbar-duo-chrome-plated-casting-wbd1-0005>: HTTP status code is not handled or not allowed 2026-01-28 06:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-machine-labels-danger-cut-sever-hazard>: HTTP status code is not handled or not allowed 2026-01-28 06:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-flush-press-insert-stainless-240-332-cr>: HTTP status code is not handled or not allowed 2026-01-28 06:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a10106phc-polyproencl-1004x1004x638in>: HTTP status code is not handled or not allowed 2026-01-28 06:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws747518ss-watershedfreestand-type-4x-7400x7500x1800in>: HTTP status code is not handled or not allowed 2026-01-28 06:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc200as-pneumatic-side-arm-bottomer>: HTTP status code is not handled or not allowed 2026-01-28 06:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-notice-plastic-parking-permits-are-required-this-area>: HTTP status code is not handled or not allowed 2026-01-28 06:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-roller-bearing-cone-lm300848>: HTTP status code is not handled or not allowed 2026-01-28 06:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-return-pneumatic-actuator-486-in-lbs-spring-end>: HTTP status code is not handled or not allowed 2026-01-28 06:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/newaire-ho3-2500-combination-hydroxyl-ozone-generator>: HTTP status code is not handled or not allowed 2026-01-28 06:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24vac-nema-4-electric-actuator-200-in-lbs-torque>: HTTP status code is not handled or not allowed 2026-01-28 06:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-beam-mover-up-to-7-1-2-in-flange-500-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-lad-saf-60-ft-vertical-safety-system-stainless-steel-cable-6119060>: HTTP status code is not handled or not allowed 2026-01-28 06:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-lad-saf-60-ft-swaged-galvanized-steel-cable-3-8-dia-1-7-strand-6104060>: HTTP status code is not handled or not allowed 2026-01-28 06:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-machine-labels-safety-first-read-directions-before-using-this-machine>: HTTP status code is not handled or not allowed 2026-01-28 06:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-warning-cylinders-must-be-chained-at-all-times>: HTTP status code is not handled or not allowed 2026-01-28 06:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-warning-keep-hands-away>: HTTP status code is not handled or not allowed 2026-01-28 06:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoist-ring-180-pivot-35-270-lb-load-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws603616ss-watershedwall-mt-encl-type-4x-6000x3600x1600in>: HTTP status code is not handled or not allowed 2026-01-28 06:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fox-earpiece-ep1013xc>: HTTP status code is not handled or not allowed 2026-01-28 06:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cougar-2-wire-microphone-ep4034qr>: HTTP status code is not handled or not allowed 2026-01-28 06:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-116-thick-x-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-strength-buna-n-rubber-sheet-no-adhesive-60a-332-thick-x-18-wide-x-18-long>: HTTP status code is not handled or not allowed 2026-01-28 06:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pur-fill-nf12-professional-straw-foam-nf12>: HTTP status code is not handled or not allowed 2026-01-28 06:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pageris-long-barrel-24-stainless-steel-foam-gun-dispenser-gu24>: HTTP status code is not handled or not allowed 2026-01-28 06:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-brown-no-a1306brn>: HTTP status code is not handled or not allowed 2026-01-28 06:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-342-dn-7-4-coupling-w-1-4-male-npt>: HTTP status code is not handled or not allowed 2026-01-28 06:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerpoint-hoist-ring-180-pivot-5500-lb-load-capacity-m20-bolt-28mm-dim-a-size>: HTTP status code is not handled or not allowed 2026-01-28 06:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-2-pc-brass-npt-ball-valve-w-nema-4-115vac>: HTTP status code is not handled or not allowed 2026-01-28 06:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-507-tlx-flat-face-twist-lock-nipple>: HTTP status code is not handled or not allowed 2026-01-28 06:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-607-tlx-flat-face-twist-lock-coupling>: HTTP status code is not handled or not allowed 2026-01-28 06:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-1-14-thick-x-3-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-brown-no-a1105brn>: HTTP status code is not handled or not allowed 2026-01-28 06:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-steel-rectangular-padlock-no-a6100>: HTTP status code is not handled or not allowed 2026-01-28 06:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-pallet-lifter-fixed-fork-1-ton-capacity-36-fork-length-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-steel-rectangular-padlock-no-a5262>: HTTP status code is not handled or not allowed 2026-01-28 06:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-white-polycombed-cotton-regular-42>: HTTP status code is not handled or not allowed 2026-01-28 06:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-hole-plain-finish-drop-forged-heavy-duty-towing-hook-2-packs-b2801a>: HTTP status code is not handled or not allowed 2026-01-28 06:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-non-drip-coupling-3-8-body-size-red-color-ring-nbr-seals>: HTTP status code is not handled or not allowed 2026-01-28 06:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-combination-hitch-w-mounting-kit-2-5-16in-hitch-ball-10057>: HTTP status code is not handled or not allowed 2026-01-28 06:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-esdanti-static-counter-jacket-electronic-blue-polyesternylon-m>: HTTP status code is not handled or not allowed 2026-01-28 06:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69795 pages (at 100 pages/min), scraped 33442 items (at 15 items/min) 2026-01-28 06:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-reel-lifter-3000-lbs-capacity-yellow-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-bar-1-14-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-72x24x72-2>: HTTP status code is not handled or not allowed 2026-01-28 06:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-12-thick-x-8-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-rubber-sheet-no-adhesive-60a-38-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-channel-nut-p1023egs-electro-galvanized-34-10>: HTTP status code is not handled or not allowed 2026-01-28 06:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-navy-polycombed-cotton-regular-46>: HTTP status code is not handled or not allowed 2026-01-28 06:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dripless-caulk-guns-ergo-tech-ets-3000-10-oz-caulk-gun>: HTTP status code is not handled or not allowed 2026-01-28 06:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-rubber-strip-with-acrylic-adhesive-60a-316-thick-x-1-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-hx-80-end-rider-pallet-truck-pr-27626-000>: HTTP status code is not handled or not allowed 2026-01-28 06:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-light-gray-polycombed-cotton-48>: HTTP status code is not handled or not allowed 2026-01-28 06:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-10fr4-garolite-bar-38-thick-x-4-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-38-thick-x-8-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-panel-mounting-kit-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 06:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-light-10-pendant-alabaster-glass-bell-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 06:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-navy-polycombed-cotton-regular-54>: HTTP status code is not handled or not allowed 2026-01-28 06:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-50-hp-1200-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-24-24-d-hopper-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:37:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-1hp-1800rpm-f2-mount>: HTTP status code is not handled or not allowed 2026-01-28 06:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-365t-frame-75-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-light-24-vanity-racetrack-style-old-bronze>: HTTP status code is not handled or not allowed 2026-01-28 06:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frost-surface-mounted-sanitary-napkin-disposal-stainless>: HTTP status code is not handled or not allowed 2026-01-28 06:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frost-stainless-steel-36-shower-rod>: HTTP status code is not handled or not allowed 2026-01-28 06:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-1-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-industrial-long-sleeve-work-shirt-gray-polycotton-regular-4xl>: HTTP status code is not handled or not allowed 2026-01-28 06:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-40-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cupped-doorknob-protector-for-round-doorknobs-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-96-rub-rail-040-thick-pearl-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-40-6-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-konnect-153-stackable-pencil-cup-white-6-case>: HTTP status code is not handled or not allowed 2026-01-28 06:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-relay-96-series-type-dpdt-blade-terminal-top-mtd-flange-coil-24-vac>: HTTP status code is not handled or not allowed 2026-01-28 06:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 06:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-magnetic-staple-remover-black-144-case>: HTTP status code is not handled or not allowed 2026-01-28 06:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combo-lock-for-horizontal-latch-box-locker-green-dial-rh>: HTTP status code is not handled or not allowed 2026-01-28 06:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cone-sign-reversible-arrow-black-on-orange-436723>: HTTP status code is not handled or not allowed 2026-01-28 06:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-standard-staples-8-pack-5-000-staples-per-pack-6-case>: HTTP status code is not handled or not allowed 2026-01-28 06:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tandem-load-wheel-assembly-for-111-112-113-114-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gemini-valve-s-s-ball-valve-w-500-series-double-acting-pneumatic-actuator-1-inch>: HTTP status code is not handled or not allowed 2026-01-28 06:37:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washable-school-glue-1-gal-liquid>: HTTP status code is not handled or not allowed 2026-01-28 06:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-premium-scissors-gray-36-case>: HTTP status code is not handled or not allowed 2026-01-28 06:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magic-office-tape-refills-3-4-x-1000-roll-clear-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-hooks-value-pack-large-5lb-cap-white-3-hooks-and-6-strips-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-security-combination-padlock-red>: HTTP status code is not handled or not allowed 2026-01-28 06:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magic-greener-tape-3-4-x-900-1-core-12-rolls-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b8-174-powercrown-153-premium-staples-1-4-leg-6mm-1-2-crown-5000-pack-100-case>: HTTP status code is not handled or not allowed 2026-01-28 06:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-34-thick-x-36-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combination-lock-with-long-bolt-right-hinged>: HTTP status code is not handled or not allowed 2026-01-28 06:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-wpt60-pallet-trucks-bj-1280-130011-00>: HTTP status code is not handled or not allowed 2026-01-28 06:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-axle-for-m-series-stacker-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-34-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 06:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 06:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-smx-45-walkie-pallet-truck>: HTTP status code is not handled or not allowed 2026-01-28 06:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-ewr-series-pallet-trucks-ba-146158>: HTTP status code is not handled or not allowed 2026-01-28 06:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axle-assembly-for-8300-8400-8500-pallet-trucks-ra-671-015-17>: HTTP status code is not handled or not allowed 2026-01-28 06:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballkissen-premium-wedge-14-x-15-dark-green>: HTTP status code is not handled or not allowed 2026-01-28 06:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-132-thick-x-3-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-key-for-1695mkada>: HTTP status code is not handled or not allowed 2026-01-28 06:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-lock-set-with-keys-for-cabinet-model-237635-rp9008>: HTTP status code is not handled or not allowed 2026-01-28 06:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-lip-edge-platform-truck-24-x-36-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-storage-locker-3-adjustable-center-shelves-61w-x-27d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 06:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-116-thick-x-34-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-motor-trolley-1-15-2845>: HTTP status code is not handled or not allowed 2026-01-28 06:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-bar-18-thick-x-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-push-trolley-1-12-10-18>: HTTP status code is not handled or not allowed 2026-01-28 06:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microflex-174-lifestar-ec-153-lse-104-nitrile-gloves-powder-free-size-xxl-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microflex-174-onyx-174-n64-nitrile-gloves-powder-free-beaded-size-m-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-3-hole-punch-11-32-inch-punch-size-with-40-sheet-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-11-standard-capacity-xl11-pleated-panel-ext-surface-16-inch-w-x-25-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 06:37:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-11-high-capacity-xl11-pleated-panel-extended-surface-20-inch-w-x-20-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 06:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-11-standard-capacity-xl11-pleated-panel-ext-surface-20-inch-w-x-20-inch-h-x-4-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 06:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-bank-top-chest-w-8-drawers-55-w-x-22-3-8-d-x-27-2-3-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-sp-36-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlk-chain-hoist-550-lb-capacity-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/550s-top-chest-w-10-drawers-50-w-x-25-1-4-d-x-27-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slb-lever-hoists-3300-lb-capacity-10-ft-lift-15-1116-head-room>: HTTP status code is not handled or not allowed 2026-01-28 06:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-standard-capacity-xl8-pleated-panel-ext-surface-12-inch-w-x-18-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 06:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-18-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-cf-hand-chain-hoist-1-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-head-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks-yl-524182434>: HTTP status code is not handled or not allowed 2026-01-28 06:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brush-set-with-springs-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-bank-roller-cabinet-w-4-drawers-27-w-x-22-3-8-d-x-38-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69891 pages (at 96 pages/min), scraped 33457 items (at 15 items/min) 2026-01-28 06:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-28 06:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-for-pe-4000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-cf-hand-chain-hoist-2-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-motor-trolley-1-12-10-18>: HTTP status code is not handled or not allowed 2026-01-28 06:37:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-standard-capacity-xl8-pleated-panel-ext-surface-16-inch-w-x-25-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 06:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switch-for-gpw-series-pallet-trucks-cr-42060>: HTTP status code is not handled or not allowed 2026-01-28 06:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-14-thick-x-6-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-tire-for-w-40-xl-w-40-xt-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switch-assembly-for-w-40z-b218-45z-c215-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sos-outdoor-storage-container-72-x-36-x-36-36-cu-ft-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42u-linier-server-cabinet-solid-solid-doors-24-depth>: HTTP status code is not handled or not allowed 2026-01-28 06:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-8ft-mobile-convertible-bench-unit-particleboard-top-t-mold-edge-cherry>: HTTP status code is not handled or not allowed 2026-01-28 06:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imperial-galvanized-steel-garage-50951-12-1-16-w-x-19-13-16-d-x-8-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 06:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-salvage-drum-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 06:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 06:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-10ft-mobile-cafeteria-fixed-bench-unit-with-mdf-core-top-protect-edge-oak>: HTTP status code is not handled or not allowed 2026-01-28 06:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-frock-wo-pockets-white-polyestercotton-twill-4xl>: HTTP status code is not handled or not allowed 2026-01-28 06:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-pin-for-smx-45-walkie-pallet-truck>: HTTP status code is not handled or not allowed 2026-01-28 06:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-winterior-top-pocket-spun-polyester-white-2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-navy-l>: HTTP status code is not handled or not allowed 2026-01-28 06:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-white-m>: HTTP status code is not handled or not allowed 2026-01-28 06:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-oven-natural-gas-6-burners>: HTTP status code is not handled or not allowed 2026-01-28 06:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-push-trolley-2-12-10-2235>: HTTP status code is not handled or not allowed 2026-01-28 06:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-heavy-duty-flat-corner-bumper-guard-type-h-plus-yellow-black>: HTTP status code is not handled or not allowed 2026-01-28 06:38:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-hook-suspension-2-15-7>: HTTP status code is not handled or not allowed 2026-01-28 06:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-light-blue-5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hub-for-st-3000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/material-handling-basket-21l-x-13-1-4w-x-5-7-16h-0-5-wire-plain-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-freeze-resistant-wall-mount-fountain-ada-accessible-gray-limestone-2>: HTTP status code is not handled or not allowed 2026-01-28 06:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-mulitfan-hood-shutter-wire-guard-120v>: HTTP status code is not handled or not allowed 2026-01-28 06:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-77-4-h-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-14-thick-x-4-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crc-food-grade-silicone-lubricants-16-oz-aerosol-can>: HTTP status code is not handled or not allowed 2026-01-28 06:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-pe-3000-pallet-trucks-cr-77086-a>: HTTP status code is not handled or not allowed 2026-01-28 06:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-w-lse-acrylic-adhesive-14-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-8300-8400-8500-pallet-trucks-ra-632-071-a>: HTTP status code is not handled or not allowed 2026-01-28 06:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-2-thick-x-5-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-manifest-stand-ms-1302-59-x-24-x-84-1-2>: HTTP status code is not handled or not allowed 2026-01-28 06:38:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors landed on page that is not a product page. 2026-01-28 06:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-11-step-serrated-cantilever-ladder-14-overhang>: HTTP status code is not handled or not allowed 2026-01-28 06:38:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/storage_totes_tubs/storage_totes_with_lids already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repair-kit-vibco-rk-2000>: HTTP status code is not handled or not allowed 2026-01-28 06:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-axle-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-12-step-serrated-cantilever-ladder-42-overhang>: HTTP status code is not handled or not allowed 2026-01-28 06:38:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-111-112-113-114-pallet-trucks-ra-632-076-a>: HTTP status code is not handled or not allowed 2026-01-28 06:38:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/dry_cleaning_laundry_equipment/irons_garment_steamers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-pin-for-101-series-pallet-trucks-ra-850-137-244>: HTTP status code is not handled or not allowed 2026-01-28 06:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wo-pockets-white-polyestercombed-cotton-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/towable-forkli-able-extra-plastic-tilt-truck-1-cu-yd-2000-lbs-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 06:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-breakroom-table-black>: HTTP status code is not handled or not allowed 2026-01-28 06:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-yellow-jacket-containment-berm-fuel-and-chemical-resistant-8-l-x-8-w-x-8-h>: HTTP status code is not handled or not allowed 2026-01-28 06:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-w60z-w80z-b60z-b80z-pallet-trucks-hy-1457073-sg>: HTTP status code is not handled or not allowed 2026-01-28 06:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/storage_totes_tubs/storage_totes_with_lids>: HTTP status code is not handled or not allowed 2026-01-28 06:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-breakroom-table-black>: HTTP status code is not handled or not allowed 2026-01-28 06:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-low-corner-90-kit-for-64in-low-panel>: HTTP status code is not handled or not allowed 2026-01-28 06:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-hazmax-ez-fit-green-yellow-steel-toe-mid-sole-pvc-size-15>: HTTP status code is not handled or not allowed 2026-01-28 06:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-15-yellow-steel-toe-boot-polyurethane-size-14>: HTTP status code is not handled or not allowed 2026-01-28 06:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits>: HTTP status code is not handled or not allowed 2026-01-28 06:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-14-thick-x-5-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-10-viking-black-overshoe-w-4-way-cleated-outsole-pvc-size-large>: HTTP status code is not handled or not allowed 2026-01-28 06:38:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/dry_cleaning_laundry_equipment/irons_garment_steamers landed on page that is not a product page. 2026-01-28 06:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-bar-14-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spiral-pin-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks-yl-585096802>: HTTP status code is not handled or not allowed 2026-01-28 06:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-34-thick-x-1-14-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:38:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-pocket-counter-top-business-card-holder-medium-oak>: HTTP status code is not handled or not allowed 2026-01-28 06:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-bottle-filling-station-w-filter-rotocast-granite-finish>: HTTP status code is not handled or not allowed 2026-01-28 06:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-1-14-thick-x-5-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fc-100-1100-cfm-4-speed-portable-multipurpose-11-pro-air-circulator-utility-fan>: HTTP status code is not handled or not allowed 2026-01-28 06:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-jack-toe-guard-protector>: HTTP status code is not handled or not allowed 2026-01-28 06:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x39-steel-shelving-with-32-6-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 06:38:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-wp3000-lw-xl-fits-crown-model-wp3000>: HTTP status code is not handled or not allowed 2026-01-28 06:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-tuftex-yellow-bib-overall-plain-front-pvc-size-medium>: HTTP status code is not handled or not allowed 2026-01-28 06:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-6hbw23-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-button-front-chef-coat-knot-buttons-white-polyester-s>: HTTP status code is not handled or not allowed 2026-01-28 06:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-clear-fda-silicone-rubber-sheet-whigh-temp-adhesive-60a-18-thick-x-12w-x-12l>: HTTP status code is not handled or not allowed 2026-01-28 06:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 06:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-chemtex-green-jacket-w-hood-snaps-pvc-on-polyester-size-large>: HTTP status code is not handled or not allowed 2026-01-28 06:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-chemtex-green-jacket-w-attached-hood-pvc-on-polyester-size-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 06:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-7400-reach-pallet-trucks-ra-632-052-004-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 69984 pages (at 93 pages/min), scraped 33473 items (at 16 items/min) 2026-01-28 06:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-cook-shirt-white-plain-weave-spun-polyester-2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-box-for-100-slides-cork-lined-stainless-steel-lock-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-diamond-glass-25-x-75mm-charged-90-ground-edges-tan-frosted-72-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x48x74-chrome-wire-shelving-with-91-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x48x74-chrome-wire-shelving-with-66-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 06:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear>: HTTP status code is not handled or not allowed 2026-01-28 06:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sample-tube-2ml-external-threads-polypropylene-round-bottom-self-standing-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-yellow-jacket-w-hood-snaps-pvc-size-3x>: HTTP status code is not handled or not allowed 2026-01-28 06:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-yellow-3-piece-suit-pvc-size-3x>: HTTP status code is not handled or not allowed 2026-01-28 06:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x60x74-chrome-wire-shelving-with-118-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 06:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hardware-kit-cd-premium-fan-292652>: HTTP status code is not handled or not allowed 2026-01-28 06:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-mannequin-hands-by-side-legs-straight-dark-fleshtone>: HTTP status code is not handled or not allowed 2026-01-28 06:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-132-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-vented-cap-style-hard-hat-blue-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 06:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-tube-16-17mm-25-place-stainless-steel-z-shape>: HTTP status code is not handled or not allowed 2026-01-28 06:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-16-1-2x14-3-4x7-green>: HTTP status code is not handled or not allowed 2026-01-28 06:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x72x74-chrome-wire-shelving-with-176-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 06:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-plug-16mm-santoprene-for-vacuum-and-test-tubes-red-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-yellow-jacket-w-attached-hood-pvc-size-large>: HTTP status code is not handled or not allowed 2026-01-28 06:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-6-polyblend-black-steel-toe-w-cleated-outsole-pvc-size-7>: HTTP status code is not handled or not allowed 2026-01-28 06:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-sds-bit-12-10-12-48-20-7474>: HTTP status code is not handled or not allowed 2026-01-28 06:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-aluminum-hose-cable-bridge-silver-60-x-2118-x-3916>: HTTP status code is not handled or not allowed 2026-01-28 06:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-goliath-black-plain-toe-w-power-lug-outsole-pvc-size-11>: HTTP status code is not handled or not allowed 2026-01-28 06:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sample-tube-5ml-external-threads-polypropylene-round-bottom-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-chuck-key-holder-48-66-4040>: HTTP status code is not handled or not allowed 2026-01-28 06:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-35-hip-wader-black-plain-toe-w-cleated-outsole-pvc-size-9>: HTTP status code is not handled or not allowed 2026-01-28 06:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-17-slicker-yellow-overboot-w-strap-cleated-outsole-pvc-size-11>: HTTP status code is not handled or not allowed 2026-01-28 06:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-n-rack-tube-rack-for-12mm-and-13mm-tubes-90-place-polypropylene-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5801-20a-125v-nema-5-20r-2p-3w-single-recpt-grounding-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-cap-flange-plug-cap-for-ct2-and-cr1-models-13mm-blue-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pcr-tube-02ml-thin-wall-polypropylene-attached-dome-cap-green-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-56-6-chest-wader-black-steel-toe-w-cleated-outsole-pvc-size-10>: HTTP status code is not handled or not allowed 2026-01-28 06:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-plastic-self-dumping-forkli-hopper-1-7-cu-yd>: HTTP status code is not handled or not allowed 2026-01-28 06:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-office-partition-panel-24-1-4w-x-42h-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-hinged-lid-1-7-cu-yd-self-dumping-plastic-hopper>: HTTP status code is not handled or not allowed 2026-01-28 06:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-1-14-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-flange-plug-16mm-yellow-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-14-white-plain-toe-w-safety-lock-pvc-size-12>: HTTP status code is not handled or not allowed 2026-01-28 06:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5856-w-decorative-corbels-white-polyethylene-11-x-6-x-35-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-box-for-100-slides-cork-lined-white>: HTTP status code is not handled or not allowed 2026-01-28 06:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-34-thick-x-5-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-holder-clips-for-use-with-gtr-ia-tube-rotator-12-each-for-15ml-microcentrifuge-tubes-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m12-x-1-25-x-50mm-steel-zinc-clear-class-8-8-din-960-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 06:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-12-thick-x-2-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-1-14-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7051g-premier-hilite-twill-climaplus-ceiling-panels-fiberglass-white-48-x-24>: HTTP status code is not handled or not allowed 2026-01-28 06:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-rubber-floor-mat-3mm-thick-4-x-10-black>: HTTP status code is not handled or not allowed 2026-01-28 06:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-15ml-pediatric-graduated-to-03ml-115mm-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-allsteel-triple-brace-double-hinge-folding-chair-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-flange-plug-13mm-blue-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goodyear-diamond-plate-rubber-floor-mat-3-5mm-thick-3-x-5-black>: HTTP status code is not handled or not allowed 2026-01-28 06:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-14-thick-x-32-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-lightweight-plastic-folding-chair-black-seatblack-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rack-u-frame-60-000-lbs-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-combination-cabinet-cabinet-assembled-36x18x72-tan-269879tn>: HTTP status code is not handled or not allowed 2026-01-28 06:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyfold-fan-back-triple-brace-folding-chair-black-seatblack-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-thick-x-6-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-vinyl-upholstered-triple-brace-folding-chair-gray-vinylgray-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-cabinet-48-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-38-thick-x-36-long-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-ii-cap-with-accessory-slots-and-6-point-mega-ratchet-suspension-gold>: HTTP status code is not handled or not allowed 2026-01-28 06:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-2-12-thick-x-36-long-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-it-micro-s-tagging-guns>: HTTP status code is not handled or not allowed 2026-01-28 06:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/erb10-scratch-protection-rebar-guard-3-8>: HTTP status code is not handled or not allowed 2026-01-28 06:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-safety-padlock-zenex-1-12w-x-1-34h-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supervisory-control-key-for-6200-professional-series-locks>: HTTP status code is not handled or not allowed 2026-01-28 06:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/management-card-for-rfid-locks-supervisory-access-only>: HTTP status code is not handled or not allowed 2026-01-28 06:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-vertical-hanger-bar-portable-bin-cart-black>: HTTP status code is not handled or not allowed 2026-01-28 06:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-safety-padlock-short-zenex-316-body-x-1-12-shackle-black>: HTTP status code is not handled or not allowed 2026-01-28 06:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-strip-1-x-4-orange-order-by-the-sheet-16-strips>: HTTP status code is not handled or not allowed 2026-01-28 06:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-tone-pullover-hooded-sweatshirt-ansi-class-3-lime-black-3x-lbpuhsw-c3-3xl>: HTTP status code is not handled or not allowed 2026-01-28 06:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balaclava-fleece-head-wear-ski-mask-hardhat-liner-black-one-size-bmsk-s1>: HTTP status code is not handled or not allowed 2026-01-28 06:39:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flip-training-table-w-casters-30-x-72-concrete-groovz-top-w-black-base-r-style-series>: HTTP status code is not handled or not allowed 2026-01-28 06:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72in-metal-mesh-bench-with-back-rest-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-stand-support-for-36-bf-roller-conveyors-adjustable-31-to-43h>: HTTP status code is not handled or not allowed 2026-01-28 06:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slush-boots-rubber-17-height-yellow-size-17-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e14-face-shield-ear-muff-system-for-omega-ii-americana-liberty-caps>: HTTP status code is not handled or not allowed 2026-01-28 06:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-rod-38-diameter-x-2-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 70080 pages (at 96 pages/min), scraped 33491 items (at 18 items/min) 2026-01-28 06:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i285r-liberty-mega-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 06:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-rainsuit-35-mil-pvcpolyester-snap-closure-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 06:39:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-bin-cabinet-137-yellow-hook-on-bins-3-adj-shelves-48w-24d-78h>: HTTP status code is not handled or not allowed 2026-01-28 06:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-116-thick-x-1-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 06:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serological-pipette-10ml-polystyrene-standard-tip-345mm-sterile-orange-band-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-132-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 06:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-28 06:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-heavy-duty-rainsuit-35-mil-pvcpolyester-snap-closure-yellow-m>: HTTP status code is not handled or not allowed 2026-01-28 06:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-glass-25-x-75mm-90-ground-edges-safety-corners-blue-frosted-144-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/200g-skid-sprayer-8hp-k55-pump-150-12-hose-manual-reel>: HTTP status code is not handled or not allowed 2026-01-28 06:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matrix-guard-tunnel-door-single-5-w-x-7-6-h-slide-right-to-open-black>: HTTP status code is not handled or not allowed 2026-01-28 06:40:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-bin-cabinet-96-red-hook-on-bins-4-adj-shelves-36w-24d-72h>: HTTP status code is not handled or not allowed 2026-01-28 06:40:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1440vs-with-acu-rite-303-dro-with-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 06:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1340vs-with-acu-rite-303-css-dro>: HTTP status code is not handled or not allowed 2026-01-28 06:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear>: HTTP status code is not handled or not allowed 2026-01-28 06:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x27-white-jumbo-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 06:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x9-kraft-gummed-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 06:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-flat-panel-tilt-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 06:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-drawer-full-height-36-w-cabinet-everest-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 06:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-cap-for-wg-6-beige-desert>: HTTP status code is not handled or not allowed 2026-01-28 06:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-36-w-cabinet-avalanche-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 06:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 06:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifuge-tube-10ml-attached-yellow-polypropylene-screw-cap-polypropylene-sterile-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips>: HTTP status code is not handled or not allowed 2026-01-28 06:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jmd-40gh-geared-head-mill-drill-with-newall-dp700-2axis-dro>: HTTP status code is not handled or not allowed 2026-01-28 06:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50in-camo-series-cree-led-light-bar-300w-20-000lm-while-supplies-last>: HTTP status code is not handled or not allowed 2026-01-28 06:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-drawer-counter-high-30-w-cabinet-beige-1>: HTTP status code is not handled or not allowed 2026-01-28 06:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1236vs-with-newall-dp700-dro-with-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 06:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polly-products-bodega-table-tan-top-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-uninsulated-prime-coat-standard-latch-22x22-fr22x22pc-rtl>: HTTP status code is not handled or not allowed 2026-01-28 06:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-horizontal-wall-calendar-24-x-36-2016>: HTTP status code is not handled or not allowed 2026-01-28 06:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-compliance-cover-for-hd-single-row-10in-led-light-bar>: HTTP status code is not handled or not allowed 2026-01-28 06:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifuge-hematocrit-24-place-120v-60hz-with-us-plug-24-place-rotor-reading-disk>: HTTP status code is not handled or not allowed 2026-01-28 06:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-uninsulated-prime-coat-standard-latch-18x18-fr18x18pc-rtl>: HTTP status code is not handled or not allowed 2026-01-28 06:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-sky-24-square-resin-folding-bar-table-taupe>: HTTP status code is not handled or not allowed 2026-01-28 06:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254rvs-with-x-y-z-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 06:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-uninsulated-prime-coat-standard-latch-14x14-fr14x14pc-rtl>: HTTP status code is not handled or not allowed 2026-01-28 06:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-insulated-prime-coat-dual-latch-18x18-frc18x18pc-dul>: HTTP status code is not handled or not allowed 2026-01-28 06:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1440-1-lathe-with-newall-dp500-dro>: HTTP status code is not handled or not allowed 2026-01-28 06:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerator-reach-in-1-section-27w-24-34d-75-14h-t-19g>: HTTP status code is not handled or not allowed 2026-01-28 06:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72in-yellow-plus-ii-quarter-in-hose-with-compact-ball-valve-end-29072>: HTTP status code is not handled or not allowed 2026-01-28 06:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-liquid-hand-soap-pink-case-of-four-1-gallon-bottles>: HTTP status code is not handled or not allowed 2026-01-28 06:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-ray-construction-paper-9-x-12-holiday-red50-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-steel-compartment-box-rack-20-x-15-3-4-x-15-with-4-of-20-compartment-boxes>: HTTP status code is not handled or not allowed 2026-01-28 06:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-bar-cooler-3-section-73-18w-24-12d-34-14h-tbb-24gal-72-s>: HTTP status code is not handled or not allowed 2026-01-28 06:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutting-welding-outfit-medium-duty-victor-style>: HTTP status code is not handled or not allowed 2026-01-28 06:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghb-1236-geared-head-bench-lathe-with-stand-foot-brake-acu-rite-203-dro>: HTTP status code is not handled or not allowed 2026-01-28 06:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-drawer-full-height-48-w-cabinet-light-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 06:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-ray-construction-paper-12-x-18-magenta25-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1440-1-with-newall-dp700-dro-with-taper-attachment>: HTTP status code is not handled or not allowed 2026-01-28 06:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-counter-high-30-w-cabinet-light-gray-4>: HTTP status code is not handled or not allowed 2026-01-28 06:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gallon-of-vacuum-pump-oil-case-of-6-93096>: HTTP status code is not handled or not allowed 2026-01-28 06:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intellishred-ps-79ci-shredder-12-sheet>: HTTP status code is not handled or not allowed 2026-01-28 06:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvbs-712dv-7-inch-x-12-inch-variable-speed-deluxe-horizontal-vertical-bandsaw>: HTTP status code is not handled or not allowed 2026-01-28 06:40:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-acu-rite-203-3x-q-dro-x-y-z-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-mailer-polypropylene-flip-top-for-5-slides-natural-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50571-small-3-hole-bottle-holder-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 06:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-waterproof-uv-resistent-labels-inkjet-2-x-4-500pack>: HTTP status code is not handled or not allowed 2026-01-28 06:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-mailer-cardboard-for-3-slides-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-milk-cooler-8-crts-dual-sided-34w-33-38d-tmc-34-ds>: HTTP status code is not handled or not allowed 2026-01-28 06:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3963-12-swing-spout-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-milk-cooler-12-crts-dual-sided-49w-33-38d-41-18h-tmc-49-ds>: HTTP status code is not handled or not allowed 2026-01-28 06:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-mailer-polypropylene-flip-top-for-2-slides-natural-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949evs-mill-with-3-axis-acu-rite-millpwr-cnc>: HTTP status code is not handled or not allowed 2026-01-28 06:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x36-mobile-steel-square-edge-work-bench-fixed-height-1-3-4-top>: HTTP status code is not handled or not allowed 2026-01-28 06:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-inch-equal-barbed-y-connector-natural-kynar>: HTTP status code is not handled or not allowed 2026-01-28 06:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drain-pump-kit-global-portable-air-conditioners-292660-292661>: HTTP status code is not handled or not allowed 2026-01-28 06:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-2-axis-acu-rite-203-dro-x-y-axis-jet-powerfeeds-usa-powered-draw-bar>: HTTP status code is not handled or not allowed 2026-01-28 06:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triton-lbc-4ssh-48w-x46w-ss-frame-ss-locboard-tool-cart-w-tray>: HTTP status code is not handled or not allowed 2026-01-28 06:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triton-lbc-4ss-ss-frame-tool-cart-with-tray-and-ss-locboard>: HTTP status code is not handled or not allowed 2026-01-28 06:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1440vs-with-newall-dp700-dro-with-taper-attachment>: HTTP status code is not handled or not allowed 2026-01-28 06:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-inch-to-1-8-inch-barbed-reduction-coupler-non-animal-derived-polypropylene>: HTTP status code is not handled or not allowed 2026-01-28 06:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-mailer-10-x-5-x-2->: HTTP status code is not handled or not allowed 2026-01-28 06:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-3-axis-acu-rite-303-quill-dro-and-servo-x-y-axis-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 06:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-x-y-axis-jet-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 06:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spc-230-handheld-portable-filtration-unit-hepa>: HTTP status code is not handled or not allowed 2026-01-28 06:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-diamond-white-glass-25-x-75mm-90-ground-edges-orange-frosted1440-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-measuring-diamond-essentials-class-a-pmp-molded-graduations-tall-form-500ml>: HTTP status code is not handled or not allowed 2026-01-28 06:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-literature-mailer-7-x-3-5-8-x-2-1-8>: HTTP status code is not handled or not allowed 2026-01-28 06:40:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-acu-rite-203-3x-q-dro-x-y-z-powerfeeds landed on page that is not a product page. 2026-01-28 06:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-for-05ml-microcentrifuge-tubes-stackable-polycarbonate-pc-24-place-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-explosion-proof-dry-environment-duct-fan-3-phase-1-hp-1>: HTTP status code is not handled or not allowed 2026-01-28 06:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-2-axis-newall-dp700-dro-and-x-y-z-axis-jet-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 06:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 70176 pages (at 96 pages/min), scraped 33504 items (at 13 items/min) 2026-01-28 06:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-pocket-organizer-for-commercial-housekeeping-carts>: HTTP status code is not handled or not allowed 2026-01-28 06:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bowl-pebble-camwear-round-18-pebbled>: HTTP status code is not handled or not allowed 2026-01-28 06:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-5-x-5-x-12->: HTTP status code is not handled or not allowed 2026-01-28 06:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-dot-knit-gloves-double-sided-black-large-1-dozen>: HTTP status code is not handled or not allowed 2026-01-28 06:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-x-heavy-duty-bird-netting-50ft-x-100ft>: HTTP status code is not handled or not allowed 2026-01-28 06:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-10x30-black>: HTTP status code is not handled or not allowed 2026-01-28 06:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-3-axis-acu-rite-300-knee-dro-and-servo-x-y-axis-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 06:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-4000-series-electric-lift-esd-w-t-molding-60-w-x-36-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29-x-18-x-12-lf-hopper-front-container-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-8x26-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-8x30-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/110-ton-shop-press-and-portable-power-unit-3-phase-460-volt>: HTTP status code is not handled or not allowed 2026-01-28 06:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-diamond-serologic-motorized-serological-pipette-controller-rechargeable-with-uk-plug>: HTTP status code is not handled or not allowed 2026-01-28 06:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-20ml-polypropylene-yellow-stand-up-zipbag-mg-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-press-and-portable-power-unit-3-phase-230-volt>: HTTP status code is not handled or not allowed 2026-01-28 06:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-7-shear-3ph-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-corrugated-boxes-16-x-5-x-5>: HTTP status code is not handled or not allowed 2026-01-28 06:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-commercial-duty-exhaust-fan-1-phase-3-4-hp>: HTTP status code is not handled or not allowed 2026-01-28 06:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camrack-base-rack-4-1-4-inch-inside-stack-height-navy-blue-nsf>: HTTP status code is not handled or not allowed 2026-01-28 06:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-stock-picking-ladder-perforated-tread-spl-7-14p>: HTTP status code is not handled or not allowed 2026-01-28 06:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-wide-mouth-ldpe-attached-polypropylene-screw-cap-30ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camrack-base-rack-5-7-8-inch-inside-stack-height-brown-nsf>: HTTP status code is not handled or not allowed 2026-01-28 06:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-loading-boxes-28-x-5-x-38>: HTTP status code is not handled or not allowed 2026-01-28 06:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rv-pette-dispenser-tip-for-repeat-volume-pipettors-1-25ml-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-stock-picking-ladder-serrated-tread-spl-8-14ng>: HTTP status code is not handled or not allowed 2026-01-28 06:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-stock-picking-ladder-perforated-tread-spl-8-14np>: HTTP status code is not handled or not allowed 2026-01-28 06:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1851-se-51-1-4-x-1-8-standard-cut-egg-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-28 06:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-diamond-fixed-volume-5000ul-5ml-light-green>: HTTP status code is not handled or not allowed 2026-01-28 06:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-air-conditioner-14-000-btu-cool-with-heat-115v>: HTTP status code is not handled or not allowed 2026-01-28 06:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-bogus-kraft-paper-roll-50-lb-30-x-720>: HTTP status code is not handled or not allowed 2026-01-28 06:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-cooler-c-12-place-3x4-for-1-5ml-tubes-red>: HTTP status code is not handled or not allowed 2026-01-28 06:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1846-sb-42-3-32-x-1-8-standard-cut-cylindrical-bur-w-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 06:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-sided-smoking-shelter-freestanding-7-ft-w-x-3-ft-6-inch-d-x-7-ft-11-inch-h-clear-roof>: HTTP status code is not handled or not allowed 2026-01-28 06:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-totally-enclosed-high-pressure-exhaust-fan-3-phase-2-hp-1>: HTTP status code is not handled or not allowed 2026-01-28 06:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-lateral-file-cabinet-2-drawer-charcoal-1>: HTTP status code is not handled or not allowed 2026-01-28 06:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ut447e01-commercial-washout-urinal-wtop-spud-cotton-white>: HTTP status code is not handled or not allowed 2026-01-28 06:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-totally-enclosed-direct-drive-duct-fan-3-phase-3-4-hp>: HTTP status code is not handled or not allowed 2026-01-28 06:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1851-se-5-1-2-x-1-4-standard-cut-egg-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-28 06:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-totally-enclosed-direct-drive-duct-fan-1-phase-1-hp>: HTTP status code is not handled or not allowed 2026-01-28 06:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-22-x-22-x-30>: HTTP status code is not handled or not allowed 2026-01-28 06:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-5-step-steel-24w-x-36d-work-platform-ladder-1>: HTTP status code is not handled or not allowed 2026-01-28 06:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1848-sf-1-1-4-x-1-4-standard-cut-round-nose-tree-bur>: HTTP status code is not handled or not allowed 2026-01-28 06:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-molded-ring-binder-side-open-lilac>: HTTP status code is not handled or not allowed 2026-01-28 06:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-tubular-tray-slide-62375l>: HTTP status code is not handled or not allowed 2026-01-28 06:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-aluminum-rolling-ladder-24w-grip-tread-28d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 06:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuffblok-tube-rack-4-way-polypropylene-link-together-orange-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/82xl037-standard-timing-belt-xl-3-8-x-8-3-16-t41-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 06:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-covered-clipboard-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 06:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-40-roll-ultimat-ii-gray-ur-3640xdg>: HTTP status code is not handled or not allowed 2026-01-28 06:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-molded-ring-binder-side-open-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 06:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1848-sf-1l6-1-4-x-1-4-standard-cut-round-nose-tree-bur>: HTTP status code is not handled or not allowed 2026-01-28 06:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/220xl037-standard-timing-belt-xl-3-8-x-22-t110-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 06:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-basket>: HTTP status code is not handled or not allowed 2026-01-28 06:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-molded-ring-binder-side-open-seafoam-green>: HTTP status code is not handled or not allowed 2026-01-28 06:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-molded-ring-binder-top-open-medium-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spray-buff-cleans-dirt-scratches-scuffs-32-oz-bottle-12-case-sb-2028>: HTTP status code is not handled or not allowed 2026-01-28 06:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuffblok-tube-rack-4-way-polypropylene-link-together-natural-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-molded-ring-binder-side-open-lilac>: HTTP status code is not handled or not allowed 2026-01-28 06:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversible-microcentrifuge-tube-rack-80-place-60-place-green-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:41:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/clipboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-n-rack-tube-rack-for-25mm-tubes-40-place-polypropylene-red>: HTTP status code is not handled or not allowed 2026-01-28 06:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-capillary-tubing-031-idx10-ft>: HTTP status code is not handled or not allowed 2026-01-28 06:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/450l100-standard-timing-belt-l-1-x-45-t120-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 06:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/195l075-standard-timing-belt-l-3-4-x-19-1-2-t52-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 06:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trustat-b80-vinyl-roll-blue-0080in-x-30in-x-50ft>: HTTP status code is not handled or not allowed 2026-01-28 06:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/185l037-standard-timing-belt-l-3-8-x-18-1-2-t49-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 06:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ro11611sh-11-narrow-london-pattern-brick-trowel-wproform-handle>: HTTP status code is not handled or not allowed 2026-01-28 06:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600l100-standard-timing-belt-l-1-x-60-t160-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 06:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statshield-metal-in-bag-18in-x-18in-100-bagspack>: HTTP status code is not handled or not allowed 2026-01-28 06:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-cooler-20-c-96-place-8x12-for-02ml-pcr-tubes-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-safety-aluminum-step-ladder-4-step>: HTTP status code is not handled or not allowed 2026-01-28 06:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-24-inch-heavy-duty-adjustable-height-steel-work-platform-orange-9-h-to-14-h>: HTTP status code is not handled or not allowed 2026-01-28 06:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/clipboards>: HTTP status code is not handled or not allowed 2026-01-28 06:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/200l050-standard-timing-belt-l-1-2-x-20-t53-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 06:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/internal-cap-fittings-12dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 06:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-way-l-fittings-12dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 06:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipestake-fittings-75l-12dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 06:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-24v-universal-igniter-flame-rod-assemby-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sm673-utility-motor-58-stack-316-x-1-14-shaft>: HTTP status code is not handled or not allowed 2026-01-28 06:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/485h200-standard-timing-belt-h-2-x-48-1-2-t97-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 06:41:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/access_control_door_locks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 70272 pages (at 96 pages/min), scraped 33522 items (at 18 items/min) 2026-01-28 06:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tork-universal-one-ply-dinner-napkins-n7141a>: HTTP status code is not handled or not allowed 2026-01-28 06:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotationally-molded-plastic-tray-21-1-2x17x1-1-2-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-clamp-fittings-4l-1-12dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 06:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-15ml-polypropylene-lot-certified-mg-natural-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexelene-tubingcfx-4-6x-black>: HTTP status code is not handled or not allowed 2026-01-28 06:42:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/extra_heavy_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-bar-20-white>: HTTP status code is not handled or not allowed 2026-01-28 06:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buffet-bar-24x67-green>: HTTP status code is not handled or not allowed 2026-01-28 06:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-bath-chair-with-quick-release-back-arms-white-dc-hy3523l-wh-gg>: HTTP status code is not handled or not allowed 2026-01-28 06:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-n-rack-tube-rack-for-15ml-and-20ml-microcentrifuge-tube-100-place-polypropylene-red>: HTTP status code is not handled or not allowed 2026-01-28 06:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ep-5955-24-paper-crumpler-with-idler-system>: HTTP status code is not handled or not allowed 2026-01-28 06:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-drawer-with-label-3-5-8-inch-w-x-15-3-4-inch-d-x-3-1-4-inch-h-price-for-pkg-qty-30>: HTTP status code is not handled or not allowed 2026-01-28 06:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/security_access_control/access_control_door_locks_accessories>: HTTP status code is not handled or not allowed 2026-01-28 06:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryoclear-vials-3ml-external-threads-self-standing-polypropylene-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hang-and-stack-bins-for-mobile-panel-carts-assorted-size-blue-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 06:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-36-h-combination-board-whiteboard-cork>: HTTP status code is not handled or not allowed 2026-01-28 06:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-fine-fiber-universal-medium-weight-pads-100-bale-18-x-15>: HTTP status code is not handled or not allowed 2026-01-28 06:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifuge-tube-50ml-attached-red-screw-cap-polystyrene-printed-graduations-sterile-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-angle-beam-72-w-x-24-d-x-84-h-4-level-starter-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs23hx134-34-pitch-1-34-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/extra_heavy_boltless_shelves>: HTTP status code is not handled or not allowed 2026-01-28 06:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-ratchet-3-8-inch-drive-76-ft-lb-torque>: HTTP status code is not handled or not allowed 2026-01-28 06:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs16hx28-metric-1-pitch-28mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs22hx35-metric-34-pitch-35mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-sump-liner-b1600>: HTTP status code is not handled or not allowed 2026-01-28 06:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60sk28h-qd-bushed-34-pitch-28-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryoclear-vials-5ml-external-threads-self-standing-polypropylene-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-mobile-printer-stand-document-holder-40-hx18-wx24-l-black-3-shelf>: HTTP status code is not handled or not allowed 2026-01-28 06:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-r-11-insulation-b6400>: HTTP status code is not handled or not allowed 2026-01-28 06:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-direct-drive-blower-motor-1075-rpm-115-volts-1>: HTTP status code is not handled or not allowed 2026-01-28 06:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-mobile-computer-lanstation-workstation-69-hx18-wx36-l-black-4-shelf>: HTTP status code is not handled or not allowed 2026-01-28 06:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kenwood-nx-p1202avk-2-watt-two-way-vhf-analog-portable-radio-151-159-mhz>: HTTP status code is not handled or not allowed 2026-01-28 06:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-single-phase-jet-pump-motor-115-230-volts-3450-rpm-1-2hp-2>: HTTP status code is not handled or not allowed 2026-01-28 06:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-168x96x100-agri-chemical-building>: HTTP status code is not handled or not allowed 2026-01-28 06:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-5-8-direct-drive-blower-motor-115-volts-1075-rpm-5>: HTTP status code is not handled or not allowed 2026-01-28 06:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-lined-bib-overall-class-e-3xl-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-air-bubble-rolls-16-x-750-x-3-16-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9in-pneumatic-swivel-caster-for-little-giant-carts>: HTTP status code is not handled or not allowed 2026-01-28 06:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-vented-1-2-round-shelf-48-x-24>: HTTP status code is not handled or not allowed 2026-01-28 06:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-13-x-75mm-5ml-polystyrene-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-16-x25-x4-wide-frame-electrostatic-air-filter-merv-8>: HTTP status code is not handled or not allowed 2026-01-28 06:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-dunnage-rack-with-solid-top-36-x-36-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 06:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-plastic-dunnage-rack-36-x-36-1500-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-plastic-dunnage-rack-66-x-36-1500-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groz-44385-non-sparking-drum-wrench>: HTTP status code is not handled or not allowed 2026-01-28 06:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-5-8-permanent-split-capacitor-motor-208-230-volts-1075-rpm-2>: HTTP status code is not handled or not allowed 2026-01-28 06:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-5-8-permanent-split-capacitor-motor-208-230-volts-1075-rpm-4>: HTTP status code is not handled or not allowed 2026-01-28 06:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-20-x24-x1-electrostatic-air-filter-merv-8>: HTTP status code is not handled or not allowed 2026-01-28 06:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/02ml-8-strip-tubes-with-separate-8-strip-clear-flat-caps-natural-125-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-5-8-permanent-split-capacitor-motor-230-460-volts-825-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-16-x30-x1-electrostatic-air-filter-merv-8>: HTTP status code is not handled or not allowed 2026-01-28 06:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/01ml-96-well-pcr-plate-low-profile-no-skirt-clear-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-41-x-31-x-56-2-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aspirin-tablets-250-doses-per-box>: HTTP status code is not handled or not allowed 2026-01-28 06:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/defender-vci-bags-4-mil-eq-49-x-46-x-90-clear-50-roll>: HTTP status code is not handled or not allowed 2026-01-28 06:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35a24hx12-a-plate-38-pitch-12-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-squeeze-with-integral-molded-dispensing-tip-screwcap-pe-250ml-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-uvc-max-25-dual-voltage-whole-house-air-purifier-smart-device>: HTTP status code is not handled or not allowed 2026-01-28 06:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs40x112-58-pitch-1-12-finished-bore-40-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armor-wrap-vci-paper-30mpi-36-x-200yd-rolls-1-roll-pkg>: HTTP status code is not handled or not allowed 2026-01-28 06:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-booster-cable-replacement-clamp-black-800-amp>: HTTP status code is not handled or not allowed 2026-01-28 06:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/room-temperature-heavy-duty-expandable-foam-bags-22-x-20-96-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-the-big-one-body-foam-roller-14-1287>: HTTP status code is not handled or not allowed 2026-01-28 06:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-yellow-3-dia-discs>: HTTP status code is not handled or not allowed 2026-01-28 06:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rechargeable-ni-cd-battery-18-5v>: HTTP status code is not handled or not allowed 2026-01-28 06:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-pmp-tpx-printed-graduations-250ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sisal-twine-3-ply-460-lb-970>: HTTP status code is not handled or not allowed 2026-01-28 06:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazard-class-1-14-explosive-s-4-4-orange-black>: HTTP status code is not handled or not allowed 2026-01-28 06:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-5-x-5-32-black-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-dk-blue-rectangle>: HTTP status code is not handled or not allowed 2026-01-28 06:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-snap-12-13mm-pe-for-vacuum-and-test-tubes-lavender-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs48x118-12-pitch-1-18-finished-bore-48-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/number-8-adjustable-height-economy-packing-workbench-butcher-block-top-square-edge-60x30-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs21hx28-metric-34-pitch-28mm-finished-bore-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-ton-air-hydraulic-truck-jack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-ge-21-29-frame-replacement-motor-115-208-230-volts-1550-rpm-2>: HTTP status code is not handled or not allowed 2026-01-28 06:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jul-2-3-bright-yellow-black>: HTTP status code is not handled or not allowed 2026-01-28 06:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-leveler-with-6000-lifting-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-10-x-12-2-mil-yellow-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-gallon-plastic-jug-48-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cart-for-signs-shadow-boards-up-to-68-h-x-30-w-anodized-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-tier-6-door-premium-steel-locker-12-w-x-12-d-x-36-h-black-assembled>: HTTP status code is not handled or not allowed 2026-01-28 06:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-tier-3-door-premium-steel-locker-12-w-x-12-d-x-72-h-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 06:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-list-enclosed-3-4-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-28 06:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 70370 pages (at 98 pages/min), scraped 33537 items (at 15 items/min) 2026-01-28 06:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-4-4-shaded-pole-motor-115-volts-1500-rpm-11>: HTTP status code is not handled or not allowed 2026-01-28 06:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/icon-waterproof-breathable-overalls-with-fluorescent-yellow-green-tape-black-5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs24hx138-58-pitch-1-38-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-double-sha-motor-115-volts-1500-rpm-6>: HTTP status code is not handled or not allowed 2026-01-28 06:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slim-trash-can-23-gallon-red>: HTTP status code is not handled or not allowed 2026-01-28 06:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keep-frozen-3-4-white-red-black>: HTTP status code is not handled or not allowed 2026-01-28 06:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-trash-can-lid-44-gallon-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-1-1-2-mr-clip-black-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 06:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-day-shurrelease-blue-painters-tape-multi-surface-blue-24mm-x-55m>: HTTP status code is not handled or not allowed 2026-01-28 06:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs19hx35-metric-34-pitch-35mm-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs25hx1716-58-pitch-1-716-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-polypropylene-camlock-fitting-male-barb-x-female-coupler-thread>: HTTP status code is not handled or not allowed 2026-01-28 06:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-polypropylene-camlock-fitting-female-coupler-x-fpt-thread>: HTTP status code is not handled or not allowed 2026-01-28 06:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs18hx42-metric-34-pitch-42mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-two-tone-poly-filled-winter-insulated-bibs-w-multi-pockets-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs35hx114-12-pitch-1-14-finished-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-50-l-3-8-diameter-hose>: HTTP status code is not handled or not allowed 2026-01-28 06:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-large-connecting-link-fits-2-2-hd-chain-pack-of-10-traffic-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-multi-color-vest-blue-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wheel-riser-wheel-ramp-96-l-x-24-w-x-12-1-4-h-20-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb4310-men-s-athletic-work-shoe-black-grey-size-13-m>: HTTP status code is not handled or not allowed 2026-01-28 06:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/return-to-stock-2-dia-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-28 06:43:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/envelopes_mailers/bubble_mailers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-surveyors-safety-vest-black-4xl>: HTTP status code is not handled or not allowed 2026-01-28 06:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-blower-115-volts-3000-rpm-10>: HTTP status code is not handled or not allowed 2026-01-28 06:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-do-not-lay-flat-3-5-white-red>: HTTP status code is not handled or not allowed 2026-01-28 06:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-blower-208-230-volts-3000-rpm-3>: HTTP status code is not handled or not allowed 2026-01-28 06:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-kit-pedestal-file-set-of-4-1>: HTTP status code is not handled or not allowed 2026-01-28 06:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs14hx40-metric-1-14-pitch-40mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-teflon-protection-heavy-weight-sweatshirt-w-segment-tape-lg>: HTTP status code is not handled or not allowed 2026-01-28 06:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-silver-ep-21w-x-48l-x-72h-4-wire-shelves-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-ansi-teflon-protection-heavy-weight-sweatshirt-w-segment-tape-2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/incident-command-vest-orange-vest-w-lime-prismatic-tape-one-size-fits-all>: HTTP status code is not handled or not allowed 2026-01-28 06:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/incident-command-vest-red-vest-w-lime-prismatic-tape-one-size-fits-all>: HTTP status code is not handled or not allowed 2026-01-28 06:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs32x138-34-pitch-1-38-finished-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-partition-extenders-48-x-18-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/envelopes_mailers/bubble_mailers>: HTTP status code is not handled or not allowed 2026-01-28 06:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-e-two-tone-rain-pants-lime-s-m>: HTTP status code is not handled or not allowed 2026-01-28 06:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-green-discs-1-2-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mantis-2x2-white-220-volt-euro-plug>: HTTP status code is not handled or not allowed 2026-01-28 06:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-mobile-cabinet-48-wx24-dx37-1-2-h-avalanche-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hold-4-4-yellow-black-white>: HTTP status code is not handled or not allowed 2026-01-28 06:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80a25x1-a-plate-1-pitch-1-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-drawer-double-mobile-cabinet-60-wx27-dx37-1-2-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 06:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fragile-handle-with-care-3-5-white-red>: HTTP status code is not handled or not allowed 2026-01-28 06:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-mobile-cabinet-36-wx24-dx45-1-2-h-beige-1>: HTTP status code is not handled or not allowed 2026-01-28 06:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/do-not-use-blades-4-6-white-red-black>: HTTP status code is not handled or not allowed 2026-01-28 06:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-mobile-cabinet-36-wx24-dx45-1-2-h-avalanche-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 06:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-bracket-for-mantis-1x2-white>: HTTP status code is not handled or not allowed 2026-01-28 06:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-mobile-cabinet-36-wx24-dx37-1-2-h-red-1>: HTTP status code is not handled or not allowed 2026-01-28 06:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-glue-boards-white-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/651w-3-8-mnpt-x-1-8-fnpt-reducer-bushing-hose-fitting>: HTTP status code is not handled or not allowed 2026-01-28 06:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-dolly-32-gal-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transformer-replacemnet-for-nemesis-cm-80>: HTTP status code is not handled or not allowed 2026-01-28 06:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/641w-5-16-id-hose-mender-fitting>: HTTP status code is not handled or not allowed 2026-01-28 06:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sour-punch-twists-4-flavor-tub-210-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 06:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c1072g-1-4-mnpt-commercial-slip-sleeve>: HTTP status code is not handled or not allowed 2026-01-28 06:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-power-workstation-hutch-55-w-x-25-d-x-h-22-1-4-black-w-red-handle-trim>: HTTP status code is not handled or not allowed 2026-01-28 06:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nonni-s-biscotti-dark-chocolate-almond-25-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 06:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-mobile-cabinet-24-wx21-dx39-1-4-h-avalanche-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kar-s-trail-mix-variety-pack-18-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 06:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belvita-breakfast-biscuits-blueberry-4-packs-25-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 06:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-metal-frame-creeper-with-adjustable-headrest-kti-74961>: HTTP status code is not handled or not allowed 2026-01-28 06:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-js1502-2v-1-1-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/candy-jar-assortment-5-lb-gr>: HTTP status code is not handled or not allowed 2026-01-28 06:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-drawer-mobile-multi-drawer-cabinet-48-wx27-dx37-1-2-h-red-1>: HTTP status code is not handled or not allowed 2026-01-28 06:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-cartridge-replacement-part-for-hvf110-310>: HTTP status code is not handled or not allowed 2026-01-28 06:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-collapsible-hamper-steel-beige-vinyl-bag>: HTTP status code is not handled or not allowed 2026-01-28 06:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-110-cfm-energy-star-bath-fan-ae50110dc>: HTTP status code is not handled or not allowed 2026-01-28 06:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-medium-duty-hamper-with-foot-pedal-28-h-steel-white>: HTTP status code is not handled or not allowed 2026-01-28 06:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t32cm1jh-1-1-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1769-1-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-mate-singles-french-vanilla-50-count-4-pack-gr>: HTTP status code is not handled or not allowed 2026-01-28 06:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1862-1-2-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1870-1-2-hp-1-phase-825-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-collapsible-hamper-steel-gray-vinyl-bag>: HTTP status code is not handled or not allowed 2026-01-28 06:43:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-6215-1-hp-1-phase-1725-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-xr-li-ion-6-tool-combo-kit-dck695p2>: HTTP status code is not handled or not allowed 2026-01-28 06:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunchips-multigrain-chips-variety-mix-1-5-oz-30-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 06:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lateral-31-3-drawer-fire-and-water-resistant-file-cabinet-light-gray-lat3w31lg>: HTTP status code is not handled or not allowed 2026-01-28 06:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 70466 pages (at 96 pages/min), scraped 33555 items (at 18 items/min) 2026-01-28 06:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lateral-44-2-drawer-fire-and-water-resistant-file-cabinet-putty-lat2w44p>: HTTP status code is not handled or not allowed 2026-01-28 06:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-7-1-4-inch-brushless-cordless-circular-saw-with-flexvolt-advantage-bare-tool-only-dcs573b>: HTTP status code is not handled or not allowed 2026-01-28 06:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t1c3jcr-1-hp-1-phase-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexvolt-60v-max-brushless-cordless-reciprocating-saw-bare-tool-only-dcs389b>: HTTP status code is not handled or not allowed 2026-01-28 06:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keebler-original-club-crackers-snack-stacks-50-oz-gr>: HTTP status code is not handled or not allowed 2026-01-28 06:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-24-wx95-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 06:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dfrc-es-series-6-in-line-round-duct-fan-120v-energy-star>: HTTP status code is not handled or not allowed 2026-01-28 06:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-6215-1-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-anti-fatigue-mat-7-8-thick-24-w-black-from-3-up-to-60>: HTTP status code is not handled or not allowed 2026-01-28 06:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-anti-fatigue-mat-7-8-thick-33x58-yellow-border>: HTTP status code is not handled or not allowed 2026-01-28 06:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t1cm2jh-1-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-water-filtered-cooler-light-gray-granite-wall-hung-115v-60hz-5-amps-1>: HTTP status code is not handled or not allowed 2026-01-28 06:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-fixed-metal-hood-for-supply-or-exhaust-air>: HTTP status code is not handled or not allowed 2026-01-28 06:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-900-standard-infection-control-kiosk-matte-black-kiosk900-sb>: HTTP status code is not handled or not allowed 2026-01-28 06:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-clear-vinyl-single-panel-impact-traffic-door-3-w-x-6-6-h>: HTTP status code is not handled or not allowed 2026-01-28 06:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-25-gray-recirculating-ducting-for-all-foreman-w-clamp>: HTTP status code is not handled or not allowed 2026-01-28 06:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wdp12s2ahc-1-2-hp-3-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/height-adjustable-table-60-x-30-white-black-base>: HTTP status code is not handled or not allowed 2026-01-28 06:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/height-adjustable-table-60-x-30-gray-black-base>: HTTP status code is not handled or not allowed 2026-01-28 06:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-collapsible-safety-cone>: HTTP status code is not handled or not allowed 2026-01-28 06:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d13b2n4z9-1-3-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hgx-led-security-lights-2-square-heads-4000k-2700-lumens-white>: HTTP status code is not handled or not allowed 2026-01-28 06:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn37-30-1-h-56c-cast-iron-helical-bevel-speed-reducer-56c-input-flange-30-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 06:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u3p2dc-3-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-volumetric-wide-mouth-globe-glass-class-a-to-contain-tc-astm-e288-250ml-6-box>: HTTP status code is not handled or not allowed 2026-01-28 06:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ee734-5-3-hp-3-phase-3525-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-volumetric-globe-glass-class-a-to-contain-tc-astm-e288-50ml-6-box>: HTTP status code is not handled or not allowed 2026-01-28 06:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-globe-glass-low-form-griffin-style-dual-graduations-astm-e960-250ml-12-box>: HTTP status code is not handled or not allowed 2026-01-28 06:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ejm202b-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn67-65-1-h-143-5tc-cast-iron-helical-bevel-speed-reducer-143-5tc-input-flange-65-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 06:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/khn-helical-bevel-reducer-double-shaft-kit-shaft-dia-1-0-l-9-137-1-97-usable-hardw-incl>: HTTP status code is not handled or not allowed 2026-01-28 06:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-h15e2g-15-hp-3-phase-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn37-60-1-h-56c-cast-iron-helical-bevel-speed-reducer-56c-input-flange-60-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 06:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn47-5-1-h-145tc-cast-iron-helical-bevel-speed-reducer-145tc-input-flange-5-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 06:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-knock-down-corrosion-resistant-locker-double-tier-1-wide-12x12x78>: HTTP status code is not handled or not allowed 2026-01-28 06:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-supported-portable-personal-safety-partition-4w-x-6h-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-assembled-antimicrobial-locker-double-tier-3-wide-15x18x78>: HTTP status code is not handled or not allowed 2026-01-28 06:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ready-built-ii-locker-double-tier-1-wide-12x18x78-parchment>: HTTP status code is not handled or not allowed 2026-01-28 06:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceiling-fixed-mount-bracket-kit-for-glass-series-infrared-heaters-10-overhead-space>: HTTP status code is not handled or not allowed 2026-01-28 06:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-welded-double-point-ventilated-locker-double-tier-1-wide-12x18x72>: HTTP status code is not handled or not allowed 2026-01-28 06:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vp30n8-vacuum-packer-30cm-sealing-bar>: HTTP status code is not handled or not allowed 2026-01-28 06:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-s10p1d-10-hp-3-phase-3515-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/string_trimmers_edgers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u12s3ac-1-2-hp-3-phase-1150-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-48-w-x-24-d-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microstat-2-high-24vdc-ac-green-red-msl2-024gr>: HTTP status code is not handled or not allowed 2026-01-28 06:44:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-84-w-x-24-d-x-84-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-heavy-duty-plastic-chain-25-feet-black>: HTTP status code is not handled or not allowed 2026-01-28 06:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-fdu5cm2k18c-5-hp-1-phase-1740-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-xs1ca2jh-1-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-heavy-duty-plastic-chain-120-feet-in-a-pail-red>: HTTP status code is not handled or not allowed 2026-01-28 06:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-heavy-duty-plastic-chain-500-feet-safety-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-un3t2bc-3-hp-3-phase-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-fd1cm2pcr-1-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-heavy-duty-plastic-chain-500-feet-black>: HTTP status code is not handled or not allowed 2026-01-28 06:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/string_trimmers_edgers>: HTTP status code is not handled or not allowed 2026-01-28 06:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lau-4-blade-condenser-propeller-10-diameter-ccw-rotation-4>: HTTP status code is not handled or not allowed 2026-01-28 06:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/connecting-s-hooks-1-5-inch-black-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves>: HTTP status code is not handled or not allowed 2026-01-28 06:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d32p3h-1-5-hp-3-phase-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-drilling-and-tapping-screw-assortment-253-piece>: HTTP status code is not handled or not allowed 2026-01-28 06:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-add-on-unit-4-vented-shelves-18x36x64>: HTTP status code is not handled or not allowed 2026-01-28 06:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-add-on-unit-4-vented-shelves-18x60x72>: HTTP status code is not handled or not allowed 2026-01-28 06:44:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-fd12ba2p-1-2-hp-1-phase-1725-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-kit-camshelving-24x42-vented-shelves-3>: HTTP status code is not handled or not allowed 2026-01-28 06:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-8726-1-3-hp-1-phase-1625-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan47-10-1-h-182-4tc-cast-iron-helical-bevel-speed-reducer-182-4tc-input-flange-10-1>: HTTP status code is not handled or not allowed 2026-01-28 06:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rod-4-30-degree-bend-2>: HTTP status code is not handled or not allowed 2026-01-28 06:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-ring-tool-holder-1>: HTTP status code is not handled or not allowed 2026-01-28 06:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-8233-3-4-hp-1-phase-1100-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-ring-stem-so-tread-caster-60mm-dia-7-16-x-7-8-stem-black>: HTTP status code is not handled or not allowed 2026-01-28 06:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-top-plate-so-tread-caster-75mm-dia-black-1>: HTTP status code is not handled or not allowed 2026-01-28 06:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-cart-tall-profile-celsius-granite-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-lid-for-medium-ground-shaker-dredge-rose>: HTTP status code is not handled or not allowed 2026-01-28 06:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-office-partition-panel-36-1-4-w-x-96-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-blue-24-1-4-w-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 06:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 70559 pages (at 93 pages/min), scraped 33574 items (at 19 items/min) 2026-01-28 06:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-section-adjustable-book-rack-black>: HTTP status code is not handled or not allowed 2026-01-28 06:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-fd12ba2p-1-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-compartment-steel-project-organizer-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-food-bars-work-table-navy-blue-cold-food-60-x-36-standard>: HTTP status code is not handled or not allowed 2026-01-28 06:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-single-tier-1-wide-12-x-15-x-60-beige>: HTTP status code is not handled or not allowed 2026-01-28 06:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-double-tier-1-wide-15-x-18-x-36-beige>: HTTP status code is not handled or not allowed 2026-01-28 06:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-bowl-deluxe-ss-nsf-sink-30x30-d>: HTTP status code is not handled or not allowed 2026-01-28 06:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-cold-cart-tall-profile-granite-green-celsius-6-rear-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-door-seal-58-heavy-duty-40-oz-with-wear-pleats-8w-x-9h-10-projection-black>: HTTP status code is not handled or not allowed 2026-01-28 06:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camcart-food-pan-carrier-front-loading-approximately-cap-60-qt-6-casters-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-stainless-steel-10mm-tube-x-8mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 06:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-tee-composite-10mm-tube-x-8mm-tube-x-10mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 06:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-in-tee-1-4-tube-x-1-4-stud>: HTTP status code is not handled or not allowed 2026-01-28 06:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condiment-holder-fits-250lcd-and-500lcd-16-1-2-d-x-8-3-4-w-x-5-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-thermostat-kit-40-80-f-temp-range-horizontal-downflow-unit-heater>: HTTP status code is not handled or not allowed 2026-01-28 06:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meal-delivery-cart-tall-profile-3-doors-60x29-1-4x63-5-8-slate-blue-with-cream-color-door-6-phenolic-hd-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-bulkhead-connector-metal-release-collet-1-2-tube-x-3-8-nptf>: HTTP status code is not handled or not allowed 2026-01-28 06:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-flat-top-workbench-galv-legs-crossbracing-72-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 06:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-workbench-4-backsplash-galv-120-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 06:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-workbench-2-3-4-backsplash-galv-60-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 06:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-adapter-6mm-straight-x-1-8-bspp>: HTTP status code is not handled or not allowed 2026-01-28 06:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-workbench-2-3-4-backsplash-galv-steel-undershelf-84-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 06:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manifold-4mm-tube-x-1-8-bspp>: HTTP status code is not handled or not allowed 2026-01-28 06:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-stainless-steel-10mm-tube-x-1-4-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 06:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-5-32-tube-x-1-4-pt>: HTTP status code is not handled or not allowed 2026-01-28 06:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-8mm-tube-x-3-8-metal-release-collet-flow-out-screw-adjustment>: HTTP status code is not handled or not allowed 2026-01-28 06:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forced-air-circulation-incubator-449-liters-115-volt>: HTTP status code is not handled or not allowed 2026-01-28 06:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-convection-incubator-108liters-programmable-115-volt>: HTTP status code is not handled or not allowed 2026-01-28 06:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-mini-electronic-depth-gages-w-round-bar-0-1-inch-0-25mm-range>: HTTP status code is not handled or not allowed 2026-01-28 06:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-electronic-inside-knife-edge-caliper-5-8-6-inch-15-150mm-range>: HTTP status code is not handled or not allowed 2026-01-28 06:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pb-insulated-gas-propane-tank-heater-for-500-gallon-gas-cylinder-tank-90-degrees>: HTTP status code is not handled or not allowed 2026-01-28 06:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pb-pro-model-insulated-ibc-tank-heater-for-330-gallon-tote-tank-145-degrees>: HTTP status code is not handled or not allowed 2026-01-28 06:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-series-planetary-gear-winch-w-synthetic-rope-4500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-series-planetary-gear-winch-3500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-36-inch-reach-w-interlock-led-24-inch-l-x-10-inch-w-34-lb>: HTTP status code is not handled or not allowed 2026-01-28 06:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-direct-mount-w-interlock-led-6-inch-l-x-8-inch-w-14-inch-offset>: HTTP status code is not handled or not allowed 2026-01-28 06:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ply-looped-end-mop-w-5-red-band-large-red-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 06:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-fiberglass-dust-mop-handle-w-clip-on-connector-purple-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 06:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repellent-gel-remover-water-soluble-1-pint>: HTTP status code is not handled or not allowed 2026-01-28 06:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-solar-panel-exclusion-kit-w-50l-wire-mesh-20-clips-black>: HTTP status code is not handled or not allowed 2026-01-28 06:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-516-dia-x-150l>: HTTP status code is not handled or not allowed 2026-01-28 06:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-w-integrated-shackle-14-dia-x-25l>: HTTP status code is not handled or not allowed 2026-01-28 06:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-916-dia-x-125l>: HTTP status code is not handled or not allowed 2026-01-28 06:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-716-dia-x-25l>: HTTP status code is not handled or not allowed 2026-01-28 06:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faosc-complete-food-service-cabinet-w-o-meds-50-persons>: HTTP status code is not handled or not allowed 2026-01-28 06:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-poly-bumper-truck-20-bushel-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-poly-bumper-truck-10-bushel-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquasense-sensor-faucet-single-hole-0-5-gpm-aerator-widespread-4-plate-mixing-valve-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glennville-lounge-chair-coastal-nantucket-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinehurst-chaise-lounge-weathered-acorn>: HTTP status code is not handled or not allowed 2026-01-28 06:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cape-coral-gold-lines-slab-door-wood-30w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-jamb-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 06:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-silver-lines-slab-door-wood-28w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocala-gold-lines-slab-door-wood-32w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 06:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-night-lines-slab-door-wood-28w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gainesville-silver-lines-slab-door-wood-24w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 06:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sarasota-slab-door-wood-30w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gainesville-night-lines-slab-door-wood-28w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 06:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocala-night-lines-slab-door-wood-28w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 06:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-type-casing-extra-deep-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 06:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-pocket-lock-nickel>: HTTP status code is not handled or not allowed 2026-01-28 06:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-pull-handle-nickel>: HTTP status code is not handled or not allowed 2026-01-28 06:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-shower-commode-chair-slideout-footrest-435-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-40l-x-4w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-28 06:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-30l-x-2w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-30l-x-3w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-28 06:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polywoven-dunnage-air-bags-4-ply-72l-x-36w-pack-of-345>: HTTP status code is not handled or not allowed 2026-01-28 06:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chillshield-mens-insulated-bib-overalls-small-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chillshield-mens-insulated-pants-large-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-hivis-softshell-insulated-pants-2xl-black-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chillshield-mens-insulated-jacket-large-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polarforce-mens-sweatshirt-4xl-black>: HTTP status code is not handled or not allowed 2026-01-28 06:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-coffee-creamer-italian-sweet-creme-0-38-oz-mini-cups-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 06:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minis-caramel-almond-nuts-sea-salt-0-7-oz-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 06:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-plastic-fork-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 06:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chopolystyreneticks-chopsticks-bamboo-9-l-natural-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 06:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-container-9-3-4-l-x-5-w-x-3-1-4-h-white-pack-of-560>: HTTP status code is not handled or not allowed 2026-01-28 06:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-cup-carrier-tray-pack-of-300>: HTTP status code is not handled or not allowed 2026-01-28 06:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-cold-drink-cups-polypropylene-9-oz-translucent-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-food-container-squat-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 06:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drywall-screw-gun-w-magazine-brushless-24v>: HTTP status code is not handled or not allowed 2026-01-28 06:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hepa-wet-dry-filter>: HTTP status code is not handled or not allowed 2026-01-28 06:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oscillating-41-piece-sanding-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tool-combo-kit-w-hammer-drill-turbo-mode-quick-eject-impact-driver-stacked-lithium>: HTTP status code is not handled or not allowed 2026-01-28 06:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eyewash-station-wall-mount>: HTTP status code is not handled or not allowed 2026-01-28 06:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 70655 pages (at 96 pages/min), scraped 33585 items (at 11 items/min) 2026-01-28 06:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-blue-ocean-breeze-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 06:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-11-oz-gloss-crystal-clear-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 06:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lens-for-nexiuszoom-34-mm-working-distance-20x>: HTTP status code is not handled or not allowed 2026-01-28 06:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-boltless-steel-shelf-96-in-w-x-24-in-d>: HTTP status code is not handled or not allowed 2026-01-28 06:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-chromatography-refrigerator-49-cuft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 06:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7100148777-scotch-weld-epoxy-adhesive-duo-pak-485-ml-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:46:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/process_cooling_equipment/chillers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-softshell-water-resistant-jacket-type-r-class-3-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-28 06:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-performance-ironman-adjustable-knee-support-universal-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-disc-activated-hot-packs-6l-x-6w-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 06:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-hydraulic-patient-lift-6-point-cradle>: HTTP status code is not handled or not allowed 2026-01-28 06:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-instant-hot-pack-8l-x-6w-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 06:46:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/canes_crutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/terry-adult-bib-w-hook-loop-strap-18l-x-30w-white-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-k3-wheelchair-w-height-adj-desk-length-arms-swing-away-footrests-18w-seat>: HTTP status code is not handled or not allowed 2026-01-28 06:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maternity-knit-underpants-size-l-xl-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/momentum-rollator-w-6-casters-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-in-1-steel-folding-commode-350-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handheld-aneroid-blood-pressure-monitor-w-d-ring-cuff-separate-single-head-stethoscope>: HTTP status code is not handled or not allowed 2026-01-28 06:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/process_cooling_equipment/chillers>: HTTP status code is not handled or not allowed 2026-01-28 06:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-20-30-mmhg-knee-high-4x-large-size-g-regular-black>: HTTP status code is not handled or not allowed 2026-01-28 06:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-goniometer-8l-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-hip-kit-32-reacher>: HTTP status code is not handled or not allowed 2026-01-28 06:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-sterile-procto-swab-w-rayon-tip-16l-100-per-box5-boxes-per-case>: HTTP status code is not handled or not allowed 2026-01-28 06:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-sterile-alcohol-prep-pads-medium-2-ply-100-per-box30-boxes-per-case>: HTTP status code is not handled or not allowed 2026-01-28 06:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sterile-aplicare-alcohol-swabsticks-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 06:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathway-straight-wheelchair-ramp-kit-aluminum-4-top-platform-20l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 06:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/canes_crutches>: HTTP status code is not handled or not allowed 2026-01-28 06:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scented-oil-warmer-whitegray-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 06:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pharmacy-upright-refrigerator-26-cu-ft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 06:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinexflame-retardant-coat-50inchl-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-cart-stainless-steel-1200-lb-capacity-36-7-16l-x-19w-x-37h>: HTTP status code is not handled or not allowed 2026-01-28 06:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shower-ceramic-disc-stem-for-price-pfister-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 06:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-shower-head-3-dia-18-gpm>: HTTP status code is not handled or not allowed 2026-01-28 06:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-5505-wide-spread-faucet-w-pop-up-medium-arc-spout-12-gpm-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 06:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-bumper-plate-storage-24l-x-24w-x-38h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-coventry-sofa-73w-x-33-7-16d-x-35-3-4h-cream>: HTTP status code is not handled or not allowed 2026-01-28 06:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-low-storage-cabinet-w-doors-shelves-60w-x-16d-x-21h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-classic-chrome-refrigerator-11-cuft-capacity-midnight-black>: HTTP status code is not handled or not allowed 2026-01-28 06:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disinfecting-wipes-fresh-scent-9-wipespack-24-packscarton>: HTTP status code is not handled or not allowed 2026-01-28 06:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emulsinator-no-rinse-floor-stripper-5-gallons-bag-in-box>: HTTP status code is not handled or not allowed 2026-01-28 06:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bellows-package-for-67-in-x-47-in-power-scissor-lift-table-293229>: HTTP status code is not handled or not allowed 2026-01-28 06:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/western-global-552-gallon-transcube-gasoline-transportable-fuel-storage-tank-emergency-vent-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-tier-12-door-digital-wood-locker-36-w-x-15-d-x-72-h-cherry-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 06:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-w-fixed-shelves-assembled-48w-x-18d-x-72h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-28 06:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-fixed-shelves-assembled-36w-x-24d-x-78h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 06:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-assembled-24w-x-18d-x-72h-wine-red>: HTTP status code is not handled or not allowed 2026-01-28 06:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-fixed-shelves-assembled-48w-x-24d-x-72h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-75h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-75h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-28 06:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-13d-x-60h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-28 06:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-55h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 06:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-33h-red>: HTTP status code is not handled or not allowed 2026-01-28 06:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-75h-wine-red>: HTTP status code is not handled or not allowed 2026-01-28 06:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-inserts-for-cryogenic-vials-blue-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 06:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryo-storage-box-w-hinged-lid-100-place-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 06:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-pallet-rack-add-on-144-in-w-x-24-in-d-x-144-in-h>: HTTP status code is not handled or not allowed 2026-01-28 06:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quartz-enhanced-visibility-sweatshirt-polyester-class-3-black-5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-diamond-quilted-jacket-w-removable-hood-blue-2xl>: HTTP status code is not handled or not allowed 2026-01-28 06:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-tone-short-sleeve-polo-shirt-polyester-black-small>: HTTP status code is not handled or not allowed 2026-01-28 06:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quartz-duck-sherpa-lined-heavy-weight-jacket-brown-5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-standard-safety-vest-w-black-contrasting-trim-class-2-2xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-waterproof-flame-resistant-winter-quilted-jacket-class-3-green-small>: HTTP status code is not handled or not allowed 2026-01-28 06:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diy-4th-generation-heat-pump-air-handler-wifi-enabled-12000-btu-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-wagon-truck-w-lip-deck-3500-lb-capacity-36l-x-24w-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkliftable-truck-w-2-shelves-3600-lb-cap-53-12l-x-24w-x-70-12h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkliftable-locker-w-1-centre-shelf-3600-lb-cap-49l-x-33w-x-81h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6668-hi-vis-safety-cooling-vest-class-2-small-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3400-glove-clip-holder-w-dual-clips-blue-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-860-heavy-lifting-utility-gloves-medium-black>: HTTP status code is not handled or not allowed 2026-01-28 06:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7141-dir-cut-resistant-gloves-nitrile-coated-ansi-a4-m-lime-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8373-hi-vis-hooded-sweatshirt-black-bottom-class-3-xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7022-cut-resistant-gloves-dsx-coated-ansi-a2-xl-lime-144-pairs>: HTTP status code is not handled or not allowed 2026-01-28 06:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7072-cut-resistant-gloves-nitrile-coated-ansi-a4-m-green-12-pairs>: HTTP status code is not handled or not allowed 2026-01-28 06:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7000-nitrile-coated-gloves-w-microfoam-palm-medium-gray-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8346z-hi-vis-two-tone-surveyor-vest-zipper-class-3-lxl-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8291bk-hi-vis-long-sleeve-t-shirt-type-r-class-2-s-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-922cr-cut-resistant-gloves-nitrile-coated-ansi-a3-xl-gray-96-pairs>: HTTP status code is not handled or not allowed 2026-01-28 06:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8216ba-breakaway-mesh-vest-w-id-holder-class-2-lxl-lime>: HTTP status code is not handled or not allowed 2026-01-28 06:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 70750 pages (at 95 pages/min), scraped 33603 items (at 18 items/min) 2026-01-28 06:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-hybrid-rolling-safety-ladder-450-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-bag-dispenser-10-18w-x-3-1516d-x-7-18h-transparent-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 06:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-earloop-face-mask-dispenser-7-1116w-x-4-18d-x-4-38h-transparent>: HTTP status code is not handled or not allowed 2026-01-28 06:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-air-grinder-58-in-11-thread-5-or-6-type-6-11-wheel-6000-rpm-side-exhaust-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 06:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jack-hammer-1-x-4-14-hex-shank-263-stroke-length-25-bore>: HTTP status code is not handled or not allowed 2026-01-28 06:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-angle-air-die-grinder-14-collet-14000-rpm-rear-exhaust-033-hp>: HTTP status code is not handled or not allowed 2026-01-28 06:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-air-screwdriver-quick-change-push-to-start-adjustable-shut-off-clutch-500-rpm-reversible>: HTTP status code is not handled or not allowed 2026-01-28 06:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-drill-78-x-3-14-hex-shank-144-stroke-length-238-bore>: HTTP status code is not handled or not allowed 2026-01-28 06:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-aerospace-riveter-1-78-stroke-3200-bpm-06-bore>: HTTP status code is not handled or not allowed 2026-01-28 06:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-drill-14-keyed-chuck-500-rpm-05-hp-pistol-grip>: HTTP status code is not handled or not allowed 2026-01-28 06:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17mm-metric-hex-deep-powersocket-for-ingersoll-rand-12in-drive-tool>: HTTP status code is not handled or not allowed 2026-01-28 06:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-1-door-digital-locker-12in-w-x-12in-d-x-78in-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 06:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-1-door-digital-locker-12in-w-x-12in-d-x-78in-h-tan-assembled>: HTTP status code is not handled or not allowed 2026-01-28 06:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-1-door-digital-locker-12in-w-x-15in-d-x-66in-h-blue-assembled>: HTTP status code is not handled or not allowed 2026-01-28 06:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-1-door-digital-locker-12in-w-x-15in-d-x-66in-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 06:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-arbor-series-kit-w-4-ft-barrel-150-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-arbor-series-kit-w-4-ft-barrel-225-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-utility-series-w-4-ft-barrel-105-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cap-fas-trac-iii-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/procedure-core-bench-w-2-bay-centre-divider-42l-x-30w-x-41h-g2n-pkg>: HTTP status code is not handled or not allowed 2026-01-28 06:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-fkr-300a>: HTTP status code is not handled or not allowed 2026-01-28 06:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-z-type-set-for-cbs-880-fr-770>: HTTP status code is not handled or not allowed 2026-01-28 06:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-mixing-valve-for-sensor-bathroom-sink-faucet-732416>: HTTP status code is not handled or not allowed 2026-01-28 06:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sds-max-combination-rotary-hammer-1-34-chuck-size-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tough-coat-adv-spray-paint-w-rust-barrier-technology-20-oz-cap-flat-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a21-led-light-bulb-medium-base-20w-2550-lumens-4000k-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-degree-cone-bur-double-cut-2l-x-316-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointed-tree-shaped-bur-double-cut-18-shank-dia-x-0-12-len-of-cut>: HTTP status code is not handled or not allowed 2026-01-28 06:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bur-box-diamond-cut-set-of-12>: HTTP status code is not handled or not allowed 2026-01-28 06:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-shaped-bur-aluma-cut-3l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t8-led-tube-light-bulb-fa8-base-43w-5500-lumens-6500k-daylight>: HTTP status code is not handled or not allowed 2026-01-28 06:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-mini-panel-light-fixture-18w-1100-lumens-120v-9-size-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t5-led-tube-light-bulb-miniature-bi-pin-base-11w-1400-lumens-4000k-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-crystal-wall-sconce-light-fixture-10w-800-lumens-80-cri-12-size-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-commercial-square-bollard-outdoor-light-fixture-121622w-2800-lumens-bronze>: HTTP status code is not handled or not allowed 2026-01-28 06:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biomixer-3d-nutating-shaker-w-dimpled-mat-115v-5060-hz-24-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-for-54-x-05ml-tubes>: HTTP status code is not handled or not allowed 2026-01-28 06:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-balance-5000g-capacity-01g-readability-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-balance-120g-capacity-01g-readability-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-balance-320g-capacity-0001g-readability-115v>: HTTP status code is not handled or not allowed 2026-01-28 06:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/analytical-balance-210g-capacity-00001g-readability-115v>: HTTP status code is not handled or not allowed 2026-01-28 06:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk2000-pallet-load-stop-beam-3-or-4-setback-w-same-clip-108w-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectra-360-electrode-gel-85-oz-tube-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 06:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-head-led-work-light-w-tripod-8000-lumens-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tread-plate-deck-platform-truck-aluminum-6-polyurethane-caster-63l-x-30w-2600-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-drill-2-flute-3-18l-x-14-dia-516-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala174-nano-lok-personal-self-retracting-lifeline-w-steel-swivel-snap-hook-72l>: HTTP status code is not handled or not allowed 2026-01-28 06:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-end-mill-power-a-2-flute-3l-x-12-dia-1-cut-length>: HTTP status code is not handled or not allowed 2026-01-28 06:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-personal-twin-leg-self-retracting-lifeline-w-aluminum-carabiner-72l>: HTTP status code is not handled or not allowed 2026-01-28 06:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloth-belt-film-lok-single-flex-464w-600-grit-120l-x-9w-pack-of-200>: HTTP status code is not handled or not allowed 2026-01-28 06:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl48-box-sentinel-front-loader-solar-powered-cabinet-26w-x-50dx-44h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-12w-x-72h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-36l-x-24w-x-60h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-20w-x-54h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-add-on-48l-x-40w-x-60h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-add-on-48l-x-40w-x-84h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-36l-x-32w-x-54h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-24w-x-96h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-40w-x-60h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-36l-x-12w-x-60h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-36l-x-12w-x-96h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optimus-power-scissor-lift-table-hand-operated-5000-cap-1ph-230v-56l-x-32w>: HTTP status code is not handled or not allowed 2026-01-28 06:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-gard-h1pro-safety-helmet-non-vented-fas-trac-iii-pivot-ratchet-suspension-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-flex-ii-vinyl-bulk-roll-smooth-24-x-160-x-30-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-yb12a-a-12v-12ah-165-cca-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-odin-afas-safety-glasses-clear-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/identification-tag-4-inch-x-2-inch-black-37084>: HTTP status code is not handled or not allowed 2026-01-28 06:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/535-spot-check-and-vital-signs-monitor-for-nibp-spo2-oral-temp>: HTTP status code is not handled or not allowed 2026-01-28 06:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9630-2m-ns-single-use-advanced-gel-hand-sanitizer-fragrance-free-12-ml-cap-pack-of-2000>: HTTP status code is not handled or not allowed 2026-01-28 06:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-steel-ladder-roof-rack-for-nissan-nv-cargo-van-2011-on-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hepa-filter-global-industrial-153-commercial-air-purifier-604153-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/military-grade-cargo-lifting-net-4500-lb-capacity-6-14-opening-192l-x-192w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-2-bar-aluminum-ladder-rack-system-for-gmc-savana-1996-on-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-grade-cargo-lifting-net-7000-lb-capacity-10-opening-144l-x-144w-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bgs-led-security-area-light-6000-lumens-300040005000k-dark-bronze>: HTTP status code is not handled or not allowed 2026-01-28 06:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-steel-ladder-roof-rack-for-ford-transit-connect-2014-on-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wg-composite-bulkhead-ram-promaster-high-roof-standard-roof>: HTTP status code is not handled or not allowed 2026-01-28 06:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-grade-cargo-lifting-net-7000-lb-capacity-10-opening-72l-x-72w-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smokers-outpost-smoke-stand-silver>: HTTP status code is not handled or not allowed 2026-01-28 06:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-conveyor-netting-1146-lb-capacity-600l-x-72w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-conveyor-netting-1146-lb-capacity-600l-x-108w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-ceramic-fireplace-heater-1500w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs40x2-1-14-pitch-2-finished-bore-40-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-controlled-room-temperature-cabinet-1-cuft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 06:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs11hx42-metric-1-12-pitch-42mm-finished-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssid-pre-post-decon-kit-youth>: HTTP status code is not handled or not allowed 2026-01-28 06:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 70846 pages (at 96 pages/min), scraped 33613 items (at 10 items/min) 2026-01-28 06:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedi-padz-ii-defibrillator-pads-white>: HTTP status code is not handled or not allowed 2026-01-28 06:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-14m-6-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs15hx42-metric-1-14-pitch-42mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-140btl13-1-34-pitch-taper-bushed-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/singlefold-paper-towels-9-x-9-7-16-natural-250-pack-16-packs-carton>: HTTP status code is not handled or not allowed 2026-01-28 06:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs20hx50-metric-1-pitch-50mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-pull-on-boots-composite-toe-size-8m-11-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trushot-2-0-power-cleaner-clean-fresh-scent-10-oz-cartridge-4-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailgrip-work-athletic-hiker-boots-alloy-toe-size-15w-4-inch-h-coyote-black>: HTTP status code is not handled or not allowed 2026-01-28 06:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-wellington-work-boots-steel-toe-size-6m-10-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-wellington-work-boots-steel-toe-size-13-5m-10-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e1-foam-handwash-fragrance-free-1250-ml-4-carton>: HTTP status code is not handled or not allowed 2026-01-28 06:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-pull-on-boots-composite-toe-size-7w-11-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-skylar-work-zip-bootie-composite-toe-size-12w-4-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-pull-on-boots-composite-toe-size-15m-11-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-14w-8-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs15hx42-metric-1-12-pitch-42mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-skylar-work-zip-bootie-composite-toe-size-7w-4-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-premier-casual-chukka-boots-steel-toe-size-10eee-4-inch-h-dark-cognac>: HTTP status code is not handled or not allowed 2026-01-28 06:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-6-5w-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs60x112-58-pitch-1-12-finished-bore-60-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs14hx45-metric-1-12-pitch-45mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-12-5m-8-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs33x11516-1-pitch-1-1516-finished-bore-33-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-13-5m-8-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailgrip-work-athletic-hiker-boots-alloy-toe-size-8m-4-inch-h-coyote-black>: HTTP status code is not handled or not allowed 2026-01-28 06:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailgrip-work-athletic-hiker-boots-alloy-toe-size-8-5m-4-inch-h-coyote-black>: HTTP status code is not handled or not allowed 2026-01-28 06:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-10-5w-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-abdominal-perineal-drapes-6665-78-inch-x-106-inch-lithotomy-position-10-cs>: HTTP status code is not handled or not allowed 2026-01-28 06:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-adhesive-aperture-drape-29-inch-x-29-inch-40-bx-4-bx-cs>: HTTP status code is not handled or not allowed 2026-01-28 06:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-7w-black-red>: HTTP status code is not handled or not allowed 2026-01-28 06:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-cesarean-section-sheet-with-aperture-pouch-7966-101-inch-x-122-inch-5-each-case>: HTTP status code is not handled or not allowed 2026-01-28 06:48:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs30x11516-1-pitch-1-1516-finished-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-high-top-sneaker-composite-toe-size-12m-black-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs24x30-metric-1-pitch-30mm-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08a27h-metric-a-plate-12-pitch-16mm-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-9w-black-red>: HTTP status code is not handled or not allowed 2026-01-28 06:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bair-hugger-warming-gown-81201-x-large-51l-20-case>: HTTP status code is not handled or not allowed 2026-01-28 06:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100a24x114-a-plate-1-14-pitch-1-14-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-7-5w-black-red>: HTTP status code is not handled or not allowed 2026-01-28 06:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-boltless-shelving-36-in-w-x-18-in-d-x-84-in-h-5-shelves-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-screw-cap-macrotube-sterile-5-ml-opaque-black-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-propette-le-single-channel-pipette-1-10ul>: HTTP status code is not handled or not allowed 2026-01-28 06:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 06:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs36x138-1-pitch-1-38-finished-bore-36-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs19hx1716-12-pitch-1-716-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 06:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35b22hx12mpb-38-pitch-12-plain-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-9-5m-navy-aged-indigo>: HTTP status code is not handled or not allowed 2026-01-28 06:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100a54x138-a-plate-1-14-pitch-1-38-bore-54-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs18hx70-metric-1-12-pitch-70mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-13m-black-gum>: HTTP status code is not handled or not allowed 2026-01-28 06:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-10m-black-gum>: HTTP status code is not handled or not allowed 2026-01-28 06:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-9w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-12w-navy>: HTTP status code is not handled or not allowed 2026-01-28 06:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40btl20h-taper-bushed-12-pitch-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50ja16h-qd-bushed-58-pitch-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs13hx34-34-pitch-34-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-rbc2-ups-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-5-5m-blue-navy>: HTTP status code is not handled or not allowed 2026-01-28 06:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs12hx34-34-pitch-34-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsr-psj4424-jump-starter-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 06:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-10-5w-black-red>: HTTP status code is not handled or not allowed 2026-01-28 06:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-7m-black-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b-b-bp17-12-nb-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-8-5w-black-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/philips-elu8-medical-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-13m-blue-navy>: HTTP status code is not handled or not allowed 2026-01-28 06:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-8w-navy-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/philips-pmx-x-ray-medical-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-9m-dark-brown-khaki>: HTTP status code is not handled or not allowed 2026-01-28 06:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-gallon-plastic-jug-haz-mat-box-12-1-16-x-12-1-16-x-12-3-4-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-bags-4-x-5-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-12w-black-seafoam-green-white>: HTTP status code is not handled or not allowed 2026-01-28 06:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-slip-on-sneaker-steel-toe-size-11-5eee-cognac>: HTTP status code is not handled or not allowed 2026-01-28 06:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-bp5-12-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-9m-dark-gray-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 06:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-4-x-5-32-red-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-bubble-bags-18-x-23-1-2-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galion-150p-industrial-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-bags-4-x-8-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-bubble-bags-10-x-15-1-2-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 70948 pages (at 102 pages/min), scraped 33632 items (at 19 items/min) 2026-01-28 06:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-bags-15-x-15-200-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-14m-dark-gray-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 06:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severance-chatter-free-stop-countersink-cutter-82-5-8-10-pilot-hole>: HTTP status code is not handled or not allowed 2026-01-28 06:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs16hx134-34-pitch-1-34-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs13hx35-metric-34-pitch-35mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs22hx1316-58-pitch-1-316-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pe4-5-alarm-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs28hx58-12-pitch-58-finished-bore-28-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ademco-vista-30pse-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledm002wht-13-led-ceiling-fixtures-14w-4000-cct-1200-lumens-82-cri-white>: HTTP status code is not handled or not allowed 2026-01-28 06:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-6w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-5-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-maxim3-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-11-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-ingredient-bin-cart-148pib-31-1-2-l-x-17-w-x-28-3-4-h-aluminum-cart-w-3-bins>: HTTP status code is not handled or not allowed 2026-01-28 06:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs21hx138-58-pitch-1-38-finished-bore-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-9m-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-11w-slate-blue-salmon>: HTTP status code is not handled or not allowed 2026-01-28 06:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-maxim55d-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs30hx118-12-pitch-1-18-finished-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelves-36-w-x-24-d-storage-cabinet-tan>: HTTP status code is not handled or not allowed 2026-01-28 06:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60ja12h-taper-bushed-34-pitch-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelves-48-w-x-18-d-storage-cabinet-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3317-nanoflex-tr-athletic-work-shoes-composite-toe-size-9-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-6-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-15m-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-9w-silver-gray-clay-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40b13hx12mpb-12-pitch-12-plain-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ag20-series-4-x-30-solid-alum-fixed-bar-supply-return-air-vent-grille-brushed-satin>: HTTP status code is not handled or not allowed 2026-01-28 06:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al1024ulmr-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ag10-series-4-x-36-solid-alum-fixed-bar-supply-return-air-vent-grille-brushed-satin>: HTTP status code is not handled or not allowed 2026-01-28 06:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ag10-series-2-1-4-x-10-solid-alum-fixed-bar-supply-return-air-vent-grille-brushed-satin>: HTTP status code is not handled or not allowed 2026-01-28 06:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-mid-cut-shoes-composite-toe-size-4m-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-16m-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35b14hx12mpb-38-pitch-12-plain-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-11w-gray-red-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-light-gray-3-8-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 06:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-10w-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-loop-with-acrylic-adhesive-1-half-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 06:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deutz-1036-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-06a26h-metric-a-plate-38-pitch-10mm-bore-26-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elan-1632-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bruno-pwc-2200-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-56027-lawn-and-garden-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs13hx18-metric-12-pitch-18mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 06:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 06:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-powered-straddle-stacker-2200-lb-cap-116-lift-987198>: HTTP status code is not handled or not allowed 2026-01-28 06:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps>: HTTP status code is not handled or not allowed 2026-01-28 06:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chronomite-laboratories-sr-15l-277-instant-flow-sr>: HTTP status code is not handled or not allowed 2026-01-28 06:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/murray-36519-lawn-and-garden-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/irontuff-jackoat-black-hivis-lime-50-comfort-rating-5xl-regular>: HTTP status code is not handled or not allowed 2026-01-28 06:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-skate-inspired-work-shoes-composite-toe-size-8m-navy-celestial-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-6w-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-7-5w-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-10-5w-navy>: HTTP status code is not handled or not allowed 2026-01-28 06:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-4-5m-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-b6-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-chain-binder-10035-fits-5-16-to-3-8-chain>: HTTP status code is not handled or not allowed 2026-01-28 06:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-12m-navy>: HTTP status code is not handled or not allowed 2026-01-28 06:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-9-5w-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coleman-fish-finder-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-electric-air-compressor-l001152-230v-75hp-1ph-80-gal>: HTTP status code is not handled or not allowed 2026-01-28 06:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drum-spillpallet-5116-bd-low-profile-2000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ds250-250cc-atv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ddc-l-gy-drawer-wlock-16w-x-14d-x-11h-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-base-waterproofer-white-5-gallon>: HTTP status code is not handled or not allowed 2026-01-28 06:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-xta20h-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-traxter-optional-500cc-atv-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 06:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-8m-rust>: HTTP status code is not handled or not allowed 2026-01-28 06:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-executive-chair>: HTTP status code is not handled or not allowed 2026-01-28 06:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-xtax7l-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rieju-mrx-50cc-motorcycle-replacement-battery-1998-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-channel-7-3-4-cord-dropover-cable-guard-red>: HTTP status code is not handled or not allowed 2026-01-28 06:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/left-turn-for-ns5140-36-cable-guard-orange-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-channel-2-heavy-duty-cable-guard-orange-black>: HTTP status code is not handled or not allowed 2026-01-28 06:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-pump-motor-tj1-36-56cb-nol-gp-tefc-rem-c-1-ph-56c-115-208-230v-1-hp>: HTTP status code is not handled or not allowed 2026-01-28 06:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-22-gal-steel-wall-hugger-unit-w-plastic-drop-top-ss-70htss>: HTTP status code is not handled or not allowed 2026-01-28 06:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe2-18-145jp-tefc-rigid-c-3-ph-145jp-2-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pfsma-pneumatic-adjustable-flat-screen-monitor-arm>: HTTP status code is not handled or not allowed 2026-01-28 06:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb4500-work-high-top-work-sneaker-composite-toe-size-11w-black-holographic-spectrum>: HTTP status code is not handled or not allowed 2026-01-28 06:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25u-4-post-open-frame-rack-cabinet-square-holes-1000lb-capacity-sr4post25>: HTTP status code is not handled or not allowed 2026-01-28 06:49:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-flange-kit-pew280td-prem-eff-284t-286t>: HTTP status code is not handled or not allowed 2026-01-28 06:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfortie-casual-work-shoes-steel-toe-size-6-5w-black-white>: HTTP status code is not handled or not allowed 2026-01-28 06:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/erasable-retractable-gel-pens-navy-ink-navy-blue-barrel-dozen-31457>: HTTP status code is not handled or not allowed 2026-01-28 06:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 71045 pages (at 97 pages/min), scraped 33646 items (at 14 items/min) 2026-01-28 06:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tecc-electric-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-electric-scooter-replacement-battery-14ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthflex-privacy-screen-3-panel-vinyl-sandalwood>: HTTP status code is not handled or not allowed 2026-01-28 06:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peugeot-trekker-100cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulse-satellite-electric-scooter-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/currie-ezip-150-electric-scooter-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-carton-sealing-tape-2-x-55-yds-orange-pack-of-36>: HTTP status code is not handled or not allowed 2026-01-28 06:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/131-quiet-carton-sealing-tape-2-x-55-yds-clear-pack-of-36>: HTTP status code is not handled or not allowed 2026-01-28 06:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-well-pump-motor-wo75-12-444t-tefc-rigid-3-ph-444t-230-460-796v-75-hp>: HTTP status code is not handled or not allowed 2026-01-28 06:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 06:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-500ss-597cc-snowmobile-replacement-battery-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-prowler-700-utv-replacement-battery-2010-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-cf5-efi-500cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht100-12-444tc-gp-tefc-rigid-c-3-ph-444tc-111-fla>: HTTP status code is not handled or not allowed 2026-01-28 06:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-foot-shin-guards-steel-toe-clip-leather-strap-5w-standard-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-plate-leveling-manual-caster-550-lbs-63mm-dia-nylon-wheel-2-7-8-x-2-7-8-plate>: HTTP status code is not handled or not allowed 2026-01-28 06:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-instrument-table-with-lower-shelf-72x24x34-987211>: HTTP status code is not handled or not allowed 2026-01-28 06:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-steel-toe-guards-leather-cuff-quick-fastener-web-strap-4-12w-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-truck-mold-on-rubber-wheels-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tripp-lite-su2200rtxl2un-ups-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-metal-access-panel-key-lock-24l-x-24w>: HTTP status code is not handled or not allowed 2026-01-28 06:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concealed-frame-access-panel-for-wallboard-cam-latch-8l-x-8w>: HTTP status code is not handled or not allowed 2026-01-28 06:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usb-30-superspeed-sdxc-memory-card-media-reader-writer-5gbps>: HTTP status code is not handled or not allowed 2026-01-28 06:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-port-dvi-over-cat5-cat6-extender-splitter-video-transmitter>: HTTP status code is not handled or not allowed 2026-01-28 06:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-xl-self-retracting-lifeline-w-quick-connect-aluminum-rebar-hook-9l>: HTTP status code is not handled or not allowed 2026-01-28 06:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenline-656-hand-truck-w-continuous-handle-semi-pneumatic-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upg-ub1234-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-mule-gc640-exit-6v-4-5ah-emergency-light-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-belt-drive-three-phase-wall-fan-xbl48t30100m-1hp-21500-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-commercial-grade-60a-rubber-sheet-1-4-thick-x-4-x-4-length-black-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duracell-dura6-5f-sealed-lead-acid-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-wheel-kit-acm-wk>: HTTP status code is not handled or not allowed 2026-01-28 06:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-6-center-wheel-for-500-lb-capacity-stainless-steel-bulk-truck>: HTTP status code is not handled or not allowed 2026-01-28 06:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-n-carry-jnc100-jump-starter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-nonslip-coating-durable-antislip-paint-5-gal-light-gray-75-lg-pl>: HTTP status code is not handled or not allowed 2026-01-28 06:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-decal-these-doors-to-remain-unlocked-during-business-hours-1-1-2-x-24-white-on-black>: HTTP status code is not handled or not allowed 2026-01-28 06:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ar8021-air-receivers-surge-tanks-30gal-175psi>: HTTP status code is not handled or not allowed 2026-01-28 06:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nonin-medical-travelark-medical-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-valve-box-satin-polish-12-12-6>: HTTP status code is not handled or not allowed 2026-01-28 06:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-waterfall-deck-shelving-5-shelves-48w-x-24d-x-84h-midnight-ebony>: HTTP status code is not handled or not allowed 2026-01-28 06:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-shelving-6-shelves-starter-unit-350-lb-cap-48w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-back-ups-600-bn600-12v-9ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-shelving-8-shelves-starter-unit-800-lb-cap-36w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-d300-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/health-o-meter-professional-portable-height-rod>: HTTP status code is not handled or not allowed 2026-01-28 06:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-bp33-12f-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flushback-pick-a-book-stand-1-sided>: HTTP status code is not handled or not allowed 2026-01-28 06:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-extra-heavy-duty-additional-shelf-48w-x-12d-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-metal-shelving-6-shelves-750-lb-cap-48w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toyo-6gfm60-sealed-lead-acid-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 06:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-stand-alone-shelving-8-shelves-375-lb-cap-48w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-eb80-12-sealed-lead-acid-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 06:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-stand-alone-shelving-6-shelves-375-lb-cap-48w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/llr44551-desk-fan-12-dia-oscillating-3-speed-quiet-metal-grille-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-style-deep-bin-shelving-8-shelves-add-on-unit-36w-x-72d-x-87h-bluegray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-heavy-duty-double-entry-work-platform-36w-steps-dep5-3672>: HTTP status code is not handled or not allowed 2026-01-28 06:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upg-ub1280-f2-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-in-combination-louver-damper-with-flange>: HTTP status code is not handled or not allowed 2026-01-28 06:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mt-tt-1416-utility-trailer-mesh-cover-14x16>: HTTP status code is not handled or not allowed 2026-01-28 06:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unison-mx06065-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-style-metal-shelving-8-shelves-375-lb-cap-48w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/remco-bsl1116-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haze-hzs12-7-5-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-gpl12400-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-in-backdraft-damper>: HTTP status code is not handled or not allowed 2026-01-28 06:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-in-x-20-in-steel-door-louver>: HTTP status code is not handled or not allowed 2026-01-28 06:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-style-metal-shelving-sway-braces-5-shelves-48w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-dn-1218-debris-safety-netting-12-x-18>: HTTP status code is not handled or not allowed 2026-01-28 06:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-in-aluminum-flanged-motorized-damper>: HTTP status code is not handled or not allowed 2026-01-28 06:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cove-base-pinnacle-rubber-no-toe-4x18x120-coil-burntumber>: HTTP status code is not handled or not allowed 2026-01-28 06:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b-b-bp26-12-nb-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-stand-alone-shelving-5-shelves-800-lb-cap-36w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/century-es1240-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-end-cap-heavy-duty-plastic-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 06:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fast-track-e-track-horizontal-vertical-anchor-track-16-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exell-eb1280f2-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29414ex-spherical-roller-thrust-bearing-extra-capacity-steel-cage>: HTTP status code is not handled or not allowed 2026-01-28 06:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-coupler-lock-rekeyable-cylinder-fits-1-78-2-2-516>: HTTP status code is not handled or not allowed 2026-01-28 06:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-reel-cart-with-cabinet-RCM-2448-5PYTL>: HTTP status code is not handled or not allowed 2026-01-28 06:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spark-resistant-manual-chain-hoist-12-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-chain-hoist-w-overload-protection-20-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/karryall-model-79-adjustable-conductive-medium-pcb-rack-15w-11d-1514h>: HTTP status code is not handled or not allowed 2026-01-28 06:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extinguisher-cabinet-full-break-glass-with-lock-stl-surface-mt-11-1-2-inch-l-x-20-1-2-inch-h-x-5-3-4-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 06:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-2-in-galvanized-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 06:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifuge-tube-rack-set-sterile-50ml-capacity-clear-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 06:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n243036-2-shelving-unit-2-shelf-24w-x-30h-x-36l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-3-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 06:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamometer-top-hook-assembly-for-1-12-ton-capacity-lever-hoists>: HTTP status code is not handled or not allowed 2026-01-28 06:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 71142 pages (at 97 pages/min), scraped 33655 items (at 9 items/min) 2026-01-28 06:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-lever-hoist-9-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/volt153-portable-electric-heater-w-thermostat-240v-3-phase-60000w>: HTTP status code is not handled or not allowed 2026-01-28 06:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-eye-face-wash-sign-for-wall-mounting-pvc-10w-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 06:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-galvanized-malleable-cored-plug-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 06:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cadss-catch-a-drip-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cant1260-cantilever-shelf-adjustable-solid-shelf-12w-x-2h-x-60l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duracell-sla6-5f-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-smp3pmctxpd8cb-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounting-kit-w-wall-mount-template-for-obh230-wall>: HTTP status code is not handled or not allowed 2026-01-28 06:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-manual-chain-hoist-5-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/potter-electric-pfc-5004e-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-lambswool-monsoon-strip-window-washer-refill-mc18>: HTTP status code is not handled or not allowed 2026-01-28 06:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powervar-54811-01-12v-12ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teftec-alpha-trac-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condensate-removal-pump-vcma20ulst-automatic-115v-80-gph-at-1-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rascal-turnabout-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wardrobe-locker-w-padlock-hasp-2-tier-assembled-12w-x-15d-x-60h-beige>: HTTP status code is not handled or not allowed 2026-01-28 06:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oneac-onbp-405-12v-5ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/braun-tri-wheeler-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-drive-pump-1md-115v-180-gph-at-1>: HTTP status code is not handled or not allowed 2026-01-28 06:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-bec-scoota-bug-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-plastic-shim-coil-020-5-20>: HTTP status code is not handled or not allowed 2026-01-28 06:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-straight-leg-slotted-shim-20-b-003>: HTTP status code is not handled or not allowed 2026-01-28 06:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/622052rs-deep-groove-ball-bearing-wide-width-double-sealed-25mm-bore-52mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62192rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-95mm-bore-170mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6320-deep-groove-ball-bearing-open-100mm-bore-215mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ortho-kinetics-lark-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-unitary-ldpe-125ml-capacity-white-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 06:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickie-p500-22nf-agm-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-open-flat-lid-black-261604bk>: HTTP status code is not handled or not allowed 2026-01-28 06:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-11504-t6-1800rpm-3-phase-60hz-575v-4pole>: HTTP status code is not handled or not allowed 2026-01-28 06:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62042rs-deep-groove-ball-bearing-double-sealed-20mm-bore-47mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60162rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-80mm-bore-125mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidization-nozzle-steel-nipple-with-plastic-insert->: HTTP status code is not handled or not allowed 2026-01-28 06:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-s235-deluxe-wheelchair-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-tier-12-door-wood-locker-36-w-x-15-d-x-72-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 06:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-6806-1200rpm-3-phase-60hz-230460v-6pole>: HTTP status code is not handled or not allowed 2026-01-28 06:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-6-door-digital-wood-locker-36-w-x-15-d-x-72-h-cherry-assembled>: HTTP status code is not handled or not allowed 2026-01-28 06:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-2-door-wood-locker-12-w-x-15-d-x-72-h-cherry-assembled>: HTTP status code is not handled or not allowed 2026-01-28 06:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6205zz-deep-groove-ball-bearing-double-shielded-25mm-bore-52mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-vibrator-turbine-ot-10-anodized-aluminum-body>: HTTP status code is not handled or not allowed 2026-01-28 06:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoprider-te889dx4-4-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-vibrator-turbine-ot-16s-anodized-aluminum-body>: HTTP status code is not handled or not allowed 2026-01-28 06:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-mobile-dolly-for-standard-height-cabinets>: HTTP status code is not handled or not allowed 2026-01-28 06:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-in-strapping-cart>: HTTP status code is not handled or not allowed 2026-01-28 06:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-23004-1800rpm-3-phase-60hz-230460v-4pole>: HTTP status code is not handled or not allowed 2026-01-28 06:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6201zz-deep-groove-ball-bearing-double-shielded-12mm-bore-32mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pleasant-hearth-alpine-fireplace-glass-door-large-black-an-1012>: HTTP status code is not handled or not allowed 2026-01-28 06:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-1a-fiberglass-extension-ladder-16-ft-dxl302016pt>: HTTP status code is not handled or not allowed 2026-01-28 06:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62052rs-deep-groove-ball-bearing-double-sealed-25mm-bore-52mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-60l-x-24w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/velocity-mechanical-pencil-refillable-rubber-grip-07mm-blue-barrel-dozen>: HTTP status code is not handled or not allowed 2026-01-28 06:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-standing-height-workbench-plastic-laminate-square-edge-black>: HTTP status code is not handled or not allowed 2026-01-28 06:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440258915-cloth-belt-577f-37w-x-75l-60-grit>: HTTP status code is not handled or not allowed 2026-01-28 06:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440212078-cloth-belt-340d-37w-x-60l-p120-grit>: HTTP status code is not handled or not allowed 2026-01-28 06:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-highlighter-chisel-tip-fluorescent-green-ink>: HTTP status code is not handled or not allowed 2026-01-28 06:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jacobsen-53034-lawn-and-garden-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelhorse-212-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersol-3014-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440201584-cloth-belt-341d-6w-x-48l-80-grit>: HTTP status code is not handled or not allowed 2026-01-28 06:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440197915-cloth-belt-341d-10w-x-70-1-2l-80-grit>: HTTP status code is not handled or not allowed 2026-01-28 06:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearpoint-mechanical-pencil-refillable-07mm-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:51:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-267-h-lawn-and-garden-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:51:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-48l-x-14w-x-69h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 06:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-womens-short-sleeve-t-shirt-l-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunworks-construction-paper-12x18-holiday-green-50-sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-bearing-double-row-bore-75mm-0010-to-0020-radial-clearance-nn3015m2kc9nap4>: HTTP status code is not handled or not allowed 2026-01-28 06:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-gallon-plastic-storage-tank-domed-with-flat-bottom-987265>: HTTP status code is not handled or not allowed 2026-01-28 06:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-womens-long-sleeve-shirt-class-3-2xl-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-marker-oilbased-medium-blue-ink-1-each>: HTTP status code is not handled or not allowed 2026-01-28 06:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accent-pen-style-liquid-highlighter-chisel-tip-fluorescent-yellow-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 06:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunworks-construction-paper-9x12-blue-50-sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunworks-construction-paper-12x18-blue-50-sheets>: HTTP status code is not handled or not allowed 2026-01-28 06:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ewf3000-1500-gallon-lead-sediment-reduction-filter-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 06:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 06:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hx5-focusing-led-flashlight-130-lumens-black>: HTTP status code is not handled or not allowed 2026-01-28 06:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accent-pen-style-liquid-highlighter-chisel-tip-fluorescent-green-ink>: HTTP status code is not handled or not allowed 2026-01-28 06:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-womens-short-sleeve-t-shirt-class-2-m-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-174-stainless-steel-horizontal-liquid-soap-dispenser-1000-ml>: HTTP status code is not handled or not allowed 2026-01-28 06:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technacell-ep66036-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9682071-bench-grinder-wwheel-guards-dust-collection-ports-7-wheel-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twisterase-eraser-refill-use-for-twisterase-and-side-fx-pencil-white-3pack>: HTTP status code is not handled or not allowed 2026-01-28 06:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 71238 pages (at 96 pages/min), scraped 33668 items (at 13 items/min) 2026-01-28 06:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9682901-small-grinding-wheel-dresser>: HTTP status code is not handled or not allowed 2026-01-28 06:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/begreen-b2p-retractable-gel-pen-refillable-fine-red-ink-1-each>: HTTP status code is not handled or not allowed 2026-01-28 06:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-womens-short-sleeve-t-shirt-class-2-l-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/columbia-mtd-495-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-round-in-ground-mount-picnic-table-black>: HTTP status code is not handled or not allowed 2026-01-28 06:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-square-in-ground-mount-picnic-table-black>: HTTP status code is not handled or not allowed 2026-01-28 06:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-powered-fda-compliant-pump-act-fda-air>: HTTP status code is not handled or not allowed 2026-01-28 06:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uni-paint-marker-oilbased-medium-orange-ink>: HTTP status code is not handled or not allowed 2026-01-28 06:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mule-6gc032l-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easytouch-ballpoint-retractable-pen-fine-blue-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 06:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technologies-motorized-platform-truck-mpc-1772-264915-1500-lb-cap-49-x-25-1-2>: HTTP status code is not handled or not allowed 2026-01-28 06:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technologies-motorized-platform-truck-mpc-1772-266120-2000-lb-cap-61-x-25-1-2>: HTTP status code is not handled or not allowed 2026-01-28 06:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-duty-no-bump-dump-hopper-steel-1-cu-yd-4000-lb-capacity-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/122-in3-hydraulic-hand-pump-p2001-2speed>: HTTP status code is not handled or not allowed 2026-01-28 06:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-body-hydraulic-cylinder-kit-hf3005b-30-ton>: HTTP status code is not handled or not allowed 2026-01-28 06:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-acting-hydraulic-cylinder-h2504-25-ton-4-stroke>: HTTP status code is not handled or not allowed 2026-01-28 06:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crossover-ladder-48l-x-28-12w-x-94-716h>: HTTP status code is not handled or not allowed 2026-01-28 06:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/302-epm-194-heat-detector-explosionproof-mounting-ul-not-fm-approved>: HTTP status code is not handled or not allowed 2026-01-28 06:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vickers-ti500-globetrotter-transport-incubator-12v-24ah-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crossover-ladder-96l-x-28-12w-x-118-716h>: HTTP status code is not handled or not allowed 2026-01-28 06:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrostatic-air-filter-merv-8-14w-x-1d-x-30h>: HTTP status code is not handled or not allowed 2026-01-28 06:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wg4wf-svmc-outdoor-speaker-strobe-white-fire>: HTTP status code is not handled or not allowed 2026-01-28 06:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eg1-c-wall-chime-temp-hi-lo-white>: HTTP status code is not handled or not allowed 2026-01-28 06:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-hi-density-rounded-foam-mini-roller-cover-12-frame-12-case-412-foamq>: HTTP status code is not handled or not allowed 2026-01-28 06:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-mini-roller-paint-tray-40-case-pet-30>: HTTP status code is not handled or not allowed 2026-01-28 06:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperlite-extension-ladder-w-ground-cue-ratchet-leveler-28-type-iaa-375-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 06:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-frame-for-6-mini-roller-24-case-6rl-14>: HTTP status code is not handled or not allowed 2026-01-28 06:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wg4wn-svmhc-outdoor-speaker-strobe-white-no-fire-ho-cd>: HTTP status code is not handled or not allowed 2026-01-28 06:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-fork-pockets-ost-fp-modern-equipment-meco-open-mesh-steel-security-trucks>: HTTP status code is not handled or not allowed 2026-01-28 06:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eg1t-genesis-trim-plate-for-two-gang-or-4-square-boxes-white>: HTTP status code is not handled or not allowed 2026-01-28 06:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/270-doc-270-series-fire-alarm-station-single-action-pull-station>: HTTP status code is not handled or not allowed 2026-01-28 06:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-trouble-light-sl425a-25l-cord-163-ga-yellow-6pk>: HTTP status code is not handled or not allowed 2026-01-28 06:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pe65-emergency-light-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-storage-cabinet-turn-handle-4-adj-shelves-36-inch-w-x-18-inch-d-x-72-inch-h-putty>: HTTP status code is not handled or not allowed 2026-01-28 06:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-tube-for-900-series-sl202-6pk>: HTTP status code is not handled or not allowed 2026-01-28 06:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-light-with-aluminum-reflector-sl300pdq6-silver-6pk>: HTTP status code is not handled or not allowed 2026-01-28 06:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/els-eds12260-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-finished-end-panel-12-inch-d-x-87-inch-h-jet-black>: HTTP status code is not handled or not allowed 2026-01-28 06:52:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelf_doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-deda-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upg-ub12150-40658-12v-15ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-bulk-storage-rack-galvanized-metal-shelf-12-inch-l-x-42-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 06:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lcr064r5p-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coopower-cp612-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-two-stage-electric-air-compressor-75-hp-80-gal-cap-1-phase-230v-23-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-gp642-6v-45ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acid-eater-neutralizer-degreaser-32-oz-1002-016>: HTTP status code is not handled or not allowed 2026-01-28 06:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biorem-2000-parts-cleaner-liquid-8003-005>: HTTP status code is not handled or not allowed 2026-01-28 06:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qp-max-two-stage-air-compressor-vertical-75-hp-80-gallon-capacity-3-phase-200v>: HTTP status code is not handled or not allowed 2026-01-28 06:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-panel-4w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 06:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-electric-air-compressor-175-psi-75-hp-80-gal-cap-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-electric-air-compressor-75-hp-80-gal-cap-1-phase-230v-489-lb-wt>: HTTP status code is not handled or not allowed 2026-01-28 06:52:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelf_doors landed on page that is not a product page. 2026-01-28 06:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-electric-air-compressor-75-hp-80-gal-cap-3-phase-460v-491-lb-wt>: HTTP status code is not handled or not allowed 2026-01-28 06:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-rack-placard-label-holder-3-x-100-ft-rollclear-797050>: HTTP status code is not handled or not allowed 2026-01-28 06:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/athens-square-base-w-wheels-for-libra-cast-aluminum-108-lb-weight-shadow-graphite>: HTTP status code is not handled or not allowed 2026-01-28 06:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-cylindrical-lockset-ball-knob-privacy-brushed-chrome>: HTTP status code is not handled or not allowed 2026-01-28 06:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiamm-fg20121-12v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-gs-pe76r-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parasystems-ps640f-6v-45ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-p4c2-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parasystems-12v-4ah-12v-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/in-ground-mount-kit-for-galaxy-4851-lb-weight-black>: HTTP status code is not handled or not allowed 2026-01-28 06:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvec50-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:52:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrella_bases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-px06120-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-9-01-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-open-tabloid-11inch-x-17inch-locking-slant-d-ring-binder-2inch-black>: HTTP status code is not handled or not allowed 2026-01-28 06:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6760-single-unibearing-bearing>: HTTP status code is not handled or not allowed 2026-01-28 06:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-mg2-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-24-diameter-hd-precision-turret-bearing-ptb-24-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-cl-cart-w-white-drawers-27-12l-x-19-12w-x-35-58h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3933-dropin-tnuts>: HTTP status code is not handled or not allowed 2026-01-28 06:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-dsm54-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-teal-small>: HTTP status code is not handled or not allowed 2026-01-28 06:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keypad-wall-key-safe-100-keys-15-58w-x-4-34d-x-21-58h-black>: HTTP status code is not handled or not allowed 2026-01-28 06:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aura-carbon-infrared-heater-w-remote-control-3000w-208240v-stainless>: HTTP status code is not handled or not allowed 2026-01-28 06:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-cl-cart-w-gray-drawers-27-12l-x-19-12w-x-35-58h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tissue-box-holder-petg-medium-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:52:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrella_bases landed on page that is not a product page. 2026-01-28 06:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-m17-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-black-medium>: HTTP status code is not handled or not allowed 2026-01-28 06:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/separating-puller-with-side-clamp-2-jaws-4-ton-capacity-4-opening-3-78-reach>: HTTP status code is not handled or not allowed 2026-01-28 06:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puller-with-2-reversible-double-end-jaws-75-ton-capacity-8-58-opening-5-18-reach>: HTTP status code is not handled or not allowed 2026-01-28 06:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 71332 pages (at 94 pages/min), scraped 33679 items (at 11 items/min) 2026-01-28 06:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5475-single-shaft-predrilled-mounting-plate-1>: HTTP status code is not handled or not allowed 2026-01-28 06:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-puller-w-2-3-swiveling-jaws-11-ton-cap-15-34-opening-11-132-adj-reach>: HTTP status code is not handled or not allowed 2026-01-28 06:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2333-deluxe-flange-mount-caster-swivel-wbrake>: HTTP status code is not handled or not allowed 2026-01-28 06:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2580-45-degree-support-18l>: HTTP status code is not handled or not allowed 2026-01-28 06:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3612-socket-head-cap-screw-58l>: HTTP status code is not handled or not allowed 2026-01-28 06:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-gs-pe17-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-delivery-location-sign-aluminum-10-x-14-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 06:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mart-cart-xti-24-12v-35ah-scooter-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm34di--emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4332-2-hole-inside-gusset-corner-bracket-15w>: HTTP status code is not handled or not allowed 2026-01-28 06:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-and-receiving-delivery-location-sign-aluminum-14-x-20-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 06:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-this-vehicle-makes-wide-right-turns-sign-graphic-dura-vinyl-10-x-14-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-n-carry-jnc660-jump-starter-12v-18ah-jump-starter-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interstate-cytx14ah-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5525-single-shaft-predrilled-mounting-plate-1>: HTTP status code is not handled or not allowed 2026-01-28 06:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp003s-15-ner-electric-hoist-push-trolley-14-ton-15-lift-36-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 06:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3378-end-fastener-double-wing-clip>: HTTP status code is not handled or not allowed 2026-01-28 06:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp003h-20-ner-electric-hoist-push-trolley-14-ton-20-lift-53-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 06:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bike-lane-traffic-safety-sign-hip-aluminum-24-x-30-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 06:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/star-of-life-traffic-safety-sign-egp-aluminum-24-x-24-whiteblue>: HTTP status code is not handled or not allowed 2026-01-28 06:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-up-after-your-dog-waste-transmits-disease-sign-aluminum-10-x-14-greenbrown>: HTTP status code is not handled or not allowed 2026-01-28 06:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husqvarna-te-449cc-motorcycle-replacement-battery-2011-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-this-vehicle-makes-frequent-stops-sign-adh-reflective-sheet-10-x-14-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6534-highcycle-double-flange-linear-bearing-brake-kit-ready>: HTTP status code is not handled or not allowed 2026-01-28 06:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5030-turned-ground-and-polished-solid-round-profile>: HTTP status code is not handled or not allowed 2026-01-28 06:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chamberlain-wd962kev-garage-door-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/do-not-stop-on-tracks-traffic-sign-egp-refl-aluminum-24-x-18-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 06:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/primos-truth-cam-super-model-ii-trail-63065-decoy-battery-5ah-6v>: HTTP status code is not handled or not allowed 2026-01-28 06:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-short-sleeve-t-shirt-class-2-l-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner020ld-15-ner-dual-speed-electric-chain-hoist-2-ton-15-lift-1425-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-contoured-softshell-jacket-ansi-4xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner030c-20-ner-electric-hoist-hook-suspension-3-ton-20-lift-17-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20673-compact-fluorescent-pin-based-cf26dd-e-835-eco-t4x2>: HTTP status code is not handled or not allowed 2026-01-28 06:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20884-compact-fluorescent-pin-based-cf32dt-e-in-830-eco-t4x3>: HTTP status code is not handled or not allowed 2026-01-28 06:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-short-sleeve-t-shirt-class-2-3xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm010l-l-fg-10-ner-food-grade-hoist-with-motorized-trolley-1-ton-capacity-208v>: HTTP status code is not handled or not allowed 2026-01-28 06:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cagiva-raptor-650cc-motorcycle-replacement-battery-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner020l-20-ner-electric-hoist-hook-suspension-2-ton-20-lift-14-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbk-booster-100cc-motorcycle-replacement-battery-1999-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7215bmuc3-angular-contact-ball-bearing-flush-ground-75mm-bore-x-130mm-od-x-25mm-w>: HTTP status code is not handled or not allowed 2026-01-28 06:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbk-hot-champ-50cc-motorcycle-replacement-battery-1997-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ft-one-full-body-3d-non-belted-harness-quick-connect-chest--tongue-buckle-legs-m>: HTTP status code is not handled or not allowed 2026-01-28 06:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motron-thunder-50cc-motorcycle-replacement-battery-1995-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp020l-10-ner-electric-chain-hoist-push-trolley-2-ton-10-lift-14-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 06:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbk-target-50cc-motorcycle-replacement-battery-1984-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ducati-gtl-500cc-motorcycle-replacement-battery-1976-1978-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 06:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al100-hand-chain-hoist-aluminum-3-ton-capacity-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 06:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-zip-i-600-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peugeot-rs-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-5-16-inch-extra-long-drill-bit-8-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 06:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/morplug-drum-wrench-ductile-iron>: HTTP status code is not handled or not allowed 2026-01-28 06:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zap-zappy-3-pro-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycling-bin-label-w-sign-adhesive-vinyl-4-x-12-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 06:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deposit-recyclables-here-w-down-arrow-label-plastic-10-x-14>: HTTP status code is not handled or not allowed 2026-01-28 06:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-please-turn-out-lights-when-not-in-use-label-plastic-10-x-14>: HTTP status code is not handled or not allowed 2026-01-28 06:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-to-5-gallon-can-tumbler-w-timer-1-can-1-phase-115v-motor-capacity-100-lbs>: HTTP status code is not handled or not allowed 2026-01-28 06:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-stainless-steel-drum-dolly-85-gallon-stainless-rigs-polypropylene-987302>: HTTP status code is not handled or not allowed 2026-01-28 06:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifugal-stirrer-18900078-use-w-os20-ptfe-coated>: HTTP status code is not handled or not allowed 2026-01-28 06:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linear-pipettor-stand-71000085-holds-6-micropette-pipettor-use-w-12-channel-pipettor>: HTTP status code is not handled or not allowed 2026-01-28 06:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60090002142-roll-211k-1w-x-50-yd-240>: HTTP status code is not handled or not allowed 2026-01-28 06:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk-l180-pro-linear-lcd-digital-shaker-83101005-100v-220v-60hz-100-350rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-tek-polykor-seamless-knit-blended-cr-gloves-nitrile-coated-ansi-a6-xxl-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neodymium-telescoping-magnetic-pickup-pointer-07568b>: HTTP status code is not handled or not allowed 2026-01-28 06:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ktw-convertible-cabinet-unit-heater-15-kw-120v-1-phase-white>: HTTP status code is not handled or not allowed 2026-01-28 06:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceramic-round-base-magnet-rb44c-12-lbs-pull>: HTTP status code is not handled or not allowed 2026-01-28 06:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mx-m-microplate-mixer-w-single-microplate-holder-82200004-110v-60hz-rpm-0-1500rpm>: HTTP status code is not handled or not allowed 2026-01-28 06:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neodymium-latch-magnet-nmlkit2-6-lbs-pull-nickel-chrome-plating>: HTTP status code is not handled or not allowed 2026-01-28 06:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-scratchanti-fog-frameless-safety-glasses-clear-lens-clear-temple-pk-of-12>: HTTP status code is not handled or not allowed 2026-01-28 06:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tzora-classic-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-number-7-hss-aircraft-extension-drill-6-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 06:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mx-rd-e-analog-tube-rotator-100-220v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-28 06:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-number-48-hss-aircraft-extension-drill-6-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 06:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-48-slatwall-panel-brushed-aluminum-hpl-with-aluminum-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 06:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heartway-s16-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-96-slatwall-panel-almond-laminate-without-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 06:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-48-slatwall-panel-pearwood-laminate-with-aluminum-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 06:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 71430 pages (at 98 pages/min), scraped 33702 items (at 23 items/min) 2026-01-28 06:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linen-cover-stock-paper-8-1-2-inch-x-11-inch-65-lb-linen-ivory-100-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greeting-card-invitation-envelope-5-3-4-inch-x-8-3-4-inch-white-100-box>: HTTP status code is not handled or not allowed 2026-01-28 06:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-safety-roof-hatch-railing-kit-with-forward-barrier-side-entry-galvanized-steel-66l>: HTTP status code is not handled or not allowed 2026-01-28 06:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-star-1-subject-wirebound-notebook-8-1-2-inch-x-11-inch-college-ruled-100-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 06:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graph-paper-8-1-2-inch-x-11-inch-4-x-4-square-inch-quad-ruled-240-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evidence-glue-top-scratch-pads-3-inch-x-5-inch-white-100-sheets-pad-12-pads-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-xcp-knee-boots-chevron-outsole-steel-toe-size-10-15h-brown>: HTTP status code is not handled or not allowed 2026-01-28 06:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/picker-international-meteor-portable-x-ray-medical-replacement-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-knee-boots-safety-loc-outsole-plain-toe-size-12-15h-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-kraft-covered-steno-book-6-inch-x-9-inch-gregg-ruled-green-tint-80-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 06:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cgr-medical-5100b-shampaine-surgical-table-medical-replacement-battery-26ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modesto-32-commercial-planter-neptune-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-crisp-linen-round-table-w-4-chair-set-in-natural-finish>: HTTP status code is not handled or not allowed 2026-01-28 06:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-tape-individual-dots-with-adhesive-38l-x-38w-white-pack-of-1800>: HTTP status code is not handled or not allowed 2026-01-28 06:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Aire-3000-Mattress-Only-For-Aire-3000-80032>: HTTP status code is not handled or not allowed 2026-01-28 06:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preprinted-monthly-tab-divider-printed-jan-to-dec-55x85-12-tabs-white-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-patrol-asla1115-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-edge-o-dock-leveler-72-ramp-width-steel-30000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dress-and-shirt-hanger-w-swivel-hook-17-l-plastic-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lincoln-electric-company-sa-200-industrial-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-index-toc-reference-divider-1-to-10-85x11-10-tabs-white-multi>: HTTP status code is not handled or not allowed 2026-01-28 06:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-advance-micromatic-134b-industrial-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-deck-pallet-galvanized-steel-36l-x-36w-8000-lb-floor-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-collated-legal-divider-a-to-z-85x11-26-tabs-white-white>: HTTP status code is not handled or not allowed 2026-01-28 06:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-shelf-bin-8-1-4w-x-12d-x-7h-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legal-exhibit-alphabetical-side-tab-divider-a-to-z-85x11-1-tab-25-sets-white-white>: HTTP status code is not handled or not allowed 2026-01-28 06:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worksaver-extra-wide-big-tab-divider-blank-9x11-5-tabs-white-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanical-edge-o-dock-leveler-78-ramp-width-steel-20000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 06:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-index-toc-reference-divider-1-to-15-85x11-15-tabs-white-multi>: HTTP status code is not handled or not allowed 2026-01-28 06:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/construction-paper-58-lbs-24-x-36-black-50-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-21d-x-74h-with-12-ssb483-and-12-ssb485-stackable-shelf-bins-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-drawing-paper-78-lbs-12-x-18-pure-white-500-sheets-ream>: HTTP status code is not handled or not allowed 2026-01-28 06:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-18d-x-74h-with-28-ssb463-stackable-shelf-bins-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-4-compartment-drawer-organizer-plastic-tray-19l-x-2-1-4w-x-17-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 06:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-ut-12180-ut12180-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-style-industrial-climbing-helmet-non-vented-hdpe-suspension-black>: HTTP status code is not handled or not allowed 2026-01-28 06:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-cubby-safety-glasses-holder-w-tape-4-3-4w-x-3-1-4d-x-4-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 06:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub12260-d5747-sealed-lead-acid-replacement-battery-26ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lb-style-threaded-conduit-body-w-cover-and-gasket-1-size>: HTTP status code is not handled or not allowed 2026-01-28 06:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-sof-tred-12thick-safety-anti-fatigue-floor-mat-4x60-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 06:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-bu12120-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-advance-micromatic-group-27-industrial-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-short-plastic-bushing-polyethylene-516-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ev-rider-breeze-iv-golf-edition-wheelchair-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 06:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-rehab-guardian-trek-4-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/935-2006-935-case-w-padded-divider-220l-x-140w-x-90h-olive>: HTTP status code is not handled or not allowed 2026-01-28 06:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21st-century-scientific-1248t-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-pvc-liquid-tight-connector-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-hanger-w-hex-nut-and-bolt-stainless-steel-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-pvc-liquid-tight-connector-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-person-stage-12-inch-w-x-32-ft-l-2332>: HTTP status code is not handled or not allowed 2026-01-28 06:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-600t-scooter-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-sidekick-tri-wheeler-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-ft-type-1a-fiberglass-d-rung-straight-ladder-d6208-1>: HTTP status code is not handled or not allowed 2026-01-28 06:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0792097-3-8-dual-check-valve>: HTTP status code is not handled or not allowed 2026-01-28 06:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-blower-9539-16-16-dia-1hp-3200-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-atlantic-gp-202-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p32012-junior-power-chair-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-flame-resistant-team-jacket-jet2-navy-size-xxl-regular>: HTTP status code is not handled or not allowed 2026-01-28 06:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmx-iiiia-womens-flame-resistant-premium-coverall-cnb3-navy-45-oz-size-s-regular>: HTTP status code is not handled or not allowed 2026-01-28 06:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-grip-plastic-anchor-10-size-blue-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-screw-hex-nut-grade-2-carbon-steel-8-32-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-model-34-adult-gp24-wheelchair-replacement-battery-75ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-dress-uniform-shirt-slu2-light-blue-size-l-regular>: HTTP status code is not handled or not allowed 2026-01-28 06:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-recycling-container-with-bottle-can-opening36-gallon-capacity-red-261622RD>: HTTP status code is not handled or not allowed 2026-01-28 06:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-air-curtain-36-inch-w-door-120v-unheated-1-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-302le-candy-apple-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/entrance-cap-w-clamp-on-style-fitting-3-12-size>: HTTP status code is not handled or not allowed 2026-01-28 06:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armored-ground-clamp-bronze-4-12-6-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-sc53hd-go-go-elite-traveller-plus-wheelchair-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-select-traveller-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-technology-alante-jr-gp-200-wheelchair-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-95-36-250-sba-insulated-cable-cutters-ratcheting-type-1000v-comfort-grip-10-oal>: HTTP status code is not handled or not allowed 2026-01-28 06:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/friendly-robotics-robomower-rl1500-lawn-and-garden-replacement-battery-18ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-big-beam-2sc6s16-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-hook-low-carbon-steel-1-12-size-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-salvage-transport-overpack-drum-85-gallon-open-head-987380>: HTTP status code is not handled or not allowed 2026-01-28 06:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5506-class-3-standard-moisture-wicking-tshirt-with-chest-pocket-orange-medium>: HTTP status code is not handled or not allowed 2026-01-28 06:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-7910cyuglp4-universal-ground-single-50mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/head-machine-screw-kit-round-phillipsslotted-14-20-size-assorted>: HTTP status code is not handled or not allowed 2026-01-28 06:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1503-premium-class-2-fall-protection-mesh-6-pockets-safety-vest-lime-medium>: HTTP status code is not handled or not allowed 2026-01-28 06:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1504-premium-class-2-fall-protection-mesh-6-pockets-safety-vest-orange-3xl>: HTTP status code is not handled or not allowed 2026-01-28 06:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2007-standard-class-3-two-tone-mesh-hook-loop-safety-vest-lime-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5502-moisture-wicking-short-sleeve-safety-tshirt-with-chest-pocket-orange-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibt-technologies-bt15-12-emergency-light-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 71529 pages (at 99 pages/min), scraped 33715 items (at 13 items/min) 2026-01-28 06:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-ply-pull-line-polypropylene-6500l-bluewhite-dispensing-pail>: HTTP status code is not handled or not allowed 2026-01-28 06:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conical-anchor-kit-w-combo-pan-head-screw-12-size-101-pieces>: HTTP status code is not handled or not allowed 2026-01-28 06:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conical-anchor-kit-w-combo-hex-head-screw-12-size-tuff-pack-101-pieces>: HTTP status code is not handled or not allowed 2026-01-28 06:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-propelled-1-shelf-battery-powered-traction-drive-platform-truck-750-lb-cap-987387>: HTTP status code is not handled or not allowed 2026-01-28 06:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8002-class-3-waterproof-quiltlined-bomber-jacket-orangeblack-xl>: HTTP status code is not handled or not allowed 2026-01-28 06:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6002-class-3-rain-coat-with-2-patch-pockets-orange-4xl5xl>: HTTP status code is not handled or not allowed 2026-01-28 06:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-phillips-brass-12-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-5-step-steel-roll-ladder-21-d-top-hndrl-orange-fsh52621go>: HTTP status code is not handled or not allowed 2026-01-28 06:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-11-step-stl-roll-lad-14-d-top-stp-hndrl-lck-orng-fs113214go>: HTTP status code is not handled or not allowed 2026-01-28 06:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-combo-pan-head-carbon-steel-10-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/match-mate-quickstart-tennis-ball-machine-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-bridge-42-inchw-x-24-inchd-x-29-1-2-inchh-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 06:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lighting-lightning-tl930219-emergency-light-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-captain-side-chair-24-inchw-x-25-inchd-x-30-3-4-inchh-burgundy-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 06:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perf-24-w-11-step-stl-roll-lad-14-d-top-stp-hndrl-lck-orng-fs113214po>: HTTP status code is not handled or not allowed 2026-01-28 06:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-big-beam-h2sc12s15-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:55:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallpro-400-yellow-wall-mount-retracting-barrier-15-yellowblack-cleaning-in-progress-belt>: HTTP status code is not handled or not allowed 2026-01-28 06:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-collapsible-cone-5-pk-w-storage-bag-cc5b>: HTTP status code is not handled or not allowed 2026-01-28 06:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallpro-450-red-wall-mount-retracting-barrier-25-red-belt>: HTTP status code is not handled or not allowed 2026-01-28 06:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-outlander-650-efi-xt-p-650cc-atv-replacement-battery-2010-2011-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-combo-pan-head-carbon-steel-10-x-1-size-tuff-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-trident-bellman-cart-3533bk-080-red-titanium-red-carpet-black-bumper-8-semi-pneumatic>: HTTP status code is not handled or not allowed 2026-01-28 06:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-halide-ballast-imh39gblsm-120-277v-39-watts>: HTTP status code is not handled or not allowed 2026-01-28 06:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-star-princess-ed1026-ride-on-toys-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-with-lever-lock-for-5-gallon-open-head-steel-pails-987440>: HTTP status code is not handled or not allowed 2026-01-28 06:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-ceramic-155000-btu>: HTTP status code is not handled or not allowed 2026-01-28 06:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ion-audio-block-rocker-am-fm-ipa16-speaker-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoprider-sunrunner-3-777-electric-bicycle-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts>: HTTP status code is not handled or not allowed 2026-01-28 06:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf133501l56c-cast-iron-right-angle-worm-gear-reducer-501-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-book-record-ruled-6-1-4-x-9-5-8-emerald-cover-200-pages-pad>: HTTP status code is not handled or not allowed 2026-01-28 06:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf206101l56c-cast-iron-right-angle-worm-gear-reducer-101-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-ducati-1098-cycle-iged0913-ride-on-toys-replacement-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-punch-2-7-holes-24-sheets-black>: HTTP status code is not handled or not allowed 2026-01-28 06:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/openzone-landin-duck-drake-without-remote-decoy-replacement-battery-1-3ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-insulated-liquid-tight-connector-zinc-die-cast-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-insulated-liquid-tight-connector-zinc-die-cast-3-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs175401r-cast-iron-right-angle-worm-gear-reducer-401-ratio>: HTTP status code is not handled or not allowed 2026-01-28 06:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm550-grizzly-fi-4x4-auto-550cc-atv-replacement-battery-2009-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf206401l56c-cast-iron-right-angle-worm-gear-reducer-401-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf154101l56c-cast-iron-right-angle-worm-gear-reducer-101-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-uss-carbon-steel-0-716-id-1-od-38-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm450-grizzly-4x4-auto-irs-450cc-atv-replacement-battery-2009-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs206301l-cast-iron-right-angle-worm-gear-reducer-301-ratio>: HTTP status code is not handled or not allowed 2026-01-28 06:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bands-size-117b-7-x-1-8-natural-1-lb-box-B843876>: HTTP status code is not handled or not allowed 2026-01-28 06:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs175501l-cast-iron-right-angle-worm-gear-reducer-501-ratio>: HTTP status code is not handled or not allowed 2026-01-28 06:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf206301r56c-cast-iron-right-angle-worm-gear-reducer-301-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bridgestone-200-mk-ii-ss-7-200cc-motorcycle-replacement-battery-1969-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-staple-cartridge-3-8-leg-length-5000-per-cartridge-1-cartridge-box>: HTTP status code is not handled or not allowed 2026-01-28 06:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-rsv-mille-r-nera-1000cc-motorcycle-replacement-battery-2004-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bands-size-8-7-8-x-1-16-natural-1-lb-box>: HTTP status code is not handled or not allowed 2026-01-28 06:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf325151l1824tc-cast-iron-right-angle-worm-gear-reducer-151-ratio-1824t-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-clinch-stapler-cartridge-for-max-eh-70f-stapler-70-sheet-capacity-5000-box>: HTTP status code is not handled or not allowed 2026-01-28 06:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-strap-carbon-steel-16-gauge-1-12-x-18-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf237301h56c-cast-iron-right-angle-worm-gear-reducer-301-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf325601l56c-cast-iron-right-angle-worm-gear-reducer-601-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 06:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/titan-von-zipper-bobber-93cc-motorcycle-replacement-battery-1995-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-veststyle-climbing-harness-comfort-padding-tongue-buckle-pass-thru-xxl>: HTTP status code is not handled or not allowed 2026-01-28 06:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-rewinder-unwinder-for-opaque-labels-up-to-6w-x-13-diameter-3-to-3-core-rolls>: HTTP status code is not handled or not allowed 2026-01-28 06:55:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-industrial-concrete-remover-gallon-bottle-4-case-h1128cs>: HTTP status code is not handled or not allowed 2026-01-28 06:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unlined-unsupported-nitrile-glove-15-mil-green-l-436791>: HTTP status code is not handled or not allowed 2026-01-28 06:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-dyna-super-glide-fxdi-1450cc-motorcycle-battery-2004-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab97-1848-8x-48-inch-w-x-18-inch-d-x-97-inch-h-8-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simson-albartros-electric-start-50cc-motorcycle-replacement-battery-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bx1242x-42-inch-w-x-12-inch-d-18-gauge-900-lb-capacity-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prta006mpi-single-arrow-black-button-insert-use-wmike-victor-pendants>: HTTP status code is not handled or not allowed 2026-01-28 06:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-replacement-roller-kit-4-rollers-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-fat-boy-flstf-1340cc-motorcycle-replacement-battery-1990-1998-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:55:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-lag-screw-carbon-steel-12-x-5-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab73-1542-5x-42-inch-w-x-15-inch-d-x-73-inch-h-5-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-54vr-4-wheel-warehouse-hand-truck-mold-on-rubber-1000-lb>: HTTP status code is not handled or not allowed 2026-01-28 06:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes>: HTTP status code is not handled or not allowed 2026-01-28 06:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb73-1848-5-48-inch-w-x-18-inch-d-x-73-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-cvo-ultra-classic-electra-glide-flhtcuse5-1584cc-motorcycle-battery-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-lag-screw-carbon-steel-14-x-4-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 06:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-plastic-popcorn-scoop>: HTTP status code is not handled or not allowed 2026-01-28 06:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/theater-pop-popcorn-machine-4-oz-popper-92-one-oz-servings-per-hour>: HTTP status code is not handled or not allowed 2026-01-28 06:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-n-roll-folding-service-cart-85-188>: HTTP status code is not handled or not allowed 2026-01-28 06:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 71626 pages (at 97 pages/min), scraped 33735 items (at 20 items/min) 2026-01-28 06:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ross-5-3-closed-center-double-solenoid-controlled-directional-valve-24vdc-9577k4010w>: HTTP status code is not handled or not allowed 2026-01-28 06:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wal-10-3-16-3-flute-extractor>: HTTP status code is not handled or not allowed 2026-01-28 06:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-edge-twin-leg-personal-self-retracting-lifeline-aluminum-comfort-hook-7l>: HTTP status code is not handled or not allowed 2026-01-28 06:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simple-green-original-all-purpose-cleaner-lemon-24oz-btl-12cs-smp14002>: HTTP status code is not handled or not allowed 2026-01-28 06:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glad-odrshld-tall-kit-drwstrgbag-13gal-095mil-wh-40bag-bx-6cs-clo78361>: HTTP status code is not handled or not allowed 2026-01-28 06:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-xl-self-retracting-lifeline-dyneema-webbing--locking-snap-hook-20l>: HTTP status code is not handled or not allowed 2026-01-28 06:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6065161-exposed-selectronic-sensor-toilet-flush-valve-16-gpf>: HTTP status code is not handled or not allowed 2026-01-28 06:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protecta-3-way-retrieval-self-retracting-lifeline-galvanized-cable--steel-snap-hook-50l>: HTTP status code is not handled or not allowed 2026-01-28 06:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tow-behind-sprayer-45-gallon-capacity-19l-of-38diameter-hose>: HTTP status code is not handled or not allowed 2026-01-28 06:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jt1500-stx-1500cc-personal-watercraft-battery-2004-2013-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucf201-8-flange-mount-bearing-4-bolt-flange-set-screw-locking-bore-12-7-mm>: HTTP status code is not handled or not allowed 2026-01-28 06:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-hooded-sweatshirt-type-o-ansi-class-2-s-blackfluorescent-yellowgreen>: HTTP status code is not handled or not allowed 2026-01-28 06:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-sea-scooter-dolphin-personal-watercraft-replacement-battery-2005-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-overhead-track-bracket-double-sided-24w-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 06:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-super-jet-650-650cc-personal-watercraft-replacement-battery-1993-1995-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-high-visibility-waterproof-bomber-jacket-type-r-ansi-class-3-2xl3xl-limepink>: HTTP status code is not handled or not allowed 2026-01-28 06:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucf212-38-flange-mount-bearing-4-bolt-flange-set-screw-locking-bore-60-325-mm>: HTTP status code is not handled or not allowed 2026-01-28 06:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metatarsal-knee-boots-chevron-outsole-steel-toe-size-12-16h-brick-redcream>: HTTP status code is not handled or not allowed 2026-01-28 06:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-hcp208-24-pillow-block-bearing-eccentric-locking-collar-bore-38-1-mm>: HTTP status code is not handled or not allowed 2026-01-28 06:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucfl205-14-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-22-225-mm>: HTTP status code is not handled or not allowed 2026-01-28 06:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bravo-es-sl380-dolphin-electricscooter-electric-scooter-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunrise-medical-guardian-trek-3scooter-mobility-scooter-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/longbo-lb150t-2-voyager-150cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-partition-wall-dust-shelf-48w-x-18d-x-1h-oyster-white>: HTTP status code is not handled or not allowed 2026-01-28 06:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-partition-wall-hanging-bracket-90176-angle-chrome-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 06:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pike-pole-10042-112-x-16-anodized-aluminum-handle-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23948ew33c3-240mm-bore-320mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquatec-all-other-models-mobility-scooter-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imc-heartway-rumba-s-hp4-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-hanging-basket-label-holder-16-12l-clear>: HTTP status code is not handled or not allowed 2026-01-28 06:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rascal-microbalance-170-mobility-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-single-sided-partition-wall-add-on-unit-48w-x-26d-x-70h-oyster-white>: HTTP status code is not handled or not allowed 2026-01-28 06:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-self-close-single-door-4-gallon-cap-17w-x-17d-x-22h-white>: HTTP status code is not handled or not allowed 2026-01-28 06:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu313myc3-65mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-jet-3ultra-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-engineered-mezzanine-16w-x-21d-x-9h-clearance>: HTTP status code is not handled or not allowed 2026-01-28 06:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8293-class-2-hooded-sweatshirt-wblack-front-limeblack-s>: HTTP status code is not handled or not allowed 2026-01-28 06:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8091-noncertified-long-sleeve-tshirt-lime-s>: HTTP status code is not handled or not allowed 2026-01-28 06:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu218myc3-90mm-bore-160mm-od>: HTTP status code is not handled or not allowed 2026-01-28 06:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coalescingcarbon-filter-with-stainless-disconnect-for-hplc-disposal-cans>: HTTP status code is not handled or not allowed 2026-01-28 06:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8089-noncertified-tshirt-orange-l>: HTTP status code is not handled or not allowed 2026-01-28 06:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-closed-add-on-cak85-1236-6-36-inch-w-x-12-inch-d-x-85-inch-h-6-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-headlight-global-industrial-personnel-carrier-800574>: HTTP status code is not handled or not allowed 2026-01-28 06:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-prowler-3310-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-starter-osk73-1236-8-36-inch-w-x-12-inch-d-x-73-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-plastic-mat-18-x-12-center-PMC1812>: HTTP status code is not handled or not allowed 2026-01-28 06:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoveround-ventura-deluxe3whl-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-shelf-truck-48x18x69-1200-pound-capacity-987457>: HTTP status code is not handled or not allowed 2026-01-28 06:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-esd-wire-shelving-unit-starter-72w-x-12d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-in-x-4-1-2-in-lead-free-seamless-red-brass-pipe-nipple-140-psi-sch-40-import>: HTTP status code is not handled or not allowed 2026-01-28 06:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-add-on-oat87-1848-6-48-inch-w-x-18-inch-d-x-87-inch-h-6-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-starter-ost75-2436-5-36-inch-w-x-24-inch-d-x-75-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-starter-24w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-304-stainless-steel-plug-mnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 06:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-in-x-2-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 06:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-lead-free-brass-coupling-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 06:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-starter-cst75-1236-8-36-inch-w-x-12-inch-d-x-75-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-ev-warrior-mobility-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-starter-cst87-2436-7x-36-inch-w-x-24-inch-d-x-87-inch-h-7-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activecare-medical-spitfire-ex-1420-spitfire142016f-s12-mobility-scooter-battery-8ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baja-motorsports-sc150-on-road-147cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-starter-ost87-3048-6x-48-inch-w-x-30-inch-d-x-87-inch-h-6-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss68062rs-deep-groove-ball-bearing-stainless-steel-double-sealed-od-42mm-bore-30mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 06:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/veloteq-commander-gt-sho-gt-500d-gt-mobility-scooter-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-summit-500-500cc-snowmobile-replacement-battery-1996-1999-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss60062rs-deep-groove-ball-bearing-stainless-steel-double-sealed-od-55mm-bore-30mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 06:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-received-1-5-8-x-1-2-red>: HTTP status code is not handled or not allowed 2026-01-28 06:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-add-on-30w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-inking-message-stamp-12-phrases-3-8-x-1-1-4-red>: HTTP status code is not handled or not allowed 2026-01-28 06:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-pt3048-8-steel-platform-truck-30x48-8-rubber-2000-lb>: HTTP status code is not handled or not allowed 2026-01-28 06:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-36w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-500ss-trail-and-adrenaline-597cc-snowmobile-battery-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-460xl-3-4-in-fnpt-x-fnpt-spill-resistant-pressure-vacuum-breaker-150-psi-cast-bronze>: HTTP status code is not handled or not allowed 2026-01-28 06:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-60w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-24w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-add-on-36w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/receiving-record-book-2-part-carbonless-5-9-16-x-8-7-16-50-sets-pad>: HTTP status code is not handled or not allowed 2026-01-28 06:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 71724 pages (at 98 pages/min), scraped 33756 items (at 21 items/min) 2026-01-28 06:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120lb-cable-ties-natural-6100-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/things-to-do-today-pad-8-1-2-x-11-white-100-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 06:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-renegade-800r-800cc-snowmobile-replacement-battery-2004-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-36w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/literature-mailers-13-x-10-x-3-200lb-test-ect-32-white-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-13-x-13-x-3-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:57:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-24w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-enduro-4-tec-1200-1200cc-snowmobile-battery-2016-2018-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/145-round-contemporary-quartz-clock-plastic-case-silver>: HTTP status code is not handled or not allowed 2026-01-28 06:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mx-z-550x-550cc-snowmobile-replacement-battery-2007-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mx-z-tnt-500ss-553cc-snowmobile-replacement-battery-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-literature-mailers-18-x-12-x-6-200lb-test-ect-32-white-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-certified-line-regulator-w-vent-limiter-325-3l-v-1-2-up-to-140000-btu>: HTTP status code is not handled or not allowed 2026-01-28 06:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-poly-bags-10-x-14-8-mil-clear-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gtx-sport-500ss-597cc-snowmobile-replacement-battery-2007-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-certified-line-regulator-325-7al-1-1-4-up-to-1250000-btu>: HTTP status code is not handled or not allowed 2026-01-28 06:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-literature-mailers-12-x-8-x-2-3-4-200lb-test-ect-32-white-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-22-red-spring-red-r8110-for-325-7-rv81-210d-regulators>: HTTP status code is not handled or not allowed 2026-01-28 06:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps>: HTTP status code is not handled or not allowed 2026-01-28 06:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-summit-1000-highmark-151-1000cc-snowmobile-battery-2006-2007-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-4-bench>: HTTP status code is not handled or not allowed 2026-01-28 06:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-gsx-se-600-ho-594cc-snowmobile-replacement-battery-2014-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8583-containment-berm-foam-wall-12-x-50-copolymer-2000>: HTTP status code is not handled or not allowed 2026-01-28 06:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8654-containment-berm-rapid-rise-4-x-6-22-oz-pvc>: HTTP status code is not handled or not allowed 2026-01-28 06:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kj-1750-electric-jetter-w-dual-pulse-h-30-cart>: HTTP status code is not handled or not allowed 2026-01-28 06:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pc-board-for-36-evaporative-cooler-600581-292228>: HTTP status code is not handled or not allowed 2026-01-28 06:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-x-600-ho-sdi-594cc-snowmobile-replacement-battery-2007-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-reinforced-strapping-tape-gs-501-industrial-grade-34-x-60yd-white>: HTTP status code is not handled or not allowed 2026-01-28 06:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roughneck-p2a-hard-hat-blocks-8-pt-ratchet-suspension-type-1-class-c-g-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crepe-paper-masking-tape-cp-083-utility-grade-72mm-x-55m-natural>: HTTP status code is not handled or not allowed 2026-01-28 06:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-9z1215720-z-style-12-x-15-x-72-1-wide-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-961217820-six-tier-12-x-18-x-12-1-wide-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-ltd-600-ho-sdi-594cc-snowmobile-replacement-battery-2007-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-911212600-single-tier-12-x-12-x-60-1-wide-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/queuepro-250-retractable-belt-barrier-40-black-post-11-red-belt-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 06:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safetypro-335-danger-keep-out-belt-barrier-40-post-35-yellowblack-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 06:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m18-redlithium-xc-40-battery>: HTTP status code is not handled or not allowed 2026-01-28 06:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-ligature-resistant-semi-recessed-toilet-paper-holder-one-4-12-roll-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 06:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/queuepro-250-retractable-belt-barrier-40-black-post-11-maroon-belt-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 06:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-skandic-wt-ace-900-900cc-snowmobile-replacement-battery-2015-2019-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-expedition-sport-550f-550cc-snowmobile-replacement-battery-2015-2018-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-grand-touring-le-1200-1200cc-snowmobile-replacement-battery-2010-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al3300c5-cover-5-lengths-2-34l>: HTTP status code is not handled or not allowed 2026-01-28 06:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-mx-z-800-ho-adrenaline-and-x-800cc-snowmobile-battery-2004-2013-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-821212601-double-tier-12-x-12-x-30-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-applicator-with-optical-sensor-for-flat-items-11-12w-labels--9-roll-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-renegade-x-1200-1170cc-snowmobile-replacement-battery-2014-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2448-switch-receptacle-box-1-gang-wextension-base-ko-4-58l>: HTTP status code is not handled or not allowed 2026-01-28 06:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-811818721-single-tier-18-x-18-x-72-silver-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-811518601-single-tier-15-x-18-x-60-silver-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-821218601-double-tier-12x18x30-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 06:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protect-n-tab-top-loading-sheet-protector-8-1-2w-x-11h-clear-5-tabs-set>: HTTP status code is not handled or not allowed 2026-01-28 06:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-skandic-swt-ace-900-900cc-snowmobile-replacement-battery-2015-2018-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-bow-2-inch-144064320>: HTTP status code is not handled or not allowed 2026-01-28 06:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-anti-slip-stair-tread-black-yellow-6-x-24>: HTTP status code is not handled or not allowed 2026-01-28 06:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-summit-r-highmark-800-800cc-snowmobile-replacement-battery-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 06:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/short-block-for-engine-models-ch740>: HTTP status code is not handled or not allowed 2026-01-28 06:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bench-can-2-quart-yellow-10291>: HTTP status code is not handled or not allowed 2026-01-28 06:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bench-can-1-gallon-yellow-10385>: HTTP status code is not handled or not allowed 2026-01-28 06:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-ladder-4-step-fixed-eco-weld-free-aluminum-2074-f>: HTTP status code is not handled or not allowed 2026-01-28 06:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucy-3-piece-outdoor-bistro-set-31-1-2-w-x-29-1-2-h-table-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucy-3-piece-outdoor-bistro-set-31-1-2-w-x-29-1-2-h-table-white>: HTTP status code is not handled or not allowed 2026-01-28 06:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dream-3-piece-outdoor-bistro-set-23-5-8-w-x-29-1-2-h-white-table-black-chairs>: HTTP status code is not handled or not allowed 2026-01-28 06:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/764-vinyl-tape-2-x-36-yds-5-mil-green-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-367ab-butterfly-valve-with-buna-seals--10-position-handle-6-lug>: HTTP status code is not handled or not allowed 2026-01-28 06:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ares-7-piece-outdoor-dining-set-31-1-2-w-x-29-h-table-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-550-lf-brass-14-turn-frostfree-sillcock-valve-34-x-14-mnptsweat>: HTTP status code is not handled or not allowed 2026-01-28 06:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4016-double-sided-foam-tape-1-x-5-yds-1-16-thick-natural->: HTTP status code is not handled or not allowed 2026-01-28 06:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-545vbnl-lf-commercial-multi-turn-sillcock-valve-with-vacuum-breaker-12-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 06:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/766-striped-vinyl-tape-2-x-36-yds-5-mil-black-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-550pnl-lf-brass-14-turn-frostfree-sillcock-valve-12-x-10-f1807-pex>: HTTP status code is not handled or not allowed 2026-01-28 06:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-room-fan-forced-wall-heater-sra2024dsf-2000-1500w-240-208v>: HTTP status code is not handled or not allowed 2026-01-28 06:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-673nl-lf-brass-14-turn-sillcock-valve-12-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 06:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f133-3-4hp-115-208-230v-1800rpm-1ph-tefc-56c-fr>: HTTP status code is not handled or not allowed 2026-01-28 06:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-551nl-lf-brass-multi-turn-frostfree-sillcock-valve-12-x-10-mnptsweat>: HTTP status code is not handled or not allowed 2026-01-28 06:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-367ss-butterfly-valve-with-buna-seals--10-position-handle-2-12-lug>: HTTP status code is not handled or not allowed 2026-01-28 06:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weather-alert-survival-kit>: HTTP status code is not handled or not allowed 2026-01-28 06:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-response-basic-kit-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-337ab-butterfly-valve-with-buna-seals--10-position-handle-10-wafer>: HTTP status code is not handled or not allowed 2026-01-28 06:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-337ab-g-butterfly-valve-with-buna-seals--gear-operator-3-wafer>: HTTP status code is not handled or not allowed 2026-01-28 06:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bently-laboratories-sm-0200-medical-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-367ss-butterfly-valve-with-epdm-seals--10-position-handle-10-lug>: HTTP status code is not handled or not allowed 2026-01-28 06:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-e601-182ttts6501-3hp-460v-3600rpm-3ph-182t-fr-tenv>: HTTP status code is not handled or not allowed 2026-01-28 06:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-335di-g-butterfly-valve-with-epdm-seals--gear-operator-4-wafer>: HTTP status code is not handled or not allowed 2026-01-28 06:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 71821 pages (at 97 pages/min), scraped 33769 items (at 13 items/min) 2026-01-28 06:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-u933-145ttgn1026-15hp-208-230-460v-1800rpm-3ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 06:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-337ab-g-butterfly-valve-with-buna-seals--gear-operator-10-wafer>: HTTP status code is not handled or not allowed 2026-01-28 06:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-367ss-butterfly-valve-with-epdm-seals--10-position-handle-12-lug>: HTTP status code is not handled or not allowed 2026-01-28 06:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cell-phone-locker-with-access-panel-19158-20asc-surface-mounted-combo-locks-20-a-doors-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 06:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-365ab-g-butterfly-valve-with-epdm-seals--gear-operator-10-lug>: HTTP status code is not handled or not allowed 2026-01-28 06:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-e618-213ttfs6526-75hp-460v-1800rpm-3ph-213t-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 06:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-w591-365tshfs9001-75hp-460v-3600rpm-3ph-365ts-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 06:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biomedical-design-eas-85-scope-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:58:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/113779c-round-dome-utility-fiber-optic-marker-white-pole-66h-42-above-ground-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pace-tech-vitalmax-systems-ii-iv-medical-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-n-carry-jnc4000pro-jump-starter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-n-carry-sp12-26-nb-jump-starter-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-channel-sign-post-10l-2-lbsft-galvanized-post-with-holes-top-to-bottom>: HTTP status code is not handled or not allowed 2026-01-28 06:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lever-action-aluminum-drum-pump-with-no-drip-spout-for-light-oils-987527>: HTTP status code is not handled or not allowed 2026-01-28 06:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/113779a-round-dome-utility-fiber-optic-marker-white-pole-66h-42-above-ground-orange>: HTTP status code is not handled or not allowed 2026-01-28 06:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cx-series-screw-plug-immersion-heater-1npt-750w-120v-10-12l>: HTTP status code is not handled or not allowed 2026-01-28 06:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g573-056c17f5323-1hp-3-4hp-1800rpm-115-208-230v-1ph-56hc-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 06:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-motor-r301-63t17fh5326-1-4-18hp-1800rpm-230-460v-3ph-63-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 06:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jupiter-jb12-012-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-component-strip-heater-120v-150w-8l>: HTTP status code is not handled or not allowed 2026-01-28 06:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-hp12-116w-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems>: HTTP status code is not handled or not allowed 2026-01-28 06:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-component-strip-heater-240v-400w-10-12l>: HTTP status code is not handled or not allowed 2026-01-28 06:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-chemical-resistant-adjustable-height-science-table-plain-front-24-x-60-x-29-41-w-oak-legs>: HTTP status code is not handled or not allowed 2026-01-28 06:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/picker-inernational-l-explorer-portable-x-ray-medical-battery-26ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51145-triple-two-sided-glove-box-holder-petg-plastic-clear-11-w-x-15-h-x-4-d>: HTTP status code is not handled or not allowed 2026-01-28 06:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-098-bu-cable-tie-hook-tape-8l-x-12w-blue-25pk>: HTTP status code is not handled or not allowed 2026-01-28 06:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-148-fish-tape-100-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounting-kit-for-fx-series-heaters-fx5fx6-16-frame-size>: HTTP status code is not handled or not allowed 2026-01-28 06:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-mounting-kit-for-fx-series-heaters-fx5fx6-16-frame-size>: HTTP status code is not handled or not allowed 2026-01-28 06:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50g-1g-screw-knob-stainless-steel-precision-weight-with-case-astm-e617-class-4>: HTTP status code is not handled or not allowed 2026-01-28 06:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipoise-series-compact-balance-6000g-x-02g-4-13-16-x-5-5-8-platform>: HTTP status code is not handled or not allowed 2026-01-28 06:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnyway-sw12260-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-k1418-5k49un4086x-2hp-1725rpm-208-230-460v-3-ph-56h-fr>: HTTP status code is not handled or not allowed 2026-01-28 06:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-gal-sat-alum-ash-trash-recept-w-sand-cover-c1531sa>: HTTP status code is not handled or not allowed 2026-01-28 06:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-pipe-fitting-rail-flange-1-1-4-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-mobile-science-cabinet-with-drawers-shelf-chemical-resistant-top-48l-x-28w-x-36-14h-oak>: HTTP status code is not handled or not allowed 2026-01-28 06:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-g144-056t17d5349-2hp-1800rpm-208-230-460v-3-ph-56h-fr>: HTTP status code is not handled or not allowed 2026-01-28 06:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-motor-x304-048a11t201-1-3-hp-1075-rpm-115-v-1-ph-48y-teao>: HTTP status code is not handled or not allowed 2026-01-28 06:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-add-on-72w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4810ulbc-cabinetmate-surge-strip-125v-15a-48l-10-outlets>: HTTP status code is not handled or not allowed 2026-01-28 06:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amstron-ap-12120f2-sealed-lead-acid-replacement-battery-10ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enersys-np18-12bfr-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bk2010a2-entrance-end-fitting-125v-15a-3l>: HTTP status code is not handled or not allowed 2026-01-28 06:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-way-lw-6fm5-5d-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mm3-2d-2448flpb-48w-x-24d-mobile-workbench-center-shelf-non-slip-vinyl-top>: HTTP status code is not handled or not allowed 2026-01-28 06:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lc-r12pf-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-add-on-30w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wst2-3048-36-pb-48w-x-30d-fixed-height-workbench-lower-shelf-pegboard-panel>: HTTP status code is not handled or not allowed 2026-01-28 06:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firstpower-lfp1280d-sealed-lead-acid-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 06:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-neoprene-commercial-grade-60a-rubber-sheet-1-16-thick-x-36-wx-18-l>: HTTP status code is not handled or not allowed 2026-01-28 06:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelon-blue-wire-shelving-unit-starter-60w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-main-21007-use-for-1516w-grid-satin-black>: HTTP status code is not handled or not allowed 2026-01-28 06:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelon-blue-wire-shelving-unit-starter-48w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-main-31200-white>: HTTP status code is not handled or not allowed 2026-01-28 06:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-neoprene-commercial-grade-60a-rubber-sheet-1-2-thick-x-36-wx-6-l>: HTTP status code is not handled or not allowed 2026-01-28 06:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gruber-power-gps-1250-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironguard-steel-faced-dock-bumper-22-5900-16-w-x-4-d-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/on-the-go-mix-sticks-iced-tea-16-oz-30box>: HTTP status code is not handled or not allowed 2026-01-28 06:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-black-epoxy-wire-shelving-unit-starter-60w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-13002ms-3-outlet-power-strip-2-1-2-ft-cord-white>: HTTP status code is not handled or not allowed 2026-01-28 06:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-black-epoxy-wire-shelving-unit-starter-36w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmgren-9634105-10-horizontal-vertical-rotary-table>: HTTP status code is not handled or not allowed 2026-01-28 06:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-24w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-48w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-up-rw1245p1-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr1-0061-17-vintage-air-circulator-120v-301-cfm>: HTTP status code is not handled or not allowed 2026-01-28 06:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/batterymart-sla-7-f1-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-t-m-homecare-hs-360-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-54w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-turnabout-stowaway-battery-wheelchair-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/letter-size-thermal-laminating-pouches-3-mil-11-2-5-x-8-9-10-200-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 06:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-jaguar-rabbit-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-36w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-355xl-wheelchair-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 06:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-72w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-48w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50217-pvc-5-fume-hood-shelf-60w-x-8h-x-5d-white>: HTTP status code is not handled or not allowed 2026-01-28 06:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-36w-x-36d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-24w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-36w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 71916 pages (at 95 pages/min), scraped 33783 items (at 14 items/min) 2026-01-28 06:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amigo-mobility-amigo-rd-wheelchair-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-jet-2hd-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-24w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-54w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oily-waste-can-10-gallon-black-935-flbk>: HTTP status code is not handled or not allowed 2026-01-28 06:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-personnel-basket-crane-rigging-kit-rig-2>: HTTP status code is not handled or not allowed 2026-01-28 06:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-48w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-7018-contractor-3-d-full-body-harness-3-d-rings-back-and-side-size-unifit>: HTTP status code is not handled or not allowed 2026-01-28 06:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-36w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-72w-x-30d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-54w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amigo-mobility-rt-express-jr-wheelchair-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-7087xl-flowte1-d-full-body-harness-1-back-d-ring-size-x-large>: HTTP status code is not handled or not allowed 2026-01-28 06:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-coupler-39041500-jd-ar47331-replacement-female-coupler>: HTTP status code is not handled or not allowed 2026-01-28 06:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoprider-sprinter-deluxe-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-assembly-98398162-100r2at-cpld-5000-psi-14-mnpt-14-hose-id-x-36l>: HTTP status code is not handled or not allowed 2026-01-28 06:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-320-pc-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-whiteboard-desk-divider-screen-with-universal-clamp>: HTTP status code is not handled or not allowed 2026-01-28 06:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-z-brite-wire-shelving-unit-add-on-24w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-wing-condenser-fan-blade-interchangeable-hub-aluminum-cw-24-inch-dia-33-pitch>: HTTP status code is not handled or not allowed 2026-01-28 06:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-pacer-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-6-25-64-inch-dia-ccw-2050-rpm-1-2-inch-bore-7-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 06:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-m126-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-jazzy-600-xl-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-vantage-lever-paper-trimmer>: HTTP status code is not handled or not allowed 2026-01-28 06:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-starter-42w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ryobi-mower-bmm2400-lawn-and-garden-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-vantage-comfort-grip-scissors>: HTTP status code is not handled or not allowed 2026-01-28 06:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dfl-f-48x54-drainable-blade-fixed-louver-with-flange-48wx54h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-starter-60w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acl-f-30x36-combination-louver-damper-with-flange-30wx36h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dfl-f-18x30-drainable-blade-fixed-louver-with-flange-18wx30h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brundage-replacement-bearings-oiler-1-inch-shaft-dia>: HTTP status code is not handled or not allowed 2026-01-28 06:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-solid-shelving-unit-add-on-48w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mtd-2248f-walk-behind-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:59:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-insulated-bin-650-50197-1400-lbs-capacity-48-1-2l-x-40w-x-30h-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-insulated-bin-lid-1000c-50197-58l-x-46w-x-3h-blue>: HTTP status code is not handled or not allowed 2026-01-28 06:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-sonic-em-exits-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-3-shelf-vented-plastic-mat-shelving-unit-starter-42w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-wing-condenser-fan-blade-interchangeable-hub-aluminum-ccw-18-inch-dia-27-pitch>: HTTP status code is not handled or not allowed 2026-01-28 06:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-6-1-4-inch-dia-ccw-3450-rpm-5-8-inch-bore-2-11-16-inch-w-steel>: HTTP status code is not handled or not allowed 2026-01-28 06:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-5-1-2-inch-dia-cw-3450-rpm-5-16-inch-bore-1-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 06:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3gb5di-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-36-in-w-x-18-in-d-x-60-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dm0412-clinical-centrifuge-91302341>: HTTP status code is not handled or not allowed 2026-01-28 06:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 06:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circular-tube-holder-50ml-x-8-18900139>: HTTP status code is not handled or not allowed 2026-01-28 06:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a206-5-7s-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smart-label-printer-620-228-labels-276-second>: HTTP status code is not handled or not allowed 2026-01-28 06:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technacell-ep126026-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-labeling-tape-3-4w-black-on-white>: HTTP status code is not handled or not allowed 2026-01-28 06:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technacell-ep127026-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-extra-strength-adhesive-labeling-tape-3-8w-black-on-yellow>: HTTP status code is not handled or not allowed 2026-01-28 06:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermal-printer-labels-address-1-1-8-x-3-1-2-white-260-labels-box>: HTTP status code is not handled or not allowed 2026-01-28 06:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-pc-connectable-labeler>: HTTP status code is not handled or not allowed 2026-01-28 06:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-hd-boltless-shelving-add-on-48-in-w-x-12-in-d-x-84-in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 06:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm130i-12v-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-gs-pe6-5f1-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-address-labels-1-1-2-x-3-1-2-white-520-box>: HTTP status code is not handled or not allowed 2026-01-28 06:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-business-card-holder-plastic-1-pk>: HTTP status code is not handled or not allowed 2026-01-28 06:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-csu4-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-high-cap-boltless-shelving-steel-deck-add-on-36-in-w-x-24-in-d-x-84-in-h>: HTTP status code is not handled or not allowed 2026-01-28 06:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightalarms-660-0004-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-80-8017-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-20013072-olt-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-xs1rel-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-green-chart-tape>: HTTP status code is not handled or not allowed 2026-01-28 06:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wirecraftersrackback-wire-mesh-pallet-rack-enclosurehinged-door-96w-x120-797131>: HTTP status code is not handled or not allowed 2026-01-28 06:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-design-rooftop-platforms-3-step-90-degree-incline-ladder-urtl903>: HTTP status code is not handled or not allowed 2026-01-28 06:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-design-rooftop-platforms-bridge-span-urtsb36>: HTTP status code is not handled or not allowed 2026-01-28 06:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmgren-9629308-0-8-standard-duty-c-clamp-w-black-oxide-spindles>: HTTP status code is not handled or not allowed 2026-01-28 06:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl10000-series-double-hanging-pedestal-steel-desk-30-x-60-black-walnut>: HTTP status code is not handled or not allowed 2026-01-28 06:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-3-pocket-glove-tissue-box-holder-rectangle-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 06:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2522-8bs3-1-drop-in-stainless-steel-3-hole-single-bowl-kitchen-sink>: HTTP status code is not handled or not allowed 2026-01-28 06:59:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 06:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubbie-storage-cabinet-12-openings-open-front-steel-46w-x-18d-x-66h-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 06:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lightning-tl930017-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-cascade-free-standing-14-pocket-magazine-rack-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 06:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-bumper-guard-type-r30-164-2-1-black-60-6792-3>: HTTP status code is not handled or not allowed 2026-01-28 06:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs24l-compact-general-purpose-all-freezer-white-18-12w>: HTTP status code is not handled or not allowed 2026-01-28 06:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a512-16-g5-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 06:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72015 pages (at 99 pages/min), scraped 33802 items (at 19 items/min) 2026-01-28 06:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-pe1-2f1-emergency-light-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 06:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-tnmg-322-c-5-and-c-6-carbide-insert>: HTTP status code is not handled or not allowed 2026-01-28 06:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-gal-drum-gauge-aluminum-bushing-galvanized-rods-nitrophyl-float-3-4-fitting-29-1-2-depth>: HTTP status code is not handled or not allowed 2026-01-28 06:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-level-gauge-pvc-bushing-gauge-guard-peek-plastic-rod-hdpe-float-2fitting-42depth>: HTTP status code is not handled or not allowed 2026-01-28 06:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vexilar-fl-12-ultra-pack-dd-100-up1212d-fish-finder-battery-8ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 06:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regenerative-blower-ab-700-3-phase-1-stage-6-hp>: HTTP status code is not handled or not allowed 2026-01-28 06:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders>: HTTP status code is not handled or not allowed 2026-01-28 07:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rd-4x25-pc-gray-room-divider>: HTTP status code is not handled or not allowed 2026-01-28 07:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-72inw-x-36ind-x-60inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 07:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-48inw-x-24ind-x-96inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 07:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-80-f-beige-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-28 07:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-18ind-x-60inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 07:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-inches-shear-pin-and-1-4-inches-screw-combo-titan-008-0106-00-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-36inw-x-18ind-x-60inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 07:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm400-big-bear-2x4-400cc-atv-replacement-battery-2000-2004-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-18ind-x-60inh-wire-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 07:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-lithonia-elsqm-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 07:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-outlander-660-efi-660cc-atv-replacement-battery-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm250-raptor-se-custom-250cc-atv-replacement-battery-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-36in-w-x-12in-d-x-96in-h>: HTTP status code is not handled or not allowed 2026-01-28 07:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-princess-cycle-ride-on-toys-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 07:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melamine-whiteboard-48-x-36>: HTTP status code is not handled or not allowed 2026-01-28 07:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-84-individual-v-track-length-84>: HTTP status code is not handled or not allowed 2026-01-28 07:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-120-individual-v-track-length-120>: HTTP status code is not handled or not allowed 2026-01-28 07:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-132-individual-v-track-length-132>: HTTP status code is not handled or not allowed 2026-01-28 07:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennis-tutor-r-plus-tennis-ball-machine-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 07:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-high-cap-boltless-shelving-steel-deck-starter-60-in-w-x-36-in-d-x-60-in-h>: HTTP status code is not handled or not allowed 2026-01-28 07:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-outlander-660-efi-660cc-atv-replacement-battery-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-3-108est-double-unit-track-assembly-kit-3-tracks-108>: HTTP status code is not handled or not allowed 2026-01-28 07:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironguard-forkli-lock-out-guard-kit-70-1187>: HTTP status code is not handled or not allowed 2026-01-28 07:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mtd182442-2k195-machine-table-with-2-shelves-and-a-drawer-24w-x-18d-x-42h>: HTTP status code is not handled or not allowed 2026-01-28 07:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/log-rack-ls932-96-8-foot-32mm>: HTTP status code is not handled or not allowed 2026-01-28 07:00:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/cables_connectors/cables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suzuki-dr600r-600cc-motorcycle-replacement-battery-1985-1989-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2022-unf-carbon-eyebolt-shoulder-pattern-5-16-24-1-1-8-shank>: HTTP status code is not handled or not allowed 2026-01-28 07:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f50-face-shield-window-polycarb-iruv-30-8l-x-15-12w-116-thick-green>: HTTP status code is not handled or not allowed 2026-01-28 07:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-carbide-tipped-tool-bit-e16-1-inch-x-1-inch-x-7-inch-steel-grade>: HTTP status code is not handled or not allowed 2026-01-28 07:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m10-metric-eyebolt-shoulder-pattern-m10-x-150>: HTTP status code is not handled or not allowed 2026-01-28 07:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m22-metric-eyebolt-shoulder-pattern-m22-x-250>: HTTP status code is not handled or not allowed 2026-01-28 07:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-twin-leg-hot-work-self-retracting-lifeline-web--aluminum-rebar-hook-6l>: HTTP status code is not handled or not allowed 2026-01-28 07:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rizzato-hacker-lc-50cc-motorcycle-replacement-battery-1978-1991-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-mobile-bench-cabinet-2210a-lu-95>: HTTP status code is not handled or not allowed 2026-01-28 07:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-mobile-storage-bin-msb12-2036-95-12-openings-36w-x-24d-x-49-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 07:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/cables_connectors/cables>: HTTP status code is not handled or not allowed 2026-01-28 07:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-rocket-x-se-2300cc-motorcycle-replacement-battery-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-4-station-with-electronic-faucet-round-tubes-96l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-28 07:00:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_valves/ball_valves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbon-foki-182320-6bx>: HTTP status code is not handled or not allowed 2026-01-28 07:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-toilet-tissue-dispenser-dual-roll-horizontal-ss-5224-000000>: HTTP status code is not handled or not allowed 2026-01-28 07:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-hand-sink-1-station-body-only-wall-mount-20l-x-19w-x-5-12d-sink>: HTTP status code is not handled or not allowed 2026-01-28 07:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-wall-heater-w1210-1000w-120v-forced-air-white>: HTTP status code is not handled or not allowed 2026-01-28 07:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl-2010-e-professional-heat-gun>: HTTP status code is not handled or not allowed 2026-01-28 07:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartcompliance-bleeding-control-cabinet-1-24-persons-60-pieces-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 07:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-high-ball-1731cc-motorcycle-replacement-battery-2011-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/malaguti-evolution-50cc-motorcycle-replacement-battery-1963-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bleeding-control-cabinet-without-alarm-small-metal-case>: HTTP status code is not handled or not allowed 2026-01-28 07:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/289920000-graduated-pitcher-polypropylene-2000ml>: HTTP status code is not handled or not allowed 2026-01-28 07:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/289950000-graduated-pitcher-polypropylene-10000ml>: HTTP status code is not handled or not allowed 2026-01-28 07:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-elite-ada-ss-sink-3-station-with-electronic-faucet-wall-mount-72l-x-21w-x-5d-sink>: HTTP status code is not handled or not allowed 2026-01-28 07:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-flush-door-with-137-yellow-bins-16-ga-all-welded-cabinet-48-w-x-24-d-x-78-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-js750-sxi-pro-750cc-personal-watercraft-battery-1995-2002-12v>: HTTP status code is not handled or not allowed 2026-01-28 07:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_valves/ball_valves>: HTTP status code is not handled or not allowed 2026-01-28 07:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/286950000-graduated-cylinder-tpx-polymethylpentene-500ml>: HTTP status code is not handled or not allowed 2026-01-28 07:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imc-heartway-titan-h11-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 07:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/369020000-sterileware-scoops-polystyrene-2oz-100-box-white>: HTTP status code is not handled or not allowed 2026-01-28 07:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/168074102-magic-touch-2-ice-pan-w-lid-40l-black>: HTTP status code is not handled or not allowed 2026-01-28 07:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-5112-class-2-microfiber-birdseye-short-sleeve-t-shrit-w-black-bottom-orange-l-tall>: HTTP status code is not handled or not allowed 2026-01-28 07:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-2210-magnetic-platform-for-rotator-genie>: HTTP status code is not handled or not allowed 2026-01-28 07:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-4-station-with-electronic-faucet-round-tubes-108l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-28 07:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-js400-400cc-personal-watercraft-replacement-battery-1976-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-ranger-iirwd-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 07:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-mx350-dirtrocket-electric-scooter-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 07:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/504-0232-00-deepwell-microplate-foam-insert-2>: HTTP status code is not handled or not allowed 2026-01-28 07:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-heavy-duty-workbench-with-pegboard-72w-x-36d-x-60h-3600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 07:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bruno-stairlifts-mobility-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 07:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/504-0039-00-recessed-platform>: HTTP status code is not handled or not allowed 2026-01-28 07:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lance-cali-classic-150-150cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ct663bcssada-ada-compliant-built-in-undercounter-refrigerator-freezer-51-cu-ft-24w>: HTTP status code is not handled or not allowed 2026-01-28 07:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jenoptik-80-sfera-80cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ct663bbi-built-in-undercounter-refrigerator-freezer-51-cu-ft-24-wide>: HTTP status code is not handled or not allowed 2026-01-28 07:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-swc1966-2-zone-wine-cellar-wglass-door-160-bottle-capacity-23-58-wide>: HTTP status code is not handled or not allowed 2026-01-28 07:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/navigator-5153-gt-insulated-overboots-cleated-outsole-s-15h-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/navigator-5153-gt-insulated-overboots-cleated-outsole-xs-15h-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-heavy-duty-workbench-with-pegboard-60w-x-24d-x-60h-3600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 07:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-2-mil-5-6-1000-ctn>: HTTP status code is not handled or not allowed 2026-01-28 07:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72113 pages (at 98 pages/min), scraped 33816 items (at 14 items/min) 2026-01-28 07:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zapworld-zappy-3pro-electric-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 07:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imported-u-clamp-12-inch-oal>: HTTP status code is not handled or not allowed 2026-01-28 07:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-stp-stl-safet-roll-lad-wt-actu-stp-24-serr-stp-wa063214g>: HTTP status code is not handled or not allowed 2026-01-28 07:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-bar-htgrd712oyr-7dia-x-120l-yellow-w-red-tape-graphics>: HTTP status code is not handled or not allowed 2026-01-28 07:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-stp-stl-all-direct-safet-roll-lad-wt-actu-24-perf-stp-wa-ad113214p>: HTTP status code is not handled or not allowed 2026-01-28 07:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zap-3-pro-flex-36v-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 07:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-42w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-stp-stl-safet-roll-lad-wt-actu-stp-24-perf-stp-wa123214p>: HTTP status code is not handled or not allowed 2026-01-28 07:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sm18n30a-commercial-kuhl-windowwall-air-conditioner-20000btu-98-eer>: HTTP status code is not handled or not allowed 2026-01-28 07:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/personal-door-organizer-pdo36-for-mbf7236-gun-safes-28-1-2-w-x-61-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-28 07:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-36w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-replacement-blade-red-gum-3-18x316x36-716-13-holes-vf-81216>: HTTP status code is not handled or not allowed 2026-01-28 07:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-30w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-48w-x-30d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z1385-34x4-vb-non-freeze-post-hydrant-wvb-exposed-34-x-4>: HTTP status code is not handled or not allowed 2026-01-28 07:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z1310-34x16-pb-automatic-draining-wall-hydrant-exposed-ecolotrol-anti-siphon-34-x-16>: HTTP status code is not handled or not allowed 2026-01-28 07:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heartway-nomad-3pt3-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 07:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-72w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-36w-x-30d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-ration-2400-kcal-30-box-dx2400f>: HTTP status code is not handled or not allowed 2026-01-28 07:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rescueme-personal-locator-beacon-yellow-1-case-os730s-01261m>: HTTP status code is not handled or not allowed 2026-01-28 07:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-oal-straight-steel-roller-conveyor-19-roller-dia-10-bf-45-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 07:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-oal-straight-steel-roller-conveyor-19-roller-dia-36-bf-45-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 07:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-3-8-dia-x-18-ga-galvanized-steel-replacement-roller-22-bf-w-1-4-round-spring-retained-shaft>: HTTP status code is not handled or not allowed 2026-01-28 07:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermal-protective-aid-solas-dx1529m>: HTTP status code is not handled or not allowed 2026-01-28 07:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scooterx-electric-hog-electric-bicycle-replacement-battery-14ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 07:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em230br-passive-radar-reflector-24x9-3-4-1-case-em230brm>: HTTP status code is not handled or not allowed 2026-01-28 07:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-42w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-48w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-60w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-pouch-whanging-hole-top-loading-3w-x-5h>: HTTP status code is not handled or not allowed 2026-01-28 07:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-sign-holder-6l>: HTTP status code is not handled or not allowed 2026-01-28 07:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imc-heartway-gypsy-p33-mobility-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 07:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econo-strip-no-tape-heavy-duty>: HTTP status code is not handled or not allowed 2026-01-28 07:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xdu1266-cantilever-rack-double-sided-upright-66d-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 07:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/du16106-ns-cantilever-rack-double-sided-upright-106w-x-16h>: HTTP status code is not handled or not allowed 2026-01-28 07:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xdu1884-cantilever-rack-double-sided-upright-84d-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 07:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-60w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spiral-hanging-coil>: HTTP status code is not handled or not allowed 2026-01-28 07:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-formula-ss-580cc-snowmobile-replacement-battery-1995-1996-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 07:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-54w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-enduro-ace-900-900cc-snowmobile-battery-2016-2018-12v>: HTTP status code is not handled or not allowed 2026-01-28 07:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-60w-x-36d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-54w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-v-grid-clip>: HTTP status code is not handled or not allowed 2026-01-28 07:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mx-z-x-600-595cc-snowmobile-replacement-battery-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pla-3d-printer-pla-max-filament-175mm-075-kg-black>: HTTP status code is not handled or not allowed 2026-01-28 07:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-summit-burton-e-tec-800r-800cc-snowmobile-battery-2016-2017-12v>: HTTP status code is not handled or not allowed 2026-01-28 07:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flair-felt-tip-marker-pen-red-ink-medium-36-box>: HTTP status code is not handled or not allowed 2026-01-28 07:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-loop-locking-straps-5>: HTTP status code is not handled or not allowed 2026-01-28 07:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-1200-x-1200cc-snowmobile-replacement-battery-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cell-phone-locker-uvq1051-8-door-11-x-4-x-12-1-2-black-grey-door-w-hasp-lock>: HTTP status code is not handled or not allowed 2026-01-28 07:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-48w-x-36d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-display-hook-2>: HTTP status code is not handled or not allowed 2026-01-28 07:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-550-fan-snowmobile-replacement-battery-2005-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-60w-x-36d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gtx-550-fan-snowmobile-replacement-battery-2005-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-s-hooks-1-34l-x-135dia-bright-plated-steel>: HTTP status code is not handled or not allowed 2026-01-28 07:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-storage-cabinet-j2478su-53-welded-48w-x-24d-x-78h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-fan-blades-for-global-24-blower-fan-model-607220-600598>: HTTP status code is not handled or not allowed 2026-01-28 07:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-heavy-duty-cleaner-degreaser-gallon-bottle4-bottlescase-640406>: HTTP status code is not handled or not allowed 2026-01-28 07:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vttr-2424-24-x-24-18-ga-stainless-workbench-with-rear-turnup-galvanized-base>: HTTP status code is not handled or not allowed 2026-01-28 07:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/janitorial-cabinet-jan6618dh-02-welded-36w-x-18d-x-64h-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-600-iq-touring-snowmobile-replacement-battery-2009-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-formula-iii-700-r-700cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 07:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vttr5-8424-84-x-24-18-ga-stainless-workbench-with-5-riser-galvanized-base>: HTTP status code is not handled or not allowed 2026-01-28 07:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vttr5-4830-48-x-30-18-ga-stainless-workbench-with-5-riser-galvanized-base>: HTTP status code is not handled or not allowed 2026-01-28 07:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gtx-sport-500s-597cc-snowmobile-replacement-battery-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-550f-550cc-snowmobile-replacement-battery-2003-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 07:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/SVT-9630-96-W-x-30-D-18-ga-T-430-Stainless-Steel-Workbench>: HTTP status code is not handled or not allowed 2026-01-28 07:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-stainless-steel-medical-step-stand-with-handle-ss-1-hdl>: HTTP status code is not handled or not allowed 2026-01-28 07:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-60w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-2-sided-pegboard-lean-tool-rack-36w-x-24d>: HTTP status code is not handled or not allowed 2026-01-28 07:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-mobile-storage-bins-9-openings-32w-x-20d-x-45-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 07:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-truck-30x60-deck-size-6-x-2-polyurethane-casters-3600-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 07:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ba-fans-powerfoil-d-ceiling-fan-20-ft-380-480v-3ph>: HTTP status code is not handled or not allowed 2026-01-28 07:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-36w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a51-4l530-v-belt-1-2-x-53>: HTTP status code is not handled or not allowed 2026-01-28 07:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a54-4l560-v-belt-1-2-x-56>: HTTP status code is not handled or not allowed 2026-01-28 07:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-30w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-double-drum-dolly-for-55-gal-drum-w-cast-iron-casters-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 07:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-72w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72210 pages (at 97 pages/min), scraped 33832 items (at 16 items/min) 2026-01-28 07:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/canmeleon-recessed-panel-side-open-38-gallon-black-9476bl>: HTTP status code is not handled or not allowed 2026-01-28 07:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-54w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a45-4l470-v-belt-1-2-x-47>: HTTP status code is not handled or not allowed 2026-01-28 07:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-pallet-truck-109316l-x-27w-4000-lb-capacity->: HTTP status code is not handled or not allowed 2026-01-28 07:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-54w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a150-v-belt-1-2-x-152>: HTTP status code is not handled or not allowed 2026-01-28 07:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a151-v-belt-1-2-x-153>: HTTP status code is not handled or not allowed 2026-01-28 07:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-30w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-36w-x-24d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elevated-stands-w-support-for-80-gallon-flat-bottom-cylindrical-tank>: HTTP status code is not handled or not allowed 2026-01-28 07:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8249z-s-hi-vis-surveyors-vest-class-2-economy-single-size-5xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 07:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-30w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8246z-s-two-tone-mesh-hi-vis-safety-vest-class-2-single-size-s-orange>: HTTP status code is not handled or not allowed 2026-01-28 07:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3000-air-evacuation-tool-lt3000-330-scfm-55-barrel>: HTTP status code is not handled or not allowed 2026-01-28 07:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-vac-replacement-gasket-mv2000g>: HTTP status code is not handled or not allowed 2026-01-28 07:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-72w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supply-126-2ft-mixed-lamp-recycling-box>: HTTP status code is not handled or not allowed 2026-01-28 07:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supply-061-large-electronics-recycling-box>: HTTP status code is not handled or not allowed 2026-01-28 07:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-ejmm2333t-g-3-phase-15-hp-230-460-volts-1800-rpm-60-hz-tefc-254jm>: HTTP status code is not handled or not allowed 2026-01-28 07:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-72w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-alike-1-1-2-plastic-nylon-yellow-6-pk>: HTTP status code is not handled or not allowed 2026-01-28 07:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-alike-1-1-2-plastic-nylon-blue-6-pk>: HTTP status code is not handled or not allowed 2026-01-28 07:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b157-v-belt-5-8-x-160>: HTTP status code is not handled or not allowed 2026-01-28 07:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-c195-v-belt-7-8-x-199>: HTTP status code is not handled or not allowed 2026-01-28 07:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-jl1307a-1-phase-075-hp-115-230-volts-1725-rpm-60-hz-open-56j>: HTTP status code is not handled or not allowed 2026-01-28 07:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-15-hp-1755-rpm-3-ph-145tc-opsb>: HTTP status code is not handled or not allowed 2026-01-28 07:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-12-outlet-power-strip-9-ft-cord-14-3-lighted-switch-15a-1875-watts-etl>: HTTP status code is not handled or not allowed 2026-01-28 07:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3120t-g-3-ph-15-hp-208-230-460-v-3600-rpm-odp-143t-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5262-beer-glass-mug-34-oz-super-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-30w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/97000-wine-glass-1-liter-decanter-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/connexion-l-desk-with-electric-height-adjustable-table-slate-and-sandstone>: HTTP status code is not handled or not allowed 2026-01-28 07:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/integritas-intrinsically-safe-rechargeable-lantern-1750-lumens-red>: HTTP status code is not handled or not allowed 2026-01-28 07:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dicata-usb-dual-light-headlamp-w-rear-mounted-rechargeable-battery-pack-green>: HTTP status code is not handled or not allowed 2026-01-28 07:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-beam-flashlight-275-lumens-black-wr>: HTTP status code is not handled or not allowed 2026-01-28 07:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-em3550t-5-3500-hp-15-rpm-143t-frame-foot-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 07:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-cem3554t-5-15-hp-1760-rpm-145tc-frame-c-face-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 07:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-42w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardcap-aerolite-lightweight-baseball-style-bump-cap-hdpe-liner-and-adj-back-short-brim-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ken-forging-tb105-e-e-hdg-turnbuckle-assembly-eye-eye-1-2-13-x-13-1-8-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 07:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kilimanjaro-full-brim-hard-hat-hdpe-shell-vented-4-pt-suspension-ratchet-adjustment-yellow>: HTTP status code is not handled or not allowed 2026-01-28 07:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kilimanjaro-full-brim-hard-hat-hdpe-shell-4-pt-nylon-webbing-cradle-ratchet-adjustment-white>: HTTP status code is not handled or not allowed 2026-01-28 07:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dlr1020-dlr-series-1-watt-2-channel-digital-two-way-radio>: HTTP status code is not handled or not allowed 2026-01-28 07:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-idcswdm3546-3-phase-1-hp-1745-rpm-208-230-460-volts-tenv-56c-fr>: HTTP status code is not handled or not allowed 2026-01-28 07:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k500-super-turf-tire-on-8x7-rim-4-hole-white-wheel-4-4-858gk4w-4tfk-18x850-8>: HTTP status code is not handled or not allowed 2026-01-28 07:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-60w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kilimanjaro-full-brim-hard-hat-hdpe-shell-4-pt-nylon-webbing-cradle-ratchet-adjustment-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-steel-wheel-875-r-8x175-2-1-2-centered-hub-1-2bb-rib-tread>: HTTP status code is not handled or not allowed 2026-01-28 07:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k299-bearclaw-atv-tire-2612-6bc-i-26x1200-12-6ply>: HTTP status code is not handled or not allowed 2026-01-28 07:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp84110t-4-3-ph-40-hp-460-v-1770-rpm-tefc-324t-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/log-splitter-wheel-hs408b-1ia-480-8-1-bearing-lrb>: HTTP status code is not handled or not allowed 2026-01-28 07:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-generator-14x130mm-saw-tooth-for-50ml-tubes-for-d1000>: HTTP status code is not handled or not allowed 2026-01-28 07:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/benchmixer-xlq-quechers-shaker-vortexer-with-quechers-racks>: HTTP status code is not handled or not allowed 2026-01-28 07:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1004812-00u0014-gondola-shelving-48w-x-12d-black>: HTTP status code is not handled or not allowed 2026-01-28 07:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1001824-00u0019-gondola-18-height-extender-for-24w-gondola-almond>: HTTP status code is not handled or not allowed 2026-01-28 07:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-rack-for-benchmixer-xl-xlq-50-x-13mm>: HTTP status code is not handled or not allowed 2026-01-28 07:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-dial-key-storage-box-wall-mount-787-c>: HTTP status code is not handled or not allowed 2026-01-28 07:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-30w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp82394t-4-3-ph-15-hp-460-v-3510-rpm-tefc-254tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4910-6-wind-towerdesktop-fan-3-speed-110v-platinum>: HTTP status code is not handled or not allowed 2026-01-28 07:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp4115t-3-ph-50-hp-230-460-v-1775-rpm-tefc-326tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3309t-g-3-ph-5-hp-208-230-460-v-1200-rpm-odp-215t-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/angle-rotor-for-z366-series-6-x-250ml-bottle>: HTTP status code is not handled or not allowed 2026-01-28 07:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-for-z366-series-50ml-round-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 07:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-ehm4103t-3-ph-25-hp-208-230-460-v-1780-rpm-tefc-284t-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3611t-g-3-ph-3-hp-208-230-460-v-1760-rpm-tefc-182t-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-ehm4104t-3-ph-30-hp-208-230-460-v-1770-rpm-tefc-286t-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-50-x-68-x-25mm>: HTTP status code is not handled or not allowed 2026-01-28 07:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-brush-for-7-16-inch-id-tubes-15-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-ehm3546t-5-3-ph-1-hp-575-v-1760-rpm-tefc-143t-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em2334t-g-3-ph-20-hp-230-460-v-1800-rpm-tefc-256t-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-48w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp83582t-4-3-ph-1-hp-460-v-1160-rpm-tefc-145t-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcd-guardian-enclosure-for-32-tv-monitor-black>: HTTP status code is not handled or not allowed 2026-01-28 07:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-concrete-cart-w-8-inch-high-performance-elastomer-casters-10-5-cu-ft-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-28 07:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jade-2-0-air-purification-system-12-v-60-hz-steel-black>: HTTP status code is not handled or not allowed 2026-01-28 07:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-magnet-motor-cdmg2333-33-hp-1750-rpm-dpfg-328atc-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-safe-wmc-6-331208h-ws23-6-tier-12-w-x-8-d-x-23-h-12-pistol-cap-hasp-lock-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-54wx18dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-handling-motor-ebm3710t-d-3-ph-75-hp-208-230-460-v-1770-rpm-tefc-213t-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scalebreak-liquid-descaler-5-gal-jug>: HTTP status code is not handled or not allowed 2026-01-28 07:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-42wx18dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72308 pages (at 98 pages/min), scraped 33848 items (at 16 items/min) 2026-01-28 07:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wd-ibc-stair-closed-tread-with-open-riser-36-wide-9-clearance>: HTTP status code is not handled or not allowed 2026-01-28 07:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-steel-roll-ladd-rear-exit-gate-24-30-plat-perf-rwsr108246-xr>: HTTP status code is not handled or not allowed 2026-01-28 07:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2300sz-direct-drive-zig-zag-sewing-machine>: HTTP status code is not handled or not allowed 2026-01-28 07:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3300sd-direct-drive-single-needle-sewing-machine>: HTTP status code is not handled or not allowed 2026-01-28 07:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-15-x-28-x-23mm>: HTTP status code is not handled or not allowed 2026-01-28 07:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-24wx21dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-metric-motor-vp3585d-2-hp-1750-rpm-tefc-d90d-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-level-steel-shelf-truck-with-5-shelves-36-x-24-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 07:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-42w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-36w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-36w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duet-armless-molded-seat-sled-base-poly-stacking-chair-ivory-clouds-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-54wx18dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-guest-chair-armless-with-chocolate-wood-back-black-vinyl-seat>: HTTP status code is not handled or not allowed 2026-01-28 07:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-72w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-48w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-gloves-nitrile-cut-a4-impact-1-abrasion-4-puncture-4-lime-red-l>: HTTP status code is not handled or not allowed 2026-01-28 07:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/predator-gloves-impact-2-cutpro-arx-aramid-shell-hpt-palm-coated-yellow-gray-xl>: HTTP status code is not handled or not allowed 2026-01-28 07:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blower-and-mounting-kit-for-dc-intergral-hp-motor-cat-no-ending-in-p-flt4280-280-motor-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-gloves-nitrile-cut-a5-impact-1-abrasion-4-puncture-3-yellow-red-xl>: HTTP status code is not handled or not allowed 2026-01-28 07:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-54w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/encoder-tachometer-mounting-kits-w-o-tach-417709-17-tefc-frames-c180>: HTTP status code is not handled or not allowed 2026-01-28 07:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ed-266-can-opener-electric-stainless-steel-1-speed-table-top-115v>: HTTP status code is not handled or not allowed 2026-01-28 07:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-generator-encoder-based-digital-py-flange-mount-ptg1024ld-dpy-1024ppr>: HTTP status code is not handled or not allowed 2026-01-28 07:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-36-486gld-odp-36-182-4c-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-30w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-35-3304-tefc-35-182-4tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-hydraulic-hose-1-4-id-6-l-3-8-18-nptf>: HTTP status code is not handled or not allowed 2026-01-28 07:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-36-1037gld-tefc-36-182-4c-frame>: HTTP status code is not handled or not allowed 2026-01-28 07:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-60w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-48w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2517-x-1-11-16-1-11-16-x-24-2517-series-tapered-locking-steel-bushing-1-11-16-bore>: HTTP status code is not handled or not allowed 2026-01-28 07:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-60w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-72w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonichek-pocket-size-sound-level-meter-40-to-130db>: HTTP status code is not handled or not allowed 2026-01-28 07:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drip-covers-for-field-conversion-fcd39-39-254-256>: HTTP status code is not handled or not allowed 2026-01-28 07:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-36w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-slatted-steel-trash-can-with-ashtray-lid-36-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 07:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-wpg300-panini-grill-dual-italian-style>: HTTP status code is not handled or not allowed 2026-01-28 07:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-36w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-30w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-48w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-60w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 07:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-kraft-paper-dispenser-36-material-width>: HTTP status code is not handled or not allowed 2026-01-28 07:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-sealless-tool-steel-adjustable-to-12-58-or-34>: HTTP status code is not handled or not allowed 2026-01-28 07:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-gear-storage-rack-locker-rrwm-2-20-two-20-sections-red>: HTTP status code is not handled or not allowed 2026-01-28 07:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-60w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-60w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 07:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-200l-pipette-mla-dtipper-lg-tip-red>: HTTP status code is not handled or not allowed 2026-01-28 07:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-15l-pipette-mla-precision-silver->: HTTP status code is not handled or not allowed 2026-01-28 07:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hs5600-4-hunters-set-with-camping-knife-boning-knife-steak-knife-sharpening-stone>: HTTP status code is not handled or not allowed 2026-01-28 07:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-starter-96inw-x-42ind-x-96inh-5030-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 07:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90002-grill-scraper-4-count>: HTTP status code is not handled or not allowed 2026-01-28 07:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90061-n20-chargers-25-count>: HTTP status code is not handled or not allowed 2026-01-28 07:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-mc440-19375-vhs-alternate-coupling-bore-size-19375-frame-444tp-or-445tp>: HTTP status code is not handled or not allowed 2026-01-28 07:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-ezh2o-filtered-water-bottle-refilling-station-bi-level-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 07:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-strapping-58w-x-2200l-x-0025-thick-16-x-3-core-green>: HTTP status code is not handled or not allowed 2026-01-28 07:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-10l-pipette-mla-dtipper-pink>: HTTP status code is not handled or not allowed 2026-01-28 07:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-cab-10-cap-w-locking-panel-light-gray-34-1-2w-x-17d-x-43-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 07:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cup-lid-holder-3-columns-12-3-4w-x-4-1-2d-x-11-3-4h-black>: HTTP status code is not handled or not allowed 2026-01-28 07:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-50ml-wobblenot-serological-pipet-plasticplastic-bag-sterile-100->: HTTP status code is not handled or not allowed 2026-01-28 07:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-hazelnut-creme-coffee-regular-arabica-bean-25-oz-18-carton>: HTTP status code is not handled or not allowed 2026-01-28 07:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-x-falcon-decoy-falcon>: HTTP status code is not handled or not allowed 2026-01-28 07:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-220l-pipette-ovation-quickset-qs-yellow>: HTTP status code is not handled or not allowed 2026-01-28 07:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-flip-top-training-table-with-casters-60l-x-24w-x-29h-asian-night>: HTTP status code is not handled or not allowed 2026-01-28 07:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-412-x-612-x-114-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manway-gasket-spiral-wound-11-x-15-x-114-0175-thick-elliptical-pk-3>: HTTP status code is not handled or not allowed 2026-01-28 07:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-314-x-434-x-12-black-rubber-obround-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-2000-handhole-gasket-314-x-5-x-916-graphite-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/controls-merz-w251-3-ab-reversing-switch-maintained-3-pole-25a-4-hole-front-mount>: HTTP status code is not handled or not allowed 2026-01-28 07:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14000-btu-portable-air-conditioner-heater-with-3m-silvershield-filter-arc-148mhp>: HTTP status code is not handled or not allowed 2026-01-28 07:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-multi-purpose-table-with-post-legs--glides-72l-x-24w-x-29h-asian-night>: HTTP status code is not handled or not allowed 2026-01-28 07:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16001p-16-000-watts-pto-generator-kit>: HTTP status code is not handled or not allowed 2026-01-28 07:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wetline-kit-smwlk70admcw-70-gallon-clockwise-rotation-direct-wetline-kit>: HTTP status code is not handled or not allowed 2026-01-28 07:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/for-counterclockwise-rotation-direct-mount>: HTTP status code is not handled or not allowed 2026-01-28 07:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hospitality-base-cabinet-with-2-doors-36w-x-25d-x-39h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 07:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-412-x-512-x-58-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-ultra-speed-20-battery-burnisher-56383525>: HTTP status code is not handled or not allowed 2026-01-28 07:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72406 pages (at 98 pages/min), scraped 33868 items (at 20 items/min) 2026-01-28 07:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-manway-gasket-11-x-15-x-34-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-multi-purpose-table-with-t-legs--casters-72l-x-24w-x-29h-asian-night>: HTTP status code is not handled or not allowed 2026-01-28 07:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-manway-gasket-10-x-16-x-58-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-37-jic-swivel-to-male-pipe-h9100x4x4-7-16-inch-tube-od-1-4-inch-male-pipe-thread>: HTTP status code is not handled or not allowed 2026-01-28 07:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-pipe-swivel-to-male-pipe-90-elbow-h9405x6x6-3-8-18-npsm-nut-3-8-18-male-npt>: HTTP status code is not handled or not allowed 2026-01-28 07:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanix-wear-original174-tactical-gloves-synthetic-leather-wtrekdry153-covert-xl>: HTTP status code is not handled or not allowed 2026-01-28 07:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanix-wear-taa-original174-covert-gloves-synthetic-leather-wtrekdry153-large>: HTTP status code is not handled or not allowed 2026-01-28 07:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cep-6220pdc45-200-amp-3-ph-cart-w-45kva-transformer>: HTTP status code is not handled or not allowed 2026-01-28 07:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-scrub-brush-for-bdso-2728-scrubber-14w-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 07:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/princeton-tec-pistol-grip-spotlight-handheld-light-1600-lumens-210m-beam-distance-neon-yellow>: HTTP status code is not handled or not allowed 2026-01-28 07:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-coverall-l-white>: HTTP status code is not handled or not allowed 2026-01-28 07:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-valve-dc-power-unit-pu304-1-gal-steel-reservoir-375-inch-nptf-outlet>: HTTP status code is not handled or not allowed 2026-01-28 07:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-universal-pressure-washer-spray-gun-cold-water-use-up-to-3400-psi>: HTTP status code is not handled or not allowed 2026-01-28 07:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12v-dc-motor-m3300-bi-rotational>: HTTP status code is not handled or not allowed 2026-01-28 07:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pls-3-pole-stand-with-transmitted-5w-led-illumination>: HTTP status code is not handled or not allowed 2026-01-28 07:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-switch-25-psi-1-8-inch-npt>: HTTP status code is not handled or not allowed 2026-01-28 07:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-sterling-self-adhesive-vinyl-floor-tile-12-x-12-gray-speckled-granite-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smr9-251-shaft-mount-reducer-size-9-251-ratio-4-1516-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 07:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgaf600-filter-filter-regulator-bowl-auto-drain-metal>: HTTP status code is not handled or not allowed 2026-01-28 07:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2wtbk-11516-tapered-bushing-kit-1-1516-fits-reducer-styles-smr2wsmr2>: HTTP status code is not handled or not allowed 2026-01-28 07:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wing-type-quick-detach-hydraulic-coupler-qdwc162-1-inch-npt-coupler-45-flow-gpm>: HTTP status code is not handled or not allowed 2026-01-28 07:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wing-type-quick-detach-hydraulic-coupler-qddc201-1-1-4-inch-npt-coupler-dust-cap-w-chain>: HTTP status code is not handled or not allowed 2026-01-28 07:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relius-solutions-mini-bulk-containers-10-cu-ft-wire-mesh-sides>: HTTP status code is not handled or not allowed 2026-01-28 07:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-whiffle-typical-3-double-48-spectrumblue>: HTTP status code is not handled or not allowed 2026-01-28 07:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-branch-tee-h3609x4-1-4-inch-x-1-4-inch-male-to-female>: HTTP status code is not handled or not allowed 2026-01-28 07:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wearwell-3x39-edging-for-24seven-mats-nitrile-rubber-male-edge-black>: HTTP status code is not handled or not allowed 2026-01-28 07:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relius-solutions-zinc-shelf-for-square-post-open-wire-shelving-18d-72>: HTTP status code is not handled or not allowed 2026-01-28 07:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-foam-mattress-c508-child-crib-30w-x-60l>: HTTP status code is not handled or not allowed 2026-01-28 07:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-mirella-free-standing-credenza-bbb-bf-whiteash>: HTTP status code is not handled or not allowed 2026-01-28 07:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arabica-original-premium-coffee-regular-33-oz-arabica-beans-42-carton>: HTTP status code is not handled or not allowed 2026-01-28 07:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-button-down-work-shirt-m-black>: HTTP status code is not handled or not allowed 2026-01-28 07:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lbw-portable-gas-heater-tradesman-170-ultra-170k-btu-lpg-w-diagnostics>: HTTP status code is not handled or not allowed 2026-01-28 07:04:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/modular_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl37-30-1-145tc-helical-inline-speed-reducer-145tc-input-flange-30-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 07:04:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-4-ball-valve-flanged-4-cast-iron>: HTTP status code is not handled or not allowed 2026-01-28 07:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hooded-fleece-sweater-14-25-oz-flame-resistant-l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-foot-harness-hveh9>: HTTP status code is not handled or not allowed 2026-01-28 07:04:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-xl-yellow>: HTTP status code is not handled or not allowed 2026-01-28 07:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl87-40-1-182-4tchelical-inline-speed-reducer182-4tc-input-flange40-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 07:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl147-80-1-284-6tchelical-inline-speed-reducer284-6tc-input-flange80-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 07:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl87-5-1-213-5tc-helical-inline-speed-reducer-213-5tc-input-flange-5-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 07:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-maple-safety-edge-mobile-pedestal-workbench-black-318650BK>: HTTP status code is not handled or not allowed 2026-01-28 07:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-racksolid-steel-deck-52-w-x-24-d-797214>: HTTP status code is not handled or not allowed 2026-01-28 07:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-34w-x-34l-tan>: HTTP status code is not handled or not allowed 2026-01-28 07:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/modular_mats>: HTTP status code is not handled or not allowed 2026-01-28 07:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-127149b-shrink-wrap-12w-x-149l-7mil-blue>: HTTP status code is not handled or not allowed 2026-01-28 07:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 07:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl137-15-1-364-5tchelical-inline-speed-reducer364-5tc-input-flange15-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 07:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-147213b-shrink-wrap-14w-x-213l-7mil-blue>: HTTP status code is not handled or not allowed 2026-01-28 07:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clark-foam-products-1001269-foam-sheet-35280-poly-natural-1x24x72>: HTTP status code is not handled or not allowed 2026-01-28 07:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wind-pro-full-zip-hooded-sweater-reflective-flame-resistant-xl-tall-yellow>: HTTP status code is not handled or not allowed 2026-01-28 07:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 07:04:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wind-pro-full-zip-hooded-sweater-reflective-flame-resistant-3xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 07:04:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-5xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 07:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3367200-str-wrap-18x2100-60-gauge>: HTTP status code is not handled or not allowed 2026-01-28 07:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4165427-78h-su-jumbo-cabt-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-full-zip-hooded-sweater-reflective-xl-tall-yellow>: HTTP status code is not handled or not allowed 2026-01-28 07:04:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/protractors_squares already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multistand-ipad-2-white-shell-white-pink>: HTTP status code is not handled or not allowed 2026-01-28 07:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crystal-gel-keyboard-wrist-rest-blue>: HTTP status code is not handled or not allowed 2026-01-28 07:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-38w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-189528>: HTTP status code is not handled or not allowed 2026-01-28 07:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-rat-1-compart-drawer-white-48-34-l-x-10-34-w-x-9-h-305-3>: HTTP status code is not handled or not allowed 2026-01-28 07:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-modular-work-bench-starter-c2-sps-e3060-75ggb-c2-series-30d-x-60w-x-75h-grey-laminate>: HTTP status code is not handled or not allowed 2026-01-28 07:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/underbed-truck-bx-black-steel-standard-4-5-cu-ft-524-5-02>: HTTP status code is not handled or not allowed 2026-01-28 07:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 07:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/overhead-tool-trolley-c2tt-60-c2-series-light-duty-for-60-benches-black>: HTTP status code is not handled or not allowed 2026-01-28 07:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/underbed-truck-bx-black-steel-compact-2-3-cu-ft-525-5-02>: HTTP status code is not handled or not allowed 2026-01-28 07:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-28w-x-30l-tan>: HTTP status code is not handled or not allowed 2026-01-28 07:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-rat-1-compart-drawer-white-48-l-x-10-14-w-x-12-12-h-335-3>: HTTP status code is not handled or not allowed 2026-01-28 07:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/measurement_layout_tools/protractors_squares>: HTTP status code is not handled or not allowed 2026-01-28 07:04:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 07:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-series-chair-1000-ev-bk-esd-vinyl-nylon-base-18-23h-black>: HTTP status code is not handled or not allowed 2026-01-28 07:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-34w-x-36l-brown>: HTTP status code is not handled or not allowed 2026-01-28 07:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-42w-x-33l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsch-6bt-flatware-organizer-6-compartments-countertop>: HTTP status code is not handled or not allowed 2026-01-28 07:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-36w-x-34l-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-7-5-long-x-1-2-wide-8-12-tpi-x-0025-thick>: HTTP status code is not handled or not allowed 2026-01-28 07:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-10-3-1-2-long-x-1-2-wide-14-18-tpi-x-0025-thick>: HTTP status code is not handled or not allowed 2026-01-28 07:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-quilted-sweatshirt-lime-15176-comfort-rating-xl-0488rhvlxlg>: HTTP status code is not handled or not allowed 2026-01-28 07:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-36w-x-36l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5457300-72x18x86-shelving>: HTTP status code is not handled or not allowed 2026-01-28 07:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-34w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-33w-x-31l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activity-tables-60-l-x-30-w-standard-height-rectangular-walnut>: HTTP status code is not handled or not allowed 2026-01-28 07:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72500 pages (at 94 pages/min), scraped 33879 items (at 11 items/min) 2026-01-28 07:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-50w-x-30l-brown>: HTTP status code is not handled or not allowed 2026-01-28 07:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5650600-sase-shlvg-48x18x74-starter>: HTTP status code is not handled or not allowed 2026-01-28 07:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-32w-x-33l-black>: HTTP status code is not handled or not allowed 2026-01-28 07:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-32w-x-31l-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4797800-sase-72x18x68-wire-truck>: HTTP status code is not handled or not allowed 2026-01-28 07:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-44w-x-33l-white>: HTTP status code is not handled or not allowed 2026-01-28 07:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/301-bike-shell-bike-locker-1-bike-cap-74-1-2l-x-30-w-x-49h-medium-grey-padlock-handle>: HTTP status code is not handled or not allowed 2026-01-28 07:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5652100-sase-shlvg-48x24x63-add-on>: HTTP status code is not handled or not allowed 2026-01-28 07:05:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-29w-x-29l-brown>: HTTP status code is not handled or not allowed 2026-01-28 07:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-screw-support-bearing-15tab04dup4-single-flush-ground-15mm-bore-47mm-od>: HTTP status code is not handled or not allowed 2026-01-28 07:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-44w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/le9050123be-50ft-123-sjow-cable-cord-reel-w-20-a-bare-ends>: HTTP status code is not handled or not allowed 2026-01-28 07:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-telescopic-folding-handle-steel-platform-truck-29x19-4-rubber-casters-987775>: HTTP status code is not handled or not allowed 2026-01-28 07:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-28w-x-31l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bayview-outdoor-solar-lamp>: HTTP status code is not handled or not allowed 2026-01-28 07:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-cardboard-corrugated-box-12-x-9-x-6-275-lb-ect-48-15-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-29w-x-33l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-42w-x-29l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 07:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-cardboard-corrugated-box-17-x-17-x-17-275-lb-ect-48-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-cardboard-corrugated-box-20-x-20-x-10-275-lb-ect-48-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 07:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inch-drive-socket-7-8-inch-12-point-1-9-16-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 07:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-46w-x-33l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-54w-x-33l-black>: HTTP status code is not handled or not allowed 2026-01-28 07:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/497-piece-master-technician-maintenance-tool-set-w-j453441-8rd-and-j453427-6rd>: HTTP status code is not handled or not allowed 2026-01-28 07:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-48w-x-34l-brown>: HTTP status code is not handled or not allowed 2026-01-28 07:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-blade-metric-feeler-gauge-set-1-2-inch-x-3-inch-blades>: HTTP status code is not handled or not allowed 2026-01-28 07:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/satin-xl-combination-wrench-2-9-16-inch-12-point>: HTTP status code is not handled or not allowed 2026-01-28 07:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-48w-x-33l-brown>: HTTP status code is not handled or not allowed 2026-01-28 07:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtt67-needle-bearing-drawn-cup-caged-2-seals-bore-9525mm>: HTTP status code is not handled or not allowed 2026-01-28 07:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-stucco-locking-column-mailbox-slate-gray-w-decorative-fleur-de-lis-door-antique-copper>: HTTP status code is not handled or not allowed 2026-01-28 07:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hk0709-needle-bearing-drawn-cup-caged-metric-bore-701mm>: HTTP status code is not handled or not allowed 2026-01-28 07:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-camel-hair-paint-brushes-no-12-aluminum-ferrule-wood-handle-12-dozen>: HTTP status code is not handled or not allowed 2026-01-28 07:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-crayons-nontoxic-assorted-8-box>: HTTP status code is not handled or not allowed 2026-01-28 07:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-crayons-nontoxic-assorted-16-box>: HTTP status code is not handled or not allowed 2026-01-28 07:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j812-oh-needle-bearing-drawn-cup-caged-oil-hole-bore-127mm>: HTTP status code is not handled or not allowed 2026-01-28 07:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hk1010-needle-bearing-drawn-cup-caged-metric-bore-10008mm>: HTTP status code is not handled or not allowed 2026-01-28 07:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rainbow-colored-kraft-duo-finish-paper-36-inchw-x-1000-footl-sky-blue>: HTTP status code is not handled or not allowed 2026-01-28 07:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em30007-33hp-1800rpm-48-frame-3ph-230-460v-odp-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 07:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-edge-office-ruler-12-inch-long-wood-natural>: HTTP status code is not handled or not allowed 2026-01-28 07:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em31156-1hp-1200rpm-56h-frame-3ph-230-460v-odp-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 07:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-40-regular-red>: HTTP status code is not handled or not allowed 2026-01-28 07:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparkling-crystals-glitter-16-oz-silver>: HTTP status code is not handled or not allowed 2026-01-28 07:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-eco-safety-interlocking-playground-tiles-2-50-x-19-5-x-19-5-120-pack-black>: HTTP status code is not handled or not allowed 2026-01-28 07:05:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multiplication-0-12-pocket-flash-cards-3-1-8-inch-x-5-1-4-inch-56-cards-box>: HTTP status code is not handled or not allowed 2026-01-28 07:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workfit-workstation-conversion-kit-single-hd-to-dual>: HTTP status code is not handled or not allowed 2026-01-28 07:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-56w-x-33l-black>: HTTP status code is not handled or not allowed 2026-01-28 07:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-52w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/post-medical-15-gallon-leak-tight-sharps-container-with-locking-screw-cap-translucent-red-22-cs>: HTTP status code is not handled or not allowed 2026-01-28 07:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-56w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 07:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-40w-x-34l-tan>: HTTP status code is not handled or not allowed 2026-01-28 07:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-36w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 07:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-pencil-cup-holder-black>: HTTP status code is not handled or not allowed 2026-01-28 07:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-transparent-edge-mini-file-sorter-green>: HTTP status code is not handled or not allowed 2026-01-28 07:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-30w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:05:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rde-01-collapsible-computer-desk-48-x-235-table-black>: HTTP status code is not handled or not allowed 2026-01-28 07:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-30w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 07:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-feeder-with-hardware-hg-3-3>: HTTP status code is not handled or not allowed 2026-01-28 07:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-tank-w-55fg-w-series-55-gal>: HTTP status code is not handled or not allowed 2026-01-28 07:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-lockable-double-shift-storage-cabinet-48w-x-24d-x-66h>: HTTP status code is not handled or not allowed 2026-01-28 07:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-58w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-pegboard-shelf-cabinet-36w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 07:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-outdoor-shelf-cabinet-36w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 07:05:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pickup-truck-bed-caddy-63-gallons>: HTTP status code is not handled or not allowed 2026-01-28 07:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-grade-5-drawer-letter-vertical-file-llr48499-15-w-x-26-1-2-d-x-61-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedge-locking-washer-carbon-steel-zinc-flake-coated-3-4-pkg-of-4>: HTTP status code is not handled or not allowed 2026-01-28 07:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-38-regular-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:05:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-33w-x-34l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-steel-deck-machine-dolly-10000-lb-capacity-987815>: HTTP status code is not handled or not allowed 2026-01-28 07:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13303-scalloped-utility-knife-high-carbon-steel-stamped-white-handle-6-l>: HTTP status code is not handled or not allowed 2026-01-28 07:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-54-tall-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-36w-x-34l-tan>: HTTP status code is not handled or not allowed 2026-01-28 07:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-35w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-28 07:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-40w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-48w-x-32l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 07:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31611-tapered-point-paring-knife-high-carbon-steel-stamped-white-handle-3-l>: HTTP status code is not handled or not allowed 2026-01-28 07:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-30w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 07:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-44w-x-unhemmed-tan>: HTTP status code is not handled or not allowed 2026-01-28 07:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-2-wide-12w-x-12d-x-36h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 07:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-42w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 07:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72598 pages (at 98 pages/min), scraped 33894 items (at 15 items/min) 2026-01-28 07:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r11i-125-2003-rotary-screw-air-compressor-3-phase-200-volts-15hp-80-gal>: HTTP status code is not handled or not allowed 2026-01-28 07:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r11i-tas-135-2303-rotary-screw-air-compressor-3-phase-230-volts-15hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-28 07:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-46w-x-30l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-46w-x-34l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 07:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-thermoplastic-32-gallon-mesh-receptacle-w-flat-lid-black>: HTTP status code is not handled or not allowed 2026-01-28 07:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cement-all-purpose-adhesive-18245-1-oz-tube>: HTTP status code is not handled or not allowed 2026-01-28 07:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-fuel-tank-repair-kit-90180-30g-kit>: HTTP status code is not handled or not allowed 2026-01-28 07:06:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-bin-organizer-with-accessory-bridge>: HTTP status code is not handled or not allowed 2026-01-28 07:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wp-18-anti-vibration-pads-18-l-x-18-w-x-3-4-h>: HTTP status code is not handled or not allowed 2026-01-28 07:06:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linen-control-center-1-hanging-bar-no-shelf-cam-lock-silver-vein-w-cam-lock>: HTTP status code is not handled or not allowed 2026-01-28 07:06:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a31k-v-belt-kevlar-1-2-x-33>: HTTP status code is not handled or not allowed 2026-01-28 07:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-shelf-steel-shelving-with-48-akro-mils-shelf-bins-603444GN>: HTTP status code is not handled or not allowed 2026-01-28 07:06:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/air_conditioner_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/flooring/wall_base already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_valves/ball_valves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/air_conditioner_accessories landed on page that is not a product page. 2026-01-28 07:06:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/flooring/wall_base landed on page that is not a product page. 2026-01-28 07:06:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/portable_window_evaporative_coolers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_valves/ball_valves landed on page that is not a product page. 2026-01-28 07:06:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/portable_window_evaporative_coolers landed on page that is not a product page. 2026-01-28 07:06:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72676 pages (at 78 pages/min), scraped 33944 items (at 50 items/min) 2026-01-28 07:06:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 07:06:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers landed on page that is not a product page. 2026-01-28 07:07:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/washers/split_lock_washers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:07:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/nuts/lock_nuts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:07:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:07:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/washers/split_lock_washers landed on page that is not a product page. 2026-01-28 07:07:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/nuts/lock_nuts landed on page that is not a product page. 2026-01-28 07:07:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 07:07:34 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 07:07:35 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:34 2026-01-28 07:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72773 pages (at 97 pages/min), scraped 34036 items (at 92 items/min) 2026-01-28 07:08:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/plastic_shelf_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:08:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:08:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/exam_patient_room_supplies/anatomical_models_charts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:08:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/plastic_shelf_trucks landed on page that is not a product page. 2026-01-28 07:08:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 07:08:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/wire_shelving_additional_shelves/chrome_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:08:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/exam_patient_room_supplies/anatomical_models_charts landed on page that is not a product page. 2026-01-28 07:08:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/chisels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:08:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/wire_shelving_additional_shelves/chrome_shelves landed on page that is not a product page. 2026-01-28 07:08:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/chisels landed on page that is not a product page. 2026-01-28 07:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72860 pages (at 87 pages/min), scraped 34118 items (at 82 items/min) 2026-01-28 07:09:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:09:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:09:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors landed on page that is not a product page. 2026-01-28 07:09:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:09:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 07:09:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:09:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 07:09:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/cut_resistant_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:09:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 07:09:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/cut_resistant_gloves landed on page that is not a product page. 2026-01-28 07:09:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/electric_motor_power_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 72955 pages (at 95 pages/min), scraped 34208 items (at 90 items/min) 2026-01-28 07:09:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:10:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:10:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:10:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks landed on page that is not a product page. 2026-01-28 07:10:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks landed on page that is not a product page. 2026-01-28 07:10:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/bulk_container_trucks_tilt_trucks/basket_trucks landed on page that is not a product page. 2026-01-28 07:10:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/electric_motor_power_supplies landed on page that is not a product page. 2026-01-28 07:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73054 pages (at 99 pages/min), scraped 34303 items (at 95 items/min) 2026-01-28 07:11:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:11:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/bolts/flange_bolts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:11:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/bolts/flange_bolts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:11:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands landed on page that is not a product page. 2026-01-28 07:11:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/bolts/flange_bolts landed on page that is not a product page. 2026-01-28 07:11:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/bolts/flange_bolts landed on page that is not a product page. 2026-01-28 07:11:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/faceouts_display_perimeter_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:11:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/faceouts_display_perimeter_hardware landed on page that is not a product page. 2026-01-28 07:11:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/shop_presses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73146 pages (at 92 pages/min), scraped 34391 items (at 88 items/min) 2026-01-28 07:12:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/tamper_proof_security_screws_bolts/tamper_proof_security_spanner_drive_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/watering_irrigation/watering_irrigation_parts/irrigation_controllers_timers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/shop_presses landed on page that is not a product page. 2026-01-28 07:12:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/screws/tamper_proof_security_screws_bolts/tamper_proof_security_spanner_drive_screws landed on page that is not a product page. 2026-01-28 07:12:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/watering_irrigation/watering_irrigation_parts/irrigation_controllers_timers landed on page that is not a product page. 2026-01-28 07:12:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs landed on page that is not a product page. 2026-01-28 07:12:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/splash_guards_shields already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/cafeteria_restaurant_bar_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/splash_guards_shields landed on page that is not a product page. 2026-01-28 07:12:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/screw_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/cafeteria_restaurant_bar_tables landed on page that is not a product page. 2026-01-28 07:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73236 pages (at 90 pages/min), scraped 34475 items (at 84 items/min) 2026-01-28 07:12:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 07:12:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves landed on page that is not a product page. 2026-01-28 07:12:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/anchors_hangers/screw_anchors landed on page that is not a product page. 2026-01-28 07:12:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:12:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 07:13:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/exit_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 07:13:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 07:13:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 07:13:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 07:13:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/exit_devices landed on page that is not a product page. 2026-01-28 07:13:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 07:13:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches landed on page that is not a product page. 2026-01-28 07:13:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/credenzas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/digital_readout_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment landed on page that is not a product page. 2026-01-28 07:13:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/credenzas landed on page that is not a product page. 2026-01-28 07:13:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns landed on page that is not a product page. 2026-01-28 07:13:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery landed on page that is not a product page. 2026-01-28 07:13:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73322 pages (at 86 pages/min), scraped 34546 items (at 71 items/min) 2026-01-28 07:13:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:13:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-28 07:14:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings landed on page that is not a product page. 2026-01-28 07:14:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords landed on page that is not a product page. 2026-01-28 07:14:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:14:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:14:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps landed on page that is not a product page. 2026-01-28 07:14:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 07:14:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 07:14:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:14:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:14:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/platform_trucks/flatbed_platform_trucks/steel_flatbed_platform_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:14:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/hand_soap_sanitizer_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:14:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 07:14:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:14:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 07:14:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/hand_soap_sanitizer_dispensers landed on page that is not a product page. 2026-01-28 07:14:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/platform_trucks/flatbed_platform_trucks/steel_flatbed_platform_trucks landed on page that is not a product page. 2026-01-28 07:14:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73412 pages (at 90 pages/min), scraped 34626 items (at 80 items/min) 2026-01-28 07:14:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 07:15:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/wardrobe_combination_cabinets/combination_cabients already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:15:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:15:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/wardrobe_combination_cabinets/combination_cabients landed on page that is not a product page. 2026-01-28 07:15:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:15:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 07:15:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 07:15:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets landed on page that is not a product page. 2026-01-28 07:15:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:15:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies landed on page that is not a product page. 2026-01-28 07:15:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/metal_cleaners_polishes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:15:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/safety_railings_fittings/architectural_railing_components already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:15:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:15:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/metal_cleaners_polishes landed on page that is not a product page. 2026-01-28 07:15:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73506 pages (at 94 pages/min), scraped 34713 items (at 87 items/min) 2026-01-28 07:15:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/safety_railings_fittings/architectural_railing_components landed on page that is not a product page. 2026-01-28 07:15:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors landed on page that is not a product page. 2026-01-28 07:16:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors landed on page that is not a product page. 2026-01-28 07:16:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/bins/hang_stack_bins already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:16:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/bins/hang_stack_bins landed on page that is not a product page. 2026-01-28 07:16:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/expanding_file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:16:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:16:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/expanding_file_folders landed on page that is not a product page. 2026-01-28 07:16:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelf_hardware/wire_shelving_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:16:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders landed on page that is not a product page. 2026-01-28 07:16:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelf_hardware/wire_shelving_hardware landed on page that is not a product page. 2026-01-28 07:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73603 pages (at 97 pages/min), scraped 34803 items (at 90 items/min) 2026-01-28 07:17:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:17:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-28 07:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73703 pages (at 100 pages/min), scraped 34902 items (at 99 items/min) 2026-01-28 07:18:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:18:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/ice_machines_equipment/ice_machines/countertop_ice_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:18:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/incandescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:18:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/ice_machines_equipment/ice_machines/countertop_ice_machines landed on page that is not a product page. 2026-01-28 07:18:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 07:18:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:18:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/incandescent_light_bulbs landed on page that is not a product page. 2026-01-28 07:18:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings landed on page that is not a product page. 2026-01-28 07:18:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:18:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:18:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/decorative_linear_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:18:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:18:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:18:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 07:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73789 pages (at 86 pages/min), scraped 34982 items (at 80 items/min) 2026-01-28 07:18:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:19:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:19:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/high_intensity_discharge_metal_halide_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:19:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/decorative_linear_lighting landed on page that is not a product page. 2026-01-28 07:19:06 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 07:19:06 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:35 2026-01-28 07:19:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:19:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs landed on page that is not a product page. 2026-01-28 07:19:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/high_intensity_discharge_metal_halide_bulbs landed on page that is not a product page. 2026-01-28 07:19:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:19:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/milling/end_mills/square_end_mills already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:19:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/milling/end_mills/square_end_mills landed on page that is not a product page. 2026-01-28 07:19:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73882 pages (at 93 pages/min), scraped 35068 items (at 86 items/min) 2026-01-28 07:19:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-28 07:20:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:20:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 07:20:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:20:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:20:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:20:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware landed on page that is not a product page. 2026-01-28 07:20:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware landed on page that is not a product page. 2026-01-28 07:20:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:20:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-28 07:20:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits landed on page that is not a product page. 2026-01-28 07:20:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 73977 pages (at 95 pages/min), scraped 35157 items (at 89 items/min) 2026-01-28 07:20:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:21:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches landed on page that is not a product page. 2026-01-28 07:21:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns landed on page that is not a product page. 2026-01-28 07:21:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:21:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:21:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:21:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:21:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions landed on page that is not a product page. 2026-01-28 07:21:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/laboratory_tables landed on page that is not a product page. 2026-01-28 07:21:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels landed on page that is not a product page. 2026-01-28 07:21:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/laboratory_tables landed on page that is not a product page. 2026-01-28 07:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74071 pages (at 94 pages/min), scraped 35246 items (at 89 items/min) 2026-01-28 07:21:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:22:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs landed on page that is not a product page. 2026-01-28 07:22:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:22:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:22:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:22:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions landed on page that is not a product page. 2026-01-28 07:22:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions landed on page that is not a product page. 2026-01-28 07:22:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:22:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap landed on page that is not a product page. 2026-01-28 07:22:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:22:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 07:22:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap landed on page that is not a product page. 2026-01-28 07:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74161 pages (at 90 pages/min), scraped 35330 items (at 84 items/min) 2026-01-28 07:23:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:23:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:23:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:23:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems landed on page that is not a product page. 2026-01-28 07:23:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/organizers_caddies/table_benchtop_organizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:23:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/respiratory_protection/powered_air_purifying_respirator_systems landed on page that is not a product page. 2026-01-28 07:23:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:23:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls landed on page that is not a product page. 2026-01-28 07:23:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/esd_storage/esd_workstation_organizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74249 pages (at 88 pages/min), scraped 35415 items (at 85 items/min) 2026-01-28 07:23:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:23:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 07:24:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/esd_storage/esd_workstation_organizers landed on page that is not a product page. 2026-01-28 07:24:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 07:24:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:24:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:24:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:24:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 07:24:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 07:24:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 07:24:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:24:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/esd_workbenches/mobile_esd_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:24:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:24:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/floor_cleaners landed on page that is not a product page. 2026-01-28 07:24:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords landed on page that is not a product page. 2026-01-28 07:24:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/esd_workbenches/mobile_esd_workbenches landed on page that is not a product page. 2026-01-28 07:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74342 pages (at 93 pages/min), scraped 35499 items (at 84 items/min) 2026-01-28 07:24:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/snow_plow_replacement_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/planters_pots/planters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/snow_plow_replacement_parts_accessories landed on page that is not a product page. 2026-01-28 07:25:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:25:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/planters_pots/planters landed on page that is not a product page. 2026-01-28 07:25:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 07:25:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:25:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/hedge_trimmers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:25:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/hedge_trimmers landed on page that is not a product page. 2026-01-28 07:25:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:25:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hose_cord_reels/power_cord_reels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:25:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 07:25:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hose_cord_reels/power_cord_reels landed on page that is not a product page. 2026-01-28 07:25:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/single_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/motor_brakes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74420 pages (at 78 pages/min), scraped 35566 items (at 67 items/min) 2026-01-28 07:25:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 07:25:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:26:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:26:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/single_phase_motors landed on page that is not a product page. 2026-01-28 07:26:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/motor_brakes landed on page that is not a product page. 2026-01-28 07:26:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_stands_stools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:26:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=manual-slip-roll-12-width-20-gauge-mild-steel-capacity already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_stands_stools landed on page that is not a product page. 2026-01-28 07:26:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=manual-slip-roll-12-width-20-gauge-mild-steel-capacity landed on page that is not a product page. 2026-01-28 07:26:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 07:26:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=heavy-duty-downdraft-table-2-hp-3-phase-220v-ddtm-4840-hd already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:26:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=manually-operated-universal-scroll-bender-1-1-8-w-x-3-8-t-max-bend-capacity already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=manually-powered-r-m10-bending-machine-1-1-4-mild-steel-max-capacity already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=heavy-duty-downdraft-table-2-hp-3-phase-220v-ddtm-4840-hd landed on page that is not a product page. 2026-01-28 07:26:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:26:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=manually-operated-universal-scroll-bender-1-1-8-w-x-3-8-t-max-bend-capacity landed on page that is not a product page. 2026-01-28 07:26:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=manually-powered-r-m10-bending-machine-1-1-4-mild-steel-max-capacity landed on page that is not a product page. 2026-01-28 07:26:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:26:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:26:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74505 pages (at 85 pages/min), scraped 35635 items (at 69 items/min) 2026-01-28 07:26:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 07:27:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets landed on page that is not a product page. 2026-01-28 07:27:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 07:27:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:27:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:27:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-28 07:27:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:27:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:27:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/flap_specialty_wheels/flap_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/flap_specialty_wheels/deburring_surface_conditioning_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 07:27:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:27:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 07:27:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/flap_specialty_wheels/flap_wheels landed on page that is not a product page. 2026-01-28 07:27:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:27:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:27:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/flap_specialty_wheels/deburring_surface_conditioning_wheels landed on page that is not a product page. 2026-01-28 07:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74588 pages (at 83 pages/min), scraped 35704 items (at 69 items/min) 2026-01-28 07:27:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:27:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:28:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs landed on page that is not a product page. 2026-01-28 07:28:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:28:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/office_packing_tape/packaging_tape_carton_sealing_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/office_packing_tape/packaging_tape_carton_sealing_tape landed on page that is not a product page. 2026-01-28 07:28:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 07:28:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/phones/cell_phone_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:28:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/gondola_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/phones/cell_phone_accessories landed on page that is not a product page. 2026-01-28 07:28:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_hoses_connectors/pneumatic_hoses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/gondola_shelving landed on page that is not a product page. 2026-01-28 07:28:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/industrial_commercial_portable_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74680 pages (at 92 pages/min), scraped 35787 items (at 83 items/min) 2026-01-28 07:28:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 07:29:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 07:29:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/industrial_commercial_portable_air_conditioners landed on page that is not a product page. 2026-01-28 07:29:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:29:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_hoses_connectors/pneumatic_hoses landed on page that is not a product page. 2026-01-28 07:29:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/lubricants/food_grade_lubricants already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:29:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits landed on page that is not a product page. 2026-01-28 07:29:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/lubricants/food_grade_lubricants landed on page that is not a product page. 2026-01-28 07:29:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:29:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 07:29:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/brass_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:29:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/welding_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:29:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/welding/arc_welding/mig_welding/mig_wire_feeders_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:29:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/wrapping_equipment/wrapping_equipment_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:29:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/brass_pipe_fittings landed on page that is not a product page. 2026-01-28 07:29:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/welding_mats landed on page that is not a product page. 2026-01-28 07:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74770 pages (at 90 pages/min), scraped 35868 items (at 81 items/min) 2026-01-28 07:29:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/welding/arc_welding/mig_welding/mig_wire_feeders_accessories landed on page that is not a product page. 2026-01-28 07:29:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/wrapping_equipment/wrapping_equipment_accessories landed on page that is not a product page. 2026-01-28 07:30:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:30:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 07:30:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/welding/arc_welding/multi_process_welding_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:30:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:30:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/toilet_paper_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:30:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems landed on page that is not a product page. 2026-01-28 07:30:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/welding/arc_welding/multi_process_welding_machines landed on page that is not a product page. 2026-01-28 07:30:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/multimeters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:30:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/toilet_paper_dispensers landed on page that is not a product page. 2026-01-28 07:30:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:30:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:30:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories landed on page that is not a product page. 2026-01-28 07:30:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:30:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/drilling_hole_making/metalworking_drill_bits/drill_blanks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:30:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/multimeters landed on page that is not a product page. 2026-01-28 07:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74857 pages (at 87 pages/min), scraped 35947 items (at 79 items/min) 2026-01-28 07:30:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars landed on page that is not a product page. 2026-01-28 07:31:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/drilling_hole_making/metalworking_drill_bits/drill_blanks landed on page that is not a product page. 2026-01-28 07:31:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-newall-dp700-dro-knee-x-y-and-z-axis-powerfeeds-690533 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems landed on page that is not a product page. 2026-01-28 07:31:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-newall-dp700-dro-knee-x-y-and-z-axis-powerfeeds-690533 landed on page that is not a product page. 2026-01-28 07:31:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 07:31:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars landed on page that is not a product page. 2026-01-28 07:31:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_carboys_jerricans_jugs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_carboys_jerricans_jugs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_carboys_jerricans_jugs landed on page that is not a product page. 2026-01-28 07:31:34 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 07:31:35 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:36 2026-01-28 07:31:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_carboys_jerricans_jugs landed on page that is not a product page. 2026-01-28 07:31:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs landed on page that is not a product page. 2026-01-28 07:31:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls landed on page that is not a product page. 2026-01-28 07:31:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:31:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper landed on page that is not a product page. 2026-01-28 07:31:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 07:31:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 07:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 74946 pages (at 89 pages/min), scraped 36023 items (at 76 items/min) 2026-01-28 07:31:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes landed on page that is not a product page. 2026-01-28 07:32:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:32:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:32:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_jaws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:32:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:32:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_wrenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:32:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 07:32:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-28 07:32:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_jaws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:32:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:32:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:32:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:32:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 07:32:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories landed on page that is not a product page. 2026-01-28 07:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75034 pages (at 88 pages/min), scraped 36106 items (at 83 items/min) 2026-01-28 07:32:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories landed on page that is not a product page. 2026-01-28 07:33:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories landed on page that is not a product page. 2026-01-28 07:33:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:33:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-28 07:33:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/threading/taps/straight_flute_taps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:33:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:33:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/threading/taps/straight_flute_taps landed on page that is not a product page. 2026-01-28 07:33:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:33:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 07:33:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/general_purpose_glue already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:33:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories landed on page that is not a product page. 2026-01-28 07:33:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/index_cards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:33:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:33:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/general_purpose_glue landed on page that is not a product page. 2026-01-28 07:33:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/index_cards landed on page that is not a product page. 2026-01-28 07:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75123 pages (at 89 pages/min), scraped 36187 items (at 81 items/min) 2026-01-28 07:33:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 07:34:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:34:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 07:34:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/cut_resistant_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:34:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/cut_resistant_gloves landed on page that is not a product page. 2026-01-28 07:34:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:34:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:34:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 07:34:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs landed on page that is not a product page. 2026-01-28 07:34:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75216 pages (at 93 pages/min), scraped 36275 items (at 88 items/min) 2026-01-28 07:34:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 07:34:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:34:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:35:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 07:35:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 07:35:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:35:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:35:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:35:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 07:35:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/coated_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:35:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:35:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:35:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes landed on page that is not a product page. 2026-01-28 07:35:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes landed on page that is not a product page. 2026-01-28 07:35:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/coated_gloves landed on page that is not a product page. 2026-01-28 07:35:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 07:35:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 07:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75305 pages (at 89 pages/min), scraped 36355 items (at 80 items/min) 2026-01-28 07:35:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:35:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:35:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/stands/computer_stands_carts/laptop_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 07:36:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms landed on page that is not a product page. 2026-01-28 07:36:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/stands/computer_stands_carts/laptop_carts landed on page that is not a product page. 2026-01-28 07:36:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 07:36:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:36:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 07:36:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:36:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 07:36:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 07:36:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:36:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75392 pages (at 87 pages/min), scraped 36432 items (at 77 items/min) 2026-01-28 07:36:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:36:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 07:36:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:36:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 07:37:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 07:37:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:37:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 07:37:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 07:37:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 07:37:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 07:37:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:37:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 07:37:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 07:37:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75480 pages (at 88 pages/min), scraped 36506 items (at 74 items/min) 2026-01-28 07:37:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_angle_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:37:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:38:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories/hitch_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:38:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 07:38:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:38:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_angle_stock landed on page that is not a product page. 2026-01-28 07:38:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories/hitch_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:38:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:38:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories landed on page that is not a product page. 2026-01-28 07:38:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:38:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories landed on page that is not a product page. 2026-01-28 07:38:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats landed on page that is not a product page. 2026-01-28 07:38:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats landed on page that is not a product page. 2026-01-28 07:38:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_rolls landed on page that is not a product page. 2026-01-28 07:38:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 07:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75554 pages (at 74 pages/min), scraped 36566 items (at 60 items/min) 2026-01-28 07:38:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:38:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:38:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock landed on page that is not a product page. 2026-01-28 07:39:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:39:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:39:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:39:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:39:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:39:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats landed on page that is not a product page. 2026-01-28 07:39:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_rolls landed on page that is not a product page. 2026-01-28 07:39:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:39:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:39:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:39:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:39:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:39:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:39:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:39:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:39:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock landed on page that is not a product page. 2026-01-28 07:39:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:39:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:39:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns landed on page that is not a product page. 2026-01-28 07:39:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:39:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75643 pages (at 89 pages/min), scraped 36643 items (at 77 items/min) 2026-01-28 07:40:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:40:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/storage_totes_tubs/straight_wall_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/storage_totes_tubs/straight_wall_containers landed on page that is not a product page. 2026-01-28 07:40:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:40:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:40:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/watering_irrigation/watering_irrigation_parts/garden_hose_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/watering_irrigation/watering_irrigation_parts/garden_hose_accessories landed on page that is not a product page. 2026-01-28 07:40:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:40:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:40:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:40:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:40:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:40:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/air_guns_blow_guns_components already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75729 pages (at 86 pages/min), scraped 36718 items (at 75 items/min) 2026-01-28 07:40:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/air_tools_accessories/air_guns_blow_guns_components landed on page that is not a product page. 2026-01-28 07:40:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/splash_guards_shields already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/mobile_automotive_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:40:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/graphite/graphite_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/mobile_automotive_workbenches landed on page that is not a product page. 2026-01-28 07:41:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories landed on page that is not a product page. 2026-01-28 07:41:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/splash_guards_shields landed on page that is not a product page. 2026-01-28 07:41:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories landed on page that is not a product page. 2026-01-28 07:41:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/graphite/graphite_sheets landed on page that is not a product page. 2026-01-28 07:41:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 07:41:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 07:41:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 07:41:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 07:41:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 07:41:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:41:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 07:41:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 07:41:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 07:41:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75810 pages (at 81 pages/min), scraped 36783 items (at 65 items/min) 2026-01-28 07:41:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 07:41:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:41:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:42:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 07:42:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 07:42:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 07:42:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 07:42:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:42:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:42:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 07:42:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:42:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:42:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:42:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:42:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks landed on page that is not a product page. 2026-01-28 07:42:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/surface_protectors_cushion_stops already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 07:42:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/agricultural_farm_livestock_equipment/tractor_attachments_implements/landscaping_attachments already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/emergency_food_drink already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/surface_protectors_cushion_stops landed on page that is not a product page. 2026-01-28 07:42:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 07:42:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/agricultural_farm_livestock_equipment/tractor_attachments_implements/landscaping_attachments already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/agricultural_farm_livestock_equipment/tractor_attachments_implements/landscaping_attachments landed on page that is not a product page. 2026-01-28 07:42:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/emergency_food_drink landed on page that is not a product page. 2026-01-28 07:42:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:42:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/agricultural_farm_livestock_equipment/tractor_attachments_implements/landscaping_attachments landed on page that is not a product page. 2026-01-28 07:42:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75891 pages (at 81 pages/min), scraped 36844 items (at 61 items/min) 2026-01-28 07:42:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/stainless_steel_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips landed on page that is not a product page. 2026-01-28 07:43:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 07:43:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:43:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/food_beverage_preparation_appliances/coffee_tea_brewing_equipment/brewing_equipment_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/stainless_steel_bathroom_partitions landed on page that is not a product page. 2026-01-28 07:43:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_bench_racks_stands landed on page that is not a product page. 2026-01-28 07:43:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:43:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/food_beverage_preparation_appliances/coffee_tea_brewing_equipment/brewing_equipment_accessories landed on page that is not a product page. 2026-01-28 07:43:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 07:43:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:43:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:43:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups landed on page that is not a product page. 2026-01-28 07:43:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:43:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:43:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 75973 pages (at 82 pages/min), scraped 36913 items (at 69 items/min) 2026-01-28 07:43:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups landed on page that is not a product page. 2026-01-28 07:44:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:44:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/straight_extension_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:44:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:44:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:44:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:44:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders landed on page that is not a product page. 2026-01-28 07:44:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips landed on page that is not a product page. 2026-01-28 07:44:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:44:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:44:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:44:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/straight_extension_ladders landed on page that is not a product page. 2026-01-28 07:44:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 07:44:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:44:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:44:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:44:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 07:44:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 07:44:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 07:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76065 pages (at 92 pages/min), scraped 36995 items (at 82 items/min) 2026-01-28 07:44:59 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 07:45:00 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:37 2026-01-28 07:45:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:45:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:45:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paintbrushes_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:45:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper landed on page that is not a product page. 2026-01-28 07:45:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:45:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper landed on page that is not a product page. 2026-01-28 07:45:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paintbrushes_pads landed on page that is not a product page. 2026-01-28 07:45:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper landed on page that is not a product page. 2026-01-28 07:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76158 pages (at 93 pages/min), scraped 37084 items (at 89 items/min) 2026-01-28 07:46:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:46:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 07:46:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:46:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:46:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels landed on page that is not a product page. 2026-01-28 07:46:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices landed on page that is not a product page. 2026-01-28 07:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76254 pages (at 96 pages/min), scraped 37177 items (at 93 items/min) 2026-01-28 07:46:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:47:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:47:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 07:47:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers landed on page that is not a product page. 2026-01-28 07:47:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/paper_trimmers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:47:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/bulk_containers/plastic_bulk_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:47:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/paper_trimmers landed on page that is not a product page. 2026-01-28 07:47:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:47:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/bulk_containers/plastic_bulk_containers landed on page that is not a product page. 2026-01-28 07:47:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:47:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:47:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:47:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks landed on page that is not a product page. 2026-01-28 07:47:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels landed on page that is not a product page. 2026-01-28 07:47:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels landed on page that is not a product page. 2026-01-28 07:47:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories landed on page that is not a product page. 2026-01-28 07:47:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76339 pages (at 85 pages/min), scraped 37254 items (at 77 items/min) 2026-01-28 07:47:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits landed on page that is not a product page. 2026-01-28 07:48:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:48:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:48:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:48:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 07:48:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer landed on page that is not a product page. 2026-01-28 07:48:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 07:48:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:48:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:48:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 07:48:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:48:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 07:48:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats landed on page that is not a product page. 2026-01-28 07:48:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:48:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/shears_pruning_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:48:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/security_safes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76432 pages (at 93 pages/min), scraped 37340 items (at 86 items/min) 2026-01-28 07:49:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 07:49:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/business_card_cutters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/business_card_cutters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/shears_pruning_tools landed on page that is not a product page. 2026-01-28 07:49:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/security_safes landed on page that is not a product page. 2026-01-28 07:49:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/countertop_displays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/business_card_cutters landed on page that is not a product page. 2026-01-28 07:49:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/business_card_cutters landed on page that is not a product page. 2026-01-28 07:49:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/stationery already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/countertop_displays landed on page that is not a product page. 2026-01-28 07:49:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/art_craft_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/adhesive_tape_dispensing_equipment/epoxy_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 07:49:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/stationery landed on page that is not a product page. 2026-01-28 07:49:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/art_craft_paper landed on page that is not a product page. 2026-01-28 07:49:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 07:49:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/adhesive_tape_dispensing_equipment/epoxy_dispensers landed on page that is not a product page. 2026-01-28 07:49:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_kits_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 07:49:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 07:49:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/mattresses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76512 pages (at 80 pages/min), scraped 37407 items (at 67 items/min) 2026-01-28 07:50:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_kits_stations landed on page that is not a product page. 2026-01-28 07:50:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/mattresses landed on page that is not a product page. 2026-01-28 07:50:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 07:50:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes landed on page that is not a product page. 2026-01-28 07:50:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 07:50:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes landed on page that is not a product page. 2026-01-28 07:50:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=penpal-rubber-pen-pencil-holder-2-5-8-x-5-8-colors-vary already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 07:50:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 07:50:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/flashlights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=penpal-rubber-pen-pencil-holder-2-5-8-x-5-8-colors-vary landed on page that is not a product page. 2026-01-28 07:50:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 07:50:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens landed on page that is not a product page. 2026-01-28 07:50:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/canes_crutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/flashlights landed on page that is not a product page. 2026-01-28 07:50:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:50:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/canes_crutches landed on page that is not a product page. 2026-01-28 07:50:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens landed on page that is not a product page. 2026-01-28 07:50:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 07:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76598 pages (at 86 pages/min), scraped 37478 items (at 71 items/min) 2026-01-28 07:51:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 07:51:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/bar_refrigerators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:51:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/digital_microscopes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:51:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:51:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/bar_refrigerators landed on page that is not a product page. 2026-01-28 07:51:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/digital_microscopes landed on page that is not a product page. 2026-01-28 07:51:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:51:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 07:51:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 07:51:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/drum_barrel_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76691 pages (at 93 pages/min), scraped 37565 items (at 87 items/min) 2026-01-28 07:52:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/drum_barrel_racks landed on page that is not a product page. 2026-01-28 07:52:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_enclosures already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches landed on page that is not a product page. 2026-01-28 07:52:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_enclosures landed on page that is not a product page. 2026-01-28 07:52:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance/horns_horn_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance/horns_horn_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 07:52:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 07:52:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 07:52:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance landed on page that is not a product page. 2026-01-28 07:52:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/stands/computer_stands_carts/laptop_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 07:52:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance/driveline_axles/bearings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76778 pages (at 87 pages/min), scraped 37644 items (at 79 items/min) 2026-01-28 07:52:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance landed on page that is not a product page. 2026-01-28 07:53:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/grills/grill_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:53:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance/driveline_axles/bearings landed on page that is not a product page. 2026-01-28 07:53:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/stands/computer_stands_carts/laptop_carts landed on page that is not a product page. 2026-01-28 07:53:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/grills/grill_covers landed on page that is not a product page. 2026-01-28 07:53:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:53:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:53:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/chandeliers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:53:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:53:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:53:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:53:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/printers_scanners/3d_printers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:53:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/chandeliers landed on page that is not a product page. 2026-01-28 07:53:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:53:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks landed on page that is not a product page. 2026-01-28 07:53:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock landed on page that is not a product page. 2026-01-28 07:53:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_machines/printers_scanners/3d_printers landed on page that is not a product page. 2026-01-28 07:53:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:53:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:53:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_enclosures already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76867 pages (at 89 pages/min), scraped 37724 items (at 80 items/min) 2026-01-28 07:53:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:53:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:54:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pencil_sharpeners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_enclosures landed on page that is not a product page. 2026-01-28 07:54:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:54:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 07:54:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pencil_sharpeners landed on page that is not a product page. 2026-01-28 07:54:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:54:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock landed on page that is not a product page. 2026-01-28 07:54:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 07:54:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:54:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 07:54:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:54:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:54:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/beam_clamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/hoists/lever_chain_hoists already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:54:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 07:54:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/beam_clamps landed on page that is not a product page. 2026-01-28 07:54:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 07:54:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 76949 pages (at 82 pages/min), scraped 37789 items (at 65 items/min) 2026-01-28 07:54:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/cranes_hoists/hoists/lever_chain_hoists landed on page that is not a product page. 2026-01-28 07:55:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 07:55:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers landed on page that is not a product page. 2026-01-28 07:55:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock landed on page that is not a product page. 2026-01-28 07:55:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 07:55:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/luggage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock landed on page that is not a product page. 2026-01-28 07:55:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:55:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:55:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders landed on page that is not a product page. 2026-01-28 07:55:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/luggage_racks landed on page that is not a product page. 2026-01-28 07:55:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders landed on page that is not a product page. 2026-01-28 07:55:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 07:55:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 07:55:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 07:55:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 07:55:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:55:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/countertop_displays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:55:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear landed on page that is not a product page. 2026-01-28 07:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77025 pages (at 76 pages/min), scraped 37847 items (at 58 items/min) 2026-01-28 07:55:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays landed on page that is not a product page. 2026-01-28 07:55:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 07:56:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:56:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/countertop_displays landed on page that is not a product page. 2026-01-28 07:56:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 07:56:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:56:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:56:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:56:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:56:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:56:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock landed on page that is not a product page. 2026-01-28 07:56:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:56:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:56:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:56:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:56:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 07:56:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:56:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:56:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:56:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77111 pages (at 86 pages/min), scraped 37921 items (at 74 items/min) 2026-01-28 07:56:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:57:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 07:57:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 07:57:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-acu-rite-203-3x-q-dro-x-powerfeed-air-power-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:57:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/indicator_taillight_assemblies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:57:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=e-1236vs-with-acu-rite-203-dro-with-taper-attachment-and-collet-closer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:57:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/vehicle_flood_utility_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:57:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-acu-rite-203-3x-q-dro-x-powerfeed-air-power-drawbar landed on page that is not a product page. 2026-01-28 07:57:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/indicator_taillight_assemblies landed on page that is not a product page. 2026-01-28 07:57:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=e-1236vs-with-acu-rite-203-dro-with-taper-attachment-and-collet-closer landed on page that is not a product page. 2026-01-28 07:57:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-newall-dp700-3x-q-dro-x-powerfeed already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:57:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=e-1340vs-with-newall-dp700-dro already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:57:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-newall-dp700-3x-q-dro-x-powerfeed landed on page that is not a product page. 2026-01-28 07:57:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=e-1340vs-with-newall-dp700-dro landed on page that is not a product page. 2026-01-28 07:57:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/vehicle_flood_utility_lights landed on page that is not a product page. 2026-01-28 07:57:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=egh-1740-with-collet-closer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:57:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=etm-949-mill-2-axis-acu-rite-303-dro-x-y-axis-jet-powerfeeds-usa-powered-draw-bar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:57:52 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 07:57:53 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:38 2026-01-28 07:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77202 pages (at 91 pages/min), scraped 38003 items (at 82 items/min) 2026-01-28 07:57:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=egh-1740-with-collet-closer landed on page that is not a product page. 2026-01-28 07:58:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=etm-949-mill-2-axis-acu-rite-303-dro-x-y-axis-jet-powerfeeds-usa-powered-draw-bar landed on page that is not a product page. 2026-01-28 07:58:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/bags_covers/paper_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:58:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/bags_covers/paper_bags landed on page that is not a product page. 2026-01-28 07:58:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:58:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/esd_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:58:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs landed on page that is not a product page. 2026-01-28 07:58:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/esd_mats landed on page that is not a product page. 2026-01-28 07:58:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_refrigerants_lubricants_chemicals/hvac_chemicals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:58:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:58:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_refrigerants_lubricants_chemicals/hvac_chemicals landed on page that is not a product page. 2026-01-28 07:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77296 pages (at 94 pages/min), scraped 38091 items (at 88 items/min) 2026-01-28 07:59:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:59:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:59:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/extra_heavy_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:59:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/door_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:59:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/sneeze_guards_distancing_barriers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:59:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems landed on page that is not a product page. 2026-01-28 07:59:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 07:59:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/extra_heavy_boltless_shelves landed on page that is not a product page. 2026-01-28 07:59:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/desktop_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:59:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 07:59:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/door_guards landed on page that is not a product page. 2026-01-28 07:59:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/desktop_dividers landed on page that is not a product page. 2026-01-28 07:59:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/planters_pots/seeding_trays_heat_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:59:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/condenser_fan_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:59:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/snow_removal_sprayers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:59:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/condenser_fan_motors landed on page that is not a product page. 2026-01-28 07:59:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/landscaping/planters_pots/seeding_trays_heat_mats landed on page that is not a product page. 2026-01-28 07:59:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/snow_removal_sprayers landed on page that is not a product page. 2026-01-28 07:59:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 07:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77379 pages (at 83 pages/min), scraped 38166 items (at 75 items/min) 2026-01-28 08:00:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/oem_replacement_ac_motors landed on page that is not a product page. 2026-01-28 08:00:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:00:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/seed_spreaders landed on page that is not a product page. 2026-01-28 08:00:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:00:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_controls/thermostats_temperature_controls/thermostats landed on page that is not a product page. 2026-01-28 08:00:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/serveware_tableware/serving_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:00:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/serveware_tableware/serving_trays landed on page that is not a product page. 2026-01-28 08:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77473 pages (at 94 pages/min), scraped 38256 items (at 90 items/min) 2026-01-28 08:01:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:01:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 08:01:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/reel_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:01:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-eh451-3-4-hp-3-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:01:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/reel_racks landed on page that is not a product page. 2026-01-28 08:01:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-eh451-3-4-hp-3-phase-3450-rpm landed on page that is not a product page. 2026-01-28 08:01:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-xs12ca2jcr-1-2-hp-1-phase-1725-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:01:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-xs34ca1jcr-3-4-hp-1-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77565 pages (at 92 pages/min), scraped 38345 items (at 89 items/min) 2026-01-28 08:01:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/anti_static_emi_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:01:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/anti_static_emi_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:02:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-xs12ca2jcr-1-2-hp-1-phase-1725-rpm landed on page that is not a product page. 2026-01-28 08:02:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/anti_static_emi_bags landed on page that is not a product page. 2026-01-28 08:02:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-5540et-3-4-hp-1-phase-1075-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:02:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/anti_static_emi_bags landed on page that is not a product page. 2026-01-28 08:02:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-xs34ca1jcr-3-4-hp-1-phase-3450-rpm landed on page that is not a product page. 2026-01-28 08:02:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:02:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-5540et-3-4-hp-1-phase-1075-rpm landed on page that is not a product page. 2026-01-28 08:02:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels landed on page that is not a product page. 2026-01-28 08:02:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/bathroom_wall_mirrors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:02:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/bathroom_wall_mirrors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:02:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/decor_linens/bathroom_wall_mirrors landed on page that is not a product page. 2026-01-28 08:02:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/decor_linens/bathroom_wall_mirrors landed on page that is not a product page. 2026-01-28 08:02:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/winches_accessories/winches_ratchet_pullers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:02:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/winches_accessories/winches_ratchet_pullers landed on page that is not a product page. 2026-01-28 08:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77654 pages (at 89 pages/min), scraped 38425 items (at 80 items/min) 2026-01-28 08:03:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/outdoor_structures_storage/gazebos_pavilions_pergolas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/door_frames already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets landed on page that is not a product page. 2026-01-28 08:03:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/outdoor_structures_storage/gazebos_pavilions_pergolas landed on page that is not a product page. 2026-01-28 08:03:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/door_frames landed on page that is not a product page. 2026-01-28 08:03:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 08:03:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 08:03:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 08:03:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 08:03:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/protective_packaging/dunnage_air_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 08:03:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 08:03:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 08:03:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 08:03:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/protective_packaging/dunnage_air_bags landed on page that is not a product page. 2026-01-28 08:03:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils landed on page that is not a product page. 2026-01-28 08:03:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils landed on page that is not a product page. 2026-01-28 08:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77731 pages (at 77 pages/min), scraped 38488 items (at 63 items/min) 2026-01-28 08:03:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:03:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ranges/gas_electric_ranges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:04:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals landed on page that is not a product page. 2026-01-28 08:04:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ranges/gas_electric_ranges landed on page that is not a product page. 2026-01-28 08:04:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:04:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers landed on page that is not a product page. 2026-01-28 08:04:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/hats_headwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:04:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/hats_headwear landed on page that is not a product page. 2026-01-28 08:04:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_dispensers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:04:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/impact_wrenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:04:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/laboratory_dispensers landed on page that is not a product page. 2026-01-28 08:04:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/air_tools_accessories/impact_wrenches landed on page that is not a product page. 2026-01-28 08:04:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/decorative_linear_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:04:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77816 pages (at 85 pages/min), scraped 38567 items (at 79 items/min) 2026-01-28 08:05:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/decorative_linear_lighting landed on page that is not a product page. 2026-01-28 08:05:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights landed on page that is not a product page. 2026-01-28 08:05:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=protect-liquid-cooled-standby-generator-130kw-120-240v-1-phase-lp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:05:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=protect-liquid-cooled-standby-generator-130kw-120-240v-3-phase-lp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:05:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=protect-liquid-cooled-standby-generator-130kw-120-240v-1-phase-lp landed on page that is not a product page. 2026-01-28 08:05:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:05:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=protect-liquid-cooled-standby-generator-130kw-120-240v-3-phase-lp landed on page that is not a product page. 2026-01-28 08:05:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:05:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:05:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:05:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:05:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:05:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:05:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:05:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:05:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77912 pages (at 96 pages/min), scraped 38654 items (at 87 items/min) 2026-01-28 08:05:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:05:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:06:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:06:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:06:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:06:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:06:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:06:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:06:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:06:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:06:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:06:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:06:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/cable_bolt_cutters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 77997 pages (at 85 pages/min), scraped 38727 items (at 73 items/min) 2026-01-28 08:06:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/cable_bolt_cutters landed on page that is not a product page. 2026-01-28 08:07:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-28 08:07:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-28 08:07:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:07:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-28 08:07:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 08:07:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:07:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors landed on page that is not a product page. 2026-01-28 08:07:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors landed on page that is not a product page. 2026-01-28 08:07:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 08:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 78076 pages (at 79 pages/min), scraped 38788 items (at 61 items/min) 2026-01-28 08:07:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors landed on page that is not a product page. 2026-01-28 08:08:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:08:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:08:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 08:08:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_funnels_vents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:08:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/home_office_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:08:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 08:08:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_funnels_vents landed on page that is not a product page. 2026-01-28 08:08:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/home_office_fans landed on page that is not a product page. 2026-01-28 08:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 78171 pages (at 95 pages/min), scraped 38878 items (at 90 items/min) 2026-01-28 08:09:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:09:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:09:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:09:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:09:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:09:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders landed on page that is not a product page. 2026-01-28 08:09:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils landed on page that is not a product page. 2026-01-28 08:09:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders landed on page that is not a product page. 2026-01-28 08:09:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:09:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:09:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 08:09:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 78266 pages (at 95 pages/min), scraped 38967 items (at 89 items/min) 2026-01-28 08:09:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/buffing_polishing/lapping_film already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:09:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:09:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/grinders_buffers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:10:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:10:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:10:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/buffing_polishing/lapping_film landed on page that is not a product page. 2026-01-28 08:10:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:10:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:10:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:10:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 08:10:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:10:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/grinders_buffers landed on page that is not a product page. 2026-01-28 08:10:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 08:10:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 08:10:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:10:25 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 08:10:26 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:39 2026-01-28 08:10:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders landed on page that is not a product page. 2026-01-28 08:10:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelf_doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:10:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelf_doors landed on page that is not a product page. 2026-01-28 08:10:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:10:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/general_purpose_sealed_lead_acid_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:10:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-28 08:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 78348 pages (at 82 pages/min), scraped 39039 items (at 72 items/min) 2026-01-28 08:10:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:11:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/general_purpose_sealed_lead_acid_batteries landed on page that is not a product page. 2026-01-28 08:11:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets landed on page that is not a product page. 2026-01-28 08:11:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/structural_framing already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:11:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:11:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/structural_framing landed on page that is not a product page. 2026-01-28 08:11:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:11:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:11:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 08:11:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:11:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:11:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 08:11:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 08:11:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 78445 pages (at 97 pages/min), scraped 39129 items (at 90 items/min) 2026-01-28 08:11:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 08:12:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/waterproof_equipment_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:12:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/waterproof_equipment_cases landed on page that is not a product page. 2026-01-28 08:12:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 78541 pages (at 96 pages/min), scraped 39223 items (at 94 items/min) 2026-01-28 08:12:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:13:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/conduit_fishing_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:13:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/conduit_fishing_tools landed on page that is not a product page. 2026-01-28 08:13:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:13:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:13:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:13:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:13:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts landed on page that is not a product page. 2026-01-28 08:13:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves landed on page that is not a product page. 2026-01-28 08:13:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels landed on page that is not a product page. 2026-01-28 08:13:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts landed on page that is not a product page. 2026-01-28 08:13:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/punches_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:13:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/punches_1 landed on page that is not a product page. 2026-01-28 08:13:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 78630 pages (at 89 pages/min), scraped 39305 items (at 82 items/min) 2026-01-28 08:14:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers landed on page that is not a product page. 2026-01-28 08:14:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/brooms_dust_pans/dusters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:14:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/brooms_dust_pans/dusters landed on page that is not a product page. 2026-01-28 08:14:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:14:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:14:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories landed on page that is not a product page. 2026-01-28 08:14:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories landed on page that is not a product page. 2026-01-28 08:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 78727 pages (at 97 pages/min), scraped 39398 items (at 93 items/min) 2026-01-28 08:14:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamp_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:15:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamp_pads landed on page that is not a product page. 2026-01-28 08:15:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/anchorage_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:15:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fall_protection/anchorage_connectors landed on page that is not a product page. 2026-01-28 08:15:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/chemical_resistant_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:15:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/gaffer_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:15:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/chemical_resistant_gloves landed on page that is not a product page. 2026-01-28 08:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 78822 pages (at 95 pages/min), scraped 39490 items (at 92 items/min) 2026-01-28 08:15:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/bag_sealers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:16:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/bag_sealers landed on page that is not a product page. 2026-01-28 08:16:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/building_construction_tape/gaffer_tape landed on page that is not a product page. 2026-01-28 08:16:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:16:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:16:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/headbands_sweatbands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:16:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems landed on page that is not a product page. 2026-01-28 08:16:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems landed on page that is not a product page. 2026-01-28 08:16:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/headbands_sweatbands landed on page that is not a product page. 2026-01-28 08:16:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/paper_folding_machines_letter_openers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 78913 pages (at 91 pages/min), scraped 39576 items (at 86 items/min) 2026-01-28 08:16:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_machines/paper_folding_machines_letter_openers landed on page that is not a product page. 2026-01-28 08:17:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/bags_cases/computer_bags_briefcases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:17:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:17:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:17:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/scissors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:17:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:17:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:17:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/bags_cases/computer_bags_briefcases landed on page that is not a product page. 2026-01-28 08:17:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:17:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:17:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:17:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/scissors landed on page that is not a product page. 2026-01-28 08:17:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_fan_blades_blower_wheels/aluminum_fan_blades already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:17:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:17:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-28 08:17:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 08:17:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/cable_bolt_cutters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:17:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_fan_blades_blower_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:17:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/cable_bolt_cutters landed on page that is not a product page. 2026-01-28 08:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79000 pages (at 87 pages/min), scraped 39654 items (at 78 items/min) 2026-01-28 08:18:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_fan_blades_blower_wheels landed on page that is not a product page. 2026-01-28 08:18:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:18:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:18:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders landed on page that is not a product page. 2026-01-28 08:18:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_liquid_level_alarms_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:18:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/floor_machine_hardware_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:18:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_liquid_level_alarms_gauges landed on page that is not a product page. 2026-01-28 08:18:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-28 08:18:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/cables_connectors/cables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:18:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/floor_machine_hardware_parts landed on page that is not a product page. 2026-01-28 08:18:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/cables_connectors/cables landed on page that is not a product page. 2026-01-28 08:18:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_baseboard_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:18:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/cove_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:18:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/ribbons_solid_ink already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:18:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_baseboard_heaters landed on page that is not a product page. 2026-01-28 08:18:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/cove_heaters landed on page that is not a product page. 2026-01-28 08:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79093 pages (at 93 pages/min), scraped 39739 items (at 85 items/min) 2026-01-28 08:18:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/ribbons_solid_ink landed on page that is not a product page. 2026-01-28 08:19:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:19:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos landed on page that is not a product page. 2026-01-28 08:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79191 pages (at 98 pages/min), scraped 39835 items (at 96 items/min) 2026-01-28 08:20:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:20:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:20:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:20:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 08:20:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 08:20:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 08:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79282 pages (at 91 pages/min), scraped 39923 items (at 88 items/min) 2026-01-28 08:21:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/coated_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:21:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:21:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/coated_gloves landed on page that is not a product page. 2026-01-28 08:21:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors landed on page that is not a product page. 2026-01-28 08:21:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/metalworking_fluids_accessories/cutting_oils_lubricants already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:21:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/metalworking_fluids_accessories/cutting_oils_lubricants landed on page that is not a product page. 2026-01-28 08:21:42 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 08:21:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/harnesses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:21:43 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:40 2026-01-28 08:21:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/harnesses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:21:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/harnesses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:21:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fall_protection/harnesses landed on page that is not a product page. 2026-01-28 08:21:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fall_protection/harnesses landed on page that is not a product page. 2026-01-28 08:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79378 pages (at 96 pages/min), scraped 40014 items (at 91 items/min) 2026-01-28 08:22:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fall_protection/harnesses landed on page that is not a product page. 2026-01-28 08:22:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/first_aid_wound_treatment/bandages_dressings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/safety_mirrors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets landed on page that is not a product page. 2026-01-28 08:22:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/modular_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/security_access_control/safety_mirrors landed on page that is not a product page. 2026-01-28 08:22:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/first_aid_wound_treatment/bandages_dressings landed on page that is not a product page. 2026-01-28 08:22:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/modular_mats landed on page that is not a product page. 2026-01-28 08:22:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee landed on page that is not a product page. 2026-01-28 08:22:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 08:22:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 08:22:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 08:22:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 08:22:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/mouse_pads_wrist_rests already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79461 pages (at 83 pages/min), scraped 40087 items (at 73 items/min) 2026-01-28 08:22:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/document_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 08:22:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:22:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/document_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/mouse_pads_wrist_rests landed on page that is not a product page. 2026-01-28 08:23:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/document_holders landed on page that is not a product page. 2026-01-28 08:23:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 08:23:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 08:23:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands landed on page that is not a product page. 2026-01-28 08:23:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/document_holders landed on page that is not a product page. 2026-01-28 08:23:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/hats_headwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/hats_headwear landed on page that is not a product page. 2026-01-28 08:23:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/rulers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/instructional_materials/flash_cards_educational_games already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79528 pages (at 67 pages/min), scraped 40131 items (at 44 items/min) 2026-01-28 08:23:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/classroom_decorations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:23:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:23:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/instructional_materials/flash_cards_educational_games landed on page that is not a product page. 2026-01-28 08:24:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/rulers landed on page that is not a product page. 2026-01-28 08:24:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_banners_posters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/decor_linens/classroom_decorations landed on page that is not a product page. 2026-01-28 08:24:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_banners_posters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_banners_posters landed on page that is not a product page. 2026-01-28 08:24:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/portable_electric_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_service_tools_parts/refrigerant_leak_gas_detectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_banners_posters landed on page that is not a product page. 2026-01-28 08:24:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/portable_electric_air_compressors landed on page that is not a product page. 2026-01-28 08:24:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_service_tools_parts/refrigerant_leak_gas_detectors landed on page that is not a product page. 2026-01-28 08:24:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/dollies/solid_deck_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/dollies/solid_deck_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/dollies/solid_deck_dollies landed on page that is not a product page. 2026-01-28 08:24:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/dollies/solid_deck_dollies landed on page that is not a product page. 2026-01-28 08:24:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies landed on page that is not a product page. 2026-01-28 08:24:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_purifiers/hepa_media_air_purifiers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/chemical_sorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/chemical_sorbents landed on page that is not a product page. 2026-01-28 08:24:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79604 pages (at 76 pages/min), scraped 40180 items (at 49 items/min) 2026-01-28 08:24:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_purifiers/hepa_media_air_purifiers landed on page that is not a product page. 2026-01-28 08:24:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:24:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:24:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:25:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:25:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:25:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:25:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:25:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:25:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:25:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:25:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:25:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 08:25:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer landed on page that is not a product page. 2026-01-28 08:25:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_roof_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:25:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/ball_point_socket_set_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:25:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:25:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/screws/ball_point_socket_set_screws landed on page that is not a product page. 2026-01-28 08:25:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers?token=null already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:25:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79691 pages (at 87 pages/min), scraped 40256 items (at 76 items/min) 2026-01-28 08:25:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:26:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers landed on page that is not a product page. 2026-01-28 08:26:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels landed on page that is not a product page. 2026-01-28 08:26:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/wrenches/combination_wrenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:26:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/wrenches/combination_wrenches landed on page that is not a product page. 2026-01-28 08:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79790 pages (at 99 pages/min), scraped 40352 items (at 96 items/min) 2026-01-28 08:27:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/tool_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:27:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/tool_boxes landed on page that is not a product page. 2026-01-28 08:27:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/bath_toilet_seats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:27:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/string_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:27:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/bath_toilet_seats landed on page that is not a product page. 2026-01-28 08:27:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/stencils_letters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:27:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/string_lights landed on page that is not a product page. 2026-01-28 08:27:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/stencils_letters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:27:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/stencils_letters landed on page that is not a product page. 2026-01-28 08:27:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/stencils_letters landed on page that is not a product page. 2026-01-28 08:27:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79879 pages (at 89 pages/min), scraped 40436 items (at 84 items/min) 2026-01-28 08:28:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:28:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/toilets_urinals/toilets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:28:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/toilets_urinals/toilets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:28:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/folding_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 79971 pages (at 92 pages/min), scraped 40527 items (at 91 items/min) 2026-01-28 08:28:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/toilets_urinals/toilets landed on page that is not a product page. 2026-01-28 08:28:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/toilets_urinals/toilets landed on page that is not a product page. 2026-01-28 08:28:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:29:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_accessories landed on page that is not a product page. 2026-01-28 08:29:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/folding_tables landed on page that is not a product page. 2026-01-28 08:29:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/facial_recognition_thermal_imaging_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:29:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/security_access_control/facial_recognition_thermal_imaging_systems landed on page that is not a product page. 2026-01-28 08:29:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_tool_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:29:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/general_purpose_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80065 pages (at 94 pages/min), scraped 40615 items (at 88 items/min) 2026-01-28 08:29:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/power_tool_kits landed on page that is not a product page. 2026-01-28 08:30:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/bolts/plow_bolts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:30:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/general_purpose_cleaners landed on page that is not a product page. 2026-01-28 08:30:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/bolts/plow_bolts landed on page that is not a product page. 2026-01-28 08:30:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:30:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/storage_panels/tool_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:30:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:30:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors landed on page that is not a product page. 2026-01-28 08:30:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/storage_panels/tool_storage_racks landed on page that is not a product page. 2026-01-28 08:30:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/hand_soap_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:30:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/lavatory_carriers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:30:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices landed on page that is not a product page. 2026-01-28 08:30:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/open_base_workbenches/mobile_open_base_workbenches/standard_duty_mobile_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:30:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/hand_soap_cleaners landed on page that is not a product page. 2026-01-28 08:30:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:30:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/open_base_workbenches/mobile_open_base_workbenches/standard_duty_mobile_workbenches landed on page that is not a product page. 2026-01-28 08:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80157 pages (at 92 pages/min), scraped 40700 items (at 85 items/min) 2026-01-28 08:30:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories landed on page that is not a product page. 2026-01-28 08:31:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:31:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:31:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/furniture_appliance_feet already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:31:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/machine_mounts_pads_vibration_dampers/furniture_appliance_feet landed on page that is not a product page. 2026-01-28 08:31:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/crayons_markers_chalk already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:31:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:31:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 08:31:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 08:31:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:31:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80244 pages (at 87 pages/min), scraped 40783 items (at 83 items/min) 2026-01-28 08:31:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/crayons_markers_chalk landed on page that is not a product page. 2026-01-28 08:31:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:31:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/stencils_letters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 08:32:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves landed on page that is not a product page. 2026-01-28 08:32:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 08:32:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_balls_cubes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 08:32:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/stencils_letters landed on page that is not a product page. 2026-01-28 08:32:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/circulation_reception_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/electronic_queuing_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment landed on page that is not a product page. 2026-01-28 08:32:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment landed on page that is not a product page. 2026-01-28 08:32:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam landed on page that is not a product page. 2026-01-28 08:32:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/circulation_reception_desks landed on page that is not a product page. 2026-01-28 08:32:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/electronic_queuing_systems landed on page that is not a product page. 2026-01-28 08:32:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment landed on page that is not a product page. 2026-01-28 08:32:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment landed on page that is not a product page. 2026-01-28 08:32:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/credenzas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 08:32:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/credenzas landed on page that is not a product page. 2026-01-28 08:32:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-28 08:32:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80328 pages (at 84 pages/min), scraped 40851 items (at 68 items/min) 2026-01-28 08:32:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-28 08:32:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-28 08:33:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:33:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:33:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 08:33:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:33:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 08:33:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:33:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/machine_screws/flat_head_machine_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:33:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:33:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/clamps/toggle_clamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:33:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:33:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 08:33:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/clamps/toggle_clamps landed on page that is not a product page. 2026-01-28 08:33:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 08:33:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/screws/machine_screws/flat_head_machine_screws landed on page that is not a product page. 2026-01-28 08:33:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_pads_pad_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80419 pages (at 91 pages/min), scraped 40933 items (at 82 items/min) 2026-01-28 08:33:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_pads_pad_holders landed on page that is not a product page. 2026-01-28 08:33:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:33:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:33:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/janitorial_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges landed on page that is not a product page. 2026-01-28 08:34:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges landed on page that is not a product page. 2026-01-28 08:34:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/clear_view_cabinets landed on page that is not a product page. 2026-01-28 08:34:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers landed on page that is not a product page. 2026-01-28 08:34:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/janitorial_cabinets landed on page that is not a product page. 2026-01-28 08:34:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/wardrobe_combination_cabinets/combination_cabients already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 08:34:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/wardrobe_combination_cabinets/combination_cabients landed on page that is not a product page. 2026-01-28 08:34:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/drill_presses_tapping_machinery already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/enclosures_fencing/welded_wire_fences already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/safety_railings_fittings/architectural_railing_components already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/drill_presses_tapping_machinery landed on page that is not a product page. 2026-01-28 08:34:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 08:34:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/enclosures_fencing/welded_wire_fences landed on page that is not a product page. 2026-01-28 08:34:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/saute_pots_pans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/safety_railings_fittings/architectural_railing_components landed on page that is not a product page. 2026-01-28 08:34:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:34:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/saute_pots_pans landed on page that is not a product page. 2026-01-28 08:34:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-28 08:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80498 pages (at 79 pages/min), scraped 40998 items (at 65 items/min) 2026-01-28 08:34:56 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 08:34:57 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:41 2026-01-28 08:34:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-28 08:35:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-28 08:35:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/levels_plumb_bobs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:35:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:35:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/measurement_layout_tools/levels_plumb_bobs landed on page that is not a product page. 2026-01-28 08:35:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-28 08:35:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/crowd_control_barricades already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:35:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:35:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders landed on page that is not a product page. 2026-01-28 08:35:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/crowd_control_barricades landed on page that is not a product page. 2026-01-28 08:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80596 pages (at 98 pages/min), scraped 41090 items (at 92 items/min) 2026-01-28 08:35:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/bulletin_boards_bars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:36:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/boards_easels/bulletin_boards_bars landed on page that is not a product page. 2026-01-28 08:36:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:36:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-28 08:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80697 pages (at 101 pages/min), scraped 41189 items (at 99 items/min) 2026-01-28 08:37:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_netting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:37:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/spill_kits_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:37:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/spill_kits_stations landed on page that is not a product page. 2026-01-28 08:37:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/food_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:37:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_netting landed on page that is not a product page. 2026-01-28 08:37:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/food_wraps landed on page that is not a product page. 2026-01-28 08:37:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_laboratory_cold_storage/laboratory_cold_storage/laboratory_freezers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:37:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=1-2-open-metal-strapping-seals-package-of-1000 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:37:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80790 pages (at 93 pages/min), scraped 41278 items (at 89 items/min) 2026-01-28 08:37:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=1-2-open-metal-strapping-seals-package-of-1000 landed on page that is not a product page. 2026-01-28 08:37:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_laboratory_cold_storage/laboratory_cold_storage/laboratory_freezers landed on page that is not a product page. 2026-01-28 08:37:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils landed on page that is not a product page. 2026-01-28 08:38:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/screwdrivers/multi_bit_screwdrivers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:38:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_wall_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:38:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/screwdrivers/multi_bit_screwdrivers landed on page that is not a product page. 2026-01-28 08:38:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/metals/steel_wire already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:38:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_wall_heaters landed on page that is not a product page. 2026-01-28 08:38:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/metals/steel_wire landed on page that is not a product page. 2026-01-28 08:38:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_containers/outdoor_trash_cans/plastic_outdoor_trash_cans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:38:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/measuring_tools_tape_measures already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:38:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:38:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/measurement_layout_tools/measuring_tools_tape_measures landed on page that is not a product page. 2026-01-28 08:38:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals landed on page that is not a product page. 2026-01-28 08:38:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_containers/outdoor_trash_cans/plastic_outdoor_trash_cans landed on page that is not a product page. 2026-01-28 08:38:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/measuring_tools_tape_measures already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80876 pages (at 86 pages/min), scraped 41356 items (at 78 items/min) 2026-01-28 08:38:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/measurement_layout_tools/measuring_tools_tape_measures landed on page that is not a product page. 2026-01-28 08:38:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/steam_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:39:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/steam_cleaners landed on page that is not a product page. 2026-01-28 08:39:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:39:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 08:39:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:39:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/machine_guards_panels/machine_rack_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:39:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/ducted_evaporative_coolers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 80970 pages (at 94 pages/min), scraped 41446 items (at 90 items/min) 2026-01-28 08:39:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs landed on page that is not a product page. 2026-01-28 08:40:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/machine_guards_panels/machine_rack_guards landed on page that is not a product page. 2026-01-28 08:40:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/ducted_evaporative_coolers landed on page that is not a product page. 2026-01-28 08:40:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/thresholds_bottom_sweeps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:40:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:40:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:40:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:40:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:40:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/thresholds_bottom_sweeps landed on page that is not a product page. 2026-01-28 08:40:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets landed on page that is not a product page. 2026-01-28 08:40:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns landed on page that is not a product page. 2026-01-28 08:40:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 08:40:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets landed on page that is not a product page. 2026-01-28 08:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81065 pages (at 95 pages/min), scraped 41534 items (at 88 items/min) 2026-01-28 08:41:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:41:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/bathroom_partition_replacement_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:41:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 08:41:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/bathroom_partition_replacement_hardware landed on page that is not a product page. 2026-01-28 08:41:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/contactors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:41:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/contactors landed on page that is not a product page. 2026-01-28 08:41:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/portable_generators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:41:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:41:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/esd_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:41:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/portable_generators landed on page that is not a product page. 2026-01-28 08:41:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards landed on page that is not a product page. 2026-01-28 08:41:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/esd_mats landed on page that is not a product page. 2026-01-28 08:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81155 pages (at 90 pages/min), scraped 41618 items (at 84 items/min) 2026-01-28 08:42:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:42:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 08:42:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:42:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:42:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:42:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers landed on page that is not a product page. 2026-01-28 08:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81251 pages (at 96 pages/min), scraped 41711 items (at 93 items/min) 2026-01-28 08:42:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners landed on page that is not a product page. 2026-01-28 08:43:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners landed on page that is not a product page. 2026-01-28 08:43:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/unit_heater_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:43:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/unit_heater_motors landed on page that is not a product page. 2026-01-28 08:43:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:43:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets landed on page that is not a product page. 2026-01-28 08:43:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/standard_duty_steel_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81350 pages (at 99 pages/min), scraped 41807 items (at 96 items/min) 2026-01-28 08:43:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/standard_duty_steel_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:44:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/standard_duty_steel_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:44:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/standard_duty_steel_lockers landed on page that is not a product page. 2026-01-28 08:44:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/standard_duty_steel_lockers landed on page that is not a product page. 2026-01-28 08:44:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:44:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/standard_lockers/steel_standard_lockers/standard_duty_steel_lockers landed on page that is not a product page. 2026-01-28 08:44:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 08:44:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/lighted_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:44:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:44:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/light_fixture_components/ballasts/electronic_ballasts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:44:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/lighted_exit_signs landed on page that is not a product page. 2026-01-28 08:44:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/light_fixture_components/ballasts/electronic_ballasts landed on page that is not a product page. 2026-01-28 08:44:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:44:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 08:44:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:44:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_cleaner_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:44:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81439 pages (at 89 pages/min), scraped 41888 items (at 81 items/min) 2026-01-28 08:45:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:45:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_cleaner_filters landed on page that is not a product page. 2026-01-28 08:45:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars landed on page that is not a product page. 2026-01-28 08:45:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:45:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:45:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners landed on page that is not a product page. 2026-01-28 08:45:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/containment_berms_pools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:45:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:45:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:45:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 08:45:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies landed on page that is not a product page. 2026-01-28 08:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81532 pages (at 93 pages/min), scraped 41975 items (at 87 items/min) 2026-01-28 08:45:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ovens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:46:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:46:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ovens landed on page that is not a product page. 2026-01-28 08:46:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks landed on page that is not a product page. 2026-01-28 08:46:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/chemical_sorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:46:12 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 08:46:13 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:42 2026-01-28 08:46:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/chemical_sorbents landed on page that is not a product page. 2026-01-28 08:46:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_accessories/trash_can_lids_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:46:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:46:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:46:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 08:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81627 pages (at 95 pages/min), scraped 42065 items (at 90 items/min) 2026-01-28 08:46:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs landed on page that is not a product page. 2026-01-28 08:46:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_accessories/trash_can_lids_dollies landed on page that is not a product page. 2026-01-28 08:47:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens landed on page that is not a product page. 2026-01-28 08:47:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 08:47:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 08:47:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/outdoor_chaise_lounges_daybeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 08:47:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 08:47:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/outdoor_chaise_lounges_daybeds landed on page that is not a product page. 2026-01-28 08:47:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 08:47:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 08:47:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware landed on page that is not a product page. 2026-01-28 08:47:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 08:47:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:47:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 08:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81716 pages (at 89 pages/min), scraped 42142 items (at 77 items/min) 2026-01-28 08:47:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 08:48:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 08:48:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/high_intensity_discharge_metal_halide_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs landed on page that is not a product page. 2026-01-28 08:48:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/high_intensity_discharge_metal_halide_bulbs landed on page that is not a product page. 2026-01-28 08:48:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 08:48:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/outdoor_structures_storage/canopies_carports_utility_tents/utility_work_tents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/tool_holders/lathe_tool_posts_post_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/adhesive_backed_floor_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs landed on page that is not a product page. 2026-01-28 08:48:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs landed on page that is not a product page. 2026-01-28 08:48:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/outdoor_structures_storage/canopies_carports_utility_tents/utility_work_tents landed on page that is not a product page. 2026-01-28 08:48:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/adhesive_backed_floor_signs landed on page that is not a product page. 2026-01-28 08:48:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 08:48:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/tool_holders/lathe_tool_posts_post_holders landed on page that is not a product page. 2026-01-28 08:48:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_sconces already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs landed on page that is not a product page. 2026-01-28 08:48:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81804 pages (at 88 pages/min), scraped 42218 items (at 76 items/min) 2026-01-28 08:49:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights landed on page that is not a product page. 2026-01-28 08:49:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:49:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:49:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-28 08:49:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:49:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:49:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-28 08:49:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-28 08:49:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_purifiers/hepa_media_air_purifiers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:49:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware landed on page that is not a product page. 2026-01-28 08:49:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_purifiers/hepa_media_air_purifiers landed on page that is not a product page. 2026-01-28 08:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81900 pages (at 96 pages/min), scraped 42308 items (at 90 items/min) 2026-01-28 08:50:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:50:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:50:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns landed on page that is not a product page. 2026-01-28 08:50:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/reception_sofas_sectionals landed on page that is not a product page. 2026-01-28 08:50:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/hats_headwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:50:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/pain_relief_gel already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:50:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/hats_headwear landed on page that is not a product page. 2026-01-28 08:50:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/pain_relief_gel landed on page that is not a product page. 2026-01-28 08:50:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/switches_receptacles_sensors/plugs_receptacles/straight_blade_plugs_receptacles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:50:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/self_retracting_lifelines_lanyards/self_retracting_lifelines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:50:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/switches_receptacles_sensors/plugs_receptacles/straight_blade_plugs_receptacles landed on page that is not a product page. 2026-01-28 08:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 81992 pages (at 92 pages/min), scraped 42395 items (at 87 items/min) 2026-01-28 08:50:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fall_protection/self_retracting_lifelines_lanyards/self_retracting_lifelines landed on page that is not a product page. 2026-01-28 08:51:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/spill_kits_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:51:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/spill_kits_stations landed on page that is not a product page. 2026-01-28 08:51:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:51:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/bookcases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:51:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_plates_bowls landed on page that is not a product page. 2026-01-28 08:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82084 pages (at 92 pages/min), scraped 42484 items (at 89 items/min) 2026-01-28 08:52:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/bookcases landed on page that is not a product page. 2026-01-28 08:52:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:52:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/washdown_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:52:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 08:52:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/washdown_motors landed on page that is not a product page. 2026-01-28 08:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82182 pages (at 98 pages/min), scraped 42579 items (at 95 items/min) 2026-01-28 08:53:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:53:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars landed on page that is not a product page. 2026-01-28 08:53:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:53:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:53:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 08:53:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 08:53:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/stock_pots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:53:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/stock_pots landed on page that is not a product page. 2026-01-28 08:53:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=691203-jtm-4vs-milling-machine-w-3-axis-newall-dp700-dro-quill-x-y-axis-powerfeeds-3-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:53:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=690211-jvm-836-1-milling-machine-w-x-y-axis-powerfeeds-1-1-2-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:53:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/laptop_charging_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:53:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=691203-jtm-4vs-milling-machine-w-3-axis-newall-dp700-dro-quill-x-y-axis-powerfeeds-3-hp landed on page that is not a product page. 2026-01-28 08:53:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=690211-jvm-836-1-milling-machine-w-x-y-axis-powerfeeds-1-1-2-hp landed on page that is not a product page. 2026-01-28 08:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82269 pages (at 87 pages/min), scraped 42660 items (at 81 items/min) 2026-01-28 08:53:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/conversation_sets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/conversation_sets landed on page that is not a product page. 2026-01-28 08:54:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/laptop_charging_cabinets landed on page that is not a product page. 2026-01-28 08:54:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/winches_accessories/winch_cables_ropes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/power_inverters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/winches_accessories/winch_cables_ropes landed on page that is not a product page. 2026-01-28 08:54:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/cd_players_boomboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/computer_stand_accessories/computer_cart_workstation_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/exit_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 08:54:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/faucets/bathroom_sink_faucets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/conference_training_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/cd_players_boomboxes landed on page that is not a product page. 2026-01-28 08:54:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/computer_stand_accessories/computer_cart_workstation_accessories landed on page that is not a product page. 2026-01-28 08:54:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases landed on page that is not a product page. 2026-01-28 08:54:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/exit_devices landed on page that is not a product page. 2026-01-28 08:54:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/faucets/bathroom_sink_faucets landed on page that is not a product page. 2026-01-28 08:54:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/insulation_film_weather_stripping already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 08:54:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/reclosable_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 08:54:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 08:54:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/conference_training_chairs landed on page that is not a product page. 2026-01-28 08:54:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/insulation_film_weather_stripping already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:54:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/insulation_film_weather_stripping landed on page that is not a product page. 2026-01-28 08:54:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/power_inverters landed on page that is not a product page. 2026-01-28 08:54:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/reclosable_bags landed on page that is not a product page. 2026-01-28 08:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82351 pages (at 82 pages/min), scraped 42726 items (at 66 items/min) 2026-01-28 08:54:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_hinges landed on page that is not a product page. 2026-01-28 08:54:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/insulation_film_weather_stripping landed on page that is not a product page. 2026-01-28 08:55:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets landed on page that is not a product page. 2026-01-28 08:55:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 08:55:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/stencils/safety_sign_stencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:55:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/stencils/safety_sign_stencils landed on page that is not a product page. 2026-01-28 08:55:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:55:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:55:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/drainage_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:55:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/relays_sequencers/relays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:55:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 08:55:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 08:55:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/drainage_mats landed on page that is not a product page. 2026-01-28 08:55:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/welding/gas_welding already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:55:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/relays_sequencers/relays landed on page that is not a product page. 2026-01-28 08:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82432 pages (at 81 pages/min), scraped 42798 items (at 72 items/min) 2026-01-28 08:56:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/welding/gas_welding landed on page that is not a product page. 2026-01-28 08:56:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:56:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 08:56:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82527 pages (at 95 pages/min), scraped 42891 items (at 93 items/min) 2026-01-28 08:56:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelving_enclosure_kits landed on page that is not a product page. 2026-01-28 08:57:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:57:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:57:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners landed on page that is not a product page. 2026-01-28 08:57:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers landed on page that is not a product page. 2026-01-28 08:57:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:57:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/garment_supplies/hangers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:57:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks landed on page that is not a product page. 2026-01-28 08:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82620 pages (at 93 pages/min), scraped 42980 items (at 89 items/min) 2026-01-28 08:58:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:58:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/garment_supplies/hangers landed on page that is not a product page. 2026-01-28 08:58:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper landed on page that is not a product page. 2026-01-28 08:58:10 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 08:58:11 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:43 2026-01-28 08:58:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:58:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:58:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:58:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:58:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 08:58:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/lighted_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:58:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 08:58:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/uninterrupted_power_supply_backup_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:58:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 08:58:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 08:58:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/lighted_exit_signs landed on page that is not a product page. 2026-01-28 08:58:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/uninterrupted_power_supply_backup_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82706 pages (at 86 pages/min), scraped 43059 items (at 79 items/min) 2026-01-28 08:58:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/uninterrupted_power_supply_backup_systems landed on page that is not a product page. 2026-01-28 08:59:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/uninterrupted_power_supply_backup_systems landed on page that is not a product page. 2026-01-28 08:59:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:59:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:59:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:59:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:59:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/vacuum_hoses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:59:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:59:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:59:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 08:59:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/vacuum_hoses landed on page that is not a product page. 2026-01-28 08:59:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:59:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights landed on page that is not a product page. 2026-01-28 08:59:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/wall_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:59:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:59:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights landed on page that is not a product page. 2026-01-28 08:59:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:59:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/wall_air_conditioners landed on page that is not a product page. 2026-01-28 08:59:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights landed on page that is not a product page. 2026-01-28 08:59:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/portable_electric_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 08:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82793 pages (at 87 pages/min), scraped 43136 items (at 77 items/min) 2026-01-28 09:00:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:00:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/portable_electric_air_compressors landed on page that is not a product page. 2026-01-28 09:00:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights landed on page that is not a product page. 2026-01-28 09:00:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 09:00:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:00:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:00:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks landed on page that is not a product page. 2026-01-28 09:00:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/hand_trucks/general_purpose_hand_trucks landed on page that is not a product page. 2026-01-28 09:00:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/chemical_sorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:00:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:00:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/chemical_sorbents landed on page that is not a product page. 2026-01-28 09:00:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/faucet_parts_aerators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:00:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:00:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/wall_pack_lights landed on page that is not a product page. 2026-01-28 09:00:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:00:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/surveillance_systems/surveillance_video_recorders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82884 pages (at 91 pages/min), scraped 43220 items (at 84 items/min) 2026-01-28 09:00:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/faucet_parts_aerators landed on page that is not a product page. 2026-01-28 09:00:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs landed on page that is not a product page. 2026-01-28 09:01:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/security_access_control/surveillance_systems/surveillance_video_recorders landed on page that is not a product page. 2026-01-28 09:01:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs landed on page that is not a product page. 2026-01-28 09:01:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 09:01:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 09:01:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 09:01:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches/hammer_drills_rotary_hammers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/circular_saws/cordless_circular_saws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/incandescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches/hammer_drills_rotary_hammers landed on page that is not a product page. 2026-01-28 09:01:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/incandescent_light_bulbs landed on page that is not a product page. 2026-01-28 09:01:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/respirator_parts_accessories/respirator_cartridges_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/circular_saws/cordless_circular_saws landed on page that is not a product page. 2026-01-28 09:01:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 09:01:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:01:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/respiratory_protection/respirator_parts_accessories/respirator_cartridges_filters landed on page that is not a product page. 2026-01-28 09:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 82973 pages (at 89 pages/min), scraped 43296 items (at 76 items/min) 2026-01-28 09:01:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/overhead_infrared_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:01:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:02:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 09:02:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 09:02:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware landed on page that is not a product page. 2026-01-28 09:02:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/overhead_infrared_heaters landed on page that is not a product page. 2026-01-28 09:02:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:02:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/incandescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:02:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 09:02:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:02:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/incandescent_light_bulbs landed on page that is not a product page. 2026-01-28 09:02:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:02:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:02:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:02:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/fluorescent_linear_bulbs landed on page that is not a product page. 2026-01-28 09:02:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights landed on page that is not a product page. 2026-01-28 09:02:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83061 pages (at 88 pages/min), scraped 43375 items (at 79 items/min) 2026-01-28 09:02:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:03:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs landed on page that is not a product page. 2026-01-28 09:03:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs landed on page that is not a product page. 2026-01-28 09:03:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_post_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:03:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:03:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:03:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_post_lights landed on page that is not a product page. 2026-01-28 09:03:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 09:03:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-28 09:03:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=made-in-usa-o-1-oil-hardening-drill-rod-30mm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:03:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/adhesive_backed_floor_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:03:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=made-in-usa-o-1-oil-hardening-drill-rod-30mm landed on page that is not a product page. 2026-01-28 09:03:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/adhesive_backed_floor_signs landed on page that is not a product page. 2026-01-28 09:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83158 pages (at 97 pages/min), scraped 43464 items (at 89 items/min) 2026-01-28 09:04:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:04:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/safety_training_materials already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:04:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/gondola_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:04:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/educational_materials_books/safety_training_materials landed on page that is not a product page. 2026-01-28 09:04:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/gondola_shelving landed on page that is not a product page. 2026-01-28 09:04:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps landed on page that is not a product page. 2026-01-28 09:04:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/chair_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:04:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:04:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:04:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/chair_parts_accessories landed on page that is not a product page. 2026-01-28 09:04:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 09:04:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 09:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83244 pages (at 86 pages/min), scraped 43545 items (at 81 items/min) 2026-01-28 09:05:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/wood_drill_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:05:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/replacement_casters_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:05:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/sockets_bits/wood_drill_bits landed on page that is not a product page. 2026-01-28 09:05:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:05:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/replacement_casters_wheels landed on page that is not a product page. 2026-01-28 09:05:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/laboratory_tables landed on page that is not a product page. 2026-01-28 09:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83341 pages (at 97 pages/min), scraped 43638 items (at 93 items/min) 2026-01-28 09:05:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:06:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:06:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:06:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:06:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:06:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap landed on page that is not a product page. 2026-01-28 09:06:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 09:06:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 09:06:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems landed on page that is not a product page. 2026-01-28 09:06:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:06:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 09:06:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/brooms_dust_pans/dusters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:06:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 09:06:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/brooms_dust_pans/dusters landed on page that is not a product page. 2026-01-28 09:06:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/gas_engines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:06:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83428 pages (at 87 pages/min), scraped 43719 items (at 81 items/min) 2026-01-28 09:07:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/gas_engines landed on page that is not a product page. 2026-01-28 09:07:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 09:07:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/industrial_cleaners_degreasers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:07:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:07:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:07:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/industrial_cleaners_degreasers landed on page that is not a product page. 2026-01-28 09:07:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/respiratory_protection/welding_face_masks_respirators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:07:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls landed on page that is not a product page. 2026-01-28 09:07:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/respiratory_protection/welding_face_masks_respirators landed on page that is not a product page. 2026-01-28 09:07:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 09:07:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_beakers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:07:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83520 pages (at 92 pages/min), scraped 43804 items (at 85 items/min) 2026-01-28 09:07:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_beakers landed on page that is not a product page. 2026-01-28 09:07:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/surge_protectors_extension_cords/extension_cords landed on page that is not a product page. 2026-01-28 09:07:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/residential_decorative_lighting/recessed_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/residential_decorative_lighting already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 09:08:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/residential_decorative_lighting landed on page that is not a product page. 2026-01-28 09:08:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/baskets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:08:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/baskets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:08:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/baskets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 09:08:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:08:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/baskets landed on page that is not a product page. 2026-01-28 09:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83607 pages (at 87 pages/min), scraped 43884 items (at 80 items/min) 2026-01-28 09:08:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:08:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/baskets landed on page that is not a product page. 2026-01-28 09:09:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/baskets landed on page that is not a product page. 2026-01-28 09:09:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders landed on page that is not a product page. 2026-01-28 09:09:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 09:09:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:09:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors landed on page that is not a product page. 2026-01-28 09:09:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:09:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/envelopes_mailers/bubble_mailers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:09:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/envelopes_mailers/bubble_mailers landed on page that is not a product page. 2026-01-28 09:09:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:09:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_circulators_water_baths already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_circulators_water_baths landed on page that is not a product page. 2026-01-28 09:09:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:09:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83693 pages (at 86 pages/min), scraped 43957 items (at 73 items/min) 2026-01-28 09:09:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:09:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:09:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:10:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets landed on page that is not a product page. 2026-01-28 09:10:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:10:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:10:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 09:10:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 09:10:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:10:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:10:31 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 09:10:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:10:32 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:44 2026-01-28 09:10:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:10:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 09:10:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/surface_grinding_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83779 pages (at 86 pages/min), scraped 44031 items (at 74 items/min) 2026-01-28 09:10:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:10:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 09:11:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 09:11:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs landed on page that is not a product page. 2026-01-28 09:11:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:11:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:11:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:11:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:11:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels landed on page that is not a product page. 2026-01-28 09:11:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs landed on page that is not a product page. 2026-01-28 09:11:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:11:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:11:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:11:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/general_purpose_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:11:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83869 pages (at 90 pages/min), scraped 44112 items (at 81 items/min) 2026-01-28 09:11:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:11:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:11:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:11:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_chemicals_lubricants/general_purpose_cleaners landed on page that is not a product page. 2026-01-28 09:11:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:12:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:12:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 09:12:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/full_height_storage_cabinets/stationary_storage_cabinets landed on page that is not a product page. 2026-01-28 09:12:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 09:12:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/central_air_heating_equipment/air_handlers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:12:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes landed on page that is not a product page. 2026-01-28 09:12:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:12:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 09:12:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 09:12:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/central_air_heating_equipment/air_handlers landed on page that is not a product page. 2026-01-28 09:12:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:12:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 09:12:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:12:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 09:12:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-28 09:12:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/welding/arc_welding/tig_welding already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:12:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:12:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/welding/arc_welding/tig_welding landed on page that is not a product page. 2026-01-28 09:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 83958 pages (at 89 pages/min), scraped 44190 items (at 78 items/min) 2026-01-28 09:13:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_shelves_rods already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:13:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters landed on page that is not a product page. 2026-01-28 09:13:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/vacuum_attachments_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:13:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/casters_wheels/special_purpose_casters_wheels/cart_truck_replacement_casters_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:13:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_shelves_rods landed on page that is not a product page. 2026-01-28 09:13:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/vacuum_attachments_tools landed on page that is not a product page. 2026-01-28 09:13:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/casters_wheels/special_purpose_casters_wheels/cart_truck_replacement_casters_wheels landed on page that is not a product page. 2026-01-28 09:13:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/drilling_hole_making/metalworking_drill_bits/drill_blanks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:13:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-acu-rite-200s-dro-knee-x-and-y-axis-powerfeeds-690611 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:13:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-acu-rite-200s-dro-quill-x-y-and-z-axis-powerfeeds-690617 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:13:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/drilling_hole_making/metalworking_drill_bits/drill_blanks landed on page that is not a product page. 2026-01-28 09:13:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:13:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-acu-rite-200s-dro-quill-x-y-and-z-axis-powerfeeds-690617 landed on page that is not a product page. 2026-01-28 09:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84049 pages (at 91 pages/min), scraped 44274 items (at 84 items/min) 2026-01-28 09:13:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jet-jtm-1050evs2-230-mill-3-axis-acu-rite-200s-dro-knee-x-and-y-axis-powerfeeds-690611 landed on page that is not a product page. 2026-01-28 09:13:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 09:14:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars landed on page that is not a product page. 2026-01-28 09:14:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance/horns_horn_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/vehicle_battery_accessories/vehicle_battery_boxes_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs landed on page that is not a product page. 2026-01-28 09:14:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 09:14:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/vehicle_battery_accessories/vehicle_battery_boxes_trays landed on page that is not a product page. 2026-01-28 09:14:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips landed on page that is not a product page. 2026-01-28 09:14:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_pipettes_pipettors_syringe_tips landed on page that is not a product page. 2026-01-28 09:14:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/crackers_chips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_repair_maintenance landed on page that is not a product page. 2026-01-28 09:14:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps landed on page that is not a product page. 2026-01-28 09:14:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/crackers_chips landed on page that is not a product page. 2026-01-28 09:14:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/dividers_tabs landed on page that is not a product page. 2026-01-28 09:14:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/address_shipping_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper landed on page that is not a product page. 2026-01-28 09:14:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/flat_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/address_shipping_labels landed on page that is not a product page. 2026-01-28 09:14:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 09:14:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/bags_covers/poly_bags_tubing_sheeting/flat_bags landed on page that is not a product page. 2026-01-28 09:14:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 09:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84130 pages (at 81 pages/min), scraped 44339 items (at 65 items/min) 2026-01-28 09:14:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 09:14:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:14:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 09:15:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 09:15:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:15:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:15:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:15:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chuck_jaws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:15:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks landed on page that is not a product page. 2026-01-28 09:15:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:15:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:15:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/retaining_snap_lock_ring_pliers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:15:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/diagonal_cutting_pliers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:15:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks landed on page that is not a product page. 2026-01-28 09:15:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories landed on page that is not a product page. 2026-01-28 09:15:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories landed on page that is not a product page. 2026-01-28 09:15:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/diagonal_cutting_pliers landed on page that is not a product page. 2026-01-28 09:15:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/retaining_snap_lock_ring_pliers landed on page that is not a product page. 2026-01-28 09:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84221 pages (at 91 pages/min), scraped 44421 items (at 82 items/min) 2026-01-28 09:16:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/shovels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:16:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/shovels landed on page that is not a product page. 2026-01-28 09:16:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/foodservice_carts/beverage_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:16:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/general_purpose_glue already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:16:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/foodservice_carts/beverage_carts landed on page that is not a product page. 2026-01-28 09:16:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/general_purpose_glue landed on page that is not a product page. 2026-01-28 09:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84315 pages (at 94 pages/min), scraped 44512 items (at 91 items/min) 2026-01-28 09:17:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:17:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:17:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 09:17:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 09:17:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/dump_truck_inserts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:17:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/dump_truck_inserts landed on page that is not a product page. 2026-01-28 09:17:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/stack_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:17:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:17:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/stack_racks landed on page that is not a product page. 2026-01-28 09:17:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 09:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84407 pages (at 92 pages/min), scraped 44599 items (at 87 items/min) 2026-01-28 09:17:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:18:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/bins/hang_stack_bins already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:18:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:18:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 09:18:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/bins/hang_stack_bins landed on page that is not a product page. 2026-01-28 09:18:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable landed on page that is not a product page. 2026-01-28 09:18:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:18:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_cups landed on page that is not a product page. 2026-01-28 09:18:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/cabinet_pedestal_workbenches/stationary_cabinet_pedestal_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:18:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/coated_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:18:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/chemical_resistant_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:18:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/coated_gloves landed on page that is not a product page. 2026-01-28 09:18:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/cabinet_pedestal_workbenches/stationary_cabinet_pedestal_workbenches landed on page that is not a product page. 2026-01-28 09:18:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:18:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/gloves_sleeves/chemical_resistant_gloves landed on page that is not a product page. 2026-01-28 09:18:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=ingersoll-rand-295a-impact already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84496 pages (at 89 pages/min), scraped 44681 items (at 82 items/min) 2026-01-28 09:19:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=ingersoll-rand-295a-impact landed on page that is not a product page. 2026-01-28 09:19:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:19:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 09:19:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_alarms landed on page that is not a product page. 2026-01-28 09:19:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:19:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/patio_heaters/gas_patio_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:19:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/striping_marking_paints already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:19:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:19:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:19:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/patio_heaters/gas_patio_heaters landed on page that is not a product page. 2026-01-28 09:19:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/striping_marking_paints landed on page that is not a product page. 2026-01-28 09:19:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:19:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:19:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:19:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84589 pages (at 93 pages/min), scraped 44766 items (at 85 items/min) 2026-01-28 09:20:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 09:20:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:20:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:20:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:20:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 09:20:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:20:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:20:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 09:20:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 09:20:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:20:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:20:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:20:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips landed on page that is not a product page. 2026-01-28 09:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84677 pages (at 88 pages/min), scraped 44847 items (at 81 items/min) 2026-01-28 09:20:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/miter_saws/corded_miter_saws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:20:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories/hitch_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/power_saws_blades/miter_saws/corded_miter_saws landed on page that is not a product page. 2026-01-28 09:21:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training landed on page that is not a product page. 2026-01-28 09:21:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:21:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats landed on page that is not a product page. 2026-01-28 09:21:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/towing_accessories landed on page that is not a product page. 2026-01-28 09:21:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:21:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats landed on page that is not a product page. 2026-01-28 09:21:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:21:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_rolls landed on page that is not a product page. 2026-01-28 09:21:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84762 pages (at 85 pages/min), scraped 44923 items (at 76 items/min) 2026-01-28 09:21:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:21:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_rolls landed on page that is not a product page. 2026-01-28 09:22:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:22:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:22:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/quick_change_sanding_discs landed on page that is not a product page. 2026-01-28 09:22:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:22:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:22:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:22:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:22:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 09:22:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:22:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:22:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:22:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84843 pages (at 81 pages/min), scraped 44991 items (at 68 items/min) 2026-01-28 09:22:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:22:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:23:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:23:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:01 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 09:23:02 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:45 2026-01-28 09:23:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:23:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:23:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 09:23:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:23:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/bathroom_partition_replacement_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/loop_process_calibrators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/bathroom_partition_replacement_hardware landed on page that is not a product page. 2026-01-28 09:23:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:23:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/loop_process_calibrators landed on page that is not a product page. 2026-01-28 09:23:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/splash_guards_shields already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/mobile_automotive_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_storage_bench_protection/splash_guards_shields landed on page that is not a product page. 2026-01-28 09:23:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/workbenches_worktables/automotive_garage_workbenches/mobile_automotive_workbenches landed on page that is not a product page. 2026-01-28 09:23:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 09:23:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 09:23:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 84934 pages (at 91 pages/min), scraped 45069 items (at 78 items/min) 2026-01-28 09:23:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks landed on page that is not a product page. 2026-01-28 09:24:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 09:24:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 09:24:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 09:24:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 09:24:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 09:24:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:24:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:24:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:24:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 09:24:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:24:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 09:24:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:24:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85019 pages (at 85 pages/min), scraped 45141 items (at 72 items/min) 2026-01-28 09:24:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:24:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:24:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:25:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:25:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:25:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 09:25:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 09:25:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:25:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hose_cord_reels/air_water_reels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:25:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:25:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:25:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:25:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:25:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hose_cord_reels/air_water_reels landed on page that is not a product page. 2026-01-28 09:25:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:25:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/stainless_steel_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/stainless_steel_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/stainless_steel_bathroom_partitions landed on page that is not a product page. 2026-01-28 09:25:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/stainless_steel_bathroom_partitions landed on page that is not a product page. 2026-01-28 09:25:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 09:25:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:25:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85096 pages (at 77 pages/min), scraped 45198 items (at 57 items/min) 2026-01-28 09:25:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:25:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:26:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:26:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:26:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:26:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:26:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_dippers_scoops_cups landed on page that is not a product page. 2026-01-28 09:26:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:26:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:26:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:26:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/roof_pipe_heating_cables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:26:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:26:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/roof_pipe_heating_cables landed on page that is not a product page. 2026-01-28 09:26:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:26:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:26:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:26:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:26:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:26:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:26:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:26:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:26:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85184 pages (at 88 pages/min), scraped 45273 items (at 75 items/min) 2026-01-28 09:26:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 09:26:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/dispensers_organizers/cup_lid_organizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:26:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/dispensers_organizers/cup_lid_organizers landed on page that is not a product page. 2026-01-28 09:27:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/bookends already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:27:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/strobe_flashing_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/bookends landed on page that is not a product page. 2026-01-28 09:27:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 09:27:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels landed on page that is not a product page. 2026-01-28 09:27:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 09:27:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 09:27:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/strobe_flashing_lights landed on page that is not a product page. 2026-01-28 09:27:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels landed on page that is not a product page. 2026-01-28 09:27:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/office_packing_tape/strapping_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/office_packing_tape/strapping_tape landed on page that is not a product page. 2026-01-28 09:27:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/oem_replacement_fan_blower_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/art_craft_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:27:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors landed on page that is not a product page. 2026-01-28 09:27:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/oem_replacement_fan_blower_motors landed on page that is not a product page. 2026-01-28 09:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85268 pages (at 84 pages/min), scraped 45345 items (at 72 items/min) 2026-01-28 09:27:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/art_craft_paper landed on page that is not a product page. 2026-01-28 09:27:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/janitorial_cleaning_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:28:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/janitorial_cleaning_carts landed on page that is not a product page. 2026-01-28 09:28:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/boltless_shelving_additional_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:28:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ovens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:28:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ovens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:28:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/boltless_shelving_additional_shelves landed on page that is not a product page. 2026-01-28 09:28:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ovens landed on page that is not a product page. 2026-01-28 09:28:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ovens landed on page that is not a product page. 2026-01-28 09:28:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:28:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:28:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/water_filtration/replacement_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:28:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 09:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85356 pages (at 88 pages/min), scraped 45427 items (at 82 items/min) 2026-01-28 09:28:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 09:29:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/water_filtration/replacement_cartridges landed on page that is not a product page. 2026-01-28 09:29:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/water_filtration/filter_housings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/water_filtration/filter_housings landed on page that is not a product page. 2026-01-28 09:29:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/push_pins already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lock_lockout_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 09:29:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/push_pins landed on page that is not a product page. 2026-01-28 09:29:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lock_lockout_accessories landed on page that is not a product page. 2026-01-28 09:29:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_devices landed on page that is not a product page. 2026-01-28 09:29:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels landed on page that is not a product page. 2026-01-28 09:29:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/coffee landed on page that is not a product page. 2026-01-28 09:29:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/flashlights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/hearing_protection/earmuffs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/bathroom_partition_replacement_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/running_marker_light_assemblies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers landed on page that is not a product page. 2026-01-28 09:29:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/flashlights landed on page that is not a product page. 2026-01-28 09:29:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/bathroom_partition_replacement_hardware landed on page that is not a product page. 2026-01-28 09:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85443 pages (at 87 pages/min), scraped 45502 items (at 75 items/min) 2026-01-28 09:29:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radios already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:29:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/hearing_protection/earmuffs landed on page that is not a product page. 2026-01-28 09:29:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/running_marker_light_assemblies landed on page that is not a product page. 2026-01-28 09:30:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radios landed on page that is not a product page. 2026-01-28 09:30:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:30:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers landed on page that is not a product page. 2026-01-28 09:30:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers landed on page that is not a product page. 2026-01-28 09:30:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:30:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:30:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:30:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns landed on page that is not a product page. 2026-01-28 09:30:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories landed on page that is not a product page. 2026-01-28 09:30:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/cubicle_partition_panels landed on page that is not a product page. 2026-01-28 09:30:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/undercounter_refrigerators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:30:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/water_filtration/replacement_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:30:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85533 pages (at 90 pages/min), scraped 45584 items (at 82 items/min) 2026-01-28 09:30:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/undercounter_refrigerators landed on page that is not a product page. 2026-01-28 09:31:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/water_filtration/replacement_cartridges landed on page that is not a product page. 2026-01-28 09:31:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:31:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ranges/gas_electric_ranges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:31:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:31:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks landed on page that is not a product page. 2026-01-28 09:31:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:31:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 09:31:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ranges/gas_electric_ranges landed on page that is not a product page. 2026-01-28 09:31:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 09:31:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 09:31:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:31:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:31:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 09:31:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 09:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85626 pages (at 93 pages/min), scraped 45668 items (at 84 items/min) 2026-01-28 09:32:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 09:32:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/notebooks_pads landed on page that is not a product page. 2026-01-28 09:32:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-2-w-3x-203-knee-x-pwrfd already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 09:32:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 09:32:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 09:32:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-2-w-3x-203-knee-x-pwrfd landed on page that is not a product page. 2026-01-28 09:32:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 09:32:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 09:32:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/cash_register_pos_rolls landed on page that is not a product page. 2026-01-28 09:32:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/dock_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/mattresses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/heavy_duty_floor_jacks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/temporary_pavement_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamp_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/dock_lights landed on page that is not a product page. 2026-01-28 09:32:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/automotive_shop_equipment/vehicle_lifts_jacks/heavy_duty_floor_jacks landed on page that is not a product page. 2026-01-28 09:32:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/mattresses landed on page that is not a product page. 2026-01-28 09:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85705 pages (at 79 pages/min), scraped 45735 items (at 67 items/min) 2026-01-28 09:32:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:32:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/temporary_pavement_markers landed on page that is not a product page. 2026-01-28 09:32:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplaces_log_sets_fireboxes landed on page that is not a product page. 2026-01-28 09:33:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamp_pads landed on page that is not a product page. 2026-01-28 09:33:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils landed on page that is not a product page. 2026-01-28 09:33:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/flashlights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/flashlights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens landed on page that is not a product page. 2026-01-28 09:33:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 09:33:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/flashlights landed on page that is not a product page. 2026-01-28 09:33:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs landed on page that is not a product page. 2026-01-28 09:33:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/flashlights landed on page that is not a product page. 2026-01-28 09:33:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 09:33:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 09:33:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils landed on page that is not a product page. 2026-01-28 09:33:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens landed on page that is not a product page. 2026-01-28 09:33:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/organizers_caddies/small_parts_organizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:33:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs landed on page that is not a product page. 2026-01-28 09:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85794 pages (at 89 pages/min), scraped 45809 items (at 74 items/min) 2026-01-28 09:33:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/organizers_caddies/small_parts_organizers landed on page that is not a product page. 2026-01-28 09:34:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/lifting_attachments already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:34:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:34:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:34:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories landed on page that is not a product page. 2026-01-28 09:34:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 09:34:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:34:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:34:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_cabinets_pedestals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:34:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:34:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:34:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs landed on page that is not a product page. 2026-01-28 09:34:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:34:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_cabinets_pedestals landed on page that is not a product page. 2026-01-28 09:34:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bridges_returns landed on page that is not a product page. 2026-01-28 09:34:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs landed on page that is not a product page. 2026-01-28 09:34:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs landed on page that is not a product page. 2026-01-28 09:34:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs landed on page that is not a product page. 2026-01-28 09:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85887 pages (at 93 pages/min), scraped 45894 items (at 85 items/min) 2026-01-28 09:35:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:35:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:35:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:35:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys landed on page that is not a product page. 2026-01-28 09:35:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports landed on page that is not a product page. 2026-01-28 09:35:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights landed on page that is not a product page. 2026-01-28 09:35:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/chair_table_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:35:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:35:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:35:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:35:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/chair_table_carts landed on page that is not a product page. 2026-01-28 09:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 85978 pages (at 91 pages/min), scraped 45980 items (at 86 items/min) 2026-01-28 09:35:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:36:07 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 09:36:08 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:46 2026-01-28 09:36:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_shelves_rods already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_shelves_rods landed on page that is not a product page. 2026-01-28 09:36:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 09:36:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock landed on page that is not a product page. 2026-01-28 09:36:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 09:36:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:36:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:36:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock landed on page that is not a product page. 2026-01-28 09:36:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers landed on page that is not a product page. 2026-01-28 09:36:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 09:36:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:36:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86069 pages (at 91 pages/min), scraped 46060 items (at 80 items/min) 2026-01-28 09:37:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 09:37:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:37:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:37:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders landed on page that is not a product page. 2026-01-28 09:37:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/snow_blowers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 09:37:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/snow_ice_removal/snow_blowers landed on page that is not a product page. 2026-01-28 09:37:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:37:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock landed on page that is not a product page. 2026-01-28 09:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86152 pages (at 83 pages/min), scraped 46135 items (at 75 items/min) 2026-01-28 09:37:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/countertop_displays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:37:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear landed on page that is not a product page. 2026-01-28 09:37:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:37:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands landed on page that is not a product page. 2026-01-28 09:38:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/displays_display_racks/countertop_displays landed on page that is not a product page. 2026-01-28 09:38:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:38:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/project_display_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/exhaust_fan_accessories/dampers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/boards_easels/project_display_boards landed on page that is not a product page. 2026-01-28 09:38:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/exhaust_fan_accessories/dampers landed on page that is not a product page. 2026-01-28 09:38:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:38:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 09:38:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:38:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:38:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:38:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:38:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear landed on page that is not a product page. 2026-01-28 09:38:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 09:38:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 09:38:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86235 pages (at 83 pages/min), scraped 46202 items (at 67 items/min) 2026-01-28 09:39:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/access_doors_panels/drywall_access_doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/vehicle_flood_utility_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 09:39:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/vehicle_flood_utility_lights landed on page that is not a product page. 2026-01-28 09:39:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/access_doors_panels/drywall_access_doors landed on page that is not a product page. 2026-01-28 09:39:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-newall-dp700-3x-k-dro-x-y-powerfeeds-air-power-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-acu-rite-203-3x-q-dro-x-y-z-powerfeeds-air-power-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-newall-dp700-3x-k-dro-x-y-powerfeeds-air-power-drawbar landed on page that is not a product page. 2026-01-28 09:39:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-acu-rite-203-3x-q-dro-x-y-z-powerfeeds-air-power-drawbar landed on page that is not a product page. 2026-01-28 09:39:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-acu-rite-203-dro-x-y-z-powerfeeds-air-power-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1254vs-with-acu-rite-203-dro-x-y-z-powerfeeds-air-power-drawbar landed on page that is not a product page. 2026-01-28 09:39:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-2-axis-newall-dp700-dro-and-x-axis-jet-powerfeed already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=egh-1740-with-acu-rite-203-dro-with-taper-attachment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=etm-949-mill-3-axis-newall-dp700-quill-dro-x-axis-jet-powerfeed-usa-pwrd-draw-bar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=egh-1740-with-taper-attachment-and-collet-closer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=egh-1740-with-acu-rite-203-dro-with-taper-attachment landed on page that is not a product page. 2026-01-28 09:39:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-2-axis-newall-dp700-dro-and-x-axis-jet-powerfeed landed on page that is not a product page. 2026-01-28 09:39:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-2-axis-acu-rite-303-dro already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sandblasting_tumblers/blast_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86322 pages (at 87 pages/min), scraped 46280 items (at 78 items/min) 2026-01-28 09:39:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=etm-949-mill-3-axis-newall-dp700-quill-dro-x-axis-jet-powerfeed-usa-pwrd-draw-bar landed on page that is not a product page. 2026-01-28 09:40:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=egh-1740-with-taper-attachment-and-collet-closer landed on page that is not a product page. 2026-01-28 09:40:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=etm-949-mill-with-2-axis-acu-rite-303-dro landed on page that is not a product page. 2026-01-28 09:40:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/sandblasting_tumblers/blast_cabinets landed on page that is not a product page. 2026-01-28 09:40:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:40:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:40:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-3-axis-newall-dp700-knee-dro-and-x-y-axis-jet-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:40:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/artificial_plants already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:40:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs landed on page that is not a product page. 2026-01-28 09:40:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=evs-949-mill-with-3-axis-newall-dp700-knee-dro-and-x-y-axis-jet-powerfeeds landed on page that is not a product page. 2026-01-28 09:40:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/laboratory_tables landed on page that is not a product page. 2026-01-28 09:40:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/decor_linens/artificial_plants landed on page that is not a product page. 2026-01-28 09:40:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/forklifts_attachments/forklift_forks_extensions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:40:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:40:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/forklifts_attachments/forklift_forks_extensions landed on page that is not a product page. 2026-01-28 09:40:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders landed on page that is not a product page. 2026-01-28 09:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86414 pages (at 92 pages/min), scraped 46363 items (at 83 items/min) 2026-01-28 09:40:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:40:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:40:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/power_meters_analyzers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:41:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:41:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories landed on page that is not a product page. 2026-01-28 09:41:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/electrical_power_testing_parts_accessories landed on page that is not a product page. 2026-01-28 09:41:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/power_meters_analyzers landed on page that is not a product page. 2026-01-28 09:41:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:41:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/bulk_storage_lockers landed on page that is not a product page. 2026-01-28 09:41:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:41:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:41:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 09:41:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 09:41:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls landed on page that is not a product page. 2026-01-28 09:41:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_purifiers/ultraviolet_air_purifiers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:41:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_purifiers/ultraviolet_air_purifiers landed on page that is not a product page. 2026-01-28 09:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86505 pages (at 91 pages/min), scraped 46446 items (at 83 items/min) 2026-01-28 09:42:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/direct_drive_fan_blower_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:42:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/hvac_electric_motors/direct_drive_fan_blower_motors landed on page that is not a product page. 2026-01-28 09:42:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/pest_control/bug_zappers_traps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:42:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/bathroom_partition_replacement_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86599 pages (at 94 pages/min), scraped 46539 items (at 93 items/min) 2026-01-28 09:42:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/pest_control/bug_zappers_traps landed on page that is not a product page. 2026-01-28 09:42:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/bathroom_partition_replacement_hardware landed on page that is not a product page. 2026-01-28 09:43:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-dj2c2p18m-2-hp-1-phase-1730-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t2c2p18-2-hp-1-phase-1740-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t2c2p21z-2-hp-1-phase-1740-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t3c1p18-3-hp-1-phase-3500-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-dj2c2p18m-2-hp-1-phase-1730-rpm landed on page that is not a product page. 2026-01-28 09:43:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t1cm2jcr-1-hp-1-phase-1725-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-t2c2p18-2-hp-1-phase-1740-rpm landed on page that is not a product page. 2026-01-28 09:43:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-t2c2p21z-2-hp-1-phase-1740-rpm landed on page that is not a product page. 2026-01-28 09:43:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/led_troffers_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-t3c1p18-3-hp-1-phase-3500-rpm landed on page that is not a product page. 2026-01-28 09:43:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-t1cm2jcr-1-hp-1-phase-1725-rpm landed on page that is not a product page. 2026-01-28 09:43:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-ee612-2-hp-3-phase-3510-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/led_troffers_panels landed on page that is not a product page. 2026-01-28 09:43:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-ee612-2-hp-3-phase-3510-rpm landed on page that is not a product page. 2026-01-28 09:43:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-yc10p1b-10-hp-3-phase-3500-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 09:43:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 09:43:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-6603-3-4-hp-1-phase-1075-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-3275-3-4-hp-1-phase-1075-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-yc10p1b-10-hp-3-phase-3500-rpm landed on page that is not a product page. 2026-01-28 09:43:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-7041-1-2-hp-1-phase-825-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:43:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-6603-3-4-hp-1-phase-1075-rpm landed on page that is not a product page. 2026-01-28 09:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86683 pages (at 84 pages/min), scraped 46610 items (at 71 items/min) 2026-01-28 09:44:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-7041-1-2-hp-1-phase-825-rpm landed on page that is not a product page. 2026-01-28 09:44:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-3275-3-4-hp-1-phase-1075-rpm landed on page that is not a product page. 2026-01-28 09:44:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/strapping_supplies/strapping_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/outdoor_structures_storage/gazebos_pavilions_pergolas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/adirondack_lounger_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_cleaner_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/adirondack_lounger_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86771 pages (at 88 pages/min), scraped 46696 items (at 86 items/min) 2026-01-28 09:44:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/strapping_supplies/strapping_kits landed on page that is not a product page. 2026-01-28 09:44:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs landed on page that is not a product page. 2026-01-28 09:44:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/outdoor_structures_storage/gazebos_pavilions_pergolas landed on page that is not a product page. 2026-01-28 09:44:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:44:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/adirondack_lounger_chairs landed on page that is not a product page. 2026-01-28 09:44:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/floor_cleaner_filters landed on page that is not a product page. 2026-01-28 09:45:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/adirondack_lounger_chairs landed on page that is not a product page. 2026-01-28 09:45:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/scales/portion_price_computing_scales already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 09:45:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 09:45:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 09:45:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 09:45:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 09:45:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 09:45:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 09:45:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 09:45:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/scales/portion_price_computing_scales landed on page that is not a product page. 2026-01-28 09:45:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 09:45:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 09:45:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 09:45:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/takeout_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_utensils landed on page that is not a product page. 2026-01-28 09:45:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/takeout_containers landed on page that is not a product page. 2026-01-28 09:45:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/walkers_rollators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/testing_kits_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86847 pages (at 76 pages/min), scraped 46752 items (at 56 items/min) 2026-01-28 09:46:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/walkers_rollators landed on page that is not a product page. 2026-01-28 09:46:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/testing_kits_supplies landed on page that is not a product page. 2026-01-28 09:46:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:46:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/lounge_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:46:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/exercise_weights_weight_training landed on page that is not a product page. 2026-01-28 09:46:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/lounge_chairs landed on page that is not a product page. 2026-01-28 09:46:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/air_conditioner_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:46:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/air_conditioner_accessories landed on page that is not a product page. 2026-01-28 09:46:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=protective-hat-fas-trac-iii-suspension-natural-tan already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:46:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_laboratory_refrigeration/medical_freezers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:46:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/impact_wrenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 86940 pages (at 93 pages/min), scraped 46839 items (at 87 items/min) 2026-01-28 09:46:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=protective-hat-fas-trac-iii-suspension-natural-tan landed on page that is not a product page. 2026-01-28 09:46:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_laboratory_cold_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:47:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/air_tools_accessories/impact_wrenches landed on page that is not a product page. 2026-01-28 09:47:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_laboratory_cold_storage landed on page that is not a product page. 2026-01-28 09:47:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:47:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:47:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_filters landed on page that is not a product page. 2026-01-28 09:47:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/lift_tables_work_positioners/stationary_lift_tables landed on page that is not a product page. 2026-01-28 09:47:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/vital_signs_monitors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:47:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=conduit-carrier-caps-fits-2-x-1-cross-bars-6-tube-not-included-aluminum-6-silver already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:47:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=conduit-carrier-caps-fits-2-x-1-cross-bars-6-tube-not-included-aluminum-6-silver landed on page that is not a product page. 2026-01-28 09:47:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/vital_signs_monitors landed on page that is not a product page. 2026-01-28 09:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87029 pages (at 89 pages/min), scraped 46922 items (at 83 items/min) 2026-01-28 09:47:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:47:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:47:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 09:48:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners landed on page that is not a product page. 2026-01-28 09:48:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 09:48:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 09:48:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:48:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:48:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:48:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:48:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:48:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 09:48:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:48:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:48:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:48:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 09:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87118 pages (at 89 pages/min), scraped 46998 items (at 76 items/min) 2026-01-28 09:48:57 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 09:48:58 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:47 2026-01-28 09:48:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:49:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:49:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:49:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-28 09:49:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:49:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-28 09:49:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-28 09:49:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:49:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers landed on page that is not a product page. 2026-01-28 09:49:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:49:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:49:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers landed on page that is not a product page. 2026-01-28 09:49:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors landed on page that is not a product page. 2026-01-28 09:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87203 pages (at 85 pages/min), scraped 47070 items (at 72 items/min) 2026-01-28 09:49:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:49:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:49:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:50:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors landed on page that is not a product page. 2026-01-28 09:50:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:50:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:50:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:50:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 09:50:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/specialty_coatings_paint already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:50:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:50:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/specialty_coatings_paint landed on page that is not a product page. 2026-01-28 09:50:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/dry_erase_whiteboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87292 pages (at 89 pages/min), scraped 47153 items (at 83 items/min) 2026-01-28 09:50:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 09:50:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/boards_easels/dry_erase_whiteboards landed on page that is not a product page. 2026-01-28 09:51:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/exhaust_fan_accessories/louvers_vents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:51:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/exhaust_fan_accessories/louvers_vents landed on page that is not a product page. 2026-01-28 09:51:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/humidifiers_dehumidifiers/dehumidifiers_desiccators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:51:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/brushes_sponges_squeegees/squeegees already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:51:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/humidifiers_dehumidifiers/dehumidifiers_desiccators landed on page that is not a product page. 2026-01-28 09:51:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/brushes_sponges_squeegees/squeegees landed on page that is not a product page. 2026-01-28 09:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87390 pages (at 98 pages/min), scraped 47246 items (at 93 items/min) 2026-01-28 09:52:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:52:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:52:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:52:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:52:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:52:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:52:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:52:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:52:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/drill_presses_tapping_machinery already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:52:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:52:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:52:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 09:52:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:52:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/drill_presses_tapping_machinery landed on page that is not a product page. 2026-01-28 09:52:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:52:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories landed on page that is not a product page. 2026-01-28 09:52:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:52:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:52:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:52:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/step_ladders landed on page that is not a product page. 2026-01-28 09:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87479 pages (at 89 pages/min), scraped 47325 items (at 79 items/min) 2026-01-28 09:53:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:53:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:53:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas landed on page that is not a product page. 2026-01-28 09:53:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders landed on page that is not a product page. 2026-01-28 09:53:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:53:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:53:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 09:53:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:53:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 09:53:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 09:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87572 pages (at 93 pages/min), scraped 47413 items (at 88 items/min) 2026-01-28 09:54:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:54:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 09:54:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/stationery already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:54:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:54:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/stationery landed on page that is not a product page. 2026-01-28 09:54:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/copy_printer_paper landed on page that is not a product page. 2026-01-28 09:54:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/retail_signs_sign_holders/sign_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:54:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/retail_signs_sign_holders/sign_holders landed on page that is not a product page. 2026-01-28 09:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87666 pages (at 94 pages/min), scraped 47503 items (at 90 items/min) 2026-01-28 09:54:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1050-mill3-axis-acu-rite-200s-dro-x-y-axis-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:55:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1050-mill3-axis-acu-rite-200s-dro-x-y-axis-powerfeeds landed on page that is not a product page. 2026-01-28 09:55:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/mounted_ladders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:55:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/ladders_personnel_lifts/mounted_ladders landed on page that is not a product page. 2026-01-28 09:55:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:55:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:55:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:55:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:55:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:55:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:55:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:55:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves landed on page that is not a product page. 2026-01-28 09:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87760 pages (at 94 pages/min), scraped 47590 items (at 87 items/min) 2026-01-28 09:55:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/punches_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:56:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/punches_1 landed on page that is not a product page. 2026-01-28 09:56:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:56:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/clips_fasteners/rubber_bands landed on page that is not a product page. 2026-01-28 09:56:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=single-row-cylindrical-roller-bearing-nu326myc3-130mm-bore-280mm-od already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:56:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:56:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/pneumatic_valves/directional_control_valves landed on page that is not a product page. 2026-01-28 09:56:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:56:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=single-row-cylindrical-roller-bearing-nu326myc3-130mm-bore-280mm-od landed on page that is not a product page. 2026-01-28 09:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87854 pages (at 94 pages/min), scraped 47680 items (at 90 items/min) 2026-01-28 09:57:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories landed on page that is not a product page. 2026-01-28 09:57:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/ada_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:57:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/ada_pads landed on page that is not a product page. 2026-01-28 09:57:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:57:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamps landed on page that is not a product page. 2026-01-28 09:57:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:57:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 09:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 87946 pages (at 92 pages/min), scraped 47769 items (at 89 items/min) 2026-01-28 09:58:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:58:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-28 09:58:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:58:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/laboratory_tables landed on page that is not a product page. 2026-01-28 09:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88048 pages (at 102 pages/min), scraped 47869 items (at 100 items/min) 2026-01-28 09:59:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:59:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_hvac_blades_wheels/single_double_inlet_blower_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:59:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:59:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:59:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 09:59:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/replacement_hvac_blades_wheels/single_double_inlet_blower_wheels landed on page that is not a product page. 2026-01-28 09:59:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:59:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:59:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:59:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 09:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88140 pages (at 92 pages/min), scraped 47956 items (at 87 items/min) 2026-01-28 10:00:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/electrical_boxes_enclosures_raceways/electrical_boxes/electrical_floor_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/reach_in_refrigerators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/reach_in_refrigerators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/medical_chart_file_holders landed on page that is not a product page. 2026-01-28 10:00:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/electrical_boxes_enclosures_raceways/electrical_boxes/electrical_floor_boxes landed on page that is not a product page. 2026-01-28 10:00:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:26 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 10:00:27 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:48 2026-01-28 10:00:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/reach_in_refrigerators landed on page that is not a product page. 2026-01-28 10:00:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/reach_in_refrigerators landed on page that is not a product page. 2026-01-28 10:00:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/floor_machine_hardware_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/floor_machine_hardware_parts landed on page that is not a product page. 2026-01-28 10:00:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels landed on page that is not a product page. 2026-01-28 10:00:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels landed on page that is not a product page. 2026-01-28 10:00:49 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges landed on page that is not a product page. 2026-01-28 10:00:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplace_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges landed on page that is not a product page. 2026-01-28 10:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88225 pages (at 85 pages/min), scraped 48032 items (at 76 items/min) 2026-01-28 10:00:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:00:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/stoves_fireplaces_log_sets_fire_pits/fireplace_accessories landed on page that is not a product page. 2026-01-28 10:01:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:01:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/footwear_accessories landed on page that is not a product page. 2026-01-28 10:01:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/electric_unit_heaters landed on page that is not a product page. 2026-01-28 10:01:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:01:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerator_freezer_combos/undercounter_refrigerator_freezer_combos landed on page that is not a product page. 2026-01-28 10:01:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_pumps/sewage_pumps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:01:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_pumps/sewage_pumps landed on page that is not a product page. 2026-01-28 10:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88316 pages (at 91 pages/min), scraped 48118 items (at 86 items/min) 2026-01-28 10:02:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/computer_locks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:02:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/evaporative_cooler_accessories/media_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:02:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/computer_locks landed on page that is not a product page. 2026-01-28 10:02:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/evaporative_cooler_accessories/media_pads landed on page that is not a product page. 2026-01-28 10:02:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:02:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:02:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 10:02:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks landed on page that is not a product page. 2026-01-28 10:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88413 pages (at 97 pages/min), scraped 48211 items (at 93 items/min) 2026-01-28 10:02:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fuel_safety_cans/gas_fuel_cans_caddies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:03:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/fuel_safety_cans/gas_fuel_cans_caddies landed on page that is not a product page. 2026-01-28 10:03:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/whiteboard_bulletin_board_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:03:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/boards_easels/whiteboard_bulletin_board_accessories landed on page that is not a product page. 2026-01-28 10:03:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/drinking_fountain_cooler_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:03:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/drinking_fountain_cooler_filters landed on page that is not a product page. 2026-01-28 10:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88506 pages (at 93 pages/min), scraped 48301 items (at 90 items/min) 2026-01-28 10:04:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/hydraulics/hydraulic_hoses_fittings/hydraulic_hose_assemblies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:04:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/storage_panels/tool_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:04:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/webcams already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:04:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/hydraulics/hydraulic_hoses_fittings/hydraulic_hose_assemblies landed on page that is not a product page. 2026-01-28 10:04:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/storage_panels/tool_storage_racks landed on page that is not a product page. 2026-01-28 10:04:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/webcams landed on page that is not a product page. 2026-01-28 10:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88601 pages (at 95 pages/min), scraped 48393 items (at 92 items/min) 2026-01-28 10:04:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/modular_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/modular_mats landed on page that is not a product page. 2026-01-28 10:05:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 10:05:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 10:05:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/stretch_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 10:05:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 10:05:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 10:05:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 10:05:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 10:05:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/stretch_wrap landed on page that is not a product page. 2026-01-28 10:05:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 10:05:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/document_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 10:05:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/document_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 10:05:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 10:05:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/mouse_pads_wrist_rests already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands landed on page that is not a product page. 2026-01-28 10:05:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/workbench_drawers_cabinets_pedestals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/workbench_tool_balancers_holders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands landed on page that is not a product page. 2026-01-28 10:05:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:05:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:05:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/document_holders landed on page that is not a product page. 2026-01-28 10:05:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/mouse_pads_wrist_rests landed on page that is not a product page. 2026-01-28 10:05:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 10:05:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/workbench_drawers_cabinets_pedestals landed on page that is not a product page. 2026-01-28 10:05:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/document_holders landed on page that is not a product page. 2026-01-28 10:05:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/work-benches/bench_tops_accessories/workbench_tool_balancers_holders landed on page that is not a product page. 2026-01-28 10:05:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:05:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88666 pages (at 65 pages/min), scraped 48433 items (at 40 items/min) 2026-01-28 10:05:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:05:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:05:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:05:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:05:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/classroom_decorations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-52w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-user-kit-for-single-display>: HTTP status code is not handled or not allowed 2026-01-28 10:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-56w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:06:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/decor_linens/classroom_decorations>: HTTP status code is not handled or not allowed 2026-01-28 10:06:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-tank-w-55ag-w-series-55-gal>: HTTP status code is not handled or not allowed 2026-01-28 10:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-framed-stool-w-round-hardboard-seat-18-h>: HTTP status code is not handled or not allowed 2026-01-28 10:06:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-tank-w-75b-auto-w-ser-75-gal>: HTTP status code is not handled or not allowed 2026-01-28 10:06:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-step-3-step-ms-22b-22>: HTTP status code is not handled or not allowed 2026-01-28 10:06:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-ghs204ap-compressed-air-ghs-label-vinyl-2-x-2-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:06:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-36w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-ghs2072al2-dangerous-for-environment-ghs-label-paper-2-x-2-250-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-watt-generator-diesel-engine-recoil-electric-start-50-state>: HTTP status code is not handled or not allowed 2026-01-28 10:06:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedge-locking-washer-carbon-steel-zinc-flake-coated-m6-pkg-of-20>: HTTP status code is not handled or not allowed 2026-01-28 10:06:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 10:06:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 10:06:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 10:06:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dgi-dwl-680pro-waterproof-heavy-duty-digital-level>: HTTP status code is not handled or not allowed 2026-01-28 10:06:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_service_tools_parts/refrigerant_leak_gas_detectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inf-vortex-ac-refrigerant-recovery-machine-714-202-g1>: HTTP status code is not handled or not allowed 2026-01-28 10:06:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 10:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-44w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19770-hamburger-turner-high-carbon-steel-4-l-x-3-w>: HTTP status code is not handled or not allowed 2026-01-28 10:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 10:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24073-cimeter-steak-knife-high-carbon-steel-stamped-white-handle-10-l>: HTTP status code is not handled or not allowed 2026-01-28 10:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/competitor-ventilated-three-tier-locker-2-wide-12w-x-15d-x-24h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 10:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 10:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-38w-x-34l-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-28w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:06:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/hvac_service_tools_parts/refrigerant_leak_gas_detectors>: HTTP status code is not handled or not allowed 2026-01-28 10:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88746 pages (at 80 pages/min), scraped 48469 items (at 36 items/min) 2026-01-28 10:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 10:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xlerator-174-hand-dryer-graphite-208-277v-xl-gr-208-277>: HTTP status code is not handled or not allowed 2026-01-28 10:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-wall-protector-yellow-10-w-x-42-l-x-2-d-set-of-2-1728>: HTTP status code is not handled or not allowed 2026-01-28 10:06:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-32w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jd-es-shutter-fan-20-inch-115v-1-3hp-1ph-variable-speed-aluminum-shutters-10ft-cord>: HTTP status code is not handled or not allowed 2026-01-28 10:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shd-102-spring-hangers-3-l-x-2-1-4-w-x-5-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 10:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-32w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-compartment-hanging-garment-dispenser-locker-silver-vein-w-combo-locks>: HTTP status code is not handled or not allowed 2026-01-28 10:07:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 10:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b140k-v-belt-kevlar-5-8-x-143>: HTTP status code is not handled or not allowed 2026-01-28 10:07:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compression-weatherstrip-w-wood-stop-door-jamb-kit-87981-white-36-inch-x-84-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:07:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-ripstop-cargo-pants-28w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sheet-cloverleaf-57042-36-inchl-x-24-inchw-x-02-inchh-silver>: HTTP status code is not handled or not allowed 2026-01-28 10:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sheet-union-jack-57141-36-inchl-x-24-inchw-x-02-inchh-albras>: HTTP status code is not handled or not allowed 2026-01-28 10:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wpb100h-oil-only-pads-15-w-x-19-l-100-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:07:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wb810sn-oil-only-sock-net-boom-8-w-x-120-l-4-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinsser-bulls-eye-water-base-primer-sealer-white-5-gallon-pail-2240>: HTTP status code is not handled or not allowed 2026-01-28 10:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-48w-x-unhemmed-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-38w-x-36l-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl4091-plus-barrier-set-15-yellow-black-diagonal-stripe-banner>: HTTP status code is not handled or not allowed 2026-01-28 10:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-54-inch-w-x-24-inch-d-x-86-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 10:07:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 10:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-44w-x-unhemmed-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-72-inch-w-x-14-inch-d-x-74-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 10:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-24-inch-w-x-18-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 10:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/assy-es-s4242-ramp-trim-kit-fits-42-x-42-mat>: HTTP status code is not handled or not allowed 2026-01-28 10:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-58w-x-30l-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-duct-kit-ck-24s-for-kpac2421-2>: HTTP status code is not handled or not allowed 2026-01-28 10:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-40w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-52w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 10:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-decorative-gloss-enamel-12-oz-aerosol-can-daffodil-792716>: HTTP status code is not handled or not allowed 2026-01-28 10:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-32w-x-unhemmed-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-anti-rust-enamel-gloss-finish-bright-red-quart-176831>: HTTP status code is not handled or not allowed 2026-01-28 10:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-remote-start-start-stop-100-250v-1-7-2-3a>: HTTP status code is not handled or not allowed 2026-01-28 10:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-54w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-48w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:07:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-remote-start-reset-button-250-500v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 10:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gpm-exterior-masonry-primer-sealer-5-gallon-895748>: HTTP status code is not handled or not allowed 2026-01-28 10:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-reset-button-24-60v-2-3-3-1a>: HTTP status code is not handled or not allowed 2026-01-28 10:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-evaporative-cooler-wc-1hpmfaosc-1hp-w-mf-aso-oscillating-115v-3020-cfm>: HTTP status code is not handled or not allowed 2026-01-28 10:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-plastic-shelf-bin-6-5-8w-x-11-5-8d-x-8h-clear>: HTTP status code is not handled or not allowed 2026-01-28 10:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18w-x-36d-x-75h-with-21-8h-plastic-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manitowoc-ice-ur-0140-neo-undercounter-ice-maker-cube-style-air-cooled-self-contained-condenser>: HTTP status code is not handled or not allowed 2026-01-28 10:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx-220tsii-portable-display-calculator-12-digit-lcd>: HTTP status code is not handled or not allowed 2026-01-28 10:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-separate-coil-voltage-reset-button-100-250v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 10:07:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-plastic-box-truck-4-bushel-red-272506-5-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-remote-start-start-stop-24-60v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 10:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerant-tank-rack-3-50-lbs-9862-3-01>: HTTP status code is not handled or not allowed 2026-01-28 10:07:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-reset-button-24-60v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 10:07:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_storage_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-fastener-hfef36-stalguardcoated-steel-anticorrosive-36pk>: HTTP status code is not handled or not allowed 2026-01-28 10:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-direct-online-start-stop-250-500v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 10:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-reset-button-24-60v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 10:07:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer landed on page that is not a product page. 2026-01-28 10:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-separate-coil-voltage-reset-button-250-500v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 10:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving>: HTTP status code is not handled or not allowed 2026-01-28 10:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ace-flyer-teeter-totter-earthtone>: HTTP status code is not handled or not allowed 2026-01-28 10:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88834 pages (at 88 pages/min), scraped 48499 items (at 30 items/min) 2026-01-28 10:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/attached-lid-shipping-container-27-3-16-x-16-5-8-x-12-1-2-red-with-dolly-combo>: HTTP status code is not handled or not allowed 2026-01-28 10:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_cabinets_drawers>: HTTP status code is not handled or not allowed 2026-01-28 10:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/201057-button-socket-cap-screw-10-24-x-1-2-steel-black-oxide-ft-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_storage_kits>: HTTP status code is not handled or not allowed 2026-01-28 10:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6210-2rs-2-rubber-seals-medium-duty-50mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 10:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-direct-online-reset-button-250-500v-13-16a>: HTTP status code is not handled or not allowed 2026-01-28 10:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-direct-online-reset-button-100-250v-16-20a>: HTTP status code is not handled or not allowed 2026-01-28 10:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-remote-start-reset-button-24-60v-20-24a>: HTTP status code is not handled or not allowed 2026-01-28 10:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/763042-finished-hex-nut-1-2-13-316-stainless-steel-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/305178-nylon-insert-lock-nut-1-4-28-low-carbon-steel-zinc-unf-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-remote-start-start-stop-24-60v-29-35a>: HTTP status code is not handled or not allowed 2026-01-28 10:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e7c-ss-extension-spring-25-od-x-0286-wire-dia-x-1-oal-453-lbs-in-302-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d383p-osha-sign-danger-confined-space-do-not-enter-7-x-10-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 10:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s93r-see-sign-biohazard-authorized-personnel-only-7-x-7-orangeblack>: HTTP status code is not handled or not allowed 2026-01-28 10:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v31c-extension-spring-018-od-x-0023-wire-dia-x-6-oal-039-lbs-in-mbhd>: HTTP status code is not handled or not allowed 2026-01-28 10:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dl2ap-dot-shipping-labels-flammable-gas-2-4-x-4-whitered-25-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-remote-start-reset-button-100-250v-22-28a>: HTTP status code is not handled or not allowed 2026-01-28 10:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jl22003o-voltage-marker-120-volts-1-18-x-4-12-orangeblack>: HTTP status code is not handled or not allowed 2026-01-28 10:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m249r-sign-first-aid-7-x-10-whitegreen>: HTTP status code is not handled or not allowed 2026-01-28 10:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-024-od-x-0042-x-125-38-lbsin-rate-music-wire-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 10:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-remote-start-reset-button-24-60v-44-53a>: HTTP status code is not handled or not allowed 2026-01-28 10:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-pit-cover-hvd-1010cvr-m-rectangle-heavy-duty-waterproof-50l-x-38w-x-23h-mocha>: HTTP status code is not handled or not allowed 2026-01-28 10:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-3ph-remote-start-start-stop-24-60v-57-67a>: HTTP status code is not handled or not allowed 2026-01-28 10:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-3ph-remote-start-start-stop-250-500v-36-47a>: HTTP status code is not handled or not allowed 2026-01-28 10:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm111j-traffic-sign-buckle-up-and-drive-carefully-24-x-18-whitegreen>: HTTP status code is not handled or not allowed 2026-01-28 10:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-and-weave-panel-decorative-planters-set-of-2>: HTTP status code is not handled or not allowed 2026-01-28 10:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-100445-zirconia-alumina-37-x-60-60-grit>: HTTP status code is not handled or not allowed 2026-01-28 10:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-remote-start-terminals-reset-button-100-250v-57-68a>: HTTP status code is not handled or not allowed 2026-01-28 10:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-remote-start-terminals-start-stop-250-500v-48-60a>: HTTP status code is not handled or not allowed 2026-01-28 10:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-1671-aluminum-oxide-2-x-48-80-grit>: HTTP status code is not handled or not allowed 2026-01-28 10:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-18589-silicon-carbide-6-x-48-80-grit>: HTTP status code is not handled or not allowed 2026-01-28 10:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-60-w-x-24-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 10:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb-products-double-garment-rack-72-steel-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-28 10:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/af-f-jack-stand-10-ton-ratchet-type-medium-height-red-pair>: HTTP status code is not handled or not allowed 2026-01-28 10:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-307818-ceramic-3-8-x-13-36-grit>: HTTP status code is not handled or not allowed 2026-01-28 10:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-31870-silicon-carbide-6-x-48-180-grit>: HTTP status code is not handled or not allowed 2026-01-28 10:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/titan-extreme-high-noise-headset-red>: HTTP status code is not handled or not allowed 2026-01-28 10:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usb-programming-cable-for-blackbox-bantam-radios>: HTTP status code is not handled or not allowed 2026-01-28 10:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-inpass-1-2-inch-npt-2-in-1-coalescing-filter-59-cfm-8-000-hr-0-01-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 10:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraclipse-terminator-ultraviolet-replace-lamps-2-pack-72917>: HTTP status code is not handled or not allowed 2026-01-28 10:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-800-lb-capacity-work-platform-with-24-w-x-48-l-platform>: HTTP status code is not handled or not allowed 2026-01-28 10:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sea-air-52-outdoor-ceiling-fan-53054-white>: HTTP status code is not handled or not allowed 2026-01-28 10:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-uhf-dual-wireless-microphone-system-wm1302>: HTTP status code is not handled or not allowed 2026-01-28 10:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rechargeable-double-15-two-way-bluetooth-loudspeaker>: HTTP status code is not handled or not allowed 2026-01-28 10:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lehigh-bench-AD-BENW1-WHE>: HTTP status code is not handled or not allowed 2026-01-28 10:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-frame-slab-rack-single-sided-wall-display-aframewallrack-60w-x-36d-x-60h>: HTTP status code is not handled or not allowed 2026-01-28 10:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62-ibc-stairway-stair36i-9-62>: HTTP status code is not handled or not allowed 2026-01-28 10:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-4420-bn-handheld-shower-set-pvd-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 10:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-osha-stairway-stair36o-9-75>: HTTP status code is not handled or not allowed 2026-01-28 10:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-contractor-first-aid-kit-25-person-ansi-compliant-class-a-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 10:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-osha-stairway-stair36o-6-49>: HTTP status code is not handled or not allowed 2026-01-28 10:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-48-inch-w-x-18-inch-d-x-74-inch-h-2000-lbs-cap-4-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/142-osha-stairway-stair36o-16-142>: HTTP status code is not handled or not allowed 2026-01-28 10:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/82-osha-stairway-stair36o-9-82>: HTTP status code is not handled or not allowed 2026-01-28 10:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-ibc-stairway-stair36i-14-96>: HTTP status code is not handled or not allowed 2026-01-28 10:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-24-inch-d-x-62-inch-h-2000-lbs-cap-4-open-grid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 10:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-5-open-grid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 10:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-21-inch-d-x-50-inch-h-2000-lbs-cap-5-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 10:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/83-ibc-stairway-stair36i-12-83>: HTTP status code is not handled or not allowed 2026-01-28 10:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-36-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-3-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-rigid-coupling-c600e162-steel-1625d-x-378d-158l-shaft>: HTTP status code is not handled or not allowed 2026-01-28 10:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/99-ibc-stairway-stair36i-15-99>: HTTP status code is not handled or not allowed 2026-01-28 10:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 88932 pages (at 98 pages/min), scraped 48535 items (at 36 items/min) 2026-01-28 10:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-4-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 10:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-18-inch-d-x-62-inch-h-2000-lbs-cap-5-open-grid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 10:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31-811-3-in-4-1-2-in-80g-6-pc-spindle-sanding-sleeves-for-sa350k-b-o-s-s-spindle-sander>: HTTP status code is not handled or not allowed 2026-01-28 10:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-ball-bearing-pbphbl100-heavy-gauge-pressed-steel-housing-1-bore>: HTTP status code is not handled or not allowed 2026-01-28 10:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-24-inch-d-x-86-inch-h-2000-lbs-cap-4-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-18-inch-d-x-86-inch-h-2000-lbs-cap-3-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 10:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-ball-bearing-pbpsbl050-selfaligning-pressed-steel-housing-12-bore>: HTTP status code is not handled or not allowed 2026-01-28 10:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-21-inch-d-x-86-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-water-bladder-tank-bt-4000pw-216l-x-168w-x-27h-4000-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 10:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-held-reacher-rtl5021-32l-aluminum-silver>: HTTP status code is not handled or not allowed 2026-01-28 10:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lathe-screw-8-x-1-truss-head-pkg-of-170-itw-teks174-21508>: HTTP status code is not handled or not allowed 2026-01-28 10:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc-strip-cable-stripper-5-13mm-pvc-insulated-data-cables>: HTTP status code is not handled or not allowed 2026-01-28 10:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cb213001-head-flushing-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 10:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waste-mate-n264-non-automatic-submersible-sewage-pump-264-0002-2-5-hp>: HTTP status code is not handled or not allowed 2026-01-28 10:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsv220-m-ansi-class-2-economy-mesh-vest-m>: HTTP status code is not handled or not allowed 2026-01-28 10:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dpg52-11d-ansi-z87-1-glass-contractor-pro-clear-af>: HTTP status code is not handled or not allowed 2026-01-28 10:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-18-inch-d-x-74-inch-h-2000-lbs-cap-4-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dpg83-91d-ansi-z87-1-converter-i-o-lens-a-f-polybag>: HTTP status code is not handled or not allowed 2026-01-28 10:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-channel-frame-j5al-single-leaf-316-stainless-steel-hardware-42l-x-42w>: HTTP status code is not handled or not allowed 2026-01-28 10:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42u-linier-server-cabinet-no-doors-24-depth>: HTTP status code is not handled or not allowed 2026-01-28 10:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbis-heavy-duty-nestable-pallet-48-1-5-x-40-1-5-x-5-4-5-30000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grille-floor-vent-register-with-2-way-deflection-4-inch-x-10-inch-storm-gray-floor>: HTTP status code is not handled or not allowed 2026-01-28 10:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-panel-drug-cup-test-25-tests-per-box>: HTTP status code is not handled or not allowed 2026-01-28 10:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10010034-lbl-dt-z-perform-2000d-4-w-x-6-l-perforated-1-core-5-od>: HTTP status code is not handled or not allowed 2026-01-28 10:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10010035-4-w-x6-l-dt-z-perform-2000d-perforated-flood-coated-pms-pantone-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kni-chrome-plated-plier-wrench-w-plastic-coated-handle-10-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 10:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x5-rejuvenator-end-male-bk>: HTTP status code is not handled or not allowed 2026-01-28 10:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-basket-truck-with-vinyl-liner-6-bushel-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-right-curved-desk-extension-47w-x-28d-x-29-1-2h-gray-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-8-feet-conference-table-textured-sea-salt>: HTTP status code is not handled or not allowed 2026-01-28 10:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versatile-4c-horizontal-mailbox-4c16s-3p-56-12h-3-parcel-front-loading-silver-usps>: HTTP status code is not handled or not allowed 2026-01-28 10:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-pick-up-tool-2377-79-lb-lift-capacity-8-27-3-8-extension-flex-head>: HTTP status code is not handled or not allowed 2026-01-28 10:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensi-wrap-self-adherent-bandage-rolls-wo-rubber-latex-6w-x-5-yards-12-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-basket-truck-with-vinyl-liner-16-bushel-red>: HTTP status code is not handled or not allowed 2026-01-28 10:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bodywork-finishing-hammer-1427-12-1-4-long-w-round-flat-tips-oak-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-hulk-plastic-stackable-storage-bin-qus996mob-19-78-x-35-78-x-17-12-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-torx-power-bit-16016x-1-4-hexagon-t15-drive-1-15-16-long>: HTTP status code is not handled or not allowed 2026-01-28 10:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-torx-power-bit-16008x-1-4-hexagon-t9-drive-1-15-16-long>: HTTP status code is not handled or not allowed 2026-01-28 10:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-pein-hammer-1308p-12-3-8l-8-oz>: HTTP status code is not handled or not allowed 2026-01-28 10:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-pein-hammer-1308pn-12-3-8l-8-oz-black-finish-head>: HTTP status code is not handled or not allowed 2026-01-28 10:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forged-bolt-cutter-cop36-36-long>: HTTP status code is not handled or not allowed 2026-01-28 10:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sae-combination-wrench-1238a-1-3-16-opening-12-point-satin-finish>: HTTP status code is not handled or not allowed 2026-01-28 10:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aberdeen-series-36-inch-credenza-lateral-file-mocha>: HTTP status code is not handled or not allowed 2026-01-28 10:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aberdeen-series-low-wall-credenza-gray-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:09:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/single_stage_reciprocating_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aberdeen-series-3-shelf-quarter-round-with-1-fixed-shelf-mocha>: HTTP status code is not handled or not allowed 2026-01-28 10:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gun-safe-ts08-with-mechanical-lock-30-min-fire-rating-15-1-2x18x59-8-gun-cap-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-sling-wo-head-support-large>: HTTP status code is not handled or not allowed 2026-01-28 10:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-full-body-sling-w-commode-opening-2x-large>: HTTP status code is not handled or not allowed 2026-01-28 10:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adhesive-fabric-bandages-four-wing-sterile-3l-x-3w-1200-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biopsy-punches-2-3-4-5-6-mm-assorted-pack-of-25-5-each-size>: HTTP status code is not handled or not allowed 2026-01-28 10:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-tray-mobile-cubbie-w-colored-paper-trays-60w-x-15d-x-35-1-2h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-28 10:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combine-pads-sterile1pouch-8w-x-10l-360-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-tub-mobile-cubbie-w-colored-tubs-60w-x-15d-x-29-1-2h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-28 10:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/single_stage_reciprocating_air_compressors>: HTTP status code is not handled or not allowed 2026-01-28 10:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubbie-tote-tray-13-1-2l-x-8-5-8w-x-5-1-4h-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unna-boot-bandages-w-calamine-3w-x-10-yards-12-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89031 pages (at 99 pages/min), scraped 48578 items (at 43 items/min) 2026-01-28 10:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms338g-traffic-sign-reserved-parking-virginia-18-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms319j-traffic-sign-reserved-van-parking-michigan-18-x-12-white->: HTTP status code is not handled or not allowed 2026-01-28 10:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-bordered-foam-dressing-4l-x-4w-120-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms325h-traffic-sign-reserved-parking-new-mexico-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 10:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offset-bariatric-cane-6-pairs>: HTTP status code is not handled or not allowed 2026-01-28 10:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-storage-cabinet-w-2-adj-shelves-48w-x-32d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 10:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-whole-house-fan-qc-cl-3100-120v-3100cfm>: HTTP status code is not handled or not allowed 2026-01-28 10:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-large-capacity-refrigerator-for-pharmacies-abt-12b-12-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 10:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-low-profile-beveled-slimline-vision-lite-vsl2434b-24-x-34-bronze>: HTTP status code is not handled or not allowed 2026-01-28 10:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-led-light-bulbs-14w-1500-lumens-medium-base-non-dimmable-warm-white-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jettrac-wall-mount-65l-black-s-retractable-belt-s-hook>: HTTP status code is not handled or not allowed 2026-01-28 10:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tenactiv-glove-w-blended-hppe-ultra-light-foam-nitrile-palm-ansi-a9-size-11>: HTTP status code is not handled or not allowed 2026-01-28 10:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eveleen-outdoor-30-square-bistro-table-black-synthetic-polymer-top-black-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:10:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/stereo_microscopes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-chart-skull-sticky-back>: HTTP status code is not handled or not allowed 2026-01-28 10:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1s-all-in-one-utility-cart-stainless-steel-grey-deck-5-inch-semi-pneumatic-wheels>: HTTP status code is not handled or not allowed 2026-01-28 10:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-endurance-desk-w-plastic-top-36-inch-x-24-inch-stone-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-endurance-open-chest-30-inch-x-17-1-2-inch-black>: HTTP status code is not handled or not allowed 2026-01-28 10:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handheld-calculator-shrel339hb-12-digit-lcd-display-screen-solar-or-battery-power>: HTTP status code is not handled or not allowed 2026-01-28 10:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shell-type-needle-roller-bearing-inch-34-bore-1-od-750-width>: HTTP status code is not handled or not allowed 2026-01-28 10:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75211-mounted-grinding-point-metal-a2>: HTTP status code is not handled or not allowed 2026-01-28 10:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inner-ring-for-shell-type-needle-roller-bearing-inch-212-bore-234-od-3213mm-width>: HTTP status code is not handled or not allowed 2026-01-28 10:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-two-eye-tie-work-sneaker-breathable-knit-textile-leather-brown-tan-12m>: HTTP status code is not handled or not allowed 2026-01-28 10:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42u-server-cabinet-vertical-rail-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:10:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/stereo_microscopes landed on page that is not a product page. 2026-01-28 10:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-three-quarter-nubuck-leather-black-10d>: HTTP status code is not handled or not allowed 2026-01-28 10:10:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75201-mounted-grinding-point-metal-a4>: HTTP status code is not handled or not allowed 2026-01-28 10:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-waterproof-leather-brown-9w>: HTTP status code is not handled or not allowed 2026-01-28 10:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-jaw-puller-set-4212sj-6-ton-2way-6-jaws-14-pieces>: HTTP status code is not handled or not allowed 2026-01-28 10:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77203-end-brush-nylon-abrasive-shank-1-4-fine-grit-150-1>: HTTP status code is not handled or not allowed 2026-01-28 10:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/08314-cutting-wheel-thin-metal-cutting-4-x-1-8-arbor-3-8>: HTTP status code is not handled or not allowed 2026-01-28 10:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-oxford-knit-black-9-5eee>: HTTP status code is not handled or not allowed 2026-01-28 10:10:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glassless-mirror-with-mobile-caster-base-vertical-48w-x-96h>: HTTP status code is not handled or not allowed 2026-01-28 10:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-ultraknit-flexweave-grey-white-14m>: HTTP status code is not handled or not allowed 2026-01-28 10:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands>: HTTP status code is not handled or not allowed 2026-01-28 10:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-mounted-parallel-bars-height-width-adjustable-12l>: HTTP status code is not handled or not allowed 2026-01-28 10:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-mounted-parallel-bars-height-width-adjustable-14l>: HTTP status code is not handled or not allowed 2026-01-28 10:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-sided-compact-training-stairs-with-platform-55l-x-30w-x-40h>: HTTP status code is not handled or not allowed 2026-01-28 10:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-bariatric-hi-low-steel-mat-platform-table-900-lb-capacity-84l-x-48w-x-20-30h>: HTTP status code is not handled or not allowed 2026-01-28 10:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loading-dock-safety-net-with-posts-4-feet-x-12-feet>: HTTP status code is not handled or not allowed 2026-01-28 10:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-high-performance-green-masking-tape-401-233-12-mm-x-55-m>: HTTP status code is not handled or not allowed 2026-01-28 10:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-two-eye-tie-work-sneaker-breathable-knit-textile-leather-blue-tan-14m>: HTTP status code is not handled or not allowed 2026-01-28 10:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-general-use-masking-tape-201-48-mm-x-55-m>: HTTP status code is not handled or not allowed 2026-01-28 10:10:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 10:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-performance-yellow-masking-tape-301-18-mm-x-55-m>: HTTP status code is not handled or not allowed 2026-01-28 10:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-lime-resistant-full-grain-leather-brown-7-5w>: HTTP status code is not handled or not allowed 2026-01-28 10:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-drum-top-post-sign-frame-50-1136dv-sa-22-x-28-satin>: HTTP status code is not handled or not allowed 2026-01-28 10:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-pair-over-the-door-shoe-rack-white>: HTTP status code is not handled or not allowed 2026-01-28 10:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-wedge-work-boot-leather-brown-9-5w>: HTTP status code is not handled or not allowed 2026-01-28 10:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-clip-clear-storage-box-with-latched-lid-19618606-11l-x-6-5-8w-x-2-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 10:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fast-pack-liquid-concentrate-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1226-5-premium-locker-five-tier-12x12x12-5-doors-ready-to-assemble-parchment>: HTTP status code is not handled or not allowed 2026-01-28 10:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zone-defense-red-nylon-shell-cut-resistant-gloves-wblack-polyurethane-palm-coat-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1518-2a-premium-locker-double-tier-15x21x36-2-doors-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 10:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-starter-unit-60w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-solid-door-storage-cabinet-48wx18dx72h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 10:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1518-1hdv-heavy-duty-ventilated-locker-single-tier-15x21x72-1-door-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-42w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inner-ring-for-machined-type-needle-roller-bearing-metric-45mm-bore-50mm-od-305mm-width-B1032772>: HTTP status code is not handled or not allowed 2026-01-28 10:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-30w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cant-hook-t-029-060-0176-hardwood-handle-60>: HTTP status code is not handled or not allowed 2026-01-28 10:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/katahdin-pickeroon-with-brush-cutter-t-000-036-b660-hardwood-handle-36>: HTTP status code is not handled or not allowed 2026-01-28 10:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-24w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-ton-floor-jack-t-handle-heavy-duty>: HTTP status code is not handled or not allowed 2026-01-28 10:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-battery-charger-29v-4a-116w-for-auto-floor-scrubber-713170>: HTTP status code is not handled or not allowed 2026-01-28 10:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-power-supply-psmn24da-non-isolated-linear-24vac-to-15-28vdc-adj-output-switch>: HTTP status code is not handled or not allowed 2026-01-28 10:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89128 pages (at 97 pages/min), scraped 48610 items (at 32 items/min) 2026-01-28 10:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oralite-36-inch-x-36-inch-super-bright-vivid-orange-roll-up-sign-one-lane-road-ahead>: HTTP status code is not handled or not allowed 2026-01-28 10:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathcade-barrier-system-w-eg-sheeting-1-side-72-inch-x-3-inch-x-38-inch-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-slow-paddle-18-inch-hip-abs-plastic-w-10-inch-fiberglass-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-inch-direct-drive-high-velocity-floor-fan-mac-30-ddf-b-120v-8500-cfm>: HTTP status code is not handled or not allowed 2026-01-28 10:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-staple-3-4-length-1-crown-steel-galvanized-pkg-of-10000>: HTTP status code is not handled or not allowed 2026-01-28 10:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-track-mt4-12-4w-x-12l>: HTTP status code is not handled or not allowed 2026-01-28 10:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gauge-straight-finish-brad-nail-1-1-2-length-galvanized-steel-pkg-of-50000>: HTTP status code is not handled or not allowed 2026-01-28 10:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gauge-straight-finish-brad-nail-2-length-galvanized-steel-pkg-of-50000>: HTTP status code is not handled or not allowed 2026-01-28 10:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-6-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/titanium-speed-tip-drill-bit-set-dw1341-14-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 10:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-6-bushel-vinyl-basket-truck-all-swivel-casters-red>: HTTP status code is not handled or not allowed 2026-01-28 10:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-pistol-case-qf340bk-watertight-10-11-16-x9-3-4-x4-13-16-black>: HTTP status code is not handled or not allowed 2026-01-28 10:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-10-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-beige>: HTTP status code is not handled or not allowed 2026-01-28 10:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-10-bushel-vinyl-basket-truck-all-swivel-casters-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuff-mark-tape-yellow-black-2w-x-100l-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-tri-lingual-three-ring-sds-binder-3008-1-1-2w>: HTTP status code is not handled or not allowed 2026-01-28 10:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-double-top-loading-plastic-bo-glove-dispenser-5104-w-4d>: HTTP status code is not handled or not allowed 2026-01-28 10:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-boot-and-glove-dryer-1132-10-1-2l>: HTTP status code is not handled or not allowed 2026-01-28 10:11:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/microscope_cameras already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-watertight-case-with-pre-cubed-foam-el1105-13-1-4x11-13-16x5-13-16>: HTTP status code is not handled or not allowed 2026-01-28 10:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-axial-fan-fade-12-4-120v-1-ph-1208-cfm>: HTTP status code is not handled or not allowed 2026-01-28 10:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bath-fan-pb190-120v-1-ph-190-cfm-no-light-6-duct>: HTTP status code is not handled or not allowed 2026-01-28 10:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sds-max-rotary-hammer-bit-hc5030-3-4-diameter-13-long>: HTTP status code is not handled or not allowed 2026-01-28 10:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-control-rpe210-230v-10a-on-off-switch>: HTTP status code is not handled or not allowed 2026-01-28 10:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silencer-ld6-6-duct>: HTTP status code is not handled or not allowed 2026-01-28 10:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-window-48-1-4w-x-60h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-window-48-1-4w-x-72h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-safety-netting-for-96-in-bay-standard-attachment-330-lbs-black>: HTTP status code is not handled or not allowed 2026-01-28 10:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-mount-damper-5acc19rd-19-x-19>: HTTP status code is not handled or not allowed 2026-01-28 10:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-28-gpf-elongated-bowl-toilet-17-3-16-inch-w-x-28-5-16-inch-d-x-29-inch-h-bone>: HTTP status code is not handled or not allowed 2026-01-28 10:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-28-gpf-elongated-bowl-toilet-w-rh-flush-17-3-16-inch-w-x-28-5-16-inch-d-x-29-inch-h-cotton>: HTTP status code is not handled or not allowed 2026-01-28 10:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/microscope_cameras>: HTTP status code is not handled or not allowed 2026-01-28 10:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-28-gpf-elongated-bowl-toilet-19-inch-w-x-28-3-8-inch-d-x-30-1-8-inch-h-bone>: HTTP status code is not handled or not allowed 2026-01-28 10:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceramic-fuse-250v-20a-for-frymaster-8072819>: HTTP status code is not handled or not allowed 2026-01-28 10:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-mk-mu1sldm-12v-35ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 10:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-freezer-1-door-23-cuft-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-eagle-picher-he-6v12-7fr-6v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 10:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-office-partition-panel-with-partial-window-60-1-4-w-x-60-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poopy-doo-diaper-disposal-bag-dispenser-200-bag-capacity-pd-dsp-04-wh>: HTTP status code is not handled or not allowed 2026-01-28 10:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-panasonic-lcr064r2p-6v-4-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 10:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-63-inches-w-rectangle-straight-desk-63-inches-w-x-36-inches-d-x-29-1-2-inches-h-sea-salt>: HTTP status code is not handled or not allowed 2026-01-28 10:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thhn-wire-w-non-metallic-connectors-1-2-x-4>: HTTP status code is not handled or not allowed 2026-01-28 10:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-2-signature-wheel-with-roller-bearing-for-1-2-axle-700-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-3-durastan-phenolic-wheel-with-roller-bearing-for-3-4-axle-2900-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-2x1-1-4-signature-wheel-with-sealed-ball-bearing-for-3-8-axle-255-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tradepro-filter-drier-liquid-line-3-8-ods-8ci-sweat>: HTTP status code is not handled or not allowed 2026-01-28 10:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-power-sonic-ps12120f2-12v-12ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 10:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contactor-50-amp-240v-3-pole>: HTTP status code is not handled or not allowed 2026-01-28 10:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800072-blk-2-opaque-plastic-hook-50-pack-white>: HTTP status code is not handled or not allowed 2026-01-28 10:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-zareba-10-mile-solar-charger-6v-12ah-alarm-battery>: HTTP status code is not handled or not allowed 2026-01-28 10:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-pump-condenser-28-seer-9000-btu-0-75-ton>: HTTP status code is not handled or not allowed 2026-01-28 10:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-mighty-mule-fm150-12v-7ah-alarm-battery>: HTTP status code is not handled or not allowed 2026-01-28 10:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/furnace-filter-cabinet-19-3-4-l-x-8-1-4-w-x-30-3-4-h>: HTTP status code is not handled or not allowed 2026-01-28 10:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-office-60w-4-person-straight-desk-open-office>: HTTP status code is not handled or not allowed 2026-01-28 10:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dti-coverall-bound-seams-elastic-wrists-ankles-white-xl-25-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-plastic-bottle-32oz-translucent-12-case-gjo85126>: HTTP status code is not handled or not allowed 2026-01-28 10:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lnr-xtd-200-waste-oil-heater-pkg-6-inch-chimney-wall-kit-80-gallon-tank-200000-btu>: HTTP status code is not handled or not allowed 2026-01-28 10:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/152715-horizontal-double-sided-stand-up-sign-holder-11-x-8-5-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 10:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/199603-adhesive-back-c-channel-nameplate-11-x-1-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 10:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/199610-adhesive-back-c-channel-nameplate-6-x-3-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 10:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/199613-adhesive-back-c-channel-nameplate-6-x-4-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 10:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/524-05-model-524-with-flow-rate-of-05-gpm>: HTTP status code is not handled or not allowed 2026-01-28 10:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/162708-vertical-wall-mount-acrylic-sign-holder-11-x-17-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 10:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/206389-large-suggestion-box-w-pocket-lock-keys-clear-7-75-x-6>: HTTP status code is not handled or not allowed 2026-01-28 10:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-climbing-harness-w-quick-connect-legs-xxl>: HTTP status code is not handled or not allowed 2026-01-28 10:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/512f1-6-person-floor-mount-wash-station-with-single-foot-pedal-valves>: HTTP status code is not handled or not allowed 2026-01-28 10:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300625-chrome-wire-basket-5-high-metal>: HTTP status code is not handled or not allowed 2026-01-28 10:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-hand-truck-44701-p-handle-solid-rubber-wheels-1000-lb-capacity-red>: HTTP status code is not handled or not allowed 2026-01-28 10:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252302-single-pocket-letter-size-countertop-brochure-holder-9-x-11-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252306-4-tier-tri-fold-size-countertop-brochure-holder-4-5-x-13-25-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-cable-choker-2-feet-l-o-ring-5-16-inch-vinyl-coated-cable>: HTTP status code is not handled or not allowed 2026-01-28 10:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300704-square-large-wire-dump-bin-23-x-33-metal>: HTTP status code is not handled or not allowed 2026-01-28 10:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700014-4-metal-scan-hook-galvanized-metal-finish-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700824-4-metal-scan-hook-galvanized-metal-finish-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-12-gauge-heavy-duty-36-w-x-24-d-x-42-h-counter-high-cabinet-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700350-pur-pegboard-powerwing-13-75-x-44-purple>: HTTP status code is not handled or not allowed 2026-01-28 10:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gm-scrim-reinforced-exam-gown-w-glued-shoulders-30-inch-x-42-inch-blue-50-case>: HTTP status code is not handled or not allowed 2026-01-28 10:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700222-blk-24-pegboard-revolving-countertop-display-4-sided-black-solid>: HTTP status code is not handled or not allowed 2026-01-28 10:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-502l-royal-series-8-center-deck-mount-faucet-8-1-2-gooseneck-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 10:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-325l-royal-series-4-center-deck-mount-faucet-3-1-2-gooseneck-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 10:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700220-pnk-12-pegboard-revolving-countertop-display-4-sided-pink>: HTTP status code is not handled or not allowed 2026-01-28 10:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89228 pages (at 100 pages/min), scraped 48630 items (at 20 items/min) 2026-01-28 10:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/520-piece-internal-external-tooth-lock-washer-assortment-6-to-3-8-zinc>: HTTP status code is not handled or not allowed 2026-01-28 10:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/703385-pnk-interlocking-pegboard-counterop-display-8-x-20-pink>: HTTP status code is not handled or not allowed 2026-01-28 10:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-8x12-2-wall-2-lgts-2-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-10x16-3-wall-3-lgts-3-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-10x20-4-wall-3-lgts-4-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-12x24-2-wall-4-lgt-5-dplx-1-dr-gry>: HTTP status code is not handled or not allowed 2026-01-28 10:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-12x16-2-wall-3-lgt-4-dplx-1-dr-wht>: HTTP status code is not handled or not allowed 2026-01-28 10:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-12x24-4-wall-4-lgt-5-dplx-1-dr-wht>: HTTP status code is not handled or not allowed 2026-01-28 10:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-12x12-2-wall-3-lgt-4-dplx-1-dr-white>: HTTP status code is not handled or not allowed 2026-01-28 10:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-digital-caliper-w-fastener-reading-function-stainless-steel-ip54-0-12-inch-accuracy-0-001-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-12x20-3-wall-4-lgt-5-dplx-1-dr-wht>: HTTP status code is not handled or not allowed 2026-01-28 10:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-angle-attachment-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 10:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-lithium-ion-hedge-trimmer-bare-tool-only>: HTTP status code is not handled or not allowed 2026-01-28 10:12:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_tool_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyflex-lite-gloves-ansell-11-600-black-foamed-pu-palm-coat-size-10>: HTTP status code is not handled or not allowed 2026-01-28 10:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-air-cut-off-tool-45-hp-motor>: HTTP status code is not handled or not allowed 2026-01-28 10:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-m-scotch-373-plus-machine-length-carton-sealing-tape-3-inch-x-1000-yds-2-5-mil-clear-skid-lot>: HTTP status code is not handled or not allowed 2026-01-28 10:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-for-folding-bulk-shipping-container-48-in-l-x-40-in-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-s720-class-2-female-vest-61919-lime-2x-large>: HTTP status code is not handled or not allowed 2026-01-28 10:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-green-wire-shelf-42-x-18>: HTTP status code is not handled or not allowed 2026-01-28 10:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-500421-neoprene-rubber-5-dia-200-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circuit-board-shipping-and-storage-box-w-foam-7-3-16l-x-6-3-8w-x-1-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 10:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-kit-with-18-w-whiteboard-36-w-pegboard-60-w-workbench-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-plastic-barrier-chain-2-inch-x-100-feet-l-crimson>: HTTP status code is not handled or not allowed 2026-01-28 10:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/power_tool_kits>: HTTP status code is not handled or not allowed 2026-01-28 10:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-aluminum-rolling-ladder-24inw-ribbed-tread-21ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-28 10:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-3-inch-heavy-duty-stowable-stanchion-41-inch-h-red-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 10:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-inch-light-duty-stowable-stanchion-41-inch-h-blue-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 10:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-aluminum-rolling-ladder-16inw-ribbed-tread-28ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-28 10:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-utility-stakes-in-a-pail-12-inch-h-safety-orange-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 10:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-aluminum-rolling-ladder-16inw-ribbed-tread-28ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-28 10:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastek-esd-storage-container-23-7-8l-x-13-7-8w-x-8-3-16h>: HTTP status code is not handled or not allowed 2026-01-28 10:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-28-inch-reflective-traffic-cone-kit-w-2-inch-x-50-feet-l-chain-traffic-orange-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 10:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-rigid-plate-caster-20520895-polyurethane-on-polyolefin-5dia-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-406109839-brk7-polyolefin-top-lock-brake-6dia-700-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-406109559-rubber-on-polyolefin-6dia-450-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-117160009-ldpe-500ml-capacity-write-on-4-pk-natural-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 10:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-117320001-ldpe-1000ml-capacity-acetone-4-pk-red-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 10:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-406109339-brk4-phenolic-total-lock-brake-6dia-1200-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automotive-stackable-plastic-pallet-with-lip-48-x-45-x-6>: HTTP status code is not handled or not allowed 2026-01-28 10:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-x-1-3-4-12-point-flange-screw-170m-psi-steel-plain-full-thread-unc-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/color-coded-exercise-putty-x-firm-black-60cc>: HTTP status code is not handled or not allowed 2026-01-28 10:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/granada-ceiling-medallion-cm23ga-2338od-x-358id-x-212d>: HTTP status code is not handled or not allowed 2026-01-28 10:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-putty-blueberry-firm-4-ounce>: HTTP status code is not handled or not allowed 2026-01-28 10:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microwaveable-exercise-putty-soft-orange-6-ounce>: HTTP status code is not handled or not allowed 2026-01-28 10:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-exercise-putty-black-x-firm-5-pound>: HTTP status code is not handled or not allowed 2026-01-28 10:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-federal-chair-rail-cha03x00fe-318h-x-34d-x-96l>: HTTP status code is not handled or not allowed 2026-01-28 10:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-putty-plum-x-firm-5-pound>: HTTP status code is not handled or not allowed 2026-01-28 10:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balance-system-20-diameter-board-only>: HTTP status code is not handled or not allowed 2026-01-28 10:12:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/bolts/carriage_bolts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-designer-wood-locker-27368-z-style-3-wide-15x18x72-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 10:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-s40-20d-20in-stand-on-automatic-scrubber-140-ah-maint-free-batteries-56104486>: HTTP status code is not handled or not allowed 2026-01-28 10:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sehs17x-nsf-sink-10x12-w-16l-x-20w-bowl-14-deep>: HTTP status code is not handled or not allowed 2026-01-28 10:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11051724-led-t8-x-series-48in-18w-5000k-frosted-lens-non-dimming>: HTTP status code is not handled or not allowed 2026-01-28 10:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-toolboard-single-sided-perfo-panel-39w-3-panel-starter>: HTTP status code is not handled or not allowed 2026-01-28 10:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-progressive-starter-pack-black-4-additional-buttons>: HTTP status code is not handled or not allowed 2026-01-28 10:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slim-white-pe-foam-roller-half-round-3-dia-x-36l>: HTTP status code is not handled or not allowed 2026-01-28 10:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-small-blue-heavy>: HTTP status code is not handled or not allowed 2026-01-28 10:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exercise-web-latex-free-7-diameter-6-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 10:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-basic-starter-pack-blue-heavy>: HTTP status code is not handled or not allowed 2026-01-28 10:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-finger-exerciser-blue-heavy>: HTTP status code is not handled or not allowed 2026-01-28 10:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/bolts/carriage_bolts>: HTTP status code is not handled or not allowed 2026-01-28 10:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exerciser-light-red-large>: HTTP status code is not handled or not allowed 2026-01-28 10:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-yellow-x-light-10-0835>: HTTP status code is not handled or not allowed 2026-01-28 10:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-small-5-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 10:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-pedal-exerciser-with-digital-display-pre-assembled>: HTTP status code is not handled or not allowed 2026-01-28 10:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-series-inflatable-exercise-ball-75-cm-30-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-exercise-straight-roll-yellow-16-dia-x-35l>: HTTP status code is not handled or not allowed 2026-01-28 10:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-reciprocal-stepper-cushion-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-balance-trainer-25-dome-with-pump-owners-manual-training-manual-and-dvd>: HTTP status code is not handled or not allowed 2026-01-28 10:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-exercise-ball-25cm-10-green>: HTTP status code is not handled or not allowed 2026-01-28 10:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-roller-massager-22-long-black-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accordion-fold-exercise-mat-1-3-8-pu-foam-with-cover-5x10-rainbow-colors>: HTTP status code is not handled or not allowed 2026-01-28 10:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orange-heavy-duty-hand-cleaner-3-liter-pump-bottle-2340006058>: HTTP status code is not handled or not allowed 2026-01-28 10:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-perspirant-deodorant-crystal-breeze-15-oz-roll-on-48-case-dia-07686>: HTTP status code is not handled or not allowed 2026-01-28 10:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-assorted-key-tags-af12496-color-coded-with-window-insert>: HTTP status code is not handled or not allowed 2026-01-28 10:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dehumidifier-150g-af12500-with-color-changing-humidity-indicator>: HTTP status code is not handled or not allowed 2026-01-28 10:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-ton-capacity-16-span-300-series-steel-wall-mounted-jib-crane-cantilever-design>: HTTP status code is not handled or not allowed 2026-01-28 10:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsbcf180k-blubar-countertop-water-dispenser-in-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-stp-steel-safe-roll-lad-wgt-act-lock-24-w-perf-stp-org-wa063214p-o>: HTTP status code is not handled or not allowed 2026-01-28 10:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-stp-steel-safe-roll-lad-wgt-act-lock-16-w-serr-stp-org-wa082414g-o>: HTTP status code is not handled or not allowed 2026-01-28 10:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-stp-steel-safe-roll-lad-wgt-act-lock-16-w-perf-stp-org-wa052414p-o>: HTTP status code is not handled or not allowed 2026-01-28 10:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89326 pages (at 98 pages/min), scraped 48648 items (at 18 items/min) 2026-01-28 10:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodeck-comfort-kit-7-8in-thick-84-x-42-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 10:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-ground-protection-mat-3-x-6-black-am36>: HTTP status code is not handled or not allowed 2026-01-28 10:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-x-rounded-foam-mini-roller-covers-12-case-2rl-foamf>: HTTP status code is not handled or not allowed 2026-01-28 10:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-non-electric-office-partition-panel-with-raceway-24-1-4w-x-77-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-upholstery-tool-accessory-for-ex40-part-56220070>: HTTP status code is not handled or not allowed 2026-01-28 10:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x250-8-inch-general-purpose-wheel-2-1-4x5-8-inch-offset-hub>: HTTP status code is not handled or not allowed 2026-01-28 10:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medstoremax-single-column-shelf-w-2-adjustable-dividers>: HTTP status code is not handled or not allowed 2026-01-28 10:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/180-degree-adjustable-angle-adapter-blue-metallic-sw66640>: HTTP status code is not handled or not allowed 2026-01-28 10:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-nylon-mesh-7-1-8-dia-x-32-l-200-micron-plastic-flange-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 10:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-multifilament-4-1-8-x-14-200-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 10:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3mm-hex-l-wrench-short-13856>: HTTP status code is not handled or not allowed 2026-01-28 10:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-polyester-felt-7-3-50-dia-x-32-l-50-micron-plastic-sure-seal-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 10:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17mm-hex-l-wrench-short-12286>: HTTP status code is not handled or not allowed 2026-01-28 10:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangle-activity-table-24w-x-36l-x-24-31h-classic-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k20-3-step-step-steel-step-stool-4397-901>: HTTP status code is not handled or not allowed 2026-01-28 10:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-8-star-tip-screwdrivers-t6-t25-34532>: HTTP status code is not handled or not allowed 2026-01-28 10:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werner-32-1a-fiberglass-3-section-compact-extension-ladder-d6232-3>: HTTP status code is not handled or not allowed 2026-01-28 10:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5mm-hex-t-handle-6-length-15264>: HTTP status code is not handled or not allowed 2026-01-28 10:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-raceway-36-1-4w-x-76h-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-1-1-4-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24-x-1-2-security-machine-screw-flat-undercut-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tl1-tp3-tamperproof-triangular-recess-bit>: HTTP status code is not handled or not allowed 2026-01-28 10:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-end-caps-1-inch-black>: HTTP status code is not handled or not allowed 2026-01-28 10:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-3-4-spanner-machine-screw-flat-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bag-ziploc-freezer-2-gal>: HTTP status code is not handled or not allowed 2026-01-28 10:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8bspp-sintered-bronze-muffler-50-micron-145-psi-14-to-176-f>: HTTP status code is not handled or not allowed 2026-01-28 10:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-3244-3-pneumatic-piston-damper-actuator>: HTTP status code is not handled or not allowed 2026-01-28 10:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-1-8-tube-x-1-8-swift-fit-flow-out-screw-adjustment>: HTTP status code is not handled or not allowed 2026-01-28 10:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m9116-gga-2-damper-actuator>: HTTP status code is not handled or not allowed 2026-01-28 10:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-branch-tee-1-8-tube-x-1-8-nptf>: HTTP status code is not handled or not allowed 2026-01-28 10:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-36w-x-24d-x-54h-3-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 10:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0792047-1-2-vacuum-breaker>: HTTP status code is not handled or not allowed 2026-01-28 10:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gd-10-complete-hose>: HTTP status code is not handled or not allowed 2026-01-28 10:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-eliminator-series-straight-aluminum-wand>: HTTP status code is not handled or not allowed 2026-01-28 10:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-60w-x-14d-x-54h-3-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 10:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4n10p46an-set-screw-w-full-ball-m4-x-07-thread-10mm-thread-length>: HTTP status code is not handled or not allowed 2026-01-28 10:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10n35p05v-set-screw-w-flat-ball-safety-twist-m10-x-15-thread-25mm-thread-length>: HTTP status code is not handled or not allowed 2026-01-28 10:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-circular-seal-plus-12inches-diameter>: HTTP status code is not handled or not allowed 2026-01-28 10:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-berm-carrying-case-for-ultra-spill-berms>: HTTP status code is not handled or not allowed 2026-01-28 10:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a320-female-connector-with-40-socket-contacts-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-metal-removal-filter-sock-9feet>: HTTP status code is not handled or not allowed 2026-01-28 10:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-36w-x-24d-x-63h-4-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 10:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-72w-x-24d-x-63h-4-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 10:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-seal-bag-8w-7l>: HTTP status code is not handled or not allowed 2026-01-28 10:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-equipment-cover-clear-on-roll-28w-56l>: HTTP status code is not handled or not allowed 2026-01-28 10:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189266gz-36w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189221gz-54w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-slip-silicone-plate-cover-6-69-diameter-for-rt-basic-magnetic-stirrers>: HTTP status code is not handled or not allowed 2026-01-28 10:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-scope-mouth-rinse-classic-mint-1-liter-bottle-6-bottles-per-case>: HTTP status code is not handled or not allowed 2026-01-28 10:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-plastic-step-stand-black-19-1-2-w-x-14-d-x-12-h-st-1-bk>: HTTP status code is not handled or not allowed 2026-01-28 10:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-paper-wiper-4-ply-12-4-5-x-16-1-2-blue-180-wipes-box>: HTTP status code is not handled or not allowed 2026-01-28 10:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-plastic-step-stand-extra-large-gray-2512w-33d-x-24h-ntxst-2-gy>: HTTP status code is not handled or not allowed 2026-01-28 10:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amber-bag-seal-top-reclosable-2w-3l>: HTTP status code is not handled or not allowed 2026-01-28 10:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189204gz-48w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linear-low-density-white-opaque-trash-liners-25-mil-20-30-gal-30w-36l>: HTTP status code is not handled or not allowed 2026-01-28 10:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wall-reclosable-seal-top-specimen-trans-bag-purple-tint-12w-15l>: HTTP status code is not handled or not allowed 2026-01-28 10:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-120-h-starter-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-120-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:13:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-digit-scientific-calculator-ti30xa-battery-power-3-1-10-x-6-x-4-5-black>: HTTP status code is not handled or not allowed 2026-01-28 10:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11696-cs6-6-cross-slide-drill-press-vise>: HTTP status code is not handled or not allowed 2026-01-28 10:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-120-h-starter-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-readybuilt-locker-36-w-x-12-d-x-78-h-725-hallowell-gray-6-tier-3-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 10:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-platform-kit-4-x-36-x-18>: HTTP status code is not handled or not allowed 2026-01-28 10:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-36-d-x-120-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-72-h-starter-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-36-w-x-12-d-x-78-h-729-parchment-triple-tier-3-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 10:13:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-heater-28-x-10-mm-dia-tubes>: HTTP status code is not handled or not allowed 2026-01-28 10:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-72-w-x-48-d-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-36-w-x-18-d-x-78-h-725-hallowell-gray-double-tier-3-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 10:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-36-w-x-15-d-x-78-h-729-parchment-single-tier-3-wide-knock-down>: HTTP status code is not handled or not allowed 2026-01-28 10:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-dry-erase-sign-stand-15w-x-11h-sign-sig07060101>: HTTP status code is not handled or not allowed 2026-01-28 10:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drill-point-screw-12-14-x-1-hex-washer-head-pkg-of-400-21341>: HTTP status code is not handled or not allowed 2026-01-28 10:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-72-h-add-on-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/earth-cork-board-oak-frame-48w-x-36h-sb0720001233>: HTTP status code is not handled or not allowed 2026-01-28 10:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89422 pages (at 96 pages/min), scraped 48668 items (at 20 items/min) 2026-01-28 10:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-24-d-x-96-h-starter-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-metal-stapler-b515black>: HTTP status code is not handled or not allowed 2026-01-28 10:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-84-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-24-d-x-87-h-725-hallowell-gray-add-on-unit-54-bins>: HTTP status code is not handled or not allowed 2026-01-28 10:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 10:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-120-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-120-h-starter-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-18-d-x-87-h-725-hallowell-gry-add-on-unit-54-bins>: HTTP status code is not handled or not allowed 2026-01-28 10:13:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-systems-flush-1-gal>: HTTP status code is not handled or not allowed 2026-01-28 10:14:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-5000058p5en-5-x-2-endura-elastomer-1-2-straight-roller-bearing-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271172-decal-mp-941-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 10:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-18-d-x-87-h-725-hallowell-gray-add-on-unit-38-bins>: HTTP status code is not handled or not allowed 2026-01-28 10:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charles-leonard-73290-stubby-brush-set-natural-bristle-flat-10set>: HTTP status code is not handled or not allowed 2026-01-28 10:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-12-d-x-87-h-725-hallowell-starter-unit-21-12-x-12-bins>: HTTP status code is not handled or not allowed 2026-01-28 10:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-kid-mini-locker-15w-x-15d-x-24h-717-grand-slam-blue-sgl-tier-1-wide-knock-down>: HTTP status code is not handled or not allowed 2026-01-28 10:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-72-h-add-on-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/creativity-street-2400-sponge-paint-set-6-assorted-colors-22-oz-6set>: HTTP status code is not handled or not allowed 2026-01-28 10:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/withdrawal-device-for-thermo-20-liquid-nitrogen-transfer-vessel>: HTTP status code is not handled or not allowed 2026-01-28 10:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2171139-o-ring-1-5-16-inch-od-for-server-products>: HTTP status code is not handled or not allowed 2026-01-28 10:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/command-fc13-bn-adhesive-mount-metal-hook-large-brushed-nickel-finish>: HTTP status code is not handled or not allowed 2026-01-28 10:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fort-knox-workbench-pedestal-6-drawer-18-w-x-24-d-x-32-h-blk-body-red-doors-all-welded-1>: HTTP status code is not handled or not allowed 2026-01-28 10:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 10:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/command-17003-general-purpose-hooks-5-lb-capacity-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 10:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics>: HTTP status code is not handled or not allowed 2026-01-28 10:14:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crayola-528019-classpack-regular-crayons-assorted-13-caddies-832box>: HTTP status code is not handled or not allowed 2026-01-28 10:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sirenlock-battery-operated-alarmed-panic-lock-36-push-bar>: HTTP status code is not handled or not allowed 2026-01-28 10:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-72-h-add-on-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-72-h-add-on-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-compartment-small-steel-scoop-storage-box>: HTTP status code is not handled or not allowed 2026-01-28 10:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-96-h-add-on-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-log-grapple-tmw-54-3000-lbs-cap-22-hook-opening>: HTTP status code is not handled or not allowed 2026-01-28 10:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-84-h-add-on-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draw-shave-tmb-13dc-curved-13-steel-blade-with-wood-handles>: HTTP status code is not handled or not allowed 2026-01-28 10:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-lockout-tagout-hasps-3-1-2-shackle-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/montana-state-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-28 10:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennesse-state-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-28 10:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 10:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971107-light-indicator-6vcd-red-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 10:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ogs60-general-protocol-oven-gravity-convection-2-3-cu-ft-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washington-state-flag-4x6-nylon>: HTTP status code is not handled or not allowed 2026-01-28 10:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-96-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-50-foot-medium-duty-pvc-discharge-hose-coupled-with-mxf-aluminum-short-shanks>: HTTP status code is not handled or not allowed 2026-01-28 10:14:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/optics_visual_inspection_instruments/magnifiers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1301035-knob-utility-1-4-20thd-1-inch-rd>: HTTP status code is not handled or not allowed 2026-01-28 10:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1721085-knob-dark-light-adjustment-for-middleby>: HTTP status code is not handled or not allowed 2026-01-28 10:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-pharmacy-vaccine-undercounter-refrigerator-freestanding-solid-door-2-5-cu-ft-ph-abt-hc-ucfs-0204>: HTTP status code is not handled or not allowed 2026-01-28 10:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-50-foot-pvc-lay-flat-discharge-hose-coupled-with-cxe-aluminum-cam-and-groove-fittings>: HTTP status code is not handled or not allowed 2026-01-28 10:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1111274-valve-solenoid-control-faucet-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 10:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-96-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-100-foot-pvc-lay-flat-discharge-hose-coupled-with-cxe-aluminum-cam-and-groove-fittings>: HTTP status code is not handled or not allowed 2026-01-28 10:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-84-h-starter-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-refrigerator-and-freezer-combination-abt-hc-rfc7-7-cu-ft-white>: HTTP status code is not handled or not allowed 2026-01-28 10:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-25-foot-pvc-lay-flat-discharge-hose-coupled-with-cxe-aluminum-cam-and-groove-fittings>: HTTP status code is not handled or not allowed 2026-01-28 10:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010178-seal-o-ring>: HTTP status code is not handled or not allowed 2026-01-28 10:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-11-drawer-162-compart-bright-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-28 10:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/optics_visual_inspection_instruments/magnifiers>: HTTP status code is not handled or not allowed 2026-01-28 10:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-12-drawer-174-compart-classic-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 10:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-6-drawer-42-compart-light-gray-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 10:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/essentials-series-mahogany-laminate-corner-desk-3538wx3538d>: HTTP status code is not handled or not allowed 2026-01-28 10:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-quiet-ceiling-exhaust-fan-w-ec-motor-and-speed-control-200-cfm-2-0-sones-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ton-tripod-underhoist-stand-33020>: HTTP status code is not handled or not allowed 2026-01-28 10:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet7-drawers-94-compart-bright-blue-individual-lock>: HTTP status code is not handled or not allowed 2026-01-28 10:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-pear-level-0-6-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 10:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-ton-arbor-plates-pair-ap25>: HTTP status code is not handled or not allowed 2026-01-28 10:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-steel-chrome-plated-wire-nesting-basket-26-inch-l-x-10-inch-w-x-2-inch-h-qty-5-plus>: HTTP status code is not handled or not allowed 2026-01-28 10:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711196-brush-replacement-coarse-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 10:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-heavy-duty-3-in-1-car-dolly-set-1-ton-capacity-47020>: HTTP status code is not handled or not allowed 2026-01-28 10:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/band-aid-5570-antibiotic-adhesive-bandages-assorted-sizes-20box>: HTTP status code is not handled or not allowed 2026-01-28 10:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ace-207313-elastic-bandage-with-e-z-clips-4>: HTTP status code is not handled or not allowed 2026-01-28 10:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-mini-sprayer-replacement-cartridges-canada-version-12-case-4139>: HTTP status code is not handled or not allowed 2026-01-28 10:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-11-drawer-162-compart-bright-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 10:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1021039-stopper-1-inch-rubber-for-standard-keil>: HTTP status code is not handled or not allowed 2026-01-28 10:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/braided-ground-strap-207110-025-1-0-gauge-25-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-drawer-cabinet-6-drawer-74-compart-light-gray-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 10:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-exerciser-yellow-22>: HTTP status code is not handled or not allowed 2026-01-28 10:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681526-connector-15-pin-female-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 10:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-post-battery-connector-9603-2001u-universal>: HTTP status code is not handled or not allowed 2026-01-28 10:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1781069-ring-motor-shaft-plastic-for-wilbur-curtis-co>: HTTP status code is not handled or not allowed 2026-01-28 10:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ah24z-poly-z-brite-utility-cart-handle-24w>: HTTP status code is not handled or not allowed 2026-01-28 10:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickflex-welding-cable-202203-025-4-gauge-25-ft-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-al424s-stainless-steel-wire-ledge-24l-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 10:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-cabinet-10-drawer-161-compart-bright-blue-master-keyed>: HTTP status code is not handled or not allowed 2026-01-28 10:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-battery-cable-200207-025-2-0-gauge-25-ft-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ae14s-stainless-steel-safety-push-handle-14w>: HTTP status code is not handled or not allowed 2026-01-28 10:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-inch-low-velocity-exhaust-shutter>: HTTP status code is not handled or not allowed 2026-01-28 10:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-240-volt-double-panel-motor-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-navy-cotton-polyester-fashion-blend-reversible-set-in-sleeve-scrub-shirt-size-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89517 pages (at 95 pages/min), scraped 48678 items (at 10 items/min) 2026-01-28 10:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pfs-200b-8-hand-sealer-with-wide-10mm-seal-width>: HTTP status code is not handled or not allowed 2026-01-28 10:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-navy-cotton-polyester-fashion-blend-reversible-scrub-pants-size-l>: HTTP status code is not handled or not allowed 2026-01-28 10:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-white-80-polyester-20-cotton-poplin-snap-front-lab-coat-size-s>: HTTP status code is not handled or not allowed 2026-01-28 10:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-bumper-and-steel-base-for-edge-of-dock-levelers>: HTTP status code is not handled or not allowed 2026-01-28 10:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-ground-magnalugs-6440-050d-1-4-50-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-exercise-tubing-green-100-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 10:14:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-2-compartment-open-storage-locker-folkstone-color-finish>: HTTP status code is not handled or not allowed 2026-01-28 10:15:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-nylon-cable-ties-502103-100-56-long-100-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-exercise-band-50-yard-rolls-5-color-set>: HTTP status code is not handled or not allowed 2026-01-28 10:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-steel-cart-2-flush-shelves-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 10:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29378-59-aluminum-handle-purple>: HTTP status code is not handled or not allowed 2026-01-28 10:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0703us-automatic-shut-off-coupling>: HTTP status code is not handled or not allowed 2026-01-28 10:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1061180-aerator-faucet-05gpm-55-64thd>: HTTP status code is not handled or not allowed 2026-01-28 10:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-yellow-6-yard-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561215-sink-drain>: HTTP status code is not handled or not allowed 2026-01-28 10:15:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-dual-post-insulator-terminal-protectors-5713-025r-4-0-gauge-max-25-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29383-59-fiberglass-handle-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29379-59-aluminum-handle-black>: HTTP status code is not handled or not allowed 2026-01-28 10:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps>: HTTP status code is not handled or not allowed 2026-01-28 10:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps>: HTTP status code is not handled or not allowed 2026-01-28 10:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70605-12-deck-wall-scrub-stiff-white>: HTTP status code is not handled or not allowed 2026-01-28 10:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-black-6-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 10:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263796-cap-end-round-tubing>: HTTP status code is not handled or not allowed 2026-01-28 10:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/whiffle153-typical-2-mobile-storage-cabinet-30w-x-19-34d-x-60h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/whiffle153-typical-4-mobile-storage-cabinet-43-14w-x-19-34d-x-60h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56861-3-gallon-bucket-pink>: HTTP status code is not handled or not allowed 2026-01-28 10:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-loop-30-long-blue-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 10:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slush-boots-size-14-rubber-yellow-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 10:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-yellow-50-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 10:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-frock-5xl-white>: HTTP status code is not handled or not allowed 2026-01-28 10:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55005-cleaning-pad-holder-white>: HTTP status code is not handled or not allowed 2026-01-28 10:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53685-216-1-6-tube-brush-for-flex-rod-medium-white>: HTTP status code is not handled or not allowed 2026-01-28 10:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-1002-neo-slide-bar>: HTTP status code is not handled or not allowed 2026-01-28 10:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fieldpro-purofort-boots-plain-toe-15h-size-6-green>: HTTP status code is not handled or not allowed 2026-01-28 10:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-exercise-cord-with-attachments-7-cord-black>: HTTP status code is not handled or not allowed 2026-01-28 10:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-weather-survival-kit-70400-1-person>: HTTP status code is not handled or not allowed 2026-01-28 10:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/process-station-23w-x-44d-x-72h-6-cylinder-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5551302-ust-detail-brush-soft-green>: HTTP status code is not handled or not allowed 2026-01-28 10:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-audio-visual-instrument-cart-32-x-24-x-48-three-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56883-1-5-gallon-bucket-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigpro174-purofort-full-safety-boots-steel-toe-12h-size-14-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-portable-stand-24w-x-36-1-2d-x-31-1-2h-4-cylinder-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seapro-purofort-non-safety-boots-metal-midsole-size-3-sea-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53653-216-0-8-tube-brush-for-flex-rod-medium-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-cylinder-bracket-1>: HTTP status code is not handled or not allowed 2026-01-28 10:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-cylinder-bracket-4>: HTTP status code is not handled or not allowed 2026-01-28 10:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-tray-dolly-1>: HTTP status code is not handled or not allowed 2026-01-28 10:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-delineator-post-49-in-h-lime-green>: HTTP status code is not handled or not allowed 2026-01-28 10:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1831148-damper-kit-2-sheets-4-springs-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 10:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1831228-support-rod-kit-vct2010-yellow-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 10:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-recessed-sanitary-disposal>: HTTP status code is not handled or not allowed 2026-01-28 10:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dandux-vinyl-basket-truck-bulk-truck-6-bushel-green>: HTTP status code is not handled or not allowed 2026-01-28 10:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-surface-mounted-automatic-universal-roll-towel-dispenser-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342010-heating-element-kit208v-8kw-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 10:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duty-trailer-stabilizing-jack-stand>: HTTP status code is not handled or not allowed 2026-01-28 10:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-1-1-2-machine-screw-round-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70134-paddle-scraper-flexible-red>: HTTP status code is not handled or not allowed 2026-01-28 10:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-black-cable-tie>: HTTP status code is not handled or not allowed 2026-01-28 10:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-battery-jumper-cable-4t-awg-20l-blackred>: HTTP status code is not handled or not allowed 2026-01-28 10:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77545-24-foam-blade-squeegee-white>: HTTP status code is not handled or not allowed 2026-01-28 10:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901120-handle-nsf-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 10:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-4-machine-screw-pan-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62509-lobby-dustpan-w-broom-black>: HTTP status code is not handled or not allowed 2026-01-28 10:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014215-terminal-block-kit-3-pole-ce-for-hatco-corp>: HTTP status code is not handled or not allowed 2026-01-28 10:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-trimlineseries-semi-recessed-towel-dispenser-recept-6-3-10-gal>: HTTP status code is not handled or not allowed 2026-01-28 10:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5380-103-2-216-4-0-pipe-brush-medium-green>: HTTP status code is not handled or not allowed 2026-01-28 10:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321255-tubing-per-ft-1-4-x-3-8>: HTTP status code is not handled or not allowed 2026-01-28 10:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-asphalt-installation-blue-cover-yellow-tapes>: HTTP status code is not handled or not allowed 2026-01-28 10:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62506-lobby-dustpan-w-broom-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-frameless-mirror-23-1-2-w-x-35-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 10:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-inch-caged-hex-hole-dbl-sealed-2-od-1-1-4w-7-8-14-thr>: HTTP status code is not handled or not allowed 2026-01-28 10:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-5-8-machine-screw-flat-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-inch-caged-crowned-od-screwdriver-slot-dbl-sealed-3-4-od-1-2w-3-8-24-thr>: HTTP status code is not handled or not allowed 2026-01-28 10:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45878-bench-brush-soft-purple>: HTTP status code is not handled or not allowed 2026-01-28 10:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-hopper-front-bulk-truck-38-cu>: HTTP status code is not handled or not allowed 2026-01-28 10:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341648-griddle-element-208v-2250w-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 10:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-medium-duty-torch-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-30w-x-12d-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89616 pages (at 99 pages/min), scraped 48697 items (at 19 items/min) 2026-01-28 10:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31996-24-small-particle-push-broom-soft-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-36-d-production-workbench-esd-laminate-safety-edge-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681214-roller-basket-lift-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 10:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-1-4-fold-treated-dust-cloth-12-x-17-40-bag-m-n6507h>: HTTP status code is not handled or not allowed 2026-01-28 10:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-voltage-thermostat-double-pole-heat-only-aet9dwts>: HTTP status code is not handled or not allowed 2026-01-28 10:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polyester-filter-12-w-x-18-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-28 10:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-60x24x80-1200-pound-capacity-with-brakes-1>: HTTP status code is not handled or not allowed 2026-01-28 10:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-tube-brush-base-only-4-5-7in-black-c27131>: HTTP status code is not handled or not allowed 2026-01-28 10:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5380-103-6-216-4-0-pipe-brush-medium-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-36x18x83-1200-pound-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 10:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-turnbury-translucent-lidfits-dx3300-9-oz-bowl1000-cs-translucent-dx33008714>: HTTP status code is not handled or not allowed 2026-01-28 10:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6961md3-3-metal-detectable-scraper-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8619-containment-berms-repair-kit-11-by-36-pvc>: HTTP status code is not handled or not allowed 2026-01-28 10:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-production-workbench-maple-butcher-block-safety-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2301048-dial-thermostat-flat-right-for-groen>: HTTP status code is not handled or not allowed 2026-01-28 10:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-ss-2-door-locking-cabinet-w-drawers60-x-24-x-7814-drawers>: HTTP status code is not handled or not allowed 2026-01-28 10:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009783-hp-fuse-assembly-for-fryer-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 10:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41868-long-handle-scrubbing-brush-stiff-purple>: HTTP status code is not handled or not allowed 2026-01-28 10:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-access-door-6-x-6>: HTTP status code is not handled or not allowed 2026-01-28 10:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-access-door-8-x-8>: HTTP status code is not handled or not allowed 2026-01-28 10:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-access-door-24-x-24>: HTTP status code is not handled or not allowed 2026-01-28 10:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-fenwick-insulated-dome-10-d-12-cs-midnight-blue-dx540050>: HTTP status code is not handled or not allowed 2026-01-28 10:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011694-bulb-230v-25w-for-moffat>: HTTP status code is not handled or not allowed 2026-01-28 10:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breakfast-blend-dark-coffee-24-pods>: HTTP status code is not handled or not allowed 2026-01-28 10:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/house-blend-coffee-24-pods>: HTTP status code is not handled or not allowed 2026-01-28 10:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-jenny-park-traycover-w-straight-edge-round-corner-13-5-8x18-3-4-1000-cs-dx5091m0000>: HTTP status code is not handled or not allowed 2026-01-28 10:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-x-2in-durham-phenolic-caster-kit-2-rigid-2-swivel>: HTTP status code is not handled or not allowed 2026-01-28 10:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010227-knob-kit-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 10:16:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/safety_cabinets/flammable_materials_cabinets/drum_storage_flammable_safety_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-spraybar-assembly-for-apex153-2000-portable-evaporative-coolers>: HTTP status code is not handled or not allowed 2026-01-28 10:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-30-shop-top-work-bench-fixed-height-1-1-2-top>: HTTP status code is not handled or not allowed 2026-01-28 10:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bott-singlespring-clips-for-perfo-panels-package-of-5-34w>: HTTP status code is not handled or not allowed 2026-01-28 10:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41861-long-handle-scrubbing-brush-stiff-pink>: HTTP status code is not handled or not allowed 2026-01-28 10:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-96x36x120-starter-unit-green-orange-6080-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-security-cage-36x24x36>: HTTP status code is not handled or not allowed 2026-01-28 10:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1154-stainless-steel-flat-washer-18-8-size-8-100-box>: HTTP status code is not handled or not allowed 2026-01-28 10:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1111244-cartridge-cold-cerama-leadfree-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 10:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-cube-ice-machine-356lb>: HTTP status code is not handled or not allowed 2026-01-28 10:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-unit-black-13-black-belt>: HTTP status code is not handled or not allowed 2026-01-28 10:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8400727-28-inch-brush-teflonstright-fryer>: HTTP status code is not handled or not allowed 2026-01-28 10:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-vi-wind-front-brim-safety-helmet-adjustable-one-d-rotor-clamping-system-black>: HTTP status code is not handled or not allowed 2026-01-28 10:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/safety_cabinets/flammable_materials_cabinets/drum_storage_flammable_safety_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 10:16:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-able-shipping-container-with-lid-42-x-42-7>: HTTP status code is not handled or not allowed 2026-01-28 10:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rl-dbs-2-120v-digital-dual-range-baby-scale-0-22-lb-x-0-2-oz-22-44-lb-x-0-5-oz>: HTTP status code is not handled or not allowed 2026-01-28 10:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-wrist-and-ankle-weight-25-lb-green>: HTTP status code is not handled or not allowed 2026-01-28 10:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perimeter-patrol-welded-wire-yellow-fence-1>: HTTP status code is not handled or not allowed 2026-01-28 10:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-wrist-and-ankle-weight-24-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 10:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfc16080-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 10:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfc10025-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 10:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-inch-fry-pan-steelcoatx3-trivent-silicone-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263107-brass-nipple-1-2-inch-x-1-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263652-ferrule-brass-5-16-inch-20-pkg>: HTTP status code is not handled or not allowed 2026-01-28 10:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-reinforced-water-activated-tape-72mmx450ft-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-cu-yd-self-dumping-steel-hopper-with-bump-release-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 10:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-force-rug-5-x-8-60-inch-x-92-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1191097-foot-gry-plst-f-1-1-2-inch-od-rd>: HTTP status code is not handled or not allowed 2026-01-28 10:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-72-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 10:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-basket-26-liter-with-wire-handle-1>: HTTP status code is not handled or not allowed 2026-01-28 10:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perimeter-patrol-welded-steel-powder-coat-fence-2>: HTTP status code is not handled or not allowed 2026-01-28 10:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-flush-tee-fitting-side-outlet-for-15-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-maker-soft-chewable-ice-crystals-approx-1053-lb-production-chewable-ice-crystals>: HTTP status code is not handled or not allowed 2026-01-28 10:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-eye-adjustable-manual-trolley-4000lb>: HTTP status code is not handled or not allowed 2026-01-28 10:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a214-benchtop-ph-ise-meter-kit-stara2145>: HTTP status code is not handled or not allowed 2026-01-28 10:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-wrist-and-ankle-weight-with-mobile-rack-20-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 10:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-1-piece-utility-tong-black>: HTTP status code is not handled or not allowed 2026-01-28 10:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-turner-black>: HTTP status code is not handled or not allowed 2026-01-28 10:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-cube-ice-maker-approx-334-lb-production-full-size-cube>: HTTP status code is not handled or not allowed 2026-01-28 10:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cgc05020-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 10:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-piano-whip-with-hi-temp-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-foot-2-piece-aluminum-telescopic-extension-pole-5-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-cube-ice-maker-approx-349-lb-production-half-size-cube>: HTTP status code is not handled or not allowed 2026-01-28 10:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013963-screw-mach-10-24-x-1-2-inch-stainless-steel-truss-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 10:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdc06070-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 10:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdc12040-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 10:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-lid-stacking-bin-184812>: HTTP status code is not handled or not allowed 2026-01-28 10:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-48l-x-18w-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-4-1-8-w-x-11-5-8-d-x-4-h-red-1>: HTTP status code is not handled or not allowed 2026-01-28 10:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-72l-x-18w-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freeman-mini-palm-nailer>: HTTP status code is not handled or not allowed 2026-01-28 10:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bzc16010-cotter-pin>: HTTP status code is not handled or not allowed 2026-01-28 10:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-twill-safety-cargo-utility-pants-34l-inseam-x-40-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 10:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2891058-relay-solid-state-240v-for-marshall-air-products>: HTTP status code is not handled or not allowed 2026-01-28 10:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89714 pages (at 98 pages/min), scraped 48714 items (at 17 items/min) 2026-01-28 10:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-11-1-8-w-x-17-7-8-d-x-4-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbb06-nylon-insert-lock-nut>: HTTP status code is not handled or not allowed 2026-01-28 10:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsc12-hex-jam-nut>: HTTP status code is not handled or not allowed 2026-01-28 10:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-pants-xl-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-60l-x-21w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-w-machinery-wire-fence-partition-panel>: HTTP status code is not handled or not allowed 2026-01-28 10:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-w-machinery-wire-fence-partition-panel>: HTTP status code is not handled or not allowed 2026-01-28 10:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-twill-safety-cargo-utility-pants-32l-inseam-x-44-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 10:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-48l-x-18w-x-69h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signature-server-frost-top-stations-8>: HTTP status code is not handled or not allowed 2026-01-28 10:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-stretch-waist-flex-twill-cargo-pants-32l-inseam-x-33-34-waist-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441592-power-relay>: HTTP status code is not handled or not allowed 2026-01-28 10:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spa-seat-shower-stool>: HTTP status code is not handled or not allowed 2026-01-28 10:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-top-tab-classification-folders-two-dividers-six-section-red-10box>: HTTP status code is not handled or not allowed 2026-01-28 10:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/660lb-platform>: HTTP status code is not handled or not allowed 2026-01-28 10:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-security-weather-resistant-covered-padlocks-with-master-key-system-6127lh>: HTTP status code is not handled or not allowed 2026-01-28 10:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-pants-s-black>: HTTP status code is not handled or not allowed 2026-01-28 10:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-on-ripstop-safety-rain-pants-csa-class-3-level-2-3xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 10:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-32l-inseam-x-40-waist-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-pants-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 10:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-7-drawer-roller-friction-brown-2>: HTTP status code is not handled or not allowed 2026-01-28 10:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-30-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 10:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-708817>: HTTP status code is not handled or not allowed 2026-01-28 10:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-pants-2xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 10:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-143-parts-washing-solution-20-gallon-drum-36650>: HTTP status code is not handled or not allowed 2026-01-28 10:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-hand-knob-screws-m10x15-thread-50mm-thread-length-50mm-knob-dia>: HTTP status code is not handled or not allowed 2026-01-28 10:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-60-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 10:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lathes-jet321579>: HTTP status code is not handled or not allowed 2026-01-28 10:17:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011824-eterna-cartridge-new-stlye-rtc-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 10:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mp2-det-clv-mount-kit-3-1-4-bore-nfpa-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 10:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-3-capacity-closed-side-flexible-hanging-file-pockets-letter-sky-blue-25box>: HTTP status code is not handled or not allowed 2026-01-28 10:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sourcing-reed-switch-1-amp-tie-rod-3m-cbl>: HTTP status code is not handled or not allowed 2026-01-28 10:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-kickboard-yellow-14-001-yel>: HTTP status code is not handled or not allowed 2026-01-28 10:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-30l-inseam-x-30-waist-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-industrial-single-outlet-16-3-35>: HTTP status code is not handled or not allowed 2026-01-28 10:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/350128-jmd-18pfn-milling-drilling-machine-w-newall-dp700-dro-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 10:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pro-color-coded-water-aerobic-belt-purple-size-small-14-013-pur-s>: HTTP status code is not handled or not allowed 2026-01-28 10:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012617-relay-24vdc-gen-purpose-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-28 10:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-24-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 10:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-add-on-30-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 10:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders>: HTTP status code is not handled or not allowed 2026-01-28 10:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-add-on-24-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 10:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011514-transformer-115-12v-15va-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 10:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-add-on-30-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 10:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-800mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-3-12-accordion-expansion-end-tab-file-pocket-straight-tab-lgl-manila-25bx>: HTTP status code is not handled or not allowed 2026-01-28 10:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-strapping-1-2-x-025-x-7200-black-16-x-6-core>: HTTP status code is not handled or not allowed 2026-01-28 10:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-add-on-42-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 10:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-125mm-bore-x-160mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-without-hem-32-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 10:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-2-accordion-expansion-wallet-with-cord-letter-redrope>: HTTP status code is not handled or not allowed 2026-01-28 10:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-vinyl-welding-curtain-6w-x-10h-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uncoated-fiberglass-welding-blanket-8w-x-8h-white>: HTTP status code is not handled or not allowed 2026-01-28 10:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/head-immobilizer-red-10-001-red>: HTTP status code is not handled or not allowed 2026-01-28 10:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4ft-long-shirred-pleat-skirting-16h-stage-black>: HTTP status code is not handled or not allowed 2026-01-28 10:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-230mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquarad-rain-coat-hood-only-25-mil-tpu-200d-nylon-yellow-rh33-nsyy-univ>: HTTP status code is not handled or not allowed 2026-01-28 10:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-recycled-interior-file-folders-13-cut-top-tab-legal-red-100box>: HTTP status code is not handled or not allowed 2026-01-28 10:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-add-on-36-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 10:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxiflex-gloves-black-micro-foam-nitirle-coated-knit-glove-xxl-12-pairs>: HTTP status code is not handled or not allowed 2026-01-28 10:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2941007-rod-torque-hex-end-for-anthony-international-california>: HTTP status code is not handled or not allowed 2026-01-28 10:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-fleece-lined-safety-jacket-lt-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 10:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-60-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 10:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012916-knob-assembly-t-stat-200-550-deg-f-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 10:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-32l-inseam-x-32-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 10:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-cover-assembly-125273-5-for-9554nb-4-1-2-angle-grinder>: HTTP status code is not handled or not allowed 2026-01-28 10:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-4-in-1-safety-jacket-m-black>: HTTP status code is not handled or not allowed 2026-01-28 10:17:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton-21303>: HTTP status code is not handled or not allowed 2026-01-28 10:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22awg-2c-stranded-shielded-control-cable-plenum-cmp-1000-ft-box-white>: HTTP status code is not handled or not allowed 2026-01-28 10:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22awg-2c-stranded-shielded-control-cable-plenum-cmp-500-ft-box-white>: HTTP status code is not handled or not allowed 2026-01-28 10:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-290mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-straight-carpet-96l-x-18w-x-16h-red>: HTTP status code is not handled or not allowed 2026-01-28 10:17:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/air_hammers_percussion_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-with-6-lb-unscented-paraffin-100-liners-1-mitt-and-1-bootie>: HTTP status code is not handled or not allowed 2026-01-28 10:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-clevis-bracket-mount-al-63-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 10:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-tapered-carpet-78l-x-18w-x-32h-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89808 pages (at 94 pages/min), scraped 48732 items (at 18 items/min) 2026-01-28 10:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421378-brush-cleaning-8-inch-blk-handle-for-carlisle-foodservice-products>: HTTP status code is not handled or not allowed 2026-01-28 10:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders>: HTTP status code is not handled or not allowed 2026-01-28 10:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-fleece-lined-safety-jacket-xl-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-connector-60000-12-12-12mm-tube-x-12-bspt-thread-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-needle-valve-82830-06-38-tube-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 10:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-male-clevis-bracket-al-mount-125-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 10:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-stage-carpet-96l-x-36w-x-32h-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/air_tools_accessories/air_hammers_percussion_tools>: HTTP status code is not handled or not allowed 2026-01-28 10:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-950mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-6-lb-beads-in-bag-rose-blossom-fragrance>: HTTP status code is not handled or not allowed 2026-01-28 10:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-1300mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-89953-04-02-screw-adj-14-tube-x-18-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 10:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-180mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681235-insulation-outer-lowerside-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 10:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711317-new-wendy-s-fry-scoop-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 10:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/english-ice-cap-reusable-ice-bag-9-diameter-case-of-12>: HTTP status code is not handled or not allowed 2026-01-28 10:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-garbage-can-32-gallon-commercial-duty>: HTTP status code is not handled or not allowed 2026-01-28 10:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bib-apron-30-x-34-no-pockets-black>: HTTP status code is not handled or not allowed 2026-01-28 10:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-xlt-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 10:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30x64-75-cabinet-leg-workstation-w-4-drawers-stat-riser-shelf-2-ovhd-cabs-butcher-block-top>: HTTP status code is not handled or not allowed 2026-01-28 10:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-coupler-80621-08-14-x-12-male-nptf>: HTTP status code is not handled or not allowed 2026-01-28 10:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011121-brush-lettuce-cutter>: HTTP status code is not handled or not allowed 2026-01-28 10:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-180mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-cross-82620n-04-14-nptf-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 10:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enviroalert-ea400-12>: HTTP status code is not handled or not allowed 2026-01-28 10:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1591181-goodyear-ax35-belt>: HTTP status code is not handled or not allowed 2026-01-28 10:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-580mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-42-w-x-24-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 10:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-record-storage-rack-gray-48-wx-48-d-x-84-h-with-polyethylene-file-boxes>: HTTP status code is not handled or not allowed 2026-01-28 10:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-55920-6-18-screw-adj-6mm-tube-x-18-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 10:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-30mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-42-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 10:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pint-reclosable-standup-pouch-with-write-on-strips-12-x-10-175-mil>: HTTP status code is not handled or not allowed 2026-01-28 10:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-black-urethane-reusable-cold-pack-circular-10-diameter>: HTTP status code is not handled or not allowed 2026-01-28 10:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-72-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 10:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-96x24x60-with-3-shelves-wood-deck-800-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 10:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31-extension-for-28-magnetic-burning-guide-72l>: HTTP status code is not handled or not allowed 2026-01-28 10:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-55910-6-m5-screw-adj-flow-in-6mm-tube-x-m5-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 10:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-55222-6-18-6mm-tube-x-18-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 10:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171301-valve-rebuild-kit-35gpf-toilt-for-zurn-industries-llc>: HTTP status code is not handled or not allowed 2026-01-28 10:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8mm-id-x-13mm-od-x-025mm-shoulder-screw-shortening-shim-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 10:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-expandable-starter-rack-72x36x84-gray-with-3-level-wood-deck-750lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 10:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vollrath-tilt-pour-cover-20-oz-black>: HTTP status code is not handled or not allowed 2026-01-28 10:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vollrath-supreme-set-slotted-ring-cup>: HTTP status code is not handled or not allowed 2026-01-28 10:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boots-cleated-outsole-plain-toe-mens-size-4-15h-white>: HTTP status code is not handled or not allowed 2026-01-28 10:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vollrath-lobsternut-cracker-forged-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241128-retainer-snap-in-gasket-6>: HTTP status code is not handled or not allowed 2026-01-28 10:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-type-ii-safety-can-5-8-spout-5-gallons-red>: HTTP status code is not handled or not allowed 2026-01-28 10:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-125mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-reusable-hot-compress-standard-5-x-15-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-galvanized-steel-shelving-72-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 10:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010555-center-door-seal-left-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 10:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-85222-02-02-18-tube-x-18-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 10:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-heavy-duty-shelving-36x18x60-with-4-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-pigeon-hole-organizer-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-280mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-250mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 10:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-wire-container-32x20x21-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481010-track-v-true-41-inch-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 10:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-jacket-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 10:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-flammable-liquid-tower-safety-cabinet-self-close-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 10:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-roll-fold-steel-rolling-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 10:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-machine-112-in-wrap-height-10-free-rolls-of-stretch-wrap>: HTTP status code is not handled or not allowed 2026-01-28 10:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-85210-02-02-18-tube-x-18-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 10:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finish-thompson-air-drum-pump-1hp-80-psi-motor>: HTTP status code is not handled or not allowed 2026-01-28 10:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-and-finish-disc-6-inch-x-1-2-inch-vfn-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-heavy-duty-boltless-shelving-add-on-48-in-w-x-12-in-d-x-72-in-h>: HTTP status code is not handled or not allowed 2026-01-28 10:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00125-beamer-153-bbc-fits-8-to-18-beams-up-to-2-1-2-thick-130-420-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-heavy-duty-shelving-36x12x96-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-fitting-kit-87861-08-36-assorted-12-fittings-durham-slide-drawer>: HTTP status code is not handled or not allowed 2026-01-28 10:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-tube-fitting-kit-87861-04-60-assorted-14-fittings-durham-slide-drawer>: HTTP status code is not handled or not allowed 2026-01-28 10:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1412134-belt-pak-f-table-turner-wipes>: HTTP status code is not handled or not allowed 2026-01-28 10:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89901 pages (at 93 pages/min), scraped 48754 items (at 22 items/min) 2026-01-28 10:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264054-grinder-plate-3-16-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61135-65-universal-guardrail-post-powder-coated-steel-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-extra-shelving-36x12x96-gray-with-5-shelves-1500-lb-cap-per-shelf>: HTTP status code is not handled or not allowed 2026-01-28 10:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-shelf-with-laminated-deck-72x24-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 10:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-auxilliary-condensate-overflow-safety-switch-11a-72l-wire>: HTTP status code is not handled or not allowed 2026-01-28 10:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-floor-curb-90-degree-corner-5-16-in-thick-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exl-deburring-wheel-12-inch-x-2-inch-x-5-inch-med-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5051005-mount-motor-for-heatcraft>: HTTP status code is not handled or not allowed 2026-01-28 10:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-extra-shelving-36x12x60-gray-with-5-shelves-1500-lb-cap-per-shelf>: HTTP status code is not handled or not allowed 2026-01-28 10:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50008-p-plastic-barrier-chain-in-a-pail-hdpe-2-x160-8-51mm-silver>: HTTP status code is not handled or not allowed 2026-01-28 10:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b50000-series-digital-pressure-gauge-3000-psi-14-npt-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-record-storage-open-1>: HTTP status code is not handled or not allowed 2026-01-28 10:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-aluminum-shim-0062-inch-thick-0003-inch-laminations-24-inch-x-24-inch-sheet>: HTTP status code is not handled or not allowed 2026-01-28 10:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7018135-rk-957957rpda-ck1-8-1st-check-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-89130-08-12-tube-metallic-collet->: HTTP status code is not handled or not allowed 2026-01-28 10:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-mount-in-ground-post-for-weekend-away-mail-protector-dvjr0060-dvcs0070-dvjr0060pi-white>: HTTP status code is not handled or not allowed 2026-01-28 10:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0004-inch-stainless-steel-shim-stock-12-inch-x-50-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-12-x-39>: HTTP status code is not handled or not allowed 2026-01-28 10:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30010-500-plastic-barrier-chain-hdpe-1-5-x500-6-38mm-brown>: HTTP status code is not handled or not allowed 2026-01-28 10:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deposit-vault-mailbox-and-parcel-drop-dvcs0020-free-standing-rear-access-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2711058-element-defrost-115v-400w-24-inch-for-delfield>: HTTP status code is not handled or not allowed 2026-01-28 10:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30009-500-plastic-barrier-chain-hdpe-1-5-x500-6-38mm-gold>: HTTP status code is not handled or not allowed 2026-01-28 10:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30029-100-plastic-barrier-chain-alternating-colors-1-5-x100-6-38mm-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b12h-part-ss-worm-gear-hose-clamp-916-inch-1-14-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m16-x-2-0-x-60mm-socket-head-cap-screw-304-stainless-steel-pkg-of-15>: HTTP status code is not handled or not allowed 2026-01-28 10:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-sign-holder-with-frame-14-in-w-x-11-in-h-insert-black>: HTTP status code is not handled or not allowed 2026-01-28 10:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-20mm-socket-head-cap-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-aquatic-exercise-kit-jogger-belt-ankle-cuffs-hand-bars-medium-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50036-100-alternating-plastic-barrier-chain-hdpe-2-x100-8-51mm-black-red>: HTTP status code is not handled or not allowed 2026-01-28 10:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-cabinet-wardrobe-storage-1>: HTTP status code is not handled or not allowed 2026-01-28 10:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-dividable-4>: HTTP status code is not handled or not allowed 2026-01-28 10:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b88hspx-316-stainless-worm-gear-hose-clamp-4-332-inch-6-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-arms-1>: HTTP status code is not handled or not allowed 2026-01-28 10:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-without-lid-5>: HTTP status code is not handled or not allowed 2026-01-28 10:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-solo-450-rw-led-headlamp-450-lumens-86m-beam-distance-black>: HTTP status code is not handled or not allowed 2026-01-28 10:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30066-25-plastic-barrier-chain-hdpe-1-5-x25-6-38mm-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-89110-04-02-14-tube-x-18-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 10:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx24-dx85-h-closed-clip-style-5-shelf-add-on-1>: HTTP status code is not handled or not allowed 2026-01-28 10:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-locker-double-tier-18x18x36-6-door-parchment>: HTTP status code is not handled or not allowed 2026-01-28 10:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfy-hand-wrist-orthosis-pediatric-small-with-one-cover>: HTTP status code is not handled or not allowed 2026-01-28 10:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x18x72-1>: HTTP status code is not handled or not allowed 2026-01-28 10:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30713-10-master-link-acetal-copolymer-1-5-traffic-orange-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-20mm-phillips-oval-head-machine-screw-304-stainless-steel-din-966-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kinesiology-tape-2-x-16-5-ft-beige-latex-free-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rough-terrain-caster-kit-for-evaporative-coolers>: HTTP status code is not handled or not allowed 2026-01-28 10:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ankle-brace-02d-sport-stirrup-ankle-right>: HTTP status code is not handled or not allowed 2026-01-28 10:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-cu-yd-yellow-self-dumping-forkli-hopper-with-heavy-gauge-base>: HTTP status code is not handled or not allowed 2026-01-28 10:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-gallon-plastic-liner-for-50-gallon-waste-and-recycle-containers>: HTTP status code is not handled or not allowed 2026-01-28 10:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b116hsp-300-series-ss-hose-clamp-5-34-inch-7-34-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-casters-8-x-2-2-swivel-2-rigid-self-dumping-hopper>: HTTP status code is not handled or not allowed 2026-01-28 10:19:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/recycling_bins_receptacles/recycling_cans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycle-42-square-container-mixed-open-top-beige>: HTTP status code is not handled or not allowed 2026-01-28 10:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-4525-123-3a-cord-reel-single-outlet>: HTTP status code is not handled or not allowed 2026-01-28 10:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-products-renewable-psm-cutlery-knife-cream-50pack>: HTTP status code is not handled or not allowed 2026-01-28 10:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681308-motor-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-5xl-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-rear-squeegee-blade-20-scrubber>: HTTP status code is not handled or not allowed 2026-01-28 10:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-s-short-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-poly-scrub-brush-20-electric-floor-scrubber>: HTTP status code is not handled or not allowed 2026-01-28 10:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-2-minature-rotary-action-sander>: HTTP status code is not handled or not allowed 2026-01-28 10:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-5xl-long-tall-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dome-lid-44-gallon-round-trash-container-1>: HTTP status code is not handled or not allowed 2026-01-28 10:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blackout-cordless-cellular-shade-48-wide-x-48-drop-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/recycling_bins_receptacles/recycling_cans>: HTTP status code is not handled or not allowed 2026-01-28 10:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-sign-2-sided-multi-lingual-legend-caution>: HTTP status code is not handled or not allowed 2026-01-28 10:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-filtering-cordless-cellular-shade-30-wide-x-48-drop-cloud-white>: HTTP status code is not handled or not allowed 2026-01-28 10:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-3ph-1745-1435rpm-c6t17fc210cc>: HTTP status code is not handled or not allowed 2026-01-28 10:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-products-greenstripe-renewable-resource-cold-drink-cups-20-oz-clear-1000carton>: HTTP status code is not handled or not allowed 2026-01-28 10:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-heater-high-capacity-194-3000225015001125w-240208v-white>: HTTP status code is not handled or not allowed 2026-01-28 10:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-4-inch-x-0125-inch-stainless-steel-slotted-shim-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 10:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tripod-galvanized-steel-10-h-310-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0010-inch-brown-plastic-color-coded-shim-stock-5-inch-x-20-inch-flat-sheet>: HTTP status code is not handled or not allowed 2026-01-28 10:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-waterproof-hard-case-w-p-tear-foam-14-l-x-10-23-32-w-x-4-11-64-h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-coverall-m-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-concorde-foam-bowl-10-12-oz-white-125pack-1000carton>: HTTP status code is not handled or not allowed 2026-01-28 10:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 89995 pages (at 94 pages/min), scraped 48774 items (at 20 items/min) 2026-01-28 10:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tabletop-document-folder-200-sheet-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s8950-28w-torpedo-led-candelabra-base-3000k-1card>: HTTP status code is not handled or not allowed 2026-01-28 10:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ph-conductivity-benchtop-meter-and-stand-vstar50>: HTTP status code is not handled or not allowed 2026-01-28 10:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-2xl-regular-khaki>: HTTP status code is not handled or not allowed 2026-01-28 10:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ph-ise-conductivity-and-rdo-do-meter-standard-kit-vstar92>: HTTP status code is not handled or not allowed 2026-01-28 10:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-pliers-irwin-vise-grip-2078925>: HTTP status code is not handled or not allowed 2026-01-28 10:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-2xl-tall-khaki>: HTTP status code is not handled or not allowed 2026-01-28 10:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-drill-bits-irwin-322033>: HTTP status code is not handled or not allowed 2026-01-28 10:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-cup-company-plastic-souffle-portion-cups-4oz-translucent-250bag>: HTTP status code is not handled or not allowed 2026-01-28 10:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thread-repair-kit-for-metal-thin-wall-m12-1-75-x-5-8-11-ez-310-m12>: HTTP status code is not handled or not allowed 2026-01-28 10:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threading-tools-standard-12016>: HTTP status code is not handled or not allowed 2026-01-28 10:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-countertop-auto-spray-soap-sanitizer-dispenser-white-chrome>: HTTP status code is not handled or not allowed 2026-01-28 10:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-strippers-irwin-vise-grip-2078300>: HTTP status code is not handled or not allowed 2026-01-28 10:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-plastic-box-truck-18-bushel>: HTTP status code is not handled or not allowed 2026-01-28 10:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/851223-pad-grease-universal16x16>: HTTP status code is not handled or not allowed 2026-01-28 10:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9173-14w-led-s14-ceramic-orange-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 10:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-air-compressor-with-drain-valve-2-hp-8-gal-cap-horizontal-4-cfm>: HTTP status code is not handled or not allowed 2026-01-28 10:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/size-c-4-inch-x-4-inch-stainless-steel-slotted-shim-260-piece-full-assortment>: HTTP status code is not handled or not allowed 2026-01-28 10:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-14-inch-id-x-1-34-inch-od-steel-arbor-shim-assortment>: HTTP status code is not handled or not allowed 2026-01-28 10:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-duty-flat-heating-blanket-md1010-120v-12l-x-12w>: HTTP status code is not handled or not allowed 2026-01-28 10:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-half-vision-show-case-black>: HTTP status code is not handled or not allowed 2026-01-28 10:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cash-register-stand-with-glass-cherry>: HTTP status code is not handled or not allowed 2026-01-28 10:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rachet-lock>: HTTP status code is not handled or not allowed 2026-01-28 10:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-high-density-polyethylene-sheeting-18-x-18-1-25-mil-blue-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-zip-front-hoodie-2xl-regular-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010534-heating-element-240v-5000w-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 10:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-voltage-programmable-thermostat-k702e-2-double-pole-208-240v-16a>: HTTP status code is not handled or not allowed 2026-01-28 10:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-pocket-card-display>: HTTP status code is not handled or not allowed 2026-01-28 10:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-brass-arbor-shim-1-inch-id-x-1-12-inch-od-x-0125-inch-thick-0002-inch-lam>: HTTP status code is not handled or not allowed 2026-01-28 10:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0024-inch-diameter-stainless-steel-wire-1-pound-coil>: HTTP status code is not handled or not allowed 2026-01-28 10:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0029-inch-diameter-stainless-steel-wire-1-pound-coil>: HTTP status code is not handled or not allowed 2026-01-28 10:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-filled-spill--flood-barrier-22-oz-pvc-5l-x-12w-x-6h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0080-inch-diameter-music-wire-1-pound-coil>: HTTP status code is not handled or not allowed 2026-01-28 10:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twixt-active-seating-chair-extended-height-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exo2-pig-05-xlproject-impact-glove>: HTTP status code is not handled or not allowed 2026-01-28 10:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-piece-1-14-inch-id-x-1-34-inch-od-plastic-color-coded-arbor-shim-assortment>: HTTP status code is not handled or not allowed 2026-01-28 10:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011520-fan-motor-assembly-evap-115v>: HTTP status code is not handled or not allowed 2026-01-28 10:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1591167-brush-kit-phu>: HTTP status code is not handled or not allowed 2026-01-28 10:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171473-splash-guard-sink-rh-stainless-steel-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-tray-truck-24-x-33-x-66-with-14-tray-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-inch-plastic-classroom-chair-set-of-five-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/counter-balance-stacker-li-truck-with-74-li-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-end-wood-shelf-truck-48-x-24-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-armor-2000-standard-harness-quick-connect-legs-s>: HTTP status code is not handled or not allowed 2026-01-28 10:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-oz-high-performance-manual-cartridge-tool-black>: HTTP status code is not handled or not allowed 2026-01-28 10:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/305393-triple-acrylic-surgical-glove-box-dispenser-17-w-x-7-d-x-11-3-8-h>: HTTP status code is not handled or not allowed 2026-01-28 10:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-hand-lever-actuated-valve-open-center-1-4-nptf-ports>: HTTP status code is not handled or not allowed 2026-01-28 10:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031188-element-fry-240v-4kw-45-angle-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 10:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-aire-ii-ductless-fume-hood-48w-23d-36h>: HTTP status code is not handled or not allowed 2026-01-28 10:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481084-gasket-drawer-13-inch-x-29-inch-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 10:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-plastic-lever-lock-14-gallon-capacity-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-divider-6-ft-high-x-5-ft-9-inch-long-fabric-greystone>: HTTP status code is not handled or not allowed 2026-01-28 10:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06565-1-16-x-2-x-6-plastic-masonry-shim-6216-504pc>: HTTP status code is not handled or not allowed 2026-01-28 10:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-plastic-lever-lock-30-gallon-capacity-red>: HTTP status code is not handled or not allowed 2026-01-28 10:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-plastic-lever-lock-55-gallon-cap-23-34-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 10:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-aluminum-gantry-crane-12-w-x-7-6-12-h-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-panel-divider-6-ft-high-x-24-ft-1-inch-long-fabric-wheat>: HTTP status code is not handled or not allowed 2026-01-28 10:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cors-outdoor-singlee-head-remote-led-fixture-120-277v>: HTTP status code is not handled or not allowed 2026-01-28 10:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cirs-indoor-single-head-remote-led-fixture-120-277v>: HTTP status code is not handled or not allowed 2026-01-28 10:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-hydraulic-scissor-ground-lift-tilt-table-52-x-52-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010202-quick-disconnect-3-4-inch-for-dormont-mfg>: HTTP status code is not handled or not allowed 2026-01-28 10:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-melamine-marker-board-with-strap-hangers>: HTTP status code is not handled or not allowed 2026-01-28 10:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-glazed-porcelain-socket-w-paper-liner-mounting-screws-held-captive-2-wireways-and-36-in-leads>: HTTP status code is not handled or not allowed 2026-01-28 10:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pasadena-bicycle-parking-rack-surface-mount-2-bike-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 10:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-leg-workbench-with-fixed-height-legs-5>: HTTP status code is not handled or not allowed 2026-01-28 10:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-candelabra-socket-with-42-in-leads-2-3-32-in-flange>: HTTP status code is not handled or not allowed 2026-01-28 10:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-90-degree-elbow-adapter-12mm-tube-od-x-12-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 10:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-90-degree-elbow-adapter-10mm-tube-od-x-14-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 10:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phoenix-4-cantilever-recycled-plastic-bench-without-back-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-28 10:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-20-x-20-x-20->: HTTP status code is not handled or not allowed 2026-01-28 10:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madison-8-outdoor-bench-with-back-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-28 10:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/augusta-steel-outdoor-trash-can-with-ash-urn-lid-36-gallon-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 10:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-beverage-table-sink-on-left-5-riser-electric-outlet-30x60>: HTTP status code is not handled or not allowed 2026-01-28 10:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-storage-bin-cabinet-72-bins-1>: HTTP status code is not handled or not allowed 2026-01-28 10:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centurion-stock-pots-3113-53-quart-15-3-4-depth>: HTTP status code is not handled or not allowed 2026-01-28 10:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 90094 pages (at 99 pages/min), scraped 48798 items (at 24 items/min) 2026-01-28 10:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-way-canopy-switch>: HTTP status code is not handled or not allowed 2026-01-28 10:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-plastic-shelf-truck-24-w-x-18-d-x-32-1-2-h-3-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-flat-washer-sae-5-32-i-d-steel-zinc-grade-2-pkg-of-100-cct066>: HTTP status code is not handled or not allowed 2026-01-28 10:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-fry-pan-with-ceramiguard-ii-interior-z4008-10-gauge-5-3-4-bottom-diameter>: HTTP status code is not handled or not allowed 2026-01-28 10:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-cfl-lampholder-w-uno-ring-g24q-1-gx24q-1-60hz-0-15a-13w-277v>: HTTP status code is not handled or not allowed 2026-01-28 10:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-u-cup-seal-14-id-x-12-od-x-18-height-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 10:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glazed-porcelain-socket-w-side-outlet-bushing-1-8-ips>: HTTP status code is not handled or not allowed 2026-01-28 10:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261036-twin-basket-12-1-8l-6-3-8w-5-3-8d>: HTTP status code is not handled or not allowed 2026-01-28 10:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-1-2-thick-mat-36x60-black>: HTTP status code is not handled or not allowed 2026-01-28 10:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madison-8-outdoor-bench-without-back-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-28 10:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250ml-bottle-top-filter-0-22um-pes-filter-75mm-diameter-sterile-24-case>: HTTP status code is not handled or not allowed 2026-01-28 10:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-combination-internal-external-tooth-lock-washer-steel-zinc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tenv-3ph-1140rpm-c6t11vk1dd>: HTTP status code is not handled or not allowed 2026-01-28 10:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010469-element-assembly-230v-10000w-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 10:21:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/frying_pans_skillets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-barstools-sky-blue-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 10:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-base-phenolic-e26-flanged-adapter-w-10-in-leads>: HTTP status code is not handled or not allowed 2026-01-28 10:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-table-with-2-imme-armless-barstools-moonbeam-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 10:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-length-squeeze-disher-47391-gray-3-7-oz-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000ul-low-retention-filter-pipette-tips-racked-sterile-960-case>: HTTP status code is not handled or not allowed 2026-01-28 10:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miramar-french-oven-w-cover-49431-7-quart-capacity-satin-finish>: HTTP status code is not handled or not allowed 2026-01-28 10:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fowler-combination-square-protractor-center-head-12-inch-blade>: HTTP status code is not handled or not allowed 2026-01-28 10:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ul-inoculating-loop-bulk-pack-sterile-blue-221mm-2000-case>: HTTP status code is not handled or not allowed 2026-01-28 10:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/316-stainless-steel-long-ferrule-3-long-for-2-12-tube>: HTTP status code is not handled or not allowed 2026-01-28 10:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100mm-x-15mm-petri-dish-stackable-sterile-clear-500-case>: HTTP status code is not handled or not allowed 2026-01-28 10:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-buna-n-camlock-gasket-for-3-hose-coupling-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 10:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/304-ss-high-pressure-clamp-with-bolt-for-quick-clamp-fittings-for-1-and-1-12-tube>: HTTP status code is not handled or not allowed 2026-01-28 10:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/frying_pans_skillets>: HTTP status code is not handled or not allowed 2026-01-28 10:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-wedgemaster-ii-708-8-section-cut-blade-assembly>: HTTP status code is not handled or not allowed 2026-01-28 10:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-1077-rubber-compression-door-gasket-strip-100-x-7-8-inch-x-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012335-motor-replacement-assembly-for-middleby>: HTTP status code is not handled or not allowed 2026-01-28 10:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reliable-16-piece-steam-accessory-kit-for-tandem-pro-2000cv-tandem-pro-2000cvkit1>: HTTP status code is not handled or not allowed 2026-01-28 10:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-table-with-2-imme-armless-barstools-moonbeam-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 10:21:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=fowler-z-height-e-gage-12-inch-300mm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adam-bench-weighing-scale-33lb>: HTTP status code is not handled or not allowed 2026-01-28 10:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7cube-black-faceout-for-ladder>: HTTP status code is not handled or not allowed 2026-01-28 10:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8000ab-adjustable-case-sealer-with-accuglide-nph-taping-head-side-belt-drive-2w-tape>: HTTP status code is not handled or not allowed 2026-01-28 10:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-round-table-with-2-imme-armless-barstools-light-gray-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 10:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-long-tan-double-rivet-beam>: HTTP status code is not handled or not allowed 2026-01-28 10:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/290-residential-4-stage-hepa-air-purifier-black>: HTTP status code is not handled or not allowed 2026-01-28 10:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-chairs-light-gray-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 10:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-red-pin-heavy-duty-dock-boards-18>: HTTP status code is not handled or not allowed 2026-01-28 10:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-red-pin-heavy-duty-dock-boards-22>: HTTP status code is not handled or not allowed 2026-01-28 10:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-squeeze-dispensers-2812-08-single-tip-12-oz>: HTTP status code is not handled or not allowed 2026-01-28 10:21:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/please-wash-your-hands-sign>: HTTP status code is not handled or not allowed 2026-01-28 10:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=fowler-z-height-e-gage-12-inch-300mm>: HTTP status code is not handled or not allowed 2026-01-28 10:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-natural-refrigerant-manual-defrost-laboratory-freezer-20-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 10:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-fry-pan-with-steelcoat-x3-interior-t4007-8-gauge-4-3-4-bottom-diameter>: HTTP status code is not handled or not allowed 2026-01-28 10:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/distribution-container-with-hinged-lid-21-1-2x15-1-4x12-1-2>: HTTP status code is not handled or not allowed 2026-01-28 10:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-bin-2-1-4-gallon-brown-batbin-24bo>: HTTP status code is not handled or not allowed 2026-01-28 10:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80-amp-solar-charge-controller-12-24-36-48-vdc-mppt>: HTTP status code is not handled or not allowed 2026-01-28 10:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-squeeze-dispensers-4924-02-wide-mouth-24-oz>: HTTP status code is not handled or not allowed 2026-01-28 10:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-caster-chairs-white-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 10:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-drop-in-guard-rail-8-ft-with-2-brackets-and-hardware>: HTTP status code is not handled or not allowed 2026-01-28 10:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-sky-blue-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 10:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-coral-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 10:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs>: HTTP status code is not handled or not allowed 2026-01-28 10:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-lid-1>: HTTP status code is not handled or not allowed 2026-01-28 10:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-caster-chairs-black-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 10:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1291135-kason-67003001625-filter-hood-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 10:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-aluminum-hand-truck-double-handle-pneumatic-wheels>: HTTP status code is not handled or not allowed 2026-01-28 10:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/furnace-cement-refractory-retort-cement-1-gal-1-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-heat-fuel-oil-diesel-treatment-8-in-1-1-pt-1-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caressoft-medical-drafting-stool-with-back-cushion-black>: HTTP status code is not handled or not allowed 2026-01-28 10:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1323-junction-box-with-lamp-assembly-5-16-inch-diameter-mounting-hole-5-1-8-inch-centers>: HTTP status code is not handled or not allowed 2026-01-28 10:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/furnace-cement-refractory-retort-cement-1-2-gal-1-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centurion-four-segment-pasta-inserts-3158-5-1-2-quart-capacity-4-pc>: HTTP status code is not handled or not allowed 2026-01-28 10:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-barstools-moonbeam-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 10:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-60x48x96-with-3-levels-wood-deck-1300-lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-valuestar-electric-chain-hoist-with-chain-container-500-lb-capacity-3>: HTTP status code is not handled or not allowed 2026-01-28 10:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-sauce-boss-lid-2800-31-clear-snap-fit-lid-one-hole-diffuser-six-hole-diffuser>: HTTP status code is not handled or not allowed 2026-01-28 10:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tank-access-ladder-ntal12>: HTTP status code is not handled or not allowed 2026-01-28 10:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbit-power-kit-for-68-and-81-posts-black>: HTTP status code is not handled or not allowed 2026-01-28 10:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-plastic-flatware-cylinder-storage-system-1370-4-1-2-diameter-beige>: HTTP status code is not handled or not allowed 2026-01-28 10:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-ceiling-mounted-personal-safety-partition-4-w-x-7-h>: HTTP status code is not handled or not allowed 2026-01-28 10:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjust-stepmate-stand-stainless-steel-ahwh1948ss>: HTTP status code is not handled or not allowed 2026-01-28 10:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-netting-wwoven-eyelets-8-x-50-black-pn-30068>: HTTP status code is not handled or not allowed 2026-01-28 10:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 90186 pages (at 92 pages/min), scraped 48815 items (at 17 items/min) 2026-01-28 10:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-staple-1-2-4-000-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261043389-blaze-quick-change-cloth-disc-3-inch-dia-100-grit-seeded-gel-ceramic-type-ii>: HTTP status code is not handled or not allowed 2026-01-28 10:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-66623340047-abrasotex-non-woven-quick-change-disc-1-1-2-inch-dia-vf-grit-aluminum-oxide-type-ii>: HTTP status code is not handled or not allowed 2026-01-28 10:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66623395000-neon-fiber-disc-4-inch-x-5-8-inch-aluminum-oxide-24-grit>: HTTP status code is not handled or not allowed 2026-01-28 10:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-28 10:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-storage-cabinet-36x24x78-black>: HTTP status code is not handled or not allowed 2026-01-28 10:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-compostable-eco-friendly-round-plates-1000-pcs>: HTTP status code is not handled or not allowed 2026-01-28 10:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fryer-night-cover-40714-fits-small-baskets>: HTTP status code is not handled or not allowed 2026-01-28 10:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66254487397-paper-sheet-9-inch-x-11-inch-p180-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-28 10:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-caster-chairs-black-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 10:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-angle-pencil-grinder>: HTTP status code is not handled or not allowed 2026-01-28 10:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-24-thermostatically-controlled-gas-griddle-40722-56000-btu-24-x-27-x-16>: HTTP status code is not handled or not allowed 2026-01-28 10:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2281263-hose-fryer-fltr-w-handle-10-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 10:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-lettuce-king-i-485-28-blades-1-4-cut>: HTTP status code is not handled or not allowed 2026-01-28 10:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-access-lock-for-abs-premier-freestanding-undercounter-refrigerators-and-freezers>: HTTP status code is not handled or not allowed 2026-01-28 10:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-dc-parallel-83rpm-cm34d25nz57b>: HTTP status code is not handled or not allowed 2026-01-28 10:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171133-hose-steam-3-4-inch-id-10-ft>: HTTP status code is not handled or not allowed 2026-01-28 10:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-blade-assembly-only-15067-6-section-wedge-tabletop-wall-mount>: HTTP status code is not handled or not allowed 2026-01-28 10:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-wall-bin-stackable-19>: HTTP status code is not handled or not allowed 2026-01-28 10:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261131622-paper-sheet-9-inch-x-11-inch-p600-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-dc-right-angle-62rpm-cm32d25vz6a>: HTTP status code is not handled or not allowed 2026-01-28 10:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pt-312-5s-ae403-stainless-steel-platform-scale-with-indicator-5000-lb-x-1-lb>: HTTP status code is not handled or not allowed 2026-01-28 10:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261131620-paper-sheet-9-inch-x-11-inch-p1000-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1271024-gasket-compression-14>: HTTP status code is not handled or not allowed 2026-01-28 10:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aelp-2000-gka-pallet-beam-scale-with-gka-lcd-indicator-44000-lb-x-1-lb>: HTTP status code is not handled or not allowed 2026-01-28 10:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261020633-blaze-fiberglass-flat-flap-disc-t27-4-1-2-inch-x-7-8-inch-60-grit-seeded-gel-ceramic>: HTTP status code is not handled or not allowed 2026-01-28 10:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342077-heating-element>: HTTP status code is not handled or not allowed 2026-01-28 10:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010471-door-gasket-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 10:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261069600-bear-tex-non-woven-hand-pad-6-inch-x-9-inch-very-fine-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-48-radiant-lava-rock-charbroilers-407372-8-burners-160000-btu>: HTTP status code is not handled or not allowed 2026-01-28 10:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbell-heavy-duty-overhead-tool-crane-kit-12ft-250-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-vali-frameless-safety-glasses-matte-black-anti-fog-smoke-lens>: HTTP status code is not handled or not allowed 2026-01-28 10:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009511-door-gasket-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 10:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-rigid-plate-caster-4-steel-wheel>: HTTP status code is not handled or not allowed 2026-01-28 10:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/generic-yellow-wall-case-w-label-kit-1-shelf-small>: HTTP status code is not handled or not allowed 2026-01-28 10:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-griddle-pan-77541-for-21-x-16-buffet-station-large>: HTTP status code is not handled or not allowed 2026-01-28 10:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scba-standard-wall-case-shelf-bracket-not-included>: HTTP status code is not handled or not allowed 2026-01-28 10:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcs51-arctic-radwear-cooling-wrap-hi-viz-lime>: HTTP status code is not handled or not allowed 2026-01-28 10:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/item-ml2-080-pr2-rear-panel-mounting-including-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rw10-3s1y-lightweight-rain-jacket-hi-viz-lime-m>: HTTP status code is not handled or not allowed 2026-01-28 10:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series153-full-height-left-pedestal-credenza-72w-x-24d-x-29-12h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 10:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-marking-flexknee-knee-pads-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 10:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cooling-beanie>: HTTP status code is not handled or not allowed 2026-01-28 10:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-chairs-coral-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 10:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1571103-connector-gas-1-inch-x36-inch-for-dormont-mfg>: HTTP status code is not handled or not allowed 2026-01-28 10:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series153-full-height-double-pedestal-office-desk-72w-x-36d-x-29-12h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 10:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-wall-mounted-self-closing-single-foot-pedal-valve-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 10:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/co-monitor-calibration-kit-2-gases-1-regulator-1-tubing>: HTTP status code is not handled or not allowed 2026-01-28 10:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ignition-20-upholstered-task-chair-mid-back-polyurethane-arms-17-21-12h-seat-blk>: HTTP status code is not handled or not allowed 2026-01-28 10:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ts202-inkjet-printer>: HTTP status code is not handled or not allowed 2026-01-28 10:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-use-indoor-outdoor-large-yellow-box-1-light-1-exterior-sensor-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 10:22:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/conference_training_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al-stratus-plaque-diffuser-with-12-neck-black-str-pq-12bk>: HTTP status code is not handled or not allowed 2026-01-28 10:22:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ignition-mobile-guest-reception-stacking-chair-textured-silver-framebasalt-seat>: HTTP status code is not handled or not allowed 2026-01-28 10:22:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakeside-hd-stainless-steel-3-shelf-cart-38-x-22-x-37-700-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012341-grease-filter-stainless-steel-25-x-20>: HTTP status code is not handled or not allowed 2026-01-28 10:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ruck153-multipurpose-stacking-chair-textured-silver-framecharcoal-seat>: HTTP status code is not handled or not allowed 2026-01-28 10:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gasket-scraper-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-trode-self-adhesive-electrodes-with-lead-wires-2-x-4-oval-40-case>: HTTP status code is not handled or not allowed 2026-01-28 10:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-42>: HTTP status code is not handled or not allowed 2026-01-28 10:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-4-48-3-8-x-24-3-8-pvc-glue-up-tile-in-matte-white-pg5301>: HTTP status code is not handled or not allowed 2026-01-28 10:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brad-nails-bn18-58-18-gauge-5-8-1000-bx>: HTTP status code is not handled or not allowed 2026-01-28 10:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/framing-nails-fr131-314grs-3-1-4-x-131-plastic-collated-galv-ring-shank-2000-bx>: HTTP status code is not handled or not allowed 2026-01-28 10:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-tens-electrodes-round-2-5-1-cm-40-bag>: HTTP status code is not handled or not allowed 2026-01-28 10:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/conference_training_chairs>: HTTP status code is not handled or not allowed 2026-01-28 10:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-tens-electrodes-round-2-5-1-cm-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets>: HTTP status code is not handled or not allowed 2026-01-28 10:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-1-23-3-4-x-23-3-4-pvc-lay-in-tile-in-oil-rubbed-bronze-pl5026>: HTTP status code is not handled or not allowed 2026-01-28 10:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets>: HTTP status code is not handled or not allowed 2026-01-28 10:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031019-element-heat-90-deg-240v-4480w-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 10:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series153-lateral-file-cabinet-with-2-drawers-36w-x-20d-x-29-12h-pinnacle>: HTTP status code is not handled or not allowed 2026-01-28 10:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valor-7000-v71p30t-compact-food-scale>: HTTP status code is not handled or not allowed 2026-01-28 10:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-w-x-18-d-x-8-h-stackbox-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-single-socket-tee-4>: HTTP status code is not handled or not allowed 2026-01-28 10:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1121038-waste-twist-brass-w-ss-valve>: HTTP status code is not handled or not allowed 2026-01-28 10:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-7-1-2-w-x-15-1-2-d-x-6-h-stackbin-hopper-front-container>: HTTP status code is not handled or not allowed 2026-01-28 10:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tub-6-bushel-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 90277 pages (at 91 pages/min), scraped 48830 items (at 15 items/min) 2026-01-28 10:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-1-48-3-8-x-24-3-8-pvc-glue-up-tile-in-bermuda-bronze-pg5017>: HTTP status code is not handled or not allowed 2026-01-28 10:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-dispensing-rack-stationary-capacity-162-10-cans>: HTTP status code is not handled or not allowed 2026-01-28 10:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x18-1-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-chairs-light-gray-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 10:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-receiving-desk-stationary-22-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 10:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-medium-flange-6>: HTTP status code is not handled or not allowed 2026-01-28 10:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28x17x164-1-mil-furniture-covers>: HTTP status code is not handled or not allowed 2026-01-28 10:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-w-x-24-d-x-10-h-stackbox-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qhe-3x32t8-unv-isn-sc-32-t8-high-efficiency-high-ballast-factor-small-can>: HTTP status code is not handled or not allowed 2026-01-28 10:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yost-2-12-clamp-on-vise>: HTTP status code is not handled or not allowed 2026-01-28 10:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-sign-projector-lens-electrical-panel-do-not-block>: HTTP status code is not handled or not allowed 2026-01-28 10:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packaging-core-for-coreless-film-2in-core-and-18in-length>: HTTP status code is not handled or not allowed 2026-01-28 10:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012058-grate-cafe-standardfront-for-southbend-range>: HTTP status code is not handled or not allowed 2026-01-28 10:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x3x3-kraft-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-deck-36-wx18-dx5-8-thick>: HTTP status code is not handled or not allowed 2026-01-28 10:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3-series-half-solid-door-freezer-2-door>: HTTP status code is not handled or not allowed 2026-01-28 10:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x9x6-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971128-ramp-loader-fbb-broiler-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 10:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-13-white>: HTTP status code is not handled or not allowed 2026-01-28 10:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72in-w-x-48in-d-x-84in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72in-w-x-24in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x14x5-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72in-w-x-30in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-30-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1381309-thermometer-digital-40-to-450f>: HTTP status code is not handled or not allowed 2026-01-28 10:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681481-limit-high-415f-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 10:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-extra-heavy-duty-boltless-shelving-starter-36in-w-x-24in-d-x-84in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881036-solenoid-coilevr-3-3-8-inch-odf>: HTTP status code is not handled or not allowed 2026-01-28 10:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eight-feet-mobile-cafeteria-table-with-stools-mdf-gray-top-black-stools-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-21-x-54-black-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-36-light-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packard-potential-relay-395-140>: HTTP status code is not handled or not allowed 2026-01-28 10:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-plastic-chain-safety-pink>: HTTP status code is not handled or not allowed 2026-01-28 10:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bassick-prism-stainless-steel-total-lock-swivel-caster-eagle-urethane-5-dia>: HTTP status code is not handled or not allowed 2026-01-28 10:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-plastic-chain-traffic-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/start-panel-to-wall-panel-to-pilaster-bracket-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-connect-hook-yellow-8400-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-2-1-2-fluid-glycerine-filled-pressure-gage-panel-flange-3000-psi>: HTTP status code is not handled or not allowed 2026-01-28 10:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-42-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-24-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1054-thermostat-kit-type-bjwa-kit-temperature-250-550-f-72-inch-capillary>: HTTP status code is not handled or not allowed 2026-01-28 10:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tutco-crankcase-70-575-29>: HTTP status code is not handled or not allowed 2026-01-28 10:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-hydraulic-gear-pump-0-61-cu-in-rev-spline-9-tooth-shaft-9-51-gpm-max-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-wide-boltless-shelving-starter-60in-w-x-48in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009328-thermostat-bjwa-for-southbend-range>: HTTP status code is not handled or not allowed 2026-01-28 10:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22x16x6-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 10:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-24-black-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-high-pressure-ball-valve-1-2-npt-thread-7250-psi>: HTTP status code is not handled or not allowed 2026-01-28 10:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inox-grinding-wheel-36-grit-type-27-4-1-2-dia-x-1-4-t-x-7-8-cntr-hole-dia-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x18x18-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 10:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-hydraulic-gear-pump-0-07-cu-in-rev-1-2-dia-straight-drive-shaft>: HTTP status code is not handled or not allowed 2026-01-28 10:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-21-x-54-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x14-x36-3-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-42-light-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x2150-2-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 10:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-picture-book-shelving-base-37-w-x-12-1-2-d-x-40-7-8-h-oiled-cherry>: HTTP status code is not handled or not allowed 2026-01-28 10:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-21-x-24-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-18in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x2900-1-5-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 10:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661089-board-control-qs24-griddle-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 10:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inox-grinding-wheel-36-grit-type-27-5-dia-x-1-4-t-x-7-8-cntr-hole-dia-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-42in-w-x-15in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-mobile-rack-with-bins-4>: HTTP status code is not handled or not allowed 2026-01-28 10:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-42in-w-x-30in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kushion-walk-slotted-black-w-yellow-borders-3-8in-x-3ft-x-5ft>: HTTP status code is not handled or not allowed 2026-01-28 10:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261448-s-hook3-1-2-long-for-comstock-castle>: HTTP status code is not handled or not allowed 2026-01-28 10:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-18in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-36-x-36-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-enclosed-bulletin-board-cabinet-2-door-3-feet-h-x-4-feet-w-coffee-trim-cotton>: HTTP status code is not handled or not allowed 2026-01-28 10:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1330-cooler-temperature-controller-with-dial-9-to-365-f>: HTTP status code is not handled or not allowed 2026-01-28 10:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chapin-3-liter-hand-crank-rock-salt-ice-melt-spreader-with-gate-control>: HTTP status code is not handled or not allowed 2026-01-28 10:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-hi-vis-rain-jacket-ansi-class-3-type-r-yellow-m>: HTTP status code is not handled or not allowed 2026-01-28 10:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-1-2-gallon-variable-speed-blender-dial-control-stainless-steel-jar>: HTTP status code is not handled or not allowed 2026-01-28 10:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-l-navy-tcg02160865>: HTTP status code is not handled or not allowed 2026-01-28 10:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-1-2-gallon-blender-electronic-keypad-bpa-free-copolyester-jar-2-speeds>: HTTP status code is not handled or not allowed 2026-01-28 10:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-1-2-gallon-blender-electronic-keypad-30-second-timer-copolyester-jar-2-spd>: HTTP status code is not handled or not allowed 2026-01-28 10:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 90375 pages (at 98 pages/min), scraped 48851 items (at 21 items/min) 2026-01-28 10:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fillet-7-stiff-blk-fibrox>: HTTP status code is not handled or not allowed 2026-01-28 10:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv082x10-8-cal-cm2-arc-flash-kit-with-fr-coverall-2xl-glove-size-10>: HTTP status code is not handled or not allowed 2026-01-28 10:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-13-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271117-hp-basket-support-gasofg-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 10:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x2-x36-160-edge-protectors-skid-lot>: HTTP status code is not handled or not allowed 2026-01-28 10:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-20-round-sign-eye-protection-required>: HTTP status code is not handled or not allowed 2026-01-28 10:23:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-36-x-36-light-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-0-arcguard-rubber-voltage-glove-premium-kit-yellow-size-10-kitgc010yag>: HTTP status code is not handled or not allowed 2026-01-28 10:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-1-8-nptf-24v-ac-5va-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-control-2-0-long-underwear-3xl-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eaf275-ism-cp-battery-faucet-w-mix>: HTTP status code is not handled or not allowed 2026-01-28 10:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266289-hinge-edgemount-1-1-4-inch-offset-for-randell>: HTTP status code is not handled or not allowed 2026-01-28 10:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-for-snap-loc-dolly-slac4s-swivel-4-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531383-plug-straight-4-prong-250v-60a>: HTTP status code is not handled or not allowed 2026-01-28 10:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/envision-one-ply-bathroom-tissue-1210-sheets-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-72x36x96-starter>: HTTP status code is not handled or not allowed 2026-01-28 10:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011957-clip-drip-collector-for-rational-cooking-systems>: HTTP status code is not handled or not allowed 2026-01-28 10:24:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/boards_easels/enclosed_bulletin_boards landed on page that is not a product page. 2026-01-28 10:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-0-arcguard-rubber-voltage-glove-kit-black-size-8-kitgc008>: HTTP status code is not handled or not allowed 2026-01-28 10:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-16-white>: HTTP status code is not handled or not allowed 2026-01-28 10:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-24-octagone-sign-stop>: HTTP status code is not handled or not allowed 2026-01-28 10:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-24-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-g-1-4-24v-dc-2w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv08b3x09-8-cal-cm2-arc-flash-kit-w-fr-coverall-w-balaclava-3xl-glove-size-09>: HTTP status code is not handled or not allowed 2026-01-28 10:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-30-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-performance-gloves-safety-lime-winter-dbl-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 10:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-dexterity-performance-work-glove-performance-work-glove-mechanics-plus-small>: HTTP status code is not handled or not allowed 2026-01-28 10:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakeside-ss-top-counter-height-can-rack-5410-725>: HTTP status code is not handled or not allowed 2026-01-28 10:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-steel-decking-60x48x120-add-on>: HTTP status code is not handled or not allowed 2026-01-28 10:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-drawer-layout-3-compartments-11-h>: HTTP status code is not handled or not allowed 2026-01-28 10:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-long-sleeve-fr-t-shirt-s-navy-blue-df2-cm-446ls-nb-sm>: HTTP status code is not handled or not allowed 2026-01-28 10:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-48ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-48ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-60x36x96-starter>: HTTP status code is not handled or not allowed 2026-01-28 10:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271217-hp-molded-vent-block-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 10:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-60-black-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-3-sjoow-black>: HTTP status code is not handled or not allowed 2026-01-28 10:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-g-1-8-220v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spring-return-g-1-2-220v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18g-rg6-coax-black>: HTTP status code is not handled or not allowed 2026-01-28 10:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thhn-10-gauge-building-wire-stranded-type-white>: HTTP status code is not handled or not allowed 2026-01-28 10:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/translucent-liner-12-x-36>: HTTP status code is not handled or not allowed 2026-01-28 10:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-hi-vis-work-shirt-type-r-class-3-xl-fluorescent-yellow-shrtv3c3xllrg>: HTTP status code is not handled or not allowed 2026-01-28 10:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/translucent-liner-21-x-24>: HTTP status code is not handled or not allowed 2026-01-28 10:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-rws-reduced-wall-galvanized-steel-flexible-wiring-conduit-3-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-work-shirt-type-r-class-3-xl-fluorescent-yellow-df2-ax3-324ls-hy-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-16-14-x-5-hex-head-cap-screw-steel-zinc-yellow-unc-grade-8-usa-25-pack-454246>: HTTP status code is not handled or not allowed 2026-01-28 10:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spring-return-g-1-2-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-24-x-1-hex-head-cap-screw-steel-zinc-yellow-unf-grade-8-usa-100-pack-454108>: HTTP status code is not handled or not allowed 2026-01-28 10:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-1-4-npt-double-solenoid-valve-pilot-12v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-24ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws40-waveseal-360-constant-tension-hose-clamp-181-281-dia-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-36ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72505-laminated-stainless-steel-arbor-shim-5-8-id-x-1-od-x-0020-thick>: HTTP status code is not handled or not allowed 2026-01-28 10:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/66-inch-light-bar-kit-w-led-lights-and-wire-harness>: HTTP status code is not handled or not allowed 2026-01-28 10:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preassembled-heat-cable-fg1-100p-100-ft-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tefc-c-clamp-mount-agitator-1-hp-2-5-inch-propellers>: HTTP status code is not handled or not allowed 2026-01-28 10:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-20>: HTTP status code is not handled or not allowed 2026-01-28 10:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-1-2-nptf-12v-dc-3w-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-load-wheel-bishamon-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 10:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/621104-thermometer-refrg-frzr-for-comark-instruments>: HTTP status code is not handled or not allowed 2026-01-28 10:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11bm11-12-cal-ultrasoft-arc-flash-kit-fr-coverall-balaclava-m-glove-sz-11>: HTTP status code is not handled or not allowed 2026-01-28 10:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-accessory-bin-window-sold-per-carton-1>: HTTP status code is not handled or not allowed 2026-01-28 10:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-round-1-led-amber-marker-light-w-grommet-plug>: HTTP status code is not handled or not allowed 2026-01-28 10:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws22-waveseal-360-constant-tension-hose-clamp-113-169-dia-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-6-1-2-x-2-3-4-kraft-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-14062-nhl-boston-bruins-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-28 10:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461661-thermostat-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 10:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-13998-nfl-washington-redskins-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-28 10:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinehurst-gray-contoured-stack-chair-with-arms>: HTTP status code is not handled or not allowed 2026-01-28 10:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-in-w-x-64-in-h-non-electric-panel-with-raceway-only-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-24-x-250-feet-3-anti-static-air-foam-rolls>: HTTP status code is not handled or not allowed 2026-01-28 10:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511507-pilot-burner-lp-for-american-range>: HTTP status code is not handled or not allowed 2026-01-28 10:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/541001-gas-valve3-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-7-flush-cut-foam-pouches>: HTTP status code is not handled or not allowed 2026-01-28 10:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-in-polyurethane-steer-wheel-for-wesco-pallet-trucks-330438-168182>: HTTP status code is not handled or not allowed 2026-01-28 10:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-storz-to-solid-adapter-7115-40650z-4-npt-x-5>: HTTP status code is not handled or not allowed 2026-01-28 10:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-8-x-4-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-g-1-4-24v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv08b-md12-8-cal-cm2-arc-flash-kit-w-fr-coverall-w-balaclava-md-glove-size-12>: HTTP status code is not handled or not allowed 2026-01-28 10:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-11-x-16-x-8-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2611018-holder-cup-nylon-sterling-for-sterling-miltimixer>: HTTP status code is not handled or not allowed 2026-01-28 10:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ft-x8-ft-aluminum-frame-vinyl-tackboard-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 90474 pages (at 99 pages/min), scraped 48868 items (at 17 items/min) 2026-01-28 10:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-floor-rack-with-bins-10>: HTTP status code is not handled or not allowed 2026-01-28 10:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-common-spanner-wrench-876-15-1-1-2-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 10:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-pres-cntr-spr-cntred-1-8-npt-110v-ac-5va-coil-blk>: HTTP status code is not handled or not allowed 2026-01-28 10:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264576-sprocket-16t-1-2-inch-bore-for-american-permanent-ware>: HTTP status code is not handled or not allowed 2026-01-28 10:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-closed-cntr-spr-cntred-g1-4-220v-ac-5va-coil-black>: HTTP status code is not handled or not allowed 2026-01-28 10:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aerovent-3x-3-can-aerosol-disposal-system-with-dual-safe2vent-10004721>: HTTP status code is not handled or not allowed 2026-01-28 10:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps600qd-m12-fluorescent-battery-pack-w-quick-disconnect-option>: HTTP status code is not handled or not allowed 2026-01-28 10:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-7-3-8-d-x-3-h-stacking-bin>: HTTP status code is not handled or not allowed 2026-01-28 10:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-unlined-bib-overall-32-x-30-brown-bib6dcm32xl30>: HTTP status code is not handled or not allowed 2026-01-28 10:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/282281-plug-hole-large-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 10:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pres-cntr-g1-4-dbl-solenoid-vlv-pilot-spr-cntred-110v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 10:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264577-sprocket-16t-3-8-inch-bore-for-american-permanent-ware>: HTTP status code is not handled or not allowed 2026-01-28 10:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-glass-computer-desk-61-3-4w-x-45-1-4d-x-29-1-2h-clear>: HTTP status code is not handled or not allowed 2026-01-28 10:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-computer-desk-48w-x-24d-x-30h-chocolate>: HTTP status code is not handled or not allowed 2026-01-28 10:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-with-drawstring-closure-white-24-36-heavy>: HTTP status code is not handled or not allowed 2026-01-28 10:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-of-4-caster>: HTTP status code is not handled or not allowed 2026-01-28 10:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-22-amp208-230v-1075rpm-reversible>: HTTP status code is not handled or not allowed 2026-01-28 10:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-bubbler-flexible-mouth-guard-push-button-metering-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-flexible-stainless-steel-hose-for-prerinse-over-head-swivel-goosenecks-68>: HTTP status code is not handled or not allowed 2026-01-28 10:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrapure-cartridge-for-water-purification-system>: HTTP status code is not handled or not allowed 2026-01-28 10:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-utility-shirt-l-t-tan-df2-324ls-kh-lgt>: HTTP status code is not handled or not allowed 2026-01-28 10:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw-5l-24w-straight-galvanized-steel-skatewheel-conveyor-22-bf-20-wpf>: HTTP status code is not handled or not allowed 2026-01-28 10:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-g-1-2-single-solenoid-valve-pilot-spr-return-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-cartridge-pretreatment-system>: HTTP status code is not handled or not allowed 2026-01-28 10:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-pilot-spr-return-g-1-8-220v-ac-5va-coil-blk-conn>: HTTP status code is not handled or not allowed 2026-01-28 10:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx24-dx73-h-open-clip-style-4-shelf>: HTTP status code is not handled or not allowed 2026-01-28 10:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyler-refrigeration-replacement-1625rpm-230v>: HTTP status code is not handled or not allowed 2026-01-28 10:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-scale-cart-8-bu-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-liner-and-frame-20-bu-blue-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 10:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-liner-and-frame-8-bu-blue-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 10:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-48ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-1-8-nptf-single-solenoid-valve-pilot-spr-return-12v-dc-3w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-truck-14-bu-blue-metal-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 10:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012184-air-inlet-thumbscrew-for-amana-litton>: HTTP status code is not handled or not allowed 2026-01-28 10:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-air-scrubber-with-professional-4-stage-hepa-1-2-hp-5-speeds-x-2580>: HTTP status code is not handled or not allowed 2026-01-28 10:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-5x-navy-tcg01160234>: HTTP status code is not handled or not allowed 2026-01-28 10:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrs-10l-24w-straight-gal-steel-roller-conveyor-19-roller-dia-21-bf-3-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 10:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-115v-1075rpm-double-shaft>: HTTP status code is not handled or not allowed 2026-01-28 10:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-1-8-nptf-24v-dc-3w-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispensing-pump-adaptable-to-all-closures-or-lids-w-convertible-51-din-connector>: HTTP status code is not handled or not allowed 2026-01-28 10:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx18-dx85-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-28 10:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-30-gallon-dual-action-hand-pump>: HTTP status code is not handled or not allowed 2026-01-28 10:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-pilot-spr-return-g-1-8-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-1-2-nptf-220v-ac-5va-coil-blk-conn>: HTTP status code is not handled or not allowed 2026-01-28 10:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69632-container-assembly-plastic-44oz-for-hamilton-beach>: HTTP status code is not handled or not allowed 2026-01-28 10:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-super-stacker-cribbing-set-w-jack-plate-15255>: HTTP status code is not handled or not allowed 2026-01-28 10:25:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prd-318m-banding-film-1000-x-3-x-80-gauge-w-extended-core-handle-18-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-accessory-closed-front-base-12w-x-6h-729-parchment>: HTTP status code is not handled or not allowed 2026-01-28 10:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-48ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-unassembled-deluxe-storage-cabinet-36w-x-24d-x-78-3-4-h-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tecumseh-replacement-1625rpm-230v>: HTTP status code is not handled or not allowed 2026-01-28 10:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-3xl-gray-tcg02150877>: HTTP status code is not handled or not allowed 2026-01-28 10:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-welded-deluxe-storage-cabinet36w-x-18d-x-78-3-4-h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-welded-storage-cabinet-36w-x-18d-x-30h-putty>: HTTP status code is not handled or not allowed 2026-01-28 10:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-metal-pegboard-black-48-x-32-x-3-4>: HTTP status code is not handled or not allowed 2026-01-28 10:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-1004-7-8-inch-rubber-foot-with-stud>: HTTP status code is not handled or not allowed 2026-01-28 10:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pes-syringe-filters-non-sterile-0-22um-25mm-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/282295-truing-stone-diamond>: HTTP status code is not handled or not allowed 2026-01-28 10:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-cabinet-drawer-combination-36w-x-18d-x-42h-1-drawer2-shelf-cabinet-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-open-cntr-spr-cntred-g1-8-110v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 10:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars>: HTTP status code is not handled or not allowed 2026-01-28 10:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-cabinet-shelf-for-18-deep-combination-cabinet-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-1-2-nptf-24v-dc-3w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-2-1-2-security-machine-screw-round-one-way-head-steel-zinc-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-pilot-spr-return-1-8-nptf-24v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 10:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-20mm-security-machine-screw-pan-spanner-head-18-8-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-m-gray-tcg01150216>: HTTP status code is not handled or not allowed 2026-01-28 10:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24-x-1-2-security-machine-screw-pan-spanner-head-18-8-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-4x-ln-gray-tcg02150882>: HTTP status code is not handled or not allowed 2026-01-28 10:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-3xl-ln-tan-tcg02120878>: HTTP status code is not handled or not allowed 2026-01-28 10:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kitchen-pegboard-pack-storage-organization-kit-gray-white-32-x-32-x-6>: HTTP status code is not handled or not allowed 2026-01-28 10:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spr-cntred-closed-cntr-g1-8-220v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 10:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kitchen-pegboard-pack-storage-organization-kit-red-white-32-x-32-x-6>: HTTP status code is not handled or not allowed 2026-01-28 10:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14ab-x-2-security-sheet-metal-screw-flat-hex-socket-head-302hq-18-8-stainless-steel-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-m-ln-tan-tcg02120862>: HTTP status code is not handled or not allowed 2026-01-28 10:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009765-hp-bw-finger-ring-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 10:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-thru-standard-unassembled-steel-wardrobe-cabinet-36w-x-18d-x-72h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-60inw-x-36ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-60inw-x-36ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-shell-chair-right-handed-tablet-arm-blue-5-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-3-4-in-48-in-clear-strip>: HTTP status code is not handled or not allowed 2026-01-28 10:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-16mm-security-machine-screw-flat-torx-head-18-8-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 90572 pages (at 98 pages/min), scraped 48884 items (at 16 items/min) 2026-01-28 10:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-30ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-x-1-security-machine-screw-truss-spanner-head-18-8-stainless-steel-ft-unf-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-thru-combination-locker-no-legs-1-wide-18w-x-21d-x-72h-assembled-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-ink-jet-insert-letter-pref-4-3-4-in-7-1-4-in-100-per-package>: HTTP status code is not handled or not allowed 2026-01-28 10:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6ab-x-1-security-sheet-metal-screw-button-hex-socket-head-steel-black-oxide-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-ext-pilot-spring-return-1-8-nptf-110v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 10:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-standard-tool-storage-kit-blue-black-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 10:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-shelf-60x18-with-4-hooks>: HTTP status code is not handled or not allowed 2026-01-28 10:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010881-pc-board-assembly-for-waring-products>: HTTP status code is not handled or not allowed 2026-01-28 10:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warehouse-aisle-sign-kit-slip-n-stik-snap-on-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-standard-tool-storage-kit-green-blue-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 10:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-person-wall-mount-box-locker-12w-x-18d-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-double-solenoid-valve-ext-pilot-1-4-nptf-110v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-36inw-x-12ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holders-2-in-4-in-clear-slot-aluminum-ex-trusion>: HTTP status code is not handled or not allowed 2026-01-28 10:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8008804-thermostat-assembly-i>: HTTP status code is not handled or not allowed 2026-01-28 10:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-dolly-with-carpeted-ends-deck-30-x-18-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-steel-shelving-18-ga-36-wx30-dx97-h-closed-clip-5-shelves-starter>: HTTP status code is not handled or not allowed 2026-01-28 10:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-panel-sheet-mover-truck-1200-lb-capacity-60x30>: HTTP status code is not handled or not allowed 2026-01-28 10:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-upright-frame-48-l-adjustable-panel-truck-sold-pairs>: HTTP status code is not handled or not allowed 2026-01-28 10:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-foam-sheet-no-adhesive-1-4-x-36-x-36>: HTTP status code is not handled or not allowed 2026-01-28 10:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-ext-pilot-spring-return-1-8-nptf-24v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 10:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-ext-pilot-spring-return-1-8-nptf-12v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 10:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561150-clip-cotter-hairpin-1-inch-l-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-28 10:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-strip-curtain-bulk-roll-scratch-resistant-ribbed-clear-12-x-150-x-110>: HTTP status code is not handled or not allowed 2026-01-28 10:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-duty-swivel-plate-caster-with-brake-5-polyurethane-wheel-250-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010976-set-screw-guidebar-retainer-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 10:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-bore-extended-reach-dial-pressure-gauge-0-to-160-psi-956>: HTTP status code is not handled or not allowed 2026-01-28 10:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/china-cap-strainer-10-deep-cone-stainless>: HTTP status code is not handled or not allowed 2026-01-28 10:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pizza-cutter-2-5-8-stainless-steel-wheel>: HTTP status code is not handled or not allowed 2026-01-28 10:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-24-w-x-18-d-x-18-to-24-h-adj-height-shop-stand-16-ga-430-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-ink-jet-insert-letter-pref-13-16-in-8-in-600-per-package>: HTTP status code is not handled or not allowed 2026-01-28 10:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6ab-x-1-1-4-security-sheet-metal-screw-button-hex-socket-head-302hq-18-8-ss-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-aluminum-platform-truck-with-diamond-deck-48-x-30-1400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sauce-cup-2-oz-square-porcelain>: HTTP status code is not handled or not allowed 2026-01-28 10:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2901035-lid-steelvac-blk-m-fvp>: HTTP status code is not handled or not allowed 2026-01-28 10:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ab-x-1-1-4-security-sheet-metal-screw-button-torx-head-302hq-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-w-x-20-h-x-1-d-pleated-merv-8-standard-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 10:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aero-two-bowl-ss-sink-18-x-18-with-right-left-sided-drainboard>: HTTP status code is not handled or not allowed 2026-01-28 10:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-dish-pan-straight-sided-8x8x2-deep-solid>: HTTP status code is not handled or not allowed 2026-01-28 10:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alterra-decaf-house-blend-ground-coffee-025-oz-pouch-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281885-container-32-oz-for-vita-mix-inc>: HTTP status code is not handled or not allowed 2026-01-28 10:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alterra-sumatra-ground-coffee-03-oz-pouch-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-light-duty-scrub-sponge-yellow-white-3-25-x-6-25-case-of-20-sponges>: HTTP status code is not handled or not allowed 2026-01-28 10:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-96w-x-48d-x-192h-4900-lbs-cap-per-level-add-on-unit>: HTTP status code is not handled or not allowed 2026-01-28 10:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-72w-x-42d-x-96h-5960-lbs-cap-per-level-starter-unit>: HTTP status code is not handled or not allowed 2026-01-28 10:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-square-remote-fixture-6v-9w-6x4>: HTTP status code is not handled or not allowed 2026-01-28 10:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-inch-width-x-19-1-2-inch-height-snow-plow-for-dixie-chopper-zee2-mowers>: HTTP status code is not handled or not allowed 2026-01-28 10:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-10-black>: HTTP status code is not handled or not allowed 2026-01-28 10:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-3-4-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/347-lightweight-gel-knee-pads-long-cap-black-18447>: HTTP status code is not handled or not allowed 2026-01-28 10:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-carbon-steel-preformed-band-it-jr-clamp-with-5-8-inch-band>: HTTP status code is not handled or not allowed 2026-01-28 10:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010933-bumper-table-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 10:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-sweatshirt-detachable-hood-zipper-closure-2-pockets-fl-lime-small>: HTTP status code is not handled or not allowed 2026-01-28 10:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-power-distribution-unit-vertical-pdu-12-nema-5-15r-15a>: HTTP status code is not handled or not allowed 2026-01-28 10:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-green-epoxy-wire-shelving-36w-x-12-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 10:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-683-1-light-w-floodlight-w-adjust-swivel-bronze-5w-x-9-5h>: HTTP status code is not handled or not allowed 2026-01-28 10:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spac-trac-6-unit-storage-shelving-chrome-36x18x74>: HTTP status code is not handled or not allowed 2026-01-28 10:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-96x48x96-with-3-shelves-wood-deck-1100-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 10:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561173-spring-valve-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-28 10:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40-x-1-4-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-inch-fnpt-plated-steel-round-hole-strainer>: HTTP status code is not handled or not allowed 2026-01-28 10:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-liner-1-16-clear-acrylic-48-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 10:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badger-neoprene-boots-plain-toe-upper-rubber-sole-steel-shank-15-h-blk-size-7>: HTTP status code is not handled or not allowed 2026-01-28 10:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-liner-1-16-clear-acrylic-42-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 10:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-6-bourbon-brown>: HTTP status code is not handled or not allowed 2026-01-28 10:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valence-womens-safety-work-boots-steel-toe-7h-size-95w-vegan-midnight-black>: HTTP status code is not handled or not allowed 2026-01-28 10:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-3-hooded-zipper-sweatshirt-61527-lime>: HTTP status code is not handled or not allowed 2026-01-28 10:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-702-1-light-flood-light-w-adjust-swivel-gray-4-5w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 10:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-mm-exp-pipe-brush-40-mm-diameter-9-989-047-0>: HTTP status code is not handled or not allowed 2026-01-28 10:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-2-economy-mesh-vest-61457-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warning-beacon-with-handle-for-b-250-scrubber-2-640-935-0>: HTTP status code is not handled or not allowed 2026-01-28 10:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwik-ss-galvanzied-steel-kwik-kit-railing-system-12-foot-straight-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661022-pan-drip-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 10:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-womens-safety-work-boots-alloy-toe-8h-size-5-desert-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accordion-anti-static-rigid-drum-insert-15-mil-thick-30-gallon-capacity-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 10:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-65-vegan-blackout>: HTTP status code is not handled or not allowed 2026-01-28 10:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mail-boss-locking-security-curbisde-mailbox-granite>: HTTP status code is not handled or not allowed 2026-01-28 10:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paulson-cap-bracket-for-slotted-cap-blue-nylon-cb2-hd>: HTTP status code is not handled or not allowed 2026-01-28 10:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adder-unit-letter-25-inch-30-3-4-inch-92-1-2-inch-8-opening-bone-white>: HTTP status code is not handled or not allowed 2026-01-28 10:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381810-kason-11806ledgu24kt-lamp-globe-led-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 10:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 90671 pages (at 99 pages/min), scraped 48902 items (at 18 items/min) 2026-01-28 10:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-345-1-light-ceiling-flush-mount-small-white-mushroom-polished-chrome-7-5w-x-5h>: HTTP status code is not handled or not allowed 2026-01-28 10:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421814-low-pressure-switch>: HTTP status code is not handled or not allowed 2026-01-28 10:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-pallet-rack-backstop-96in-l-6in-offset>: HTTP status code is not handled or not allowed 2026-01-28 10:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sling-eye-and-eye-6-ft-l-x-1-in-w>: HTTP status code is not handled or not allowed 2026-01-28 10:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-stopper-for-18in-row-spacer-w-4-screws>: HTTP status code is not handled or not allowed 2026-01-28 10:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-48inw-x-12ind-x-36inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-611-3-light-ceiling-flush-mount-clear-ribbed-brushed-nickel-15-25w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 10:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266285-bracket-hinge-w-closer-top>: HTTP status code is not handled or not allowed 2026-01-28 10:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75mm-0295-inch-gp-hss-tmx-jobber-drill-blk-ox-118-9mm-flute-x-28mm-oal-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-high-legal-end-panel-kit-bone-white>: HTTP status code is not handled or not allowed 2026-01-28 10:27:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009948-skk-drum-ring-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-28 10:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-unit-legal-31-inch-45-1-2-inch-48-3-4-inch-4-opening-bone-white>: HTTP status code is not handled or not allowed 2026-01-28 10:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-50-ft-1-1-2-inch-link-yellow-black>: HTTP status code is not handled or not allowed 2026-01-28 10:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-freezer-2-solid-doors-11-2-cu-ft-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k161-c-frame-dia-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k130-c-frame-dia-115v>: HTTP status code is not handled or not allowed 2026-01-28 10:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-36inw-x-18ind-x-96inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6690-cooling-arm-sleeves-black-2xl-12386>: HTTP status code is not handled or not allowed 2026-01-28 10:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-powder-free-vinyl-gloves-4-mil-x-large-100-box>: HTTP status code is not handled or not allowed 2026-01-28 10:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421583-potentiometer>: HTTP status code is not handled or not allowed 2026-01-28 10:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights>: HTTP status code is not handled or not allowed 2026-01-28 10:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-cap-screw-3-flute-counterbore-pilot-for-1-4-inch-screw-9-32-inch-pilot-dia-x-13-32-inch-d-3-8-inch-sh-d>: HTTP status code is not handled or not allowed 2026-01-28 10:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-3248-3-light-pendant-frosted-white-brushed-nickel-20w-x-27-75h>: HTTP status code is not handled or not allowed 2026-01-28 10:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-drawer-5-3-8-h>: HTTP status code is not handled or not allowed 2026-01-28 10:27:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/single_stage_reciprocating_air_compressors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-255-2-light-ceiling-mount-alabaster-ball-polished-brass-6w-x-7-25h>: HTTP status code is not handled or not allowed 2026-01-28 10:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-36inw-x-12ind-x-96inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1381212-thermometer-k-type-352-for-cooper-atkins>: HTTP status code is not handled or not allowed 2026-01-28 10:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-edge-work-bench-top-maple-48-w-x-36-d-x-1-3-4-thick>: HTTP status code is not handled or not allowed 2026-01-28 10:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/621060-thermometer2-100-220f-u-clamp>: HTTP status code is not handled or not allowed 2026-01-28 10:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/file-storage-box-fsb640-letter-24l-x-12w-x-10-1-4h-white-price-each>: HTTP status code is not handled or not allowed 2026-01-28 10:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266187-leg-12-inch-h-stainless-steel-35-inch-plt>: HTTP status code is not handled or not allowed 2026-01-28 10:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-interchangeable-pilot-counterbore-taper-shank-hss-5-flute-1-1-2-mt4>: HTTP status code is not handled or not allowed 2026-01-28 10:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-48inw-x-12ind-x-48inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-interchangeable-pilot-counterbore-taper-shank-hss-5-flute-2-1-2-mt5>: HTTP status code is not handled or not allowed 2026-01-28 10:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-interchangeable-pilot-counterbore-taper-shank-hss-5-flute-1-9-16-mt4>: HTTP status code is not handled or not allowed 2026-01-28 10:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-unit-legal-31-inch-45-1-2-inch-92-1-2-inch-8-opening-black>: HTTP status code is not handled or not allowed 2026-01-28 10:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-high-letter-starter-empty-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/single_stage_reciprocating_air_compressors>: HTTP status code is not handled or not allowed 2026-01-28 10:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elmdftcomsld3471-commercial-solid-vent-cover-for-24-x-24-diffusers>: HTTP status code is not handled or not allowed 2026-01-28 10:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-copper-press-x-press-w-coupling-with-stop>: HTTP status code is not handled or not allowed 2026-01-28 10:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-18ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-10-step-steel-rolling-ladder-21-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 10:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qt-pro-two-stage-air-compressor-5-hp-80-gallon-vertical-460v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 10:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ball-industrial-m-style-steel-plug-1-4-x-1-4-male-npt-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 10:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-x-1-1-4-x-1-copper-press-x-press-x-press-w-reducing-tee>: HTTP status code is not handled or not allowed 2026-01-28 10:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-m-style-brass-coupler-3-8-x-3-8-male-npt-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-36inw-x-12ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-collapsible-traffic-cone-without-feet-orange-plastic-base-4-pack-03-501-06>: HTTP status code is not handled or not allowed 2026-01-28 10:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-propelled-electric-powered-pallet-jack-truck-4500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gd10-gd4-dust-bag-5-bags-pack-1471098500>: HTTP status code is not handled or not allowed 2026-01-28 10:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-48inw-x-12ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24-w-perforated-all-directional-steel-ladder>: HTTP status code is not handled or not allowed 2026-01-28 10:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-add-on-48inw-x-18ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-add-on-48inw-x-24ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009715-goodyear-ax54-belt>: HTTP status code is not handled or not allowed 2026-01-28 10:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-36inw-x-24ind-x-36inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/322160-o-ring-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 10:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-48inw-x-18ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-36inw-x-12ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shopair-chain-hoist-600-lbs-10-ft-lift-16-fpm-lift-42-fpm-lower>: HTTP status code is not handled or not allowed 2026-01-28 10:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alliance-hose-spiral-wrap-hose-guard-for-1-5-8-to-2-3-16-od-50>: HTTP status code is not handled or not allowed 2026-01-28 10:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271145-two-timer-display-assembly-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 10:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-electric-chain-hoist-w-chain-container-1-ton-20-ft-lift-16-fpm-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 10:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/03-13-light-medium-duty-swivel-caster-03-4-hr-solid-rubber-hard-4-dia-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-50-250-psi-150-lbs-hose-assemblies>: HTTP status code is not handled or not allowed 2026-01-28 10:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-app-connector-10-12-wire-gauge-50-amp-red>: HTTP status code is not handled or not allowed 2026-01-28 10:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-doors-cell-phone-locker-22x16x26-black-with-key-locks>: HTTP status code is not handled or not allowed 2026-01-28 10:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-8-l-x-7-3-8-w-x-3-h-red-stacking-hanging-interlocking-polypropylene-bins-6-ct>: HTTP status code is not handled or not allowed 2026-01-28 10:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-base-22-in-w-x-16-in-d-x-6-in-h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/configurable-multi-platform-access-system-2-step-27-h-45-deg-stairway-ladder-mpassw3>: HTTP status code is not handled or not allowed 2026-01-28 10:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mars-42-in-low-profile-unheated-lopro-series-air-curtain-115-1-60>: HTTP status code is not handled or not allowed 2026-01-28 10:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-exit-sign-with-field-selectable-red-or-green-leds-nicad-battery-white-120-277v>: HTTP status code is not handled or not allowed 2026-01-28 10:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012461-bezel-bj-thermostat-for-american-range>: HTTP status code is not handled or not allowed 2026-01-28 10:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-36inw-x-24ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutting-board-sure-stride-matting-1-4-thick-3-x-1-2-white>: HTTP status code is not handled or not allowed 2026-01-28 10:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-low-headroom-geared-trolley-2-ton-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 10:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 90766 pages (at 95 pages/min), scraped 48921 items (at 19 items/min) 2026-01-28 10:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-starter-48inw-x-12ind-x-48inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safe-heavy-duty-key-safe-cabinet-17-w-x-9-1-2-d-x-22-h-electronic-lock-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-lifting-hook-sold-in-pairs-8000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dixie-industries-ratchet-type-load-binder-9200-lbs>: HTTP status code is not handled or not allowed 2026-01-28 10:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safe-burglary-fire-safe-21-3-4-w-x-25-d-x-22-1-2-h-digital-lock-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-starter-36inw-x-18ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-72-economy-lift-beam-adjustable-length-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-starter-36inw-x-12ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hand-chain-hoist-1-2-ton-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 10:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-aluminum-rolling-ladder-16-w-ribbed-step-w-o-handrails>: HTTP status code is not handled or not allowed 2026-01-28 10:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ft-rectangular-outdoor-picnic-table-with-backrests-expanded-metal-green>: HTTP status code is not handled or not allowed 2026-01-28 10:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009750-black-distributor-hose2000s-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 10:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40s11-n-40w-general-service-w-intermediate-base>: HTTP status code is not handled or not allowed 2026-01-28 10:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010259-thumbscrew-for-manitowoc-machines>: HTTP status code is not handled or not allowed 2026-01-28 10:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-safety-view-locker-six-tier-12x12x12-18-doors-unassembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100t3q-cl-100w-halogen-w-double-ended-base-mol-3-1-8>: HTTP status code is not handled or not allowed 2026-01-28 10:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-a-frame-bin-cart-1-louvered-1-pegboard-panels-48w-x-30d-x-62h-red>: HTTP status code is not handled or not allowed 2026-01-28 10:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49753-green-grinding-wheel-4-1-2-inch-x-1-4-inch-x-5-8-11-inch-t27-36-grit-zirconia>: HTTP status code is not handled or not allowed 2026-01-28 10:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-truck-60l-x-30w-x-66h-red>: HTTP status code is not handled or not allowed 2026-01-28 10:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-fibc-bulk-bags-open-top-flat-bottom-2205-lbs-pp-35-x-35-x-38-pkg-qty-1>: HTTP status code is not handled or not allowed 2026-01-28 10:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-54-inch-high-post-Poly-Z-Brite-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-gallon-biohazard-sharps-container-with-rotor-lid-10-1-2-in-w-x-7-1-4-in-d-x-10-in-h-red>: HTTP status code is not handled or not allowed 2026-01-28 10:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cathodic-descaler-for-market-forge-91-1337>: HTTP status code is not handled or not allowed 2026-01-28 10:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-easy-fold-mailers-7-12l-x-7-12w-x-2h-white-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 10:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5071013-switch-blower-proving-for-frigidaire>: HTTP status code is not handled or not allowed 2026-01-28 10:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kent-champion-28-vacuum-bag>: HTTP status code is not handled or not allowed 2026-01-28 10:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-80-inch-high-post-silver-epoxy-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datum-tekstak-laptop-storage-locker-6-tier-key-lock-8>: HTTP status code is not handled or not allowed 2026-01-28 10:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcd3429blk-37-70-full-motion-monitor-wall-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 10:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datum-tekstak-laptop-storage-locker-10-tier-key-lock-1>: HTTP status code is not handled or not allowed 2026-01-28 10:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/or-schedule-36x48-magnetic-steel-whiteboard-with-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75a21-f-12v-75w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 10:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f32t8-830-env-32w-fluorescent-w-medium-bi-pin-base-warm>: HTTP status code is not handled or not allowed 2026-01-28 10:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-socket-1-2-drive-22mm-110-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 10:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-security-computer-cabinet-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 10:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc3060-ntep-approved-price-computing-scale-30-60-lb-x-0-1-0-02-lb>: HTTP status code is not handled or not allowed 2026-01-28 10:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/621153-heavy-duty-refrigeratorfreezer-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 10:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispense-rite-countertop-lid-straw-condiment-organizer-wide>: HTTP status code is not handled or not allowed 2026-01-28 10:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epd-500-electronic-pocket-balance-500-g-x-0-01-g>: HTTP status code is not handled or not allowed 2026-01-28 10:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-8-34l-x-4-38w-x-9-12h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 10:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-density-flat-bag-17in-x-21in-1-mil-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 10:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-w-diamond-sof-tred-mat-black-4>: HTTP status code is not handled or not allowed 2026-01-28 10:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-6l-x-5w-x-5h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 10:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-line-single-track-seal-top-bag-with-hang-hole-3in-x-3in-2-mil-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 10:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-steady-burning-led-24-surface-red>: HTTP status code is not handled or not allowed 2026-01-28 10:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8898-strapping-tape-2-x-60-yds-46-mil-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25g25-25w-incandescent-w-medium-base-130v>: HTTP status code is not handled or not allowed 2026-01-28 10:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300m-cl-300w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 10:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-deluxe-literature-mailers-14l-x-14w-x-4h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 10:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-lid-24-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 10:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engine-crane-6-000-capacity-lbs>: HTTP status code is not handled or not allowed 2026-01-28 10:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20mr16-fl-20w-halogen-w-minature-2pin-round-base>: HTTP status code is not handled or not allowed 2026-01-28 10:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-29l-x-24w-x-24h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-yard-ramp-15-ft-l-x-84-in-w-12000lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-26l-x-16w-x-19h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461705-interface-board-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 10:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-6-12l-x-4-78w-x-3-34h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 10:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tn-motor-filter-for-tn-cv30-1-cv38-1-cv48-2>: HTTP status code is not handled or not allowed 2026-01-28 10:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-wide-rib-corrugated-rubber-floor-mat-1-8-thick-x-4-x-6-utility-runner>: HTTP status code is not handled or not allowed 2026-01-28 10:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/counting-and-coin-counting-scale-60-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-mobile-workbench-plastic-laminate-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/body-repair-kit-10-ton-super-duty>: HTTP status code is not handled or not allowed 2026-01-28 10:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-maple-butcher-block-square-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-28 10:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-36-d-plastic-laminate-square-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-28 10:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-plastic-laminate-safety-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-28 10:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/changedesk-mini-sit-stand-desk-conversion-workstation-white>: HTTP status code is not handled or not allowed 2026-01-28 10:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f28t5-835-env-28w-fluorescent-w-minature-bi-pin-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-28 10:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-locker-number-plate-kit-pkg-of-200-numbered-500-699>: HTTP status code is not handled or not allowed 2026-01-28 10:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunlite-80870-su-hbr-led-160-watts-e39-50k-led-hid-replacement-lamp-160w-20000-lumens-5000k-mogul-base-dlc-type-b>: HTTP status code is not handled or not allowed 2026-01-28 10:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-locker-number-plate-kit-pkg-of-200-numbered-1300-1499>: HTTP status code is not handled or not allowed 2026-01-28 10:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-1626-defrost-timer-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-steel-table-1-shelf-60x30-1200-lb-capacity-unassembled-2>: HTTP status code is not handled or not allowed 2026-01-28 10:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series-stack-on-storage-48w-x-14-5-8d-x-37-1-8h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 10:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-shelf-unassembled-service-cart-48-x-24-1200-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 10:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-smart-ups-700va-su700x93>: HTTP status code is not handled or not allowed 2026-01-28 10:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pocket-aneroid-sphygmomanometer-with-adult-cuff-and-case>: HTTP status code is not handled or not allowed 2026-01-28 10:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-1132-on-off-lighted-rocker-switch-16a-250v>: HTTP status code is not handled or not allowed 2026-01-28 10:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f14t5-830-env-14w-fluorescent-w-minature-bi-pin-base-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 10:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-5l-x-2w-x-2h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 10:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-jack-6-ton-super-duty>: HTTP status code is not handled or not allowed 2026-01-28 10:28:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/power_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 90862 pages (at 96 pages/min), scraped 48937 items (at 16 items/min) 2026-01-28 10:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-mechanics-gloves-hi-viz-pink-s-28858>: HTTP status code is not handled or not allowed 2026-01-28 10:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-6-5-8-w-x-23-5-8-d-x-4-h-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 10:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/budget-mesh-task-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 10:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-jack-12-ton-short-body>: HTTP status code is not handled or not allowed 2026-01-28 10:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s3850-safety-glasses-black-frame-clear-lens-scratch-resistanthard-coat>: HTTP status code is not handled or not allowed 2026-01-28 10:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-cartridge-filter-16-gallon-wet-dry-vacuum>: HTTP status code is not handled or not allowed 2026-01-28 10:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-follower-full-comp-inch-cry30vuu-double-sealed-1-78-od>: HTTP status code is not handled or not allowed 2026-01-28 10:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purell-sani-wipe-twlet-indv-wrap-1000>: HTTP status code is not handled or not allowed 2026-01-28 10:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-cardboard-corrugated-boxes-32l-x-32w-x-8h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:29:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlt-1889-0600-6-digital-caliper>: HTTP status code is not handled or not allowed 2026-01-28 10:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dh-cr-3-small-cable-cover-3925x525x075-channel-15x05>: HTTP status code is not handled or not allowed 2026-01-28 10:29:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/power_conditioners landed on page that is not a product page. 2026-01-28 10:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fc22t5-835-22w-fluorescent-w-2gx13-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-28 10:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/db4p-m613-polypropylene-mag-drive-pump-1-4hp-115v-1-phase-18-gpm>: HTTP status code is not handled or not allowed 2026-01-28 10:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-maker-labelmanager210d-6-x-6-1-2-x-2-1-2>: HTTP status code is not handled or not allowed 2026-01-28 10:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switchboard-non-conductive-diamond-mat-3-wide-full-75-ft-roll-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1212ch-continuous-hinge-wclamps-type-12-1200x1200x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 10:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13t2-50-13w-compact-fluorescent-w-medium-base-natural-light>: HTTP status code is not handled or not allowed 2026-01-28 10:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cf42dt-e-in-841-42w-compact-fluorescent-w-gx24vq-4-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 10:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ase12x12x6nk-pull-box-screw-cover-1200x1200x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 10:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-stat-dyna-shield-anti-static-mat-3-by-10-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-10-in-opening-24-in-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266284-bracket-hinge-w-closer-top>: HTTP status code is not handled or not allowed 2026-01-28 10:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-dividable-28>: HTTP status code is not handled or not allowed 2026-01-28 10:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-dividable-29>: HTTP status code is not handled or not allowed 2026-01-28 10:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661107-freezer-door-assembly-358-359-758-772-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 10:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-deluxe-thermoplastic-coated-32-gallon-mesh-receptacle-w-dome-lid-base-green>: HTTP status code is not handled or not allowed 2026-01-28 10:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/541173-gas-valve-kit-honeywell-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 10:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/541201-dual-solenoid-valve-120v-for-southbend-range>: HTTP status code is not handled or not allowed 2026-01-28 10:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/581056-solenoid-valve1-2-inch-110-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-resistant-gloves-micro-foam-nitrile-coated-ansi-a4-l-graypurple>: HTTP status code is not handled or not allowed 2026-01-28 10:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loom-clamps-vinyl-coated-steel-1>: HTTP status code is not handled or not allowed 2026-01-28 10:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tonedown-200-advantage-over-the-head-ear-muff-dielectric-nrr-26-db-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h10-disposable-earplugs-uncorded-nrr-31-db-1600-pairscase>: HTTP status code is not handled or not allowed 2026-01-28 10:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1ns-long-sleeve-pullover-hoodie-with-uv-protection-3xl-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 10:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-sheet-1-4-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 10:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511125-ts-body>: HTTP status code is not handled or not allowed 2026-01-28 10:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011835-thermocouple-48-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1ns-long-sleeve-pullover-hoodie-with-uv-protection-4xl-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsb-214sm-surface-mounted-access-door-for-all-surf-stud-12wx12h-smp1212s>: HTTP status code is not handled or not allowed 2026-01-28 10:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-214m-flush-access-door-for-all-surf-stud-18wx24h-mp2418s>: HTTP status code is not handled or not allowed 2026-01-28 10:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-flammable-cabinet-with-self-close-double-door-45-gallon>: HTTP status code is not handled or not allowed 2026-01-28 10:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-booth-6-x-6-guard-booth-economy-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-fluorescent-spiral-light-bulb-e26-base-20w-blackblue-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 10:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-214m-flush-access-door-for-all-surf-stud-12wx12h-mp1212s>: HTTP status code is not handled or not allowed 2026-01-28 10:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-kit-with-pro-150-tool>: HTTP status code is not handled or not allowed 2026-01-28 10:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-i-hss-right-hand-spiral-chucking-reamer-7550>: HTTP status code is not handled or not allowed 2026-01-28 10:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-held-electronic-ignition-micro-torch>: HTTP status code is not handled or not allowed 2026-01-28 10:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scratch-resistant-strip-door-curtain-10-w-x-8-h>: HTTP status code is not handled or not allowed 2026-01-28 10:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-1-4-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-28 10:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tripower-classical-section-molded-notch-vbelt-gates-bx46>: HTTP status code is not handled or not allowed 2026-01-28 10:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f50-face-shield-window-8l-x-15-12w-x-116-thick-shade-5-ir-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 10:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tripower-classical-section-molded-notch-vbelt-gates-ax52>: HTTP status code is not handled or not allowed 2026-01-28 10:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100a-bug-100w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 10:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-3-4-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 10:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-ufo-high-bay-light-fixture-100w-120-277v-14000-lumens-5000k-80-cri-black>: HTTP status code is not handled or not allowed 2026-01-28 10:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-mlt-13>: HTTP status code is not handled or not allowed 2026-01-28 10:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-stairway-slope-work-platform-w-handrails-36in-x-60in-platform>: HTTP status code is not handled or not allowed 2026-01-28 10:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-silicone-coolant-hose-gates-24814>: HTTP status code is not handled or not allowed 2026-01-28 10:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009316-flame-switch>: HTTP status code is not handled or not allowed 2026-01-28 10:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-ibc-4000i-113l-x-71w-x-32h>: HTTP status code is not handled or not allowed 2026-01-28 10:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x143-orange-strip>: HTTP status code is not handled or not allowed 2026-01-28 10:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universalpoly-drumsafety-funnel-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/95-gallon-spill-refill-kit-aggressive-1391-rf>: HTTP status code is not handled or not allowed 2026-01-28 10:29:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012123-pilot-stem-tip-for-vulcan-hart>: HTTP status code is not handled or not allowed 2026-01-28 10:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-single-sided-upright-32>: HTTP status code is not handled or not allowed 2026-01-28 10:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/generac-7225-guardian-14kw-120-240v-1-phase-air-cooled-standby-generator-ng-lp-wifi-enabled>: HTTP status code is not handled or not allowed 2026-01-28 10:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24kw-120-240v-1-phase-air-cooled-standby-w-ats-ng-lp-wifi-enabled>: HTTP status code is not handled or not allowed 2026-01-28 10:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-653-ratchet-chain-lever-hoist-1-1-2t-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 10:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh327-non-vented-cap-style-hard-hat-4-point-adjustable-ratchet-suspension-green>: HTTP status code is not handled or not allowed 2026-01-28 10:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-piston-vibrator-50-1s>: HTTP status code is not handled or not allowed 2026-01-28 10:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/933-series-airtight-watertight-case-w-dividers-933-2004-19-7-8-l-x-16-1-8-w-x-10-1-8-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-inclined-arm-10>: HTTP status code is not handled or not allowed 2026-01-28 10:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-3-16-diameter-7x19-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 10:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-horizontal-brace-set-of-2-1>: HTTP status code is not handled or not allowed 2026-01-28 10:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-ball-vibrator-bv-380>: HTTP status code is not handled or not allowed 2026-01-28 10:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010985-burner-pilot-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 10:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-16-diameter-vinyl-coated-3-32-diameter-7x7-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 10:29:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 10:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cone-sign-keep-right-black-on-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 90957 pages (at 95 pages/min), scraped 48951 items (at 14 items/min) 2026-01-28 10:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-bvs-190>: HTTP status code is not handled or not allowed 2026-01-28 10:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pld-u-bend-fluorescent-bulb-g24q2-base-18w-1080-lumens-3000k-warm-white-pk-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-bollard-post-sleeve-4-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-stack-rack-60-w-x-42-d-x-48-h-3>: HTTP status code is not handled or not allowed 2026-01-28 10:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ivory-dish-detergent-liquid-classic-scent-24-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 10:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1131111-cylinder-foot-valve-assembly-for-fisher-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 10:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-bah-inc115v-300w>: HTTP status code is not handled or not allowed 2026-01-28 10:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-ebv-ps-25no-2>: HTTP status code is not handled or not allowed 2026-01-28 10:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offset-left-cut-aviation-sn-ip>: HTTP status code is not handled or not allowed 2026-01-28 10:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1292-type-so-power-cord-3-wire-10-gauge-600v-30a-25>: HTTP status code is not handled or not allowed 2026-01-28 10:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-f54t5ho-830-46in85cri>: HTTP status code is not handled or not allowed 2026-01-28 10:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-2-sided-cage-w-5-sliding-door-10-6-x-10-4-x-10-5-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 10:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks>: HTTP status code is not handled or not allowed 2026-01-28 10:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-1815w-g-style-industrial-coupler-1-2-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 10:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh401-non-vented-safety-helmet-4-point-adjustable-ratchet-suspension-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-cf-l40se-841-singletube>: HTTP status code is not handled or not allowed 2026-01-28 10:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyimide-plastic-film-001-thick-x-24-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-fb32t8-841-6-u-bendlamp>: HTTP status code is not handled or not allowed 2026-01-28 10:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-steel-container-drop-gate-unpainted-2>: HTTP status code is not handled or not allowed 2026-01-28 10:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-215w-t-style-automotive-coupler-and-plug-kit-5-piece-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1039-steam-water-oil-gas-ball-shut-off-valve-1-1-4-inch-fpt-threaded-ends>: HTTP status code is not handled or not allowed 2026-01-28 10:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jackson-safety-sc-6-cap-style-hard-hat-4-point-ratchet-suspension-gray-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 10:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-enh-jcr120v-250w>: HTTP status code is not handled or not allowed 2026-01-28 10:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/north-7583p100l-organic-vapor-acid-gas-cartridge-p100-filter-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-783w-t-style-automotive-plug-1-4-mnpt-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-aluminum-foil-roll-lighter-gauge-standard-18-x-500-ft-silver-3>: HTTP status code is not handled or not allowed 2026-01-28 10:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abs-plastic-rod-1-diameter-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-b13-torpedo-clear-light-bulb-e26-base-7w-500-lumens-40k-cool-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 10:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-4-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 10:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-8-thick-x-1-1-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 10:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-8-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 10:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-bag-35-lb-base-weight-brown-kraft-10-6-516x4-316x13-38-500-bundle>: HTTP status code is not handled or not allowed 2026-01-28 10:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warn-1000ac-1000-pound-capacity-120v-ac-powered-utility-winch>: HTTP status code is not handled or not allowed 2026-01-28 10:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-1840w-h-style-industrial-plug-1-4-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 10:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-765w-v-style-high-flow-coupler-1-4-mnpt>: HTTP status code is not handled or not allowed 2026-01-28 10:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-764w-v-style-high-flow-coupler-1-4-fnpt->: HTTP status code is not handled or not allowed 2026-01-28 10:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-container-forkli-able-with-double-wall-gray-3>: HTTP status code is not handled or not allowed 2026-01-28 10:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elastic-polyethylene-drum-cover-1>: HTTP status code is not handled or not allowed 2026-01-28 10:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a19-light-bulb-e26-base-14w-1500-lumens-2700k-soft-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 10:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531363-wire-hi-temp-16-ga-tan-500>: HTTP status code is not handled or not allowed 2026-01-28 10:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-food-baskets-25lb-capacity-redwhite>: HTTP status code is not handled or not allowed 2026-01-28 10:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-in-comfort-cooler-belt-drive-whole-house-fan-1-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 10:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-plastic-sheet-3-8-thick-x-48-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 10:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-double-hinged-door-8w-x-7h-12-5-1-4-overall-height>: HTTP status code is not handled or not allowed 2026-01-28 10:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-093-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531366-wire-hi-temp-12-ga-tan-100>: HTTP status code is not handled or not allowed 2026-01-28 10:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porcelain-lamp-holder-e26-medium-base-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 10:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-beam-pair-96-l-9>: HTTP status code is not handled or not allowed 2026-01-28 10:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-row-spacer-12-depth>: HTTP status code is not handled or not allowed 2026-01-28 10:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-175-z>: HTTP status code is not handled or not allowed 2026-01-28 10:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-beam-pair-96-l-10>: HTTP status code is not handled or not allowed 2026-01-28 10:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/height-adjustable-premier-feeding-chair-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 10:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-26pc-transfer-punch-set-letters-a-z>: HTTP status code is not handled or not allowed 2026-01-28 10:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1781080-probe-water-level-w-hex-fit-for-wilbur-curtis-co>: HTTP status code is not handled or not allowed 2026-01-28 10:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0490rnav2xl-insulated-softshell-jacket-navy-2xl>: HTTP status code is not handled or not allowed 2026-01-28 10:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381648-ignition-wire>: HTTP status code is not handled or not allowed 2026-01-28 10:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-and-skidding-tongs-tmw-14-steel-16-hook-opening-1500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nsf-fabricated-3-compart-sink-24l-x-24w-bowl-9h-splash-24l-left-right-drainboards-18-ga>: HTTP status code is not handled or not allowed 2026-01-28 10:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96x36-plastic-square-edge-power-apron-production-bench-tan-32313731>: HTTP status code is not handled or not allowed 2026-01-28 10:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nsf-fabricated-3-compart-sink-16l-x-20w-bowl-9h-splash-18l-left-right-drainboards-18-ga>: HTTP status code is not handled or not allowed 2026-01-28 10:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-th-1-2-composite-twin-hammer-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-28 10:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-presentation-easel-69-maximum-height-metal-black>: HTTP status code is not handled or not allowed 2026-01-28 10:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x30-shop-top-safety-edge-power-apron-production-bench-blue-32313778>: HTTP status code is not handled or not allowed 2026-01-28 10:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-adjustable-height-5-8-steel-work-platform>: HTTP status code is not handled or not allowed 2026-01-28 10:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reebokrb7755-mens-6-sport-boot-dark-brown-size-17-w>: HTTP status code is not handled or not allowed 2026-01-28 10:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-187-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-trash-can-dome-lid-dolly-44-gallon-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-esd-square-edge-power-apron-production-bench-blue-32313792>: HTTP status code is not handled or not allowed 2026-01-28 10:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rockportrk6640-mens-more-energy-6-lace-to-toe-waterproof-work-boot-brown-size-9-m>: HTTP status code is not handled or not allowed 2026-01-28 10:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-ageia0163-mens-6-internal-met-guard-work-boot-brown-size-12-w>: HTTP status code is not handled or not allowed 2026-01-28 10:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-mat-accessory-ramp-2>: HTTP status code is not handled or not allowed 2026-01-28 10:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-mat-accessory-ramp-6>: HTTP status code is not handled or not allowed 2026-01-28 10:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-5-piece-cabinet-set-130w-x-21-14d-wall-x-80h-red>: HTTP status code is not handled or not allowed 2026-01-28 10:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96x30-plastic-square-edge-power-apron-production-bench-blue-32313841>: HTTP status code is not handled or not allowed 2026-01-28 10:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reebokrb1910-mens-classic-skateboard-shoe-black-size-9-m>: HTTP status code is not handled or not allowed 2026-01-28 10:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/std050334hp-10-hp-oil-less-scroll-comp-80-gal-horiz-145-psi-3-ph-230v-refrigerated-dryer>: HTTP status code is not handled or not allowed 2026-01-28 10:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-outdoor-cylinder-flush-mount-light-fixture-e26-medium-base-60w-black>: HTTP status code is not handled or not allowed 2026-01-28 10:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-gm2c-12-b>: HTTP status code is not handled or not allowed 2026-01-28 10:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-view-expanding-file-5-pockets-letter-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-rigid-plate-caster-6-polyurethane-wheel>: HTTP status code is not handled or not allowed 2026-01-28 10:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-300-b>: HTTP status code is not handled or not allowed 2026-01-28 10:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/choice-cordless-outdoor-sun-shade-120-w-x-72-l-monterey>: HTTP status code is not handled or not allowed 2026-01-28 10:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-strapping-cutter>: HTTP status code is not handled or not allowed 2026-01-28 10:30:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-275-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-36-d-shop-top-square-edge-with-drawer-riser>: HTTP status code is not handled or not allowed 2026-01-28 10:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-recessed-downlight-fixture-10w-700-lumens-5-12dia-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 10:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-blank-rigid-plastic-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-28 10:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 91053 pages (at 96 pages/min), scraped 48961 items (at 10 items/min) 2026-01-28 10:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-gm1c-25-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-t12-filament-light-bulb-e26-base-3w-350-lumens-2700k-warm-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 10:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-7-piece-tall-cabinet-set-248-5-x-21-x-80-silver>: HTTP status code is not handled or not allowed 2026-01-28 10:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-300-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-hand-ctrl-w-cv-100-using-low-stress-buttons>: HTTP status code is not handled or not allowed 2026-01-28 10:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-025-b>: HTTP status code is not handled or not allowed 2026-01-28 10:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011032-ts-safety-valve>: HTTP status code is not handled or not allowed 2026-01-28 10:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-emergency-combination-shower-with-eyewash-station-floor-mounted-plastic-head-bowl>: HTTP status code is not handled or not allowed 2026-01-28 10:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ses130862-3-hp-oil-less-scroll-compressor-13-gallon-horizontal-116-psi-1-phase-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 10:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-bellows-package-global-industrial-8482-48-x-28-power-scissor-li-tables>: HTTP status code is not handled or not allowed 2026-01-28 10:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 10:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hg-2-hss-2-flute-bright-square-single-end-mill-1-8-x-3-8-x-3-8-x-2-5-16>: HTTP status code is not handled or not allowed 2026-01-28 10:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-3-port-2-pos-man-valve-1-8-nptf-port-palm-actr-air-spring-ret>: HTTP status code is not handled or not allowed 2026-01-28 10:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-132w-sunbrella-1a-forest-green-fabric>: HTTP status code is not handled or not allowed 2026-01-28 10:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761456-replacement-cartridge-4fc-for-everpure-filter>: HTTP status code is not handled or not allowed 2026-01-28 10:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-w-1-water-hardening-drill-rod-1-4>: HTTP status code is not handled or not allowed 2026-01-28 10:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-cage-raindrop-vanity-light-fixture-12w-500-lumens-4-34l-oil-rubbed-bronze>: HTTP status code is not handled or not allowed 2026-01-28 10:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-stock-picking-ladder-expanded-tread-w-cal-osha-handrail-cal-spl-6-14nx>: HTTP status code is not handled or not allowed 2026-01-28 10:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-24in-x-40in-cocktail-table-aluminum-volcanic-black-sunset>: HTTP status code is not handled or not allowed 2026-01-28 10:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-piloted-valve-5-port-2-pos-sngl-air-ctrl-1-2-npt-cv-279>: HTTP status code is not handled or not allowed 2026-01-28 10:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-steel-safety-rolling-ladder-w-weight-actuated-lock-16-w-perforated-step-orange-w-cal-osha-handrail-cal-wa052414p-o>: HTTP status code is not handled or not allowed 2026-01-28 10:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-6-step-steel-rolling-ladder-14-d-top-step-w-handrails-orange-w-cal-osha-handrail-cal-fsh626p-o>: HTTP status code is not handled or not allowed 2026-01-28 10:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-ink-cabinet-with-manual-close-double-door-40-gallon>: HTTP status code is not handled or not allowed 2026-01-28 10:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2641024-cord-power-w-swtch-crct-brkr-for-bar-maid-coproration>: HTTP status code is not handled or not allowed 2026-01-28 10:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010231-thermostat-kit-for-montague-oven>: HTTP status code is not handled or not allowed 2026-01-28 10:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-linear-bar-vanity-light-fixture-3540w-4050-lumens-47-1316l-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 10:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-368413-r-bookcase-all-welded-36-wx13-dx84-h-red>: HTTP status code is not handled or not allowed 2026-01-28 10:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heritage-backless-bench-recycled-plastic-6-ft-black-frame-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-5-port-2-pos-sngl-solenoid-1-4-nptf-24vac>: HTTP status code is not handled or not allowed 2026-01-28 10:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-ties-uv-black-6-100-pieces>: HTTP status code is not handled or not allowed 2026-01-28 10:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-square-shade-vanity-light-fixture-60w-24l-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 10:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bussing-tub-21-l-x-15-w-x-5-h-ribbed-bottom-bus-box-polypropylene-black>: HTTP status code is not handled or not allowed 2026-01-28 10:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-dolly-with-open-deck-24-x-16-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bussing-tub-21-l-x-15-w-x-7-h-ribbed-bottom-bus-box-polypropylene-black>: HTTP status code is not handled or not allowed 2026-01-28 10:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-132w-olefin-antique-beige-fabric>: HTTP status code is not handled or not allowed 2026-01-28 10:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-8-step-steel-rolling-ladder-14-d-top-step-w-handrails-lock-step-orange-w-cal-osha-handrail-cal-fs083214p-o>: HTTP status code is not handled or not allowed 2026-01-28 10:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-w-x-12-h-x-1-d-pleated-merv-8-standard-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 10:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-ties-natural-75-lb-tens-14-1000-pieces>: HTTP status code is not handled or not allowed 2026-01-28 10:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gendouble-black-rolling-basket-55-liter-with-2-fixed-wheels>: HTTP status code is not handled or not allowed 2026-01-28 10:31:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-18-h-x-1-d-pleated-merv-8-standard-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 10:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conversion-plate-kit75-mm-to-100-mm>: HTTP status code is not handled or not allowed 2026-01-28 10:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-365218-ts-bookcase-all-welded-36-wx18-dx52-h-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-36in-gray-inlet-section>: HTTP status code is not handled or not allowed 2026-01-28 10:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oshas-forklift-powered-industrial-truck-safety-compliance-manual>: HTTP status code is not handled or not allowed 2026-01-28 10:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-step-steel-safety-rolling-ladder-w-weight-actuated-lock-24-w-perforated-step-orange-w-cal-osha-handrail-cal-wa134014p-o>: HTTP status code is not handled or not allowed 2026-01-28 10:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-octagon-sign-cwfs436>: HTTP status code is not handled or not allowed 2026-01-28 10:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-wheel-chock-30000-lb-load-capacity-10l-x-8-12w-x-5h-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 10:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-6-step-steel-rolling-ladder-21-d-top-step-w-handrails-orange-w-cal-osha-handrail-cal-fsh61821g-o>: HTTP status code is not handled or not allowed 2026-01-28 10:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rb-n-storage-cabinet-all-welded-36-wx18-dx72-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-stock-picking-ladder-perf-step>: HTTP status code is not handled or not allowed 2026-01-28 10:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/af-361-l-grn-combination-cabinet-all-welded-36-wx21-dx72-h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-28 10:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-w-x-8-h-x-1-d-pleated-merv-8-standard-capacity-air-filter-wire-back-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 10:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas>: HTTP status code is not handled or not allowed 2026-01-28 10:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-safety-rolling-ladder-w-weight-actuated-lock-step-16-w-expanded-step-w-cal-osha-handrail-cal-wa062414x>: HTTP status code is not handled or not allowed 2026-01-28 10:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-step-easy-turn-rolling-ladder-standard-angle>: HTTP status code is not handled or not allowed 2026-01-28 10:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-hose-braid-w-grooved-nipples-4-x-36>: HTTP status code is not handled or not allowed 2026-01-28 10:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-48662rb-l-grn-mobile-cabinet-all-welded-36-wx24-dx66-h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-28 10:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000163-tongue-buckle-belt-restraint-310-lbs-medium>: HTTP status code is not handled or not allowed 2026-01-28 10:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-367224ds-bl-wardrobe-cabinet-all-welded-36-wx24-dx72-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1101253-delta-vest-style-full-body-harness-tongue-buckle-420-cap-lbs-xxl>: HTTP status code is not handled or not allowed 2026-01-28 10:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000612-tongue-buckle-belt-restraint-310-lbs-xs>: HTTP status code is not handled or not allowed 2026-01-28 10:31:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radio_microphones already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-15x18x72-1-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-blue-streak-flip-back-detachable-desk-arms-and-swing-away-foot-rest>: HTTP status code is not handled or not allowed 2026-01-28 10:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-steel-stock-picking-ladder-abrasive-tread-w-cal-osha-handrail-cal-spl-7-14r>: HTTP status code is not handled or not allowed 2026-01-28 10:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bl-364pt-bl-counter-high-storage-cabinet-w--plastic-top-all-welded-36x18-x42--blue>: HTTP status code is not handled or not allowed 2026-01-28 10:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-7-step-steel-rolling-ladder-14-d-top-step-w-handrails-lock-step-orange-w-cal-osha-handrail-cal-fs073014g-o>: HTTP status code is not handled or not allowed 2026-01-28 10:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-double-tier-12x15x36-without-legs-6-doors-assembled-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-inch-sentra-extra-h-d-detachable-desk-arm-swing-away-footrest>: HTTP status code is not handled or not allowed 2026-01-28 10:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-14-h-x-1-d-carbon-pleated-merv-6-standard-performance-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 10:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7400201-securaspan-pour-in-place-concrete-sleeve-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 10:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-er70s-6-mig-welding-wire-0024-dia>: HTTP status code is not handled or not allowed 2026-01-28 10:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-inch-sentra-ec-heavy-duty-extra-wide-detachable-full-arm>: HTTP status code is not handled or not allowed 2026-01-28 10:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-outward-swing-partition-door-w-hardware-24w-almond>: HTTP status code is not handled or not allowed 2026-01-28 10:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/two_way_radios_accessories/two_way_radio_microphones>: HTTP status code is not handled or not allowed 2026-01-28 10:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-stock-picking-ladder-abrasive-tread-w-cal-osha-handrail-cal-spl-6-nr>: HTTP status code is not handled or not allowed 2026-01-28 10:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-dry-erase-porcelain-whiteboard-96w-x-48h-white-surfacesilver-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-support-blade-for-factory-cat-250-1139g>: HTTP status code is not handled or not allowed 2026-01-28 10:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patient-lift-sling-solid-canvas>: HTTP status code is not handled or not allowed 2026-01-28 10:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-minuteman-90494139minuteman-01077480>: HTTP status code is not handled or not allowed 2026-01-28 10:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 91152 pages (at 99 pages/min), scraped 48981 items (at 20 items/min) 2026-01-28 10:31:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/credenzas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/overdoor-traction-set>: HTTP status code is not handled or not allowed 2026-01-28 10:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-nilfisk-advance-9095629000>: HTTP status code is not handled or not allowed 2026-01-28 10:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valencia-series-hutch-with-doors-58-78wx15dx35-12h-medium-cherry>: HTTP status code is not handled or not allowed 2026-01-28 10:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-raised-planter-bed-with-legs-12d-x-24w-x-31h-green>: HTTP status code is not handled or not allowed 2026-01-28 10:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-ipc-eagle-mpvr05804>: HTTP status code is not handled or not allowed 2026-01-28 10:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-lavatory-system-low-on-left-and-right>: HTTP status code is not handled or not allowed 2026-01-28 10:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/190c-tn-11-16-general-purpose-tin-118-silver-deming-drill-with-1-2-reduced-shank>: HTTP status code is not handled or not allowed 2026-01-28 10:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s101006-wire-rope-sling-1-4-x-6-eye-and-eye-960-1300-2600-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-decking-52-w-x-42-d-x-1-1-2-h-2>: HTTP status code is not handled or not allowed 2026-01-28 10:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-wash-fountain-corner-raising-vent-23>: HTTP status code is not handled or not allowed 2026-01-28 10:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-shower-curtain-wash-station-s19-330>: HTTP status code is not handled or not allowed 2026-01-28 10:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-z-adjust-boltless-shelf-truck-with-wood-shelves-1>: HTTP status code is not handled or not allowed 2026-01-28 10:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-eye-wash-station-s19-220b>: HTTP status code is not handled or not allowed 2026-01-28 10:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/credenzas>: HTTP status code is not handled or not allowed 2026-01-28 10:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-pinch-gauge-50-lb-dial-gauge-and-analog-output-signal-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-cord-strapping-kit-cordkit-3-4-inches-x-250-feet-orange-3-5-inches-x-6-inches-core>: HTTP status code is not handled or not allowed 2026-01-28 10:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1802-52-cobalt-heavy-duty-straw-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 10:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-ground-clamp-steel-300a>: HTTP status code is not handled or not allowed 2026-01-28 10:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-leg-chest-dynamometer-with-standard-platform-child-165-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-12w-x-82h-dark-khaki>: HTTP status code is not handled or not allowed 2026-01-28 10:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-compact-flammable-cabinet-manual-close-door-4-gallon>: HTTP status code is not handled or not allowed 2026-01-28 10:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-6-h-workbench-stringer-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152037-4-poly-web-sling-eye-and-eye-5120-6400-12800-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-squeeze-bulb-dynamometer-no-reset-30-psi-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-inward-swing-partition-door-w-hardware-24w-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 10:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1838-1-2-hss-heavy-duty-bright-118-point-multi-purpose-carbide-tipped-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 10:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-elevated-plastic-box-truck-4-bushel-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-tier-5-door-clear-view-locker-digital-lock-36-inch-w-x-15-inch-d-x-66-inch-hgray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 10:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-factory-cat-25-754l>: HTTP status code is not handled or not allowed 2026-01-28 10:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1805-1-8-hss-heavy-duty-steam-oxide-135-aircraft-extension-drill>: HTTP status code is not handled or not allowed 2026-01-28 10:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pa-950-series-tri-pack-medium-duty-closer-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 10:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151054-3-single-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-28 10:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1821-1-12in-oal-hss-h-d-sand-blasted-118-point-carbide-tipped-sds-plus-2-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 10:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rim-reversible-panic-device-for-doors-25-36-wide-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 10:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-door-lock-2200-surface-rim-mount-satin-chrome>: HTTP status code is not handled or not allowed 2026-01-28 10:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-2-door-digital-locker-12inwx12indx78inh-tan-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 10:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-brush-kit-nylon-for-nss-2694511>: HTTP status code is not handled or not allowed 2026-01-28 10:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1821-1-4-6in-oal-hss-h-d-sand-blasted-118-point-carbide-tipped-sds-plus-2-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 10:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-nobles-tennant-390942>: HTTP status code is not handled or not allowed 2026-01-28 10:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1877-1-1-2-black-gold-118-point-3-flat-1-2-reduced-shank-silver-deming-drill>: HTTP status code is not handled or not allowed 2026-01-28 10:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-lock-hard-hat-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1889-1-2-6in-oal-hss-heavy-duty-bright-118-point-fast-helix-carbide-tipped-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 10:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1878-5-16-hss-heavy-duty-black-gold-135-split-point-3-flatted-shank-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 10:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-set-urethane-for-nobles-tennant-391378>: HTTP status code is not handled or not allowed 2026-01-28 10:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-24-d-x-8-h-wire-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-heated-fleece-hoodie-jacket-with-detachable-hood-xl-charcoal-mix>: HTTP status code is not handled or not allowed 2026-01-28 10:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/programming-key-for-range-locker-lock-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5412w-azure>: HTTP status code is not handled or not allowed 2026-01-28 10:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcr-safety-n9690s-ninja-ice-gloves-arcylic-terry-inner-black-small-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 10:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-vac-motor-td-for-ametek-116565-29>: HTTP status code is not handled or not allowed 2026-01-28 10:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-4w-x-82h-olive>: HTTP status code is not handled or not allowed 2026-01-28 10:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regency-decorative-cluster-box-unit-tall-8-a-size-doors-type-i-green-usps-access>: HTTP status code is not handled or not allowed 2026-01-28 10:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-mouth-hdpe-economy-bottles-with-closure-500ml-case-of-48>: HTTP status code is not handled or not allowed 2026-01-28 10:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunnage-shelf-18x60-2>: HTTP status code is not handled or not allowed 2026-01-28 10:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/southwire-67962802-nm-b-pcs-12-2-g-16-2-pegy-1000r-romex-simpull-nm-b-pcs-duo-cable-1000>: HTTP status code is not handled or not allowed 2026-01-28 10:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-couplings-recessed-screw-w-keyway-climax-cc-200-200-kw>: HTTP status code is not handled or not allowed 2026-01-28 10:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-rectangular-strip-carbide-blank-18x12x3-stb416c>: HTTP status code is not handled or not allowed 2026-01-28 10:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ldpe-carboys-with-spigot-4-liter-case-of-6>: HTTP status code is not handled or not allowed 2026-01-28 10:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lightweight-long-sleeve-flame-resistant-safety-shirt-xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-button-up-safety-shirt-cottonnylon-xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lightweight-long-sleeve-flame-resistant-safety-shirt-l-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:32:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-drain-hose-w-drain-cap-full-assembly-for-nobles-tennant-1014268>: HTTP status code is not handled or not allowed 2026-01-28 10:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-narrow-mouth-amber-bottles-4-liter-case-of-6>: HTTP status code is not handled or not allowed 2026-01-28 10:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150-27-64-hss-general-purpose-steam-oxide-118-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 10:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ldpe-safety-dispensing-jugs-with-closure-10-liter-case-of-4>: HTTP status code is not handled or not allowed 2026-01-28 10:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-safety-cargo-pant-36-waist-x-32l-inseam-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:32:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sqg-1-tapered-grater-w-handle-stainless-steel-handle-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150asp-tn-21-hss-heavy-duty-tin-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 10:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trapeze-disposable-dusting-sheets-8-x-125-ft-white-250-sheetsroll>: HTTP status code is not handled or not allowed 2026-01-28 10:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-outward-swing-partition-door-36w-black-confetti>: HTTP status code is not handled or not allowed 2026-01-28 10:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/tables/laboratory_tables>: HTTP status code is not handled or not allowed 2026-01-28 10:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-1c-series-climax-h1c-393>: HTTP status code is not handled or not allowed 2026-01-28 10:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-button-up-safety-shirt-cottonnylon-m-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:32:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-12-x-12-x-6-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-heavyweight-zip-up-hoodie-m-black>: HTTP status code is not handled or not allowed 2026-01-28 10:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 10:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 91246 pages (at 94 pages/min), scraped 48999 items (at 18 items/min) 2026-01-28 10:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-cap-vented-6-point-fas-trac-iii-hi-viz-yellow-green>: HTTP status code is not handled or not allowed 2026-01-28 10:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40201-2-yth-multi-purpose-life-vest-blue-youth>: HTTP status code is not handled or not allowed 2026-01-28 10:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-thermohose-1399-heater-duct-12-dia-x-16l-x-6-pitch-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 10:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5912w-sage>: HTTP status code is not handled or not allowed 2026-01-28 10:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-10-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suspension-500-swing-ratchet-standard>: HTTP status code is not handled or not allowed 2026-01-28 10:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-trailer-stabilizing-jack-100-10000-lb-static-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-11-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-trailer-stabilizing-jack-125000-lb-static-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cap-with-staz-on-suspension-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 10:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scp-25-sauce-cup-2-1-2-oz-round-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-14-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visor-pc-clear-molded-9-25-inch-w-x-17-inch-l-x-098-inch-h-anti-fog-anti-scratch>: HTTP status code is not handled or not allowed 2026-01-28 10:33:04 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 10:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roach-bait-insecticide-049-oz-bait-8pack-12-packcarton>: HTTP status code is not handled or not allowed 2026-01-28 10:33:05 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:49 2026-01-28 10:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-hp-cast-iron-convertible-deep-well-jet-pump-w-ejector-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-shallow-well-jet-pump-1-hp>: HTTP status code is not handled or not allowed 2026-01-28 10:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedcartt-18-48-63-back-to-back-30-cells-13-8-11>: HTTP status code is not handled or not allowed 2026-01-28 10:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-scratch-scouring-pads-3-12-x-5-12>: HTTP status code is not handled or not allowed 2026-01-28 10:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-18w-x-82h-taupe>: HTTP status code is not handled or not allowed 2026-01-28 10:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tmt-dg2-dial-digital-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 10:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-6w-x-82h-navy-grafix>: HTTP status code is not handled or not allowed 2026-01-28 10:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-effluent-pump-1-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 10:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-with-keyway-2c-kw-series-climax-2c-075-kw>: HTTP status code is not handled or not allowed 2026-01-28 10:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stack-pack-3-drawer-tool-box-22l-x-15-18w-x-16-516h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-081>: HTTP status code is not handled or not allowed 2026-01-28 10:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-couplings-recessed-screw-climax-cc-137-100>: HTTP status code is not handled or not allowed 2026-01-28 10:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-sump-8482-pre-plumbed-1-2-hp-sump-pump>: HTTP status code is not handled or not allowed 2026-01-28 10:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tier-steel-mesh-desk-organizer-black>: HTTP status code is not handled or not allowed 2026-01-28 10:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-glove-single-face-mask-dispenser-10w-x-3-34d-x-20-14h-clear>: HTTP status code is not handled or not allowed 2026-01-28 10:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-auto-floor-scrubber-20-cleaning-path-two-115-amp-batteries>: HTTP status code is not handled or not allowed 2026-01-28 10:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3700-bulk-web-tool-tails-long-black-2lb-60-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-0-093-thick-12-x-48>: HTTP status code is not handled or not allowed 2026-01-28 10:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-panel-wo-brackets-5912w-storm-solidz>: HTTP status code is not handled or not allowed 2026-01-28 10:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-268-z>: HTTP status code is not handled or not allowed 2026-01-28 10:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/canadian-freedom-series-slotted-protective-hat-camouflage>: HTTP status code is not handled or not allowed 2026-01-28 10:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-faced-weld-one-side-bumper-22-2101-10-1-4-w-x-6-d-x-24-h>: HTTP status code is not handled or not allowed 2026-01-28 10:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-cap-vented-6-point-fas-trac-iii-white>: HTTP status code is not handled or not allowed 2026-01-28 10:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-1-500-x-48-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 10:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-fep-sheet-0-250-thick-24-x-24>: HTTP status code is not handled or not allowed 2026-01-28 10:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-oil-filled-cast-nylon-rod-9-000-dia-ft>: HTTP status code is not handled or not allowed 2026-01-28 10:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-24w-x-82h-navy-grafix>: HTTP status code is not handled or not allowed 2026-01-28 10:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-043-s>: HTTP status code is not handled or not allowed 2026-01-28 10:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medical-storage-wall-cabinet-with-2-shelves-keyed-the-different-16-14w-x-8d-x-24h>: HTTP status code is not handled or not allowed 2026-01-28 10:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-1-000-x-48-000-x-96-000>: HTTP status code is not handled or not allowed 2026-01-28 10:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-fluid-level-sight-w-esg-glass-w-reflector-m14-x-1-5-thread-743-1-7-m14x1-5-a>: HTTP status code is not handled or not allowed 2026-01-28 10:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-industry-standard-clamping-couplings-w-keyway-climax-2miscc-15-15skw>: HTTP status code is not handled or not allowed 2026-01-28 10:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-pilaster-w-shoe-4w-x-82h-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 10:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-x-20-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:33:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-utility-pressure-gauge-1-4-npt-dry-fillable-0-15-psi-ctr-back-mount-102d-204b>: HTTP status code is not handled or not allowed 2026-01-28 10:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-18wx18dx78h-blue-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 10:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4shp-3048-72-heavy-duty-perforated-steel-shelving-30-x-48-4-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfm-4b-fluted-ramekins-4-oz-melamine-bone>: HTTP status code is not handled or not allowed 2026-01-28 10:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-gear-locker-w-1-coat-rod-36wx24dx72h-red-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 10:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sgn-202-chain-sig-decaf-3-1-2l-1-3-4h-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-093-s>: HTTP status code is not handled or not allowed 2026-01-28 10:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmcd-9g-double-fold-menu-cover-9-1-2w-12h-plastic-w-vinyl-binding-double-page-green>: HTTP status code is not handled or not allowed 2026-01-28 10:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-237-a>: HTTP status code is not handled or not allowed 2026-01-28 10:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-0-125-thick-48-x-48>: HTTP status code is not handled or not allowed 2026-01-28 10:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-hygenic-stainless-steel-shovel>: HTTP status code is not handled or not allowed 2026-01-28 10:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-skullerz-8961-single-reflective-hard-hat-safety-helmet-sticker-kit-white>: HTTP status code is not handled or not allowed 2026-01-28 10:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-050-s>: HTTP status code is not handled or not allowed 2026-01-28 10:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-shovel-square-blade>: HTTP status code is not handled or not allowed 2026-01-28 10:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap>: HTTP status code is not handled or not allowed 2026-01-28 10:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-phenolic-sheet-0-062-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 10:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/integra-office-chair-high-back-articulating-tilt-18-23h-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 10:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wexpanded-metal-sides-36wx24dx78h-rdall-welded>: HTTP status code is not handled or not allowed 2026-01-28 10:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-climax-rc-031-s>: HTTP status code is not handled or not allowed 2026-01-28 10:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tn526-blade-scraper-3l-blade-4w-wooden-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-42-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 10:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipment-stand-w-adjustable-undershelf-30-x-30-24-high-stainless-top-legsand-undershelf>: HTTP status code is not handled or not allowed 2026-01-28 10:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-industry-standard-clamping-couplings-climax-miscc-35-35-s>: HTTP status code is not handled or not allowed 2026-01-28 10:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-13-s>: HTTP status code is not handled or not allowed 2026-01-28 10:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-20-s>: HTTP status code is not handled or not allowed 2026-01-28 10:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-black-executive-service-cart-39-x-21-x-38-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kitchen-bath-adhesive-caulk-5-5-oz-white-7079818001>: HTTP status code is not handled or not allowed 2026-01-28 10:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-latex-caulk-plus-silicone-10-1-oz-white-7079818425>: HTTP status code is not handled or not allowed 2026-01-28 10:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-auto-blast-gate-6-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/painter-acrylic-latex-caulk-10-1-oz-white-7079818670>: HTTP status code is not handled or not allowed 2026-01-28 10:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-stainless-steel-cleaner-and-polish-21-oz-aerosol-12-case>: HTTP status code is not handled or not allowed 2026-01-28 10:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-tube-0-500-id-x-750-od-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 10:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 91343 pages (at 97 pages/min), scraped 49013 items (at 14 items/min) 2026-01-28 10:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scotch-brite-light-duty-scrubbing-pad-9030-3-5-in-x-5-in-40-case>: HTTP status code is not handled or not allowed 2026-01-28 10:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reborn-collection-tote-bag-with-integrated-shoe-pocket-black>: HTTP status code is not handled or not allowed 2026-01-28 10:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-40>: HTTP status code is not handled or not allowed 2026-01-28 10:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sg-62bb50-af-helium-20-lightweight-safety-glasses-af-copper-blue-lens>: HTTP status code is not handled or not allowed 2026-01-28 10:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sg-59c-af-helium-18-lightweight-safety-glasses-anti-fog-clear-lens>: HTTP status code is not handled or not allowed 2026-01-28 10:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sg-59bb50-af-helium-18-ultra-light-safety-glasses-blue-lens>: HTTP status code is not handled or not allowed 2026-01-28 10:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/king-beamatic-1-section-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-28 10:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-star153-anti-fatigue-mat-1116-thick-3w-x-75l-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 10:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gg-16gaf-go-specs-iv-safety-goggles-anti-fog-gray-lens>: HTTP status code is not handled or not allowed 2026-01-28 10:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/king-economy-3-section-with-t-hinge-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-28 10:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-x-48-corrugated-sheets>: HTTP status code is not handled or not allowed 2026-01-28 10:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0386r-iron-tuff-enhanced-visibility-high-bib-overall-regular-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-28 10:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0386r-iron-tuff-enhanced-visibility-high-bib-overall-regular-navy-medium>: HTTP status code is not handled or not allowed 2026-01-28 10:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bs-3p-bar-shaker-28-oz-3-piece>: HTTP status code is not handled or not allowed 2026-01-28 10:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-vented-24wx18dx72hblunassembled>: HTTP status code is not handled or not allowed 2026-01-28 10:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-coat-floor-sealer-and-finish-neutral-scent-5-gallon-pail-1-case-nl167-p5>: HTTP status code is not handled or not allowed 2026-01-28 10:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbbn-1520-cutting-board-15l-20w-1-2h-brown>: HTTP status code is not handled or not allowed 2026-01-28 10:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-18wx18dx72h-blue-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 10:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-skullerz-8951-vented-hard-shell-bump-cap-short-brim-one-size-fits-most-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-50-air-supply-hose-1-2>: HTTP status code is not handled or not allowed 2026-01-28 10:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3999-stainless-steel-scoop-160-oz>: HTTP status code is not handled or not allowed 2026-01-28 10:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0385r-iron-tuff-high-bib-overall-regular-navy-medium>: HTTP status code is not handled or not allowed 2026-01-28 10:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-38>: HTTP status code is not handled or not allowed 2026-01-28 10:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-papr-breathing-tube-z4>: HTTP status code is not handled or not allowed 2026-01-28 10:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-series153-gas-engine-horizontal-shaft-14-12-hp>: HTTP status code is not handled or not allowed 2026-01-28 10:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-door-cell-phone-locker-cp12-091572-dlgy4-wide-whasp-36w-x-15d-x-72-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-door-cell-phone-locker-cp12-091572-amgy-1-wide-whasp-9w-x-15d-x-82-34h-med-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-couplings-recessed-screw-w-keyway-cc-series-climax-2cc-125-125-kw>: HTTP status code is not handled or not allowed 2026-01-28 10:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0385r-iron-tuff-high-bib-overall-regular-sage-4xl>: HTTP status code is not handled or not allowed 2026-01-28 10:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/132c-ice-logger-boot-regular-tan-7>: HTTP status code is not handled or not allowed 2026-01-28 10:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-181-s>: HTTP status code is not handled or not allowed 2026-01-28 10:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pb1100fr-panic-bar-ul-listed-fire-rated>: HTTP status code is not handled or not allowed 2026-01-28 10:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kira-b-50-autonomous-floor-scrubber-22-cleaning-width-gray-full-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-ambient-pump-exhaust-filter-canister>: HTTP status code is not handled or not allowed 2026-01-28 10:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-industry-standard-clamping-couplings-climax-miscc-15-15-s>: HTTP status code is not handled or not allowed 2026-01-28 10:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0488-insulated-quilted-sweatshirt-regular-navy-medium>: HTTP status code is not handled or not allowed 2026-01-28 10:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344r-iron-tuff-minus-50-suit-regular-sage-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-w-keyway-climax-rc-125-s-kw>: HTTP status code is not handled or not allowed 2026-01-28 10:34:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bssb-13-slotted-basting-spoon-w-bakelite-handle-13l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-9-misc-products-tagboard-placard>: HTTP status code is not handled or not allowed 2026-01-28 10:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-8-corrosive-rigid-plastic-placard>: HTTP status code is not handled or not allowed 2026-01-28 10:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344r-iron-tuff-minus-50-suit-short-sage-4xl>: HTTP status code is not handled or not allowed 2026-01-28 10:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-wire-shelf-24x60>: HTTP status code is not handled or not allowed 2026-01-28 10:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-031>: HTTP status code is not handled or not allowed 2026-01-28 10:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-72x24>: HTTP status code is not handled or not allowed 2026-01-28 10:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-772424-wht-pegboard-wall-panel-white-24-w-x-7-8-d-x-24-h>: HTTP status code is not handled or not allowed 2026-01-28 10:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbi-1824-grooved-cutting-board-18l-24w-1-2h-white>: HTTP status code is not handled or not allowed 2026-01-28 10:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-coller-hooks-large>: HTTP status code is not handled or not allowed 2026-01-28 10:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-rz-gx4-external-flow-regulator>: HTTP status code is not handled or not allowed 2026-01-28 10:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0381r-iron-tuff-minus-50-suit-short-navy-medium>: HTTP status code is not handled or not allowed 2026-01-28 10:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-28 10:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oe-fine-wire-double-iridium-spark-plug-9698-vm-auto>: HTTP status code is not handled or not allowed 2026-01-28 10:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jbc-3-heavy-duty-beam-clamp-3-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-sledge-hammer-10-lb-head-16l-unbreakable-steel-core-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-h-backless-counter-height-stool-metal-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-inch-h-black-antique-gold-metal-barstool-with-vertical-slat-back>: HTTP status code is not handled or not allowed 2026-01-28 10:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0034-06-stanford-salad-fork>: HTTP status code is not handled or not allowed 2026-01-28 10:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-floor-stripper-concentrate-gallon-bottle-4-bottles-case-1045769>: HTTP status code is not handled or not allowed 2026-01-28 10:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0034-02-stanford-iced-tea-spoon>: HTTP status code is not handled or not allowed 2026-01-28 10:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-l4-battery-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/911-safety-retractable-hose-reel-nickel-plated-brass-nipple-217-psi-38-id-x-42-12l>: HTTP status code is not handled or not allowed 2026-01-28 10:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bed-bug-spray-14-oz-can-12-cans-case-1043287>: HTTP status code is not handled or not allowed 2026-01-28 10:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-constant-flow-valve>: HTTP status code is not handled or not allowed 2026-01-28 10:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z-link-jaw>: HTTP status code is not handled or not allowed 2026-01-28 10:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/re-machinable-couplings-r2cc-series-climax-r2cc-075-075>: HTTP status code is not handled or not allowed 2026-01-28 10:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-inch-brass-interlocking-stencil-numbers-fifteen-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 10:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-oz-emergency-eyewash-bottle>: HTTP status code is not handled or not allowed 2026-01-28 10:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700914-bowl-for-pegboard-slatwall-14-w-x-13-1-4-d-x-7-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 10:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbpm-b-deluxe-plus-neon-marker-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-front-base-lockers-with-6-legs-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-height-breakroom-table-72-lx36-wx42-h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 10:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-3-flow-control-xl-nylon-cape>: HTTP status code is not handled or not allowed 2026-01-28 10:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pf-16-funnel-16d>: HTTP status code is not handled or not allowed 2026-01-28 10:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-5-yards-self-adhesive-bandage-non-latex-true-red-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-28 10:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z-link-weld-lens-retainer>: HTTP status code is not handled or not allowed 2026-01-28 10:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-635-1-4-1-4-heavy-duty-nut-driver>: HTTP status code is not handled or not allowed 2026-01-28 10:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0358r-iron-tuff-siberian-jacket-tall-sage-medium>: HTTP status code is not handled or not allowed 2026-01-28 10:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-5-yards-self-adhesive-bandage-non-latex-orange-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 10:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medical-kits-0155-0274-elastic-bandage-refill-4-inch-latex-free>: HTTP status code is not handled or not allowed 2026-01-28 10:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-latex-orange-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/st-8-spaghetti-tong-spaghetti-tong-8l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-225-dt>: HTTP status code is not handled or not allowed 2026-01-28 10:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-015-dt>: HTTP status code is not handled or not allowed 2026-01-28 10:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fw-s600-electric-food-cooker-warmer-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 91437 pages (at 94 pages/min), scraped 49025 items (at 12 items/min) 2026-01-28 10:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-018-a>: HTTP status code is not handled or not allowed 2026-01-28 10:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n17s-swivel-hose-adapter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pocket-for-commercial-work-vest-polyester-orange-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 10:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-287-s>: HTTP status code is not handled or not allowed 2026-01-28 10:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-px4-cover>: HTTP status code is not handled or not allowed 2026-01-28 10:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glc-00988-clear-glass-screw-thread-vials-with-green-caps-3-dram-11ml-case-of-144>: HTTP status code is not handled or not allowed 2026-01-28 10:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-6-person-radex-airline-filter>: HTTP status code is not handled or not allowed 2026-01-28 10:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jla-300-20sh-lever-hoist-with-shipyard-hooks-3-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 10:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-radex-bolt-nut-washer-set-of-4>: HTTP status code is not handled or not allowed 2026-01-28 10:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-all-weather-extension-cord-14awg-15a-125v-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-45w-steak-knife-4-1-2l-wood-handle-serrated-blade>: HTTP status code is not handled or not allowed 2026-01-28 10:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1170-1-replacement-desiccant-charges-1-quart>: HTTP status code is not handled or not allowed 2026-01-28 10:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1101deluxe-filterregulatorlubricatorpoly-bowl-wmetal-guard38-npt150-psi40-micron>: HTTP status code is not handled or not allowed 2026-01-28 10:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ssfp-14-cover-for-sst-80-sslb-30>: HTTP status code is not handled or not allowed 2026-01-28 10:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multifunctional-office-chair-with-antimicrobial-upholstery-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 10:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boot-shoe-dryer-and-deodorizer-heat-high-output-fan-2-boot>: HTTP status code is not handled or not allowed 2026-01-28 10:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-106-s>: HTTP status code is not handled or not allowed 2026-01-28 10:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-4-way-3-way-valve-dc-power-unit-pu5007-18-qt-poly-reservoir-250-inch-nptf-outlet>: HTTP status code is not handled or not allowed 2026-01-28 10:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-add-on-unit-60-w-x-18-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 10:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-108-cheese-shakers-w-slotted-tops>: HTTP status code is not handled or not allowed 2026-01-28 10:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-square-led-baffle-recess-down-light-9w-120v-3000k-white>: HTTP status code is not handled or not allowed 2026-01-28 10:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-starter-unit-48-w-x-24-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 10:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38313-full-taper-cartridge-roll-1-2-inch-x-1-inch-x-1-8-inch-80-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-031>: HTTP status code is not handled or not allowed 2026-01-28 10:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d132rb-osha-sign-danger-construction-area-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 10:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d126p-osha-sign-danger-flammable-7-x-10-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 10:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-tier-shelving-starter-unit-solid-galvanized-steel-36w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-12-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:35:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1304700-boss-angle-cylinder-hyd01603>: HTTP status code is not handled or not allowed 2026-01-28 10:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-075-10>: HTTP status code is not handled or not allowed 2026-01-28 10:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bunan-rubber-strip-with-acrylic-adhesive-40a-18-thick-x-1-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-add-on-unit-solid-galvanized-steel-54w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-018-s>: HTTP status code is not handled or not allowed 2026-01-28 10:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-spring-rewind-hose-reel-for-air-water-1-2-i-d-75-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 10:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-temperature-epdm-rubber-sheet-no-adhesive-60a-18-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 10:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-add-on-unit-solid-galvanized-steel-24w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-2-shelf-poly-green-36l-x-18w-x-39h-polyurethane-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-rewind-hose-reel-for-air-water-3-8-i-d-50-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 10:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-scale-ramp-48x36-1>: HTTP status code is not handled or not allowed 2026-01-28 10:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-143>: HTTP status code is not handled or not allowed 2026-01-28 10:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-tier-shelving-add-on-unit-solid-galvanized-steel-24w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 10:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-able-shipping-container-with-lid-51-x-19-10>: HTTP status code is not handled or not allowed 2026-01-28 10:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35107-psa-disc-6-inch-dia-320-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-gray-side-back-panel-kit-for-rubbermaid-utility-cart>: HTTP status code is not handled or not allowed 2026-01-28 10:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-purpose-spring-rewind-hose-reel-for-grease-hydraulic-oil-3-8-i-d-30-hose-each4000-psi>: HTTP status code is not handled or not allowed 2026-01-28 10:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-mpb-275-high-speed-multi-purpose-rotary-draw-bender-1ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 10:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-5-swivel-and-rigid-plate-caster-kit-with-hardware-includes-2-swivel-casters-2-rigid-casters-and-4-screws-16-bolts-16-flat-washers-and-16-nut-bolts>: HTTP status code is not handled or not allowed 2026-01-28 10:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60523-sanding-belt-1a-x-2-inch-x-60-inch-60-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cch-4-4-compartment-condiment-holder>: HTTP status code is not handled or not allowed 2026-01-28 10:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classroom-connector-school-to-home-folders-assorted-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-39-welding-positioner-2200-lb-capacity-1-ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 10:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-compartment-box-for-rubbermaid-trademaster-carts>: HTTP status code is not handled or not allowed 2026-01-28 10:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-70a-38-thick-x-36-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-stacking-box-gray-16-1-2x11-3-8x4-5-8>: HTTP status code is not handled or not allowed 2026-01-28 10:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-foot-pedal-kit-for-rubbermaid-convertible-utility-cart>: HTTP status code is not handled or not allowed 2026-01-28 10:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-175-a>: HTTP status code is not handled or not allowed 2026-01-28 10:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oversize-punch-assembly-for-65t-ironworker-2013-older>: HTTP status code is not handled or not allowed 2026-01-28 10:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwh-12-roast-beef-slicer>: HTTP status code is not handled or not allowed 2026-01-28 10:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50164-3a-fiber-disc-5-inch-x-7-8-inch-80-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-b-cart-tb-tube-pipe-bending-cart-1500-lb-cap-24w-x-12d-x-12h-blueblack>: HTTP status code is not handled or not allowed 2026-01-28 10:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-322cn-carbon-hook-swivel-w-latch-5t-wll>: HTTP status code is not handled or not allowed 2026-01-28 10:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-2140-galvanized-alloy-shackle-bta-1-1-2-30t-wll>: HTTP status code is not handled or not allowed 2026-01-28 10:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-70a-38-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84256-water-proof-sanding-sheets-9-inch-x-11-inch-320-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-28 10:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ba-pbk-full-length-bib-apron-with-pocket-black>: HTTP status code is not handled or not allowed 2026-01-28 10:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-70a-14-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-137-s>: HTTP status code is not handled or not allowed 2026-01-28 10:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38322-full-taper-cartridge-roll-1-2-inch-x-1-1-2-inch-x-1-8-inch-120-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-209-s-c-carbon-shackle-spa-2-35t-wll>: HTTP status code is not handled or not allowed 2026-01-28 10:35:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gauging-table-kit-for-40t-100t-ironworkers-2013-ironworkers-older>: HTTP status code is not handled or not allowed 2026-01-28 10:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-with-acrylic-adhesive-60a-12-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-175-16>: HTTP status code is not handled or not allowed 2026-01-28 10:35:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/closet_garment_organizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-116-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-row-national-rep-tip-and-roll-aluminum-bleacher-21-wide-double-footboard>: HTTP status code is not handled or not allowed 2026-01-28 10:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-50a-38-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 10:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50118-3a-fiber-disc-4-1-2-inch-x-7-8-inch-50-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 10:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 91535 pages (at 98 pages/min), scraped 49046 items (at 21 items/min) 2026-01-28 10:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-hole-set-screw-collar-c-2h-series-climax-c-150-2h-90>: HTTP status code is not handled or not allowed 2026-01-28 10:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-d-ring-vinyl-view-binder-1-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 10:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fold-up-portable-wheelchair-scale-800-lb-x-2-lb-360-kg-x-1-kg-28-inch-x-32-inch-platform>: HTTP status code is not handled or not allowed 2026-01-28 10:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 10:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-6331-hexagon-nuts-steel-with-flange-blackened-m12-11-16-h>: HTTP status code is not handled or not allowed 2026-01-28 10:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-580-lifting-eye-bolts-steel-shoulder-zinc-plated-m10-1-3-4-h-3-8-t-11-16-l>: HTTP status code is not handled or not allowed 2026-01-28 10:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-d-ring-vinyl-view-binder-3-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 10:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-boat-hoist-duty-1-5hp-1800rpm-56c-tenv-115-230v-1ph-60hz-15-min-rigid-c>: HTTP status code is not handled or not allowed 2026-01-28 10:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/closet_garment_organizers>: HTTP status code is not handled or not allowed 2026-01-28 10:36:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-stop-collar-climax-esc-075-s>: HTTP status code is not handled or not allowed 2026-01-28 10:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-beam-pair-144-l-5>: HTTP status code is not handled or not allowed 2026-01-28 10:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-262-s>: HTTP status code is not handled or not allowed 2026-01-28 10:36:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-16-w-grip-safety-angle-ladder>: HTTP status code is not handled or not allowed 2026-01-28 10:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/028-oring-aflas-138id-x-112od-8083-duro-round-black-pkg-100>: HTTP status code is not handled or not allowed 2026-01-28 10:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-general-purpose-motor-50hz-3hp-2-2kw-1440rpm-nan-ip54-220v1-0sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 10:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/348-quad-ring-xring-438id-x-434od-70-duro-round-black-pkg-100>: HTTP status code is not handled or not allowed 2026-01-28 10:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gd-52138-side-lock-heavy-duty-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/241-punch-assembly-for-elite-110-ironworkers>: HTTP status code is not handled or not allowed 2026-01-28 10:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fo-603-tip-out-bin-carts-3-drawers-40-lb-cap-6-516l-x-23-1116w-x-9-78h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/337-quad-ring-xring-3id-x-338od-70-duro-round-black-pkg-100>: HTTP status code is not handled or not allowed 2026-01-28 10:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 10:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-lift-platform-for-14-and-16-bushel-dandux-plastic-box-trucks>: HTTP status code is not handled or not allowed 2026-01-28 10:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-dc-motor-iec-metric-208-80-and-90-frame-b5-flange>: HTTP status code is not handled or not allowed 2026-01-28 10:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/th-24177-ellipse-dyad-operator-with-crank-whitepack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 10:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-truck-tubular-steel-sides-24-x-48-polyurethane-wheels>: HTTP status code is not handled or not allowed 2026-01-28 10:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/binders>: HTTP status code is not handled or not allowed 2026-01-28 10:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gd-12322-garage-door-torsion-spring-250-in-x-2-in-x-28-in-gold-left-hand-wind>: HTTP status code is not handled or not allowed 2026-01-28 10:36:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-mini-tarp-hook-stake-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:36:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/flange_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-lathe-7-5-hp-3-phase-220v-pl-1640>: HTTP status code is not handled or not allowed 2026-01-28 10:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-6848-pocket-door-roller-tri-wheel-1-inch-flat-nylon-wheelspack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 10:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-with-high-temp-adhesive-40a-316-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:36:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=vertical-milling-machine-3-hp-3-phase-220v-vm-949-3 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-forged-head-stake-bright-white>: HTTP status code is not handled or not allowed 2026-01-28 10:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-12x12x72-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerquad153-second-stage-venturi-shut-off-valve-blackmetal>: HTTP status code is not handled or not allowed 2026-01-28 10:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-12x18x72-1-door-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-15x18x72-1-door-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-mobile-table-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 10:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-bar-pipe-truck-36-x-60>: HTTP status code is not handled or not allowed 2026-01-28 10:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 10:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-tarp-system-with-mesh-tarp-8-ft-x-22-ft-dtr8022>: HTTP status code is not handled or not allowed 2026-01-28 10:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/flange_kits>: HTTP status code is not handled or not allowed 2026-01-28 10:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45210-316-hex-end-t-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-inch-right-angle-heavy-duty-12000-rpm-grinder-w-built-in-speed-regulator>: HTTP status code is not handled or not allowed 2026-01-28 10:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-5-hp-1-4-inch-capacity-22000-rpm-medium-duty-die-grinder>: HTTP status code is not handled or not allowed 2026-01-28 10:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=vertical-milling-machine-3-hp-3-phase-220v-vm-949-3>: HTTP status code is not handled or not allowed 2026-01-28 10:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-pallet-rack-starter-96w-x-42d-x-120h-6820-lbs-shelf-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-2-1-5hp-3490rpm-145tc-tefc-208-230-460v-60-50hz-c-face>: HTTP status code is not handled or not allowed 2026-01-28 10:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-1-2hp-1800rpm-s56-tenv-230-460v-60hz-1-15sf-c-face>: HTTP status code is not handled or not allowed 2026-01-28 10:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-sheet-panel-truck-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 10:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-spillpal-foam-wall-spill-containment-berm-12l-x-12w-x-4h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-base-15-d-x-6-h-tan-pair-le-right>: HTTP status code is not handled or not allowed 2026-01-28 10:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-solid-tarp-7-ft-x-18-ft-3011351>: HTTP status code is not handled or not allowed 2026-01-28 10:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-positioner-single-phase-110v-wp-1800f>: HTTP status code is not handled or not allowed 2026-01-28 10:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/english-wheel-28-throat-depth-18-gauge-8-main-2-5-lower-diameter>: HTTP status code is not handled or not allowed 2026-01-28 10:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-tarp-system-with-mesh-tarp-6-ft-x-14-ft-dtr6014>: HTTP status code is not handled or not allowed 2026-01-28 10:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-lid-114003>: HTTP status code is not handled or not allowed 2026-01-28 10:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-hole-pegboard-w-lochook-assortment-24w-x-916d-x-42-12h-black-65pack>: HTTP status code is not handled or not allowed 2026-01-28 10:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-3-in-hand-crank-for-tarp-kits-dtr>: HTTP status code is not handled or not allowed 2026-01-28 10:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-mesh-tarp-6-1-2-ft-x-18-ft-3009094>: HTTP status code is not handled or not allowed 2026-01-28 10:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-bender-single-phase-220v-rdb-250>: HTTP status code is not handled or not allowed 2026-01-28 10:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/padded-fabric-folding-chair-beige>: HTTP status code is not handled or not allowed 2026-01-28 10:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek-400-sfr-coverall-open-wrists--ankle-storm-flap-serged-seams-2xl-white-25pk>: HTTP status code is not handled or not allowed 2026-01-28 10:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-adjustable-truck-mesh-sides-24-x-60>: HTTP status code is not handled or not allowed 2026-01-28 10:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-mailer-5-10-1-2-x-16-golden-brown-25-ctn>: HTTP status code is not handled or not allowed 2026-01-28 10:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lumber-panel-cart-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 10:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/construction-master-pro-advanced-construction-math-feet-inch-fraction-metric>: HTTP status code is not handled or not allowed 2026-01-28 10:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scale-master-pro-xe-advanced-digital-plan-measure>: HTTP status code is not handled or not allowed 2026-01-28 10:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-wheel-variable-speed-belt-grinder-2-w-x-60-l-single-phase-bg-260-3-220>: HTTP status code is not handled or not allowed 2026-01-28 10:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-20x20x10-without-roof-2-sides>: HTTP status code is not handled or not allowed 2026-01-28 10:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidroll-wheeled-model-main-base-70-7060>: HTTP status code is not handled or not allowed 2026-01-28 10:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrislynn-helical-thread-single-size-repair-kit-m30x15-rh>: HTTP status code is not handled or not allowed 2026-01-28 10:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrislynn-helical-thread-single-size-repair-kit-m2x04-rh>: HTTP status code is not handled or not allowed 2026-01-28 10:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-70a-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 10:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gre-cm-450-true-rms-clampmeter-ac>: HTTP status code is not handled or not allowed 2026-01-28 10:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-intensity-infrared-patio-heater-with-transformer-liquid-propane-100000-btu-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-warded-laminated-padlocks-no-105ka>: HTTP status code is not handled or not allowed 2026-01-28 10:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sco6ad-high-heat-decontamination-co2-incubator-5-9-cu-ft-167-l-115v>: HTTP status code is not handled or not allowed 2026-01-28 10:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-handle-instrument-cart-flush-shelves-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 10:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-bumper-12-w-x-4-5-d-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 10:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-3kalf>: HTTP status code is not handled or not allowed 2026-01-28 10:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 91628 pages (at 93 pages/min), scraped 49059 items (at 13 items/min) 2026-01-28 10:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-20x20x8-without-roof-3-sides-w-window>: HTTP status code is not handled or not allowed 2026-01-28 10:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-deck-shelf-truck-flush-top-sloped-handle-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 10:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-steel-solid-body-padlocks-no-6230kalh>: HTTP status code is not handled or not allowed 2026-01-28 10:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-20x10x8-without-roof-4-sides-w-window>: HTTP status code is not handled or not allowed 2026-01-28 10:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-shelf-truck-lip-shelves-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 10:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-shelf-truck-lip-shelves-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 10:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-10x10x10-without-roof-4-sides-w-window>: HTTP status code is not handled or not allowed 2026-01-28 10:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-chain-hoist-20-foot-li-6-000-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-truck-3-flush-shelves-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 10:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-packing-list-enclosed-2-x-55-yds-redwhite-36pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ited140-classified-circuit-breaker-type-qd-replacement-for-square-d-type-qo-1-pole-40a>: HTTP status code is not handled or not allowed 2026-01-28 10:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1108x25mm-bore-c45-steel-black-oxide-taperlock-bushing-25mm-bore>: HTTP status code is not handled or not allowed 2026-01-28 10:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x12x75-3>: HTTP status code is not handled or not allowed 2026-01-28 10:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-warmer-120v-140w-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-stop-if-seal-is-broken-2-x-110-yds-redtan-18pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-truck-5-flush-shelves-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 10:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-36x12x39-20>: HTTP status code is not handled or not allowed 2026-01-28 10:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-dia-round-hatch-net-high-vis-orange-web-free-placement-stainless-brackets-snap-hooks>: HTTP status code is not handled or not allowed 2026-01-28 10:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-5p25-1108-steel-black-oxide-40-tooth-2-506-pitch-taper-lock-pulley>: HTTP status code is not handled or not allowed 2026-01-28 10:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-8lf>: HTTP status code is not handled or not allowed 2026-01-28 10:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-carton-sealing-tape-2-x-110-yds-22-mil-yellow-6pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-platform-truck-24-x-36-polyurethane-wheels-3600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x12x75-11>: HTTP status code is not handled or not allowed 2026-01-28 10:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merchandise-collector-tray-type-shelves-24-x-48-rubber-wheels-w-floor-lock>: HTTP status code is not handled or not allowed 2026-01-28 10:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o12008-magnaprene-plain-front-overall-green-sm>: HTTP status code is not handled or not allowed 2026-01-28 10:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-with-acrylic-adhesive-70a-116-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-3-ft-ball-transfer-table-39-inch-between-frame-3-inch-ball-center>: HTTP status code is not handled or not allowed 2026-01-28 10:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-03f-hung-diaphragm-solenoid-valve-2-2-nc-epdm-seal-1-nptf-25mm-110vac-31va>: HTTP status code is not handled or not allowed 2026-01-28 10:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o12008-magnaprene-plain-front-overall-green-4xl>: HTTP status code is not handled or not allowed 2026-01-28 10:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-caution-if-seal-is-broken-2-x-110-yds-redwhite-36pk>: HTTP status code is not handled or not allowed 2026-01-28 10:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-carton-sealing-tape-3-x-55-yds-22-mil-black-6pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-if-seal-is-broken-3-x-110-yds-22-mil-redwhite-6pk>: HTTP status code is not handled or not allowed 2026-01-28 10:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/373-carton-sealing-tape-2-x-55-yds-25-mil-yellow-36pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-6-hatch-net-high-vis-orange-webbing-free-placement-stainless-brackets-snap-hooks>: HTTP status code is not handled or not allowed 2026-01-28 10:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-70a-132-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 10:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinnacle-plus-85-series-rubber-wall-base-1-coil-425-in-x-250-in-x-60-ft-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 10:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1300-rubber-hitop-overshoes-black-cleated-outsole-lg>: HTTP status code is not handled or not allowed 2026-01-28 10:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/170-acrylic-carton-sealing-tape-2-x-55-yds-18-mil-tan-6pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-wood-cherry-finish-podium>: HTTP status code is not handled or not allowed 2026-01-28 10:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-2-000-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 10:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-12x15x60-3-door-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solid-oak-a-frame-sidewalk-white-marker-board-18w-42h>: HTTP status code is not handled or not allowed 2026-01-28 10:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cherry-wood-look-a-frame-sidewalk-board-black-chalk-board-24w-42h>: HTTP status code is not handled or not allowed 2026-01-28 10:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o56007-durascrim-plain-front-overall-yellow-sm>: HTTP status code is not handled or not allowed 2026-01-28 10:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-carton-sealing-tape-2-x-55-yds-22-mil-yellow-6pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-sheet-1-250-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 10:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-low-circular-profile-square-nose-125-x-60-black>: HTTP status code is not handled or not allowed 2026-01-28 10:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-60a-316-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 10:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-410-nipple-3-8-male-npt-eurostandard-10-4>: HTTP status code is not handled or not allowed 2026-01-28 10:37:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-3-3-34l-x-1-78w-fluorescent-pink-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-levelwind-38in-100ft-hose-retractable-air-reel>: HTTP status code is not handled or not allowed 2026-01-28 10:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-drum-truck-with-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 10:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-14-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-ss-304-barstock-reducing-coupling-34-38-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 10:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-wagon-25ft-long-heater-duct-18in-diameter>: HTTP status code is not handled or not allowed 2026-01-28 10:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-office-chair-low-height-economy-fabric-black>: HTTP status code is not handled or not allowed 2026-01-28 10:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-office-chair-medium-height-deluxe-fabric-black>: HTTP status code is not handled or not allowed 2026-01-28 10:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-in-super-air-knife-only-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 10:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penetrator-band-saw-blade-1-inch-w-035-thick-gauge-5-8-tpi-301-656158>: HTTP status code is not handled or not allowed 2026-01-28 10:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-3-000-thick-x-12-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 10:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visor-bracket-for-electric-arc-utility-faceshield-welvb60>: HTTP status code is not handled or not allowed 2026-01-28 10:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-14-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-60a-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 10:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1730s11-osha-stairway-30width-11-stairs>: HTTP status code is not handled or not allowed 2026-01-28 10:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j56107-durascrim-storm-fly-front-hooded-jacket-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-white-plastic-box-16-5-8-gallon-18x26x12>: HTTP status code is not handled or not allowed 2026-01-28 10:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0411-m16x2-0-d7-3-flute-bright-plug>: HTTP status code is not handled or not allowed 2026-01-28 10:37:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 10:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-rod-5-000-dia>: HTTP status code is not handled or not allowed 2026-01-28 10:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500189727-clean-finish-roll-4w-x-30l-vfn>: HTTP status code is not handled or not allowed 2026-01-28 10:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-with-high-temp-adhesive-40a-38-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 10:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cherne-4655110>: HTTP status code is not handled or not allowed 2026-01-28 10:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-rubber-sheet-with-high-temp-adhesive-60a-116-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-28 10:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/queueway-8-foot-red-velour-rope-polished-brass-ends>: HTTP status code is not handled or not allowed 2026-01-28 10:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn343-2-steel-leveling-feet-threaded-stud-2-36-base-dia-m24-x-3-0-thread-6-22-l-stud>: HTTP status code is not handled or not allowed 2026-01-28 10:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slatwall-white-shelves-3-4-x10-x47-3-4-finished-on-2-sides-and-3-edges>: HTTP status code is not handled or not allowed 2026-01-28 10:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-2-34l-x-1-38w-green-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-3-14l-x-1-58w-green-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x1x1-4-aluminum-oxide-40-grit-flap-wheel>: HTTP status code is not handled or not allowed 2026-01-28 10:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slatwall-h-display-fixture-white-w-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-hook-2-7-8-l-x-0-188-thick-carbon-steel-zinc-clear-usa-shook-010>: HTTP status code is not handled or not allowed 2026-01-28 10:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-way-fuel-filter>: HTTP status code is not handled or not allowed 2026-01-28 10:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chipboard-pads-12l-x-12w-kraft-625pack>: HTTP status code is not handled or not allowed 2026-01-28 10:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 91726 pages (at 98 pages/min), scraped 49074 items (at 15 items/min) 2026-01-28 10:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1730b04-cross-over-bridge-35-overall-width-4-stairs>: HTTP status code is not handled or not allowed 2026-01-28 10:37:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/cut_off_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-electric-height-adjustable-desk-60-w-x-24-d-cherry-w-black-base>: HTTP status code is not handled or not allowed 2026-01-28 10:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x1x1-t1-gc80iv-bench-wheel-1-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb816b-metatarsal-steel-toe-boots-black-steel-midsole-size-13>: HTTP status code is not handled or not allowed 2026-01-28 10:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-116-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 10:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-nsm-rod-5-000-dia>: HTTP status code is not handled or not allowed 2026-01-28 10:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j32107-american-storm-fly-front-hooded-jacket-yellow-lg>: HTTP status code is not handled or not allowed 2026-01-28 10:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-shelf-steel-shelving-with-72-akro-mils-shelf-bins-1>: HTTP status code is not handled or not allowed 2026-01-28 10:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-wired-4-4-14l-x-2-18w-light-blue-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j53122-comfortbrite-jacket-fluorescent-lime-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x-high-yield-black-original-laserjet-toner-cartridge-9000-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 10:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hamper-24-gal-sgl-red-mesh-liner-2-sw-2-sw-lock-with-foot-pedal>: HTTP status code is not handled or not allowed 2026-01-28 10:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb922b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-5>: HTTP status code is not handled or not allowed 2026-01-28 10:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/cut_off_wheels>: HTTP status code is not handled or not allowed 2026-01-28 10:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j22107-iron-eagle-storm-fly-front-hooded-jacket-gold-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/87x-high-yield-black-original-laserjet-toner-cartridge-18000-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 10:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/508a-cyan-original-laserjet-toner-cartridge-5000-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 10:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trane-compatible-zone-sensors-model-sp155035>: HTTP status code is not handled or not allowed 2026-01-28 10:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-pump-3-intake-outlet-5-5-hp-honda-engine>: HTTP status code is not handled or not allowed 2026-01-28 10:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-12-bu-green-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 10:38:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 10:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35121-workbrutes-10-work-boots-black-cleated-outsole-xs>: HTTP status code is not handled or not allowed 2026-01-28 10:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-x-1-4-x-7-8-a24-r-bf-steel-t27>: HTTP status code is not handled or not allowed 2026-01-28 10:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-48x18x84-gray-with-3-levels-no-deck-1500-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 10:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-20-bu-gray-vinyl-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 10:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-heavy-duty-600-lb-cap-safety-angl-steel-rolling-lad-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 10:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-floor-brush-18-l>: HTTP status code is not handled or not allowed 2026-01-28 10:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-polyester-filter-antistatic-class-m-13-2-5-l-x-13-2-5-w-x-13-4-5-h>: HTTP status code is not handled or not allowed 2026-01-28 10:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-gsm-sheet-cast-3-500-thick-x-12-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 10:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s53307-35mm-industrial-3-pc-work-suit-yellow-jacket-detachable-hood-md>: HTTP status code is not handled or not allowed 2026-01-28 10:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-workbench-butcher-block-top-drawer-fixed-height-30-x-72>: HTTP status code is not handled or not allowed 2026-01-28 10:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 10:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-keyless-entry-lock-configured-to-match-panic-exit-devices-ck5510-pk-bs>: HTTP status code is not handled or not allowed 2026-01-28 10:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-ld-free-standing-tool-solutions-jib-crane-8-ft-span-and-8-ft-height-under-boom-150-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-gift-box-bottoms-12l-x-12w-x-6h-white-50pack>: HTTP status code is not handled or not allowed 2026-01-28 10:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-table-3-shelves-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 10:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eze-off-steel-delivery-hand-truck-8-mold-on-rubber-wheels-800-lb-capacity-54-1-2-height>: HTTP status code is not handled or not allowed 2026-01-28 10:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5300-flatback-tape-1-12-x-60-yds-5-mil-brown-24pack>: HTTP status code is not handled or not allowed 2026-01-28 10:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-maple-top-table-lower-shelf-24-x-36>: HTTP status code is not handled or not allowed 2026-01-28 10:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-30-glass-filled-cast-nylon-sheet-0-500-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 10:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-30-glass-filled-cast-nylon-sheet-1-000-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 10:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-food-grade-vacuum-hose-red-20-l>: HTTP status code is not handled or not allowed 2026-01-28 10:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-pp3-72-y-xl-portable-pole-rolling-sign-base-72-inch-pole-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx18-dx85-h-closed-clip-style-5-shelf-starter>: HTTP status code is not handled or not allowed 2026-01-28 10:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-sheet-rack>: HTTP status code is not handled or not allowed 2026-01-28 10:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolphin-gray-starboard-sheet-0-250-thick-x-54-000-w-x-96-000-l>: HTTP status code is not handled or not allowed 2026-01-28 10:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wa-2848-e-48w-x-28d-wa-2848-e-welded-workbench-w-back-stop-end-stops>: HTTP status code is not handled or not allowed 2026-01-28 10:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-30x24x74-nexelon-finish>: HTTP status code is not handled or not allowed 2026-01-28 10:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveworks-hd-diamond-textured-nitrile-industrial-gloves-m-green-100-per-box-10-box-per-cs>: HTTP status code is not handled or not allowed 2026-01-28 10:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-16-rail-unit-with-48-qus230-ultra-stack-hang-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eva-tubing-3-8-i-d-x-1-8-wall-500-feet-reel>: HTTP status code is not handled or not allowed 2026-01-28 10:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-60-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 10:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purpose-rack-aluminum-full-size-2-cross-members-70-209-3-03-a>: HTTP status code is not handled or not allowed 2026-01-28 10:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hang-stack-bins-w-two-12-rails-six-bins-4-1-8w-x-5-3-8d-x-3h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-permanent-marker-chisel-tip-black-ink-one-each>: HTTP status code is not handled or not allowed 2026-01-28 10:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-3-shelf-unit-44-x-60-x-13-1-2-9356-3-03>: HTTP status code is not handled or not allowed 2026-01-28 10:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-adjustable-3-shelf-unit-44-x-60-x-16-9346-3-03>: HTTP status code is not handled or not allowed 2026-01-28 10:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-steel-shelving-4-shelves-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 10:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nomex-3-0-density-fiberglass-epoxy-honeycomb-0-25-thick-x-48-w-x-96-l-125-cell-ar2623>: HTTP status code is not handled or not allowed 2026-01-28 10:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-floor-polish-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 10:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-clean-green-cleaner-degreaser-gallon-bottle-4-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 10:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-syracuse-2-x-2-nail-up-tin-ceiling-tile-in-gloss-white-t50-00>: HTTP status code is not handled or not allowed 2026-01-28 10:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tilting-work-table-300-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/906-ni-m8x1-gpc-stainless-threaded-plug-with-m8-x-1-0-tapered-thread-w-gpc-coating>: HTTP status code is not handled or not allowed 2026-01-28 10:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twisttiemachinesandmaterials-17-2000twisttiematerial-brown-422943>: HTTP status code is not handled or not allowed 2026-01-28 10:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fm-080-1-1-4-total-water-main-shutoff-1-1-4-npt-full-port-lead-free-valve>: HTTP status code is not handled or not allowed 2026-01-28 10:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-top-machine-table-24-x-48-x-36-swivel-casters-w-brakes-drawer>: HTTP status code is not handled or not allowed 2026-01-28 10:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-vent-brush>: HTTP status code is not handled or not allowed 2026-01-28 10:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-rochester-2-x-2-nail-up-tin-ceiling-tile-in-antique-white-t58-02>: HTTP status code is not handled or not allowed 2026-01-28 10:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grade-cfp5-qualitative-cellulose-filter-paper-0-195-mm-thick-9-0-cm-dia-2-5-um-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-dust-pan-with-whisk-broom-white>: HTTP status code is not handled or not allowed 2026-01-28 10:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-89-2213-titanium-coated-drill-bit-1-4>: HTTP status code is not handled or not allowed 2026-01-28 10:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63h-nexel-chrome-wire-shelving-24wx21d>: HTTP status code is not handled or not allowed 2026-01-28 10:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-66-4703-1-7-8-mag-nutdriver-5-16-bulk-10>: HTTP status code is not handled or not allowed 2026-01-28 10:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anchor-3-spike>: HTTP status code is not handled or not allowed 2026-01-28 10:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anchor-cement-kit-each-1>: HTTP status code is not handled or not allowed 2026-01-28 10:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/450-ml-multi-purpose-synthetic-grease-nlgi-0-with-syncolon-ptfe-bellows-cartridge>: HTTP status code is not handled or not allowed 2026-01-28 10:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-48wx18dx54h>: HTTP status code is not handled or not allowed 2026-01-28 10:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-container-vented-wall-w-6-casters-48x40x31-gray-1500-pounds-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-3-34l-x-1-78w-orange-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/opticore-twin-bath-tissue-roll-dispenser-black>: HTTP status code is not handled or not allowed 2026-01-28 10:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-tornado-mop>: HTTP status code is not handled or not allowed 2026-01-28 10:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 91826 pages (at 100 pages/min), scraped 49093 items (at 19 items/min) 2026-01-28 10:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porta-king-8-x-8-guard-booth-gray-pre-assembled>: HTTP status code is not handled or not allowed 2026-01-28 10:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-erie-2-x-2-lay-in-tin-ceiling-tile-in-matte-white-y56-01>: HTTP status code is not handled or not allowed 2026-01-28 10:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28ft-hyperlite-sumostance-375lb-capacity-type-iaa-fiberglass-extension-ladder-17228>: HTTP status code is not handled or not allowed 2026-01-28 10:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a5816-hndl-table-raiser-5507520>: HTTP status code is not handled or not allowed 2026-01-28 10:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-with-15-hopper-bins-36x18x75-6>: HTTP status code is not handled or not allowed 2026-01-28 10:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-32-4808-6-power-bit-phillips-3-bulk-10>: HTTP status code is not handled or not allowed 2026-01-28 10:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disinfectant-multi-purpose-cleaner-fresh-scent-32-oz-spray-bottle-8-case>: HTTP status code is not handled or not allowed 2026-01-28 10:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-long-handle-utility-brush-white>: HTTP status code is not handled or not allowed 2026-01-28 10:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-perforated-basket-for-p360-series-ultrasonic-part-cleaners>: HTTP status code is not handled or not allowed 2026-01-28 10:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-perforated-basket-for-p1800-series-ultrasonic-part-cleaners>: HTTP status code is not handled or not allowed 2026-01-28 10:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-locking-storage-cabinet-48x24x72-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 10:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-jamestown-2-x-2-lay-in-tin-ceiling-tile-in-gloss-white-y51-00>: HTTP status code is not handled or not allowed 2026-01-28 10:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74h-nexel-chrome-wire-shelving-add-on-54wx21d>: HTTP status code is not handled or not allowed 2026-01-28 10:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-aluminum-rolling-ladder-24-w-grip-step-w-o-handrails>: HTTP status code is not handled or not allowed 2026-01-28 10:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lw-address-labels-1-1-8-x-3-1-2-black-on-white-30251>: HTTP status code is not handled or not allowed 2026-01-28 10:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antibac-all-purpose-cleaner-wildflower-28-oz-spray-bottle-8-case>: HTTP status code is not handled or not allowed 2026-01-28 10:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fresh-products-wave-3d-urinal-deodorizer-screen-blue-ocean-mist-fragrance-60-screens-case>: HTTP status code is not handled or not allowed 2026-01-28 10:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-maintenance-platform-all-welded-36x48>: HTTP status code is not handled or not allowed 2026-01-28 10:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-shelving-3-solid-dura-shelves-3>: HTTP status code is not handled or not allowed 2026-01-28 10:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-shelving-4-solid-dura-shelves-1>: HTTP status code is not handled or not allowed 2026-01-28 10:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-5-x-45-5518166>: HTTP status code is not handled or not allowed 2026-01-28 10:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-toronto-2-x-2-lay-in-tin-ceiling-tile-in-copper-y59-08>: HTTP status code is not handled or not allowed 2026-01-28 10:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-saginaw-2-x-2-lay-in-tin-ceiling-tile-in-penny-vein-y53-05>: HTTP status code is not handled or not allowed 2026-01-28 10:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bntl3636-36-x-36-exposed-flange-key-operated-lock>: HTTP status code is not handled or not allowed 2026-01-28 10:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-v-belt-5510079>: HTTP status code is not handled or not allowed 2026-01-28 10:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-double-folding-gate-14w-to-16w-and-76h>: HTTP status code is not handled or not allowed 2026-01-28 10:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-12-20-tpi-fine-thread-5510117>: HTTP status code is not handled or not allowed 2026-01-28 10:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-starter-96x36x72>: HTTP status code is not handled or not allowed 2026-01-28 10:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-3-step-steel-rolling-ladder-14-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 10:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4500-wheel-adjustment-5512512>: HTTP status code is not handled or not allowed 2026-01-28 10:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-3-step-steel-rolling-ladder-21-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 10:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4c-horizontal-mailbox-56-3-4h-double-20-mb1-2-pl-doors-front-load-aluminum-usps>: HTTP status code is not handled or not allowed 2026-01-28 10:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-optical-shredder-level-p7-o5>: HTTP status code is not handled or not allowed 2026-01-28 10:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-shaft-1230r-5235481>: HTTP status code is not handled or not allowed 2026-01-28 10:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-fry-panthe-point-two-five-line>: HTTP status code is not handled or not allowed 2026-01-28 10:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bntc1818-18-x-18-exposed-flange-cam-latch>: HTTP status code is not handled or not allowed 2026-01-28 10:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4c-horizontal-mailbox-23-1-2h-double-column-9-mb1-doors-front-load-aluminum-usps>: HTTP status code is not handled or not allowed 2026-01-28 10:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bg3054-30-x-54-personnel-ii-roof-hatch-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-midflow-regulator-with-gauge-t-handle-250-scfm>: HTTP status code is not handled or not allowed 2026-01-28 10:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-truck-36x24x80-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tech-cork-board-36x24-rubber-cork-surface-with-black-plastic-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adaptor-cga-300-510-onepc>: HTTP status code is not handled or not allowed 2026-01-28 10:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-liquid-fabric-softener-free-and-clear-unscented-32-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 10:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ln-25-pro-standard-wire-feeder-15-110-vdc>: HTTP status code is not handled or not allowed 2026-01-28 10:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-antibacterial-dishwashing-liquid-orange-scent-28-oz-bottle-8-case>: HTTP status code is not handled or not allowed 2026-01-28 10:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-dunnage-rack-48-w-x-24-d-3>: HTTP status code is not handled or not allowed 2026-01-28 10:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-standard-ultrafog-lubricator-w-poly-bowl>: HTTP status code is not handled or not allowed 2026-01-28 10:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-5x25-5517398>: HTTP status code is not handled or not allowed 2026-01-28 10:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-air-vent-cap-assembly>: HTTP status code is not handled or not allowed 2026-01-28 10:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centerfeed-hand-towel-2-ply-7-6-x-11-8-white-500-roll-6-rolls-case>: HTTP status code is not handled or not allowed 2026-01-28 10:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-inline-nipple-filter>: HTTP status code is not handled or not allowed 2026-01-28 10:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-container-21-lx17-wx12-h-3>: HTTP status code is not handled or not allowed 2026-01-28 10:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-feed-84-single-bench-wire-feeder-ui-heavy-duty-reel-usb-40-vdc>: HTTP status code is not handled or not allowed 2026-01-28 10:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyguard-lab-coat-3-pockets-elastic-wrists-snap-front-single-collar-white-5xl-30case>: HTTP status code is not handled or not allowed 2026-01-28 10:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-motor-vfswdm3558-e-ip69-2hp-1750rpm-3ph-60hz-56c-3528m-tefc-f1-n>: HTTP status code is not handled or not allowed 2026-01-28 10:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-motor-cfswdm23933t-e-ip69-15-hp-1765-rpm-3-ph-60-hz-254t-c-3956m-tef-c-f>: HTTP status code is not handled or not allowed 2026-01-28 10:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-polypropylene-bouffant-cap-100-latex-free-white-24-100bag-10-bagscase>: HTTP status code is not handled or not allowed 2026-01-28 10:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bollard-with-removable-rubber-cap-underground-24x5-1-2>: HTTP status code is not handled or not allowed 2026-01-28 10:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-npt-pipe-port-insert-for-arrow-modular-units>: HTTP status code is not handled or not allowed 2026-01-28 10:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheila-shine-low-voc-stainless-steel-cleaner-and-polish-10-oz-aerosol-can-12-cans-case>: HTTP status code is not handled or not allowed 2026-01-28 10:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabric-softener-sheets-fresh-scent-120-sheets-box>: HTTP status code is not handled or not allowed 2026-01-28 10:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mess-free-pen-cleaner-citrus-scent-0-34-pen-applicator-12-case>: HTTP status code is not handled or not allowed 2026-01-28 10:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-tool-box-refrigerator>: HTTP status code is not handled or not allowed 2026-01-28 10:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-lab-coat-no-pockets-elastic-wrists-snap-front-single-collar-white-5xl-30cs>: HTTP status code is not handled or not allowed 2026-01-28 10:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-speed-control>: HTTP status code is not handled or not allowed 2026-01-28 10:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-work-stop-rod-5712431>: HTTP status code is not handled or not allowed 2026-01-28 10:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cross-linked-polyethylene-shoe-covers-water-resistant-blue-xl-100bag>: HTTP status code is not handled or not allowed 2026-01-28 10:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-triple-front-door-full-height-rear-panel-24w-x-36d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 10:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heritage-healthcare-biohazard-printed-can-liners-10-gal-1-3-mil-24-x-23-red-500-cs>: HTTP status code is not handled or not allowed 2026-01-28 10:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-maverick-200200x-kubota-ready-pak-3-welder-335a-60-hz-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-triple-front-door-single-rear-door-24w-x-31-1-2d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 10:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-single-front-door-full-height-rear-panel-24w-x-24d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 10:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-triple-front-door-full-height-rear-panel-36w-x-24d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 10:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dissolvetech-paper-towel-multifold-9-1-2-x-9-1-4-white-16-packs-case>: HTTP status code is not handled or not allowed 2026-01-28 10:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adj-knob-5630731>: HTTP status code is not handled or not allowed 2026-01-28 10:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5005-gear-bag>: HTTP status code is not handled or not allowed 2026-01-28 10:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vss-3000-300-gallon-truck-mounted-sprayer>: HTTP status code is not handled or not allowed 2026-01-28 10:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7060-fuse-3a-5512244>: HTTP status code is not handled or not allowed 2026-01-28 10:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-nylon-hairnet-100-latex-free-white-28-144box->: HTTP status code is not handled or not allowed 2026-01-28 10:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-lab-coat-no-pockets-elastic-wrists-snap-front-single-collar-white-xl-30cs>: HTTP status code is not handled or not allowed 2026-01-28 10:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 91927 pages (at 101 pages/min), scraped 49113 items (at 20 items/min) 2026-01-28 10:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-2-1-4-drywall-screw-phillips-bugle-head-steel-black-phosphate-sharp-point-pkg-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-20-compartment-1>: HTTP status code is not handled or not allowed 2026-01-28 10:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-outdoor-pedestal-bottle-filling-station-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-20-compartment-14>: HTTP status code is not handled or not allowed 2026-01-28 10:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odorshield-tall-kitchen-drawstring-bags-13-gal-0-95-mil-gain-scent-white-80-box>: HTTP status code is not handled or not allowed 2026-01-28 10:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-lab-coat-3-pockets-knit-wrists-snap-front-knit-collar-white-4xl-30cs>: HTTP status code is not handled or not allowed 2026-01-28 10:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/408-achilles153-anti-fatigue-mat-38-thick-3w-x-60l-black>: HTTP status code is not handled or not allowed 2026-01-28 10:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sms-coverall-elastic-wrists-ankles-attached-hood-zipper-front-white-3xl-25case>: HTTP status code is not handled or not allowed 2026-01-28 10:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/essential-jrt-extra-long-bathroom-tissue-septic-safe-2-ply-white-2000-ft-6-rolls>: HTTP status code is not handled or not allowed 2026-01-28 10:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-620-knee-sleeve-open-patella-spiral-stays-black-medium>: HTTP status code is not handled or not allowed 2026-01-28 10:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-insert-5783471>: HTTP status code is not handled or not allowed 2026-01-28 10:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/am73115mtf-edge-handheld-digital-microscope-with-telephoto-zoom-lens-5mp-10x-70x>: HTTP status code is not handled or not allowed 2026-01-28 10:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8289-class-2-economy-t-shirt-orange-3-x-large>: HTTP status code is not handled or not allowed 2026-01-28 10:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-9000-certified-lightweight-anti-vibration-glove-black-medium>: HTTP status code is not handled or not allowed 2026-01-28 10:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-bollard-sleeve-4-dia-x-56-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ypz100m-b-by-universal-medium-weight-caution-mat-pads-19-by-15-yellow-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32oz-natural-pp-jar-with-120-400-white-pp-unlined-cap-24pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/race-track-conference-table-120wx49d-mocha>: HTTP status code is not handled or not allowed 2026-01-28 10:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nrt100s-bk-floor-grabber-high-traffic-mat-black-100-by-36-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7060-bearing-needle-5512154>: HTTP status code is not handled or not allowed 2026-01-28 10:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbo1216-single-flue-chimney-cap-bolt-on-12l-x-16w-black-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodsafe-cfswdm23994t-e-ip69-15hp-3520rpm-3ph-60hz-254tc-3952m-tefc-f>: HTTP status code is not handled or not allowed 2026-01-28 10:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodsafe-cfswdm3711t-e-ip69-10hp-3500rpm-3ph-60hz-215tc-3744m-tefc-f>: HTTP status code is not handled or not allowed 2026-01-28 10:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-t-bar-shelf-15-wx48-l>: HTTP status code is not handled or not allowed 2026-01-28 10:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7040-overload-440v-3ph-5712661>: HTTP status code is not handled or not allowed 2026-01-28 10:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2oz-natural-ldpe-boston-round-bottle-with-18mm-white-pp-dropper-and-nasal-cap-12pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-solid-brute-shelf-18-wx60-l>: HTTP status code is not handled or not allowed 2026-01-28 10:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-l-deluxe-save-t-loc-strip-curtain-door-mounting-bracket-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-2-shelf-rack-20-wx48-hx48-l>: HTTP status code is not handled or not allowed 2026-01-28 10:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ca900-wide-carrying-case-for-multimeter-kits-black-multimeters>: HTTP status code is not handled or not allowed 2026-01-28 10:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-seal-kit-for-manual-pallet-jack-truck-rl-t5bok-fits-model-t-and-e-series>: HTTP status code is not handled or not allowed 2026-01-28 10:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-clear-glass-standard-wide-mouth-bottle-89-400-neck-finish-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8205z-class-2-super-econo-vest-lime-s-m>: HTTP status code is not handled or not allowed 2026-01-28 10:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cannes-outdoor-stackable-dining-armchair-french-taupe-pack-of-16>: HTTP status code is not handled or not allowed 2026-01-28 10:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-949evs-mill-x-y-and-z-axis-powerfeeds-698158>: HTTP status code is not handled or not allowed 2026-01-28 10:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cannes-outdoor-stackable-dining-armchair-terra-cotta-pack-of-16>: HTTP status code is not handled or not allowed 2026-01-28 10:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-7m600-6077100>: HTTP status code is not handled or not allowed 2026-01-28 10:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-drawer-workbench-shop-top>: HTTP status code is not handled or not allowed 2026-01-28 10:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250cc-amber-wide-mouth-packer-with-45-400-black-pp-cap-ptfe-disc-24pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-battery-powered-li-truck-261028-1000-lb-56-h-25-forks>: HTTP status code is not handled or not allowed 2026-01-28 10:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-2-mill-newall-dp500-dro-698150>: HTTP status code is not handled or not allowed 2026-01-28 10:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-4vs-1-mill-3-axis-acu-rite-200s-dro-knee-x-axis-powerfeed-698165>: HTTP status code is not handled or not allowed 2026-01-28 10:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-4224-6295843>: HTTP status code is not handled or not allowed 2026-01-28 10:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-t-bar-shelf-20-wx66-l>: HTTP status code is not handled or not allowed 2026-01-28 10:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8249z-class-2-economy-surveyors-vest-orange-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-38-x-2800-hbs-1321w-1321w-08-5>: HTTP status code is not handled or not allowed 2026-01-28 10:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-4-shelf-rack-20-wx72-hx72-l>: HTTP status code is not handled or not allowed 2026-01-28 10:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sentry-fire-safe-document-chest>: HTTP status code is not handled or not allowed 2026-01-28 10:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29-25-x-81mm-10-dram-clear-squat-vial-w-24-400-black-pp-cap-ptfe-disc-144pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-20-sonic-scrub-mal-grit-scrub-for-scrubbing-green-black-703020>: HTTP status code is not handled or not allowed 2026-01-28 10:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-connection-hd-ref-166-5714311>: HTTP status code is not handled or not allowed 2026-01-28 10:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-4-shelf-rack-24-wx72-hx42-l>: HTTP status code is not handled or not allowed 2026-01-28 10:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-safety-coated-clear-jug-w-38-400-neck-finish-jug-only-4pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-9w-x-14l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-5-x-140mm-15-dram-clear-borosilicate-vial-with-24-400-neck-finish-vial-only-72pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t1b-hss-jobbers-drill-black-oxide-364-12>: HTTP status code is not handled or not allowed 2026-01-28 10:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-wallshelf-pot-rack-20-wx48-l>: HTTP status code is not handled or not allowed 2026-01-28 10:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-x-65mm-3-dram-vial-w-15-425-green-thermoset-f217-ptfe-lined-cap-cleaned-144pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-t-bar-wallshelf-24-wx60-l>: HTTP status code is not handled or not allowed 2026-01-28 10:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8020hl-non-certified-standard-vest-orange-one-size>: HTTP status code is not handled or not allowed 2026-01-28 10:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-twin-black-post-retracting-belt-barrier-ada-compliant-11-ft-yellowblack-belt>: HTTP status code is not handled or not allowed 2026-01-28 10:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-site-box-od-45-x-30-x-34-with-casters-1>: HTTP status code is not handled or not allowed 2026-01-28 10:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-75-x-95mm-10-dram-vial-w-24-400-green-pp-hole-cap-cleaned-144pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-vfswdm3545-e-ip69-1hp-3450rpm-3ph-60hz-56c-3520m-tenv-f1-n>: HTTP status code is not handled or not allowed 2026-01-28 10:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-14w-x-18l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chewy-mints-mixed-fruit>: HTTP status code is not handled or not allowed 2026-01-28 10:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-8w-x-11l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/893-filament-tape-12-x-60-yds-6-mil-clear-12pack>: HTTP status code is not handled or not allowed 2026-01-28 10:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-value-bomber-jacket-hi-viz-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 10:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-performance-work-wear-6485-multi-band-navy-western-one-size>: HTTP status code is not handled or not allowed 2026-01-28 10:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-cover-400-denier-nylon-for-18-x-60-x-63-unit-hook-loop-fastener-closure-red>: HTTP status code is not handled or not allowed 2026-01-28 10:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sloped-flow-shelving-add-on-36-x18-x84-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-flame-resistant-pull-over-hoodie-hi-viz-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 10:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crew-sweatshirt-hi-vis-orange-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sloped-flow-shelving-starter-36-x24-x84-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-4010-double-strap-wrist-support-tan-medium-left>: HTTP status code is not handled or not allowed 2026-01-28 10:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-cover-400-denier-nylon-for-24-x-72-x-63-unit-hook-loop-fastener-closure-white>: HTTP status code is not handled or not allowed 2026-01-28 10:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-collection-premium-breathable-rain-jacket-hi-viz-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 10:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-xtra-black-post-belt-barrier-3w-x-11-ft-yellow-danger-belt>: HTTP status code is not handled or not allowed 2026-01-28 10:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-bib-pants-hi-viz-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 10:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-x-70mm-4-dram-clear-borosilicate-vial-with-18-400-neck-finish-vial-only-144pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sea-safe-marine-horn-24-volt-135-24>: HTTP status code is not handled or not allowed 2026-01-28 10:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bow-front-desk-shell-dark-cherry-office-furniture-groupings-1>: HTTP status code is not handled or not allowed 2026-01-28 10:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-675-ambidextrous-double-strap-wrist-support-black-small>: HTTP status code is not handled or not allowed 2026-01-28 10:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-safety-coated-clear-jug-w-38-400-green-thermoset-f217-ptfe-cap-13-1-2-w-4pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-dram-vial-w-24-400-white-pp-hole-cap-ptfe-ptfe-silicone-septa-cleaned-cert-72pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-reclosable-poly-bags-10w-x-12l-4-mil-pink-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-natural-hdpe-handled-round-jug-with-38-400-neck-finish-jug-only-36pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ncp2-battery-terminal-protectors-mc303>: HTTP status code is not handled or not allowed 2026-01-28 10:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ncp2-battery-terminal-treatment-kit-mc101>: HTTP status code is not handled or not allowed 2026-01-28 10:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duty-stainless-steel-wire-rope-thimble-1-2-diameter>: HTTP status code is not handled or not allowed 2026-01-28 10:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-12w-x-18l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-filler-sleeve-30-series>: HTTP status code is not handled or not allowed 2026-01-28 10:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-hook-for-slatwall-satin-nickel>: HTTP status code is not handled or not allowed 2026-01-28 10:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2oz-natural-pp-hinged-vial-600pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 92026 pages (at 99 pages/min), scraped 49118 items (at 5 items/min) 2026-01-28 10:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-3w-x-28l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-economy-tab-dividers-8-tab-letter-white-24-sets-box>: HTTP status code is not handled or not allowed 2026-01-28 10:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-hanging-file-folder-plastic-index-tabs-1-5-tab-cut-2-1-4-tab-clear-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-32mm-2ml-glass-standard-opening-crimp-top-vial-w-11mm-neck-finish-1000pk>: HTTP status code is not handled or not allowed 2026-01-28 10:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/web-sling-1-ply-eye-eye-6-long-4-es-wide>: HTTP status code is not handled or not allowed 2026-01-28 10:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-max-100-sq-ft-kit-vinyl-oil-rubbed-bronze-282-26>: HTTP status code is not handled or not allowed 2026-01-28 10:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/occumitts-support-gloves-1-pair-extra-small-navy>: HTTP status code is not handled or not allowed 2026-01-28 10:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-one-extended-insert-indexes-five-clear-tabs-letter-buff-6-sets-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64oz-clear-jug-w-38-400-black-pp-cap-ptfe-disc-6pk>: HTTP status code is not handled or not allowed 2026-01-28 10:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-30w-x-36l-3-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-45mm-1-dram-glass-vial-w-13-425-black-phenolic-polycone-lined-cap-vacuum-144pk>: HTTP status code is not handled or not allowed 2026-01-28 10:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dewalt-dwe402g-11-amp-angle-grinder-paddle-grounded-4-1-2>: HTTP status code is not handled or not allowed 2026-01-28 10:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-sheet-s2s-1-43648>: HTTP status code is not handled or not allowed 2026-01-28 10:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelf-truck-with-dolly-base-36x24x61-1600-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-one-industrial-scissors-8-length-straight-black-carbon-coated-blades-black-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-12w-x-26l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-tooth-flat-body-file-steel-2-w-x-1-10-d-x-14-h>: HTTP status code is not handled or not allowed 2026-01-28 10:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coated-lenses-w-adjustable-temples-tc120>: HTTP status code is not handled or not allowed 2026-01-28 10:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/body-file-flat-steel-1-4-5-w-x-1-10-d-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 10:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-cfswdm41900t-ip69-15hp-1180rpm-3ph-60hz-284tc-4072m-tefc-f>: HTTP status code is not handled or not allowed 2026-01-28 10:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-seam-business-envelope-side-10-white-500box>: HTTP status code is not handled or not allowed 2026-01-28 10:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodservice-cloth-13-x-24-white-150-carton-192191>: HTTP status code is not handled or not allowed 2026-01-28 10:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-coated-string-knitkevlar-plus-pvc-do-9366s>: HTTP status code is not handled or not allowed 2026-01-28 10:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-hat-shade-white>: HTTP status code is not handled or not allowed 2026-01-28 10:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelf-platform-24-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 10:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelf-platform-36-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 10:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelf-platform-36-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 10:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dent-puller-kit-steel-4-w-x-3-1-2-d-x-20-h>: HTTP status code is not handled or not allowed 2026-01-28 10:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/206402-9-powerflex-natural-rubber-80-100-9>: HTTP status code is not handled or not allowed 2026-01-28 10:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-do-not-enter-7x10-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-28 10:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interoffice-press-seal-envelope-10-x-13-brown-100box>: HTTP status code is not handled or not allowed 2026-01-28 10:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-panel-3520b-254>: HTTP status code is not handled or not allowed 2026-01-28 10:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-recycled-copy-paper-92-brightness-20lb-812-x-11-white-5000carton>: HTTP status code is not handled or not allowed 2026-01-28 10:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/distribution-container-with-hinged-lid-22x15-1-4x17-1-4-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/516705-med-disposable-nat-latex-100-glvs-bx-69-210-m>: HTTP status code is not handled or not allowed 2026-01-28 10:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upper-roller-idler-wheel-retro-kit-5052061k>: HTTP status code is not handled or not allowed 2026-01-28 10:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulling-device-to-be-used-with-the-15-3-and-17-3-separators>: HTTP status code is not handled or not allowed 2026-01-28 10:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-hard-hat-area-10x14-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 10:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wirebound-memo-book-narrow-rule-5-x-3-white-12-50sheet-padspack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-hard-hat-tube-liner-orange-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1t-lug-mount-assembly-1ss-3c-lma>: HTTP status code is not handled or not allowed 2026-01-28 10:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-flex-15-guage-red100-nylon-shell-gray-la-n9680m>: HTTP status code is not handled or not allowed 2026-01-28 10:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-12w-x-36l-3-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-flex-15-guage-red100-nylon-shell-gray-la-n9680s>: HTTP status code is not handled or not allowed 2026-01-28 10:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-x-15-gauge-blk-nylon-spandex-shell-blk-bi-n9674s>: HTTP status code is not handled or not allowed 2026-01-28 10:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latch-spring-1ss-3c-01703>: HTTP status code is not handled or not allowed 2026-01-28 10:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3kas6ylw-laminated-steel-safety-padlock-1-916w-x-34h-shackle-yellow-6set>: HTTP status code is not handled or not allowed 2026-01-28 10:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/219007-8-alphatec-nitrile-knit-lined-58-535-8>: HTTP status code is not handled or not allowed 2026-01-28 10:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-8w-x-16l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-hornet-headband-earmuff-nrr24-db-em2175>: HTTP status code is not handled or not allowed 2026-01-28 10:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/separating-set-with-pulling-device-1-2-12-mm-to-2-15-16-75-mm-open>: HTTP status code is not handled or not allowed 2026-01-28 10:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-authorized-personnel-only-10x14-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 10:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-4w-x-16l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-notice-video-surveillance-in-use-14x20-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-28 10:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miracool-bandana-navy-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handle-base-mdl-ghbbdb-1340a-32a5110>: HTTP status code is not handled or not allowed 2026-01-28 10:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-l-x-30-w-production-bench-maple-square-edge-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 10:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/woodstock-decorative-queen-size-headboard-metal-black>: HTTP status code is not handled or not allowed 2026-01-28 10:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cambridge-tufted-upholstered-queen-size-headboard-fabric-white>: HTTP status code is not handled or not allowed 2026-01-28 10:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/checkmate-amber-templesamber-anti-fog-lens-ck114>: HTTP status code is not handled or not allowed 2026-01-28 10:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/checkmate-clear-templeclear-anti-fog-lens-ck110af>: HTTP status code is not handled or not allowed 2026-01-28 10:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-size-stacking-bin-20-x-12-3-8-x-12-red>: HTTP status code is not handled or not allowed 2026-01-28 10:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-5x18-ghb1340-104>: HTTP status code is not handled or not allowed 2026-01-28 10:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-collection-premium-breathable-rain-pants-hi-viz-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/406kas6blk-safety-padlock-black-6set>: HTTP status code is not handled or not allowed 2026-01-28 10:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/406kas6red-safety-padlock-red-6set>: HTTP status code is not handled or not allowed 2026-01-28 10:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-jaw-self-centering-puller-55-ton-capacity-3-4-to-4-3-4-open-4-3-4-reach>: HTTP status code is not handled or not allowed 2026-01-28 10:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gaskets-32-1104-mar10-2666>: HTTP status code is not handled or not allowed 2026-01-28 10:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legs-26-2437-mtg28441-6>: HTTP status code is not handled or not allowed 2026-01-28 10:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-plastic-2-links-on-a-reel-white-125-feet-trade-size-8>: HTTP status code is not handled or not allowed 2026-01-28 10:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-5-8-rectangle-plastic-height-adjustable-activity-table-set-with-2-chairs-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silencer-14-cos18-436>: HTTP status code is not handled or not allowed 2026-01-28 10:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-exterior-42h-platform-2-rails-spiral-stair-kit-60dia-16-1-2h-alum-handrail>: HTTP status code is not handled or not allowed 2026-01-28 10:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/med-lg-n95-particulaterespirator-2300n95>: HTTP status code is not handled or not allowed 2026-01-28 10:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-plastic-1-1-2-links-red-100-feet-trade-size-6>: HTTP status code is not handled or not allowed 2026-01-28 10:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/406kas6blu-safety-padlock-blue-6set>: HTTP status code is not handled or not allowed 2026-01-28 10:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-six-tier-12x18x12-18-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-10w-x-22l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/racks-26-1423-blo4701>: HTTP status code is not handled or not allowed 2026-01-28 10:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-panel-light-duty-portable-room-divider-6-5-h-x-9-5-l-fabric-color-lake>: HTTP status code is not handled or not allowed 2026-01-28 10:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubes-26-1985-bkpl5013x>: HTTP status code is not handled or not allowed 2026-01-28 10:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-cubitron-ii-fibre-disc-982c-5-in-x-7-8-in-60>: HTTP status code is not handled or not allowed 2026-01-28 10:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-61014-powershot-3500psi-196cc-2-5gpm-gas-pressure-washer-w-honda-gc200-engine-aaa-pump>: HTTP status code is not handled or not allowed 2026-01-28 10:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knobs-22-1665-ber402275-00622>: HTTP status code is not handled or not allowed 2026-01-28 10:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-double-tier-12x12x36-2-door-parchment-2>: HTTP status code is not handled or not allowed 2026-01-28 10:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ft-nylon-cross-arm-strap-8183-6ftgn>: HTTP status code is not handled or not allowed 2026-01-28 10:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-3w-x-16l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-six-tier-12x12x12-6-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shockwave2-100-6-ft-1244412>: HTTP status code is not handled or not allowed 2026-01-28 10:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fans-68-1190-altfa-3599>: HTTP status code is not handled or not allowed 2026-01-28 10:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-rack-full-size-holds-162-10-cans-or-216-5-cans>: HTTP status code is not handled or not allowed 2026-01-28 10:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-cs275-56>: HTTP status code is not handled or not allowed 2026-01-28 10:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-spices-bar-madagascar-vanilla-almond-1-4-oz>: HTTP status code is not handled or not allowed 2026-01-28 10:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-12w-x-14l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buckhorn-folding-bulk-shipping-container-48x45x34-2500-lbs-black>: HTTP status code is not handled or not allowed 2026-01-28 10:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-cup-10mm-gb1155-10>: HTTP status code is not handled or not allowed 2026-01-28 10:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-6w-x-9l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermostats-46-1485-hostb0031>: HTTP status code is not handled or not allowed 2026-01-28 10:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 92125 pages (at 99 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-swivel-quick-coupling-3-8-high-flow-interchange-1-4-fnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-plate-jdp-20evs-20evs-t67-2>: HTTP status code is not handled or not allowed 2026-01-28 10:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-3-8-high-flow-interchange-3-8-fnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-24w-x-54l-6-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/controls-46-1813-stam2-z11877>: HTTP status code is not handled or not allowed 2026-01-28 10:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-12x15x72-1-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-10w-x-15l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-valve-spring-jbj12-4>: HTTP status code is not handled or not allowed 2026-01-28 10:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-75-incline-ladder-24in-w-perforated-tread-ucl7503246>: HTTP status code is not handled or not allowed 2026-01-28 10:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-15x18x72-1-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 10:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-104x24-jbj8-12>: HTTP status code is not handled or not allowed 2026-01-28 10:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmyra-16-w-street-broom-wood-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-fittings-1-4x1-8-mnpt>: HTTP status code is not handled or not allowed 2026-01-28 10:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-4w-x-2d-x-6h-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coaster-of-stand-12-hbs814gh-134>: HTTP status code is not handled or not allowed 2026-01-28 10:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-pc-tool-kits-m-49>: HTTP status code is not handled or not allowed 2026-01-28 10:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-24w-x-42l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r8-spring-collet-19-piece-set-2mm-to-20mm-by-1mm-tmx>: HTTP status code is not handled or not allowed 2026-01-28 10:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-24w-x-30l-6-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-18w-x-36l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-21w-x-24l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tailstock-for-12-inch-index-horizontal-vertical-indexing-super-spacer>: HTTP status code is not handled or not allowed 2026-01-28 10:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-single-tier-12x18x60-1-door-assembled-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 10:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cartridges-76-1203-eveev953420>: HTTP status code is not handled or not allowed 2026-01-28 10:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-242-nylon-handle-flexible-putty-knife-2-inch-wide-blade>: HTTP status code is not handled or not allowed 2026-01-28 10:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tailstock-for-4in-5c-index-horizontal-vertical-indexing-super-spacer>: HTTP status code is not handled or not allowed 2026-01-28 10:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-1-2-body-with-industrial-profile-with-3-4-fnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elements-34-1642-gro008852>: HTTP status code is not handled or not allowed 2026-01-28 10:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-plate-d-taper-for-set-tru-bison-chucks-12-inch-d1-8>: HTTP status code is not handled or not allowed 2026-01-28 10:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-9w-x-14l-6-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 10:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-3-8-automotive-profile-with-3-8-mnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 10:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-24w-x-24l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-21w-x-24l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a48p36ss6-panel-nema-12-4500x3300-fits-48x36-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29-step-steel-caged-walk-through-fixed-access-ladder-gray-wlfc1229>: HTTP status code is not handled or not allowed 2026-01-28 10:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutting-pliers-lap-joint-338-bulk>: HTTP status code is not handled or not allowed 2026-01-28 10:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afk0610-floor-stand-kit-qty-2-600x1006-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 10:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7w-x-10l-6-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrician-s-scissors-2100-7>: HTTP status code is not handled or not allowed 2026-01-28 10:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-anvil-for-dial-gage-stands>: HTTP status code is not handled or not allowed 2026-01-28 10:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-wave-transmitter>: HTTP status code is not handled or not allowed 2026-01-28 10:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-24in-w-30in-d-top-step-steel-rolling-ladder-perforated-tread-36in-handrail-kdsr105246-d3>: HTTP status code is not handled or not allowed 2026-01-28 10:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-11w-x-12l-6-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/depth-base-attachment-3-for-4-6-8-100mm-150mm-200mm-calipers>: HTTP status code is not handled or not allowed 2026-01-28 10:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-gage-set-17-pairs-of-leaves-1mm-to-3mm-by-0-25mm-3-5mm-to-7mm-by-0-5mm>: HTTP status code is not handled or not allowed 2026-01-28 10:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-ready-set-staple-tool-rsc187-4>: HTTP status code is not handled or not allowed 2026-01-28 10:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-station-shadow-board-combo-kit-blue-black-72-x-36-acp-composite>: HTTP status code is not handled or not allowed 2026-01-28 10:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-step-steel-caged-walk-through-fixed-access-ladder-safety-yellow-wlfc1119-y>: HTTP status code is not handled or not allowed 2026-01-28 10:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x12-wire-shelves-with-brackets-package-of-3>: HTTP status code is not handled or not allowed 2026-01-28 10:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-21w-x-30l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-easy-access-18-bushel-plastic-box-truck-with-attached-cargo-netting>: HTTP status code is not handled or not allowed 2026-01-28 10:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-16in-w-10in-d-top-step-steel-rolling-ladder-grip-strut-tread-36in-handrail-kdsr106162>: HTTP status code is not handled or not allowed 2026-01-28 10:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-station-shadow-board-combo-kit-green-white-72-x-36-acp-composite>: HTTP status code is not handled or not allowed 2026-01-28 10:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-21w-x-30l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-ready-set-staple-belt-lacing-galvanized-rs62j24>: HTTP status code is not handled or not allowed 2026-01-28 10:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-18w-x-24l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-18w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-24w-x-60l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-100mm-digimatic-caliper-w-spc-output-round-depth-rod>: HTTP status code is not handled or not allowed 2026-01-28 10:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upper-edge-guide-jeb-105>: HTTP status code is not handled or not allowed 2026-01-28 10:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hndl-left-jeb-111>: HTTP status code is not handled or not allowed 2026-01-28 10:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as150lg-hol-sealers8482-hole-seal-for-1-12-in-conduit-250-dia-lt-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhus-5-80-adjustable-3-pole-three-phase-thermal-overload-relay>: HTTP status code is not handled or not allowed 2026-01-28 10:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-step-steel-caged-walk-through-fixed-access-ladder-safety-yellow-wlfc1114-y>: HTTP status code is not handled or not allowed 2026-01-28 10:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-od-polyurethane-tubing-natural-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-28 10:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aek460ndh-style-electrical-interlock-ndh-style-440480-volt-steelzinc>: HTTP status code is not handled or not allowed 2026-01-28 10:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-00-r-exposed-ratchet-threader-set-npt-12-1-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-vbs2012-0612>: HTTP status code is not handled or not allowed 2026-01-28 10:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-5w-x-8l-6-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-double-tier-15x18x36-6-door-unassembled-1>: HTTP status code is not handled or not allowed 2026-01-28 10:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-21w-x-24l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-double-tier-12x15x36-2-door-assembled-1>: HTTP status code is not handled or not allowed 2026-01-28 10:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-phase-compact-starter-w-start-stop-reset-12-5-18-amps-230-vac>: HTTP status code is not handled or not allowed 2026-01-28 10:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-double-tier-12x18x36-6-door-assembled-2>: HTTP status code is not handled or not allowed 2026-01-28 10:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-od-nylon-tubing-red-color-100-roll-160-500-psi>: HTTP status code is not handled or not allowed 2026-01-28 10:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-six-tier-12x18x12-6-door-unassembled-1>: HTTP status code is not handled or not allowed 2026-01-28 10:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-mm-od-nylon-tubing-natural-color-100-roll-160-500-psi>: HTTP status code is not handled or not allowed 2026-01-28 10:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-aluminum-rolling-ladder-16in-w-grip-strut-14in-d-top-step-32in-handrails-wlar102165>: HTTP status code is not handled or not allowed 2026-01-28 10:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acbk6ss-clamp-block-kit-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-hex-l-key-sets-13222>: HTTP status code is not handled or not allowed 2026-01-28 10:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-plate-zx-lathes-tl06720>: HTTP status code is not handled or not allowed 2026-01-28 10:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-threading-pipe-and-bolt-die-heads-complete-w-dies-37530>: HTTP status code is not handled or not allowed 2026-01-28 10:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-piece-satin-combination-wrench-set-12-point>: HTTP status code is not handled or not allowed 2026-01-28 10:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-zx-lathes-tnmp08108>: HTTP status code is not handled or not allowed 2026-01-28 10:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/document-storage-box-medium-front-opening>: HTTP status code is not handled or not allowed 2026-01-28 10:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-plastic-step-stand-21-w-x-19-1-2-d-x-24-1-2-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck28-311-contactor-3-pole-460v>: HTTP status code is not handled or not allowed 2026-01-28 10:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atpg20glp-touch-up-paint-ansi-61-12-oz-spray-can>: HTTP status code is not handled or not allowed 2026-01-28 10:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-21w-x-72l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-24w-x-30l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedpan-for-bariatric-adults-with-no-spill-or-splash-design-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-infrared-heater-094050ngs-straight-configuration-50-l-175000-btu>: HTTP status code is not handled or not allowed 2026-01-28 10:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36x24x72-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freedom-lightweight-folding-aluminum-rollator-walker-with-adjustable-handle-height-cushioned-flip-up-seat-and-convenient-storage-basket-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 10:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-18w-x-72l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36x24x72-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-24w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-metallic-safety-switch-key-operated-de-energized-solenoid-release-1no-1nc>: HTTP status code is not handled or not allowed 2026-01-28 10:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-flat-poly-bags-6w-x-10l-6-mil-pink-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 92223 pages (at 98 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-cutter-wheels-33160>: HTTP status code is not handled or not allowed 2026-01-28 10:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-infrared-heater-094540ngu-u-configuration-40-l-200000-btu>: HTTP status code is not handled or not allowed 2026-01-28 10:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-infrared-heater-094030ngu-u-configuration-30-l-175000-btu>: HTTP status code is not handled or not allowed 2026-01-28 10:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x12x72-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x18x72-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/angle-flange-10-inch-diameter-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 10:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cross-hd-screw-m6x14-zx-lathes-zx-s4>: HTTP status code is not handled or not allowed 2026-01-28 10:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-4w-x-2d-x-20h-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck16-440-contactor-3-pole-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck16-440-contactor-3-pole-230v>: HTTP status code is not handled or not allowed 2026-01-28 10:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sleeve-hd-lock-thread-3448015>: HTTP status code is not handled or not allowed 2026-01-28 10:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-15w-x-18l-2-mil-green-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chuck-screw-jsm-705-sm-70530>: HTTP status code is not handled or not allowed 2026-01-28 10:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al2dccw-latch-kit-key-lock-ccw-3-point-a60to72-steelzinc>: HTTP status code is not handled or not allowed 2026-01-28 10:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-slatwall-panel-48-h-x-48-l-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saddle-hanger-12-inch-diameter-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 10:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24n24mp-panel-2100x2250-fits-24x24-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 10:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinge-vbs2012-9310>: HTTP status code is not handled or not allowed 2026-01-28 10:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/itm-78-8-sds-plus-carbide-hammer-drill-bit>: HTTP status code is not handled or not allowed 2026-01-28 10:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-end-static-shielding-bags-6w-x-18l-28-mil-transparent-200pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-sheet-mover-truck-with-solid-steel-deck-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-end-static-shielding-bags-24w-x-24l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-starter-w-steel-decking-84-w-x-24-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 10:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-pin-wbs-14csos-jsl-12bs-jwbs-18-100038>: HTTP status code is not handled or not allowed 2026-01-28 10:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-765-adjustable-wrenches-15-adjustable-1-116-pipe-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-with-hang-hole-12w-x-15l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-pin-cap-zx-04507>: HTTP status code is not handled or not allowed 2026-01-28 10:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-inch-foot-rest-with-pan>: HTTP status code is not handled or not allowed 2026-01-28 10:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-9-perfect-pole-telescoping-handle-sw45660>: HTTP status code is not handled or not allowed 2026-01-28 10:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-add-on-w-steel-decking-60-w-x-24-d-x-84-h>: HTTP status code is not handled or not allowed 2026-01-28 10:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/163-sjtw-25ft-heavy-duty-extension-cord-gg-13725gn-green>: HTTP status code is not handled or not allowed 2026-01-28 10:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unprinted-open-end-static-shielding-bags-12w-x-18l-28-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locknut-assy-c3-2907410>: HTTP status code is not handled or not allowed 2026-01-28 10:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-oz-cartridge-super-lube-silicone-high-dielectric-vacuum-grease>: HTTP status code is not handled or not allowed 2026-01-28 10:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powr-flite-stainless-steel-wet-dry-vacuum-15-gallon>: HTTP status code is not handled or not allowed 2026-01-28 10:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylindrical-weights-nist-class-f-with-traceable-certificate-10-lbs>: HTTP status code is not handled or not allowed 2026-01-28 10:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spac-237-1-3-hp-115v-22ft-shutoff-37-gpm-10ft-cord-sump-pump>: HTTP status code is not handled or not allowed 2026-01-28 10:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-milligram-leaf-weights-nist-class-f-with-traceable-certificate-30-mgs>: HTTP status code is not handled or not allowed 2026-01-28 10:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-parceldefender-freestanding-mailparcel-box-wf-pb003-black>: HTTP status code is not handled or not allowed 2026-01-28 10:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-parcelsentry-junior-wall-mount-locking-parcel-mailbox-wfpb019-black>: HTTP status code is not handled or not allowed 2026-01-28 10:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylindrical-weights-nist-class-f-2-kgs>: HTTP status code is not handled or not allowed 2026-01-28 10:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-18-1-4-x-30-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-orange-full-brim-style-4-point-ratchet-hard-hat>: HTTP status code is not handled or not allowed 2026-01-28 10:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/el5002-lrg-tennis-elbow-support-ambidextrous-neoprene-wrap-pressure-pad-for-compression>: HTTP status code is not handled or not allowed 2026-01-28 10:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-hard-hat-adaptor-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 10:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44167-plastic-lever-action-barrel-pump-with-2-bung-adapter-and-extra-tri-sure-adapter>: HTTP status code is not handled or not allowed 2026-01-28 10:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-shot-touch-free-low-profile-liquid-soap-dispenser-polished-chrome-fg402241>: HTTP status code is not handled or not allowed 2026-01-28 10:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-permanent-glue-stick-74-oz-stick-clear-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-flat-poly-bags-36w-x-60l-4-mil-pink-50pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-ton-hydraulic-jack-deluxe-13081>: HTTP status code is not handled or not allowed 2026-01-28 10:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intruder-eyewear-gray-anti-fog-lens-with-gray-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-jsm-403-40341>: HTTP status code is not handled or not allowed 2026-01-28 10:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-aah-48rbmag2-b-storage-cabinet-assembled-48x18x78-black>: HTTP status code is not handled or not allowed 2026-01-28 10:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-28w-x-24d-x-52h-2-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sideways-application-correction-tape-15-x-393-6pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunbrella-174-sunbrella-outdoor-market-umbrella-6-natural>: HTTP status code is not handled or not allowed 2026-01-28 10:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-aluminum-half-pallet-skid-bottom-48x24>: HTTP status code is not handled or not allowed 2026-01-28 10:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-cap-style-4-point-snap-lock-suspension-hard-hat>: HTTP status code is not handled or not allowed 2026-01-28 10:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-1-link-25-l-hdpe-safety-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-bca-368413-b-bookcase-assembled-36x13x84-black>: HTTP status code is not handled or not allowed 2026-01-28 10:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-1-link-25-l-hdpe-magenta>: HTTP status code is not handled or not allowed 2026-01-28 10:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-1-link-25-l-hdpe-safety-pink>: HTTP status code is not handled or not allowed 2026-01-28 10:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-1-link-25-l-hdpe-evergreen>: HTTP status code is not handled or not allowed 2026-01-28 10:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-warning-poly-bags-14w-x-20l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewiston-equine-mailbox-w-cast-aluminum-address-plates-horsehead-finial-ornate-base-white>: HTTP status code is not handled or not allowed 2026-01-28 10:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-hideaway-hose-reel-with-smart-trak-hose-guide>: HTTP status code is not handled or not allowed 2026-01-28 10:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-l-x-30-w-production-bench-stainless-steel-square-edge-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goop-hand-cleaner-with-pumice-4-5-lb-can>: HTTP status code is not handled or not allowed 2026-01-28 10:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-foot-x-10-foot-forest-green-tarp>: HTTP status code is not handled or not allowed 2026-01-28 10:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hon-310-series-2-drawer-vertical-file-26-d-letter-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-pin-ghdjmd-2450030>: HTTP status code is not handled or not allowed 2026-01-28 10:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-charcoal-3rd-stage-d-filter-element-bb100-150-series-bb100-d>: HTTP status code is not handled or not allowed 2026-01-28 10:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-foot-x-18-foot-forest-green-tarp>: HTTP status code is not handled or not allowed 2026-01-28 10:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-25-l-hdpe-traffic-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-bca-367218-p-bookcase-assembled-36x18x72-putty>: HTTP status code is not handled or not allowed 2026-01-28 10:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9579-double-coated-film-tape-12-x-36-yds-9-mil-white-2pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-maah-48662rb-p-mobile-storage-cabinet-assembled-36x24x66-putty>: HTTP status code is not handled or not allowed 2026-01-28 10:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offices-to-go-return-for-reception-desk-42wx24dx41h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 10:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-stainless-steel-storage-cabinet-60-x-24-x-72>: HTTP status code is not handled or not allowed 2026-01-28 10:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-stainless-steel-storage-cabinet-72-x-24-x-72>: HTTP status code is not handled or not allowed 2026-01-28 10:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9415pc-double-sided-removable-film-tape-1-x-72-yds-2-mil-clear-2pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acroprint-es900-electronic-time-clock-3-in-1-document-stamp>: HTTP status code is not handled or not allowed 2026-01-28 10:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-stainless-steel-cross-braced-leg-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4008-double-sided-foam-tape-1-x-36-yds-125-mil-natural>: HTTP status code is not handled or not allowed 2026-01-28 10:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4008-double-sided-foam-tape-34-x-36-yds-125-mil-natural-12pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/304-j2632-1p-iv-single-1-port-keystone-wall-plate-flush-ivory>: HTTP status code is not handled or not allowed 2026-01-28 10:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-foam-tape-1-x-36-yds-625-mil-black-12pack>: HTTP status code is not handled or not allowed 2026-01-28 10:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-24-x-24-standard-shop-stand-shop-top-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cllr-assy-600-c2-c3-2904500>: HTTP status code is not handled or not allowed 2026-01-28 10:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl400-ll-refill-dispenser-refill-canister-t-shape-2-canisters-800-pair>: HTTP status code is not handled or not allowed 2026-01-28 10:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-stainless-steel-roller-chain-35-1ss-3-8-pitch-100ft-reel>: HTTP status code is not handled or not allowed 2026-01-28 10:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-disc-769f-05905-t27-4-1-2-x-7-8-in-80-yf-weight-10-per-case>: HTTP status code is not handled or not allowed 2026-01-28 10:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-mobile-packaging-workbench-maple-butcher-block-square-edge-60-x-30>: HTTP status code is not handled or not allowed 2026-01-28 10:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-airspade-4000-105-scfm-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 10:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-roller-chain-12b-1-3-4-pitch-50ft-reel>: HTTP status code is not handled or not allowed 2026-01-28 10:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 92318 pages (at 95 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-mobile-packaging-workbench-maple-butcher-block-safety-edge-72-x-30>: HTTP status code is not handled or not allowed 2026-01-28 10:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-mobile-electronic-packaging-workbench-plastic-safety-edge-72-x-30>: HTTP status code is not handled or not allowed 2026-01-28 10:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-2000-225-scfm-construction-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-foot-x-24-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 10:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-ht108-2000-trench-rescue-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-7518b-9l-cut-resistant-gloves-nitrile-micro-foam-coating-a3-c-size-9>: HTTP status code is not handled or not allowed 2026-01-28 10:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-8-1-4-x-13-5-8-x-6-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-suffocation-warning-poly-bags-16w-x-16l-2-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-6w-x-24l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-ht66-2000-valve-seal-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-fan-motor-kit-for-761217-761218>: HTTP status code is not handled or not allowed 2026-01-28 10:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-roller-chain-32b-1-2-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 10:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-roller-chain-12b-1-3-4-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-28 10:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-5w-x-16l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-5w-x-24l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/se-fm-floor-mounted-walk-in-fume-hood-with-vapor-proof-light-72w-x-36d-x-94h>: HTTP status code is not handled or not allowed 2026-01-28 10:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-roller-chain-120-1r-1-1-2-pitch-offset-link>: HTTP status code is not handled or not allowed 2026-01-28 10:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-roller-chain-24b-1-1-1-2-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-28 10:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-jtm-1050-1050b-34>: HTTP status code is not handled or not allowed 2026-01-28 10:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-roller-chain-80-1r-1-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 10:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40413-top-and-side-open-blast-cabinet-w-dust-collector-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40411-top-and-side-open-blast-cabinet-w-dust-collector-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-recessed-handle-triple-tier-locker-12x12x24-assembled-3-wide-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linuraedge-slim-profile-rgb-led-light-22-26v-dc-6w-acrylic-132>: HTTP status code is not handled or not allowed 2026-01-28 10:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-decking-52-l-x-36-d-2620-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 10:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05358su-slg20g3050k-20w-globe-cfl-light-bulb-medium-base-super-white>: HTTP status code is not handled or not allowed 2026-01-28 10:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-on-magnifier-for-taneo-35-diopters-188x>: HTTP status code is not handled or not allowed 2026-01-28 10:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30000su-f15t12cw-15w-fluorescent-t12-bulb-medium-bipin-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 10:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unsupported-5-step-30-inch-cantilever-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 10:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40412-dust-collector-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-12w-x-15l-6-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-bearing-jtm-1050-1050b-41>: HTTP status code is not handled or not allowed 2026-01-28 10:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-22>: HTTP status code is not handled or not allowed 2026-01-28 10:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-steel-rolling-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 10:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stack-n-store-akrobins-19-7-8w-x-15-1-4d-x-12-7-16h-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hndwheel-clutch-jtm-124vs-la-129>: HTTP status code is not handled or not allowed 2026-01-28 10:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stack-n-store-akrobins-16-1-2w-x-17-1-2d-x-12-1-2h-semi-clear>: HTTP status code is not handled or not allowed 2026-01-28 10:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-drum-positioner-650-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-drawer-hanging-pedestal-mahogany-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 10:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-b80zhd-lw-xl-fits-hyster-model-b80zhd>: HTTP status code is not handled or not allowed 2026-01-28 10:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-t-e-lw-fits-rol-lift-model-t-e-series-3-25>: HTTP status code is not handled or not allowed 2026-01-28 10:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-knob-jtm-1050-b-111>: HTTP status code is not handled or not allowed 2026-01-28 10:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70-tough-green-all-purpose-cleaner-degreaser-fruity-floral-2l-bottle-4-cs-908972>: HTTP status code is not handled or not allowed 2026-01-28 10:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-diamond-grip-rubber-runner-mats-2mm-x-4-x-40-rubber-flooring-rolls-black>: HTTP status code is not handled or not allowed 2026-01-28 10:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-black-poly-drum-fan-with-bracket>: HTTP status code is not handled or not allowed 2026-01-28 10:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-polypropylene-bags-12l-x-8w-x-20h--15-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-roller-jsg-6dc-612012>: HTTP status code is not handled or not allowed 2026-01-28 10:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sketch-pla-filament-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cap-jsm3330-56>: HTTP status code is not handled or not allowed 2026-01-28 10:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-inch-locking-clip>: HTTP status code is not handled or not allowed 2026-01-28 10:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-24w-x-36l-4-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/highly-absorbent-multipurpose-reusable-wiping-cloths-randomly-sized-5-lb-box>: HTTP status code is not handled or not allowed 2026-01-28 10:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scotch-brite-power-sponge-teal-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-a-bout-portable-home-access-ramp-wab1030-10l-x-30w-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40003-110-lb-portable-pressure-blaster-deadman-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/link-shaft-slt660fh-05>: HTTP status code is not handled or not allowed 2026-01-28 10:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-polypropylene-bags-20l-x-16w-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-booth-1>: HTTP status code is not handled or not allowed 2026-01-28 10:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-blk-tough-filament-large>: HTTP status code is not handled or not allowed 2026-01-28 10:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-paired-unshielded-communication-control-cable-1-pair-18-awg-16-30-tc-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-workbench-plastic-square-edge-60-x-36-with-lower-shelf-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-wrench-ag4s-55>: HTTP status code is not handled or not allowed 2026-01-28 10:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-6w-x-6l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-workbench-esd-safety-edge-72-x-36-with-lower-shelf-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd363010-concept-wall-mount-encl-3600x3000x1000-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 10:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-polypropylene-bags-4l-x-2w-x-9h--15-mil-clear-2000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-athletic-sneakers-size-14m-black>: HTTP status code is not handled or not allowed 2026-01-28 10:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-3w-x-12l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-replacement-spray-valve>: HTTP status code is not handled or not allowed 2026-01-28 10:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-6w-x-10l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ohaus-mb23-basic-moisture-analyzers>: HTTP status code is not handled or not allowed 2026-01-28 10:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arbor-bracket-shaft-jwts-10-jwss-10-200109>: HTTP status code is not handled or not allowed 2026-01-28 10:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-packing-workbench-maple-butcher-block-safety-edge-60-x-36-with-riser-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sanitary-standard-22-w-acme-insert>: HTTP status code is not handled or not allowed 2026-01-28 10:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moisture-barrier-bags-14w-x-30l-36-mil-silver-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-gusseted-poly-bags-12w-x-4d-x-18h-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a30n24blp-medium-type-1-enclosure-3000x2400x862-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 10:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strap-protector-2-x-2-x-3-225-thickness-package-qty-600>: HTTP status code is not handled or not allowed 2026-01-28 10:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/site-detachable-towable-wheeled-dolly-and-hitch-for-linkup-400-series-conveyors>: HTTP status code is not handled or not allowed 2026-01-28 10:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-12w-x-18l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-14w-x-20l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 10:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bicycle-handlebar-rubber-grip-set-black>: HTTP status code is not handled or not allowed 2026-01-28 10:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-blades-6>: HTTP status code is not handled or not allowed 2026-01-28 10:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stiff-polypropylene-floor-brush-24>: HTTP status code is not handled or not allowed 2026-01-28 10:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proaluminum-acme-straight-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atex453816ss61-zonex-hazardous-location-encl-1gp-458x382x160mm-ss-type-316>: HTTP status code is not handled or not allowed 2026-01-28 10:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterwand-standard-22>: HTTP status code is not handled or not allowed 2026-01-28 10:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a60r3612hcr-hinged-cover-medium-type-3r-6000x3600x1200-galvanizedpaint>: HTTP status code is not handled or not allowed 2026-01-28 10:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-30-4-drawer-with-steel-top-workbench>: HTTP status code is not handled or not allowed 2026-01-28 10:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-san-tumbler-16-ozclear-24-ea>: HTTP status code is not handled or not allowed 2026-01-28 10:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-workbench-108in-w-x36in-d-x37in-h>: HTTP status code is not handled or not allowed 2026-01-28 10:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-grip-ll301-natural-rubber-gloves-heavy-weight-blue-1-pair-medium-301427>: HTTP status code is not handled or not allowed 2026-01-28 10:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a10r104-screw-cover-type-3r-1000x1000x400-c-d-e-f-g-knockout-ptrn>: HTTP status code is not handled or not allowed 2026-01-28 10:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/janitorial-shadow-board-blue-on-black-general-purpose-composite-sb101acp>: HTTP status code is not handled or not allowed 2026-01-28 10:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/125-lf-14-tee-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 10:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilotron-metered-air-fresheners-cinnamon-spice-scent-7-oz-refill-12-case>: HTTP status code is not handled or not allowed 2026-01-28 10:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mapa-solo-green-977-disposable-nitrile-gloves-powder-free-100-box-size-6-977016>: HTTP status code is not handled or not allowed 2026-01-28 10:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15ga-finish-nails-33-angled-2-1-2-length-316-stainless-steel-pkg-of-4000>: HTTP status code is not handled or not allowed 2026-01-28 10:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 92416 pages (at 98 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1614chftc-continuous-hinge-wflange-trough-collar-type-12-1600x1400x654-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 10:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-comfort-mat-w-holes-4-x-6>: HTTP status code is not handled or not allowed 2026-01-28 10:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/91031-vanbag-case-of-12>: HTTP status code is not handled or not allowed 2026-01-28 10:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h2o2-oxy-force-all-purpose-cleaner-light-citrus-scent-gallon-bottle-4-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 10:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-charcoal-4-x-10>: HTTP status code is not handled or not allowed 2026-01-28 10:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worm-jbos-5-6286473>: HTTP status code is not handled or not allowed 2026-01-28 10:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evidence-quad-dual-pad-micro-perf-8-1-2-x-11-3-4-100-sheets-pad-2-pads-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-med-gray-3-x-10>: HTTP status code is not handled or not allowed 2026-01-28 10:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilozyme-153-trap-drain-treatment-fresh-scent-quart-bottle-12-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 10:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxy-force-dilution-system-with-key-lock-out-multiple-flow-rate>: HTTP status code is not handled or not allowed 2026-01-28 10:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a5-brochure-holder-5-pcs-for-clear-wall-seperators>: HTTP status code is not handled or not allowed 2026-01-28 10:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-turnstile-only-clockwise-direction-mirror>: HTTP status code is not handled or not allowed 2026-01-28 10:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exq-pro-extreme-power-workstation-hutch-55w-x-30d-x-26-38h-black-with-red-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-90-175-register-vent-boot-w-adj-hangers-for-hvac-duct-work-2-x-12-x-6>: HTTP status code is not handled or not allowed 2026-01-28 10:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-straight-register-vent-boot-w-adj-hangers-for-hvac-duct-work-4-x-12-x-8>: HTTP status code is not handled or not allowed 2026-01-28 10:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-dolly-44-gal-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ex-professional-upgraded-spring-loaded-casters-5w-x-10d-x-9-12h-black-set-of-4>: HTTP status code is not handled or not allowed 2026-01-28 10:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/task-light-with-usb-cable-and-mounting-bracket>: HTTP status code is not handled or not allowed 2026-01-28 10:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-breather-valve-low-profile-m14-x-1-5-thread-883-m14x1-5-160-a-ms>: HTTP status code is not handled or not allowed 2026-01-28 10:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-176-ss-corner-guard-16-ga-3m-two-sided-tape-sq-corners-48-lx2-wx2-h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/docket-wirebound-letter-size-legal-rule-pad-with-cover-canary-70-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 10:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-union-fitting>: HTTP status code is not handled or not allowed 2026-01-28 10:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-white-floor-vent-grille-vent-cover-6-x-10>: HTTP status code is not handled or not allowed 2026-01-28 10:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-roller-cabinet-6-drawers-41w-x-25d-x-41-1316h-matte-black-wblk-drawer-pulls>: HTTP status code is not handled or not allowed 2026-01-28 10:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-vinyl-tape-471-red-2-x-36-yd-24-per-case-bulk>: HTTP status code is not handled or not allowed 2026-01-28 10:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-x-38-npt-elbow>: HTTP status code is not handled or not allowed 2026-01-28 10:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-bookcase-34-1-2-w-x-13-d-x-30-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a62h6012lp3pt-2-door-w3-pt-latches-and-floor-stands-type-4-6206x6006x1206>: HTTP status code is not handled or not allowed 2026-01-28 10:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-add-on-unit-5-tier-60w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-brown-floor-vent-grille-vent-cover-4-x-10>: HTTP status code is not handled or not allowed 2026-01-28 10:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ase18x12x8nk-pull-box-screw-cover-1800x1200x800-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 10:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ase16x16x6-pull-box-screw-cover-kos-1600x1600x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 10:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-side-locker-3-drawers-4-shelves-24w-x-30d-x-60-78h-black-with-blue-handles>: HTTP status code is not handled or not allowed 2026-01-28 10:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-36-d-production-workbench-phenolic-resin-safety-edge-drawer-upright-shelf-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-coupler-industrial-interchange-m-style-14-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 10:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-starter-unit-5-tier-60w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-hex-38-ds-6295630>: HTTP status code is not handled or not allowed 2026-01-28 10:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-cross-fitting>: HTTP status code is not handled or not allowed 2026-01-28 10:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a60x4918lpftc-2-door-wfloor-stands-disc-encl-6012x4975x1812-paint>: HTTP status code is not handled or not allowed 2026-01-28 10:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x72-solar-star-greenhouse-w-solid-polycarbonate-gas-heater>: HTTP status code is not handled or not allowed 2026-01-28 10:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x72-solar-star-greenhouse-w-solid-polycarbonate-prop-heater>: HTTP status code is not handled or not allowed 2026-01-28 10:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-s1424b-black-epoxy-wire-shelf-24-w-x-14-d-with-clips>: HTTP status code is not handled or not allowed 2026-01-28 10:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-add-on-unit-5-tier-72w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a44ccol-straight-pedestal-column-3500x400x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 10:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drylok-e1-epoxy-floor-paint-1-gallon-platinum>: HTTP status code is not handled or not allowed 2026-01-28 10:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-54w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrabarrier-ultra-6-ft-long-6-in-high>: HTTP status code is not handled or not allowed 2026-01-28 10:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd162010lg-concept-wall-mount-encl-1600x2000x1000>: HTTP status code is not handled or not allowed 2026-01-28 10:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-pipe-clip-pack-of-10-f2022-10-1>: HTTP status code is not handled or not allowed 2026-01-28 10:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-60w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metcor-71-botanical-based-corrosion-preventative-1-gallon-container>: HTTP status code is not handled or not allowed 2026-01-28 10:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hndl-grip-jbm-5-23011019>: HTTP status code is not handled or not allowed 2026-01-28 10:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chuck-key-jbm-5-23011076>: HTTP status code is not handled or not allowed 2026-01-28 10:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cortech-usa-p1925b-sealed-seam-pillow-blue1-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-m12-redlithium-xc6-battery>: HTTP status code is not handled or not allowed 2026-01-28 10:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-greenhouse-20w-x-107h-x-48l>: HTTP status code is not handled or not allowed 2026-01-28 10:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-sprayon-galv-off>: HTTP status code is not handled or not allowed 2026-01-28 10:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ng-to-lp-conversion-kit-for-modine-high-efficiency-200000-btu-gas-fired-unit-heater>: HTTP status code is not handled or not allowed 2026-01-28 10:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-28-foot-w-fits-3-5-8-inches-to-5-1-2-inches-dia-brsn-428-6>: HTTP status code is not handled or not allowed 2026-01-28 10:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-28-foot-w-fits-3-1-2-inches-to-4-1-2-inches-dia-brsn-428-5>: HTTP status code is not handled or not allowed 2026-01-28 10:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-3-layer-epoxy-system-2500-sq-ft-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-24w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440106643-utility-cloth-sheet-314d-9w-x-11l-p120-grit>: HTTP status code is not handled or not allowed 2026-01-28 10:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-10-foot-w-fits-5-5-8-inches-to-6-5-8-inches-dia-brsn-410-7>: HTTP status code is not handled or not allowed 2026-01-28 10:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-60w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-24w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/royall-economy-numbering-machine-model-rnm6-7-6-wheels-type-size-e>: HTTP status code is not handled or not allowed 2026-01-28 10:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x28-solar-star-greenhouse-w-poly-top-and-ends-drop-down-sides-prop-heater>: HTTP status code is not handled or not allowed 2026-01-28 10:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-add-on-unit-5-tier-72w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-b-v-belt-b150>: HTTP status code is not handled or not allowed 2026-01-28 10:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-cogged-ax-v-belt-ax56>: HTTP status code is not handled or not allowed 2026-01-28 10:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/icl-030l-d101-usa-digital-incubator-30-liter-110v>: HTTP status code is not handled or not allowed 2026-01-28 10:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gll-2-15-1-5v-cross-line-line-laser>: HTTP status code is not handled or not allowed 2026-01-28 10:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-96-l-x-48-w-x-1-8-thick-green-ps-cacc-4>: HTTP status code is not handled or not allowed 2026-01-28 10:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-5vx-cogged-v-belt-5vx800>: HTTP status code is not handled or not allowed 2026-01-28 10:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-3v-cogged-v-belt-3v250>: HTTP status code is not handled or not allowed 2026-01-28 10:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-drill-adp-719a-6294210>: HTTP status code is not handled or not allowed 2026-01-28 10:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090250014-elite-two-stage-vertical-air-compressor-5hp-80-gallon>: HTTP status code is not handled or not allowed 2026-01-28 10:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-model-201planer-6012163>: HTTP status code is not handled or not allowed 2026-01-28 10:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-gasket-jsg-0402-822003>: HTTP status code is not handled or not allowed 2026-01-28 10:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/majestic-greenhouse-20w-x-24l-w-roll-up-sides>: HTTP status code is not handled or not allowed 2026-01-28 10:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-54w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-12-l-x-12-w-x-1-8-thick-yellow-ps-cacc-64>: HTTP status code is not handled or not allowed 2026-01-28 10:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-72w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-54w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/338v-two-stage-vertical-air-compressor-5hp-80-gallon>: HTTP status code is not handled or not allowed 2026-01-28 10:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-quik-mark-wb-inverted-marking-paint-fluor-caution-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-quik-mark-sb-inverted-marking-paint-fluorescent-hot-pink>: HTTP status code is not handled or not allowed 2026-01-28 10:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x48-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides-prop-heater>: HTTP status code is not handled or not allowed 2026-01-28 10:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-work-day-enamel-paint-rue-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-plate-jsg-96-jsg96-204>: HTTP status code is not handled or not allowed 2026-01-28 10:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-5-ball-interior-exterior-paint-pewter-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-5-ball-interior-exterior-ruddy-brown-primer>: HTTP status code is not handled or not allowed 2026-01-28 10:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-24w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/58656-national-fire-protection-association-hazardous-materials-label-11w-x-11h->: HTTP status code is not handled or not allowed 2026-01-28 10:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-rack-mobile-gear-storage-rack-locker-single-sided-three-20-sections-red>: HTTP status code is not handled or not allowed 2026-01-28 10:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-30w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 92513 pages (at 97 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-buna-n-pvc-sheet-24-l-x-12-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-uphostered-restaurant-chair-with-ladder-back-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 10:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-commercial-canopy-14w-x-40l-green>: HTTP status code is not handled or not allowed 2026-01-28 10:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duty-steel-zinc-plated-wire-rope-thimble-3-16-diameter>: HTTP status code is not handled or not allowed 2026-01-28 10:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-2-diameter-6x37-iwrc-bright-wire-rope>: HTTP status code is not handled or not allowed 2026-01-28 10:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-dolly-with-padded-rubber-ledge-24-l-x-16-3-4-w-2>: HTTP status code is not handled or not allowed 2026-01-28 10:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65675-plug-lockout-220550-volt-with-danger-label-polypropylene-4-58w-x-2h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-8-diameter-7x7-galvanized-aircraft-cable-2>: HTTP status code is not handled or not allowed 2026-01-28 10:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-5-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x96-solar-star-greenhouse-w-poly-top-and-ends-drop-down-sides-prop-heater>: HTTP status code is not handled or not allowed 2026-01-28 10:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34x12x48-solar-star-greenhouse-w-poly-top-and-ends-drop-down-sides-gas-heater>: HTTP status code is not handled or not allowed 2026-01-28 10:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-8-x-8-doublewall-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-1-8-diameter-7x7-galvanized-aircraft-cable-2>: HTTP status code is not handled or not allowed 2026-01-28 10:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bracket-pja-c21-15-planer-6284767>: HTTP status code is not handled or not allowed 2026-01-28 10:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/57755-traffic-control-paddle-2-sided-stop-sign-aluminum-18w-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsc40-basic-universal-soc3dia-x-42lcase40>: HTTP status code is not handled or not allowed 2026-01-28 10:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/document-envelopes-9-12l-x-12w-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 10:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/opticlean-25-compartment-glass-rack-w-2-extenders-carlisle-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-poly-building-20w-x-12h-x-20l-white>: HTTP status code is not handled or not allowed 2026-01-28 10:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grade-70-transport-chain-3-8-dia-6600-lb-cap-10-box>: HTTP status code is not handled or not allowed 2026-01-28 10:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-8-diameter-7x7-stainless-steel-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 10:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-x-13-x-15-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-3-8-diameter-6x19-fiber-core-bright-wire-rope>: HTTP status code is not handled or not allowed 2026-01-28 10:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-assy-pja-go8-15-planer-6284856>: HTTP status code is not handled or not allowed 2026-01-28 10:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-champion-forged-5-14x7-14-rigid-10x2-12-duralast-ball-2500lb>: HTTP status code is not handled or not allowed 2026-01-28 10:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94212-speed-limit-15-hip-reflective-speed-limit-sign-aluminum-18w-x-24h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94211-speed-limit-15-hip-reflective-speed-limit-sign-aluminum-24w-x-24h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-hi-lo-light-duty-3-18x4-18-swivel-3x1-34-plastex-roller-400lb>: HTTP status code is not handled or not allowed 2026-01-28 10:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storplus-35-gallon-box-18-12-6blue>: HTTP status code is not handled or not allowed 2026-01-28 10:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-poly-mailers-14-12w-x-19l-25-mil-pink-100pack>: HTTP status code is not handled or not allowed 2026-01-28 10:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-superflex-wheel-8x250-12-ball>: HTTP status code is not handled or not allowed 2026-01-28 10:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-ace-tuf-wheel-10x275-34-ball>: HTTP status code is not handled or not allowed 2026-01-28 10:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-1-w-x-1-8-thick-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-72w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-mailers-with-tear-strip-19w-x-24l-25-mil-white-250pack>: HTTP status code is not handled or not allowed 2026-01-28 10:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-10-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soot-remover-stick-114-grams>: HTTP status code is not handled or not allowed 2026-01-28 10:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-54w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-14-x-19-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/105524-verthoriz-standoff-sign-hlr-18w-x-24h-clr-1pack>: HTTP status code is not handled or not allowed 2026-01-28 10:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76168-caution-accident-prevention-tag-2-sided-25pkg-polyester-3w-x-5-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-do-not-forklift-print-5l-x-3w-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/570-8-lrb-trailer-tire-wheel-assembly-bolt-circle-4-x-4>: HTTP status code is not handled or not allowed 2026-01-28 10:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-x-14-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700228pur-multitower-pegboard-floor-display-20w-x-64h-x-20d-pl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 10:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-12-l-x-1-w-x-3-16-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 10:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-600-6-inner-tube>: HTTP status code is not handled or not allowed 2026-01-28 10:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-20-lug-nuts>: HTTP status code is not handled or not allowed 2026-01-28 10:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/66065-danger-do-not-operate-tag-bilingual-englighspanish-hd-polyester-25pack>: HTTP status code is not handled or not allowed 2026-01-28 10:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flt-washr-103mm-x-23-x-2tmodel201plnr-6012120>: HTTP status code is not handled or not allowed 2026-01-28 10:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-mailers-0-6w-x-10l-kraft-250pack>: HTTP status code is not handled or not allowed 2026-01-28 10:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-18-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/146123-cable-safety-padlock-with-label-4-316h-clearance-steel-cable-green>: HTTP status code is not handled or not allowed 2026-01-28 10:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-6-x-6-x-18-powerfeeders-6288757>: HTTP status code is not handled or not allowed 2026-01-28 10:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-250-watt-ceramic-infra-red-lamp-with-mobile-base>: HTTP status code is not handled or not allowed 2026-01-28 10:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simonize-aerosol-furniture-polish>: HTTP status code is not handled or not allowed 2026-01-28 10:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-4l-220-v-belt-6077003>: HTTP status code is not handled or not allowed 2026-01-28 10:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-15-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700228clr-multitower-pegboard-floor-display-20w-x-64h-x-20d-clr-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 10:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simonize-wash-plus-liquid-laundry-detergent-gallon>: HTTP status code is not handled or not allowed 2026-01-28 10:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simoniz-brite-glass-and-all-purpose-cleaner-55-gallon>: HTTP status code is not handled or not allowed 2026-01-28 10:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clasp-envelopes-10w-x-12l-kraft-500pack>: HTTP status code is not handled or not allowed 2026-01-28 10:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-starter-unit-1-dunnage-shelf-36w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-starter-unit-1-dunnage-shelf-36w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252052-wall-mount-acrylic-sign-hlr-wtrifold-brochure-pockets-16w-x-11h-1pack>: HTTP status code is not handled or not allowed 2026-01-28 10:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simoniz-lemon-shine-ready-to-use-furniture-polish-32-oz>: HTTP status code is not handled or not allowed 2026-01-28 10:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-starter-unit-1-dunnage-shelf-24w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-v-groove-wheel-6x2-34-1-14-roller>: HTTP status code is not handled or not allowed 2026-01-28 10:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fellowes-galaxy-comb-bin-ding-machine>: HTTP status code is not handled or not allowed 2026-01-28 10:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-x-26-x-26-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-plated-ultra-heavy-duty-spring-mount-for-non-lighted-flagstaffs-over-8-ft>: HTTP status code is not handled or not allowed 2026-01-28 10:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-fragile-handle-with-care-print-5l-x-3w-redwhite-roll-of-500-dl1160>: HTTP status code is not handled or not allowed 2026-01-28 10:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-square-plastic-trash-container-garbage-can-50-gallon-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-depth-cardboard-corrugated-boxes-28-x-20-x-24-200-ect-32-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-thermal-transfer-labels-4w-x-6l-3-core-yellow-4pack>: HTTP status code is not handled or not allowed 2026-01-28 10:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29-x-17-x-20-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10gce-digital-gravity-convection-lab-oven-0-7-cu-ft-600w>: HTTP status code is not handled or not allowed 2026-01-28 10:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sani-adjustable-shelving-pole-84-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 10:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-24x72>: HTTP status code is not handled or not allowed 2026-01-28 10:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cooler-backroom-shelving-tubular-bar-style-20-inch-48-inch-bar-3-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-flag-12-x11-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/225511-11-compartment-tray-wpushers-and-tracks-10375w-x-175h-x-75d-clr-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 10:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-flag-16-x16-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pad-bearing-wear-3575078>: HTTP status code is not handled or not allowed 2026-01-28 10:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-316-24nc-x-14-model-201-plnr-6012270>: HTTP status code is not handled or not allowed 2026-01-28 10:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-18x48>: HTTP status code is not handled or not allowed 2026-01-28 10:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-6-x-12-insulated-container>: HTTP status code is not handled or not allowed 2026-01-28 10:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-14x72>: HTTP status code is not handled or not allowed 2026-01-28 10:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-14x36>: HTTP status code is not handled or not allowed 2026-01-28 10:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-48-wide-right-handed-return-table-rustic-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-90-degree-angle-24-l-x-3-4-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-epdm-strip-120-l-x-7-w-x-1-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-2-w-x-3-16-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-vs-arm-3584022>: HTTP status code is not handled or not allowed 2026-01-28 10:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-inventory-circle-labels-black-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/server-stainless-steel-pump-for-a-7-qt-vegetable-inset>: HTTP status code is not handled or not allowed 2026-01-28 10:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 92609 pages (at 96 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m14-x-m60-slotted-spring-pin-heavy-duty-high-carbon-steel-plain-iso-8752-din-1481-usa>: HTTP status code is not handled or not allowed 2026-01-28 10:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-7-1-4x12-self-seal-kra-bubble-mailers-with-opening-tear-strip>: HTTP status code is not handled or not allowed 2026-01-28 10:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-10-3-50-4-flat-free-sawtooth-tread-2-25-offset-3-4-ball-bearings>: HTTP status code is not handled or not allowed 2026-01-28 10:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/server-twin-warmer-w-pumps>: HTTP status code is not handled or not allowed 2026-01-28 10:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-labels-with-apr-print-3l-x-2w-l-fluorescent-orange-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-torr-b-1616-oh-6063015>: HTTP status code is not handled or not allowed 2026-01-28 10:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hghds-heavy-duty-ss-shears>: HTTP status code is not handled or not allowed 2026-01-28 10:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-mats-for-craft-tables-17-x-22-pack-of-two>: HTTP status code is not handled or not allowed 2026-01-28 10:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-anti-slip-table-protector-20-x-36>: HTTP status code is not handled or not allowed 2026-01-28 10:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-swivel-caster-flat-free>: HTTP status code is not handled or not allowed 2026-01-28 10:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-x-2-cotter-pin-300-series-stainless-steel-asme-18-8-1-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-28 10:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-rectangular-desk-pads-17-x-22-black-pack-of-four>: HTTP status code is not handled or not allowed 2026-01-28 10:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-75-semi-pneumatic-ribbed-tread-1-375-centered-1-2-ball-bearings>: HTTP status code is not handled or not allowed 2026-01-28 10:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-80-2-50-4-narrow-flat-free-centipede-tread-3-centered-3-4-ball-bearings>: HTTP status code is not handled or not allowed 2026-01-28 10:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epj-25-electric-pallet-jack-with-easy-exchange-battery-2500-lb-cap-27-x-45-fork>: HTTP status code is not handled or not allowed 2026-01-28 10:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-2-x-2-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-number-paper-labels-with-0-print-dark-blue-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2200-fingertip-pulse-oximeter>: HTTP status code is not handled or not allowed 2026-01-28 10:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-4-drive-6-point-1-1-4-short>: HTTP status code is not handled or not allowed 2026-01-28 10:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-4-x-3-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-6-w-x-1-4-thick-bronze>: HTTP status code is not handled or not allowed 2026-01-28 10:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-wireless-singleline-scanner-voyager-1202g-with-usb-cable-kit-and-charger-stand>: HTTP status code is not handled or not allowed 2026-01-28 10:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-5-x-5-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/632-x-38-rd-hd-machin-6706036>: HTTP status code is not handled or not allowed 2026-01-28 10:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-4-x-4-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/03a2-sprocket-6288944>: HTTP status code is not handled or not allowed 2026-01-28 10:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-6-w-x-1-8-thick-bronze>: HTTP status code is not handled or not allowed 2026-01-28 10:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/116in-w-x80in-d-reception-station-w-non-electric-raceway-gray-counter-blue-panel>: HTTP status code is not handled or not allowed 2026-01-28 10:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-48-l-x-3-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 10:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-spill-deck-p4-4-drum-containment-system>: HTTP status code is not handled or not allowed 2026-01-28 10:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-2-x-3-1-4-x-1-1-4-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-2-1-2-w-x-1-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 10:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knob-40093uv101-60a-jointr27spr2728-3406016>: HTTP status code is not handled or not allowed 2026-01-28 10:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-boston-bruins-hitch-cover-4-1-2-x-3-3-8-15143>: HTTP status code is not handled or not allowed 2026-01-28 10:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-labels-with-destroy-print-3l-x-2w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-4-drive-6-point-2-3-16-short>: HTTP status code is not handled or not allowed 2026-01-28 10:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-20-gallon-perforated-steel-receptacle-w-flat-lid-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-55-gallon-perforated-steel-receptacle-w-flat-lid-black>: HTTP status code is not handled or not allowed 2026-01-28 10:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-pick-neon-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-dia-round-removable-paper-labels-blue-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/415c-strainer-1-inch-npt>: HTTP status code is not handled or not allowed 2026-01-28 10:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/420c-strainer-1-2-in-npt>: HTTP status code is not handled or not allowed 2026-01-28 10:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-philadelphia-flyers-hitch-cover-4-1-2-x-3-3-8-15149>: HTTP status code is not handled or not allowed 2026-01-28 10:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-5-8-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 10:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-48-1-4w-x-101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 10:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-coverall-knit-cuffs-and-attached-hood-white-red-large-4565-blk-l>: HTTP status code is not handled or not allowed 2026-01-28 10:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-7-8-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 10:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-15-16-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 10:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-nashville-predators-grill-mat-14240>: HTTP status code is not handled or not allowed 2026-01-28 10:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-carbon-fiber-bar-24-l-x-3-w-x-1-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-6x10-self-seal-kra-padded-mailers>: HTTP status code is not handled or not allowed 2026-01-28 10:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-edmonton-oilers-grill-mat-14235>: HTTP status code is not handled or not allowed 2026-01-28 10:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-pass-thru-cable-48-1-4w-x-101-1-2h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-28 10:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-60-l-x-1-1-2-w-x-1-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 10:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-48-l-x-4-w-x-3-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 10:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-12-l-x-12-w-x-1-2-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 10:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoline-storage-building-26w-x-12h-x-20l-white-pony-wall>: HTTP status code is not handled or not allowed 2026-01-28 10:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nba-golden-state-warriors-grill-mat-14204>: HTTP status code is not handled or not allowed 2026-01-28 10:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nba-oklahoma-city-thunder-grill-mat-14215>: HTTP status code is not handled or not allowed 2026-01-28 10:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermal-transfer-labels-4w-x-1l-3-core-white-4pack>: HTTP status code is not handled or not allowed 2026-01-28 10:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-4-x-6-lift-truck-mats-medium-grey-253570046>: HTTP status code is not handled or not allowed 2026-01-28 10:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-9-16-short>: HTTP status code is not handled or not allowed 2026-01-28 10:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-winnipeg-jets-grill-mat-14254>: HTTP status code is not handled or not allowed 2026-01-28 10:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-3-4-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 10:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-sheet-24-l-x-12-w-x-1-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictogram-flame-labels-2l-x-2w-redwhiteblack-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ax13104-white-jewelry-safe-18w-x-14d-x-1712h-101-cubic-ft>: HTTP status code is not handled or not allowed 2026-01-28 10:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-fragile-handle-with-print-10l-x-8w-redwhiteblack-roll-of-250>: HTTP status code is not handled or not allowed 2026-01-28 10:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-roll-120-l-x-12-w-x-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-door-enclosed-flannel-letter-board-w-oak-frame-60w-x-48h-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 10:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-36-1-4w-x-101-1-2h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-28 10:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-door-enclosed-flannel-letter-board-w-oak-frame-72w-x-48h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-door-enclosed-recycled-rubber-tackboard-72w-x48h-black-w-silver-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-electric-office-partition-panel-with-raceway-48-1-4w-x-100h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-28 10:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-pegboard-shelf-cabinet-hdcp244878-pb32-4s95-12-gauge-4-w-24-1-16-d-78-h>: HTTP status code is not handled or not allowed 2026-01-28 10:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-office-partition-panel-with-partial-window-36-1-4w-x-100h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-28 10:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-office-partition-panel-with-partial-window-48-1-4w-x-100h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-28 10:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgnf984vs-safety-first-sign-report-all-accidents-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 10:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-door-enclosed-flannel-letter-board-w-oak-frame-24w-x-36h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-outdoor-in-ground-steel-bench-with-backrest-perforated-metal-black>: HTTP status code is not handled or not allowed 2026-01-28 10:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-20mm-deep>: HTTP status code is not handled or not allowed 2026-01-28 10:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x20-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x15-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aneroid-sphygmomanometer-large-adult-size-blue-01-100-016>: HTTP status code is not handled or not allowed 2026-01-28 10:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-4l-x-4w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-4l-x-4w-fluorescent-pink-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-artic-blast-snow-pusher>: HTTP status code is not handled or not allowed 2026-01-28 10:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-mini-360-hand-chain-hoist-1-2t-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 10:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x18-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-6-x-12-kra-shopping-bag>: HTTP status code is not handled or not allowed 2026-01-28 10:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melc128va-danger-sign-high-voltage-keep-out-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 10:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-labels-with-qc-accepted-print-3l-x-2w-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 10:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-heavy-duty-workbench-steel-top-3-drawers-1-shelf-72-w-x-36-d-x-34-3-16-h>: HTTP status code is not handled or not allowed 2026-01-28 10:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-wall-mount-barrier-w-light-kit-15-reddo-not-enter-arc-flash-boundarybanner>: HTTP status code is not handled or not allowed 2026-01-28 10:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mppe796va-caution-sign-personal-protective-equipment-required-beyond-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 10:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-set-1-2-drive-6-point-deep-19-piece>: HTTP status code is not handled or not allowed 2026-01-28 10:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x16-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-48-l-x-2-1-2-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 10:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-18-dri-shieldtm-moisture-barrier-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gasket-remover-paint-and-decal-remover-12-wt-oz-aerosol-organic-solvents-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-drive-1-1-4-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 10:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 92710 pages (at 101 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-6-l-x-6-w-x-1-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 10:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd480-versatile-pneumatic-lockout-plastic>: HTTP status code is not handled or not allowed 2026-01-28 10:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-13mm-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 10:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-1075-4-mil-anti-static-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 10:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-post-86in-h-leveler-installed-pack-of-four>: HTTP status code is not handled or not allowed 2026-01-28 10:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-bit-set-1-4-3-8-drive-t10-to-t55-10-piece>: HTTP status code is not handled or not allowed 2026-01-28 10:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-t-clamp-assembly-for-two-hoses-pipe-or-tube-lines>: HTTP status code is not handled or not allowed 2026-01-28 10:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-barstool-24-h-silver-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-roll-480-l-x-13-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x5-2-mil-anti-static-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrestling-marial-arts-roll-mats-36-x-6-x-1-5-8-navy-113r-ny>: HTTP status code is not handled or not allowed 2026-01-28 10:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-p-clamp-assembly-for-two-hoses-pipe-or-tube-lines>: HTTP status code is not handled or not allowed 2026-01-28 10:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-24-l-x-24-w-x-3-16-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 10:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melc114vp-danger-sign-high-voltage-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 10:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20x24-4-mil-anti-static-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2flexo-pet-general-purpose-sleeving-dia-100-red>: HTTP status code is not handled or not allowed 2026-01-28 10:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-pipe-zinc-plated-omega-cushion-clamp>: HTTP status code is not handled or not allowed 2026-01-28 10:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-strapping-1-2-inches-w-x-0-point-015-inches-x-200-feet>: HTTP status code is not handled or not allowed 2026-01-28 10:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-polypropylene-heavy-rubber-insert-grommet>: HTTP status code is not handled or not allowed 2026-01-28 10:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-security-truck-chrome-24-w-x-60-l-x-69-h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cs-fl-66-flexneck-plus-led-book-light>: HTTP status code is not handled or not allowed 2026-01-28 10:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-impact-socket-set-1-2-drive-6-point-deep-26-piece>: HTTP status code is not handled or not allowed 2026-01-28 10:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-guard-back-panel-with-flush-mount-clip-120l-x-1-14w-x-48h>: HTTP status code is not handled or not allowed 2026-01-28 10:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8flexo-pet-general-purpose-sleeving-dia-1000-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4flexo-pet-general-purpose-sleeving-dia-1000-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-lumbar-back-support-cushion-14-x-13-navy-555-7300-2400hs>: HTTP status code is not handled or not allowed 2026-01-28 10:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x8-x24-1-5-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-semi-outdoor-led-mass-notification-sign-full-color-24vdc-4080rgb>: HTTP status code is not handled or not allowed 2026-01-28 10:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-height-pallet-stand-40-x-48-solid-deck-lr>: HTTP status code is not handled or not allowed 2026-01-28 10:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x3-x18-2-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveworks-powderfree-industrial-grade-nitrile-gloves-xxl-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 10:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mdt246ctp-danger-out-of-service-tag-pf-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-28 10:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm1800bt-18-bandsaw-with-armorglide-5-hp-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 10:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x14-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kobi-tall-planter-20-l-x-20-w-x-38-h-square-graphite-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-4-drive-1-5-16-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 10:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-x3-powderfree-industrial-grade-nitrile-gloves-large-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 10:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9000i-rgb-indoor-led-message-sign-full-color-9660rgb>: HTTP status code is not handled or not allowed 2026-01-28 10:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-48-l-x-12-w-x-3-32-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 10:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8flexo-pet-general-purpose-sleeving-dia-500-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2x2-3-4x10-3-4-1-5-mil-gusseted-polypropylene-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/209hh-3-20-planer-with-helical-cutterhead-5hp-3-phase-230460v>: HTTP status code is not handled or not allowed 2026-01-28 10:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-25mm-short>: HTTP status code is not handled or not allowed 2026-01-28 10:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-12-l-x-1-2-w-x-3-32-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 10:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-plug>: HTTP status code is not handled or not allowed 2026-01-28 10:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-boltless-shelving-w-steel-industrial-shelves-48-w-x-36-d-x-84-h-add-on-5-shelves>: HTTP status code is not handled or not allowed 2026-01-28 10:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ntep-stainless-steel-12x14-bench-scale-with-lcd-display-100-lb-x-002-lb>: HTTP status code is not handled or not allowed 2026-01-28 10:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-60-l-x-36-w-x-0-003-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 10:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd442-lockout-ball-valve-lockout-fits-38-1-14-plastic>: HTTP status code is not handled or not allowed 2026-01-28 10:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ntep-48-x-96-heavy-duty-palletfloor-scale-10000-lb-x-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 10:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x18-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-1-2-x-10-7-8-x-8-lewisbins-divider-box-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-1-7-8-h-short-divider>: HTTP status code is not handled or not allowed 2026-01-28 10:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd959vs-first-aid-station-sign-10w-x-7h-adhesive-viny>: HTTP status code is not handled or not allowed 2026-01-28 10:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-strips-2w-x-7-8h-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparta-spectrum-quik-release-fiberglass-mop-handle-60-long-1-d-red>: HTTP status code is not handled or not allowed 2026-01-28 10:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-48-l-x-1-1-2-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-pvc-18-step-shelf-station-18w-x-7d-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 10:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-fire-safe-electronic-lock-25-7-16-x-23-7-16-x-39-13-16light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-36-l-x-3-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g15l-175-ff-20hp-oil-injected-rotary-screw-132-gal-tank-mnt-175psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 10:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pj1696t-16-parallelogram-jointer-with-armorglide--helical-head-cutter-3ph-230v>: HTTP status code is not handled or not allowed 2026-01-28 10:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x18-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorilla-sleeve-high-abrasion-150-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-28 10:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-two-socket-cross-1>: HTTP status code is not handled or not allowed 2026-01-28 10:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x15-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x12-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flo-pac-dust-mop-handle-60-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2flexo-pet-general-purpose-sleeving-dia-200-green>: HTTP status code is not handled or not allowed 2026-01-28 10:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-type-needle-roller-bearing-inch-double-sealed-2-bore-2-9-16-od>: HTTP status code is not handled or not allowed 2026-01-28 10:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2flexo-pet-general-purpose-sleeving-dia-50-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-fabric-heat-shrink-158-diameter-dia-25-black>: HTTP status code is not handled or not allowed 2026-01-28 10:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rm20-30f-stencil-ink-hand-roller-3-w>: HTTP status code is not handled or not allowed 2026-01-28 10:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kcc620-lockout-look-n-stop-compact-group-lock-box-plastic>: HTTP status code is not handled or not allowed 2026-01-28 10:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-1-w-x-3-8-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-28 10:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-handrail-socket-2>: HTTP status code is not handled or not allowed 2026-01-28 10:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mchl168va-danger-sign-oxygen-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 10:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/add-on-single-handrail-socket-2>: HTTP status code is not handled or not allowed 2026-01-28 10:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/efp-e-auto-darkening-welding-helmet-9-13-variable-shade-judgement-day-graphic>: HTTP status code is not handled or not allowed 2026-01-28 10:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-threaded-aluminum-handle-1d-60>: HTTP status code is not handled or not allowed 2026-01-28 10:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x20-1-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flo-pac-utility-scrub-brush-with-nylon-bristles-8-white>: HTTP status code is not handled or not allowed 2026-01-28 10:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-bet153-ii-foaming-disinfectant-citrus-scent-676-oz-bottle-4case>: HTTP status code is not handled or not allowed 2026-01-28 10:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coxreels-ez-sh-450-hv-1-2inx50ft-300psi-ez-coil-safety-heavy-duty-spring-retractable-low-pressure>: HTTP status code is not handled or not allowed 2026-01-28 10:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infusion-series-tea-and-coffee-brewers-tall-booster>: HTTP status code is not handled or not allowed 2026-01-28 10:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2flexo-pet-general-purpose-sleeving-dia-200-red>: HTTP status code is not handled or not allowed 2026-01-28 10:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-all-purpose-cleaner--odor-eliminator-lemon--sage-scent-32-oz-bottle-12case>: HTTP status code is not handled or not allowed 2026-01-28 10:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x6-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uvi-stretch-film-black-with-handles-1000l-x-20w-x-80-gauge-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-coffee-ambient-dispenser-344000026>: HTTP status code is not handled or not allowed 2026-01-28 10:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanical-edge-of-dock-leveler-72-usable-w-94-overall-w-20-000-lb-cap-986635>: HTTP status code is not handled or not allowed 2026-01-28 10:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-12-l-x-1-w-x-1-8-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 10:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-5-x-13-white-shopping-bag>: HTTP status code is not handled or not allowed 2026-01-28 10:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/280-250-4-flat-free-jag-tread-3-centered-1-2-ball-bearings>: HTTP status code is not handled or not allowed 2026-01-28 10:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x8-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-beverage-dispenser-35-gal>: HTTP status code is not handled or not allowed 2026-01-28 10:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jat-751-3-4-x-20-1-2-mini-belt-sander-r8-series-18-000-rpm-90-psi-4-2-cfm>: HTTP status code is not handled or not allowed 2026-01-28 10:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x10-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 92808 pages (at 98 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-juice-beverage-system-portion-control-jdf-4s-pc-ld-373000023>: HTTP status code is not handled or not allowed 2026-01-28 10:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lip-and-tape-seal-bubble-pouch-4-x-712-x-316-with-112-lip-seal-clear-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/275-cable-climbing-system-top-ext-38-dia-1x7-strands-galvanized-steel-cable>: HTTP status code is not handled or not allowed 2026-01-28 10:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jct-2611-8-air-rivet-buster-made-in-usa-1-140-bpm-90-psi-44-cfm>: HTTP status code is not handled or not allowed 2026-01-28 10:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-6-l-x-6-w-x-3-16-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 10:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Sunex-12-ton-shop-press>: HTTP status code is not handled or not allowed 2026-01-28 10:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-24-l-x-1-2-w-x-1-2-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-750i-w-series-30-i-bar-sealer-with-film-roller-round-wire>: HTTP status code is not handled or not allowed 2026-01-28 10:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5400083-round-file-8-smooth-cut>: HTTP status code is not handled or not allowed 2026-01-28 10:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reservoir-bottle-with-bottom-hose-outlet-10-liter>: HTTP status code is not handled or not allowed 2026-01-28 10:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ray-sorb-gl-45-media-bottle-10-liter>: HTTP status code is not handled or not allowed 2026-01-28 10:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saf-t-stor-cylinder-cabinet-58-inch-w-x-29-inch-d-x-66-inch-h-capacity-8-horizontal-9-vertical-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 10:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x10-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crystallizing-dishes-125x65mm-case-of-12>: HTTP status code is not handled or not allowed 2026-01-28 10:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5450042-half-round-file-4-second-cut>: HTTP status code is not handled or not allowed 2026-01-28 10:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-with-partial-window-48-x-60-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-loading-deposit-safe-electronic-lock-14-w-x-14-d-x-20-h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-load-binder-fits-516-to-38-chains-5400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-double-handle-strap-winder>: HTTP status code is not handled or not allowed 2026-01-28 10:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-quart-fountain-jar-p9700bk>: HTTP status code is not handled or not allowed 2026-01-28 10:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-type-foam-cup-dispenser-c4200pf>: HTTP status code is not handled or not allowed 2026-01-28 10:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matte-film-5-mil-36-x-125-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-ultra-whisper-jet-36-alum-ext-alum-nozzle-long-trigger>: HTTP status code is not handled or not allowed 2026-01-28 10:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-floor-scrubber-replacement-pads-10-3-4-x-5-1-4-green-1260>: HTTP status code is not handled or not allowed 2026-01-28 10:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-lazer-pistol-grip-36-alum-ext-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 10:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-locking-wire-wall-bracket-for-2-gallon-sharps-container-chrome>: HTTP status code is not handled or not allowed 2026-01-28 10:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s3636s-stainless-steel-wire-shelf-36w-x-36d>: HTTP status code is not handled or not allowed 2026-01-28 10:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-sheet-96-l-x-54-w-x-1-2-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-28 10:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-sheet-96-l-x-54-w-x-1-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 10:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-sided-wire-frame-18x24-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-28 10:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/entrance-mat-3-8-thick-4-x-8-gray-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/entrance-mat-3-8-thick-3-x-10-blue-black>: HTTP status code is not handled or not allowed 2026-01-28 10:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-grid-panel-60-x-36-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 10:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-grid-panel-48-x-48-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 10:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-flat-poly-bags-4w-x-6l-4-mil-blue-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 10:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/st-4060-tarp-14x14-weave-40-x-60-silverblack>: HTTP status code is not handled or not allowed 2026-01-28 10:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prison-bench-6-foot-composite-lumber-seating-without-backrest-cedar>: HTTP status code is not handled or not allowed 2026-01-28 10:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-12-l-x-3-4-w-x-1-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 10:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-6-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 10:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-9-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 10:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/121-infrared-thermometer-20-to-537c-4-to-999f-alarm-min-max-memory>: HTTP status code is not handled or not allowed 2026-01-28 10:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-2000-specific-gravity-and-0-70-degree-baume-dual-scale-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 10:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bt-1220-all-purpose-tarp-12-x-20-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-7-8-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 10:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dn-10040-debris-safety-netting-12-ft-x-300-ft-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-26-white-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 10:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-outward-swing-partition-door-23-5-8in-w-x-58in-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-polygon-magnetic-stirring-bar-x-5-16-white-without-pivot-ring>: HTTP status code is not handled or not allowed 2026-01-28 10:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-sheet-6-l-x-6-w-x-1-2-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-28 10:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0700-1000-specific-gravity-and-10-70-degree-baume-dual-scale-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 10:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-3-panel-corner-room-divider-with-partial-window-60-x-43-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-with-shoe-8in-w-x-82in-h-almond>: HTTP status code is not handled or not allowed 2026-01-28 10:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-12-lazer-steel-extension-with-venturi>: HTTP status code is not handled or not allowed 2026-01-28 10:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-36607ep-60w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-air-foam-rolls-18w-x-1250l-x-116-thick-white-4-rolls>: HTTP status code is not handled or not allowed 2026-01-28 10:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-stack-rack-60-w-x-42-d-x-48-h-1>: HTTP status code is not handled or not allowed 2026-01-28 10:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-48-l-x-3-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 10:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-tl224-suregrip-silicone-test-leads-cat-iv-600-v-cat-iii-1000-v-10-a-rating-ul-listed>: HTTP status code is not handled or not allowed 2026-01-28 10:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-quik-lok-extension-48-28-1030>: HTTP status code is not handled or not allowed 2026-01-28 10:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-36-l-x-1-2-id-x-13-16-od-white>: HTTP status code is not handled or not allowed 2026-01-28 10:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-e-pak-950-6-pocket-paint-booth-exhaust-final-filter-24-in-x-24-in-x-15-in>: HTTP status code is not handled or not allowed 2026-01-28 10:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-cu-yd-orange-medium-duty-hopper-986661>: HTTP status code is not handled or not allowed 2026-01-28 10:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-289-fvf-true-rms-logging-multimeter-combo-kit-w-trendcapture>: HTTP status code is not handled or not allowed 2026-01-28 10:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-hydraulic-jack-25-ton-min-height-14-2-max-height-24-1-25-1h>: HTTP status code is not handled or not allowed 2026-01-28 10:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-tls430-test-leads-alligator-clips-safety-rating-cat-iii-1000-v-cat-iv-600-v>: HTTP status code is not handled or not allowed 2026-01-28 10:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pennsylvania-7600-series-hdhigh-resolution-counting-scale-100-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-fluid-extractor-2-3-gallon-mv7300>: HTTP status code is not handled or not allowed 2026-01-28 10:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/head-bearing-packer-102891>: HTTP status code is not handled or not allowed 2026-01-28 10:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/realiti-workcenter-stationary-includes-stainless-steel-top-monaco-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/case-sealing-machine-side-belt-drive>: HTTP status code is not handled or not allowed 2026-01-28 10:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-mid-back-chair-fabric-gray-tweed-captain-series>: HTTP status code is not handled or not allowed 2026-01-28 10:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3000-3499-wired-inventory-tag-2-part-carbonless-stub-style>: HTTP status code is not handled or not allowed 2026-01-28 10:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-air-foam-rolls-36w-x-1250l-x-116-thick-white-2-rolls>: HTTP status code is not handled or not allowed 2026-01-28 10:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-3w-6l-2-ply-endless-poly-flat-web-sling>: HTTP status code is not handled or not allowed 2026-01-28 10:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-1000-containment-sump-1100-gallon-capacity-with-2in-drain>: HTTP status code is not handled or not allowed 2026-01-28 10:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-60-l-x-9-16-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 10:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-vci-paper-30-lbs-24w-x-200-yd-kraft-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4-x-2-7-8-7-light-green-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-28 10:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-vespa-946-scooter-battery-2013-2016-10-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-28 10:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-36-l-x-3-4-id-x-1-1-2-od-white>: HTTP status code is not handled or not allowed 2026-01-28 10:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispensing-drop-185ml-6oz-polyethylene-bottles-24mm-closure-12pk>: HTTP status code is not handled or not allowed 2026-01-28 10:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crinkle-paper-10-lbs-french-vanilla>: HTTP status code is not handled or not allowed 2026-01-28 10:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-3-4-x-1-7-8-3-red-strung-tag>: HTTP status code is not handled or not allowed 2026-01-28 10:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/connexion-u-shaped-workstation-in-sandstone-slate>: HTTP status code is not handled or not allowed 2026-01-28 10:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euro-drawer-5-9-16w-x-17-5-8d-x-4-5-8h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-4w-8l-1-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-28 10:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbis-stakpak-modular-straight-wall-container-24l-x-15w-x-7-12h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-easy-read-general-purpose-liquid-in-glass-thermometer-10-to-225c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 10:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-21607gz-60w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-48-l-x-4-w-x-3-4-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-28 10:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-60-x-30-adj-height-workbench-w-drawer-black-shop-top-safety-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 10:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-sheet-36-l-x-36-w-x-3-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 10:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-21546gz-54w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluorescent-ruler-metric-english-scale-15cm-6>: HTTP status code is not handled or not allowed 2026-01-28 10:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-24-l-x-1-1-4-id-x-1-3-4-od-white>: HTTP status code is not handled or not allowed 2026-01-28 10:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-rack-24x36x60-with-48-blue-drawers>: HTTP status code is not handled or not allowed 2026-01-28 10:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4-x-2-7-8-7-orange-fluorescent-tag>: HTTP status code is not handled or not allowed 2026-01-28 10:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-4-x-1-5-8-2-red-fluorescent-strung-tag>: HTTP status code is not handled or not allowed 2026-01-28 10:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-60-l-x-1-3-8-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 10:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 92907 pages (at 99 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-72-x-30-adj-height-workbench-w-drawer-riser-bk-plastic-laminate-safety-top>: HTTP status code is not handled or not allowed 2026-01-28 10:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-4-x-3-1-8-8-yellow-fluorescent-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 10:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-rack-12x36x60-with-24-blue-drawers>: HTTP status code is not handled or not allowed 2026-01-28 10:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-12l-1-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-28 10:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-enviro-safe-liquid-in-glass-pocket-thermometer-10-to-110c-closed-metal-case>: HTTP status code is not handled or not allowed 2026-01-28 10:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-easy-read-general-purpose-liquid-in-glass-thermometer-10-to-110c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 10:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drumquik-pro-coupler>: HTTP status code is not handled or not allowed 2026-01-28 10:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-ibc-transfer-system-8-gpm-pump-w-12-hose-automatic-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 10:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flaskup-polypropylene-flask-holders-assortment-12pk>: HTTP status code is not handled or not allowed 2026-01-28 10:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-64-1-2-x-12-x-8-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-48-l-x-1-w-x-1-4-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-28 10:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-12-l-x-4-w-x-1-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 10:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-outdoor-cafe-table-designer-white-phenolic-top-silver-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-mini-round-step-can-1-1-5-gallon-brushed-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw12guu-op-open-linear-bearing-wresin-retainer-and-seals-34id-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n316rb-osha-sign-notice-no-solicitation-or-distribution-of-materials-10-by-14-wht-blu-blk>: HTTP status code is not handled or not allowed 2026-01-28 10:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghs-labeled-safety-vented-ethyl-acetate-wash-bottles-500ml-16oz-pe-w-green-pp-cap-4pk>: HTTP status code is not handled or not allowed 2026-01-28 10:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-1-5-8-4-hole-90-176-fitting-p1325eg-electro-galvanized-pkg-qty-20>: HTTP status code is not handled or not allowed 2026-01-28 10:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-finned-strip-120v-t4-14l-750w>: HTTP status code is not handled or not allowed 2026-01-28 10:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-liquid-in-glass-thermometer-cup-case-wood-brass>: HTTP status code is not handled or not allowed 2026-01-28 10:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-steel-immersion-2-290d-5000w-240v>: HTTP status code is not handled or not allowed 2026-01-28 10:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-24-l-x-4-w-x-3-8-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 10:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-marker-oil-based-fine-black-ink>: HTTP status code is not handled or not allowed 2026-01-28 10:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-marker-oil-based-medium-yellow-ink>: HTTP status code is not handled or not allowed 2026-01-28 10:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-16c-high-softening-point-30-to-200c>: HTTP status code is not handled or not allowed 2026-01-28 10:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mro-industrial-enamel-20-oz-safety-blue-6-cans-case-620-1427>: HTTP status code is not handled or not allowed 2026-01-28 10:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-compact-plastic-stacking-chair-880-lb-capacity-gray-hercules-series>: HTTP status code is not handled or not allowed 2026-01-28 10:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-12-l-x-1-w-x-1-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 10:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-semi-round-plastic-step-can-13-gallon-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x12-2-mil-white-block-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/executive-swivel-chair-mid-back-leather-white>: HTTP status code is not handled or not allowed 2026-01-28 10:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spruce-general-use-spray-paint-16-oz-red-iron-primer-12-can-case-98-26>: HTTP status code is not handled or not allowed 2026-01-28 10:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18w-single-sided-wall-frame-add-on>: HTTP status code is not handled or not allowed 2026-01-28 10:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelf-additional-level-60w-x-24d-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 10:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-t-handle-black-24x24x36>: HTTP status code is not handled or not allowed 2026-01-28 10:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-33c-low-aniline-point-38-to-42c>: HTTP status code is not handled or not allowed 2026-01-28 10:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-direct-draw-dispensers-dd-59w-dd58c>: HTTP status code is not handled or not allowed 2026-01-28 10:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-20-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-refrigerator-drawers-ucrd-29d-48w-ucrd48a-2>: HTTP status code is not handled or not allowed 2026-01-28 10:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-wall-freestanding-cabinet-35w-x-18d-x-84-1-4h-2-glass-doors-5-adj-shelves-champagne>: HTTP status code is not handled or not allowed 2026-01-28 10:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-3-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelf-additional-level-60w-x-18d-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 10:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-48-l-x-24-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n50h25rr100n-jafrib-standard-nitrile-fire-hose-2-12-x-100-ft-300-psi-red>: HTTP status code is not handled or not allowed 2026-01-28 10:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-narrow-cabinet-4-drawer-18w-x-24d-x-33h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wire-shelves-utility-cart-2-casters-w-brakes-chrome-21-w-x-30-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-door-back-bar-refrigerator-bb-g-72w-bb72g>: HTTP status code is not handled or not allowed 2026-01-28 10:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-general-purpose-liquid-in-glass-thermometer-40-to-120f-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 10:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wire-shelves-utility-cart-chrome-21-w-x-30-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-2-w-x-1-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-21-liter-drum-and-carboy-funnel>: HTTP status code is not handled or not allowed 2026-01-28 10:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-precision-liquid-in-glass-thermometer-1-to-51c-76mm-immersion-organic-liquid-fill>: HTTP status code is not handled or not allowed 2026-01-28 10:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wire-shelves-utility-cart-chrome-18-w-x-42-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din39st-steel-fixed-handle-wthreaded-stud-25mm-diameter-80mm-length-m10x15>: HTTP status code is not handled or not allowed 2026-01-28 10:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-12-l-x-12-w-x-5-8-thick-black-bulk-ps-acb-1865>: HTTP status code is not handled or not allowed 2026-01-28 10:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-3u-vrack>: HTTP status code is not handled or not allowed 2026-01-28 10:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-tensioner-for-3-4-to-1-1-4-steel-strapping-s-298>: HTTP status code is not handled or not allowed 2026-01-28 10:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wire-shelves-utility-cart-chrome-21-w-x-36-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-30-green-tissue-paper>: HTTP status code is not handled or not allowed 2026-01-28 10:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-30-10-economy-tissue>: HTTP status code is not handled or not allowed 2026-01-28 10:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-2-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-30-basis-weight-kra-paper>: HTTP status code is not handled or not allowed 2026-01-28 10:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-and-poly-bag-clear-6-x-3-x-15-3-5-quart-68-mil-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-72w-x-24d-x-63h-4-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 10:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-16-drawers-maple>: HTTP status code is not handled or not allowed 2026-01-28 10:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-defibrillatoraed-semirecessed-cabinet-with-alarm>: HTTP status code is not handled or not allowed 2026-01-28 10:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-performance-caster-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-48w-x-18d-x-63h-4-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 10:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-24-plastic-square-edge-double-3-drawer>: HTTP status code is not handled or not allowed 2026-01-28 10:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-protective-product-sj5012-cylindrical-0-500-w-x-0-140-l-white-pkg-of-3000>: HTTP status code is not handled or not allowed 2026-01-28 10:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-maple-square-edge-double-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 10:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelf-additional-level-72w-x-24d-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 10:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-1u-dring-cable-management-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-8u-security-wall-rack-enclosure>: HTTP status code is not handled or not allowed 2026-01-28 10:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-connector-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-9c-low-pensky-martens-5-to-110c>: HTTP status code is not handled or not allowed 2026-01-28 10:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-protective-product-sj5009-cylindrical-0-880-w-x-0-400-l-gray-pkg-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 10:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-60w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-resiliant-rollstock-sj5908-4-1-2-x-36-yds-black-1-8-thick-70006459716>: HTTP status code is not handled or not allowed 2026-01-28 10:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-6ft-nyl-glo-us-flag-with-embroidered-stars-lock-stitching>: HTTP status code is not handled or not allowed 2026-01-28 10:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-protective-product-sj5523-square-0-812-w-x-0-300-l-black-pkg-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 10:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-washer-for-pipette-pump-green-pipettors>: HTTP status code is not handled or not allowed 2026-01-28 10:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-42w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-programmable-thermostat-24v-heat-or-cool-only>: HTTP status code is not handled or not allowed 2026-01-28 10:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-24-l-x-12-w-x-2-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 10:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-2-w-x-1-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 10:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-24w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05-904-outdoor-noodles-beef-2-servings-pouch-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precisionware-wide-mouth-500ml-16oz-autoclavable-polypropylene-bottles-pp-cap-12pk>: HTTP status code is not handled or not allowed 2026-01-28 10:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-100es-spherical-plain-bearing-metric>: HTTP status code is not handled or not allowed 2026-01-28 10:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gaz-304sa-spherical-plain-thrust-bearing-angular-contact-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riteflow-aluminum-mounted-flowmeter-65mm-scale-size-4>: HTTP status code is not handled or not allowed 2026-01-28 10:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5362-igg-20-amp-125v-heavy-duty-grade-duplex-receptacle-isolated-ground-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-60w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gem-50es-2rs-spherical-plain-bearing-metric-extended-inner-ring-sealed>: HTTP status code is not handled or not allowed 2026-01-28 10:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-72w-x-30d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-electric-baseboard-convection-heater-28-l-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-1200-1420-specific-gravity-combined-form-thermo-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 10:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93005 pages (at 98 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-69-81-degree-api-combined-form-thermo-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 10:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-42w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-polyethylene-approved-feed-bunk-with-round-ends-120l-x-31w-x-20h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-36w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-42w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-merchandising-strips-12-stations-white>: HTTP status code is not handled or not allowed 2026-01-28 10:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boot-system-magnetic-base-sign-holder-system-12l-x-2-14w-white>: HTTP status code is not handled or not allowed 2026-01-28 10:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chem-crest-14-general-purpose-wash-solution-55-gallon-drum-700014d>: HTTP status code is not handled or not allowed 2026-01-28 10:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-42w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radiant-ceiling-panel-375w-208v>: HTTP status code is not handled or not allowed 2026-01-28 10:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-4-w-x-3-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 10:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sv2z-economy-class-2-mesh-safety-vest-with-zipper-hi-viz-orange-s>: HTTP status code is not handled or not allowed 2026-01-28 10:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-unit>: HTTP status code is not handled or not allowed 2026-01-28 10:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-flexible-teflon-magnetic-stirring-bar-retriever-13-length-165-x-53mm-white>: HTTP status code is not handled or not allowed 2026-01-28 10:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-3-w-x-1-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 10:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-3-w-x-1-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 10:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-labeled-4-color-distilled-water-wm-wash-bottles-500ml-16oz-pe-w-blue-pp-cap-4pk>: HTTP status code is not handled or not allowed 2026-01-28 10:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sv4-class-2-5-pt-breakaway-solid-vest-hi-viz-green-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-steel-short-emergency-cart-lever-lock-red>: HTTP status code is not handled or not allowed 2026-01-28 10:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-25es-2rs-spherical-plain-bearing-metric-sealed>: HTTP status code is not handled or not allowed 2026-01-28 10:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spirit-display-case-navy-base-satin-fr-mirror-back-48w-16d-72h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louvered-wall-panel-without-bins-36x12>: HTTP status code is not handled or not allowed 2026-01-28 10:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eight-section-seat-locker>: HTTP status code is not handled or not allowed 2026-01-28 10:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eight-section-space-saver-locker>: HTTP status code is not handled or not allowed 2026-01-28 10:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/salt-brine-shatterproof-plastic-hydrometer-0-80-percent-by-saturation>: HTTP status code is not handled or not allowed 2026-01-28 10:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gez-412es-2rs-spherical-plain-bearing-inch-sealed>: HTTP status code is not handled or not allowed 2026-01-28 10:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-earth-friendly-long-handle-sampling-spoon-493ml-1-tsp-pla-resin-10pk>: HTTP status code is not handled or not allowed 2026-01-28 10:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-kive-letter-legal-box-12-3-4w-x-16-1-2d-x-10-3-8h-white-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versatile-storage-unit-36h-x-18d>: HTTP status code is not handled or not allowed 2026-01-28 10:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secador-vertical-profile-clear-40-auto-desiccator-cabinet-100v-19-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 10:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liberty-check-and-form-boxes-11w-x-24d-x-5h-white-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jr0111id-half-frame-safety-glasses-clear-anti-fog-lens-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liberty-check-and-form-boxes-9-1-2w-x-23-3-4d-x-4-1-2h-white-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geg-20es-spherical-plain-bearing-metric-extended-inner-ring>: HTTP status code is not handled or not allowed 2026-01-28 10:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tip-me-not-25-tray-storage-without-trays>: HTTP status code is not handled or not allowed 2026-01-28 10:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-general-purpose-polyethylene-tray-without-faucet-16-x-20-x-3>: HTTP status code is not handled or not allowed 2026-01-28 10:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-check-valves-3-8-to-1-2-tapered-end-diameter-polypropylene-6pk>: HTTP status code is not handled or not allowed 2026-01-28 10:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-steel-guard-rail-with-toeboard-42-h-x-120-l>: HTTP status code is not handled or not allowed 2026-01-28 10:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-guard-rail-connection-tube-96-l-pairs>: HTTP status code is not handled or not allowed 2026-01-28 10:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saturn-spinbar-teflon-magnetic-stirring-bar-50mm-white>: HTTP status code is not handled or not allowed 2026-01-28 10:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concentrate-grass-weed-killer-2-1-2-gallon-bottle-2-bottles-case-75325>: HTTP status code is not handled or not allowed 2026-01-28 10:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-3000-medium-outdoor-waterproof-case-w-o-foam-insert-14-1-4-l-x-11-3-4-w-x-6-3-4h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/space-wall-system-wire-grid-panel-gray-epoxy-36w-x-72l>: HTTP status code is not handled or not allowed 2026-01-28 10:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-2-1-2-w-x-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 10:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-orbiter-floor-machine-12-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-48w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-12-inch-cleaning-pad-green>: HTTP status code is not handled or not allowed 2026-01-28 10:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinplus-teflon-magnetic-stirring-bar-381-x-158mm-white>: HTTP status code is not handled or not allowed 2026-01-28 10:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-comvac-disposable-bags>: HTTP status code is not handled or not allowed 2026-01-28 10:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-grid-dump-bin-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 10:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-v-stand-with-23-to-38-1-2-height-range-1760-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9533-8-inch-axial-ac-plastic-blower>: HTTP status code is not handled or not allowed 2026-01-28 10:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plano-prolatch-8482-stowaway-174-organizer-13-fixed-compartment-box-14-w-x-9-1-8-d-x-2-h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9600-500-500-lay-flat-ducting-fits-16-inch-and-20-inch-blowers>: HTTP status code is not handled or not allowed 2026-01-28 10:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-square-grid-dump-bin-chrome>: HTTP status code is not handled or not allowed 2026-01-28 10:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-42w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9536-50-8-inch-axial-dc-plastic-blower-w-canister-50-ducting-12v>: HTTP status code is not handled or not allowed 2026-01-28 10:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-pvc-presentation-covers-oversized-11-1-4-x-8-3-4-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-blue-low-profile-strobe-light-12v-6-leds-8891904>: HTTP status code is not handled or not allowed 2026-01-28 10:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-72w-x-36d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/campbell-hausfeld-ce3001-5-hp-two-stage-compressor-80-gal-vert-175-psi-14-cfm-3-phase-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 10:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-30w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-grid-hook-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 10:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-1-1-2-w-x-1-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 10:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-14365b-36w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-vented-steel-locker-single-tier-24x24x74-1-door-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 10:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-tool-rack-enclosed-trailer-lt37>: HTTP status code is not handled or not allowed 2026-01-28 10:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-polygon-magnetic-stirring-bar-7-8-x-3-16-white-without-pivot-ring>: HTTP status code is not handled or not allowed 2026-01-28 10:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recyclockout-lockout-tagout-kit-12-component-valve-lockout-7120>: HTTP status code is not handled or not allowed 2026-01-28 10:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-15w-x-18d-x-36h-unassembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 10:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-14608b-60w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-21725b-72w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lkav2031cr-avado-semiprofessional-kitchen-faucet-chrome-single-lever-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-highlighter-chisel-tip-pocket-clip-fluorescent-orange-dozen>: HTTP status code is not handled or not allowed 2026-01-28 10:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-adder-1-wide-12w-x-18d-x-24h-unassembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 10:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24w-x-12d-x-4h-shallow-basket-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 10:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-72-l-x-1-4-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 10:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-sampling-spoon-25ml-008oz-sterile-plastic-individually-wrapped-100pk>: HTTP status code is not handled or not allowed 2026-01-28 10:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-60-l-x-36-w-x-1-4-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-28 10:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wall-ready-white-pegboards-24-w-x-1-4-d-x-42-h-heavy-duty-high-density-fiberboard>: HTTP status code is not handled or not allowed 2026-01-28 10:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-14728b-72w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/143006-glm-rope-pull-switch-we-stops-2nc-1no-12npt>: HTTP status code is not handled or not allowed 2026-01-28 10:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/180017-seu-td-1-relay-std-screw-terminals-230v>: HTTP status code is not handled or not allowed 2026-01-28 10:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-2-in-d-paper-towel-holder-1-2-in-dia-zinc-plated-steel-pegboard-hook-for-locboard-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-deluxe-hook-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 10:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valusweep-magnetic-sweep-bar-attachment-60-w>: HTTP status code is not handled or not allowed 2026-01-28 10:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-poxygrid-centrifuge-tube-rack-for-250ml-tubes-6-places>: HTTP status code is not handled or not allowed 2026-01-28 10:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-120-l-x-1-2-w-x-1-16-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 10:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4620ac-22060-ultra-quiet-oil-free-2-0-hp-4-0-gal-air-compressor220v>: HTTP status code is not handled or not allowed 2026-01-28 10:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-36-plastic-square-edge-mobile-lab-bench>: HTTP status code is not handled or not allowed 2026-01-28 10:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-gal-steel-decorative-rectangular-waste-receptacle-stainless-steel-clrc40-ss>: HTTP status code is not handled or not allowed 2026-01-28 10:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60040dcadc-ultra-quiet-ultra-dry-oil-free-4-0-hp-60-0-gal-air-compressor>: HTTP status code is not handled or not allowed 2026-01-28 10:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-bar-36-l-x-1-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 10:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-starter-1-wide-12w-x-12d-x-24h-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-60-l-x-36-w-x-1-8-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-28 10:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x30-safety-anti-static-pedestal-workbench-with-9-drawers>: HTTP status code is not handled or not allowed 2026-01-28 10:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-w-push-trolley-1-2-ton-15-lift-25-4-2-ft-min-460v>: HTTP status code is not handled or not allowed 2026-01-28 10:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-polypropylene-rimless-45ml-centrifuge-tubes-104mm-12pk>: HTTP status code is not handled or not allowed 2026-01-28 10:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-plastic-safety-edge-mobile-production-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93104 pages (at 99 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/142006-b-gls-rope-pull-switch-2nc-1no-110120v-ac-die-cast>: HTTP status code is not handled or not allowed 2026-01-28 10:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-steel-blouse-and-dress-hanger-w-loop-hook-chrome>: HTTP status code is not handled or not allowed 2026-01-28 10:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-maple-safety-edge-mobile-production-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-1-8-ton-15-lift-56-9-3-ft-min-115v>: HTTP status code is not handled or not allowed 2026-01-28 10:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12l-x-11-3-4w-mdf-melamine-shelf-for-t502sc-hard-rock-maple>: HTTP status code is not handled or not allowed 2026-01-28 10:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-12w-x-12d-x-30h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 10:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-acetal-sheet-48-l-x-24-w-x-3-8-thick-off-white-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 10:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-floor-standing-costumer-w-hanger-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 10:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-w-push-trolley-1-2-ton-10-lift-25-4-2-ft-min-115v>: HTTP status code is not handled or not allowed 2026-01-28 10:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-single-tier-locker-2-wide-12w-x-12d-x-60h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-single-sided-add-on-unit-medium-duty-6>: HTTP status code is not handled or not allowed 2026-01-28 10:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/CVT-2424-24-W-x-24-D-16-ga-Stainless-Steel-Workbench-w-Shelf>: HTTP status code is not handled or not allowed 2026-01-28 10:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-attach-polymagnet-rare-earth-ring-magnet-1-00-o-d-x-0-186-i-d-x-0-12-thick>: HTTP status code is not handled or not allowed 2026-01-28 10:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-36-w-x-3-32-thick-black-high-strength-80a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 10:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-single-sided-add-on-unit-medium-duty-4>: HTTP status code is not handled or not allowed 2026-01-28 10:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stem-caster-set-esd-5-polyurethane-2-swivel-2-brake-1200-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-12w-x-12d-x-30h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-mouth-2-l-1-2-gal-polypropylene-mason-jars-3pk>: HTTP status code is not handled or not allowed 2026-01-28 10:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jewel-174-adjustable-elastic-wrist-strap-09105-white>: HTTP status code is not handled or not allowed 2026-01-28 10:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jewel-174-magsnap-174-coil-cord-20-ft-09182-thermoplastic-elastomer-black>: HTTP status code is not handled or not allowed 2026-01-28 10:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-non-slip-hanger-w-swivel-hook-black>: HTTP status code is not handled or not allowed 2026-01-28 10:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-layer-rubber-mat-66226-with-ground-30-d-x-72-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-non-slip-hanger-w-loop-hook-white>: HTTP status code is not handled or not allowed 2026-01-28 10:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-12w-x-15d-x-36h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-3-8-thick-black-high-strength-90a-bulk-rs-h90-33>: HTTP status code is not handled or not allowed 2026-01-28 10:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-security-cabinet-bench-maple-square-edge-2>: HTTP status code is not handled or not allowed 2026-01-28 10:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coil-cord-6-ft-09480-thermoplastic-elastomer-snap-socket-black>: HTTP status code is not handled or not allowed 2026-01-28 10:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-3-16-thick-black-high-strength-80a-acrylic-adhesive-bulk-rs-h80-58>: HTTP status code is not handled or not allowed 2026-01-28 10:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-ball-waterfall-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 10:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-w-shoulder-10-32-5-16-thread-1-2-head-dia-steel-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 10:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-grid-hook-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 10:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trustat-b80-16310-vinyl-mat-with-ground-24-d-x-36-w-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-center-shelf-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-carrying-case-with-customizable-foam-int-15-7-inch-x12-6-inch-x7-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-60x36-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curved-glass-deli-case-with-rear-storage-77-12w-x-43-38d-x-47-14h>: HTTP status code is not handled or not allowed 2026-01-28 10:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-60x24-steel-deck>: HTTP status code is not handled or not allowed 2026-01-28 10:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-1611-55-squared-packet-organizer-9-1-4-inch-w-x-4-1-2-inch-d-x-2-inch-h-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-1440-l-x-36-w-x-3-32-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-28 10:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-w-shoulder-10-32-1-2-thread-1-2-head-dia-stainless-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 10:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-793-wall-mount-scoop-holder-64-oz-polycarbonate-7-1-2-inch-w-x-6-7-8-inch-d-x-13-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 10:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-40-winterized-insert-for-3100-series-14-l-x-22-w-x-3-h>: HTTP status code is not handled or not allowed 2026-01-28 10:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-1425-6-96-midnight-cylinder-display-6-compartment-16-inch-w-x-11-inch-d-x-6-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 10:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patio-bar-height-stools-all-weather-textilene-sling-fabric-seat-back-black-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-2-drum-spill-containment-platform>: HTTP status code is not handled or not allowed 2026-01-28 10:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/220-ac-dc-tig-welder-package-120-230v-5-220a-60hz-green>: HTTP status code is not handled or not allowed 2026-01-28 10:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-36-l-x-36-w-x-3-32-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-28 10:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30654-valve-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4406t-5-150-hp-1785-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-wire-laundry-cart-double-hanger>: HTTP status code is not handled or not allowed 2026-01-28 10:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-desktop-organizer-11-sections-black>: HTTP status code is not handled or not allowed 2026-01-28 10:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/osc-25-oil-water-separator-53-cfm-10-ppm-3-8-npt-outlet-organoclay>: HTTP status code is not handled or not allowed 2026-01-28 10:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-248ledmb240a-48-mm-led-stacklight-module-blue-240v-ac>: HTTP status code is not handled or not allowed 2026-01-28 10:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-tht-250-494-pk-b-494-color-polyester-labels-0-5-h-x-1-w-pink-white-3000-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-120-l-x-1-4-w-x-3-32-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 10:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-plate-clamp-li-ing-attachment-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-150444-prop-65-regulatory-sign-wood-working-10-x-7-polyester-black-on-white>: HTTP status code is not handled or not allowed 2026-01-28 10:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klin-desk-33wx19d-ash-seven-series>: HTTP status code is not handled or not allowed 2026-01-28 10:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-m-131-494-pk-b-494-color-polyester-labels-1-h-x-0-5-w-pink-white-180-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-2705w120v25pk-5w-incandescent-bulb-for-70-mm-stacklight-120v-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-drive-motor-1-4-hp-1725-rpm-115v-tenv>: HTTP status code is not handled or not allowed 2026-01-28 10:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-150852-toughstripe-174-floor-tape-applicator-steel-blue-15-w-x-10-d-x-20-h>: HTTP status code is not handled or not allowed 2026-01-28 10:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cl3711t-10-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30630-spacer-134-mm-od-x-1001-mm-id-x-32-mm-thick-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fans-motor-1-3-hp-825-rpm-208-230v-teao-extended-studs>: HTTP status code is not handled or not allowed 2026-01-28 10:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28394-random-orbital-sander-muffler-kit-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-oscillating-desk-fan-2>: HTTP status code is not handled or not allowed 2026-01-28 10:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-lb-steel-strapping-1-2-w-x-020-thick>: HTTP status code is not handled or not allowed 2026-01-28 10:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20216-random-orbital-sander-drop-in-motor-3-332-orbit-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-nyl-blk-38st-ka6pk-safekey-lockout-padlock-nylon-1-5-steel-shackle-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 10:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fans-motor-1-2-hp-1075-rpm-208-230v-teao-48y-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-150458-prop-65-regulatory-sign-service-station-14-x-10-aluminum-black-on-white>: HTTP status code is not handled or not allowed 2026-01-28 10:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-j20-262-2595-153-vinyl-label-6-10-h-x-4-13-w-200-roll-white>: HTTP status code is not handled or not allowed 2026-01-28 10:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3661t-3-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms90-b2040-90-shade-cloth-shade-tarp-20-x-40>: HTTP status code is not handled or not allowed 2026-01-28 10:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circulator-pump-motor-1-2-hp-1725-rpm-115-208-230v-odp-y56yz-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-lube-1-qt>: HTTP status code is not handled or not allowed 2026-01-28 10:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-medium-narcotics-cabinet-double-door-double-lock-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-stand-up-washers-5-16>: HTTP status code is not handled or not allowed 2026-01-28 10:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4106t-20-hp-3540-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4108t-30-hp-3520-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-248ledmw24ad-48-mm-led-stacklight-module-white-24v-acdc>: HTTP status code is not handled or not allowed 2026-01-28 10:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cwdm3537-5-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-yellow-step-stand-3-step-welded-ssa-3-y>: HTTP status code is not handled or not allowed 2026-01-28 10:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledg240v-led-bulb-green-240v>: HTTP status code is not handled or not allowed 2026-01-28 10:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-6-bu-black-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 10:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4110t-40-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledsg240a-smd-steady-led-module-and-light-source-green-240v-ac>: HTTP status code is not handled or not allowed 2026-01-28 10:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adhesive-transfer-tape-950-1-x-60-yds-8-5-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 10:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-48-inch-w-x-18-inch-d-x-84-inch-h-3-levels-starter-w-wire-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 10:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gsx-series-5-drawer-tool-chest-40-3-5-w-x-17-4-5-d-x-23-h>: HTTP status code is not handled or not allowed 2026-01-28 10:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-18-inch-d-x-84-inch-h-3-levels-starter-w-wood-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 10:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrzb120a-xtra-brite-led-random-flash-pattern-blue-120vac-0108-amps>: HTTP status code is not handled or not allowed 2026-01-28 10:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-hand-truck-dockplate-36-w-x-48-l-700-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270twm-270-threaded-wall-mount-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ctm4104t-30-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-96wx48dx120h-5-levels-starter-no-decking-620-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/li-tilt-scissor-table-7>: HTTP status code is not handled or not allowed 2026-01-28 10:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-foam-shipper-26-w-x-18-l-x-4-d>: HTTP status code is not handled or not allowed 2026-01-28 10:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shift-industrial-cabinet-36-w-x-24-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cdp3410-v24-0-25-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-view-plus-locker-w-digitech-locks-12x12x12-six-tier-3-wide-parchment-assembled>: HTTP status code is not handled or not allowed 2026-01-28 10:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93207 pages (at 103 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-push-cart-hopper-blue-32-x-40-x-24-4000lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-cabinet-with-3-drawers-36-w-x-24-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-pedestal-fan-motor-1-3-hp-1100-rpm-115v-teao>: HTTP status code is not handled or not allowed 2026-01-28 10:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-curb-threshold-ramp-750-lb-capacity-986898>: HTTP status code is not handled or not allowed 2026-01-28 10:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-bumper-4-25-w-x-12-l-x-4-h>: HTTP status code is not handled or not allowed 2026-01-28 10:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storm-sentinel-catch-basin-insert-round-27-to-29-dia>: HTTP status code is not handled or not allowed 2026-01-28 10:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shift-industrial-cabinet-36-w-x-24-d-x-75-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-gaylord-pallet-container-with-lid-caster-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advanced-photo-paper-13in-x-19in-white-20-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-shelving-42-inch-w-x-30-inch-d-x-108-inch-h-5-levels-starter-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-full-width-rod-36-w-x-24-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-flow-knob-adjustment-4mm-tube-x-1-8-swift-fit-universal-thread-5-6-l>: HTTP status code is not handled or not allowed 2026-01-28 10:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlh-series-compact-lever-chain-hoist-1-4-ton-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 10:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shift-cabinet-with-6-drawers-48-w-x-24-d-x-75-h-red>: HTTP status code is not handled or not allowed 2026-01-28 10:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-60wx18dx84h-4-levels-add-on-no-decking-2000-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ceuhm3611t-3-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-gun-lock-keyed-alike-no-99kadspt>: HTTP status code is not handled or not allowed 2026-01-28 10:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pool-pump-motor-1-hp-3450-rpm-208-230-115v-odp-y56y-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-174-48-89-9221-step-drill-bit-set>: HTTP status code is not handled or not allowed 2026-01-28 10:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-8mm-tube-1-2-5-l>: HTTP status code is not handled or not allowed 2026-01-28 10:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-oem-replacement-motor-1-3-hp-1075-rpm-208-230v-oao>: HTTP status code is not handled or not allowed 2026-01-28 10:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-cabinet-with-single-door-30-w-x-24-d-x-75-h-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-configured-8x10-partitioned-office-72-h-starter-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-cabinet-with-7-drawers-36-w-x-24-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peakworks-csk160-confined-space-kit--tripod-3way-60l-srl-bag>: HTTP status code is not handled or not allowed 2026-01-28 10:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-configured-6x8-partitioned-office-60-h-starter-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cem3769t-5-7-5-hp-3525-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-indus-wrk-shirt-lng-slv-khaki-reg-l-sp14>: HTTP status code is not handled or not allowed 2026-01-28 10:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearview-industrial-cabinet-48-w-x-24-d-x-75-h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/farm-duty-single-phase-motor-5-hp-1755-rpm-230v-tefc-184t-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-aom3554t-1-5airover-hp-1735-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-10-hp-1075-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-28 10:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-combination-battery-powered-hand-pump-li-stacker-se-hp-98-98-li>: HTTP status code is not handled or not allowed 2026-01-28 10:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-size-stacking-bin-16-1-2x23-7-8x11-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-18-inch-d-x-84-inch-h-3-levels-add-on-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 10:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-cabinet-with-6-drawers-60-w-x-24-d-x-75-h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-tier-starter-unit-30-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 10:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-broom-cabinet-60-w-x-24-d-x-75-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-1-4-tube-x-10-32-ml-1-2-7-l>: HTTP status code is not handled or not allowed 2026-01-28 10:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cesswdm3714t-10-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-6mm-tube-x-1-4-bspp-5-6-l>: HTTP status code is not handled or not allowed 2026-01-28 10:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mastercool-59161-brass-2-way-manifold-set-3-18-gauges-3-60-hoses-standard-14-fittings>: HTTP status code is not handled or not allowed 2026-01-28 10:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l1206-50-33-hp-1425ip23-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-10-roof-panel>: HTTP status code is not handled or not allowed 2026-01-28 10:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-deluxe-220v-electric-range-slim-20-w-w-stainless-steel-doors>: HTTP status code is not handled or not allowed 2026-01-28 10:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l1319-50-1-5-hp-1425-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-7-drawers-48-w-x-24-d-x-75-h-red>: HTTP status code is not handled or not allowed 2026-01-28 10:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-tier-starter-unit-60-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 10:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-tier-add-on-unit-36-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 10:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-full-width-rod-60-w-x-24-d-x-75-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 10:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-jaws-handle>: HTTP status code is not handled or not allowed 2026-01-28 10:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-standard-duty-shelf-divider-18-w-x-8-h>: HTTP status code is not handled or not allowed 2026-01-28 10:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-inch-w-x-48-inch-d-x-84-inch-h-3-levels-starter-w-wood-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 10:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-internal-hex-8mm-tube-x-1-4-swift-fit-universal-thread-5-9-l>: HTTP status code is not handled or not allowed 2026-01-28 10:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-extra-level-with-wood-deck-60-w-x-36-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-4mm-tube-x-1-8-bspp-7-9-l>: HTTP status code is not handled or not allowed 2026-01-28 10:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-coffee-table-with-steel-frame-48-x-24-walnut>: HTTP status code is not handled or not allowed 2026-01-28 10:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-l-x-5-1-2-w-x-5-h-ultra-series-stack-and-hang-bin-green-polyethylene-4-slots>: HTTP status code is not handled or not allowed 2026-01-28 10:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/113055000-00580594-mach-led-plus-36-led-machine-luminaire-18-watts>: HTTP status code is not handled or not allowed 2026-01-28 10:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-x-4-3-4-x-4-wire-mesh-stack-and-hang-bin-chrome>: HTTP status code is not handled or not allowed 2026-01-28 10:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-electronic-lock-with-digital-screen-60-w-x-24-d-x-75-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-7-8-x-22-1-2-x-12-hulk-24-container-blue-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 10:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-4-shelves-60-w-x-24-d-x-75-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 10:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-functional-cargo-short-charcoal-32x12-wp90ch3212>: HTTP status code is not handled or not allowed 2026-01-28 10:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-l-x-8-1-4-w-x-7-h-ultra-series-stack-and-hang-bin-ivory-polyethylene-4-slots>: HTTP status code is not handled or not allowed 2026-01-28 10:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-so-molded-plastic-wastebasket-13-5-8-qt-1>: HTTP status code is not handled or not allowed 2026-01-28 10:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-functional-cargo-pant-black-wp80-32x32-wp80bk3232>: HTTP status code is not handled or not allowed 2026-01-28 10:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-functional-cargo-pant-black-wp80-34x30-wp80bk3430>: HTTP status code is not handled or not allowed 2026-01-28 10:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-toilet-bowl-brush-holder>: HTTP status code is not handled or not allowed 2026-01-28 10:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-11-microfiber-wall-stair-wet-pads>: HTTP status code is not handled or not allowed 2026-01-28 10:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-pre-configured-wire-shelving-spill-containment-system-36-w-x-24-d-x-84-h-add-on-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-6mm-tube-x-1-8-swift-fit-universal-thread-7-9-l>: HTTP status code is not handled or not allowed 2026-01-28 10:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-particle-board-decking-72-inch-w-x-36-inch-d-x-5-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-1-4-tube-x-10-32-1-l>: HTTP status code is not handled or not allowed 2026-01-28 10:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-36-reflective-roll-up-vinyl-sign-road-work-ahead>: HTTP status code is not handled or not allowed 2026-01-28 10:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1205-foot-operated-exam-stool-w-o-back-w-5-leg-aluminum-base>: HTTP status code is not handled or not allowed 2026-01-28 10:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-non-reflective-roll-up-vinyl-sign-road-work-ahead>: HTTP status code is not handled or not allowed 2026-01-28 10:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-deck-overlay-wire-shelving-36-w-x-18-d-x-1-thick>: HTTP status code is not handled or not allowed 2026-01-28 10:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-36-non-reflective-roll-up-vinyl-sign-one-land-road-ahead>: HTTP status code is not handled or not allowed 2026-01-28 10:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-station-windsor-scrub-sink-wall-mounted-with-foot-action-control-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-ez-deck-decking-84-inch-w-x-24-inch-d-x-3-4-inch-h-for-use-w-double-rivets>: HTTP status code is not handled or not allowed 2026-01-28 10:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1721t-1-5-67-hp-1740-1165-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-ticket-holders-stitched-both-sides-clear-open-long-side-12-x-9-25-bx>: HTTP status code is not handled or not allowed 2026-01-28 10:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plush-entrance-mat-3x5-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-for-st2500h>: HTTP status code is not handled or not allowed 2026-01-28 10:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biodegradable-project-folders-reduced-glare-11-x-8-1-2-25-bx>: HTTP status code is not handled or not allowed 2026-01-28 10:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-largest-nested-instrument-table-on-casters-stainless-steel-48-l-x-42-w-x-24-h>: HTTP status code is not handled or not allowed 2026-01-28 10:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtra-tt120h-heavy-duty-ultrasonic-cleaner-with-heater-timer-drain-3-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 10:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-96-w-x-48-d-x-96-h-796582n>: HTTP status code is not handled or not allowed 2026-01-28 10:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-medium-duty-utility-cart-3-open-shelves-depth-wise-handrails>: HTTP status code is not handled or not allowed 2026-01-28 10:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clipboard-folder>: HTTP status code is not handled or not allowed 2026-01-28 10:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basket-for-ep180h-s180h-p180h>: HTTP status code is not handled or not allowed 2026-01-28 10:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sorter-30532>: HTTP status code is not handled or not allowed 2026-01-28 10:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panoramic-fold-out-poly-sheet-protector-center-loading-clear-11-x-8-1-2-25-bx>: HTTP status code is not handled or not allowed 2026-01-28 10:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-mobile-divider-30w-x-75h>: HTTP status code is not handled or not allowed 2026-01-28 10:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-copper-plus-boxed-rc9yc4-430>: HTTP status code is not handled or not allowed 2026-01-28 10:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3771t-8-10-hp-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-polypropylene-sheet-protector-heavyweight-11-x-8-1-2-50-bx>: HTTP status code is not handled or not allowed 2026-01-28 10:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm2700-shaper-3hp-1ph-dro-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93305 pages (at 98 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/movable-sign-post-with-base-4-feet-high-14-inches-dia-black-86336>: HTTP status code is not handled or not allowed 2026-01-28 10:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-hamper-stainless-steel-18-diameter-35-h-2-hard-rubber-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-add-on-108-w-x-36-d-x-96-h-b2282511n>: HTTP status code is not handled or not allowed 2026-01-28 10:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l3709t-7-5-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-add-on-96-w-x-42-d-x-144-h-b2282520n>: HTTP status code is not handled or not allowed 2026-01-28 10:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-knob-adjustment-6mm-tube-x-1-8-swift-fit-universal-thread-7-8-l>: HTTP status code is not handled or not allowed 2026-01-28 10:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-motorsports-shirt-short-sleeve-m-silver-black-sp28>: HTTP status code is not handled or not allowed 2026-01-28 10:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/132436-toughstripe-floor-marking-tape-polyester-2-inches-wide-by-100-feet-long-green-white>: HTTP status code is not handled or not allowed 2026-01-28 10:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-knee-boot-men-s-size-14-15-h-steel-toe-cleated-outsole-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-bed-workstation-48-w-x-48-d-x-72-h-starter-section>: HTTP status code is not handled or not allowed 2026-01-28 10:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-guard-12-h-x-4-1-4-w-opening>: HTTP status code is not handled or not allowed 2026-01-28 10:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/103820-push-button-lockout-cover-22-5-mm-brass-base-red>: HTTP status code is not handled or not allowed 2026-01-28 10:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-smock-loose-fit-short-sleeve-tan-s-tp23>: HTTP status code is not handled or not allowed 2026-01-28 10:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-black-front-t-shirt-pullover-lime-polyester-5xl>: HTTP status code is not handled or not allowed 2026-01-28 10:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/78967-portable-utility-blower-300-cfm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65693-large-steel-ball-valve-lockout-1-to-3-inches-valve-steel-7-lock-points>: HTTP status code is not handled or not allowed 2026-01-28 10:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/overshoe-w-gaiter-small-waterproof-black-with-red-soles>: HTTP status code is not handled or not allowed 2026-01-28 10:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-erase-board-easel-28w-x-34h-75684>: HTTP status code is not handled or not allowed 2026-01-28 10:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65669-large-steel-ball-valve-lockout-1-to-3-inches-valve-steel-14-lock-points>: HTTP status code is not handled or not allowed 2026-01-28 10:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-tear-drop-add-on-108-w-x-42-d-x-120-h>: HTTP status code is not handled or not allowed 2026-01-28 10:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-men-s-size-6-15-h-plain-toe-cleated-outsole-brown-upper-crepe-sole>: HTTP status code is not handled or not allowed 2026-01-28 10:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-precision-push-pins-100-box-clear-92707>: HTTP status code is not handled or not allowed 2026-01-28 10:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bellman-condo-cart-48x25-satin-aluminum-black-carpet-6-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 10:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorcycle-jack-1500lb-t64017>: HTTP status code is not handled or not allowed 2026-01-28 10:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3546-1-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jacket-size-men-s-small-storm-fly-front-attached-hood-green>: HTTP status code is not handled or not allowed 2026-01-28 10:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xt-traction-overshoe-w-roll-a-way-gaiter-xl-oil-resistant-black>: HTTP status code is not handled or not allowed 2026-01-28 10:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epson-s015384-ribbon-black>: HTTP status code is not handled or not allowed 2026-01-28 10:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-burn-cream-25-box>: HTTP status code is not handled or not allowed 2026-01-28 10:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-security-shelving-unit-2-e-z-adjust-shelves-chrome-14-w-x-48-l-x-66-h>: HTTP status code is not handled or not allowed 2026-01-28 10:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-vacuum-straight-tube-50000-btu-20l>: HTTP status code is not handled or not allowed 2026-01-28 10:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-mobile-storage-bins-ms6-1564-18-openings-64-l-x-20-w-x-45-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 10:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12914-carboy-with-spigot-hdpe-5-liter>: HTTP status code is not handled or not allowed 2026-01-28 10:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-guard-oil-sediment-model-60-x-60-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-lightweight-knee-boot-men-s-size-13-15-h-plain-toe-cleated-outsole-black>: HTTP status code is not handled or not allowed 2026-01-28 10:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-vacuum-u-tube-75000-btu-30l>: HTTP status code is not handled or not allowed 2026-01-28 10:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-lightweight-knee-boot-men-s-size-13-15-h-plain-toe-cleated-outsole-brown>: HTTP status code is not handled or not allowed 2026-01-28 10:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-shoe-covers-large-ankle-height-red-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp83664t-5-2-hp-1165-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-straight-tube-175000-btu-50l>: HTTP status code is not handled or not allowed 2026-01-28 10:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60in-amber-modular-light-bar-with-12-led-modules-88930604>: HTTP status code is not handled or not allowed 2026-01-28 10:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metalout-bag-3-mm-3-x-5-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2332t-10-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ectm3770t-7-5-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-black-silk-24-2-oz-canister>: HTTP status code is not handled or not allowed 2026-01-28 10:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverall-hood-and-socks-boots-bound-seam-yellow-2x>: HTTP status code is not handled or not allowed 2026-01-28 10:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-spout-extension>: HTTP status code is not handled or not allowed 2026-01-28 10:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-positive-pressure-straight-tube-200000-btu-60l>: HTTP status code is not handled or not allowed 2026-01-28 10:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rain-jacket-size-men-s-large-attached-hood-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-grommet-for75in-round-marker-lights-with-3-led-5627503>: HTTP status code is not handled or not allowed 2026-01-28 10:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metalout-bag-3-mm-5-x-8-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-two-electric-tankless-water-heater-16-6kw-208v-80a>: HTTP status code is not handled or not allowed 2026-01-28 10:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-shoe-covers-xl-ankle-height-yellow-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metalin-zipper-bag-8-x-10-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-sensitive-pipe-marker-circulating-water-3>: HTTP status code is not handled or not allowed 2026-01-28 10:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-tape-clear-with-symbols-2-x-72-yds-3-paper-core>: HTTP status code is not handled or not allowed 2026-01-28 10:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-tape-clear-2-x-72-yds-3-paper-core>: HTTP status code is not handled or not allowed 2026-01-28 10:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-174-111080-10-microcellular-foam-hand-truck-wheel>: HTTP status code is not handled or not allowed 2026-01-28 10:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-red-oval-stop-turn-tail-light-with-20-led-5626521>: HTTP status code is not handled or not allowed 2026-01-28 10:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-ribbed-bollard-post-sleeve-6-blue-1730blue>: HTTP status code is not handled or not allowed 2026-01-28 10:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-powered-audio-visual-cart-lockable-cabinet-100ah-battery-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm2333t-15-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-air-conditioner-18000-btu-energy-star-rated-208-230v-wifi-enabled>: HTTP status code is not handled or not allowed 2026-01-28 10:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-base-paramount-modular-drawer-cabinet-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-tray-w-vinyl-mat-paramount-modular-drawer-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 10:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-efm3211t-3-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm3613t-5-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-amber-oval-mid-turn-signal-side-marker-light-with-9-led-5626208>: HTTP status code is not handled or not allowed 2026-01-28 10:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-sensitive-pipe-marker-domestic-hot-water-3>: HTTP status code is not handled or not allowed 2026-01-28 10:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75in-round-marker-clearance-lights-1-led-red-with-male-bullets-5623413>: HTTP status code is not handled or not allowed 2026-01-28 10:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-metal-wall-cabinet-w-z-logo>: HTTP status code is not handled or not allowed 2026-01-28 10:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-27-shoulder-screw-w-pin-10-24-x-1-1-16-stainless-steel-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-hydrogen-2>: HTTP status code is not handled or not allowed 2026-01-28 10:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-black-front-pullover-hi-visibility-t-shirt-lime-polyester-lg>: HTTP status code is not handled or not allowed 2026-01-28 10:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cs-200m-chair-scale-423020>: HTTP status code is not handled or not allowed 2026-01-28 10:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejpm2515t-20-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/products-20-ton-air-manual-bottle-jack-ast5302a>: HTTP status code is not handled or not allowed 2026-01-28 10:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-premium-pullover-hi-visibility-t-shirt-lime-polyester-4xl>: HTTP status code is not handled or not allowed 2026-01-28 10:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-mountdemount-head-for-5-amm8183061>: HTTP status code is not handled or not allowed 2026-01-28 10:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-valves-for-mx-sensors-with-changeable-valves-aulmxsensorrvk>: HTTP status code is not handled or not allowed 2026-01-28 10:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20817-top-hanger-17l-x-12w-wood-bk-rubberized-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 10:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-rl1301a277-1-3-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5in-amber-round-marker-clearance-light-with-2-led-5622522>: HTTP status code is not handled or not allowed 2026-01-28 10:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-mag-bit-holder-w-c-ring-x-3-s2-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-head-stainless-steel-30-gallon-drum-with-lid-986964>: HTTP status code is not handled or not allowed 2026-01-28 10:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-leg-18-gauge-7-32-narrow-crown-finish-staples-5000-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-tables-72-x-24-rustic-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-3-8-in-crown-stapler>: HTTP status code is not handled or not allowed 2026-01-28 10:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc122-6-qfm-single-faced-wall-blanket-4-w-x-6-h-x-1-thick>: HTTP status code is not handled or not allowed 2026-01-28 10:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20314-top-hanger-flat-14l-wood-mahogany-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 10:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-mag-nutsetter-x-10-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parabolic-reflector-extension-30-000-to-40-000-btu-ceramic-heaters>: HTTP status code is not handled or not allowed 2026-01-28 10:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h10a-optime-105-high-performance-ear-muffs-h10a>: HTTP status code is not handled or not allowed 2026-01-28 10:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-nm3454-25-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-120-smooth-shank-15-degree-coil-framing-nails-2700-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-cutoff-valve-infrared-tube-heaters>: HTTP status code is not handled or not allowed 2026-01-28 10:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-device-desktop-usb-charging-station-for-tablets-ipads-and-e-readers>: HTTP status code is not handled or not allowed 2026-01-28 10:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-3000-watts-portable-generator-gasoline-recoil-start-120v>: HTTP status code is not handled or not allowed 2026-01-28 10:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-1-1-2-brass-pipe-nipple-schedule-40>: HTTP status code is not handled or not allowed 2026-01-28 10:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93404 pages (at 99 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-1-4-hex-socket-adapter-x-2-pin-gunmetal-grey-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-120-wire-bright-steel-round-head-framing-nails-2000-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pick-shelving-5-level-double-tilt-tilt-78-h-x-50-w-x-48-d-starter>: HTTP status code is not handled or not allowed 2026-01-28 10:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-gauge-1-1-2-da-style-angled-finish-nail-2500-qty>: HTTP status code is not handled or not allowed 2026-01-28 10:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrobium-mold-control-fogger-machine-intake-filters-200080>: HTTP status code is not handled or not allowed 2026-01-28 10:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-acr-3-power-bit-x-3-1-2-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vecp83771t-4-10-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24h-backless-counter-height-stool-metal-square-white>: HTTP status code is not handled or not allowed 2026-01-28 10:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-rated-gloves-black-14-unlined-smooth-finish-beaded-class-0-10>: HTTP status code is not handled or not allowed 2026-01-28 10:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4725-rectangle-plastic-height-adjustable-activity-table-set-with-6-chairs-red>: HTTP status code is not handled or not allowed 2026-01-28 10:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-tamper-45-insert-bit-x-1-1-4-5-16-hex-shank-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nitriledipped-gloves-activgrip-nitrile-wmicrofinish-grip-l>: HTTP status code is not handled or not allowed 2026-01-28 10:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4725-rectangle-plastic-height-adjustable-activity-table-set-with-4-chairs-red>: HTTP status code is not handled or not allowed 2026-01-28 10:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-x-1-1-2-welded-pipe-nipple-schedule-40-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-channel-drop-over-cable-protector-18000-lbs-capacity-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-gtp50a-portable-gasoline-trash-pump-2-intake-outlet-7hp>: HTTP status code is not handled or not allowed 2026-01-28 10:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-beam-trolley-2-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/head-harness-for-face-shield-black>: HTTP status code is not handled or not allowed 2026-01-28 10:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vest-style-harness-pass-thru-buckle-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-danger-no-smoking-3>: HTTP status code is not handled or not allowed 2026-01-28 10:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-acr-2-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-danger-no-smoking-4>: HTTP status code is not handled or not allowed 2026-01-28 10:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-danger-no-trespassing-1>: HTTP status code is not handled or not allowed 2026-01-28 10:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kevlar-gloves-wmicro-surface-nitrile-coated-palm-fingers-medium-weight-xxl>: HTTP status code is not handled or not allowed 2026-01-28 10:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-danger-no-trespassing-2>: HTTP status code is not handled or not allowed 2026-01-28 10:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shredstar-x6pro-micro-cut-shredder-with-cd-slot-6-sheet-5-3-gallon-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 10:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-raceway-power-kit-with-data-for-baseline-raceway-36-w>: HTTP status code is not handled or not allowed 2026-01-28 10:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transit-bike-shelter-7-20-29-1-l-x-7-5-w-20-bike-capacity-hip-roof>: HTTP status code is not handled or not allowed 2026-01-28 10:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-port-cap-with-plugs-for-glass-bottles-with-gl45-closure>: HTTP status code is not handled or not allowed 2026-01-28 10:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beam-clamp-5-ton-capacity-fits-beam-flange-range-354-1260>: HTTP status code is not handled or not allowed 2026-01-28 10:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watchtower-42-plastic-stacker-orange-cone-with-handle-2-reflective-white-stripes>: HTTP status code is not handled or not allowed 2026-01-28 10:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac2201wlh-power-grip-magnetic-pickup-tool-92-5-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spanish-aluminum-sign-peligro-alto-voltaje-mantengase-afuera>: HTTP status code is not handled or not allowed 2026-01-28 10:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esp-kit-1-pair-black-esp-glove-1-pair-goat-class-00-size-9>: HTTP status code is not handled or not allowed 2026-01-28 10:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-5-6-power-bit-x-3-1-2-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 10:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-1-2-round-outdoor-teakwood-cafe-table-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-danger-hard-hat-area-2>: HTTP status code is not handled or not allowed 2026-01-28 10:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-rated-gloves-14-l-unlined-smooth-finish-beaded-orange-class-1-size-10>: HTTP status code is not handled or not allowed 2026-01-28 10:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/111-t12-fa-c8hip-all-plastic-maintenance-free-type-ii-traffic-barricade-w-directional-arrow-white>: HTTP status code is not handled or not allowed 2026-01-28 10:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdnm3767t-5te-hp-6000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-2-power-bit-x-3-1-2-extra-hard-s2-modified-steel-black-manganese-phosphate>: HTTP status code is not handled or not allowed 2026-01-28 10:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/456-hd-t-34-commander-traffic-drum-orange-23-1-2-w-x-39-1-2-h-4-reflective-orange-white-stripes>: HTTP status code is not handled or not allowed 2026-01-28 10:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-30w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveworks-diamond-textured-industrial-grade-nitrile-gloves-l-100-box-10-box-cs>: HTTP status code is not handled or not allowed 2026-01-28 10:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-add-on-unit-42w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 10:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minimight-6x18mm-monocular>: HTTP status code is not handled or not allowed 2026-01-28 10:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-3-power-bit-x-3-1-2-gunmetal-bronze-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-16-female-hex-mag-nutsetter-x-2-9-16-gunmetal-bronze-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polly-products-deluxe-8-ft-picnic-table-ada-compliant-cedar-top-bench-brown-frame>: HTTP status code is not handled or not allowed 2026-01-28 10:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-t-slot-nut-5-8-table-slot-1-1-8-base-width-3-4-height-carbon-steel-black-oxide-tn-23>: HTTP status code is not handled or not allowed 2026-01-28 10:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-starter-unit-60w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-danger-construction-area-keep-out-1>: HTTP status code is not handled or not allowed 2026-01-28 10:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-half-foot-patio-umbrella-olefin-black-hardwood-pole-grove>: HTTP status code is not handled or not allowed 2026-01-28 10:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-watch-your-step-1>: HTTP status code is not handled or not allowed 2026-01-28 10:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-48w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psr-2436-lldr-shop-desk-24-x-36-storage-drawer-2000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-7899-hgw-20a-smartlockpro-gfci-duplex-recpt-hospital-grade-white>: HTTP status code is not handled or not allowed 2026-01-28 10:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lynx-distributor-16-w-x-7-h-blue-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 10:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-7899-lw-20a-smartlockpro-gfci-duplex-recpt-ind-light-wire-leads-white>: HTTP status code is not handled or not allowed 2026-01-28 10:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-add-on-unit-60w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-crowned-od-1-1-2-l-stud-0875-w-roller-15-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 10:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mm3-2d-2448-fl-48-w-mobile-bench-cabinets-center-shelf-2-locking-doors>: HTTP status code is not handled or not allowed 2026-01-28 10:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yoke-roller-sealed-1875-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 10:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-10-residential-blueblack-plastic-filter-housing-12-port-pressure-release>: HTTP status code is not handled or not allowed 2026-01-28 10:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-notice-keep-this-door-closed-2>: HTTP status code is not handled or not allowed 2026-01-28 10:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-18w-x-30l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-danger-blank-2>: HTTP status code is not handled or not allowed 2026-01-28 10:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3hdsc-3-heavy-duty-side-cutter>: HTTP status code is not handled or not allowed 2026-01-28 10:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-14w-x-54l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-4-awg-8-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 10:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-caution-gloves-required>: HTTP status code is not handled or not allowed 2026-01-28 10:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-kap-industrial-pant-brown-34x34-pt20>: HTTP status code is not handled or not allowed 2026-01-28 10:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-floor-crane-4l0028-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-cart-esd-3-shelf-18w-x-36l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-36w-x-48l-x-69h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-infinity-ventilated-steel-locker-single-tier-3-wide-12x12x72-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-80414-w-quickport-decora-multimedia-blank-insert>: HTTP status code is not handled or not allowed 2026-01-28 10:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-18w-x-60l-x-60h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-3-8-ring-terminals-12-0-awg-15-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 10:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-heavy-duty-mobile-work-platform-handrails-24-x-60-platform>: HTTP status code is not handled or not allowed 2026-01-28 10:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-2-tier-esd-24w-x-42l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-18w-x-30l-x-60h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-flexbollard-52h-concrete-blackwhite-xl-b52-c-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 10:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexbollard-52h-x-7-14w-w99h-signpost-adhesive-blueblack-xl-b528-d-bluewhite>: HTTP status code is not handled or not allowed 2026-01-28 10:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-3-8-ring-terminals-2-0-awg-20-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 10:55:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-trash-container-garbage-can-lid-32-gallon-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:55:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-trash-container-garbage-can-44-gallon-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kink-resistant-garden-hose-50-ft>: HTTP status code is not handled or not allowed 2026-01-28 10:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-aluminum-keep-hands-clear-of-moving-machinery>: HTTP status code is not handled or not allowed 2026-01-28 10:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blow-model-commercial-duty-adjustable-height-folding-table-30in-x72in-gray-granite>: HTTP status code is not handled or not allowed 2026-01-28 10:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-w-vogue-traditional-accessories-8-unit-2-parcel-lockers-sandstone>: HTTP status code is not handled or not allowed 2026-01-28 10:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-14-0-awg-12-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 10:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1400-series-front-loading-horizontal-wall-mounted-mailbox-29-compartments-anodized-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 10:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-w-vogue-traditional-accessories-12-unit-1-parcel-locker-black>: HTTP status code is not handled or not allowed 2026-01-28 10:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-platform-bed-frame-with-steel-slat-support-14-h-full-size>: HTTP status code is not handled or not allowed 2026-01-28 10:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-respiratory-hygiene-station-17-1-16-w-x-4-1-4-d-x-10-1-8-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 10:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-mortorcycle-parking-on-one-line-w-overspray-panel-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 10:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93501 pages (at 97 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-sign-10x7-rigid-plastic-smoking-permitted-this-area>: HTTP status code is not handled or not allowed 2026-01-28 10:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-recessed-protective-wear-organizer-17-7-8-w-x-4-7-16-d-x-22-5-16-h-cherry>: HTTP status code is not handled or not allowed 2026-01-28 10:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-wear-isolation-bundle-15-13-16-w-x-4-d-x-20-5-16-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 10:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-15w-wine-cellar-for-built-in-or-freestanding-use-wdigital-controls-and-led-light-summit>: HTTP status code is not handled or not allowed 2026-01-28 10:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-no-parking-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 10:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sign-14x10-rigid-plastic-chock-wheels-before-loading>: HTTP status code is not handled or not allowed 2026-01-28 10:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-motorcycles-only-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 10:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-21w-x-30l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-glowflytm-universal-hot-igniter-service-pack-of-6-kits>: HTTP status code is not handled or not allowed 2026-01-28 10:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quad-glove-box-dispenser-11-1-4-w-x-5-1-8-d-x-11-1-4-h>: HTTP status code is not handled or not allowed 2026-01-28 10:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11219-qc-disc-type-r-2-aluminum-oxide-fine>: HTTP status code is not handled or not allowed 2026-01-28 10:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sign-14x10-vinyl-eye-protection-required>: HTTP status code is not handled or not allowed 2026-01-28 10:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-53017-no-5-paste-flux-w-brush-carded-17-oz>: HTTP status code is not handled or not allowed 2026-01-28 10:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-bar-12-x-6-foot-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 10:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36in-square-table-ladder-back-chair-set-figured-mahogany-laminate-table-red-vinyl-chair>: HTTP status code is not handled or not allowed 2026-01-28 10:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sign-14x10-vinyl-hot>: HTTP status code is not handled or not allowed 2026-01-28 10:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-inch-x-14-inch-x-10-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 10:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-273958-air-max-test-pump>: HTTP status code is not handled or not allowed 2026-01-28 10:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polypropylene-coverall-elastic-wrists-ankles-white-3x-large-25-case>: HTTP status code is not handled or not allowed 2026-01-28 10:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-275058-6-8-test-ball-plug-17-psi-40-ft>: HTTP status code is not handled or not allowed 2026-01-28 10:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000v-insulated-linesman-pliers-9-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-24-14-w-x-61-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-inch-x-12-inch-x-12-inch-long-corrugated-cartons>: HTTP status code is not handled or not allowed 2026-01-28 10:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-inch-x-8-inch-x-4-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 10:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aqua-vantage-urinal-repair-kit-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 10:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aqua-vantage-urinal-repair-kit-1-0-gal>: HTTP status code is not handled or not allowed 2026-01-28 10:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-21w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-gelfoam-gel-u-seatcushion-16w-x-16l-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 10:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-3-tier-esd-24w-x-72l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 10:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-curtain-w-hardware-12w-x-9h-white-clear-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plant-marking-stencil-20x20-exit-w-up-arrow>: HTTP status code is not handled or not allowed 2026-01-28 10:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/left-side-closed-premium-endcap-ec001-lf>: HTTP status code is not handled or not allowed 2026-01-28 10:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-21w-x-42l-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 10:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-office-partition-panel-60-14-w-x-60-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goffs-welding-screen-6w-x-6h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-forkli-or-hoist-bulk-bag-li-er-bbl-4-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-1-2-inch-x-8-3-4-inch-x-6-inch-multi-depth-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 10:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-roll-vertical-36-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-12-letter-b>: HTTP status code is not handled or not allowed 2026-01-28 10:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-12-letter-d>: HTTP status code is not handled or not allowed 2026-01-28 10:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-esd-3-shelf-24w-x-48l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 10:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-razor-x-cutter-48-inch>: HTTP status code is not handled or not allowed 2026-01-28 10:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f30a-f-sf-shop-floor-fan-30-115v-1ph>: HTTP status code is not handled or not allowed 2026-01-28 10:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biztalk-174-replacement-battery-for-mb400-black>: HTTP status code is not handled or not allowed 2026-01-28 10:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biztalk-174-business-radio-bundle-w-multi-unit-charger-black-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 10:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-ready-174-emergency-crank-weather-radio-9-61-100-w-x-2-19-20-d-x-6-17-20-h-red>: HTTP status code is not handled or not allowed 2026-01-28 10:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-plus-maui-sun-shade-wvalance-remote-pvc-gray-96-x-725-x-6>: HTTP status code is not handled or not allowed 2026-01-28 10:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-viton-sanitary-gasket-for-3-tube>: HTTP status code is not handled or not allowed 2026-01-28 10:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-overall-economical-enamel-aerosol-red>: HTTP status code is not handled or not allowed 2026-01-28 10:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-plastic-park-bench-with-backrests-black>: HTTP status code is not handled or not allowed 2026-01-28 10:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multipurpose-pastel-colored-paper-3r11050-8-12-x-11-blue-500-sheetsream>: HTTP status code is not handled or not allowed 2026-01-28 10:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-shot-7500w-portable-generator-electric-start-black>: HTTP status code is not handled or not allowed 2026-01-28 10:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-14w-x-48l-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 10:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-dash-388-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 10:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-wpartial-window-pass-thru-cable-48-14wx77-12h-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-dash-386-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 10:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-24w-x-24l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-wpartial-window-pass-thru-cable-60-14wx47-12h-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-60-14-w-x-61-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-industrial-choice-1600-sys-gen-purp-enamel-aero-univer-gry>: HTTP status code is not handled or not allowed 2026-01-28 10:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-pass-thru-cable-60-14-w-x-77-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 10:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18x2-1-2-pan-head-floor-board-screws-type-f-3140FTPB>: HTTP status code is not handled or not allowed 2026-01-28 10:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unrule-index-cards-for-laser-and-inkjet-printers-5388-3-x-5-white-50box>: HTTP status code is not handled or not allowed 2026-01-28 10:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/landscape-format-writing-pad-74500-11-x-9-12-white-40-sheetspad-1pack>: HTTP status code is not handled or not allowed 2026-01-28 10:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spiral-index-cards-40282-3-x-5-white-1-each>: HTTP status code is not handled or not allowed 2026-01-28 10:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-alarm-plastic-1>: HTTP status code is not handled or not allowed 2026-01-28 10:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-36w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 10:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-bar-kit-4-d-x-96-l-white-bar-red-tapes>: HTTP status code is not handled or not allowed 2026-01-28 10:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-14w-x-60l-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 10:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x3-4-hex-washer-self-drilling-screws-0812KWBZ>: HTTP status code is not handled or not allowed 2026-01-28 10:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-detectable-buna-n-o-ring-dash-015-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 10:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-as5400-sys-340-voc-anti-slip-one-stp-epoxy-flr-ct-tile-rd>: HTTP status code is not handled or not allowed 2026-01-28 10:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-exit-plastic>: HTTP status code is not handled or not allowed 2026-01-28 10:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/am4517mzt-edge-plus-1-3mp-handheld-digital-microscope-with-flc-amr-polarizer-20x-220x>: HTTP status code is not handled or not allowed 2026-01-28 10:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-sticky-note-pads-6228ssan-2-x-2-electric-glow-90-sheets-8pack>: HTTP status code is not handled or not allowed 2026-01-28 10:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-up-notes-super-sticky-pop-up-refills-r440ywss-4-x-4-yellow-90-sheets-5pack>: HTTP status code is not handled or not allowed 2026-01-28 10:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ring-aramid-flange-gasket-for-1-14-pipe-116-thick-class-150>: HTTP status code is not handled or not allowed 2026-01-28 10:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-18-ga-430-ss-workbench-2-backsplash-galvanized-legs-undershelf-30-x24>: HTTP status code is not handled or not allowed 2026-01-28 10:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-8-confined-space-vent-fan-w-canister-25-ducting-rotomold-plastic>: HTTP status code is not handled or not allowed 2026-01-28 10:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18x1-1-4-self-clinching-stud-12-rib-full-thread-300-series-stainless-steel-3120SCN300>: HTTP status code is not handled or not allowed 2026-01-28 10:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/highlandsticky-note-pads-6549a-3-x-3-pastel-100-sheets-12pack>: HTTP status code is not handled or not allowed 2026-01-28 10:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oblong-punch-die-set-with-storage-case-12-piece>: HTTP status code is not handled or not allowed 2026-01-28 10:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roxbury-full-size-tufted-upholstered-platform-bed-in-black>: HTTP status code is not handled or not allowed 2026-01-28 10:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-h-r-starter-kit-incl-power-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x5-hex-washer-self-drilling-screws-1280KW>: HTTP status code is not handled or not allowed 2026-01-28 10:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-serrated-flange-lock-nuts-50NR>: HTTP status code is not handled or not allowed 2026-01-28 10:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-photo-paper-99650-8-12-x-11-white-50pack>: HTTP status code is not handled or not allowed 2026-01-28 10:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hp-designjet-inkjet-large-format-paper-q1426b-24-x-100-high-gloss-white-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32x3-8-self-clinching-stud-full-thread-hardened-steel-heat-zinc-and-bake-0606SCN>: HTTP status code is not handled or not allowed 2026-01-28 10:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-904-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 10:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-dash-225-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 10:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32x1-1-2-truss-full-contour-machine-screws-1124MPT>: HTTP status code is not handled or not allowed 2026-01-28 10:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-dash-444-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 10:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-cvr-notebook-b4181-8-12-x-11-black-cover-80-sheetspad-1-padpack>: HTTP status code is not handled or not allowed 2026-01-28 10:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-3-4-phillips-bugle-head-exterior-wood-deck-screws-18-8-stainless-steel-0828DPG188>: HTTP status code is not handled or not allowed 2026-01-28 10:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-o-ring-3mm-wide-235mm-id-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 10:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucky-dog-european-style-modular-dog-kennel-72-h-x-60-w-x-120-l-black>: HTTP status code is not handled or not allowed 2026-01-28 10:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-pole-circuit-breaker-lockout-1>: HTTP status code is not handled or not allowed 2026-01-28 10:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-af1600-system-ath-field-invert-striping-paint-aero-fluor-gn>: HTTP status code is not handled or not allowed 2026-01-28 10:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-cable-lockout-with-6-foot-cable>: HTTP status code is not handled or not allowed 2026-01-28 10:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93601 pages (at 100 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valve-wheel-lockout-fits-2-1-2-to-5-diameter>: HTTP status code is not handled or not allowed 2026-01-28 10:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-rubber-overboots-mens-black-size-1516-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 10:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-tufted-upholstered-king-size-headboard-in-beige>: HTTP status code is not handled or not allowed 2026-01-28 10:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-2mm-wide-3mm-id-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 10:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/482-1-21-32-tubeless-tire-valve-box-of-5>: HTTP status code is not handled or not allowed 2026-01-28 10:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c1066-commercial-high-pressure-gauging-element>: HTTP status code is not handled or not allowed 2026-01-28 10:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-twin-size-tufted-upholstered-platform-bed-in-black>: HTTP status code is not handled or not allowed 2026-01-28 10:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/detectable-underground-warning-tape-caution-buried-reclaimed-water-line-2-w>: HTTP status code is not handled or not allowed 2026-01-28 10:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grit-anti-slip-tape-black-4-w>: HTTP status code is not handled or not allowed 2026-01-28 10:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16x1-indented-hex-head-machine-screws-3716MH>: HTTP status code is not handled or not allowed 2026-01-28 10:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tire-inflator-gauge-with-dual-head-chuck-kti89002>: HTTP status code is not handled or not allowed 2026-01-28 10:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flagging-tape-fluorescent-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 10:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2340n5-value-200v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 10:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-3mm-wide-28mm-id-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 10:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-buna-n-rubber-cord-0-275-cross-section-25-ft-length>: HTTP status code is not handled or not allowed 2026-01-28 10:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-resistant-high-temperature-teflon-ptfe-tubing-18id-x-14od-x-2-ft>: HTTP status code is not handled or not allowed 2026-01-28 10:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-face-viton-flange-gasket-for-1-12-pipe-116-thick-class-150>: HTTP status code is not handled or not allowed 2026-01-28 10:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riverdale-queen-tufted-upholstered-platform-bed-black-with-memory-foam-mattress>: HTTP status code is not handled or not allowed 2026-01-28 10:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18x3-8-fillister-head-machine-screws-3106MSL>: HTTP status code is not handled or not allowed 2026-01-28 10:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2475n5-value-460v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 10:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-in-needle-scaler>: HTTP status code is not handled or not allowed 2026-01-28 10:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-ton-underhoist-stand-6809a>: HTTP status code is not handled or not allowed 2026-01-28 10:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-ton-air-hydraulic-truck-jack-6822>: HTTP status code is not handled or not allowed 2026-01-28 10:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-dash-012-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 10:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-o-ring-dash-014-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 10:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drying-tray-with-drop-ends-29-7-8-x-23-7-8-x-1-1-2-white>: HTTP status code is not handled or not allowed 2026-01-28 10:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dp200-36-round-traffic-channelizer-post-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shutter-stamp-with-microban-red-blue-draft-1-5-8-x-1-2>: HTTP status code is not handled or not allowed 2026-01-28 10:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8389-ultra-containment-berm-repair-kit-24-x-12-x-8>: HTTP status code is not handled or not allowed 2026-01-28 10:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e4750-stamp-replacement-pad-1-x-1-5-8-black>: HTTP status code is not handled or not allowed 2026-01-28 10:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-pilot-manual-valve-kit-lp-conversion-kit>: HTTP status code is not handled or not allowed 2026-01-28 10:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-ink-pad-for-printer-p20-and-dual-pad-printer-p20-red>: HTTP status code is not handled or not allowed 2026-01-28 10:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-lspp3b-om-ls-wick-b-eye-polo-org-l>: HTTP status code is not handled or not allowed 2026-01-28 10:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-stamp-time-and-date-received-conventional-two-inch-diameter>: HTTP status code is not handled or not allowed 2026-01-28 10:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-0-8x8-metric-pan-head-machine-screws-M58D7985A>: HTTP status code is not handled or not allowed 2026-01-28 10:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-adjustable-height-workbench-maple-square-edge-72-in-w-x-78-in-d>: HTTP status code is not handled or not allowed 2026-01-28 10:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32x3-16-socket-set-screws-half-dog-point-1103SSD>: HTTP status code is not handled or not allowed 2026-01-28 10:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-sspp2b-om-ss-wick-b-eye-polo-org-m>: HTTP status code is not handled or not allowed 2026-01-28 10:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32x1-2-hex-standoffs-male-female-140806HM303>: HTTP status code is not handled or not allowed 2026-01-28 10:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-lspp3b-yxl-ls-wick-b-eye-polo-yel-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bakery-boxes-9in-x-9in-x-4in-white-200-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kold-locker-indoor-freezer-minus-10-degrees-f-with-floor-1-1-2hp-lh-door-96-inches-w-x-96-inches-d-x-91-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 10:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bakery-boxes-10in-x-10in-x-4in-white-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-lid-compostable-sugarcane-fiber-containers-9in-x-3in-x-9in-200-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gel-ocity-quick-dry-retractable-gel-pen-0-7mm-assorted-ink-barrel-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-lid-plastic-containers-8-3-10in-x-8-3-10in-x-3in-1-compartment-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g2-premium-retractable-gel-pen-fine-0-7mm-assorted-ink-barrel-20-set>: HTTP status code is not handled or not allowed 2026-01-28 10:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoformed-plastic-parts-tray-12-1-2-x-8-1-2-x-3-1-compartment-black-269951>: HTTP status code is not handled or not allowed 2026-01-28 10:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32x3-8-hex-standoffs-370611HFA>: HTTP status code is not handled or not allowed 2026-01-28 10:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11112-60-psi-14-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 10:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-led-backlit-panel-50w-5500-lumens-4000k-100-277v>: HTTP status code is not handled or not allowed 2026-01-28 10:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-danger-rigid-plastic-chemical-storage-area>: HTTP status code is not handled or not allowed 2026-01-28 10:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-foam-with-acrylic-adhesive-332-thick-x-2w-x-10l>: HTTP status code is not handled or not allowed 2026-01-28 10:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-nyc-wall-mount-sign-forward-right-side>: HTTP status code is not handled or not allowed 2026-01-28 10:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-20in-deep-file-file-mobile-pedestal-putty>: HTTP status code is not handled or not allowed 2026-01-28 10:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-15-11110-100-psi-18-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 10:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-peel-laser-mailing-labels-3-1-3-x-4-clear-300-box-5664>: HTTP status code is not handled or not allowed 2026-01-28 10:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-lockers-4-tier-12-x-15-x-18-12-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-10000-series-lateral-file-42in-wide-2-drawer-putty>: HTTP status code is not handled or not allowed 2026-01-28 10:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16x6-hex-tap-bolts-grade-5-3796BHT5>: HTTP status code is not handled or not allowed 2026-01-28 10:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-lock-keys-global-industrial-8482-enclosed-bulletin-boards>: HTTP status code is not handled or not allowed 2026-01-28 10:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-10-nylon-insert-hex-lock-nut-75NS8>: HTTP status code is not handled or not allowed 2026-01-28 10:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-laser-inkjet-file-folder-labels-yellow-border-1500-box-5966>: HTTP status code is not handled or not allowed 2026-01-28 10:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-arrow-1>: HTTP status code is not handled or not allowed 2026-01-28 10:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-608-2rs-double-sealed-8mm-bore-22mm-od>: HTTP status code is not handled or not allowed 2026-01-28 10:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-16x1-1-2-plastic-anchors-1424PAC>: HTTP status code is not handled or not allowed 2026-01-28 10:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-six-drawer-anesthesia-cart-with-md30-ans3-accessory-package-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-pushbutton-e-lock-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6305-open-25mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 10:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-fire-extinguisher-right-arrow>: HTTP status code is not handled or not allowed 2026-01-28 10:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-fire-hose-2>: HTTP status code is not handled or not allowed 2026-01-28 10:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-x-9-working-length-j-hook-style-c>: HTTP status code is not handled or not allowed 2026-01-28 10:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-fire-alarm-3>: HTTP status code is not handled or not allowed 2026-01-28 10:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-fire-dept-connector>: HTTP status code is not handled or not allowed 2026-01-28 10:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xp-72122-industrial-ceiling-hvls-fan-high-volume-low-speed-8-ft-dia-1-ph-110v>: HTTP status code is not handled or not allowed 2026-01-28 10:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6307-open-35mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 10:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-six-drawer-anesthesia-cart-with-md30-ans3-accessory-package-hammertone-green>: HTTP status code is not handled or not allowed 2026-01-28 10:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16x6-toggle-anchors-1096TBCR>: HTTP status code is not handled or not allowed 2026-01-28 10:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-7-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-28 10:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbis-clear-container-with-hinged-lid-21-4-5x15-1-5x9-4-5>: HTTP status code is not handled or not allowed 2026-01-28 10:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/st11-folding-digital-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 10:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18x3-elevator-bolt-zinc-3148BE>: HTTP status code is not handled or not allowed 2026-01-28 10:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-hollow-wall-anchors-348960>: HTTP status code is not handled or not allowed 2026-01-28 10:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-all-purpose-labels-2-x-4-2500-box-ml1000b>: HTTP status code is not handled or not allowed 2026-01-28 10:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8x2-fender-washers-6232WF>: HTTP status code is not handled or not allowed 2026-01-28 10:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4x1-1-4-fender-washers-1420WF>: HTTP status code is not handled or not allowed 2026-01-28 10:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-emergency-crash-cart-6-drawers-36-3-4-w-x-22-l-x-43-3-4-h-purple>: HTTP status code is not handled or not allowed 2026-01-28 10:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-cu-yd-forkli-able-black-tilt-truck>: HTTP status code is not handled or not allowed 2026-01-28 10:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-baseball-cap-polyester-meshoxford-lime-one-size>: HTTP status code is not handled or not allowed 2026-01-28 10:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6206zz-double-shielded-30mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 10:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmp41mc-bl-fmpro-41-w-x-20-1-4-d-x-10-h-blue-mobile-maintenance-cart-base>: HTTP status code is not handled or not allowed 2026-01-28 10:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-lb-bulk-grinder-g3-hd-red>: HTTP status code is not handled or not allowed 2026-01-28 10:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-grid-panel-gray-24-x-36>: HTTP status code is not handled or not allowed 2026-01-28 10:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brewwise-single-soft-heat-dbc-brewer-120240v-flk>: HTTP status code is not handled or not allowed 2026-01-28 10:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-dia-x-12-working-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-28 10:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axiom-12-cup-auto-coffee-brewer-axiom-15-31l2u-pf>: HTTP status code is not handled or not allowed 2026-01-28 10:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmp4110tc-rd-fmpro-41-w-x-20-d-x-23-5-8-h-10-drawer-red-chest>: HTTP status code is not handled or not allowed 2026-01-28 10:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leg-gaiter-ansi-class-e-polyester-mesh-limeorange-one-size-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 10:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-aluminum-tall-treatment-cart-key-lock-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6020-2rs-double-sealed-100mm-bore-150mm-od>: HTTP status code is not handled or not allowed 2026-01-28 10:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93701 pages (at 100 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-aluminum-short-treatment-cart-key-lock-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 10:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/creeper-hanger-for-3010005-black-steel-3010007>: HTTP status code is not handled or not allowed 2026-01-28 10:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axiom-12-cup-auto-coffee-brewer-6-warmers-sngl-pwr-conn>: HTTP status code is not handled or not allowed 2026-01-28 10:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyson-airblade-153-wash-dry-hand-dryer-short-110-127v-247659-01>: HTTP status code is not handled or not allowed 2026-01-28 10:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-copper-tailpiece-kit-water-pressure-reducing-valves>: HTTP status code is not handled or not allowed 2026-01-28 10:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brewwise-dual-thermofresh-dbc-brewer-120240v-black-flk>: HTTP status code is not handled or not allowed 2026-01-28 10:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dino-lite-2nd-pole-for-ms35b-36b>: HTTP status code is not handled or not allowed 2026-01-28 10:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-emergency-crash-cart-6-drawers-36-3-4-w-x-26-l-x-43-h-cream>: HTTP status code is not handled or not allowed 2026-01-28 10:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hunter-trak-8482-modern-commercial-ceiling-fan-96-24887-cfm-matte-silver>: HTTP status code is not handled or not allowed 2026-01-28 10:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dino-lite-ad4112nt-handheld-composite-microscope-0-3mp-10x50x-230x>: HTTP status code is not handled or not allowed 2026-01-28 10:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-drawer-parts-cabinet-10164-20w-x-6-3-8d-x-15-13-16h-black-64-drawers>: HTTP status code is not handled or not allowed 2026-01-28 10:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-taupe>: HTTP status code is not handled or not allowed 2026-01-28 10:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b-rate-safe-b1212il-electronic-lock-15w-x-12-1-2d-x-12-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-voltage-370-440-roundrun-capacitor-15-mfd-15dvr>: HTTP status code is not handled or not allowed 2026-01-28 10:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-four-digit-1090-2>: HTTP status code is not handled or not allowed 2026-01-28 10:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s163-ansi-class-3-long-raincoat-hi-vis-lime-large-lg-62029>: HTTP status code is not handled or not allowed 2026-01-28 10:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s371-ansi-class-3-raincoat-hi-vis-lime-5x-61486>: HTTP status code is not handled or not allowed 2026-01-28 10:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19366-americana-cap-mega-ratchet-4-point-nylon-suspension-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/110-125-volt-start-capacitor-378-455-mfd-378b>: HTTP status code is not handled or not allowed 2026-01-28 10:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-column-storage-cabinet-electronic-keypad-lock-60-w-x-28-d-x-81-h-purple>: HTTP status code is not handled or not allowed 2026-01-28 10:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/165-volt-start-capacitor-378-455-mfd-378f>: HTTP status code is not handled or not allowed 2026-01-28 10:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parking-permit-red-rearview-001-100>: HTTP status code is not handled or not allowed 2026-01-28 10:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-x-6-working-length-j-hook-style-9>: HTTP status code is not handled or not allowed 2026-01-28 10:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parking-permit-parking-permit>: HTTP status code is not handled or not allowed 2026-01-28 10:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19455-americana-cap-vented-mega-ratchet-4-point-nylon-suspension-hi-viz-orange>: HTTP status code is not handled or not allowed 2026-01-28 10:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-lightweight-emergency-cart-6-drawers-key-lock-36-3-4-wx22-lx40-1-2-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-spread-basket-lifting-beam-yellow-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronchoscope-drying-cabinet-wall-mount-key-lock-24-w-x-12-3-4-d-x-48-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 10:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-lift-beam-yellow-16-l-x-14-w-x-12-h-32lbs-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-fuel-oil-1>: HTTP status code is not handled or not allowed 2026-01-28 10:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-inhalation-hazard-2-1>: HTTP status code is not handled or not allowed 2026-01-28 10:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6215-2rs-double-sealed-75mm-bore-130mm-od>: HTTP status code is not handled or not allowed 2026-01-28 10:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-only-light-weight-pads-15-x-19-35-gallon-capacity-200box>: HTTP status code is not handled or not allowed 2026-01-28 10:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-feet-x-10-feet-sf-14-90-oz-flame-resist-canvas-tarp-olive-drab>: HTTP status code is not handled or not allowed 2026-01-28 10:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6012nr-open-wsnap-ring-60mm-bore-95mm-od>: HTTP status code is not handled or not allowed 2026-01-28 10:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-hammertone-red>: HTTP status code is not handled or not allowed 2026-01-28 10:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-1987-3-2>: HTTP status code is not handled or not allowed 2026-01-28 10:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8377-type-r-class-3-quilted-bomber-jacket-lime-5xl-25629>: HTTP status code is not handled or not allowed 2026-01-28 10:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-tote-21-x-19-x-14-blue-qty-100-plus>: HTTP status code is not handled or not allowed 2026-01-28 10:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-bonded-drum-top-pads-22-x-22-82-gallon-capacity-25box>: HTTP status code is not handled or not allowed 2026-01-28 10:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-isolation-cart-5-drawers-e-lock-30-w-x-22-l-x-37-1-4-h-red>: HTTP status code is not handled or not allowed 2026-01-28 10:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6320zz-double-shielded-100mm-bore-215mm-od>: HTTP status code is not handled or not allowed 2026-01-28 10:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3108fx-tool-lanyard-single-locking-carabiner-15-lbs-capacity-19808>: HTTP status code is not handled or not allowed 2026-01-28 10:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-910-half-finger-impact-gloves-wrist-support-black-l-17714>: HTTP status code is not handled or not allowed 2026-01-28 10:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6471-thermal-overalls-black-m-41213>: HTTP status code is not handled or not allowed 2026-01-28 10:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-dia-x-50-l-roll-lifting-beam-yellow-18-l-x-40-w-x-56-h-360lbs-10000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/183025d-medium-aluminum-refrigerator-lock-box-with-keyed-differently-lock>: HTTP status code is not handled or not allowed 2026-01-28 10:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-headroom-hoist-trolley-combo-manual-4000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 10:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-series-classroom-chair-gray-vented-back-18-5-8-w-x-30-5-8-h-1>: HTTP status code is not handled or not allowed 2026-01-28 10:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tip-n-roll-bleacher-aluminum-frame-3-row-15-w-capacity-30-1>: HTTP status code is not handled or not allowed 2026-01-28 10:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-bottling-purified-drinking-water-16-9-oz-bottle-24-pack-2016-pallet>: HTTP status code is not handled or not allowed 2026-01-28 10:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-outdoor-wall-mounted-fan>: HTTP status code is not handled or not allowed 2026-01-28 10:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6918-2rs-double-sealed-90mm-bore-125mm-od>: HTTP status code is not handled or not allowed 2026-01-28 10:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjust-a-link-chain-sling-14-long-1-2-chain>: HTTP status code is not handled or not allowed 2026-01-28 10:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-spread-basket-lifting-beam-yellow-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-hazardous-waste-label-generator-info-stock-pvc-free-vinyl-100>: HTTP status code is not handled or not allowed 2026-01-28 10:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pfhkbl-handle-flush-keylocking-fits-doors-cast-zinc>: HTTP status code is not handled or not allowed 2026-01-28 10:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a122406lp-wall-mount-type-1213-encl-1200x2400x600-steelpaint>: HTTP status code is not handled or not allowed 2026-01-28 10:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/feed-shaft-assembly-for-jet-drill-presses>: HTTP status code is not handled or not allowed 2026-01-28 10:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazard-class-9-lithium-battery-label-pvc-free-500-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500mm-drylin-n-40mm-miniature-guide-rail>: HTTP status code is not handled or not allowed 2026-01-28 10:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-short-height-36-3-4-w-x-22-l-x-37-1-4-h-cream>: HTTP status code is not handled or not allowed 2026-01-28 10:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-emergency-cart-short-height-5-drawers-18-wx18-lx34-1-2-h-hammertone-red>: HTTP status code is not handled or not allowed 2026-01-28 10:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-deep-well-storage-plate-2-0ml-pp-square-well-v-bottom-non-sterile-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-emergency-crash-cart-md30-emg1-std-width-4-drawers-breakaway-lock-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drylin-r-open-twin-pillow-block-polymer-bearing-with-shell-1-dia-shaft>: HTTP status code is not handled or not allowed 2026-01-28 10:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunlite-88437-su-t8-led-adv-4-17w-dlc-40k-t8-led-tube-17w-2200-lum-4000k-type-b-direct-wire>: HTTP status code is not handled or not allowed 2026-01-28 10:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-well-tissue-culture-plate-with-lid-individual-sterile-50-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-twin-cylinder-hand-truck-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-well-tissue-culture-plate-with-lid-individual-sterile-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p508-adjustable-tripod-case-42l-x-10-1-2w-x-10-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-mount-single-pole-thermostat-unit-heaters>: HTTP status code is not handled or not allowed 2026-01-28 10:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-5-shelf-bookcase-31w-x-14d-x-65-1-2h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 10:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazardous-location-convector-unit-mount-single-pole-thermostat>: HTTP status code is not handled or not allowed 2026-01-28 10:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/did-you-wash-them-sticker-adhesive-backed-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 10:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-reception-desk-71w-x-30d-x-42h-cherry>: HTTP status code is not handled or not allowed 2026-01-28 10:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/syringe-filter-pes-0-10-181-m-30mm-sterile-green-polypropylene-30-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-braille-sign-women-brown-1>: HTTP status code is not handled or not allowed 2026-01-28 10:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabric-task-chair-high-back-black>: HTTP status code is not handled or not allowed 2026-01-28 10:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150mm-x-15mm-petri-dish-sterile-clear-polystyrene-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-5-41f-temperature-indicators-100-box>: HTTP status code is not handled or not allowed 2026-01-28 10:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-gaylord-tote-bin-liner-51-x-49-x-85-3-mils-price-each-sold-50-liners-per-roll>: HTTP status code is not handled or not allowed 2026-01-28 10:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enpac-hdpe-spill-containment-cover-for-4-drum-in-line-poly-spillpallet-300099-1-2lx33-4wx43h>: HTTP status code is not handled or not allowed 2026-01-28 10:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-isolation-cart-3-drawers-standard-key-lock-37-1-2-wx22-lx42-63-100-h-sand>: HTTP status code is not handled or not allowed 2026-01-28 10:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-foam-filled-855-28-ff-30l-x-22w-x-14h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-on-floor-sign-emergency-shower>: HTTP status code is not handled or not allowed 2026-01-28 10:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-short-height-36-3-4-w-x-22-l-x-37-1-4-h-mauve>: HTTP status code is not handled or not allowed 2026-01-28 10:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-print-shipping-case-p50-203-22l-x-26w-x-5h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150ml-bottle-top-filter-pes-filter-material-0-22-181-m-50mm-sterile-24-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-spill-containment-cabinet-x-large-24w-x-12d-x-35h-universal>: HTTP status code is not handled or not allowed 2026-01-28 10:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyjohn-applause-direct-connect-hand-washing-station>: HTTP status code is not handled or not allowed 2026-01-28 10:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-procedure-cart-6-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-procedure-cart-6-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-white>: HTTP status code is not handled or not allowed 2026-01-28 10:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyjohn-pjn3-portable-restroom-evergreen>: HTTP status code is not handled or not allowed 2026-01-28 10:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-bracket-workbench-computer-accessories-black>: HTTP status code is not handled or not allowed 2026-01-28 10:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93799 pages (at 98 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m16-20-carbon-steel-insert-for-metal-450-16>: HTTP status code is not handled or not allowed 2026-01-28 10:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facility-visi-sign-emergency-shut-off>: HTTP status code is not handled or not allowed 2026-01-28 10:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-battery-for-electric-pipet-controller-1-100ml>: HTTP status code is not handled or not allowed 2026-01-28 10:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-narrow-medical-cart-6-drawers-e-lock-24-3-4-wx22-lx43-3-4-h-white>: HTTP status code is not handled or not allowed 2026-01-28 10:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-occupancy-sign-occupied-vacant-blue>: HTTP status code is not handled or not allowed 2026-01-28 10:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-pipet-controller-120v-1-100ml-cordless>: HTTP status code is not handled or not allowed 2026-01-28 10:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-37-1-2-w-x-22-l-x-42-63-100-h-hammertone-green>: HTTP status code is not handled or not allowed 2026-01-28 10:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000ml-erlenmeyer-flask-vent-cap-plain-bottom-petg-sterile-6-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161557-vest-style-climbing-harness-quick-connect-m-l>: HTTP status code is not handled or not allowed 2026-01-28 10:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-insert-for-hard-wood-stainless-400-4-cr>: HTTP status code is not handled or not allowed 2026-01-28 10:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s60x6-female-buttress-x-1-hose-barb>: HTTP status code is not handled or not allowed 2026-01-28 10:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-female-npt-pipe-thread-x-2-part-a-camlock-stubbyadapter>: HTTP status code is not handled or not allowed 2026-01-28 10:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-insert-for-soft-wood-flanged-901024-10>: HTTP status code is not handled or not allowed 2026-01-28 10:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-insert-for-soft-wood-flanged-901024-20>: HTTP status code is not handled or not allowed 2026-01-28 10:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161569-vest-style-positioning-harness-quick-connect-2xl>: HTTP status code is not handled or not allowed 2026-01-28 10:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-sign-no-smoking-brown>: HTTP status code is not handled or not allowed 2026-01-28 10:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/syringe-filter-pvdf-0-10-181-m-13mm-sterile-light-blue-polypropylene-75-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-insert-for-soft-wood-flanged-901420-13>: HTTP status code is not handled or not allowed 2026-01-28 10:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-cylinder-dolly-hd-atd>: HTTP status code is not handled or not allowed 2026-01-28 10:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheeled-case-696-wheeler-carrying-case-25l-x-19w-x-10h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-5ml-screw-top-micro-tube-cap-self-standing-grip-band-green-grip-cap-sterile-500pk>: HTTP status code is not handled or not allowed 2026-01-28 10:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161428-comfort-vest-style-harness-quick-connect-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-sign-blank-yellow>: HTTP status code is not handled or not allowed 2026-01-28 10:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/161438-comfort-vest-style-positioning-climbing-harness-pass-through-xl>: HTTP status code is not handled or not allowed 2026-01-28 10:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-occupancy-sign-alarm-on-off-red>: HTTP status code is not handled or not allowed 2026-01-28 10:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500ml-pp-bottle-top-filter-nylon-filter-material-0-20-181-m-90mm-non-sterile-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 10:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-alaska>: HTTP status code is not handled or not allowed 2026-01-28 10:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-single-in-finsert-170-332-br>: HTTP status code is not handled or not allowed 2026-01-28 10:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedgebit-drill-bit-sdsplus-size-38-usable-6-l-overall-8-l>: HTTP status code is not handled or not allowed 2026-01-28 10:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/275-omni-telescoping-case-lined-with-1-2-foam-trade-show-case-43l-x-33w-x-8h-black>: HTTP status code is not handled or not allowed 2026-01-28 10:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedgebit-drill-bit-spline-size-12-usable-8-l-overall-13-l>: HTTP status code is not handled or not allowed 2026-01-28 10:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-blower-hadp15-5-hp-3-ph-tefc-cw-bottom-horizontal>: HTTP status code is not handled or not allowed 2026-01-28 10:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snow-plow-hand-controller-replaces-fisher-9400-western-56462>: HTTP status code is not handled or not allowed 2026-01-28 10:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-blower-hadp10-34-hp-1-ph-tefc-cw-top-horizontal>: HTTP status code is not handled or not allowed 2026-01-28 10:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazardous-location-blower-hadp8-12-hp-1-ph-explosion-proof-cw-upblast>: HTTP status code is not handled or not allowed 2026-01-28 10:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1614chnfss-j-box-continuous-hinge-with-clamps-type-4x-1600x1400x600in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-28 10:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-machine-labels-caution-blank-with-header-only>: HTTP status code is not handled or not allowed 2026-01-28 10:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-ga-triple-tier-locker-w-keyless-entry-lock-9-compartments-72-wx24-dx75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 10:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-flush-press-insert-stainless-240-6-cr>: HTTP status code is not handled or not allowed 2026-01-28 10:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-closed-shelving-unit-with-52-polypropylene-bins-36-w-x-24-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-28 10:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a36h3012sslp-continuous-hinge-wclamps-type-4x-3600x3000x1200in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-28 10:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinc-die-cast-adjustable-lever-steel-38-16-126-stud-248l>: HTTP status code is not handled or not allowed 2026-01-28 10:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tele-pro-davit-crane-1200-lb-capcity-w-ac-electric-winch>: HTTP status code is not handled or not allowed 2026-01-28 10:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a30h2408ss6lp3pt-continuous-hinge-w3point-ltch-type-4x-3000x2400x800in-ss-type-316l>: HTTP status code is not handled or not allowed 2026-01-28 10:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/think-osha-10x14-vinyl-our-aim-no-accidents>: HTTP status code is not handled or not allowed 2026-01-28 10:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmpsa2705tc-fmpro-all-stainless-steel-27-wx20-dx23-5-8-h-5-drawer-chest>: HTTP status code is not handled or not allowed 2026-01-28 10:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-cabinet-that-features-3-adjustable-shelves-48-w-x-24-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-28 10:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-danger-this-machine-starts-automatically>: HTTP status code is not handled or not allowed 2026-01-28 10:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-roller-bearing-cone-jm205149>: HTTP status code is not handled or not allowed 2026-01-28 10:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgs6k-grounding-bar-system-600mm-copper>: HTTP status code is not handled or not allowed 2026-01-28 10:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24h2412sslp-continuous-hinge-wclamps-type-4x-2400x2400x1200in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-28 10:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-lad-saf-40-ft-vertical-safety-system-galvanized-steel-cable-6118040>: HTTP status code is not handled or not allowed 2026-01-28 10:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a20h1610sslp-continuous-hinge-wclamps-type-4x-2000x1600x1000in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-28 10:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-3-burner-propane-gas-grill-black>: HTTP status code is not handled or not allowed 2026-01-28 10:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-evaporator-fan-motor-for-nexel-models-243005-243006>: HTTP status code is not handled or not allowed 2026-01-28 10:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-dolly-for-multi-purpose-stacking-chairs>: HTTP status code is not handled or not allowed 2026-01-28 10:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-evaporator-for-nexel-model-243007>: HTTP status code is not handled or not allowed 2026-01-28 10:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-cantilever-arm-w-lip>: HTTP status code is not handled or not allowed 2026-01-28 10:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vrtcl-concrete-pressure-tong-w-urethane-pads-1100-lbs-cap-3-8-9-7-16-grip-range>: HTTP status code is not handled or not allowed 2026-01-28 10:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/q402013pcicc-qlinej-box-clear-screw-cvr-type-4x-1528x740x484in-polycarb>: HTTP status code is not handled or not allowed 2026-01-28 10:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-machine-labels-danger-electrical-hazard-authorized-personnel-only>: HTTP status code is not handled or not allowed 2026-01-28 10:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-twin-crossarm-with-4-pad-vacuum-lifter-680-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 10:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoist-ring-180-pivot-44-090-lb-load-capacity-pink-steel-m48-bolt>: HTTP status code is not handled or not allowed 2026-01-28 10:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-116-thick-x-1-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 10:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-plan-standing-height-desk-48-w-x-24-d-x-40-h-gray-top-with-black-legs>: HTTP status code is not handled or not allowed 2026-01-28 10:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/id-badge-holder-w-clip-vertical-3-x-4-clear-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 10:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerpoint-hoist-ring-180-pivot-17-630-lb-load-capacity-m36-bolt-49mm-dim-a-size>: HTTP status code is not handled or not allowed 2026-01-28 10:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/restricted-area-plastic-bilingual-maintenance-personnel-only>: HTTP status code is not handled or not allowed 2026-01-28 10:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-red-no-a1307red>: HTTP status code is not handled or not allowed 2026-01-28 10:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-3-way-pvc-ball-valve-socket-threaded-ends-w-nema-4-115vac-B439041>: HTTP status code is not handled or not allowed 2026-01-28 10:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/restricted-area-plastic-not-an-entrance-only-authorized-persons-to-enter>: HTTP status code is not handled or not allowed 2026-01-28 10:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-plastic-sheet-1-12-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-28 10:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-18-thick-x-6-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 10:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-jack-100-ft-ct-zn>: HTTP status code is not handled or not allowed 2026-01-28 10:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-esdanti-static-tech-coat-electronic-blue-polyesternylon-3xl>: HTTP status code is not handled or not allowed 2026-01-28 10:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-thick-x-5-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 10:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-spreader-beam-30-000-lbs-capacity-120-chain-top-rigging-yellow-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-v10-swivel-self-locking-hk>: HTTP status code is not handled or not allowed 2026-01-28 10:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-1-thick-x-8-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 10:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-forged-towing-hooks-w-plain-finish-2-pack-b2800a>: HTTP status code is not handled or not allowed 2026-01-28 10:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-danger-high-voltage-keep-out>: HTTP status code is not handled or not allowed 2026-01-28 10:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72in-class-2-trailer-safety-chain-w-2-quick-link-connectors-b93272sc>: HTTP status code is not handled or not allowed 2026-01-28 10:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-4in-od-forged-lunette-eye-lw847>: HTTP status code is not handled or not allowed 2026-01-28 10:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-reel-lifter-500-lbs-capacity-yellow-steel>: HTTP status code is not handled or not allowed 2026-01-28 10:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-position-adjustable-eye-assembly-w-3in-heavy-duty-channel-b20145>: HTTP status code is not handled or not allowed 2026-01-28 10:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-38-thick-x-6-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 10:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-gripper-front-lab-coat-white-polycombed-cotton-m>: HTTP status code is not handled or not allowed 2026-01-28 10:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-light-15-flush-mount-frosted-melon-glass-textured-white>: HTTP status code is not handled or not allowed 2026-01-28 10:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-90-fitting-p1458eg-3-hole-electro-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 10:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-light-12-flush-mount-large-alabaster-mushroom-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 10:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-wing-shape-fitting-p2348eg-electro-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 10:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-trolleys-p2949eg-electro-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 10:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-bar-14-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 10:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-mounting-kit-tan-2>: HTTP status code is not handled or not allowed 2026-01-28 10:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-wpx45-pallet-trucks-cl-1120-133000-10>: HTTP status code is not handled or not allowed 2026-01-28 10:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-short-sleeve-work-shirt-fluorescent-yellowgreen-regular-s>: HTTP status code is not handled or not allowed 2026-01-28 10:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/justrite-uno-type-ii-safety-can-1-gallon-with-5-8-hose>: HTTP status code is not handled or not allowed 2026-01-28 10:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-way-die-cast-zinc-trailer-connector-trailer-side-tc2012>: HTTP status code is not handled or not allowed 2026-01-28 10:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-light-13-semi-flush-alabaster-glass-old-bronze>: HTTP status code is not handled or not allowed 2026-01-28 10:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/link-pin-for-101-series-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 10:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93898 pages (at 99 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 10:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-11-garolite-sheet-116-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 10:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frost-swing-up-safety-grab-bar-white>: HTTP status code is not handled or not allowed 2026-01-28 10:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-20-hp-1200-rpm>: HTTP status code is not handled or not allowed 2026-01-28 10:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-7-5hp-1800rpm-f2-mount>: HTTP status code is not handled or not allowed 2026-01-28 10:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-wp40-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 10:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-ball-hitch-tubular-shank-w-chrome-balls-1802207>: HTTP status code is not handled or not allowed 2026-01-28 10:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12in-hitch-receiver-extension-w-step-1804015>: HTTP status code is not handled or not allowed 2026-01-28 11:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-40-hp-1200-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-spacer-clip>: HTTP status code is not handled or not allowed 2026-01-28 11:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-64-6-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 11:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-solid-plastic-shelving-unit-silver-epoxy-posts-18w-x-36l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 11:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-gpw-series-pallet-trucks-cr-083970>: HTTP status code is not handled or not allowed 2026-01-28 11:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-1-12-thick-x-48-wide-x-120-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-electric-chain-hoist-1-2-ton-6-ft-lift-16-fpm-460v-1-2-hp-3-step-controller>: HTTP status code is not handled or not allowed 2026-01-28 11:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-4-thick-x-48-wide-x-96-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-lf-shackle-grey-dial>: HTTP status code is not handled or not allowed 2026-01-28 11:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-lf-shackle-orange-dial>: HTTP status code is not handled or not allowed 2026-01-28 11:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gemini-valve-brass-ball-valve-w-500-series-double-acting-pneumatic-actuator-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x36x74-chrome-wire-shelving-with-28-giant-stacking-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 11:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hw405xl-heatworx-450-heat-resistant-gloves-1-pair-black-x-large>: HTTP status code is not handled or not allowed 2026-01-28 11:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-mounting-double-sided-tape-3-4-wide-x-350-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-pin-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks-yl-585096303>: HTTP status code is not handled or not allowed 2026-01-28 11:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-sheets-30-x-40-200-ect-32-white-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-rmx-50-65-pallet-trucks-pr-27626-01-a>: HTTP status code is not handled or not allowed 2026-01-28 11:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-glue-easy-squeeze-gel-14-oz-super-glue-liquid>: HTTP status code is not handled or not allowed 2026-01-28 11:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerball-premium-55-cm-22-in-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axle-assembly-for-8300-8400-8500-pallet-trucks-ra-671-015-16>: HTTP status code is not handled or not allowed 2026-01-28 11:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-key-control-lf-shackle-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ascend-153-stapler-built-in-remover-staple-storage-6-case-pink>: HTTP status code is not handled or not allowed 2026-01-28 11:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x75-steel-shelving-with-24-giant-stacking-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-28 11:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x75-steel-shelving-with-21-giant-stacking-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-28 11:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-key-control-green>: HTTP status code is not handled or not allowed 2026-01-28 11:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-key-control-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-3-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disconnect-handle-for-smx-45-walkie-pallet-truck>: HTTP status code is not handled or not allowed 2026-01-28 11:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x75-steel-shelving-with-15-giant-stacking-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 11:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/balance-trainer-34-diameter-x-22-red>: HTTP status code is not handled or not allowed 2026-01-28 11:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-tire-hub-for-w-40z-b218-45z-c215-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-disconnect-switch-for-w-45z-hd-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-stability-dome-20-red>: HTTP status code is not handled or not allowed 2026-01-28 11:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-with-6-deep-deck-24-x-48-fixed-height-polyurethane>: HTTP status code is not handled or not allowed 2026-01-28 11:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bowl-sqr-base-16-7oz-black>: HTTP status code is not handled or not allowed 2026-01-28 11:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-with-6-deep-deck-30-x-48-adj-height-polyurethane-retaining-lip>: HTTP status code is not handled or not allowed 2026-01-28 11:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haws-axion-advantage-ax14-eye-face-wash-shower-system-abs-plastic>: HTTP status code is not handled or not allowed 2026-01-28 11:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-with-6-deep-deck-24-x-48-fixed-height-polyurethane-retaining-lip>: HTTP status code is not handled or not allowed 2026-01-28 11:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-bar-w-lse-acrylic-adhesive-14-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-window-display-sign-15-x-12-58-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tumbler-nt-9oz-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microflex-174-onyx-174-n64-nitrile-gloves-powder-free-beaded-size-xl-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-bar-18-thick-x-1-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microflex-174-safegrip-174-sg-375-latex-gloves-powder-free-beaded-size-l-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-motor-trolley-12-15-15>: HTTP status code is not handled or not allowed 2026-01-28 11:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workplace-hand-towels-09200>: HTTP status code is not handled or not allowed 2026-01-28 11:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-3-15-17>: HTTP status code is not handled or not allowed 2026-01-28 11:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-organizer-with-6-compartments-black>: HTTP status code is not handled or not allowed 2026-01-28 11:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplicity-paper-towel-dispenser-waste-receptacle-black>: HTTP status code is not handled or not allowed 2026-01-28 11:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-heavy-duty-led-flood-light-50w-magnet-mount>: HTTP status code is not handled or not allowed 2026-01-28 11:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/karcher-double-hook-km90-sweeper-6-980-077-0>: HTTP status code is not handled or not allowed 2026-01-28 11:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-tote-tan-t146-18l-x-10-1-2w-x-2-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 11:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-tear-drop-pallet-rack-starter-144-w-x-24-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 11:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-wp-2300-pallet-trucks-cr-813014>: HTTP status code is not handled or not allowed 2026-01-28 11:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-11-standard-capacity-xl11-pleated-panel-ext-surface-20-inch-w-x-20-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 11:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-pe-4000-pallet-trucks-cr-100611-040>: HTTP status code is not handled or not allowed 2026-01-28 11:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kl-lever-hoists-1650-lb-capacity-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 11:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-lb-lever-hoist-1-12-20-foot-lift>: HTTP status code is not handled or not allowed 2026-01-28 11:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-132-thick-x-34-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-dw-nrwrm-9-black>: HTTP status code is not handled or not allowed 2026-01-28 11:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-132-thick-x-1-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/static-ground-strap-for-mpw060e-a897-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-motor-trolley-2-15-28>: HTTP status code is not handled or not allowed 2026-01-28 11:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-pe-4500-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gt-beam-trolly-22000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-bank-roller-cabinet-w-8-drawers-27-w-x-22-3-8-d-x-38-1-2-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cup-mug-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-riser-for-6hbe30-pallet-trucks-to-00590-42110-71>: HTTP status code is not handled or not allowed 2026-01-28 11:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-bank-roller-cabinet-w-14-drawers-42-w-x-22-3-8-d-x-38-1-2-h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-38-thick-x-34-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-tote-orange-t142-19l-x-12-1-2w-x-4-3-8h>: HTTP status code is not handled or not allowed 2026-01-28 11:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-18-thick-x-1-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-eje120-pallet-trucks-mu-51058752>: HTTP status code is not handled or not allowed 2026-01-28 11:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-ew60-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pt-beam-trolly-2200-lb-capacity-3-to-8-flange-width>: HTTP status code is not handled or not allowed 2026-01-28 11:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-motor-trolley-1-15-28>: HTTP status code is not handled or not allowed 2026-01-28 11:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-squeeze-desktop-stapler-40-sheet-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 11:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-30-quickpick-double-open-bins-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 11:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-cf-hand-chain-hoist-1-12-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 11:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-poly-green-174-wire-ledge-21-w-x-4-h>: HTTP status code is not handled or not allowed 2026-01-28 11:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-standard-capacity-xl8-pleated-panel-ext-surface-16-inch-w-x-25-inch-h-x-4-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 11:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-8210-pallet-trucks-ra-312636-000-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-motor-trolley-14-20-539>: HTTP status code is not handled or not allowed 2026-01-28 11:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-for-pe-4000-pallet-trucks-cr-118924>: HTTP status code is not handled or not allowed 2026-01-28 11:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-4-thick-x-8-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-push-trolley-1-10-7>: HTTP status code is not handled or not allowed 2026-01-28 11:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-4-thick-x-6-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-push-trolley-14-15-53>: HTTP status code is not handled or not allowed 2026-01-28 11:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-push-trolley-18-15-559>: HTTP status code is not handled or not allowed 2026-01-28 11:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-npp-40-pallet-trucks-ct-1075064-a>: HTTP status code is not handled or not allowed 2026-01-28 11:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-push-trolley-12-20-15>: HTTP status code is not handled or not allowed 2026-01-28 11:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 93996 pages (at 98 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 11:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-storage-galvanized-steel-shed-53661-8-15-16-w-x-3-9-16-d-x-5-1-4-h>: HTTP status code is not handled or not allowed 2026-01-28 11:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-111-112-113-114-pallet-trucks-ra-632-069-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solar-powered-integrated-daylight-ai-smart-4800-lumens-standard-3000k>: HTTP status code is not handled or not allowed 2026-01-28 11:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-8ft-mobile-cafeteria-stool-unit-with-mdf-core-top-protect-edge-gray-top-blue-stool>: HTTP status code is not handled or not allowed 2026-01-28 11:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-z5560-high-performance-toilet>: HTTP status code is not handled or not allowed 2026-01-28 11:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-motor-trolley-2-15-14>: HTTP status code is not handled or not allowed 2026-01-28 11:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/string-guard-for-b-or-c-60-80-xt-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spiral-pin-for-w-40-z-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-insulated-proofing-holding-cabinet-vp18>: HTTP status code is not handled or not allowed 2026-01-28 11:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-white-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wo-pockets-light-blue-polyestercombed-cotton-m>: HTTP status code is not handled or not allowed 2026-01-28 11:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5215-double-row-angular-contact-bearing-open-75mm-bore-x-130mm-od-x-41-3mm-w>: HTTP status code is not handled or not allowed 2026-01-28 11:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-fitting-for-8300-8400-8500-pallet-trucks-ra-840-018>: HTTP status code is not handled or not allowed 2026-01-28 11:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-container-16-oz-480ml-polypropylene-snap-lid-white-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-2-thick-x-32-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-wall-mount-drinking-fountain-tan-river-rock-2>: HTTP status code is not handled or not allowed 2026-01-28 11:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-button-front-chef-coat-thermometer-pocket-pearl-buttons-white-polycotton-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-wall-mount-drinking-fountain-ada-accessible-red-quartzite-1>: HTTP status code is not handled or not allowed 2026-01-28 11:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxtrac-snow-blower-garden-tractor-tire-chains-4-link-spacing-pair-1062955>: HTTP status code is not handled or not allowed 2026-01-28 11:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-head-for-w-40z-b218-45z-c215-pallet-trucks-hy-1467778>: HTTP status code is not handled or not allowed 2026-01-28 11:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-tite-rite-container-60ml-2-oz-sterile-screw-cap-id-label-tab-seal>: HTTP status code is not handled or not allowed 2026-01-28 11:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-38-thick-x-8-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-iii-mod-tile-comfort-36-middle>: HTTP status code is not handled or not allowed 2026-01-28 11:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-1-thick-x-8-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwikool-portable-air-conditioner-kib1411-1-point-1-ton-13850-btu-with-two-12-in-condenser-flanges>: HTTP status code is not handled or not allowed 2026-01-28 11:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fecal-container-30ml-screwcap-with-spoon-polystyrene-conical-bottom-self-standing-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxtrac-snow-blower-garden-tractor-tire-chains-2-link-spacing-pair-1063856>: HTTP status code is not handled or not allowed 2026-01-28 11:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxtrac-snow-blower-garden-tractor-chains-2-link-4-0-cross-chainpair-1065056>: HTTP status code is not handled or not allowed 2026-01-28 11:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-2-12-thick-x-2-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-container-30ml-screwcap-polystyrene-conical-bottom-self-standing-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-pe-4000-pallet-trucks-cr-092537-040>: HTTP status code is not handled or not allowed 2026-01-28 11:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-33-4-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-tite-rite-container-40ml-1-34-oz-polypropylene-48mm-opening-white-screwcap-600pk>: HTTP status code is not handled or not allowed 2026-01-28 11:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-container-172-oz-5160ml-polyethylene-snap-lid-natural-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cook-pants-black-white-check-polyestercotton-twill-36-x-32>: HTTP status code is not handled or not allowed 2026-01-28 11:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-8hbw23-pallet-trucks-to-00590-53386-71-xl-a>: HTTP status code is not handled or not allowed 2026-01-28 11:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-10-step-perforated-cantilever-ladder-42-overhang>: HTTP status code is not handled or not allowed 2026-01-28 11:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-55-4-h-shelf-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 11:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-mpw060e-a897-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mid-back-leathersoft-gaming-chair-adjustable-foot-ring-chrome-base-white>: HTTP status code is not handled or not allowed 2026-01-28 11:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-15-step-perforated-cantilever-ladder-42-overhang>: HTTP status code is not handled or not allowed 2026-01-28 11:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butcher-wrap-white-polyestercombed-cotton-s>: HTTP status code is not handled or not allowed 2026-01-28 11:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-pin-for-101-series-pallet-trucks-ra-850-137-246-002>: HTTP status code is not handled or not allowed 2026-01-28 11:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-wood-top-cast-vertical-storage-dresser-white-light-gray-fabric-drawers>: HTTP status code is not handled or not allowed 2026-01-28 11:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcl-3850ia>: HTTP status code is not handled or not allowed 2026-01-28 11:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x75-steel-shelving-with-45-6-h-shelf-bins-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 11:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sleeve-for-rr-rd-5000-series-reach-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butcher-wrap-white-polyestercombed-cotton-xs>: HTTP status code is not handled or not allowed 2026-01-28 11:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-132-thick-x-18-wide-x-18-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-recycled-mixed-color-cut-rags-50-lb-box>: HTTP status code is not handled or not allowed 2026-01-28 11:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks-yl-150118854-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-button-front-chef-coat-pearl-buttons-black-spun-polyester-3xl>: HTTP status code is not handled or not allowed 2026-01-28 11:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-100-cotton-blue-huck-towels-50-lb-box>: HTTP status code is not handled or not allowed 2026-01-28 11:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-bar-height-breakroom-table-black>: HTTP status code is not handled or not allowed 2026-01-28 11:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-pocket-chart-holder-medium-oak>: HTTP status code is not handled or not allowed 2026-01-28 11:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-pocket-chart-holder-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 11:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-coat-rack-with-5-brass-hooks-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 11:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-wrpn-60-80-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sight-guard-eggcrate-panel-angled-45-degrees-aluminum-white-pk2>: HTTP status code is not handled or not allowed 2026-01-28 11:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butcher-wrap-white-polyestercombed-cotton-5xl>: HTTP status code is not handled or not allowed 2026-01-28 11:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-1-14-thick-x-36-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-4-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-pin-for-1w2b-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-15-yellow-steel-toe-boot-polyurethane-size-13>: HTTP status code is not handled or not allowed 2026-01-28 11:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spx421-electronic-portable-balance-with-lcd-display-420g-x-0-1g>: HTTP status code is not handled or not allowed 2026-01-28 11:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-ladder-10-step-aluminum-perforated-lock-step-28-d-top-step-24-w-step>: HTTP status code is not handled or not allowed 2026-01-28 11:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-34-thick-x-5-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelbarrow-ladder-10-steps-aluminum-350-lb-capacity-14-d-top-step-24-w-step>: HTTP status code is not handled or not allowed 2026-01-28 11:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-magazine-24-brochure-wall-display-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 11:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-storage-bin-30w-32-12d-46h-ss-finish>: HTTP status code is not handled or not allowed 2026-01-28 11:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-pocket-counter-top-business-card-holder-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 11:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-bi-level-drinking-fountain-w-filter-rotocast-granite-finish>: HTTP status code is not handled or not allowed 2026-01-28 11:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-hazmax-ez-fit-green-yellow-steel-toe-mid-sole-pvc-size-14>: HTTP status code is not handled or not allowed 2026-01-28 11:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-hpt25-lw-fits-toyota-model-hpt25>: HTTP status code is not handled or not allowed 2026-01-28 11:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-grinders-buffer-353t-20q-2-4p-dental-lathe-mto>: HTTP status code is not handled or not allowed 2026-01-28 11:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-button-front-chef-coat-pearl-buttons-black-spun-polyester-l>: HTTP status code is not handled or not allowed 2026-01-28 11:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-monitor-stand-riser-with-2-removable-organizer-drawers-black>: HTTP status code is not handled or not allowed 2026-01-28 11:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wexterior-pockets-white-polyestercombed-cotton-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cafeteria-table-w-black-stools-121-inch-l-x-73-1-2-inch-w-elliptical-walnut-top-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-132-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x48x74-chrome-wire-shelving-with-91-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 11:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garnish-chef-coat-white-wblack-trim-polyestercotton-3xl>: HTTP status code is not handled or not allowed 2026-01-28 11:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-rod-1-38-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-6hbw23-lw-fits-toyota-model-6hbw23>: HTTP status code is not handled or not allowed 2026-01-28 11:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-bar-w-lse-acrylic-adhesive-12-thick-x-1-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7ft-wooden-market-umbrella-khaki>: HTTP status code is not handled or not allowed 2026-01-28 11:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-mannequin-hands-by-side-legs-apart-gloss-finish-white>: HTTP status code is not handled or not allowed 2026-01-28 11:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-rod-1-38-diameter-x-2-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-chemtex-green-jacket-w-attached-hood-pvc-on-polyester-size-2x>: HTTP status code is not handled or not allowed 2026-01-28 11:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sitex-48-yellow-coat-w-detachable-hood-pvc-size-4x>: HTTP status code is not handled or not allowed 2026-01-28 11:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-plug-12-13mm-santoprene-for-vacuum-and-test-tubes-white-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13in-replacement-pad-drive-poly-scrub-brush>: HTTP status code is not handled or not allowed 2026-01-28 11:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-strength-buna-n-rubber-sheet-no-adhesive-70a-316-thick-x-18-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-5-1-2x10-7-8x5-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bonita-electric-height-adjustable-desk-30x60-hardrock-maple-w-black-base>: HTTP status code is not handled or not allowed 2026-01-28 11:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x48x74-chrome-wire-shelving-with-36-6-h-grid-container-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mirror-shoe-display-10w-x-4d-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 11:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-8-1-4x10-3-4x7-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-5ml-fine-tip-153mm-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x72x74-chrome-wire-shelving-with-140-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 11:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 94096 pages (at 100 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 11:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-11x10-7-8x5-red>: HTTP status code is not handled or not allowed 2026-01-28 11:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x72x74-chrome-wire-shelving-with-176-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-snap-13mm-pe-for-13mm-glass-and-evacuated-tubes-and-12mm-plastic-test-tubes-green-1000pk>: HTTP status code is not handled or not allowed 2026-01-28 11:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-12-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sitex-48-yellow-coat-w-detachable-hood-pvc-size-large>: HTTP status code is not handled or not allowed 2026-01-28 11:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-plastic-bar-38-thick-x-3-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-diamond-glass-25-x-75mm-charged-90-ground-edges-aqua-frosted-72-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-full-brim-hard-hat-mate-copper-pattern-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 11:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-diamond-glass-25-x-75mm-charged-90-ground-edges-blue-frosted-72-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-18-thick-x-5-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-2-ton-electric-chain-hoist-15-115-230v-1>: HTTP status code is not handled or not allowed 2026-01-28 11:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axial-exhaust-fan-2400-cfm>: HTTP status code is not handled or not allowed 2026-01-28 11:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-yellow-3-piece-suit-pvc-size-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 11:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-332-thick-x-3-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g1-full-facepiece-scba-respirator-medium-10161813>: HTTP status code is not handled or not allowed 2026-01-28 11:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-cow-leather-driver-gloves-with-keystone-thumb-size-medium-pkg-qty-12>: HTTP status code is not handled or not allowed 2026-01-28 11:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-respirator-cartridges-organic-vapor-gma-p100-2-pk-815362>: HTTP status code is not handled or not allowed 2026-01-28 11:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-116-thick-x-6-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-hinged-lid-1-1-cu-yd-self-dumping-plastic-hopper>: HTTP status code is not handled or not allowed 2026-01-28 11:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-rubber-base-16-lb-base-03-751-16>: HTTP status code is not handled or not allowed 2026-01-28 11:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-hinged-lid-1-1-cu-yd-self-dumping-plastic-hopper>: HTTP status code is not handled or not allowed 2026-01-28 11:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-economy-black-steel-toe-steel-mid-sole-pvc-size-7>: HTTP status code is not handled or not allowed 2026-01-28 11:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-12-hazmat-yellow-boot-cover-latex-size-2x>: HTTP status code is not handled or not allowed 2026-01-28 11:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-grab-ss-for-5-16-3-8-dia-lifeline>: HTTP status code is not handled or not allowed 2026-01-28 11:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m6-x-1-0-x-18mm-steel-zinc-clear-class-8-8-din-933-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-36-1-4w-x-43-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-rubber-floor-mat-3mm-thick-4-x-15-black>: HTTP status code is not handled or not allowed 2026-01-28 11:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elephant-bark-rubber-floor-mat-3-8-thick-4-x-10-blue-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-48-1-4w-x-73-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-1-14-thick-x-5-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30w-x-72l-adjustable-height-folding-table-red>: HTTP status code is not handled or not allowed 2026-01-28 11:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gumwand-brass-brushes-10-pack-gw3>: HTTP status code is not handled or not allowed 2026-01-28 11:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fine-rib-corrugated-rubber-floor-mat-1-8-thick-3-x-4-black>: HTTP status code is not handled or not allowed 2026-01-28 11:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/586-fissured-ceiling-panels-mineral-fiber-white-24-x-24>: HTTP status code is not handled or not allowed 2026-01-28 11:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elkay-lk4400bf-single-level-outdoor-tubular-with-water-refilling-station>: HTTP status code is not handled or not allowed 2026-01-28 11:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-flange-plug-13mm-black-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2010-pencil-clip-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-office-partition-panel-with-window-60-1-4w-x-60h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-office-partition-panel-with-window-60-1-4w-x-72h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-50ml-blood-bank-graduated-to-2ml-155mm-5000-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twin-rack-u-frame-48-w-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eyewear-clip-for-helmet-hi-viz-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-3-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-ii-full-brim-with-6-point-mega-ratchet-suspension-hi-viz-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-2-12-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-cover-glass-20mm-x-20mm--2-thickness-1-oz-vacuum-pack-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-it-sh402tr-semi-automatic-label-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 11:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-visor-carrier>: HTTP status code is not handled or not allowed 2026-01-28 11:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-cap-vented-with-accessory-slots-and-4-point-slide-lock-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 11:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-lockout-station-16-hanger-clips-23-12w-x-4-12d-x-27h-deluxe>: HTTP status code is not handled or not allowed 2026-01-28 11:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-snap-16mm-pe-for-16mm-glass-and-evacuated-tubes-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-20-gallon-drum-spill-kit-19-gallon-capacity-1-spill-kitcase>: HTTP status code is not handled or not allowed 2026-01-28 11:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-rod-18-diameter-x-2-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-tone-pullover-hooded-sweatshirt-ansi-class-3-lime-black-m-lbpuhsw-c3-m>: HTTP status code is not handled or not allowed 2026-01-28 11:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freezing-box-2-cardboard-81-place-9x9-format-fits-10ml-and-20ml-vials-white-96pk>: HTTP status code is not handled or not allowed 2026-01-28 11:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-wide-bore-large-bulb-124mm-5000-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-14-thick-x-14-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-24-w-cabinet-red-6>: HTTP status code is not handled or not allowed 2026-01-28 11:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-plug-12mm-green-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anvil-1-galv-mi-45-street-ell>: HTTP status code is not handled or not allowed 2026-01-28 11:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250k-btu-ng-radiant-heater-246649>: HTTP status code is not handled or not allowed 2026-01-28 11:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anvil-38-galv-mi-tee>: HTTP status code is not handled or not allowed 2026-01-28 11:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-counter-high-24-w-cabinet-avalanche-blue-4>: HTTP status code is not handled or not allowed 2026-01-28 11:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-dial-1-4-inch-npt-bottom-0-200psi>: HTTP status code is not handled or not allowed 2026-01-28 11:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/200g-deicing-sprayer-55hp-ge660-pump-75-12-hose-manual-reel-7-pro-boom>: HTTP status code is not handled or not allowed 2026-01-28 11:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300g-skid-sprayer-8hp-k55-pump-300-12-hose-electric-reel>: HTTP status code is not handled or not allowed 2026-01-28 11:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lw36-lawn-spray-wand>: HTTP status code is not handled or not allowed 2026-01-28 11:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-dial-liquid-filled-1-4-inch-bottom-0-160psi>: HTTP status code is not handled or not allowed 2026-01-28 11:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-dial-liquid-filled-1-4-inch-bottom-0-300psi>: HTTP status code is not handled or not allowed 2026-01-28 11:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-bin-cabinet-138-red-hook-on-bins-3-adj-shelves-48wx24dx72h>: HTTP status code is not handled or not allowed 2026-01-28 11:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-bin-cabinet-192-blue-hook-on-bins-48w-24d-84h>: HTTP status code is not handled or not allowed 2026-01-28 11:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sentinel-chair-rectangular-24-w-x-24-l-bl-gy-access-door>: HTTP status code is not handled or not allowed 2026-01-28 11:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-inch-variangle-thermometer-6-inch-stem-0-120f>: HTTP status code is not handled or not allowed 2026-01-28 11:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x15-1-2-kraft-clasp-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 11:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m18-fuel-16-chainsaw-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-flat-panel-ceiling-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 11:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/200g-deicing-sprayer-5hp-ge85-pump-75-12-hose-manual-reel-6-eco-boom>: HTTP status code is not handled or not allowed 2026-01-28 11:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/149646-toughstripe-max-floor-marking-tape-vinyl-4-inch-wide-100-feet-long-green>: HTTP status code is not handled or not allowed 2026-01-28 11:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-pentrating-roof-mount-2-od-and-30-long-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-steel-height-adjustable-science-lab-table-30-x-60-hpl-top-black>: HTTP status code is not handled or not allowed 2026-01-28 11:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-heavy-duty-tripod>: HTTP status code is not handled or not allowed 2026-01-28 11:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254vs-with-newall-dp700-dro-x-y-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 11:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-teachers-desk-48-x-30-mahogany-top-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en1400-14-enclosure-with-screw-on-cover>: HTTP status code is not handled or not allowed 2026-01-28 11:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-cap-for-wg-6-gray-B732471>: HTTP status code is not handled or not allowed 2026-01-28 11:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-cap-for-wg-6-windsor-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dwa-dcb102-jobsite-charging-station>: HTTP status code is not handled or not allowed 2026-01-28 11:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-month-illustrators-edition-wall-calendar-12-x-11-3-4-illustrations-2016>: HTTP status code is not handled or not allowed 2026-01-28 11:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-diamond-white-glass-25-x-75mm-90-ground-edges-yellow-frosted1440-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-insulated-prime-coat-dual-latch-10x10-frc10x10pc-dul>: HTTP status code is not handled or not allowed 2026-01-28 11:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-freezer-10f-27-58w-30-18d-29-34h-tuc-27f-d-2>: HTTP status code is not handled or not allowed 2026-01-28 11:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/monthly-refillable-desk-pad-22-x-17-white-2016>: HTTP status code is not handled or not allowed 2026-01-28 11:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-30-w-cabinet-light-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 11:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-deluxe-triple-brush-push-power-sweeper-132-gal-cap-bg-497>: HTTP status code is not handled or not allowed 2026-01-28 11:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curved-glass-deli-case-60-14w-35-14d-47-34h-tcgg-60-s>: HTTP status code is not handled or not allowed 2026-01-28 11:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254rvs-with-newall-dp700-dro-x-y-z-powerfeeds-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 11:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghb-1340a-with-acu-rite-203-dro-with-taper-attachment-and-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 11:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/construction-paper-18-x-24-bright-white15-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-steel-compartment-box-rack-bearing-20-x-15-3-4-x-15-with-4-of-24-compartment-boxes>: HTTP status code is not handled or not allowed 2026-01-28 11:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60in-3-pack-plus-ii-quarter-in-hoses-with-compact-ball-valve-end-29985>: HTTP status code is not handled or not allowed 2026-01-28 11:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 94196 pages (at 100 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 11:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-bar-cooler-2-section-58-78w-27-34d-37h-tbb-2>: HTTP status code is not handled or not allowed 2026-01-28 11:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-aquamax-plastic-locker-triple-tier-1-wide-12w-x-18d-x-24h-taupe-body-blue-doors>: HTTP status code is not handled or not allowed 2026-01-28 11:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-13mm-full-size-72-place-nylon-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-cooler-flat-top-95-38w-26-58d-33-38h-td-95-38>: HTTP status code is not handled or not allowed 2026-01-28 11:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-10-dual-bevel-miter-saw-jms-10x>: HTTP status code is not handled or not allowed 2026-01-28 11:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-maintenance-platform-36x36-cal-osha>: HTTP status code is not handled or not allowed 2026-01-28 11:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-sheets-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 11:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifuge-tube-10ml-oak-ridge-style-round-bottom-attached-screw-cap-polypropylene-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerated-merch-1-section-24-78w-23-18d-62-38h-gdm-12>: HTTP status code is not handled or not allowed 2026-01-28 11:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-literature-mailer-9-x-6-1-2-x-1-3-4>: HTTP status code is not handled or not allowed 2026-01-28 11:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-quick-coupling-grey-body-with-industrial-profile-and-3-8-mnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tilt-truck-light-duty-3-4-cu-yd-rmttld75>: HTTP status code is not handled or not allowed 2026-01-28 11:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254rvs-with-acu-rite-203-dro-x-y-z-powerfeeds-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 11:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-ridge-ergonomics-tractor-style-stool-with-chrome-foot-ring-black>: HTTP status code is not handled or not allowed 2026-01-28 11:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-gear-locker-with-door-foot-locker-24x24x72-red>: HTTP status code is not handled or not allowed 2026-01-28 11:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-911-2151-closed-safety-hose-reel-1-2-pur-hose-26-oal-1-2-male-npt-safety-brake-rewind>: HTTP status code is not handled or not allowed 2026-01-28 11:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-barbed-equal-90-elbow-glass-filled-black-nylon>: HTTP status code is not handled or not allowed 2026-01-28 11:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-outer-boxes-24-1-2-x-24-1-2-x-40>: HTTP status code is not handled or not allowed 2026-01-28 11:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-mobile-esd-square-edge-work-bench-adjustable-height-1-1-4-top>: HTTP status code is not handled or not allowed 2026-01-28 11:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-diamond-fixed-volume-40ul-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-diamond-fixed-volume-50ul-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triton-lbs36p-wht-white-pneumatic-tool-pegboard-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-4-x-20>: HTTP status code is not handled or not allowed 2026-01-28 11:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96x36-shop-top-square-edge-work-bench-adjustable-height-1-1-2-top>: HTTP status code is not handled or not allowed 2026-01-28 11:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-maple-square-edge-mobile-work-bench-adjustable-height-1-3-4-top>: HTTP status code is not handled or not allowed 2026-01-28 11:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-inch-to-3-8-inch-barbed-reduction-coupler-high-density-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 11:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/budget-science-table-chemical-resistant-top-24x48>: HTTP status code is not handled or not allowed 2026-01-28 11:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purell-professional-healthy-soap-174-0-5-bak-antimicrobial-foam-1200ml-2-refills-case-5079-02>: HTTP status code is not handled or not allowed 2026-01-28 11:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-2-axis-newall-dp700-dro-x-axis-jet-powerfeed-usa-powered-draw-bar>: HTTP status code is not handled or not allowed 2026-01-28 11:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-measuring-diamond-essentials-class-b-polypropylene-molded-graduations-tall-form-25ml>: HTTP status code is not handled or not allowed 2026-01-28 11:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-hood-for-commercial-housekeeping-carts>: HTTP status code is not handled or not allowed 2026-01-28 11:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-x-y-axis-jet-powerfeeds-and-usa-air-powered-draw-bar>: HTTP status code is not handled or not allowed 2026-01-28 11:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-mailer-8-x-4-x-2>: HTTP status code is not handled or not allowed 2026-01-28 11:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-diamond-essentials-griffin-style-low-form-printed-graduations-pmp-100ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-25mm-half-size-16-place-nylon-red>: HTTP status code is not handled or not allowed 2026-01-28 11:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-draining-tray-100-place-for-up-to-200-slides-abs-pink-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-4000-series-hardboard-over-stainless-60-w-x-36-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-dry-erase-white-board-96-x-40-steel-surface-aluminum-frame-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 11:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-1012-series-esd-w-t-molding-48-w-x-30-d-black>: HTTP status code is not handled or not allowed 2026-01-28 11:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-1012-series-hardboard-over-stainless-48-w-x-30-d-black>: HTTP status code is not handled or not allowed 2026-01-28 11:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-glamour-bubble-mailer-7-1-2-x-11>: HTTP status code is not handled or not allowed 2026-01-28 11:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a4800-dual-side-open-blast-system-w-dust-collector>: HTTP status code is not handled or not allowed 2026-01-28 11:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-6x30-white>: HTTP status code is not handled or not allowed 2026-01-28 11:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rv-pette-dispenser-tip-for-repeat-volume-pipettors-certified-sterile-25ml-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-3500-series-esd-w-t-molding-72-w-x-30-d-black>: HTTP status code is not handled or not allowed 2026-01-28 11:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-36-phenolic-resin-safety-lab-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msv3-23-3p-multistage-three-phase-pump-23-stages-232psi-epdm-tungsten-carbide-seal>: HTTP status code is not handled or not allowed 2026-01-28 11:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-mailer-9-x-5-x-5->: HTTP status code is not handled or not allowed 2026-01-28 11:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-mobile-plastic-safety-lab-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-stock-picking-ladder-abrasive-tread-spl-8-14r>: HTTP status code is not handled or not allowed 2026-01-28 11:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1853-sd-42-1-8-x-1-8-standard-cut-ball-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-28 11:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2761-95-2-inch-cast-iron-self-priming-centrifugal-pump-150gpm-75psi-buna-n-seal-2hp>: HTTP status code is not handled or not allowed 2026-01-28 11:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-li-platform-dandux-24-bushel-canvas-vinyl-bulk-trucks>: HTTP status code is not handled or not allowed 2026-01-28 11:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camrack-base-rack-4-1-4-inch-inside-stack-height-red-nsf>: HTTP status code is not handled or not allowed 2026-01-28 11:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-commercial-duty-exhaust-fan-3-phase-5-hp>: HTTP status code is not handled or not allowed 2026-01-28 11:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cambox-includes-handle-15-1-4-inch-l-x-20-1-4-inch-w-x-4-15-16-inchd-dark-brown-nsf>: HTTP status code is not handled or not allowed 2026-01-28 11:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ton-shop-press-and-portable-power-unit-1-phase-230-volt>: HTTP status code is not handled or not allowed 2026-01-28 11:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-industrial-duty-exhaust-fan-3-phase-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 11:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/justrite-smokers-cease-fire-cigarette-butt-receptacle-4-gallon-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-tubes-3-1-4-x-60-120>: HTTP status code is not handled or not allowed 2026-01-28 11:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1845-sa-42-3-32-x-1-8-standard-cut-cylindrical-bur-w-o-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 11:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1845-sa-5l6-1-2-x-1-4-standard-cut-cylindrical-bur-w-o-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 11:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-mailing-tubes-8-x-60>: HTTP status code is not handled or not allowed 2026-01-28 11:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-stock-picking-ladder-serrated-tread-spl-10-14g>: HTTP status code is not handled or not allowed 2026-01-28 11:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-aluminum-drum-truck-with-brake-12-wheels-short-chime-hook>: HTTP status code is not handled or not allowed 2026-01-28 11:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rv-pette-pro-dispenser-tip-starter-pack-for-repeat-volume-pipettors>: HTTP status code is not handled or not allowed 2026-01-28 11:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-120g-manual-close-vertical-flammable-drum-cabinet-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1850-sm-41-1-8-x-1-8-double-cut-pointed-cone-bur>: HTTP status code is not handled or not allowed 2026-01-28 11:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pump-parpmp00060a-for-jetstream-240>: HTTP status code is not handled or not allowed 2026-01-28 11:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-20-x-15-x-9->: HTTP status code is not handled or not allowed 2026-01-28 11:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-totally-enclosed-high-pressure-exhaust-fan-3-phase-5-hp-1>: HTTP status code is not handled or not allowed 2026-01-28 11:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-sided-smoking-shelter-half-side-panels-10-ft-4-inch-w-x-7-ft-d-x-7-ft-11-inch-h-aluminum-roof>: HTTP status code is not handled or not allowed 2026-01-28 11:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-inner-boxes-16-x-16-x-40>: HTTP status code is not handled or not allowed 2026-01-28 11:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lt30701-1-hole-wall-mount-lavatory-cotton-white>: HTTP status code is not handled or not allowed 2026-01-28 11:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-explosion-proof-wet-environment-duct-fan-1-phase-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 11:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cst744slr12-drake-elongated-ada-bowl-tank-sedona-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-extra-shelf-for-cabinets-56-wide-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-totally-enclosed-direct-drive-duct-fan-1-phase-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 11:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-loading-boxes-14-x-4-x-68>: HTTP status code is not handled or not allowed 2026-01-28 11:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inoculation-loop-rigid-10ul-with-needle-with-calibration-certificate-sterile-yellow-pp-500-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-aluminum-wheel-barrow-style-rolling-ladder-24w-plat-grip-strut-tread-wlartr109245c>: HTTP status code is not handled or not allowed 2026-01-28 11:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matching-flange-12-duct-fans>: HTTP status code is not handled or not allowed 2026-01-28 11:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matching-flange-15-duct-fans>: HTTP status code is not handled or not allowed 2026-01-28 11:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-silver-base-anti-microbial-binder-side-open-aqua>: HTTP status code is not handled or not allowed 2026-01-28 11:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1846-sb-3-3-8-x-1-4-standard-cut-cylindrical-bur-w-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 11:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90xl075-standard-timing-belt-xl-3-4-x-9-t45-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 11:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86xl037-standard-timing-belt-xl-3-8-x-8-5-8-t43-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 11:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-20ml-polypropylene-red-stand-up-zipbag-mg-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-aluminum-rolling-ladder-24w-grip-tread-21d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 11:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-tank-hdpe-5-liter>: HTTP status code is not handled or not allowed 2026-01-28 11:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fantech-centrifugal-4-duct-fan-molded-housing-167>: HTTP status code is not handled or not allowed 2026-01-28 11:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-wide-mouth-polypropylene-attached-polypropylene-screw-cap-125ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/460xl037-standard-timing-belt-xl-3-8-x-46-t230-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 11:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-48-ultimat-ii-mat-gray-um-2448xdg>: HTTP status code is not handled or not allowed 2026-01-28 11:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unsupported-9-step-20-cantilever-ladder-perforated>: HTTP status code is not handled or not allowed 2026-01-28 11:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-container-ramp-60in-w-x-96in-l-20-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-i-beam-mount-fan-30-diameter-1>: HTTP status code is not handled or not allowed 2026-01-28 11:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-container-ramp-72in-w-x-60in-l-20-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 94294 pages (at 98 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 11:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/424xl050-standard-timing-belt-xl-1-2-x-42-3-8-t212-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 11:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-aluminum-rolling-ladder-24w-ribbed-tread-28d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 11:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-spike-xtra-wide-w-bond-bird-spikes-24-ft-bp-sr625>: HTTP status code is not handled or not allowed 2026-01-28 11:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x36-phenolic-safety-edge-mobile-power-apron-lab-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1846-sb-51-1-4-x-1-8-double-cut-cylindrical-bur-w-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 11:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unex-gravity-flow-roller-rack-with-span-track-add-on-96w-x-96d-x-84h-with-4-levels>: HTTP status code is not handled or not allowed 2026-01-28 11:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-16-long-drawer-cabinet-pedestal-workbench-butcher-block-square-edge-72w-x-36d-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1851-se-7-3-4-x-1-4-double-cut-egg-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-28 11:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-eye-wind-powered-bird-deterrent-kit-gold-ee-1wg>: HTTP status code is not handled or not allowed 2026-01-28 11:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banana-jack-alligator-clip>: HTTP status code is not handled or not allowed 2026-01-28 11:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unex-additional-level-for-gravity-flow-roller-rack-with-wheel-bed-96w-x-72d>: HTTP status code is not handled or not allowed 2026-01-28 11:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-41-series-22404410-manifold-only>: HTTP status code is not handled or not allowed 2026-01-28 11:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-brute-ii-feed-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-cross-over-ladder-79-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 11:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-clinging-oven-grill-cleaner-case-of-four-1-gallon-bottles>: HTTP status code is not handled or not allowed 2026-01-28 11:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-2-3-4-machine-screw-pan-head-phillips-steel-zinc-cr-3-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/catheter-procedure-cart-24l-x-48w-x-68h>: HTTP status code is not handled or not allowed 2026-01-28 11:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trustat-b80-vinyl-roll-blue-0080in-x-24in-x-50ft>: HTTP status code is not handled or not allowed 2026-01-28 11:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-storage-3210br-538l-x-418h-x-3w-brown-24-pc>: HTTP status code is not handled or not allowed 2026-01-28 11:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1-4-x-77-1-2-deluxe-office-partition-panel-with-electric-gray-277562gy>: HTTP status code is not handled or not allowed 2026-01-28 11:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-4kw-120v-flowco-electric-tankless-water-heater>: HTTP status code is not handled or not allowed 2026-01-28 11:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-storage-3210mcws-538l-x-418h-x-3w-multicolor-26-pc>: HTTP status code is not handled or not allowed 2026-01-28 11:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gg244-18-18-squeegee-trowel>: HTTP status code is not handled or not allowed 2026-01-28 11:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-dome-covers-bollards>: HTTP status code is not handled or not allowed 2026-01-28 11:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-plug-16mm-red-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-station-transportable-jib-crane-8-h-x-6-span>: HTTP status code is not handled or not allowed 2026-01-28 11:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/660h150-standard-timing-belt-h-1-1-2-x-66-t132-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 11:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1-4-x-47-1-2-h-deluxe-office-partition-panel-with-pass-thru-cable-blue-277567bl>: HTTP status code is not handled or not allowed 2026-01-28 11:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/375l100-standard-timing-belt-l-1-x-37-1-2-t100-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 11:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-tip-1-200ul-certified-universal-graduated-yellow-54mm-sterile-960-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-tip-01-10ul-certified-universal-natural-31mm-pipetman-style-960-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saw-trax-1000-series-panel-saw-package-64-crosscut>: HTTP status code is not handled or not allowed 2026-01-28 11:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-wrist-strap-w-dual-4-mm-snaps-6-ft-right-angle-cord>: HTTP status code is not handled or not allowed 2026-01-28 11:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magsnap-360-dual-wire-metal-wristband-large>: HTTP status code is not handled or not allowed 2026-01-28 11:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-vanguard-executive-locker-24x24x72-no-legs-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-storage-rack-4-compartment-includes-2-accessory-holders-abs-magnetized-red>: HTTP status code is not handled or not allowed 2026-01-28 11:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/640h100-standard-timing-belt-h-1-x-64-t128-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 11:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statshield-metal-in-bag-14in-x-18in-100-bagspack>: HTTP status code is not handled or not allowed 2026-01-28 11:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-mount-round-safety-bollard-with-plastic-cap-and-base-yellow-60-height>: HTTP status code is not handled or not allowed 2026-01-28 11:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-vanguard-half-height-locker-12x18x36-1-2-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laboratory-glass-door-5-2-cu-ft-refrigeratorsolid-door-4-cu-ft-capacity-freezer-40>: HTTP status code is not handled or not allowed 2026-01-28 11:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laboratory-4-6-cu-ft-solid-door-refrigerator-1-7-cu-ft-solid-door-freezer>: HTTP status code is not handled or not allowed 2026-01-28 11:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorized-hand-truck-foam-filled-tires-and-trailer-hitch-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr1-0073-25-530l-small-whole-room-air-circulator-120v-283-cfm>: HTTP status code is not handled or not allowed 2026-01-28 11:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-pharmacy-undercounter-freezer-freestanding-40-4-cu-ft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-box-1-10-adjustable-compartments-11-3-4-l-x-7-3-4-w-x-2-3-16-h>: HTTP status code is not handled or not allowed 2026-01-28 11:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/590h075-standard-timing-belt-h-3-4-x-59-t118-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 11:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-way-lt-fittings-1dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 11:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tork-universal-beverage-napkins-b1141a>: HTTP status code is not handled or not allowed 2026-01-28 11:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prc30-multifunction-process-calibrator-green>: HTTP status code is not handled or not allowed 2026-01-28 11:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tork-premium-poly-pack-bath-tissue-2465412>: HTTP status code is not handled or not allowed 2026-01-28 11:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tork-universal-masterfold-large-dispenser-napkins-d780>: HTTP status code is not handled or not allowed 2026-01-28 11:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-storage-rack-4-compartment-includes-2-accessory-holders-abs-magnetized-white>: HTTP status code is not handled or not allowed 2026-01-28 11:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tork-xpressnap-interfold-dispenser-napkins-dx906e>: HTTP status code is not handled or not allowed 2026-01-28 11:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-adjustable-vented-shelf-66-x-24>: HTTP status code is not handled or not allowed 2026-01-28 11:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/850187-general-purpose-rtd-temperature-probe-type-k-stainless-steel-4l>: HTTP status code is not handled or not allowed 2026-01-28 11:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-clamp-fittings-4l-1-12dia-furniture-grade-abs-white>: HTTP status code is not handled or not allowed 2026-01-28 11:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/255h100-standard-timing-belt-h-1-x-25-1-2-t51-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 11:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-mop-store-board-ultra-aluma-lite-red-on-black>: HTTP status code is not handled or not allowed 2026-01-28 11:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversible-microcentrifuge-tube-rack-with-cover-96-place-blue-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-kit-25-person-ansi-compliant-plastic-436739>: HTTP status code is not handled or not allowed 2026-01-28 11:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-cloth-duct-tape-2-inch-x-60-yards-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rf15-portable-sucrose-brix-refractometer-032-brix>: HTTP status code is not handled or not allowed 2026-01-28 11:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-18-npt-hex-nipple-white-polypropylene>: HTTP status code is not handled or not allowed 2026-01-28 11:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buffet-bar-24x67-hot-red>: HTTP status code is not handled or not allowed 2026-01-28 11:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prc10-current-calibratormeter-green>: HTTP status code is not handled or not allowed 2026-01-28 11:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/funnel-powder-polypropylene-60mm-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goal-post-dock-door-guard-steel-hdpe-plastic-yellow-168-x-168>: HTTP status code is not handled or not allowed 2026-01-28 11:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-security-gate-add-on-8-hx6-w-use>: HTTP status code is not handled or not allowed 2026-01-28 11:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/225-22-bl-gn-225-cabinet-u-handles-cast-iron-with-tapped-holes>: HTTP status code is not handled or not allowed 2026-01-28 11:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-size-bottle-service-standard-d-cor-two-tone-brown-mahogony>: HTTP status code is not handled or not allowed 2026-01-28 11:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35a28hx12-a-plate-38-pitch-12-bore-28-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kac-lc0-we-nw-hd-v-4xl-white>: HTTP status code is not handled or not allowed 2026-01-28 11:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-spunbond-fine-fiber-universal-heavy-weight-roll-1-bale-150-x-30>: HTTP status code is not handled or not allowed 2026-01-28 11:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-size-partially-equipped-soda-service-granite-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bb18h-idler-12-pitch-064-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-twoline-guardrail-steel-hdpe-plastic-yellow-72-x-42>: HTTP status code is not handled or not allowed 2026-01-28 11:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workstation-rack-for-cryoclear-vials-polycarbonate-pc-40-place-10x4-format-green>: HTTP status code is not handled or not allowed 2026-01-28 11:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-tip-1-200ul-natural-for-use-with-mla-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-tect-runner-174-protection-36in-w-x-50ft-l-roll>: HTTP status code is not handled or not allowed 2026-01-28 11:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynabrade-3-palm-style-random-orbital-sander-vacuum-12-000-rpm-3-16-orbit>: HTTP status code is not handled or not allowed 2026-01-28 11:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs13hx2-1-14-pitch-2-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25bs15hx38-14-pitch-38-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuffblok-xl-tube-rack-4-way-polypropylene-green-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-caddies-black-175-lbs-cap-short-2-fixed-2-swivel-1-with-brake>: HTTP status code is not handled or not allowed 2026-01-28 11:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ft-11-sweet-sensitivity-solution-1-bottle>: HTTP status code is not handled or not allowed 2026-01-28 11:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-file-folder-with-clear-hinged-lids-20-place-hi-polystyrene-san-green-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-caddies-brown-125lbs-cap-short-2-swivel-1-w-brake-2-10-easy-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-tip-1-300ul-natural-for-use-with-biohit-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-pc-rear-exhaust-right-angle-air-die-grinder-kit-1-4-inch-collet-20000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-direct-drive-blower-motor-1625-rpm-115-volts-1>: HTTP status code is not handled or not allowed 2026-01-28 11:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-computer-lanstation-workstation-34-hx18-wx48-l-black-3-shelf>: HTTP status code is not handled or not allowed 2026-01-28 11:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrofarm-hgdb5-dirt-pot-flexible-portable-planter-with-handles-5-gallons-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps102nu2m-powerswap-nucleus-mini-lithium-power-system>: HTTP status code is not handled or not allowed 2026-01-28 11:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-split-capacitor-condenser-fan-motor-208-230-volts-1075-rpm-5>: HTTP status code is not handled or not allowed 2026-01-28 11:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-pool-filter-motor-115-230-volts-3450-rpm-1-2hp-2>: HTTP status code is not handled or not allowed 2026-01-28 11:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-mobile-computer-lanstation-workstation-keyboard-tray-40-hx24-wx72-l-black-3-shelf>: HTTP status code is not handled or not allowed 2026-01-28 11:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-primer-coat-saltwater-agb1600>: HTTP status code is not handled or not allowed 2026-01-28 11:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-computer-lanstation-workstation-keyboard-tray-63-hx18-wx36-l-black-4-shelf>: HTTP status code is not handled or not allowed 2026-01-28 11:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-primer-coat-saltwater-agb200>: HTTP status code is not handled or not allowed 2026-01-28 11:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 94394 pages (at 100 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 11:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kenwood-nx-p1300auk-5-watt-two-way-uhf-analog-portable-radio-451-470-mhz>: HTTP status code is not handled or not allowed 2026-01-28 11:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-painted-steel-triple-glove-box-holder-1-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qualitative-fit-test-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carboy-with-spigot-hdpe-heavy-duty-25-liter>: HTTP status code is not handled or not allowed 2026-01-28 11:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3101f-x-squids-174-standard-tool-lanyard-single-carabiner-with-loop-orange-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelf-leg-18in>: HTTP status code is not handled or not allowed 2026-01-28 11:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8916-glowear-174-class-e-lightweight-hi-vis-rain-pants-orange-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impulse-protection-reusable-earplugs-corded-medium-nrr-9db-24db>: HTTP status code is not handled or not allowed 2026-01-28 11:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microtube-2ml-polypropylene-no-cap-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3420-bulk-squids-174-swivel-glove-clip-holder-dual-clips-100-pack-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-masterfit-8482-indoor-blower-motor-208-230v-2>: HTTP status code is not handled or not allowed 2026-01-28 11:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8366-glowear-174-type-r-class-3-lightweight-hi-vis-rain-jacket-orange-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/02ml-96-well-pcr-plate-half-skirt-abi-style-flat-top-clear-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-15ml-polypropylene-attached-snap-cap-graduated-natural-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-unit-heater-motor-115-volts-1075-rpm-1-6hp-1>: HTTP status code is not handled or not allowed 2026-01-28 11:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-4-horizontal-steel-slat-outdoor-park-bench-with-back-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-solid-shelf-96-x-24>: HTTP status code is not handled or not allowed 2026-01-28 11:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chipboard-pads-40-x-48-x-0022-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prolube-43017-pistol-grip-grease-gun-dual-discharge-port-14oz-capacity-5000-psi-1-8-npt>: HTTP status code is not handled or not allowed 2026-01-28 11:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prolube-44890-4-way-easy-out-grease-tool-small>: HTTP status code is not handled or not allowed 2026-01-28 11:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-16262-w-15a-125v-decora-plus-duplex-receptacle-industrial-grade-white>: HTTP status code is not handled or not allowed 2026-01-28 11:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-turbojet-supermax-negative-air-duct-cleaning-machine>: HTTP status code is not handled or not allowed 2026-01-28 11:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs20hx38-metric-34-pitch-38mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-hand-sanitizer-70>: HTTP status code is not handled or not allowed 2026-01-28 11:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs34hx11516-58-pitch-1-1516-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs32hx1316-58-pitch-1-316-finished-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/analgesics-antacids-refills-for-first-aid-cabinet-250-doses-per-box>: HTTP status code is not handled or not allowed 2026-01-28 11:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shurtape-af-975ct-cold-temperature-aluminum-foil-tape-silver-96mm-x-46m>: HTTP status code is not handled or not allowed 2026-01-28 11:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chipboard-pads-12-x-18-x-0022-420-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-16-x-100mm-12ml-polypropylene-with-rim-graduated-at-25-5-10ml-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-6-x-5-32-yellow-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-48-x-34-x-60-3-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-motion-sensor-trash-can-12-gallon-brushed-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gr-next-calender-year-4-dia-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-28 11:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ton-swivel-style-jack-stand-single-unit>: HTTP status code is not handled or not allowed 2026-01-28 11:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-pallet-covers-51-x-49-x-97-3-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600-amp-parrot-style-replacement-clamps>: HTTP status code is not handled or not allowed 2026-01-28 11:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-amp-carbon-pile-battery-tester>: HTTP status code is not handled or not allowed 2026-01-28 11:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-cold-water-therapy-bag-small-1-pack-11-1950>: HTTP status code is not handled or not allowed 2026-01-28 11:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs35hx1716-58-pitch-1-716-finished-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-load-only-3-5-white-red>: HTTP status code is not handled or not allowed 2026-01-28 11:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-pallet-covers-48-x-40-x-48-3-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixed-skid-3-5-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-28 11:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-totally-enclosed-motor-115-volts-3000-rpm-3>: HTTP status code is not handled or not allowed 2026-01-28 11:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-yellow-discs-3-4-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sample-2-dia-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-28 11:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/funnel-general-purpose-hdpe-250mm-4000ml-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-motor-230-460-volts-3000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shrink-bags-6-x-9-x-80-gauge-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-split-capacitor-split-capacitor-fan-coil-motor-1500-rpm-115v-1>: HTTP status code is not handled or not allowed 2026-01-28 11:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-5-x-8-2-mil-white-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs28hx118-58-pitch-1-18-finished-bore-28-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-tier-9-door-premium-steel-locker-12-w-x-15-d-x-24-h-light-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 11:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sharp-objects-3-5-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-28 11:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-tier-9-door-premium-steel-locker-12-w-x-12-d-x-24-h-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 11:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-silver-ep-24w-x-42l-x-63h-4-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-28 11:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bomber-ii-jacket-black-with-fluorescent-yellow-green-tape-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs24hx114-58-pitch-1-14-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-open-motor-115-volts-3000-rpm-7>: HTTP status code is not handled or not allowed 2026-01-28 11:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-container-4025-7-x-5-0-x-0-5>: HTTP status code is not handled or not allowed 2026-01-28 11:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-chrome-24w-x-30l-x-34h-3-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-28 11:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-reflective-plastic-barrier-chain-2-x-100-ft-safety-pink>: HTTP status code is not handled or not allowed 2026-01-28 11:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-medium-duty-stanchion-40-h-safety-orange-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 11:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-chrome-21w-x-54l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frogtape-painters-tape-multi-surface-green-36mm-x-55m>: HTTP status code is not handled or not allowed 2026-01-28 11:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-1-mr-clip-yellow-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 11:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-flammable-gas-blank-4-4-3-4-green-white>: HTTP status code is not handled or not allowed 2026-01-28 11:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-chrome-21w-x-36l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-ansi-premium-rain-bib-pants-black-lg-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-multi-color-vest-blue-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-multi-color-vest-red-s-m>: HTTP status code is not handled or not allowed 2026-01-28 11:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wheel-riser-wheel-ramp-60-l-x-24-w-x-8-1-4-h-20-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluorescent-red-discs-1-2-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluorescent-pink-4-dia-discs>: HTTP status code is not handled or not allowed 2026-01-28 11:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-blower-115-volts-3450-rpm-2>: HTTP status code is not handled or not allowed 2026-01-28 11:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60btl27h-taper-bushed-34-pitch-27-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-clean-water-tank-with-lid-for-portable-sink-units>: HTTP status code is not handled or not allowed 2026-01-28 11:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-two-tone-lady-vest-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-28 11:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-bowl-rear-discharge-w-seat-white>: HTTP status code is not handled or not allowed 2026-01-28 11:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dont-double-stack-3-5-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-28 11:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100a21x114-a-plate-1-14-pitch-1-14-bore-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rush-2-3-white-red>: HTTP status code is not handled or not allowed 2026-01-28 11:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-silver-ep-21w-x-30l-x-72h-4-wire-shelves-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-class-2-five-point-breakaway-vest-lime-5xl>: HTTP status code is not handled or not allowed 2026-01-28 11:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs22x28-metric-1-pitch-28mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-powered-hepa-wet-dry-vacuum-w-air-inflate-adapter-2-gallon-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m18-fuel-1-2-compac-impact-wrench-w-friction-ring-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mantis-1x2-lp66-fly-light>: HTTP status code is not handled or not allowed 2026-01-28 11:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1669-25-1-4-mnpt-rekoil-hose>: HTTP status code is not handled or not allowed 2026-01-28 11:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/part-number-description-quantity-date-3-5-white-black>: HTTP status code is not handled or not allowed 2026-01-28 11:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosive-liquid-acidic-inorganic-nos-un3264-4-4-3-4-white-black>: HTTP status code is not handled or not allowed 2026-01-28 11:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-disc-with-15-fluorescent-orange-black>: HTTP status code is not handled or not allowed 2026-01-28 11:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-drawer-double-mobile-cabinet-48-wx27-dx37-1-2-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/646-1w-3-8-mnpt-x-1-4-mnpt-hex-nipple-hose-fitting>: HTTP status code is not handled or not allowed 2026-01-28 11:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mantis-1x2-white-220-volt-euro-plug-3-case>: HTTP status code is not handled or not allowed 2026-01-28 11:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs35x2-1-pitch-2-finished-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/discretion-cover-white-retro-fit-mantis-1x2-white>: HTTP status code is not handled or not allowed 2026-01-28 11:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/this-side-up-2-3-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-28 11:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 94493 pages (at 99 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 11:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-mobile-cabinet-48-wx24-dx37-1-2-h-everest-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tray-for-mantis-max-50-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/640-1-4-id-hose-mender-fitting->: HTTP status code is not handled or not allowed 2026-01-28 11:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ottis-spunkmeyer-muffins-variety-pack-15-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 11:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fragile-please-do-not-double-stack-thank-you-4-6-white-red>: HTTP status code is not handled or not allowed 2026-01-28 11:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-drawer-mobile-cabinet-36-wx24-dx35-1-2-h-avalanche-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/643w-1-4-fnpt-hex-coupling-hose-fitting>: HTTP status code is not handled or not allowed 2026-01-28 11:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-mobile-cabinet-24-wx21-dx43-1-4-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-diamond-almond-breeze-unsweetened-vanilla-almondmilk-64-fl-oz-2-pack-gr>: HTTP status code is not handled or not allowed 2026-01-28 11:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-mobile-cabinet-24-wx21-dx35-1-4-h-beige-2>: HTTP status code is not handled or not allowed 2026-01-28 11:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-mobile-cabinet-24-wx21-dx39-1-4-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-3083-1-7-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-js075upr-3-4-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kesson-series-high-back-office-chair-300-lb-capacity-fabric-black>: HTTP status code is not handled or not allowed 2026-01-28 11:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumble-bee-ready-to-eat-tuna-salad-kits-3-5-oz-9-pack-gr>: HTTP status code is not handled or not allowed 2026-01-28 11:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1004-1-4-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-drawer-mobile-multi-drawer-cabinet-48-wx27-dx37-1-2-h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ec12b-1-1-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ductless-mini-split-air-conditioner-w-heat-pump-wifi-enabled-12000-btu-20-seer-115v-white>: HTTP status code is not handled or not allowed 2026-01-28 11:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stock-picking-truck-18-60-63-back-to-back-40-cells-13-w>: HTTP status code is not handled or not allowed 2026-01-28 11:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24-w-aluminum-wheelbarrow-ladder-ribbed-tread>: HTTP status code is not handled or not allowed 2026-01-28 11:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-18-w-aluminum-wheelbarrow-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-28 11:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-16-wx60-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 11:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1859-1-6-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-mobile-medical-privacy-screen-81-w-x-69-h-pink-vinyl-panels>: HTTP status code is not handled or not allowed 2026-01-28 11:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-24-w-stainless-steel-tilt-roll-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 11:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-stationary-medical-privacy-screen-81-w-x-69-h-cream-vinyl-panels>: HTTP status code is not handled or not allowed 2026-01-28 11:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-mobile-medical-privacy-screen-81-wx69-h-white-vinyl-panels>: HTTP status code is not handled or not allowed 2026-01-28 11:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24-wx76-d-stainless-steel-rolling-safety-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-28 11:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24-wx83-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 11:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1973-1-2-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-mac-cheese-easy-mac-cups-12-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 11:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60v-flexvolt-max-brushless-4-1-2-6-inch-cordless-grinder-with-kickback-brake-bare-tool-only-dcg418b>: HTTP status code is not handled or not allowed 2026-01-28 11:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t2c1j14cr-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/planters-honey-roasted-peanuts-1-75-oz-18-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 11:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-inch-brushless-small-angle-grinder-rat-tail-with-kickback-brake-pipeline-cover-dwe43840cn>: HTTP status code is not handled or not allowed 2026-01-28 11:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/planters-salted-peanuts-1-oz-48-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 11:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-24-wx64-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 11:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-298-1-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lays-original-potato-chips-1-oz-50-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 11:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-shorty-non-telescoping-forkli-jib-boom-crane-50-5-8-l-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-299-1-1-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-24-w-stainless-steel-tilt-roll-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 11:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-deep-mobile-pedestal-slim-ped-box-file-with-hidden-drawer-front-black>: HTTP status code is not handled or not allowed 2026-01-28 11:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-16-w-stainless-steel-tilt-roll-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-28 11:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1890-1-4-hp-1-phase-1625-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-brushless-compact-1-4-inch-impact-driver-bare-tool-only-dcf809b>: HTTP status code is not handled or not allowed 2026-01-28 11:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-deep-mobile-pedestal-box-box-file-with-arch-pull-handles-black>: HTTP status code is not handled or not allowed 2026-01-28 11:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1-2-deep-2-drawer-letter-size-vertical-file-cabinet-medium-tone>: HTTP status code is not handled or not allowed 2026-01-28 11:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u7v2b-7-5-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-wide-2-drawer-lateral-file-cabinet-arctic-silver>: HTTP status code is not handled or not allowed 2026-01-28 11:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-wide-2-drawer-lateral-file-cabinet-arctic-silver>: HTTP status code is not handled or not allowed 2026-01-28 11:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-2202-3-4-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-eb124-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-anti-fatigue-mat-7-8-thick-24x33-yellow-border>: HTTP status code is not handled or not allowed 2026-01-28 11:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-anti-fatigue-mat-7-8-thick-33x142-yellow-border>: HTTP status code is not handled or not allowed 2026-01-28 11:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-un7t2bc-7-5-hp-3-phase-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brio-plus-commerical-steam-cleaner-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6000-series-4-5l-pressurized-steamer-with-aluminum-wand>: HTTP status code is not handled or not allowed 2026-01-28 11:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-floor-cooler-light-gray-granite-floor-115v-60hz-5-amps>: HTTP status code is not handled or not allowed 2026-01-28 11:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sjobergs-sjo-33820-multi-function-workbench-1060>: HTTP status code is not handled or not allowed 2026-01-28 11:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-back-draft-damper-for-circular-duct-single>: HTTP status code is not handled or not allowed 2026-01-28 11:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wd12s2ac-1-2-hp-3-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-deep-legal-sized-mobile-tube-file-w-lock-black>: HTTP status code is not handled or not allowed 2026-01-28 11:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-round-wastebasket-qty-3-5-gallon>: HTTP status code is not handled or not allowed 2026-01-28 11:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wd1c2jcr-1-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-48-wx24-dx87-h-closed-5-shelf-8-drawer-avalanche-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-36-wx24-dx87-h-closed-5-shelf-10-drawer-avalanche-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d250v2c-250-hp-3-phase-1785-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linea-54-in-w-x-66-in-h-statuary-bronze-garment-rack>: HTTP status code is not handled or not allowed 2026-01-28 11:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipeline-10-in-l-gloss-white-slatwall-faceout>: HTTP status code is not handled or not allowed 2026-01-28 11:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-h32v2bc-1-5-hp-3-phase-1745-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linea-large-nesting-table-statuary-bronze>: HTTP status code is not handled or not allowed 2026-01-28 11:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-eb978-2-1-4-hp-1-phase-3450-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-36-wx18-dx75-h-closed-5-shelf-4-drawer-red>: HTTP status code is not handled or not allowed 2026-01-28 11:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-stock-rack-45-wx42-dx91-h-mobile-6-level-black>: HTTP status code is not handled or not allowed 2026-01-28 11:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-deskside-paper-recycling-container-28-1-8-qt>: HTTP status code is not handled or not allowed 2026-01-28 11:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wd32c1jhc-1-1-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d32v2b-1-5-hp-3-phase-1735-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-self-propelled-battery-powered-platform-truck-30x60-1100-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-174-locker-single-tier-18x18x72-1-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-standard-handle-li-kar-hd-stair-climbing-appliance-truck-725-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/03-600-75b-cone-blue-36-thank-you-please-stay-2-carts-apart-social-distancing>: HTTP status code is not handled or not allowed 2026-01-28 11:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u5p3d-5-hp-3-phase-1170-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d2c2j14-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn47-10-1-h-182-4tc-cast-iron-helical-bevel-speed-reducer-182-4tc-input-flange-10-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 11:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-erlenmeyer-globe-glass-narrow-mouth-dual-graduations-astm-e1404-250ml-12-box>: HTTP status code is not handled or not allowed 2026-01-28 11:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unslotted-steel-pallet-rack-beam-120inl-x-5-1-2inh-5630-lb-cap-set-of-2>: HTTP status code is not handled or not allowed 2026-01-28 11:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-dj5c2k18p-5-hp-1-phase-1-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-h7e3g-7-5-hp-3-phase-1185-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-assembled-corrosion-resistant-locker-six-tier-3-wide-12x15x78>: HTTP status code is not handled or not allowed 2026-01-28 11:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-sph25fl2s-special-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d7p2h-7-5-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-lightweight-hand-operated-li-truck-400-lb-capacity-straddle-legs>: HTTP status code is not handled or not allowed 2026-01-28 11:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ezbn24-3-4-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-welded-double-point-ventilated-locker-double-tier-1-wide-18x18x72>: HTTP status code is not handled or not allowed 2026-01-28 11:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u10p2g-10-hp-3-phase-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zt410-direct-thermal-thermal-transfer-barcode-printer-4-09-print-width-203-dpi-zt41042-t010000z>: HTTP status code is not handled or not allowed 2026-01-28 11:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 94590 pages (at 97 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 11:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securitymax-high-security-ventilated-welded-locker-24x22x72>: HTTP status code is not handled or not allowed 2026-01-28 11:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zt420-direct-thermal-thermal-transfer-barcode-printer-6-print-width-203-dpi-zt42062-t010000z>: HTTP status code is not handled or not allowed 2026-01-28 11:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-s32p3d-1-5-hp-3-phase-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zt510-thermal-transfer-barcode-label-printer-4-09-print-width-300-dpi-zt51043-t010000z>: HTTP status code is not handled or not allowed 2026-01-28 11:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-plastic-tilt-truck-1-2-cubic-yard-capacity-750-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 11:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-liquid-sanitizer-spray-dispenser-800-ml-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-s3p3d-3-hp-3-phase-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotating-light-120vac-blue-225-120b>: HTTP status code is not handled or not allowed 2026-01-28 11:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u10e3g-10-hp-3-phase-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ho450v2slh-450-hp-3-phase-1785-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-72-w-x-30-d-x-84-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-heavy-duty-plastic-chain-25-feet-red>: HTTP status code is not handled or not allowed 2026-01-28 11:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/connecting-s-hooks-1-5-inch-white-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-master-link-2-inch-heavy-duty-link-white-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-un2t3bc-2-hp-3-phase-1170-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-2-inch-links-500-feet-trade-size-8-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-36-inch-ground-pole-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d5p2d-5-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hexagonal-steel-column-guard-48>: HTTP status code is not handled or not allowed 2026-01-28 11:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gussetted-poly-bag-rolls-16x14x36-2-mil-250-rl>: HTTP status code is not handled or not allowed 2026-01-28 11:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-21-2x3-4-mil-1000-ctn>: HTTP status code is not handled or not allowed 2026-01-28 11:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs18i-a138-tas-230-3-60-base-mount-138-psi>: HTTP status code is not handled or not allowed 2026-01-28 11:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d15p1g-15-hp-3-phase-3505-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs22i-a118-tas-230-3-60-base-mount-118-psi>: HTTP status code is not handled or not allowed 2026-01-28 11:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-bread-bags-12x19-1-25-mili>: HTTP status code is not handled or not allowed 2026-01-28 11:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-c2p3b-2-hp-3-phase-1175-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-stationary-starter-4-vented-shelves-21x60x72>: HTTP status code is not handled or not allowed 2026-01-28 11:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-fd12cm2p-1-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-clips-1-2-to-1-hold-range>: HTTP status code is not handled or not allowed 2026-01-28 11:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curved-hook-2-1-4-2>: HTTP status code is not handled or not allowed 2026-01-28 11:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan97-7-5-1-h-284-6tc-cast-iron-helical-bevel-speed-reducer-284-6tc-input-flange-7-5-1>: HTTP status code is not handled or not allowed 2026-01-28 11:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan77-80-1-h-182tc-cast-iron-helical-bevel-speed-reducer-182tc-input-flange-80-1>: HTTP status code is not handled or not allowed 2026-01-28 11:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extended-spring-clip-3-4-to-1-1-4-hold-range>: HTTP status code is not handled or not allowed 2026-01-28 11:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-ring-tool-holder-1-2>: HTTP status code is not handled or not allowed 2026-01-28 11:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan97-40-1-h-254-6tc-cast-iron-helical-bevel-speed-reducer-254-6tc-input-flange-40-1>: HTTP status code is not handled or not allowed 2026-01-28 11:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-peg-1-2>: HTTP status code is not handled or not allowed 2026-01-28 11:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-loaded-aluminum-dockplate-30-w-x-36-l-2127-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan77-30-1-h-184tc-cast-iron-helical-bevel-speed-reducer-184tc-input-flange-30-1>: HTTP status code is not handled or not allowed 2026-01-28 11:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan67-15-1-h-143-5tc-cast-iron-helical-bevel-speed-reducer-143-5tc-input-flange-15-1>: HTTP status code is not handled or not allowed 2026-01-28 11:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan97-30-1-h-254-6tc-cast-iron-helical-bevel-speed-reducer-254-6tc-input-flange-30-1>: HTTP status code is not handled or not allowed 2026-01-28 11:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-stem-so-tread-caster-with-brake-60mm-dia-3-8-16-x-1-stem-black>: HTTP status code is not handled or not allowed 2026-01-28 11:07:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-pan-carrier-for-12x20-food-pans-18x26-3-4x15-approximately-capacity-40-quarts-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:07:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camsquare-food-container-4-quart-7-1-4-x-7-1-4-x-7-3-8-clear-green-graduation>: HTTP status code is not handled or not allowed 2026-01-28 11:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-lid-for-salt-and-pepper-shaker-dredge-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-mobile-office-partition-panel-48-1-4-w-x-96-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-drawer-steel-flat-file-30-x-42-documents-black>: HTTP status code is not handled or not allowed 2026-01-28 11:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-bar-675-w-cold-plate-sedona>: HTTP status code is not handled or not allowed 2026-01-28 11:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-deluxe-mobile-office-partition-panel-with-partial-window-48-1-4-w-x-96-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arg15pv-pharma-vac-performance-series-upright-vaccine-refrigerator-glass-door-15-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ars15pv-pharma-vac-performance-series-upright-vaccine-refrigerator-solid-door-15-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-0547-175-lb-lawn-and-garden-broadcast-spreader>: HTTP status code is not handled or not allowed 2026-01-28 11:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-0532-85-lb-pro-broadcast-push-spreader>: HTTP status code is not handled or not allowed 2026-01-28 11:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-rotating-mesh-magazine-stand>: HTTP status code is not handled or not allowed 2026-01-28 11:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-lid-for-lt6>: HTTP status code is not handled or not allowed 2026-01-28 11:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camwear-food-pan-1-2-size-long-4-deep-polycarbonate-black-nsf>: HTTP status code is not handled or not allowed 2026-01-28 11:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-beverage-cart>: HTTP status code is not handled or not allowed 2026-01-28 11:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-corrugated-literature-organizer-12>: HTTP status code is not handled or not allowed 2026-01-28 11:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camwear-colander-12-3-4-x-20-7-8-x-5-deep-fits-1-1-size-food-pans-clear-polycarbonate-nsf>: HTTP status code is not handled or not allowed 2026-01-28 11:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-bike-mighty-mite-double>: HTTP status code is not handled or not allowed 2026-01-28 11:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-for-slope-top-locker-18-x-60-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-double-tier-1-wide-12-x-18-x-36-deep-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-bowl-deluxe-ss-nsf-sink-30-wx30-d>: HTTP status code is not handled or not allowed 2026-01-28 11:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-for-storage-container-2-and-4-qt-translucent-polypropylene-nsf>: HTTP status code is not handled or not allowed 2026-01-28 11:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camtainer-beverage-carrier-insulated-plastic-10-1-2-gallon-capacity-slate-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-post-kit-24-w-x-64-h-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 11:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-spreader-li-ing-beam-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-li-ing-beam-8000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meal-delivery-cart-tall-profile-3-doors-60x29-1-4x63-5-8-granite-sand-with-cream-color-door>: HTTP status code is not handled or not allowed 2026-01-28 11:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-straight-male-3mm-tube-x-m5-bspp>: HTTP status code is not handled or not allowed 2026-01-28 11:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-channel-frame-mirror-48-wx36-h>: HTTP status code is not handled or not allowed 2026-01-28 11:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-tee-composite-5mm>: HTTP status code is not handled or not allowed 2026-01-28 11:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-10mm-stud-x-8mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 11:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-metal-release-collet-10mm-tube-x-1-2-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 11:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-shelf-plate-kit-14-w-x-42-l-venteded-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 11:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-add-on-unit-24-w-x-60-l-x-72-h-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 11:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recessed-sanitary-napkin-tampon-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 11:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plugin-tee-10mm-tube-x-10mm-stud>: HTTP status code is not handled or not allowed 2026-01-28 11:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-angle-frame-mirror-with-shelf-24-wx30-h>: HTTP status code is not handled or not allowed 2026-01-28 11:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-metal-release-collet-10mm-tube-x-1-4>: HTTP status code is not handled or not allowed 2026-01-28 11:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-female-metal-release-collet-8mm-tube-x-1-8-bspp>: HTTP status code is not handled or not allowed 2026-01-28 11:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-female-metal-release-collet-12mm-tube-x-1-2-bspp>: HTTP status code is not handled or not allowed 2026-01-28 11:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-composite-5-16-tube>: HTTP status code is not handled or not allowed 2026-01-28 11:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camcart-food-pan-carrier-front-loading-approximately-cap-120-qt-6-casters-granite-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-run-tee-metal-release-collet-5-16-tube-x-1-4-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 11:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-flat-top-stainless-steel-undershelf-workbench-48-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-28 11:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-workbench-4-backsplash-ss-undershelf-72-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-28 11:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-add-on-unit-18x48x64-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 11:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-6mm-stud-x-4mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 11:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-post-kit-18-w-x-64-h-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 11:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-workbench-2-3-4-backsplash-ss-undershelf-36-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-28 11:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-bulkhead-connector-6mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 11:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extended-swivel-elbow-8mm-tube-x-1-8-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 11:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-metal-release-collet-6mm-tube-x-1-8-female-bspp>: HTTP status code is not handled or not allowed 2026-01-28 11:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l100-1-inch-bore-diameter-1-4-x-1-8-keyway>: HTTP status code is not handled or not allowed 2026-01-28 11:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l070-1-2-inch-bore-diameter-no-keyway>: HTTP status code is not handled or not allowed 2026-01-28 11:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-elbow-6mm-tube-x-m12x1>: HTTP status code is not handled or not allowed 2026-01-28 11:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-metal-release-collet-1-8-tube-x-10-32-unf>: HTTP status code is not handled or not allowed 2026-01-28 11:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-thread-breather-vent-brass-body-304-stainless-steel-mesh-100-micron-14-to-176-f>: HTTP status code is not handled or not allowed 2026-01-28 11:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 94688 pages (at 98 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 11:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8npt-breather-vent-brass-body-100-micron-14-to-176-f>: HTTP status code is not handled or not allowed 2026-01-28 11:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-1-8-tube-x-10-32-swift-fit-flow-out-screw-adjustment>: HTTP status code is not handled or not allowed 2026-01-28 11:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-convection-incubator-programmable-32-liters-230-volt>: HTTP status code is not handled or not allowed 2026-01-28 11:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forced-air-circulation-incubator-programmable-74-liters-230-volt>: HTTP status code is not handled or not allowed 2026-01-28 11:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forced-air-circulation-incubator-32-liters-115-volt>: HTTP status code is not handled or not allowed 2026-01-28 11:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-convection-incubator-749-liters-230v>: HTTP status code is not handled or not allowed 2026-01-28 11:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-electronic-height-gages-w-driving-wheel-0-12-inch-0-300mm-range>: HTTP status code is not handled or not allowed 2026-01-28 11:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnifier-w-illumination-and-2x-magnification>: HTTP status code is not handled or not allowed 2026-01-28 11:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7110-3001-steel-ruler-12-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 11:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sidedshield-36-inch-reach-w-interlock-led-3-arms-14-inch-l-x-12-inch-w-x-12-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 11:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-direct-mount-w-interlock-led-12-inch-l-x-8-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 11:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-direct-mount-w-o-interlock-9-inch-l-x-8-inch-w-18-inch-offset>: HTTP status code is not handled or not allowed 2026-01-28 11:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-direct-mount-w-o-interlock-28-inch-l-x-10-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 11:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-w-o-handle-direct-mount-w-interlock-6-inch-l-x-8-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 11:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-flat-direct-mount-w-interlock-16-inch-w-x-14-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 11:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ply-looped-end-mop-w-1-green-band-medium-red-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 11:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-roll-stand-36-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 11:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-core-for-coreless-film-3-inch-core>: HTTP status code is not handled or not allowed 2026-01-28 11:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-2-storey-carton-stand-48-inch-l-x-24-inchw-x-48-inchh-black>: HTTP status code is not handled or not allowed 2026-01-28 11:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-shock-flex-track-lead-out-wire-250l-roll-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extension-poles-w-nonslip-safety-grip-18h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 11:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-flite-narrow-bird-spike-10l>: HTTP status code is not handled or not allowed 2026-01-28 11:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-flite-narrow-bird-spike-50l>: HTTP status code is not handled or not allowed 2026-01-28 11:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-cone-corner-plastic-clear-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 11:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ssg-infrared-patio-heater-natural-wallceiling-mount-35000-btu-black>: HTTP status code is not handled or not allowed 2026-01-28 11:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-516-dia-x-125l>: HTTP status code is not handled or not allowed 2026-01-28 11:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faosc-food-service-cabinet-w-o-meds-50-persons-large-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 11:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-power-scissor-li-table-86-x-47-8800-lb-cap-55-raised-height>: HTTP status code is not handled or not allowed 2026-01-28 11:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sj-13-inch-cordless-snow-shovel-bundle-w-cvr--ice-dozer-24v-4-amp-hours>: HTTP status code is not handled or not allowed 2026-01-28 11:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-vinyl-bumper-truck-all-swivel-casters-18-bushel-capacity-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-antimicrobial-vinyl-basket-truck-all-swivel-20-bushel-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-elastic-soft-cover-for-vinyl-basket-trucks-poly-trucks-6-8-bushel-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquavantage-av-exposed-manual-diaphragm-flush-valve-1-6-gpf-bedpan-washer-assembly>: HTTP status code is not handled or not allowed 2026-01-28 11:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jamb-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 11:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/largo-silver-lines-slab-door-wood-28w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tampa-glazed-light-slab-door-wood--glass-36w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 11:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/naples-night-lines-slab-door-wood-36w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 11:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arcadia-glazed-light-slab-door-wood--glass-24w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-cover-plate-black>: HTTP status code is not handled or not allowed 2026-01-28 11:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-type-casing-white>: HTTP status code is not handled or not allowed 2026-01-28 11:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-pocket-lock-gold>: HTTP status code is not handled or not allowed 2026-01-28 11:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-20l-x-4w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-max-anti-fatigue-mat-58-thick-20l-x-4w-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 11:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-20l-x-3w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polywoven-dunnage-air-bags-4-ply-48l-x-36w-pack-of-480>: HTTP status code is not handled or not allowed 2026-01-28 11:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bison-polywoven-dunnage-air-bags-2-ply-72l-x-46-12w-pack-of-690>: HTTP status code is not handled or not allowed 2026-01-28 11:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polywoven-dunnage-air-bags-8-ply-132l-x-46-12w-pack-of-90>: HTTP status code is not handled or not allowed 2026-01-28 11:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/espresso-maker-3-cups-stainless-steel-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 11:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-pour-over-carafe-w-reusable-filter-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 11:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-2-tier-2-door-locker-18-in-w-x-18-in-d-x-36-in-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 11:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-3-tier-3-door-locker-15-in-w-x-15-in-d-x-24-in-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 11:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-hivis-softshell-insulated-jacket-4xl-black-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polarforce-mens-hivis-sweatshirt-small-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premeasured-coffee-packs-decaf-portside-blend-2-6-oz-pack-of-72>: HTTP status code is not handled or not allowed 2026-01-28 11:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/placesetter-satin-foam-plate-w-3-comp-10-1-4-dia-white-pack-of-540>: HTTP status code is not handled or not allowed 2026-01-28 11:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinnerware-plate-9-dia-white-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 11:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartstock-mediumweight-fork-refill-series-b-white-pack-of-960>: HTTP status code is not handled or not allowed 2026-01-28 11:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regal-mediumweight-teaspoon-cutlery-full-size-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 11:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflections-fork-silver-pack-of-40>: HTTP status code is not handled or not allowed 2026-01-28 11:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathways-paper-plates-wise-size-8-1-2-dia-green-burgundy-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 11:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-teaspoon-polypropylene-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 11:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bagasse-food-container-9-l-x-6-w-x-3-3-16-h-pack-of-250>: HTTP status code is not handled or not allowed 2026-01-28 11:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-pet-container-8-7-8-l-x-7-1-4-w-x-2-15-16-h-pack-of-190>: HTTP status code is not handled or not allowed 2026-01-28 11:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-food-paper-tray-1-lb-capacity-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 11:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-clear-pete-cold-drink-cups-32-oz-clear-pack-of-300>: HTTP status code is not handled or not allowed 2026-01-28 11:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-grip-disposable-plastic-party-cups-16-oz-assorted-colors-pack-of-400>: HTTP status code is not handled or not allowed 2026-01-28 11:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-paper-bakery-boxes-14-l-x-14-w-x-6-h-white-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 11:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-hot-drink-cups-lids-combo-10-oz-pack-300>: HTTP status code is not handled or not allowed 2026-01-28 11:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-food-container-squat-8-oz-4-5-8-dia-x-1-1-8-h-white-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 11:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/placesetter-deluxe-bowl-12-oz-6-dia-black-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 11:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pet-dome-round-bowl-lid-24-32-oz-bowls-clear-pack-of-252>: HTTP status code is not handled or not allowed 2026-01-28 11:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-compact-bench-scale-440-lb-x-0-1-lb-12-in-x-12-in-platform>: HTTP status code is not handled or not allowed 2026-01-28 11:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-led-flood-light-wo-mounting-bracket-150w-20250-lumens-5000k>: HTTP status code is not handled or not allowed 2026-01-28 11:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-cleaning-pad-w-scrubber-hook-loop-backing-5l-pk-of-20>: HTTP status code is not handled or not allowed 2026-01-28 11:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-one-hand-reciprocating-saw-bare-tool-24v-0-3000-spm>: HTTP status code is not handled or not allowed 2026-01-28 11:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-chromatography-refrigerator-72-cuft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 11:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7100148757-scotch-weld-low-odor-acrylic-adhesive-485-ml-capacity-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-windbreaker-water-resistant-jacket-type-r-class-3-lime-large>: HTTP status code is not handled or not allowed 2026-01-28 11:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-pneumatic-leg-walker-tall-x-large>: HTTP status code is not handled or not allowed 2026-01-28 11:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cervical-collar-soft-3-34l-x-19h-medium-x-long>: HTTP status code is not handled or not allowed 2026-01-28 11:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grab-n-grip-bar-15l-chrome-16-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equagel-adjustable-cushion-16l-x-16w-x-2-12h-green>: HTTP status code is not handled or not allowed 2026-01-28 11:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-excel-wheelchair-w-removable-desk-arms-elevating-footrests-22w-seat>: HTTP status code is not handled or not allowed 2026-01-28 11:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wheel-rollator-w-8-casters-red>: HTTP status code is not handled or not allowed 2026-01-28 11:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-steel-rollator-w-8-casters-green>: HTTP status code is not handled or not allowed 2026-01-28 11:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-pistol-grip-reacher-32l-silver-24-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-in-1-elongated-steel-folding-commode-350-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-urinalysis-container-no-lid-6-oz-500-per-pack20-packs-per-case>: HTTP status code is not handled or not allowed 2026-01-28 11:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/povidone-iodine-pvp-swabstick-50-per-box10-boxes-per-case>: HTTP status code is not handled or not allowed 2026-01-28 11:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-30-40-mmhg-knee-high-small-size-a-regular-black>: HTTP status code is not handled or not allowed 2026-01-28 11:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-15-20-mmhg-knee-high-medium-size-b-regular-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comprecares-reusable-compression-garment-kit-xx-large-tall-black>: HTTP status code is not handled or not allowed 2026-01-28 11:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-20-30-mmhg-thigh-high-x-large-size-d-black>: HTTP status code is not handled or not allowed 2026-01-28 11:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duocare-q6-assisted-24-hour-nonventilated-oral-care-kit-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sterile-cotton-rolls-102l-x-12w-white-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathway-wheelchair-ramp-kit-l-shaped-aluminum-5-platform-20l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 11:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathway-straight-wheelchair-ramp-kit-aluminum-5-top-platform-22l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 11:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathway-wheelchair-ramp-kit-l-shaped-aluminum-5-turn-platform-24l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 11:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 94786 pages (at 98 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 11:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disinfecting-wipes-ii-fresh-citrus-70-wipescanister-6-canisterscarton>: HTTP status code is not handled or not allowed 2026-01-28 11:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-small-brush-for-wide-area-carpet-vacuum-641830>: HTTP status code is not handled or not allowed 2026-01-28 11:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-bar-80-in-l-yellow-with-red-tape-hdpe>: HTTP status code is not handled or not allowed 2026-01-28 11:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-type-n-protection-safety-eyewear-smoky-lens-silver-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torch-cascade-welding-gloves-medium-black>: HTTP status code is not handled or not allowed 2026-01-28 11:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drywall-truck-steel-3000-lb-capacity-52l-x-30w-x-47-9-16h>: HTTP status code is not handled or not allowed 2026-01-28 11:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-truck-w-3-fixed-shelves-steel-2000-lb-cap-66-1-2l-x-32w-x-56-7-16h>: HTTP status code is not handled or not allowed 2026-01-28 11:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deck-mount-single-handle-pantry-faucet-w-8-gooseneck-spout>: HTTP status code is not handled or not allowed 2026-01-28 11:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-handle-for-moen-single-handle-faucets-plastic-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 11:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-storage-rack-for-bosu-pro-21-12l-x-24w-x-72h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-coventry-bun-foot-storage-ottoman-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-couch-w-reversible-chaise-lounge-102w-x-62-3-16d-x-35-3-4h-cream>: HTTP status code is not handled or not allowed 2026-01-28 11:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-hybrid-file-cabinet-w-3-drawers-16w-x-20-3-16d-x-27-13-16h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-hybrid-lower-piler-filer-30w-x-17d-x-26h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-freezer-85-cuft-capacity-black-silver>: HTTP status code is not handled or not allowed 2026-01-28 11:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-ice-maker-portable-makes-25-lb-per-day-red>: HTTP status code is not handled or not allowed 2026-01-28 11:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kensington-bench-w-back-surface-mount-72l-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kensington-bench-w-back-surface-mount-72l-black>: HTTP status code is not handled or not allowed 2026-01-28 11:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biox-stackable-shelf-bin-plastic-3-58w-x-15-34d-x-3-14h-forest-green-pack-of-30>: HTTP status code is not handled or not allowed 2026-01-28 11:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-wet-and-dry-vacuum-6-5-hp-18-gallon>: HTTP status code is not handled or not allowed 2026-01-28 11:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-lo-treatment-table-w-3-section-550-lb-capacity-73l-x-16w-x-29h>: HTTP status code is not handled or not allowed 2026-01-28 11:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/confined-space-kit-w-tripod--bracket>: HTTP status code is not handled or not allowed 2026-01-28 11:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/western-global-243-gallon-fuelcube-gasoline-stationary-fuel-storage-tank-emergency-vent-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-3-door-digital-wood-locker-36-w-x-15-d-x-72-h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 11:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-48mag2-db-cabinet-w-fixed-shelves-assembled-48w-x-18d-x-72h-denim-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-cabinet-w-drawer--laminate-top-30w-x-18d-x-36h-espresso>: HTTP status code is not handled or not allowed 2026-01-28 11:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-fixed-shelves-assembled-36w-x-24d-x-78h-denim-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-cabinet-w-drawer--laminate-top-30w-x-18d-x-36h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-fixed-shelves-assembled-36w-x-24d-x-72h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-mobile-cabinet-assembled-48w-x-24d-x-78h-denim-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-w-fixed-shelves-assembled-48w-x-18d-x-78h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-w-fixed-shelves-assembled-48w-x-18d-x-78h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-28 11:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sliding-door-cabinet-assembled-36w-x-21d-x-72h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-55h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-drawer--shelves-assembled-36w-x-18d-x-72h-wine-red>: HTTP status code is not handled or not allowed 2026-01-28 11:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-33h-wine-red>: HTTP status code is not handled or not allowed 2026-01-28 11:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-pallet-rack-starter-96-in-w-x-24-in-d-x-120-in-h>: HTTP status code is not handled or not allowed 2026-01-28 11:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quartz-enhanced-visibility-sweatshirt-polyester-class-3-black-4xl>: HTTP status code is not handled or not allowed 2026-01-28 11:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-hype-lite-heavy-duty-vest-2xl3xl-pink>: HTTP status code is not handled or not allowed 2026-01-28 11:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-non-ansi-rip-stop-rain-coat-w-teflon-coating-4xl5xl-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quartz-duck-sherpa-lined-heavy-weight-jacket-brown-2xl>: HTTP status code is not handled or not allowed 2026-01-28 11:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quartz-job-shirt-w-14-zipper-cotton-navy-5xl>: HTTP status code is not handled or not allowed 2026-01-28 11:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-waterproof-flame-resistant-winter-quilted-jacket-class-1-blue-small>: HTTP status code is not handled or not allowed 2026-01-28 11:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-platform-truck-w-end--side-handle-3600-lb-cap-60l-x-36w-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-nursery-truck-2000-lb-capacity-53-12l-x-24w-x-63h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkliftable-truck-w-2-shelves-3600-lb-cap-53-12l-x-24w-x-57h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-shelf-truck-w-mesh-sides-3600-lb-cap-53-12l-x-30w-x-57h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-5-shelf-service-cart-1200-lb-capacity-53-12l-x-24w-x-62h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-class-2-hi-vis-safety-vest-2-refl-strips-6-pockets-mesh-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8384-hi-vis-quilted-parka-winter-jacket-5xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8381-hi-vis-4-in-1-winter-bomber-jacket-medium-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-818wp-thermal-waterproof-winter-work-gloves-m-black>: HTTP status code is not handled or not allowed 2026-01-28 11:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-860-heavy-lifting-utility-gloves-2xl-black>: HTTP status code is not handled or not allowed 2026-01-28 11:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8256z-self-extinguishing-vest-zipper-class-2-lxl-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8256z-self-extinguishing-vest-zipper-class-2-4xl5xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8280bk-hi-vis-performance-t-shirt-black-bottom-class-2-2xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6689-cooling-long-sleeve-sun-shirt-w-uv-protection-xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7001-abrasion-resistant-gloves-nitrile-coated-l-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7031-cut-resistant-gloves-nitrile-coated-ansi-a3-l-gray-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7031-cut-resistant-gloves-nitrile-coated-ansi-a3-m-gray-144-pairs>: HTTP status code is not handled or not allowed 2026-01-28 11:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8346z-hi-vis-two-tone-surveyor-vest-zipper-class-3-sm-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-925fx-standard-dorsal-impact-reducing-gloves-m-lime-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8928-hi-vis-insulated-bib-pants-ansi-class-e-300d-polyester-5xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7070-cut-resistant-gloves-nitrile-coated-ansi-a7-2xl-green-12-pairs>: HTTP status code is not handled or not allowed 2026-01-28 11:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7024-cut-resistant-gloves-polyurethane-coated-ansi-a2-2xl-blue-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7024-cut-resistant-gloves-polyurethane-coated-ansi-a2-l-blue-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dagr174-anti-fog-safety-glasses-inoutdoor-lens-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dagr174-anti-fog-safety-glasses-inoutdoor-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldr174-gasket-insert-fgi-foam-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6695-sun-protection-arm-sleeves-ml-blue-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6466-thermal-jacket-500d-nylon-shell-4xl-black>: HTTP status code is not handled or not allowed 2026-01-28 11:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6695-sun-protection-arm-sleeves-xl2xl-blue-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-narrow-hybrid-rolling-safety-ladder-450-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-air-impact-wrench-1100-ft-lbs-torque-d-handle>: HTTP status code is not handled or not allowed 2026-01-28 11:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digger-78-x-3-14-hex-shank-1850-bpm-4-stroke-length-169-bore>: HTTP status code is not handled or not allowed 2026-01-28 11:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jack-hammer-78-x-3-14-hex-shank-263-stroke-length-25-bore>: HTTP status code is not handled or not allowed 2026-01-28 11:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-air-high-speed-ratchet-wrench-80-ft-lb-torque-625-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-backfill-tamper-575-round-malleable-butt-4-stroke-2-bore>: HTTP status code is not handled or not allowed 2026-01-28 11:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-bench-sand-rammer-2-12-round-malleable-butt-25-stroke-1-bore>: HTTP status code is not handled or not allowed 2026-01-28 11:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pavement-breaker-1-18-x-6-hex-shank-575-stroke-length-262-bore>: HTTP status code is not handled or not allowed 2026-01-28 11:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chipping-hammer-68-round-shank-2-stroke-2200-bpm>: HTTP status code is not handled or not allowed 2026-01-28 11:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-6-door-digital-locker-12in-w-x-15in-d-x-78in-h-tan-assembled>: HTTP status code is not handled or not allowed 2026-01-28 11:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-2-door-digital-locker-12in-w-x-12in-d-x-78in-h-blue-assembled>: HTTP status code is not handled or not allowed 2026-01-28 11:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5000-arbor-series-w-4-ft-barrel-225-cfm>: HTTP status code is not handled or not allowed 2026-01-28 11:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-powerstack-li-ion-battery-20v-50-ah-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 11:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chest-freezer-30176c-198-cu-ft-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 11:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-vaccine-refrigerator-18-cuft-solidglass-door>: HTTP status code is not handled or not allowed 2026-01-28 11:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/procedure-anaesthesia-stat-cart-w-6-drawers-29l-x-26-14w-x-47-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/temperature-controller-for-cbs-880-band-sealers>: HTTP status code is not handled or not allowed 2026-01-28 11:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-fs-600h>: HTTP status code is not handled or not allowed 2026-01-28 11:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-pad-for-wn-900f>: HTTP status code is not handled or not allowed 2026-01-28 11:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/temperature-controller-for-w-300dat-w-300dats-w-300dt-s-w-220dt-w-450dt>: HTTP status code is not handled or not allowed 2026-01-28 11:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-pad-for-w-500i-w-500ic>: HTTP status code is not handled or not allowed 2026-01-28 11:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heating-tube--heating-element-for--band-sealer-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-yc-600hl>: HTTP status code is not handled or not allowed 2026-01-28 11:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-w-350i>: HTTP status code is not handled or not allowed 2026-01-28 11:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-w-750i>: HTTP status code is not handled or not allowed 2026-01-28 11:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-for-ks-fs805>: HTTP status code is not handled or not allowed 2026-01-28 11:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-pad-for-kf-600f-kf-605f>: HTTP status code is not handled or not allowed 2026-01-28 11:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 94886 pages (at 100 pages/min), scraped 49118 items (at 0 items/min) 2026-01-28 11:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-tisa-605>: HTTP status code is not handled or not allowed 2026-01-28 11:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundtangular-convex-mirror-plexi-glass-outdoor-15l-x-24w>: HTTP status code is not handled or not allowed 2026-01-28 11:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-angle-grinder-w-lock-on-switch-10-amp-11000-rpm-4-12-wheel-dia-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tough-coat-adv-spray-paint-w-rust-barrier-technology-20-oz-cap-gloss-safety-red>: HTTP status code is not handled or not allowed 2026-01-28 11:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r20-led-light-bulb-8w-525-lumens-medium-screw-base-3000k-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 11:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-w-endcut-bur-double-cut-1-1116l-x-18-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-no-endcut-bur-double-cut-18-shank-dia-716-len-of-cut>: HTTP status code is not handled or not allowed 2026-01-28 11:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointed-cone-bur-double-cut-1-12l-x-18-shank-dia-716-len-of-cut>: HTTP status code is not handled or not allowed 2026-01-28 11:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-tree-shaped-bur-aluma-cut-2-12l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-w-endcut-bur-double-cut-6-34l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointed-tree-shaped-bur-single-cut-2-12l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oval-shaped-bur-double-cut-2-58l-x-14-shank-dia-58-len-of-cut>: HTTP status code is not handled or not allowed 2026-01-28 11:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cylindrical-bur-double-cut-2l-x-18-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cone-shaped-bur-aluma-cut-2l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-brushless-screwdriver-kit-w-2-2-ah-batteries-12v-14-chuck-size>: HTTP status code is not handled or not allowed 2026-01-28 11:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-series-single-speed-rotary-tool-kit-7-assorted-accessories>: HTTP status code is not handled or not allowed 2026-01-28 11:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/composite-cut-off-tool-3-dia-4-cfm-14-npt>: HTTP status code is not handled or not allowed 2026-01-28 11:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cylindrical-bur-for-stainless-steel-2-34l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bur-box-diamond-cut-sa1-sc1-sd1-se1-sf1-sg1-sh1-sj1-sk1-sl1-sm1-sn1>: HTTP status code is not handled or not allowed 2026-01-28 11:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-no-endcut-bur-aluma-cut-2-34l-x-14-shank-dia-12-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-tree-shaped-bur-2-34l-x-14-shank-dia-716-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par16-bulb-120v-7w-550-lumens-twist-lock-base-5000k-daylight>: HTTP status code is not handled or not allowed 2026-01-28 11:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t5-led-tube-light-bulb-miniature-bi-pin-base-13w-1700-lumens-5000k-super-white>: HTTP status code is not handled or not allowed 2026-01-28 11:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuberoller-w-10-rollers-115v-5060-hz-2-80-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/myfuge-mini-centrifuge-w-2-rotors-us-plug-6000-rpm-240v-red-lid>: HTTP status code is not handled or not allowed 2026-01-28 11:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m1-grade-calibration-weight-set-1mg-to-200mg-capacity-pack-of-22>: HTTP status code is not handled or not allowed 2026-01-28 11:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-balance-5000g-capacity-01g-readability-115v>: HTTP status code is not handled or not allowed 2026-01-28 11:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartdrop-x-nano-spectrophotometer-115v>: HTTP status code is not handled or not allowed 2026-01-28 11:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasound-couplet-250-ml-bottle-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 11:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tread-plate-deck-platform-truck-aluminum-6-polyurethane-caster-39l-x-24w-2600-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-deck-platform-truck-aluminum-6-polyurethane-caster-51l-x-30w-2600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-ball-end-mill-2-flute-4l-x-12-dia-2-cut-length>: HTTP status code is not handled or not allowed 2026-01-28 11:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-24w-x-48h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 11:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-add-on-48l-x-24w-x-54h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-36l-x-14w-x-48h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 11:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-32w-x-48h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 11:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-36l-x-32w-x-84h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-12w-x-60h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 11:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-air-conditioner-8000-btu-824w-115v-white>: HTTP status code is not handled or not allowed 2026-01-28 11:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondola-upper-shelves-36w-x-16d-black>: HTTP status code is not handled or not allowed 2026-01-28 11:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondola-upper-shelves-36w-x-14d-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 11:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-gard-h1pro-safety-helmet-non-vented-fas-trac-iii-pivot-ratchet-suspension-hi-viz-green>: HTTP status code is not handled or not allowed 2026-01-28 11:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-gard-h1pro-safety-helmet-trivent-fas-trac-iii-pivot-ratchet-suspension-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8948-do-rag-bandana-bump-cap-insert-mesh-universal-black>: HTTP status code is not handled or not allowed 2026-01-28 11:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-yb12a-agel-12v-12ah-165cca-gel-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3785-split-ring-tool-attachment-1-size-silver-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/container-vent-tan-24018>: HTTP status code is not handled or not allowed 2026-01-28 11:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/es8-soap-touch-free-dispenser-1200-ml-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 11:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-2-bar-steel-ladder-rack-system-for-ford-econoline-1992-on-white>: HTTP status code is not handled or not allowed 2026-01-28 11:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-digital-clinical-scale-ac-adapter-550-lb-cap-14l-x-15w-platform>: HTTP status code is not handled or not allowed 2026-01-28 11:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-polypropylene-rope-per-foot-7200l-x-12w-royal-bluewhite>: HTTP status code is not handled or not allowed 2026-01-28 11:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-carrier-caps-6-tube-not-included-fits-cross-bars-w-channels-aluminum-6-silver>: HTTP status code is not handled or not allowed 2026-01-28 11:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-2-bar-steel-ladder-rack-system-for-dodge-ram-van-1981-on-black>: HTTP status code is not handled or not allowed 2026-01-28 11:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-steel-ladder-rack-system-for-dodge-ram-van-1981-on-black>: HTTP status code is not handled or not allowed 2026-01-28 11:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wg-composite-bulkhead-ford-transit-low-roof>: HTTP status code is not handled or not allowed 2026-01-28 11:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-2-piece-8-led-tube-42w-5700-lumens-5000k-ballast-bypass-type-b-dlc>: HTTP status code is not handled or not allowed 2026-01-28 11:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mdg75df4-mobile-diesel-generator-60-68kw-j-d-engine-w-single-axle-trailer>: HTTP status code is not handled or not allowed 2026-01-28 11:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs18hx48-metric-1-pitch-48mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protect-liquid-cooled-standby-generator-100kw-120-208v-3-phase-ng>: HTTP status code is not handled or not allowed 2026-01-28 11:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs35x1716-1-pitch-1-716-finished-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floors-imperial-peel-stick-carpet-tile-24-l-x-24-w-1-4-h-ash>: HTTP status code is not handled or not allowed 2026-01-28 11:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-heater-kit-for-air-cooled-standby-generator-9-24kw>: HTTP status code is not handled or not allowed 2026-01-28 11:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazmat-storage-building-locker-non-combustible-144w-x-96d-x-108h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs14hx2-1-14-pitch-2-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-pull-on-boots-composite-toe-size-9-5m-11-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20a20h-metric-a-plate-1-14-pitch-30mm-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-8-5m-8-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:10:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-8-5m-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80sf35-1-pitch-qd-bushed-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/select-a-size-kitchen-roll-paper-towels-6-x-11-wht-98-sheets-roll-12-rolls-ctn>: HTTP status code is not handled or not allowed 2026-01-28 11:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-premier-casual-chukka-boots-steel-toe-size-8d-4-inch-h-dark-cognac>: HTTP status code is not handled or not allowed 2026-01-28 11:10:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-wellington-work-boots-steel-toe-size-8m-10-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs18hx40-metric-1-14-pitch-40mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-dot-ecg-monitoring-electrodes-with-clear-tape-2269t-3-4-inch-x-1-1-4-inch-300-bx-cs>: HTTP status code is not handled or not allowed 2026-01-28 11:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-premier-casual-chukka-boots-steel-toe-size-13d-4-inch-h-dark-cognac>: HTTP status code is not handled or not allowed 2026-01-28 11:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailgrip-work-athletic-hiker-boots-alloy-toe-size-9m-4-inch-h-coyote-black>: HTTP status code is not handled or not allowed 2026-01-28 11:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-internal-met-guard-steel-toe-size-11m-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners>: HTTP status code is not handled or not allowed 2026-01-28 11:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-internal-met-guard-steel-toe-size-11-5m-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs25hx2-1-14-pitch-2-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 94981 pages (at 95 pages/min), scraped 49134 items (at 16 items/min) 2026-01-28 11:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-high-top-sneaker-composite-toe-size-7-5w-black-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-pouch-with-ioban-2-incise-film-6657-35-inch-x-30-inch-10-bx-4-bx-cs>: HTTP status code is not handled or not allowed 2026-01-28 11:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-x-ray-image-intensifier-c-arm-drape-1013-41-inch-x-64-inch-10-bx-4-bx-cs>: HTTP status code is not handled or not allowed 2026-01-28 11:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 11:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-internal-met-guard-steel-toe-size-4w-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs21hx2716-1-14-pitch-2-716-finished-bore-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bair-hugger-flex-warming-gown-kit-84203-x-large-51-inch-l-20-case>: HTTP status code is not handled or not allowed 2026-01-28 11:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/attest-biological-indicator-incubator-127>: HTTP status code is not handled or not allowed 2026-01-28 11:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs13hx28-metric-1-12-pitch-28mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs16hx1-58-pitch-1-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs12hx34-58-pitch-34-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-external-met-guard-steel-toe-size-12m-8-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-boltless-shelving-48-in-w-x-18-in-d-x-84-in-h-5-shelves-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs20hx42-metric-1-14-pitch-42mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-internal-met-guard-steel-toe-size-9-5m-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-boltless-shelving-96-in-w-x-24-in-d-x-72-in-h-5-shelves-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-centrifuge-tubes-250-ml-pack-of-70>: HTTP status code is not handled or not allowed 2026-01-28 11:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-clearseal-microcentrifuge-tubes-with-self-standing-sterile-1-5-ml-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40btl25h-taper-bushed-12-pitch-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-women-s-low-cut-sneaker-composite-toe-size-11-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-nuvaclean-uv-pipette-carousel-with-germicidal-uv-lamp-240v>: HTTP status code is not handled or not allowed 2026-01-28 11:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-fliptop-cardboard-freezer-box-with-hinged-lid-100-place-red-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs20hx48-metric-1-12-pitch-48mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50b17hx58mpb-58-pitch-58-plain-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs16hx58-58-pitch-58-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80sh12h-1-pitch-qd-bushed-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40b22hx58mpb-12-pitch-58-plain-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-11-5w-navy-aged-indigo>: HTTP status code is not handled or not allowed 2026-01-28 11:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-10-5m-black-gum>: HTTP status code is not handled or not allowed 2026-01-28 11:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-14m-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-universal-carousel-for-6-pipettes>: HTTP status code is not handled or not allowed 2026-01-28 11:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-13m-black>: HTTP status code is not handled or not allowed 2026-01-28 11:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-large-bulb-transfer-pipette-sterile-7-ml-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs15hx114-58-pitch-1-14-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-mudguard-slip-on-sneaker-composite-toe-size-7m-black>: HTTP status code is not handled or not allowed 2026-01-28 11:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs15hx1716-58-pitch-1-716-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 11:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs23hx34-38-pitch-34-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-star-twin-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-06bs22hx22-metric-38-pitch-22mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-industrial-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40btl42-taper-bushed-12-pitch-42-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs20hx19-metric-58-pitch-19mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laerdal-id-95-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-oxford-shoes-steel-toe-12d-black>: HTTP status code is not handled or not allowed 2026-01-28 11:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50sds23h-qd-bushed-58-pitch-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41bs23hx34-12-pitch-34-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs15hx138-34-pitch-1-38-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 11:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-12-x-5-32-green-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80btl12h-bushed-tapered-locks-1-pitch-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 11:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-950-industrial-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-oxford-shoes-steel-toe-size-13d-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-bp8-12-sealed-lead-acid-replacement-battery-8ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-350-industrial-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-11m-black-seafoam-green-white>: HTTP status code is not handled or not allowed 2026-01-28 11:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adi-4180-alarm-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-heavy-duty-bubble-rolls-12-x-250-x-1-2-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:11:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-9-x-5-32-red-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-slip-on-sneaker-steel-toe-size-8d-cognac>: HTTP status code is not handled or not allowed 2026-01-28 11:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-ml4-alarm-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-10-x-5-32-orange-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-d-5648-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs26hx34-12-pitch-34-finished-bore-26-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-bubble-bags-4-x-7-1-2-1100-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-4208a-industrial-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs21hx78-58-pitch-78-finished-bore-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs16hx118-34-pitch-1-18-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silent-knight-n7hr-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-smp3pmctx-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-a74tn2-alarm-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 11:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/napco-gemp816panel-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dm-25-manual-ranging-multimeter>: HTTP status code is not handled or not allowed 2026-01-28 11:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-maxim55e-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs30hx1316-12-pitch-1-316-finished-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3317-nanoflex-tr-athletic-work-shoes-composite-toe-size-11w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-8w-slate-blue-salmon>: HTTP status code is not handled or not allowed 2026-01-28 11:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 95074 pages (at 93 pages/min), scraped 49147 items (at 13 items/min) 2026-01-28 11:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fer-hg9310-patio-cover-kit-10-ft-l-x-10-ft-ft-w-white>: HTTP status code is not handled or not allowed 2026-01-28 11:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p31461-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12a11h-metric-a-plate-34-pitch-14mm-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25bs18hx14-14-pitch-14-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-mid-cut-shoes-composite-toe-size-3-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:11:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickie-z500-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p315-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-hook-with-acrylic-adhesive-5-8-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 11:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al600ulada-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-7w-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-5-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-orange-5-8-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 11:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctm-hs-570-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-06bs12hx10-metric-38-pitch-10mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs35x1-34-pitch-1-finished-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-mid-cut-shoes-composite-toe-size-8-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps>: HTTP status code is not handled or not allowed 2026-01-28 11:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/01172-food-storage-container-wlid-hdpe-317-qt-stackable-white>: HTTP status code is not handled or not allowed 2026-01-28 11:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00241-drain-tray-hdpe-12-size-white>: HTTP status code is not handled or not allowed 2026-01-28 11:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35b17hx12mpb-38-pitch-12-plain-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-skate-inspired-work-shoes-composite-toe-size-3w-black-tower-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-women-s-athletic-work-shoes-composite-toe-size-8-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-women-s-athletic-work-shoes-composite-toe-size-11-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/09829-lid-polycarbonate-11-size-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-9m-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-protector-with-cutout-4-x-3-opening-18h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roper-632-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-air-flow-sample-probe-tubing-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-wdryer-230v-115-psi-185-cfm-5hp-1ph>: HTTP status code is not handled or not allowed 2026-01-28 11:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-skate-inspired-work-shoes-composite-toe-size-11-5w-black-tower-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-10-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-230v-150-psi-16-cfm-5hp-3ph>: HTTP status code is not handled or not allowed 2026-01-28 11:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gs-gt12b-4-powersports-replacement-battery-12v-e>: HTTP status code is not handled or not allowed 2026-01-28 11:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mojo-mallard-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exide-q-100-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-e-a-standard-aluminum-beam-fe8066-3-for-96-and-102-trailers>: HTTP status code is not handled or not allowed 2026-01-28 11:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rope-tie-off-6-x-2-d-ring-spring-loaded-fitting-660001>: HTTP status code is not handled or not allowed 2026-01-28 11:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kaufel-2272-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gs-gtx14ah-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-9-5m-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-u-handle-2036l-102-dia-bright-tumbled-516-18-tapped-thread>: HTTP status code is not handled or not allowed 2026-01-28 11:12:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-mtbc-bk-drawer-23w-x-14d-x-3h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-opening-pressguard-report-cover-prong-fastener-letter-red>: HTTP status code is not handled or not allowed 2026-01-28 11:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-53505-gy-3505-series-5-adjustable-frame-53w-x-27d-x-32-37h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-4l-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ozbike-all-motorcycle-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panzar-all-motorcycle-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-50cc-motorcycle-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironhorse-all-motorcycle-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-10m-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leatherplus-executive-chair>: HTTP status code is not handled or not allowed 2026-01-28 11:12:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/heating_parts_components/thermostatic_mixing_valves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paragon-condiment-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 11:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-pump-motor-tj34-36-56cb-nol-gp-tefc-rem-c-1-ph-56c-115-208-230v-3-4-hp>: HTTP status code is not handled or not allowed 2026-01-28 11:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 11:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-22-gal-steel-wall-hugger-wastebasket-ss-70ss>: HTTP status code is not handled or not allowed 2026-01-28 11:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daystart-slip-on-work-shoes-steel-toe-size-6-5w-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48u-rack-enclosure-server-cabinet-30-wide-w-doors-and-sides-sr48ubwd>: HTTP status code is not handled or not allowed 2026-01-28 11:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/btlslssc101p-98-bottleless-stainless-steel-commercial-cold-water-cooler-w-filtration>: HTTP status code is not handled or not allowed 2026-01-28 11:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht15-18-145t-gp-tefc-rigid-3-ph-145t-208-230-460v-22-fla>: HTTP status code is not handled or not allowed 2026-01-28 11:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phano-non-toxic-china-marker-green-lead>: HTTP status code is not handled or not allowed 2026-01-28 11:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb4500-high-top-work-sneaker-composite-toe-size-10w-black-white>: HTTP status code is not handled or not allowed 2026-01-28 11:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drr-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht200-18-445-7tbb-gp-tefc-rigid-3-ph-445-7t-230-fla>: HTTP status code is not handled or not allowed 2026-01-28 11:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-elan-250-250cc-snowmobile-replacement-battery-1990-1996-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/hvac_system_parts_components/heating_parts_components/thermostatic_mixing_valves>: HTTP status code is not handled or not allowed 2026-01-28 11:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/87630-protection-bar-16x8-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-slide-base-w256t>: HTTP status code is not handled or not allowed 2026-01-28 11:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-wheels-ew-200-electric-scooter-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ezip-z3-nano-gr-electric-scooter-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-trail-sp-snowmobile-replacement-battery-1986-1989-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20bcws-wrap-around-5x20-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-displayport-coupler-gender-changer-female-female>: HTTP status code is not handled or not allowed 2026-01-28 11:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advanced-power-systems-aps46-ups-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dell-smart-ups-750va-dla750-ups-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-back-ups-back-ups-be550g-ups-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-keep-refrigerated-3-x-110-yds-redwhite-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 11:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdmi-extender-equalizer-active-repeater-video-audio-1080p-60hz>: HTTP status code is not handled or not allowed 2026-01-28 11:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-cabinet-solid-door-fully-recessed-6d-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-insulated-metal-access-panel-20l-x-30w>: HTTP status code is not handled or not allowed 2026-01-28 11:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-class-3-3-in-1-waterproof-bomber-jacket-w-fleece-lining-lime-black-l>: HTTP status code is not handled or not allowed 2026-01-28 11:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-w-dryer-460v-115psi-55cfm-15hp-3ph-120-gal-tank>: HTTP status code is not handled or not allowed 2026-01-28 11:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-lithonia-elb1220-6v-10ah-emergency-light-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/excel-eb12120f2-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built-ii-3-tier-3-doors-locker-12w-x-12d-x-82h-light-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 11:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 95171 pages (at 97 pages/min), scraped 49159 items (at 12 items/min) 2026-01-28 11:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-commercial-grade-60a-rubber-sheet-1-8-thick-x-3-x-8-length-black>: HTTP status code is not handled or not allowed 2026-01-28 11:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/personal-first-aid-kit-1-24-persons-34-pieces-osha-compliant-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 11:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-nonslip-coating-durable-antislip-paint-1-gal-blue-75-bl-gl>: HTTP status code is not handled or not allowed 2026-01-28 11:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elk-12180-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/new-f-180-folding-saw-180mm-large-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-240-nema-3r-100-amp-smart-switch>: HTTP status code is not handled or not allowed 2026-01-28 11:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/new-holland-l779-industrial-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-cold-weather-engine-block-heater-for-automatic-standby-generators-43l-48kw>: HTTP status code is not handled or not allowed 2026-01-28 11:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cocoa-mat-78-wide-x-41-rolls-5-8-thick-natural>: HTTP status code is not handled or not allowed 2026-01-28 11:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/200-amp-7500-watt-non-fuse-outdoor-manual-transfer-switch>: HTTP status code is not handled or not allowed 2026-01-28 11:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built153-1-tier-3-doors-locker-36w-x-12d-x-78h-black-assembled>: HTTP status code is not handled or not allowed 2026-01-28 11:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-gp12240-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porcelain-pro-lite-markerboard-w-1-map-rail-144w-x-48h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ply-railroad-baord-28w-x-22h-yellow-25-carton>: HTTP status code is not handled or not allowed 2026-01-28 11:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-post-safety-barrier-11-ft-yellow-belt-w-roller-base>: HTTP status code is not handled or not allowed 2026-01-28 11:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vent-cap-male-thread-2-1>: HTTP status code is not handled or not allowed 2026-01-28 11:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vent-cap-slip-mount-4-1>: HTTP status code is not handled or not allowed 2026-01-28 11:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-shelving-8-shelves-starter-unit-800-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b-b-hr50-12-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-wheelchair-ramp-scale-1000lb-capacity-emr-connectivity>: HTTP status code is not handled or not allowed 2026-01-28 11:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-metal-shelving-6-shelves-add-on-unit-450-lb-cap-48w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-stand-alone-shelving-6-shelves-500-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-e120-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-ep17-12-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm30-ds-double-output-shaft-for-calm-series-30mm-aluminum-worm-gear-reducer>: HTTP status code is not handled or not allowed 2026-01-28 11:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-couch-3751jc>: HTTP status code is not handled or not allowed 2026-01-28 11:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/changing-table-with-stairs-combo-left>: HTTP status code is not handled or not allowed 2026-01-28 11:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-style-metal-shelving-8-shelves-1100-lb-cap-36w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exploration-lab-6962jc>: HTTP status code is not handled or not allowed 2026-01-28 11:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yuasa-npx-25-sealed-lead-acid-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pick-a-book-stand-2-sided>: HTTP status code is not handled or not allowed 2026-01-28 11:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm63-401-56c-aluminum-worm-gear-reducer-63mm-401-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-stand-alone-shelving-6-shelves-800-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-shelving-8-shelves-starter-unit-400-lb-cap-48w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-style-deep-bin-shelving-7-shelves-add-on-unit-36w-x-72d-x-87h-bluegray>: HTTP status code is not handled or not allowed 2026-01-28 11:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-djw6-1-2-sealed-lead-acid-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-heavy-duty-double-entry-work-platform-24w-steps-dep7-2472>: HTTP status code is not handled or not allowed 2026-01-28 11:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/national-c14c-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zeus-pc1-3-6f1-sealed-lead-acid-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:13:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/cut_resistant_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/northflex-cold-grip-plus-5-cut-resistant-gloves-hi-vis-orange-black-size-xl-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yuasa-npx50-250-sealed-lead-acid-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiamm-12fghl28-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-style-metal-shelving-6-shelves-500-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-pf90-b0812-8-x-12-premier-privacy-fence-screen-90-blockage>: HTTP status code is not handled or not allowed 2026-01-28 11:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-tie-down-cinch-strap-1500-lb-capacity-1-x-2-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 11:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cove-base-700-series-tpr-4x18x48-dolphin>: HTTP status code is not handled or not allowed 2026-01-28 11:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ritar-rt12260s-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-strap-link-coupling-cinch>: HTTP status code is not handled or not allowed 2026-01-28 11:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-multi-purpose-j-hook-2-hanger>: HTTP status code is not handled or not allowed 2026-01-28 11:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/gloves_sleeves/cut_resistant_gloves>: HTTP status code is not handled or not allowed 2026-01-28 11:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-tie-down-single-truck-trailer-anchor-kit-w-2-x-192-cam-strap>: HTTP status code is not handled or not allowed 2026-01-28 11:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sota-sa1272-sa-1272-12v-8ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-snap-hook-carabiner-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-unfinished-single-strap-anchor-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/volcano-kb1240-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithium-battery-dolly>: HTTP status code is not handled or not allowed 2026-01-28 11:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werker-wka12-7f-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnb2-2448-6mr-with-lower-shelf-24-x-48-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 11:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29338e-spherical-roller-thrust-bearing-extra-capacity-bronze-cage>: HTTP status code is not handled or not allowed 2026-01-28 11:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spark-resistant-manual-chain-hoist-3-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 11:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spark-resistant-manual-chain-hoist-12-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 11:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-rackall-model-ra18-high-temp-conductive-25-slots-stackable>: HTTP status code is not handled or not allowed 2026-01-28 11:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-6fm75-x-sealed-lead-acid-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 11:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exair-soft-grip-safety-air-gun-wmicro-super-air-nozzle-24-extension-and-chip-shield>: HTTP status code is not handled or not allowed 2026-01-28 11:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al600ulxpd16-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suntech-std-series-u1-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n203024-2-shelving-unit-2-shelf-20w-x-30h-x-24l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 11:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n203036-2-shelving-unit-2-shelf-20w-x-30h-x-36l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 11:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fall-protection-push-beam-trolley-w-upto-12w-flange-12-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-smp16pmc12x-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/napco-gema1000e4lb-pak-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/volt153-portable-electric-heater-w-thermostat-240v-3-phase-40000w>: HTTP status code is not handled or not allowed 2026-01-28 11:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al600ulpd8cb-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-fed-portable-eyewash-station-self-contained-10-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-fed-portable-eyewash-station-self-contained-10-gallon-capacity-20-pallets>: HTTP status code is not handled or not allowed 2026-01-28 11:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-drive-aquarium-pump-4mdqxsc-115v-1325-gph-at-1>: HTTP status code is not handled or not allowed 2026-01-28 11:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-i-steel-safety-can-with-funnel-2-5-gal-9-5l-self-close-lid-yellow-7125210>: HTTP status code is not handled or not allowed 2026-01-28 11:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suntech-all-models-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-arrow-xt-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rollabarrier-post-black-wrinkle-75-ft-black-belt>: HTTP status code is not handled or not allowed 2026-01-28 11:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 95267 pages (at 96 pages/min), scraped 49176 items (at 17 items/min) 2026-01-28 11:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-w-btc-w-vestil-forkli-battery-transfer-cart>: HTTP status code is not handled or not allowed 2026-01-28 11:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6319zz-deep-groove-ball-bearing-double-shielded-95mm-bore-200mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shim-coil-005-6-100>: HTTP status code is not handled or not allowed 2026-01-28 11:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-storm-rx-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-lbs-capacity-tie-down-motorcycle-1-inch-x-6-ft-1-chrome-and-1-pvc-coated-hook>: HTTP status code is not handled or not allowed 2026-01-28 11:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnet-telescopic-tool-straight-14lb-pull-6-1-2-inch-to-32-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 11:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-mobility-gls-150-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-wide-mouth-pp-125ml-capacity-clear-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 11:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62132rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-65mm-bore-120mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/production-booster-463t72lg-72w-x-36h-3-shelves-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-power-9000-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63132rs-deep-groove-ball-bearing-double-sealed-65mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aerial-shelf-for-bench-22630lg-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-bolted-pallet-rack-add-on-96w-x-42d-x-144h>: HTTP status code is not handled or not allowed 2026-01-28 11:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-1121-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-relay-for-global-industrial-1-2-ton-portable-outdoor-ac>: HTTP status code is not handled or not allowed 2026-01-28 11:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62032rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-17mm-bore-40mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-tri-scoot-2-wheelchair-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-sonic-wheelchair-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6203zznr-deep-groove-ball-bearing-double-shielded-snap-ring-17mm-bore-40mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/murray-11hp-35ah-lawn-and-garden-replacement-battery-10ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-cart-black-epoxy-48l-x-14w-x-40h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60072rs-deep-groove-ball-bearing-double-sealed-35mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-highlighter-chisel-tip-assorted-inks-1-set>: HTTP status code is not handled or not allowed 2026-01-28 11:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-mechanical-pencil-refillable-05mm-assorted-barrel-dozen>: HTTP status code is not handled or not allowed 2026-01-28 11:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6006zz-deep-groove-ball-bearing-double-shielded-30mm-bore-55mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:14:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/630022rs-deep-groove-ball-bearing-wide-width-double-sealed-15mm-bore-32mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marksalot-permanent-marker-large-chisel-tip-red-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 11:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440212045-cloth-belt-340d-37w-x-60l-60-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sharp-mechanical-pencil-refillable-05mm-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 11:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500084084-low-stretch-belt-1-2w-x-24l-med-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500190394-cf-cloth-belt-337dc-2w-x-72l-a100-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-24l-x-24w-x-69h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gilson-14e-lawn-and-garden-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunworks-groundwood-construction-paper-18x12-light-brown-50-sheets>: HTTP status code is not handled or not allowed 2026-01-28 11:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-sdd55r-h-55-gallon-solid-deck-drum-dolly-with-pull-loop-hard-rubber-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-windsor-6-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:14:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 11:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/john-deere-155c-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-permanent-marker-fine-point-assorted-ink-12set>: HTTP status code is not handled or not allowed 2026-01-28 11:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energel-liquid-retractable-gel-ink-pen-metal-tip-refillable-07mm-violet-ink>: HTTP status code is not handled or not allowed 2026-01-28 11:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-x-back-airflow153-womens-long-sleeve-shirt-class-3-3xl-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:14:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/power_grinder/die_grinders/corded_die_grinders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zgrip-max-retractable-pen-10mm-silver-barrel-red-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 11:14:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/grinders_buffers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10364-5mm-hex-end-power-bit-3-handle-14-stock>: HTTP status code is not handled or not allowed 2026-01-28 11:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f301-ballpoint-retractable-pen-stainless-steel-barrel-07mm-black-ink-2pack>: HTTP status code is not handled or not allowed 2026-01-28 11:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-rolling-ball-pen-nonrefillable-07mm-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 11:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 11:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbell-he625-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enviroalert174-glycerin-bottle-6-oz-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lumocolor-permanent-universal-pen-super-fine-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 11:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-speed-rotary-for-oils-44198>: HTTP status code is not handled or not allowed 2026-01-28 11:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enviroalert-professional174-wired-ultra-low-sensor>: HTTP status code is not handled or not allowed 2026-01-28 11:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-120542-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-point-marker-pen-extra-fine-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 11:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/power_grinder/die_grinders/corded_die_grinders>: HTTP status code is not handled or not allowed 2026-01-28 11:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technologies-ez-shopper-electric-grocery-cart-ezs-1772-8000-bea-blue-750-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/grinders_buffers>: HTTP status code is not handled or not allowed 2026-01-28 11:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lopro-wireless-solar-powered-truckcab-led-light-white-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 11:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/holophane-m2-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elsar-16208-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-no-bump-dump-hopper-steel-2-cu-yd-6000-lb-capacity-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 11:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-plug-headset-with-microphone-white-277616wh>: HTTP status code is not handled or not allowed 2026-01-28 11:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-sdg-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-no-bump-dump-hopper-steel-2-cu-yd-6000-lb-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 11:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/holophane-ec6-emergency-light-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-duty-no-bump-dump-hopper-steel-3-cu-yd-4000-lb-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 11:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-cage-enclosed-elevated-platform-w-wheels-3-5-type-iaa-3-step-375-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sd-st-terminal-sensor-4-wiretb>: HTTP status code is not handled or not allowed 2026-01-28 11:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x3-4-high-density-poly-fabric-roller-cover-24-case-9sc075>: HTTP status code is not handled or not allowed 2026-01-28 11:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/revolution-20-articulated-extendable-ladder-aluminum-5-type-ia-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-92680-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-jc1260-emergency-light-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conquest-all-terrain-articulated-extendable-ladder-fiberglass-5-type-ia-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 95362 pages (at 95 pages/min), scraped 49198 items (at 22 items/min) 2026-01-28 11:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-ep712-t2-12v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hawker-cyclon-08090012-6v-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-h2m-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbell-ecl625-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-storage-cabinet-turn-handle-3-adj-shelves-36-inch-w-x-18-inch-d-x-72-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-bin-front-42-inch-w-x-3-inch-h-jet-black>: HTTP status code is not handled or not allowed 2026-01-28 11:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolt-on-hitch-bar-led-flood-light-for-2020-current-chevy-gmc-2500-3500-16a>: HTTP status code is not handled or not allowed 2026-01-28 11:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-mop-handle-vinyl-coated-black-60>: HTTP status code is not handled or not allowed 2026-01-28 11:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-air-compressor-w-kohler-engine-14-hp-30-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atlite-24-1009-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-bulk-storage-rack-upright-84-inch-h-x-36-inch-d-8-489-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coopower-cpd1217-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-c-1-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm34di-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-panel-2w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 11:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-6v-5ah-6v-45ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enersys-08590020-12v-8ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-esespel-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-tg30i-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-base-w-wheels-for-libra-cast-aluminum-100-lb-weight-bronze>: HTTP status code is not handled or not allowed 2026-01-28 11:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parasystems-ps1270f2-12v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/507a-2-flush-valve-w-flapper>: HTTP status code is not handled or not allowed 2026-01-28 11:15:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/toilet_installation_repair_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upg-ub6120-d5736-6v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astral-octagon-umbrella-w-centerpost-sunbrella-awning-196w-x-196d-x-110h-tuscan>: HTTP status code is not handled or not allowed 2026-01-28 11:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-cp6100f2-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-panel-class-c-4w-x-16h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-s18180-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signature-series-3-drawer-mechanics-chest-base-26-34w-x-12-12d-x-11-34h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prescolite-12-826-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2756-roller-wheel-bracket-assembly>: HTTP status code is not handled or not allowed 2026-01-28 11:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19504-a19-omni-directional-led-floodlight-115w-2700k-800-lumens-300-deg-beam>: HTTP status code is not handled or not allowed 2026-01-28 11:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm020ld-sd-fg-10-ner-food-grade-hoist-with-motorized-trolley-2-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/toilet_installation_repair_parts>: HTTP status code is not handled or not allowed 2026-01-28 11:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-dr7497s-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-cart-dx-w-smoke-hinged-door-22-78l-x-19-38w-x-35-58h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pe6512-emergency-light-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-3-5x-90x-circuit-zoom-stereo-microscope-144-led-light-10mp-digital-camera>: HTTP status code is not handled or not allowed 2026-01-28 11:15:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/micrometers_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pe2412-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-q103-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3358-1420-x-12-fbhscs-and-slidein-triple-economy-tnut>: HTTP status code is not handled or not allowed 2026-01-28 11:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-6-117-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-light-blue-4xl>: HTTP status code is not handled or not allowed 2026-01-28 11:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-puller-with-2-swiveling-jaws-75-ton-cap-9-78-opening-8-58-adjustable-reach>: HTTP status code is not handled or not allowed 2026-01-28 11:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightalarms-tbrc3-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-jacket-v-neck-knit-cuff-light-blue-large>: HTTP status code is not handled or not allowed 2026-01-28 11:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-high-performance-puller-with-3-jaws-22-ton-capacity-25-58-opening-11-78-reach>: HTTP status code is not handled or not allowed 2026-01-28 11:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-side-loading-glove-box-holder-w-magnet-10-18w-x-4-58d-x-5-12h>: HTTP status code is not handled or not allowed 2026-01-28 11:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000-watt-48-volt-pure-sine-inverter-charger-picoglf20w48v120v>: HTTP status code is not handled or not allowed 2026-01-28 11:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/measurement_layout_tools/micrometers_accessories>: HTTP status code is not handled or not allowed 2026-01-28 11:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-30-d-production-workbench-with-drawer-upright-shelf-stainless-steel-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6724-double-flange-linear-bearing>: HTTP status code is not handled or not allowed 2026-01-28 11:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2606-acrylic-panel-black>: HTTP status code is not handled or not allowed 2026-01-28 11:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taotao-ata-125g-125cc-atv-replacement-battery-2013-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-drivers-restricted-to-truck-loading--dock-only--sign-vinyl-10-x-14-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-up-after-your-dog-waste-transmits-disease-sign-plastic-10-x-14-greenbrown>: HTTP status code is not handled or not allowed 2026-01-28 11:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3781-rollin-tnut-wset-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-ultratech-ut1240-12v-5ah-alarm-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4127-10-hole-90-joining-plate-4l>: HTTP status code is not handled or not allowed 2026-01-28 11:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-iakb0509-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/john-deere-all-models-atv-replacement-battery-1992-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-pe4f1-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucky-duck-rapid-flyer-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mojo-flyway-feeder-hw9002-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-and-receiving-delivery-location-sign-plastic-10-x-14-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 11:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3110-socket-head-cap-screw-58l>: HTTP status code is not handled or not allowed 2026-01-28 11:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6110-t-handle-hex-wrench-532>: HTTP status code is not handled or not allowed 2026-01-28 11:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-118-0026-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp010ld-20-ner-electric-hoist-push-trolley-1-ton-20-lift-1425-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 11:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2573-45-degree-support-18l>: HTTP status code is not handled or not allowed 2026-01-28 11:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4395-standard-pivot-nub-assembly>: HTTP status code is not handled or not allowed 2026-01-28 11:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2030-end-cap-15l>: HTTP status code is not handled or not allowed 2026-01-28 11:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hospital-traffic-safety-sign-egp-aluminum-12-x-24-whiteblue>: HTTP status code is not handled or not allowed 2026-01-28 11:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-xr250l-250cc-motorcycle-replacement-battery-1991-1996-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner020l-15-ner-electric-hoist-hook-suspension-2-ton-15-lift-14-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 11:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 95459 pages (at 97 pages/min), scraped 49221 items (at 23 items/min) 2026-01-28 11:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aeon-cobra-cx-sport-50-50cc-motorcycle-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6495b-portable-battery-power-bank-with-usb-c-cord-black>: HTTP status code is not handled or not allowed 2026-01-28 11:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlw-2473-22-m12-force-logic-press-tool-12-2-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7209bmuc3-angular-contact-ball-bearing-flush-ground-45mm-bore-x-85mm-od-x-19mm-w>: HTTP status code is not handled or not allowed 2026-01-28 11:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7310bmuc3-angular-contact-ball-bearing-flush-ground-50mm-bore-x-110mm-od-x-27mm-w>: HTTP status code is not handled or not allowed 2026-01-28 11:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atk-50-mxa-50cc-motorcycle-replacement-battery-2003-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atk-50-mxe-50cc-motorcycle-replacement-battery-2003-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7319bmuc3-angular-contact-ball-bearing-flush-ground-95mm-bore-x-200mm-od-x-45mm-w>: HTTP status code is not handled or not allowed 2026-01-28 11:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ft-one-full-body-3d-non-belted-harness-quick-connect-chest--tongue-buckle-legs-2xl>: HTTP status code is not handled or not allowed 2026-01-28 11:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retaining-magnet-assembly-internal-thread-and-rubber-jacket-169-dia-zinc-plated-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/turn-off-when-not-in-use-label-adhesive-vinyl-3-x-1-12-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 11:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snerp010s-10-sner-electric-hoist-push-trolley-1-ton-10-lift-14-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 11:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clipper-sliding-doors-pair-72-w-36-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:16:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-e150-electric-scooter-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp005ld-fg-10-ner-food-grade-hoist-with-push-trolley-12-ton-capacity-230v>: HTTP status code is not handled or not allowed 2026-01-28 11:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-gtr-rxp-1500cc-personal-watercraft-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-hand-pump-general-guide-methyl-alcohol-or-ethyl-alcohol-up-to-2000-ssu-viscosity>: HTTP status code is not handled or not allowed 2026-01-28 11:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xcooter-blaster-electric-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snerm010l-l-15-sner-electric-hoist-motor-trolley-1-ton-15-lift-7-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 11:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-only-label-w-recycle-sign-aluminum-10-x-14>: HTTP status code is not handled or not allowed 2026-01-28 11:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-adaptor-for-14-145-diameter-drum-integrated-brackets-adjust-for-up-to-38-tall-drum>: HTTP status code is not handled or not allowed 2026-01-28 11:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/turn-off-lights-conserve-energy-label-adhesive-dura-vinyl-1-12-x-3>: HTTP status code is not handled or not allowed 2026-01-28 11:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sner020l-15-sner-electric-hoist-hook-suspension-2-ton-15-lift-7-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 11:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-cans-only-label-w-recycle-sign-adhesive-vinyl-7-x-10>: HTTP status code is not handled or not allowed 2026-01-28 11:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries>: HTTP status code is not handled or not allowed 2026-01-28 11:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-only-label-w-recycle-sign-plastic-10-x-14>: HTTP status code is not handled or not allowed 2026-01-28 11:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner010l-fg-10-ner-food-grade-hoist-1-ton-capacity-230v>: HTTP status code is not handled or not allowed 2026-01-28 11:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickie-pulse-6-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-roll-poly-drum-on-enhanced-456-series-field-install-includes-extra-wheels-end-stop>: HTTP status code is not handled or not allowed 2026-01-28 11:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etc-new-century-electric-scooter-replacement-battery-14ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/morspeed-forklift-attachment-two-drum-handler-2-heads-per-drum-capacity-1500-lbs-per-drum>: HTTP status code is not handled or not allowed 2026-01-28 11:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neodymium-telescoping-magnetic-pickup-pointer-07565-with-scribe>: HTTP status code is not handled or not allowed 2026-01-28 11:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-autoclavable-single-channel-fixed-volume-pipettor-71312127-1000ul>: HTTP status code is not handled or not allowed 2026-01-28 11:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neodymium-magnetic-hook-mhhh18-18-lbs-pull-white-enamel-paint>: HTTP status code is not handled or not allowed 2026-01-28 11:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astrobrights-colored-paper-8-1-2-inch-x-11-inch-24-lb-gamma-green-500-sheets-ream>: HTTP status code is not handled or not allowed 2026-01-28 11:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wus-tech-m3a-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/array-designer-colored-bond-paper-8-1-2-inch-x-11-inch-24-lb-assorted-500-sheets-ream>: HTTP status code is not handled or not allowed 2026-01-28 11:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tzora-classic-mobility-scooter-replacement-battery-14ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-renegade-gsx-mx-z-1200cc-snowmobile-replacement-battery-2009-2018-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-96-slatwall-panel-red-oak-veneer-with-aluminum-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 11:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-white-copy-paper-8-1-2-inch-x-14-inch-20-lb-white-500-sheets-ream>: HTTP status code is not handled or not allowed 2026-01-28 11:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-back-ups-6-outlets-450va-120v-bn450m-ups-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-h-cca-meat-grinder-power-attachment-for-mixersmotors-w22-power-hub>: HTTP status code is not handled or not allowed 2026-01-28 11:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afcm2-frozen-beverage-dispenser-115v-64-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kelvinator-scientific-freezer-uc26f-6-040-medical-replacement-battery-4-5ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbonless-paper-8-1-2-inch-x-11-inch-white-canary-pink-1670-sets-carton>: HTTP status code is not handled or not allowed 2026-01-28 11:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modesto-32-commercial-planter-black>: HTTP status code is not handled or not allowed 2026-01-28 11:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/picker-inernational-l-ultra-drive-medical-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/color-copy-paper-8-1-2-inch-x-11-inch-28-lb-ultra-smooth-white-500-sheets-ream>: HTTP status code is not handled or not allowed 2026-01-28 11:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodpro-purofort-multi-grip-safety-boots-lug-outsole-steel-toe-size-6-14h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g3ro-standing-water-cooler-4-stage-reverse-osmosis-system>: HTTP status code is not handled or not allowed 2026-01-28 11:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Lift-Full-Body-Electric-Patient-Lift-600lb-30600PLE>: HTTP status code is not handled or not allowed 2026-01-28 11:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-knee-boots-safety-loc-outsole-plain-toe-size-6-14h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abbott-laboratories-life-care-75-breeze-medical-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ltg-rebar-stainless-17-multi-tool>: HTTP status code is not handled or not allowed 2026-01-28 11:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-xcp-knee-boots-chevron-outsole-steel-toe-size-4-14h-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-tape-individual-dots-with-adhesive-58l-x-58w-black-pack-of-1200>: HTTP status code is not handled or not allowed 2026-01-28 11:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/world-dryer-smartdri-plus-aluminum-208-240v-hand-dryerwhite-640335>: HTTP status code is not handled or not allowed 2026-01-28 11:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-21d-x-74h-with-28-ssb483-stackable-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-steel-gantry-crane-2000-lb-capacity-20w-x-12-1316h>: HTTP status code is not handled or not allowed 2026-01-28 11:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-tab-plastic-insertable-divider-print-on-5-tabs-multicolor-multicolor>: HTTP status code is not handled or not allowed 2026-01-28 11:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-decker-electromate-400-jump-starter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-elevating-cart-1750-lb-capacity-steel-39-12-x-20-platform-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gruber-power-gps12-7-2f2-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-electric-cable-hoist-38-ton-capacity-36-lift-30-fpm-115v>: HTTP status code is not handled or not allowed 2026-01-28 11:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-brim-smooth-dome-hard-hat-non-vented-textile-suspension-natural-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/national-power-nb12-18f2-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/national-power-nb12-18nb-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanuk-330-0009-330-series-nano-case-red>: HTTP status code is not handled or not allowed 2026-01-28 11:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apparel-dispenser-w-3-large-compartments-20w-x-18-1-2d-x-9-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 11:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-style-industrial-climbing-helmet-non-vented-hdpe-suspension-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub12750fr-sealed-lead-acid-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 11:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-and-square-flat-head-machine-screw-10-24-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-bin-station-w-8-fixed-compartments-24w-x-12d-x-10-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 11:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polynib-38-thick-entrance-floor-mat-2x3-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 11:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sweatshirt-hivis-lime-5xl>: HTTP status code is not handled or not allowed 2026-01-28 11:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-connect-12-anti-fatigueanti-slip-classic-floor-mat-3x3-black>: HTTP status code is not handled or not allowed 2026-01-28 11:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-wardrobe-cabinet-easy-assembly-36x24x72-tan-270033TN>: HTTP status code is not handled or not allowed 2026-01-28 11:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/935-0003-935-case-220l-x-140w-x-90h-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activecare-medical-cobalt-x23-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub1250-sealed-lead-acid-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 95556 pages (at 97 pages/min), scraped 49237 items (at 16 items/min) 2026-01-28 11:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-cycle-chair-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-degree-liquid-tight-connector-alloy-steel-1-12-size-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-screw-hex-nut-silicon-bronze-6-32-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-thread-coupling-4-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmx-iiia-flame-resistant-premium-coverall-cnb2-navy-45-oz-size-42-long>: HTTP status code is not handled or not allowed 2026-01-28 11:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-flame-resistant-classic-coverall-cec2-navy-size-64-regular>: HTTP status code is not handled or not allowed 2026-01-28 11:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amigo-mobility-rt-express-junior-690000-wheelchair-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-recycling-container-with-paper-slot-opening36-gallon-capacity-gray-261623GY>: HTTP status code is not handled or not allowed 2026-01-28 11:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-air-curtain-42-inch-w-door-208v-electric-1-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-nut-18-8-stainless-steel-34-10-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-go-go-sc53hd-elite-traveller-plus-wheelchair-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-air-curtain-72-inch-w-door-480v-electric-3-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insect-control-air-curtain-96-inch-w-door-480v-3-4hp-3-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vest-style-harness-1107807-front-back-d-ring-loops-for-belt-tongue-buckle-legs-m>: HTTP status code is not handled or not allowed 2026-01-28 11:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-yellow-work-vest-harness-1111584-w-back-d-ring-universal>: HTTP status code is not handled or not allowed 2026-01-28 11:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-10-32-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-sc53-elite-traveller-plus-wheelchair-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-orange-vest-style-harness-1107811-w-front-back-d-ring-small>: HTTP status code is not handled or not allowed 2026-01-28 11:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5506-class-3-standard-moisture-wicking-tshirt-with-chest-pocket-orange-large>: HTTP status code is not handled or not allowed 2026-01-28 11:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-7216cydup4-universal-ground-duplex-80mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-7007cydup4-universal-ground-duplex-35mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-elite-traveler-plus-hd-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1005-standard-class-2-two-tone-mesh-zipper-safety-vest-lime-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2001-standard-class-3-mesh-zipper-safety-vest-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-28 11:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2001-standard-class-3-mesh-zipper-safety-vest-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-28 11:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/murray-12-5hp-38-12-5-hp-35ah-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1006-standard-class-2-two-tone-mesh-zipper-safety-vest-orange-medium>: HTTP status code is not handled or not allowed 2026-01-28 11:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-daytona-4-gt-s45001gt-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-lightguard-100001137-emergency-light-replacement-battery-12ah-6v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suvpr-xt-gp1000-solar-power-system-solar-replacement-battery-100ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibt-technologies-bt4-5-12-emergency-light-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibt-technologies-bt3-4-12-emergency-light-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-drawer-heavy-duty-vertical-file-cabinet-15-inchw-x-26-1-2-inchd-x-28-3-8-inchh-black>: HTTP status code is not handled or not allowed 2026-01-28 11:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perf-24-w-15-step-stl-roll-lad-21-d-top-stp-hndrl-lck-orng-fs154021po>: HTTP status code is not handled or not allowed 2026-01-28 11:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-kvf400-a-prairie-400-4x4-canada-400cc-atv-battery-1997-2000-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb4830-mens-ateron-black-and-blue-sport-oxford-blackblue-size-10-w>: HTTP status code is not handled or not allowed 2026-01-28 11:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48h-x-48w-slatwall-panelblack-laminate-without-inserts-968338B>: HTTP status code is not handled or not allowed 2026-01-28 11:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-sportsman-850-efi-xp-850cc-atv-replacement-battery-2009-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-compact-bench-scale-15lb-x-0-0005lb-9-3-8-square-platform>: HTTP status code is not handled or not allowed 2026-01-28 11:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inventory-cone-turquoise-3-sided>: HTTP status code is not handled or not allowed 2026-01-28 11:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-grade-5-carbon-steel-38-16-x-3-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-gaucho-grande-hp252-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bm202hfc001-panel-mount-smart-alert-alarm-2-sounds-dark-gray-acdc24v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mps202rg-continuous-light-45mm-npn-pnp-compatible-redgreen-light-silver-acdc24v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-29ss-2-poly-overpack-drum-truck-steel-casters-1000-lb>: HTTP status code is not handled or not allowed 2026-01-28 11:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-grinta-xl-police-ed1030-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-bottom-mount-rod-hanger-14-20-size-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-square-pan-head-carbon-steel-12-x-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-trx500fpm-fourtrax-foreman-4x4-w-power-steering-500cc-atv-battery-2008-2013-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-book-faint-ruled-8-3-8-x-10-3-8-black-cover-300-pages-pad>: HTTP status code is not handled or not allowed 2026-01-28 11:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf133301r56c-cast-iron-right-angle-worm-gear-reducer-301-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs175151l-cast-iron-right-angle-worm-gear-reducer-151-ratio>: HTTP status code is not handled or not allowed 2026-01-28 11:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/account-book-record-ruled-9-5-8-x-7-5-8-black-cover-300-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 11:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf133151l56c-cast-iron-right-angle-worm-gear-reducer-151-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf20651r56c-cast-iron-right-angle-worm-gear-reducer-51-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silent-partner-edge-lite-r-tennis-ball-machine-replacement-battery-9ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-softail-heritage-flsti-1450cc-motorcycle-battery-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-premium-staples-1-4-leg-length-105-per-strip-5000-box>: HTTP status code is not handled or not allowed 2026-01-28 11:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf237201r56c-cast-iron-right-angle-worm-gear-reducer-201-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-phillips-carbon-steel-12-x-3-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-silicon-bronze-0-12-id-1-14-od-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-staples-5-8-leg-length-100-per-strip-2500-box>: HTTP status code is not handled or not allowed 2026-01-28 11:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fender-washer-low-carbon-steel-12-x-1-38-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-clinch-stapler-cartridge-for-max-eh-20f-stapler-20-sheet-capacity-2000-box>: HTTP status code is not handled or not allowed 2026-01-28 11:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf325501h145tc-cast-iron-right-angle-worm-gear-reducer-501-ratio-145t-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-1-paper-clips-silver-100-box>: HTTP status code is not handled or not allowed 2026-01-28 11:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-softail-standard-fxst-1584cc-motorcycle-battery-2007-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-staples-1-4-leg-length-210-per-strip-5000-box>: HTTP status code is not handled or not allowed 2026-01-28 11:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-screamin-eagle-fxstsse2-1800cc-motorcycle-battery-2008-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-rsv4-r-factory-1000cc-motorcycle-replacement-battery-2009-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-gl1800b-gold-wing-f6b-deluxe-1800cc-motorcycle-battery-2013-2017-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fender-washer-18-8-stainless-steel-516-x-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-plastibands-4-1-4-length-assorted-colors-200-box>: HTTP status code is not handled or not allowed 2026-01-28 11:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf262151h56c-cast-iron-right-angle-worm-gear-reducer-151-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 95657 pages (at 101 pages/min), scraped 49264 items (at 27 items/min) 2026-01-28 11:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs325101l-cast-iron-right-angle-worm-gear-reducer-101-ratio>: HTTP status code is not handled or not allowed 2026-01-28 11:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf262301de145tc-cast-iron-right-angle-worm-gear-reducer-301-ratio-145t-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-insulated-liquid-tight-connector-zinc-die-cast-38-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-rst1000-futura-1000cc-motorcycle-replacement-battery-2001-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-scissors-7-length-straight-gray-red-1-each>: HTTP status code is not handled or not allowed 2026-01-28 11:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-clip-with-adhesive-strips-white-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-paper-guide-for-use-with-cat-3-ach-variable-speed-rewinder>: HTTP status code is not handled or not allowed 2026-01-28 11:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breeze-automatic-stapler-20-sheet-105-staple-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 11:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-hooded-jacket-zipper-fluorescent-yellowgreenblack-4xl>: HTTP status code is not handled or not allowed 2026-01-28 11:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-tuono-1000-r-factory-1000cc-motorcycle-replacement-battery-2004-2010-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab97-1836-6-36-inch-w-x-18-inch-d-x-97-inch-h-6-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-spyder-rt-s-sm5-1000cc-motorcycle-replacement-battery-2012-2013-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab85-1836-8-36-inch-w-x-18-inch-d-x-85-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-lag-screw-carbon-steel-516-x-3-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-v92d-deluxe-cruiser-1507cc-motorcycle-replacement-battery-2001-2003-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:18:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb97-2436-8-36-inch-w-x-24-inch-d-x-97-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab73-1536-5x-36-inch-w-x-15-inch-d-x-73-inch-h-5-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pr-48-two-tone-waterproof-rain-coat-ansi-class-3-lime-black-size-4x>: HTTP status code is not handled or not allowed 2026-01-28 11:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb85-1236-8-36-inch-w-x-12-inch-d-x-85-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab73-1836-6-36-inch-w-x-18-inch-d-x-73-inch-h-6-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-washer-spring-steel-516-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-washer-spring-steel-8-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-cotton-candy-machine-floss-5-w-metal-bowl-200-lbs-servings-per-hour>: HTTP status code is not handled or not allowed 2026-01-28 11:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-breakout-fxsb-1690cc-motorcycle-replacement-battery-2013-2017-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-quad-workstation-with-electric-raceways-12-ft-5-in-w-x-12-ft-5-in-d-x-70-in-h>: HTTP status code is not handled or not allowed 2026-01-28 11:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_batteries/motorcycle_batteries>: HTTP status code is not handled or not allowed 2026-01-28 11:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uh200-ultrasonic-coolwarm-mist-humidifier-8-pints-output-per-day-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-sl-750-750cc-personal-watercraft-replacement-battery-1994-1995-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-5-shelf-chrome-basket-wire-shelving-unit-starter-60w-x-18d-x-80h>: HTTP status code is not handled or not allowed 2026-01-28 11:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-cradle-drip-pan-with-brackets-797090>: HTTP status code is not handled or not allowed 2026-01-28 11:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-5-shelf-chrome-basket-wire-shelving-unit-starter-60w-x-24d-x-80h>: HTTP status code is not handled or not allowed 2026-01-28 11:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-edge-twin-leg-personal-self-retracting-lifeline-steel-snap-hook-8l>: HTTP status code is not handled or not allowed 2026-01-28 11:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-wire-shelf-cover-36w-x-24d-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-wire-shelf-cover-48w-x-24d-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-forklift-fork-extensions-60-l-for-4-w-forkpair-987444>: HTTP status code is not handled or not allowed 2026-01-28 11:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-sweat-steam-valve-body-2-5-cv-vs2212>: HTTP status code is not handled or not allowed 2026-01-28 11:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22218exw33kc3-90mm-bore-160mm-od-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 11:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jh750-b2-750cc-personal-watercraft-battery-1993-1995-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22322exw33v-110mm-bore-240mm-od-vibratory-application>: HTTP status code is not handled or not allowed 2026-01-28 11:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23234ew33kc3-170mm-bore-310mm-od-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 11:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-lynx-sx-3-plus-mobility-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-retractable-belt-barrier-black-case-with-13-blackyellow-belt>: HTTP status code is not handled or not allowed 2026-01-28 11:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22319exw33v-95mm-bore-200mm-od-vibratory-application>: HTTP status code is not handled or not allowed 2026-01-28 11:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jt1500-ultra-260x-1500cc-personal-watercraft-battery-2007-2013-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucp204-12-pillow-block-bearing-set-screw-locking-bore-19-05-mm>: HTTP status code is not handled or not allowed 2026-01-28 11:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoveround-scout-dst3whl-mobility-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucfl208-25-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-39-6875-mm>: HTTP status code is not handled or not allowed 2026-01-28 11:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucp209-28-pillow-block-bearing-set-screw-locking-bore-44-45-mm>: HTTP status code is not handled or not allowed 2026-01-28 11:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jacket-5-channel-cable-protector-31960-lb-cap-58-x-40-x-5-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 11:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22336ew33c3-180mm-bore-380mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/922cr-level-5-cut-resistant-nitriledipped-dir-gloves-gray-m-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-partition-wall-starter-unit-4-1017hbc--3-1617hbc-baskets-18w-x-26d-x-70h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odin-pz-safety-glasses-polarized-smoke-lens-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6705ct-evaporative-cooling-bandana-with-cooling-towel-tie-flames>: HTTP status code is not handled or not allowed 2026-01-28 11:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-all-purpose-utility-tub-lid-stackable-polypropylene-26l-x-18w-white>: HTTP status code is not handled or not allowed 2026-01-28 11:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu306-30mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nj304eg-20mm-bore-52mm-od-high-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-transfer-conveyor-drop-in-insert-plate-bti162-with-2-center-75-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genuine-scooter-roughhouse-50-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-t316-stainless-steel-full-port-ball-valve-3-piece-1000-psi>: HTTP status code is not handled or not allowed 2026-01-28 11:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-s150-150cc-scooter-and-moped-replacement-battery-2008-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-x-5-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 11:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-lead-free-brass-90-degree-street-elbow-mnpt-x-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 11:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-dart-4-wheel-dartrd4-dartbl4-electric-scooter-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-x-4-1-2-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 11:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-x-2-1-2-in-lead-free-seamless-red-brass-pipe-nipple-140-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 11:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-x-4-1-2-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 11:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoprider-scootie-jr-te-787m-mobility-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bravo-b6-lightning-electricscooter-electric-scooter-replacement-battery-5ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-vision-sport-p327-p327-2-mobility-scooter-replacement-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-esd-wire-shelving-unit-starter-54w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:18:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-sprintii-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activecare-medical-intrepidp22-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 95751 pages (at 94 pages/min), scraped 49285 items (at 21 items/min) 2026-01-28 11:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-add-on-60w-x-36d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-add-on-cat75-2448-7x-48-inch-w-x-24-inch-d-x-75-inch-h-7-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-36w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-starter-cst87-1836-7-36-inch-w-x-18-inch-d-x-87-inch-h-7-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-starter-48w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-x-1-1-2-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 11:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-add-on-cat87-1548-8-48-inch-w-x-15-inch-d-x-87-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-daytona-4-gt-4-wheel-s45001gt-s45002gt-mobility-scooter-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-03285-su-q50-cl-gy6-120v-cd2-50w-single-ended-t3-5-halogen-bulb-bi-pin-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-scarabeo-500-ie-500cc-scooter-and-moped-replacement-battery-2007-2011-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-24w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories>: HTTP status code is not handled or not allowed 2026-01-28 11:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss68042rs-deep-groove-ball-bearing-stainless-steel-double-sealed-od-32mm-bore-20mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 11:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss6200zz-deep-groove-ball-bearing-stainless-steel-double-shielded-od-30mm-bore-10mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 11:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-starter-48w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-starter-60w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-starter-30w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-48w-x-12d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smtgw1ssxguide-wheel-bearingstainless-steeldouble-sealedod-1958mmbore-47624754mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 11:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gw4-guide-wheel-bearing-double-shielded-od-5994-mm-bore-15000-14992-mm-metric>: HTTP status code is not handled or not allowed 2026-01-28 11:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52002rs-double-row-angular-contact-ball-bearing-double-sealed-od-30mm-bore-10mm-metric>: HTTP status code is not handled or not allowed 2026-01-28 11:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stamp-pad-2-3-4-x-4-1-4-nontoxic-reinkable-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-add-on-36w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-inking-date-stamp-4-band-3-8-x-1-5-8-black>: HTTP status code is not handled or not allowed 2026-01-28 11:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-800-dragon-rmk-155-snowmobile-replacement-battery-2008-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-800-switchback-es-795cc-snowmobile-replacement-battery-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-add-on-36w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-add-on-72w-x-12d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-72w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-literature-mailers-13-x-10-x-4-200lb-test-ect-32-kraft-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-summit-highmark-xtreme-800-800cc-snowmobile-battery-2003-2004-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-formula-z-580cc-snowmobile-replacement-battery-1994-1997-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-paid-1-2-x-1-5-8-blue-red>: HTTP status code is not handled or not allowed 2026-01-28 11:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-54w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-vector-mountain-973cc-snowmobile-replacement-battery-2006-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visitors-log-book-1000-entries-11-x-8-1-2-white-50-pages-book>: HTTP status code is not handled or not allowed 2026-01-28 11:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-formula-500-500cc-snowmobile-replacement-battery-1997-1998-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-mountain-cat-900-144-862cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mono-correction-tape-single-line-non-refillable-1-6-in-x-394-in-white-tape-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-pocket-insertable-tab-dividers-assorted-5-tabs-set>: HTTP status code is not handled or not allowed 2026-01-28 11:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-54w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-60w-x-36d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-36w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-60w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-poly-green-wire-shelving-unit-add-on-60w-x-12d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-certified-line-regulator-w-imblue-technology-325-7abl-1-1-4-up-to-1250000-btu>: HTTP status code is not handled or not allowed 2026-01-28 11:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-tundra-ii-lt-270cc-snowmobile-replacement-battery-1995-1998-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-skandic-300f-tundra-277cc-snowmobile-replacement-battery-2006-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-renegade-1200-1200cc-snowmobile-replacement-battery-2009-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-voltage-thermostat-industrial-series-spst-heat-only-wire-leads-kt110>: HTTP status code is not handled or not allowed 2026-01-28 11:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-summit-everest-800r-power-tek-146-800cc-snowmobile-battery-2011-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-in-one-omni-transport-stand>: HTTP status code is not handled or not allowed 2026-01-28 11:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-green-wire-shelving-unit-starter-72w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/02140-su-ft40dl-841-rs-40-watt-ft-4-pin-twin-tube-2g11-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 11:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-green-wire-shelving-unit-add-on-60w-x-12d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-green-wire-shelving-unit-starter-48w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mach-z-1000-sdi-adrenaline-and-x-998cc-snowmobile-battery-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-flat-sewer-tape-w-carrier-100-feet-l-3-4-inch-w-1-8-inch-thickness-4-inch-6-inch-line-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8487-containment-berm-foam-wall-15-x-72-22-oz-pvc>: HTTP status code is not handled or not allowed 2026-01-28 11:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-backcountry-800r-power-tek-800cc-snowmobile-battery-2011-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-renegade-backcountry-x-600-ho-594cc-snowmobile-battery-2014-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-400-drum-machine-w-bulb-auger-gloves-115v-60hz-67amps-1-3hp-75-inch-l-x-1-2-inch-w-cable>: HTTP status code is not handled or not allowed 2026-01-28 11:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-blade-cutter-1-3-4-inch-for-model-c-44-c-45-c-52>: HTTP status code is not handled or not allowed 2026-01-28 11:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-flat-sewer-tape-w-carrier-100-feet-l-3-4-inch-w-1-16-inch-thickness-2-inch-4-inch-line-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8282-containment-berm-economy-15-x-40-copolymer-2000>: HTTP status code is not handled or not allowed 2026-01-28 11:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uvex-ultra-spec-2000-safety-glasses-with-anti-fog-coating-clear-lens-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8716-containment-berm-rapid-rise-15-x-15-copolymer-2000>: HTTP status code is not handled or not allowed 2026-01-28 11:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-renegade-550-550cc-snowmobile-replacement-battery-2010-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8273-containment-berm-economy-10-x-50-copolymer-2000>: HTTP status code is not handled or not allowed 2026-01-28 11:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nitri-knit153-chemical-resistant-gloves-nitrile-size-11-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-freeride-e-tec-850-154-850cc-snowmobile-replacement-battery-2018-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-summit-r-highmark-x-800-800cc-snowmobile-replacement-battery-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-961212720-six-tier-12-x-12-x-12-1-wide-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-gsx-sport-600-ho-sdi-594cc-snowmobile-replacement-battery-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/queuepro-300-retractable-belt-barrier-40-silver-post-16-black-belt-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 11:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-9z1212720-z-style-12-x-12-x-72-1-wide-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 11:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-ligature-resistant-recessed-shelf-16-gauge-304-stainless-steel-19w-x-4d-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 11:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/courier-1000-portable-shipping-scale-44-lb-cap-x-002-lb-readability-11-x-12-38-platform>: HTTP status code is not handled or not allowed 2026-01-28 11:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-821212721-double-tier-12-x-12-x-36-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-x-e-tec-600-ho-600cc-snowmobile-replacement-battery-2011-2018-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-skandic-swt-550f-550cc-snowmobile-replacement-battery-2005-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 95849 pages (at 98 pages/min), scraped 49301 items (at 16 items/min) 2026-01-28 11:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-expedition-le-1200-1170cc-snowmobile-replacement-battery-2014-2016-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econotemp-plus-thermocouple-instrument-32322-k-type-k>: HTTP status code is not handled or not allowed 2026-01-28 11:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-712-2-piece-full-port-316-ball-valve-stainless-steel-1-14-threaded>: HTTP status code is not handled or not allowed 2026-01-28 11:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-inch-x-3-8-inch-jumbo-white-dove-mini-roller-6-pk-140624612>: HTTP status code is not handled or not allowed 2026-01-28 11:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-1002nl-full-port-ball-valve-no-lead-forged-brass-2-12-sweat>: HTTP status code is not handled or not allowed 2026-01-28 11:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-720-2-piece-conventional-port-ball-valve-carbon-steel-38-threaded>: HTTP status code is not handled or not allowed 2026-01-28 11:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plunger-can-2-quart-yellow-10218>: HTTP status code is not handled or not allowed 2026-01-28 11:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plunger-can-1-gallon-yellow-10318>: HTTP status code is not handled or not allowed 2026-01-28 11:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-533nl-lf-brass-no-kink-hose-bibb-12-mnptsweat>: HTTP status code is not handled or not allowed 2026-01-28 11:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-coupled-pump-motor-z412-10hp-230v-3600rpm-1ph-215jm-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 11:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-365ss-butterfly-valve-with-epdm-seals--10-position-handle-2-lug>: HTTP status code is not handled or not allowed 2026-01-28 11:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dream-3-piece-outdoor-bistro-set-23-5-8-w-x-29-1-2-h-table-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4979f-double-sided-vhb-acrylic-foam-tape-1-x-5-yds-62-mil-black>: HTTP status code is not handled or not allowed 2026-01-28 11:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4945-double-sided-vhb-acrylic-foam-tape-3-4-x-5-yds-45-mil-white>: HTTP status code is not handled or not allowed 2026-01-28 11:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-715-2-piece-large-port-ball-valve-stainless-steel-14-threaded>: HTTP status code is not handled or not allowed 2026-01-28 11:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucy-3-piece-outdoor-bistro-set-23-5-8-w-x-29-1-2-h-table-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-e504-284ttgn6576-15hp-230-460v-1200rpm-3ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 11:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-heavy-woven-fabric-bandages-2-x-3-25-box>: HTTP status code is not handled or not allowed 2026-01-28 11:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-scissors-red-handle-4>: HTTP status code is not handled or not allowed 2026-01-28 11:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y545-213thtl7726-75hp-230-460v-1800rpm-3ph-213tc-tenv>: HTTP status code is not handled or not allowed 2026-01-28 11:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-pedestal-workbench-w-2-drawers-cabinet-plastic-laminate-square-edge-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chv-heavy-duty-swivel-casters-400lbs-capacity-5-x-1-stem>: HTTP status code is not handled or not allowed 2026-01-28 11:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-365ab-butterfly-valve-with-epdm-seals--10-position-handle-5-lug>: HTTP status code is not handled or not allowed 2026-01-28 11:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-pac-response-kit-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbonator-pump-motor-h712-1-3hp-100-120-200-240v-1800-1500rpm-split-ph-48y-fr>: HTTP status code is not handled or not allowed 2026-01-28 11:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/argosrack-gun-open-rack-awr83-24r-holds-24-rifles-42w-x-15d-x-83h-desert-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-g652-056c11g5307-1-3hp-115-208-230v-1200rpm-1ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 11:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/step-in-gear-bag-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermal-rescue-blanket>: HTTP status code is not handled or not allowed 2026-01-28 11:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h649-1-4hp-115-208-230v-1725rpm-1ph-tenv-48-fr>: HTTP status code is not handled or not allowed 2026-01-28 11:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-kf-series-8-hand-sealer-w-2mm-seal-white>: HTTP status code is not handled or not allowed 2026-01-28 11:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burke-mobility-big-boy-bed-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/novametrix-903-o2-c02-mon-medical-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-e461-143tttn6563-1hp-230-460v-1800rpm-3ph-143t-fr-tenv>: HTTP status code is not handled or not allowed 2026-01-28 11:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y590-145thtn8037-15hp-230-460v-1800rpm-3ph-145tc-tenv>: HTTP status code is not handled or not allowed 2026-01-28 11:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-365di-g-butterfly-valve-with-epdm-seals--gear-operator-12-lug>: HTTP status code is not handled or not allowed 2026-01-28 11:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-backpacker-avp-stairlift-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-w584-364tshfs9001-60hp-460v-3600rpm-3ph-364ts-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 11:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y516-365thfs8046-75hp-230-460v-1800rpm-3ph-364tc-tebc>: HTTP status code is not handled or not allowed 2026-01-28 11:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y588-405thfs8378-75hp-230-460v-1200rpm-3ph-405tc-tebc>: HTTP status code is not handled or not allowed 2026-01-28 11:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-312-check-valve-with-epdm-seats-ductile-iron-disc-2-12-wafer>: HTTP status code is not handled or not allowed 2026-01-28 11:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-medical-system-scale-7000-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sign-with-wheeled-sign-base-r1-6a-state-law-stop-for-pedestrians-12w-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 11:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perry-baraomedical-sigma-34-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/113779b-round-dome-utility-fiber-optic-marker-white-pole-66h-42-above-ground-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cx-series-screw-plug-immersion-heater-1npt-2000w-240v-12-12l>: HTTP status code is not handled or not allowed 2026-01-28 11:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wnm610p-range-gas-4-burners-29-cu-ft-battery-start-white-24-x-24-x-40>: HTTP status code is not handled or not allowed 2026-01-28 11:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e255-5kcr46jn0087y-1-3hp-1725-1425rpm-100-120-200-240v-1ph-56c-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 11:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-djw12-18hd-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-chemical-resistant-adjustable-height-science-table-plain-front-24-x-72-x-29-41-w-oak-legs>: HTTP status code is not handled or not allowed 2026-01-28 11:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperpure-pe-rt-tubing-12id-x-58od-x-1000-coil-red>: HTTP status code is not handled or not allowed 2026-01-28 11:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-component-strip-heater-120v-500w-14l>: HTTP status code is not handled or not allowed 2026-01-28 11:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xantrex-technology-xpower-powersource-2200-jump-starter-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duracell-sla12-7f-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-classic-black-bottom-t-shirt-with-pocket-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 11:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-g127-056t17d5332-2hp-1800rpm-208-230-460v-3-ph-56h-fr>: HTTP status code is not handled or not allowed 2026-01-28 11:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powertron-pt26-12-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/excel-eb12180-nb-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-b304-48s17d2056-1-3hp-1800rpm-115v-1ph-48y-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 11:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-b314-48c17d2043-1-3hp-1800rpm-115-208-230v-1ph-48z-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 11:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fan-motor-x459-3-4hp-1075-rpm-460-v-1-ph-48y-fr-teao>: HTTP status code is not handled or not allowed 2026-01-28 11:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/705001bk-f-connector-rg6u-black-100pk>: HTTP status code is not handled or not allowed 2026-01-28 11:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-14965-50-amp-rv-camp-power-y-adapter-cord-nema-14-50p-to-2-ss2-50r>: HTTP status code is not handled or not allowed 2026-01-28 11:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horace-small-new-dimen-uni-sh-slv-spec-ops-polo-shirt-gray-l-hs51>: HTTP status code is not handled or not allowed 2026-01-28 11:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-burner-motor-o002-48s17s25-1-4hp-1800rpm-115v-1ph-48n-semi-enclosed>: HTTP status code is not handled or not allowed 2026-01-28 11:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powercell-pc12120-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-x018-48a11o1350-1-4hp-1075rpm-277v-1ph-48z-fr-opao>: HTTP status code is not handled or not allowed 2026-01-28 11:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-g145-056t17d5350-3hp-1800rpm-208-230-460v-3-ph-56hz-fr>: HTTP status code is not handled or not allowed 2026-01-28 11:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60010007973-stikitpaper-disc-roll-363i-8dia-x-nh-p120-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60010012361-stikitpaper-disc-roll-763u-5dia-x-nh-60-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truckstar-153-36-clear-led-light-strip5623654-640396>: HTTP status code is not handled or not allowed 2026-01-28 11:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-traffic-cone-mount-retracting-belt-barrier-10-caution-do-not-enter-belt>: HTTP status code is not handled or not allowed 2026-01-28 11:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-treadmill-mat-fitness-equipment-mat-black-3-16-x-4-x-6-5>: HTTP status code is not handled or not allowed 2026-01-28 11:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-666-1995-91-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mjp2d-hdfl-lp-48w-x-24d-mobile-service-bench-hd-drawer>: HTTP status code is not handled or not allowed 2026-01-28 11:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v24gb606-plugmold-125v-15a-6l-12-outlets>: HTTP status code is not handled or not allowed 2026-01-28 11:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lc-r0612p1-sealed-lead-acid-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-neoprene-commercial-grade-60a-rubber-sheet-1-8-thick-x-36-wx-22-l>: HTTP status code is not handled or not allowed 2026-01-28 11:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-neoprene-commercial-grade-60a-rubber-sheet-3-4-thick-x-36-wx-6-l>: HTTP status code is not handled or not allowed 2026-01-28 11:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 95948 pages (at 99 pages/min), scraped 49321 items (at 20 items/min) 2026-01-28 11:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-rite-prb1212-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelon-blue-wire-shelving-unit-starter-42w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 11:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tee-22000-use-for-1516w-grid-white>: HTTP status code is not handled or not allowed 2026-01-28 11:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-kingdom-ps20-12-sealed-lead-acid-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-13700-100-extension-cord-orange-green>: HTTP status code is not handled or not allowed 2026-01-28 11:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/batterymart-sla-9-f2-sealed-lead-acid-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ritar-rt12200h-82-6w-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-half-depth-shelf-for-single-55-gal-vertical-drum-cabinets>: HTTP status code is not handled or not allowed 2026-01-28 11:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminating-pouches-3-mil-8-1-4-x-11-1-4-100-box>: HTTP status code is not handled or not allowed 2026-01-28 11:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-54w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-72w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500139391-radial-bristle-disc-3-dia-x-3-8-arbor-50-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-55-gal-drum-2-door-self-close-acid-drum-cabinet-w-drum-rollers-34wx34dx65h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-42w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-gallon-1-door-manual-slimline-flammable-cabinet-23-1-4w-x-34d-x-65h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-48w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bruno-pwc-2300-2210-u1-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-gallon-2-door-manual-paint-ink-cabinet-34w-x-34d-x-65h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-security-caddx-networx-nx-8e-alarm-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-39006200-58-female-jic-x-12-female-pipe>: HTTP status code is not handled or not allowed 2026-01-28 11:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-butler-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-24w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-8206-6-restraint-lanyard-single-leg-with-2-snap-hooks>: HTTP status code is not handled or not allowed 2026-01-28 11:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-39005250-34-male-pipe-x-12-female-pipe-swivel>: HTTP status code is not handled or not allowed 2026-01-28 11:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-bigboy-regal-p710-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-727620-contractor-srl-20-galvanized-cable-with-glass-filled-nylon-housing>: HTTP status code is not handled or not allowed 2026-01-28 11:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-36w-x-36d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-gc222-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bishamon-lift2k-power-scissor-lift-table-48x36-2000-lb-cap-foot-control-987545>: HTTP status code is not handled or not allowed 2026-01-28 11:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-rehab-rumba-modular-wheelchair-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-rehab-q6-edge-z-wheelchair-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 11:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-add-on-42w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-174-slim-jim-174-1883604-plastic-step-on-container-front-step-18-gallon-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-40100-1-1-4-in-x-1-1-4-in-x-1-1-2-in-wrot-copper-reducing-tee-copper>: HTTP status code is not handled or not allowed 2026-01-28 11:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-wing-condenser-fan-blade-interchangeable-hub-aluminum-ccw-26-inch-dia-33-pitch>: HTTP status code is not handled or not allowed 2026-01-28 11:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ev-rider-sportster-porter-wheelchair-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 11:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husqvarna-zth6125xpql-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-laser-legend-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-king-1220hv-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/border-storage-pocket-chart-blue-clear-41-x-24-1-2>: HTTP status code is not handled or not allowed 2026-01-28 11:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-explorer-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solid-shafts-1-inch-dia-36-inch-long-flatted-on-pulley-end>: HTTP status code is not handled or not allowed 2026-01-28 11:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-5-3-4-inch-dia-ccw-3450-rpm-1-2-inch-bore-7-7-8-inch-w-aluminium>: HTTP status code is not handled or not allowed 2026-01-28 11:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-sleeve-bearings-self-aligning-5-8-inch-shaft-diameter>: HTTP status code is not handled or not allowed 2026-01-28 11:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thurst-collars-3-4-inch-shaft-diameter-12pk>: HTTP status code is not handled or not allowed 2026-01-28 11:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dfl-f-24x54-drainable-blade-fixed-louver-with-flange-24wx54h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-solid-shelving-unit-add-on-36w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-wing-condenser-fan-blade-interchangeable-hub-aluminum-ccw-10-inch-dia-27-pitch>: HTTP status code is not handled or not allowed 2026-01-28 11:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dfl-f-42x48-drainable-blade-fixed-louver-with-flange-42wx48h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acl-f-60x36-combination-louver-damper-with-flange-60wx36h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acl-f-60x48-combination-louver-damper-with-flange-60wx48h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-wing-condenser-fan-blade-interchangeable-hub-aluminum-ccw-12-inch-dia-27-pitch>: HTTP status code is not handled or not allowed 2026-01-28 11:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-14-inch-growing-marathon-wheelchair-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-poly-z-brite-wire-shelving-unit-starter-48w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-blue-pedestal-stroller-14-30>: HTTP status code is not handled or not allowed 2026-01-28 11:21:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a512-16-g5-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-7-1-2-inch-dia-ccw-2500-rpm-1-4-inch-bore-5-inch-w-aluminium>: HTTP status code is not handled or not allowed 2026-01-28 11:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prescolite-12-759-emergency-light-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-3tx2k-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power174-bull-professional-cree-led-work-light-180-lumens-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-2iq12s15-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/softpac-emergency-portable-oxygen-unit-life-2-612>: HTTP status code is not handled or not allowed 2026-01-28 11:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-ft-leaning-rail-in-ground-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 11:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-969e-smd-rework-station>: HTTP status code is not handled or not allowed 2026-01-28 11:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-liner-remover-accessory-for-zcm-series-tape-dispensers-6-roll>: HTTP status code is not handled or not allowed 2026-01-28 11:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein--4ahsp-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 11:21:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-36-in-w-x-18-in-d-x-84-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d500-homogenizer-stand-85020401>: HTTP status code is not handled or not allowed 2026-01-28 11:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvec50-12v-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-foot-plastic-folding-table>: HTTP status code is not handled or not allowed 2026-01-28 11:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-12lsm220b-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 96047 pages (at 99 pages/min), scraped 49347 items (at 26 items/min) 2026-01-28 11:21:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12-582-f2-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-7190390-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforcements-1-inch-x-1-inch-x-48-inch-h-12-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-gs-txl12072-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-hd-boltless-shelving-add-on-36-in-w-x-12-in-d-x-96-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes>: HTTP status code is not handled or not allowed 2026-01-28 11:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-blkout-prvy-23-bk>: HTTP status code is not handled or not allowed 2026-01-28 11:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-pe4512a-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-gs-pxl12090-emergency-light-replacement-battery-9ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm112di-12v-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nevr-rust-153-tool-tainer-ii-plastic-truck-box-12-cu-capacity-black-28011>: HTTP status code is not handled or not allowed 2026-01-28 11:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes>: HTTP status code is not handled or not allowed 2026-01-28 11:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/828comtcal-floor-box-cover-kit-to-allow-recessing-communication-devices-brushed-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 11:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fpctcbs-floor-box-floorport-flanged-cover-assembly-wcarpet-cutout-brass>: HTTP status code is not handled or not allowed 2026-01-28 11:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/861qtcbk-raised-floorwood-floor-box-assembly-flange-slide-holder-black>: HTTP status code is not handled or not allowed 2026-01-28 11:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmgren-9629503-multi-jaw-bench-vise-5>: HTTP status code is not handled or not allowed 2026-01-28 11:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmgren-9630801-cross-vise-8>: HTTP status code is not handled or not allowed 2026-01-28 11:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-big-beam-s1215-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lighting-tl930110-emergency-light-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-cascade-8-pocket-magazine-rack-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 11:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-gs-pe17-bolt-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transport-wardrobe-cabinet-all-welded-46w-x-24d-x-78h-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bomb-suppression-blanket-standard-61l-x-61w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-guard-curb-l-section-8-34l-x-6w-x-5h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rackable-extruded-plastic-pallet-05000235-18x48-two-way-entry-1000-lb-fork-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technacell-ep1224034-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-mobile-bookcase-assembled-36w-x-18d-x-42h-textured-black>: HTTP status code is not handled or not allowed 2026-01-28 11:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ff63bbiif-built-in-auto-defrost-undercounter-all-refrigerator-black-23-58w>: HTTP status code is not handled or not allowed 2026-01-28 11:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technacell-ep1224040-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ros20vsk-5-inch-random-orbit-sander-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-reinforcing-chairs2-rebarup-for-4-5-rebar125-box-qty>: HTTP status code is not handled or not allowed 2026-01-28 11:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/99823-10-pc-set-single-hookangled-end2-38>: HTTP status code is not handled or not allowed 2026-01-28 11:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-deck-p2-flexible-model>: HTTP status code is not handled or not allowed 2026-01-28 11:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-line-janitorial-cabinet-assembled-30w-x-18d-x-66h-textured-black>: HTTP status code is not handled or not allowed 2026-01-28 11:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-all-welded-combination-storage-cabinet-solid-door-36w-x-24d-x-72h-putty>: HTTP status code is not handled or not allowed 2026-01-28 11:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ion-audio-party-rocker-plus-speaker-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-88-f-rye-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-28 11:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-6v4-5ah-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-magnum-4x4-d120-ride-on-toys-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm5fg-grizzly-550cc-atv-replacement-battery-2009-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lashout-electric-electric-bicycle-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-12ind-x-60inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 11:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rd-6x14-f-charcoal-gray-room-divider>: HTTP status code is not handled or not allowed 2026-01-28 11:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-36inw-x-12ind-x-84inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 11:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-renegade-1000-x-xc-1000cc-atv-replacement-battery-2013-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-12in-d-x-60in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-shelf-extra-hd-boltless-shelving-add-on-36in-w-x-12in-d-x-60in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-41vrdkb-3sided-open-front-10l-x-28w-vented-standing-seam-roof-dk-brz>: HTTP status code is not handled or not allowed 2026-01-28 11:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awrd-partition-80x84-f-red>: HTTP status code is not handled or not allowed 2026-01-28 11:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-42wsfdkb-4sided-wl-r-open-front-10l-x-5w-flat-roof-dk-bronze>: HTTP status code is not handled or not allowed 2026-01-28 11:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-clear-suture-rack-304101-wall-mountable-15-1-2-w-x-12-1-4-d-x-5-5-8-h-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/primos-truth-cam-60-trailcamera-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-2-108est-single-unit-track-assembly-kit-2-tracks-108>: HTTP status code is not handled or not allowed 2026-01-28 11:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-high-cap-boltless-shelving-steel-deck-starter-96-in-w-x-36-in-d-x-60-in-h>: HTTP status code is not handled or not allowed 2026-01-28 11:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-ducati-monster-ride-on-toys-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mojo-floater-mallard-decoy-hw7101-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-3-84est-double-unit-track-assembly-kit-3-tracks-84>: HTTP status code is not handled or not allowed 2026-01-28 11:22:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-nsr125-r-125cc-motorcycle-replacement-battery-1988-1997-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-60-in-w-x-36-in-d-x-84-in-h-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 11:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-72-in-w-x-24-in-d-x-84-in-h-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 11:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aigner-ahc-12030-3-l-x-1-25-h-clip-label-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmw-c600-sport-600cc-motorcycle-replacement-battery-2011-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mt304836-3k295-machine-table-with-2-shelves-48w-x-30d-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 11:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-guzzi-vintage-1064cc-motorcycle-replacement-battery-2010-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-machine-table-with-open-base-30w-x-22d-x-30h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imported-plain-angle-plates-ground-finish-12-inch-x-12-inch-x-12-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2005-316ss-316-stainless-eyebolt-plain-pattern-1-2-13-1-1-2-shank>: HTTP status code is not handled or not allowed 2026-01-28 11:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cabinet-workbench-with-2-shelves--wheel-brakes-48w-x-30d-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2031-8-spec-carbon-eyebolt-shoulder-pattern-1-1-8-8-2-3-4-shank>: HTTP status code is not handled or not allowed 2026-01-28 11:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/905-case-w-foam-12-1-2l-x-10w-x-6h-graphite>: HTTP status code is not handled or not allowed 2026-01-28 11:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers>: HTTP status code is not handled or not allowed 2026-01-28 11:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/920-case-w-foam-16-11-16l-x-13-3-8w-x-6-13-16h-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-machine-table-with-lower-shelf-60w-x-30d-x-36h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husaberg-fc450-450cc-motorcycle-replacement-battery-2004-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-tuono-fighter-1000cc-motorcycle-replacement-battery-2003-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m24-a-metric-eyebolt-shoulder-pattern-m24-x-300-short-shank>: HTTP status code is not handled or not allowed 2026-01-28 11:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-cooling-safety-t-shirt-short-sleeve-ansi-class-3-3xl-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-deodorizing-urinal-mat-mountain-breeze-6-mats-case>: HTTP status code is not handled or not allowed 2026-01-28 11:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suzuki-gsx650f-650cc-motorcycle-replacement-battery-2008-2011-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/930-case-w-foam-19-13-16l-x-16w-x7-5-8h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 96143 pages (at 96 pages/min), scraped 49363 items (at 16 items/min) 2026-01-28 11:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ducati-monoposto-996cc-motorcycle-replacement-battery-2001-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-1594-sliding-door-roller-assembly-1-12-steel-ball-bearing>: HTTP status code is not handled or not allowed 2026-01-28 11:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-machine-table-with-lower-shelf-36w-x-30d-x-36h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-baseboard-heater-6k2415a-1500w-240v-72l-almond>: HTTP status code is not handled or not allowed 2026-01-28 11:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-workbench-48-x-30-pegboard-panel-butcher-block-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 11:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/malaguti-grosser-el-50cc-motorcycle-replacement-battery-1963-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cagiva-t4-e-elefant-w12-350cc-motorcycle-replacement-battery-1987-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-welded-workbench-60-x-30-lower-shelf--pegboard-panel-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 11:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-sr50-ditech-50cc-motorcycle-replacement-battery-2001-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pic-a-watt-wall-heater-paw2022i-2250w-max-208v-compact-interior-only-white>: HTTP status code is not handled or not allowed 2026-01-28 11:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-jet-international-all-personal-watercraft-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-in-guard-mounted-direct-drive-exhaust-fan-ce-12-d-1-12-hp-825-cfm>: HTTP status code is not handled or not allowed 2026-01-28 11:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gf-260-high-strength-glue-sticks-1-lb>: HTTP status code is not handled or not allowed 2026-01-28 11:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmw-r100r-1000cc-personal-watercraft-replacement-battery-1987-1995-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-mtx125r-r2-125cc-motorcycle-replacement-battery-1986-1987-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fried-usc-sleeve-for-fried-uni-fit-thru-the-wall-air-conditioners>: HTTP status code is not handled or not allowed 2026-01-28 11:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/420100000-vacuum-desiccator-pc-pp-140mm-plate-white-base>: HTTP status code is not handled or not allowed 2026-01-28 11:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securio-autofeed-500c-500-sheet-stack-5-7-sheet-micro-cut-217-gal-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suzuki-gsxr750w--750cc-motorcycle-replacement-battery-1994-1995-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securio-autofeed-150c-150-sheet-stack-17-19-sheet-cross-cut-9-gal-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-crf250l-rally-abs-250cc-motorcycle-replacement-battery-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/378400000-sterileware-sampling-spatula-polypropylene-9l-12-box-white>: HTTP status code is not handled or not allowed 2026-01-28 11:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/187470001-no-wire-test-tube-rack-polypropylene-16mm-60-places-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/168072001-magic-touch-2-ice-bucket-w-lid-25l-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/369062010-sterileware-scoops-polystyrene-8oz-10-box-red>: HTTP status code is not handled or not allowed 2026-01-28 11:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-4-station-with-plumbing-skirt--electronic-faucet-96l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-28 11:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-hs-250-hs-290-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-5113-class-3-microfiber-birdseye-short-sleeve-t-shrit-w-black-bottom-lime-3xl-tall>: HTTP status code is not handled or not allowed 2026-01-28 11:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explorer153-insulated-overboots-threaded-outsole-xl-13h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ct661sstb-freestanding-counter-height-refrigerator-freezer-51-cu-ft-24-wide>: HTTP status code is not handled or not allowed 2026-01-28 11:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-swc1926-single-zone-wine-cellar-wglass-door-171-bottle-capacity-23-58-wide>: HTTP status code is not handled or not allowed 2026-01-28 11:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-180-yellow-bag-sealing-tape-423095>: HTTP status code is not handled or not allowed 2026-01-28 11:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-shop-desk-with-drawer-3-shelves--pegboard-36w-x-24d-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-stp-stl-safet-roll-lad-wt-actu-stp-16-expan-stp-wa082414x>: HTTP status code is not handled or not allowed 2026-01-28 11:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adventurer-all-season-overboots-threaded-outsole-xs-15h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-fasttrack-garage-48-inch-rail-270129>: HTTP status code is not handled or not allowed 2026-01-28 11:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-power-xa-1000-electric-scooter-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-power-xb-500-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-48w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-54w-x-18d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-stp-stl-safet-roll-lad-wt-actu-stp-24-perf-stp-wa134014p>: HTTP status code is not handled or not allowed 2026-01-28 11:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sm21n30c-commercial-kuhl-windowwall-air-conditioner-20500-btu-98-eer>: HTTP status code is not handled or not allowed 2026-01-28 11:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-60w-x-18d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-cl1386p-7dia-x-60h-brown-w-white-tape>: HTTP status code is not handled or not allowed 2026-01-28 11:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-replacement-blade-urethane-2-14x316x29-916-15-holes-192-1487>: HTTP status code is not handled or not allowed 2026-01-28 11:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/577m-universal-string-gauge-24-to-42-interchangeable>: HTTP status code is not handled or not allowed 2026-01-28 11:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-60w-x-30d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f2-26m-biobor-jf-biocide-treatment-16-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 11:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-jet3-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hang-garment-locker-ll422c-go-big-4-compart-cam-lock-24-5-16x21-1-4x84-1-2-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heartway-nomad-4pf3-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z1360-34x3-ci-ground-hydrant-34-x-3>: HTTP status code is not handled or not allowed 2026-01-28 11:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heartway-aviators8x-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 11:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exkate-pro-line-600v3-electric-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 11:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-72w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-dolliesset-of-21000-lb-capacity-per-set-987627>: HTTP status code is not handled or not allowed 2026-01-28 11:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-oal-straight-steel-roller-conveyor-19-roller-dia-22-bf-45-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 11:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-54w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-power-x-50-300-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 11:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-oal-straight-galvanized-steel-roller-conveyor-1-3-8-roller-dia-10-bf-3-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 11:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-oal-straight-galvanized-steel-roller-conveyor-1-3-8-roller-dia-16-bf-15-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 11:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-36w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-nesting-tote-fda-usda-28-14x28x1-18-natural-white-270173>: HTTP status code is not handled or not allowed 2026-01-28 11:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-42w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-maverick-x-rs-1000r-1000cc-utv-replacement-battery-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-c-hook-18l>: HTTP status code is not handled or not allowed 2026-01-28 11:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rs-venture-1049cc-snowmobile-replacement-battery-2011-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-formula-iii-600-r-598cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-x-e-tec-600-ho-600cc-snowmobile-battery-2011-2018-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-72w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-expedition-550f-550cc-snowmobile-replacement-battery-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-summit-everest-e-tec-800r-800cc-snowmobile-battery-2011-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-loop-fastener-1-tapeblack-1-hook>: HTTP status code is not handled or not allowed 2026-01-28 11:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-lab-pack-drum-1601blk-with-plastic-lever-lock-lid-open-head-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 11:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cell-phone-locker-uvq1022-4-door-12-x-4-x-13-1-2-light-oak-black-door-w-key-lock>: HTTP status code is not handled or not allowed 2026-01-28 11:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-bearcat-wide-track-intl-550cc-snowmobile-battery-2000-2002-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaded-chain-coupling-style-6-ball-6l>: HTTP status code is not handled or not allowed 2026-01-28 11:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-turbo-iq-lx-snowmobile-replacement-battery-2011-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-expedition-sport-600-ace-600cc-snowmobile-battery-2011-2017-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peel-n-stick-strip-header-2-716w-x-1-78h>: HTTP status code is not handled or not allowed 2026-01-28 11:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-vk10f-vk-professional-ii-1000cc-snowmobile-battery-2016-2017-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fold-snap-literature-holder-4w-x-1-12d>: HTTP status code is not handled or not allowed 2026-01-28 11:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-24w-x-24d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-54w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-btu-lw-fits-bt-model-l-2000-u-l2300-u>: HTTP status code is not handled or not allowed 2026-01-28 11:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 96243 pages (at 100 pages/min), scraped 49378 items (at 15 items/min) 2026-01-28 11:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-l50ms-lw-fits-lift-rite-model-l50-mini>: HTTP status code is not handled or not allowed 2026-01-28 11:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-48w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mach-z-lt-796cc-snowmobile-replacement-battery-1997-1998-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-600-blizzard-snowmobile-replacement-battery-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-pantera-580-efi-580cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 11:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/VTT-1872-72-W-x-18-D-T-430-18ga-Stainless-Steel-Workbench-w-Galvanized-Legs>: HTTP status code is not handled or not allowed 2026-01-28 11:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vets-1530-16-x-30-18-ga-equipment-stand-galvanized-base>: HTTP status code is not handled or not allowed 2026-01-28 11:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-grand-touring-800-se-796cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 11:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-locker-cms-242172-a-214-no-legs-24x21x72-welded-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/SVT-9624-96-W-x-24-D-18-ga-T-430-Stainless-Steel-Workbench>: HTTP status code is not handled or not allowed 2026-01-28 11:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-60w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schaefer-stacking-transport-container-14-6-4-pl-8-l-x-6-w-x-5-h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-door-lock-combo-cdl-c>: HTTP status code is not handled or not allowed 2026-01-28 11:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-54w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inkcart-fj4420dw-hy-bk>: HTTP status code is not handled or not allowed 2026-01-28 11:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-wheel-pipe-stake-truck-60x30-deck-size-polyurethane-casters-3600-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-pipe-stake-truck-48x30-deck-polyurethane-tread-casters-4000-lbs>: HTTP status code is not handled or not allowed 2026-01-28 11:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-pipe-stake-truck-72x36-deck-polyurethane-tread-casters-4000-lbs>: HTTP status code is not handled or not allowed 2026-01-28 11:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-printhead-for-the-metaza-mpx-90-95>: HTTP status code is not handled or not allowed 2026-01-28 11:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a56-4l580-v-belt-1-2-x-58>: HTTP status code is not handled or not allowed 2026-01-28 11:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-3tier-drum-dolly-w-handle-900-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-base-for-4994-white>: HTTP status code is not handled or not allowed 2026-01-28 11:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-z-sort-additional-mail-trays>: HTTP status code is not handled or not allowed 2026-01-28 11:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-heavy-duty-electric-powered-tugger-w-pin-hitch-5000-lb-pull-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a35-4l370-v-belt-1-2-x-37>: HTTP status code is not handled or not allowed 2026-01-28 11:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-60w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a99-v-belt-1-2-x-101>: HTTP status code is not handled or not allowed 2026-01-28 11:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-magnetic-spreader-beam-72l-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b28-5l310-v-belt-5-8-x-31>: HTTP status code is not handled or not allowed 2026-01-28 11:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ony-floor-rack-5-pocket-qty-6>: HTTP status code is not handled or not allowed 2026-01-28 11:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b39-5l420-v-belt-5-8-x-42>: HTTP status code is not handled or not allowed 2026-01-28 11:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a83-4l850-v-belt-1-2-x-85>: HTTP status code is not handled or not allowed 2026-01-28 11:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a116-v-belt-1-2-x-118>: HTTP status code is not handled or not allowed 2026-01-28 11:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b43-5l460-v-belt-5-8-x-46>: HTTP status code is not handled or not allowed 2026-01-28 11:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b76-5l790-v-belt-5-8-x-79>: HTTP status code is not handled or not allowed 2026-01-28 11:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-30w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8246z-s-two-tone-mesh-hi-vis-safety-vest-class-2-single-size-3xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b203-v-belt-5-8-x-206>: HTTP status code is not handled or not allowed 2026-01-28 11:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-72w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b107-v-belt-5-8-x-110>: HTTP status code is not handled or not allowed 2026-01-28 11:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-24w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-30w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-54w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-24w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-24w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-alike-1-1-2-aluminum-steel-red-6-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rackguard-3-w-x-1-13-16-d-x-15-3-4-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-40x-1000x-led-portable-compound-microscope-with-camera-slide-preparation-book>: HTTP status code is not handled or not allowed 2026-01-28 11:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-ehm3615t-3-ph-5-hp-208-230-460-v-1750-rpm-tefc-184t-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-54w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23106-high-ball-glass-tall-105-oz-nob-hill-36-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-72w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-60w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-iqcrew-20x-50x-kid-s-portable-dual-illumination-stereo-microscope-with-tool-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp82334t-4-3-ph-20-hp-460-v-1765-rpm-tefc-256t-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intrinsically-safe-flashlight-200-lumens-red>: HTTP status code is not handled or not allowed 2026-01-28 11:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-case-for-xpr-5592gx-scene-light-contents-black>: HTTP status code is not handled or not allowed 2026-01-28 11:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3610t-g-3-ph-3-hp-230-460-v-3600-rpm-tefc-182t-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viribus-rechargeable-dual-light-lantern-900-lumens-red>: HTTP status code is not handled or not allowed 2026-01-28 11:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-72w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-cem3713t-5-15-hp-3500-rpm-215tc-frame-c-face-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 11:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-cem3714t-5-10-hp-1770-rpm-215tc-frame-c-face-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 11:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twistables-colored-pencils-30-assorted-colors-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ken-forging-tbe-05-rh-hdg-turnbuckle-eye-1-2-13-x-4-5-8-galvanized-right-hand>: HTTP status code is not handled or not allowed 2026-01-28 11:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp3661t-3-ph-3-hp-208-230-460-v-1755-rpm-tefc-182tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-54w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch21-7brter-window-entry-awning-7-3-8-w-x-2-h-x-1-d-brown-terra-cotta>: HTTP status code is not handled or not allowed 2026-01-28 11:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardcap-a1-baseball-style-bump-cap-hdpe-protective-liner-and-adjustable-back-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-master-inverter-drive-idvsnm3581t-5-1-hp-575-v-3-ph-1800-rpm-tenv-143tc>: HTTP status code is not handled or not allowed 2026-01-28 11:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-spoke-semi-pneumatic-wheel-plsp16d175-16x175-2-3-8-centered-hub-1-2bb>: HTTP status code is not handled or not allowed 2026-01-28 11:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp84110t-5-3-ph-40-hp-575-v-1775-rpm-tefc-324t-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-72w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-dry-bath-one-block>: HTTP status code is not handled or not allowed 2026-01-28 11:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1004854-00u0014-economy-retail-gondola-single-sided-48w-x-14d-x-54h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 96341 pages (at 98 pages/min), scraped 49402 items (at 24 items/min) 2026-01-28 11:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-24w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beadbug-3-microtube-homogenizer>: HTTP status code is not handled or not allowed 2026-01-28 11:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybex-erlenmeyer-flask-threaded-with-gl45-blue-cap-2000ml>: HTTP status code is not handled or not allowed 2026-01-28 11:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maximum-security-square-chain-and-sleeve-14ks-916-x-2-black>: HTTP status code is not handled or not allowed 2026-01-28 11:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inkcart-cli-226-mg>: HTTP status code is not handled or not allowed 2026-01-28 11:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallmates-self-adhesive-dry-erase-monthly-planning-surface-18-x-12>: HTTP status code is not handled or not allowed 2026-01-28 11:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em2536t-g-3-ph-30-hp-230-460-v-1200-rpm-odp-326t-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3218t-g-3-ph-5-hp-208-230-460-v-1750-rpm-opsb-184t-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-30wx14dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-30wx24dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k945-operator-lockout-tagout-safety-lockout-toolbox-kit-97185>: HTTP status code is not handled or not allowed 2026-01-28 11:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-36wx14dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em2506t-g-3-ph-75-hp-230-460-v-1200-rpm-odp-254t-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-72w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-10-x-22-x-16mm>: HTTP status code is not handled or not allowed 2026-01-28 11:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-ejmm4106t-g-3-phase-20-hp-230-460-volts-3600-rpm-60-hz-tefc-256jm>: HTTP status code is not handled or not allowed 2026-01-28 11:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heaters-solar-market-umbrella-w-led-lights-and-base-crank-tilt-9-7-8-w-red>: HTTP status code is not handled or not allowed 2026-01-28 11:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-54w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wd-industrial-steel-mezzanine-11w-x-31-5d-x-9h-clearance>: HTTP status code is not handled or not allowed 2026-01-28 11:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-ejmm2535t-3-phase-30-hp-230-460-volts-1770-rpm-60-hz-opsb-286jm>: HTTP status code is not handled or not allowed 2026-01-28 11:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-72wx14dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iaq-smoke-away-spray-32oz-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-42wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-48w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-alum-wheel-barrow-roll-ladd-24-14-plat-grip-strut-wlartr106245>: HTTP status code is not handled or not allowed 2026-01-28 11:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-iec-motor-emm3613-3ph-208-230-460v-3450rpm-37-5-kw-hp-60hz-d100l>: HTTP status code is not handled or not allowed 2026-01-28 11:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-stainless-steel-needle-roller-bearing-w-inner-ring-5-x-15-x-16mm>: HTTP status code is not handled or not allowed 2026-01-28 11:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evap-cooling-bandana-w-cooling-towel-tie-navy-western-12564>: HTTP status code is not handled or not allowed 2026-01-28 11:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk-sk2000-seismic-pallet-rack-step-beam-5-1-2-x-144-5220-lbs-capacity-per-pair-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-60w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-gloves-nitrile-cut-a5-impact-1-abrasion-4-puncture-4-yellow-orange-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-height-mobile-pallet-stand-pdfs4848-6ph2fl-48-x-48-solid-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-shipping-plastic-pallet-48x40-2200-lb-capacity-270207>: HTTP status code is not handled or not allowed 2026-01-28 11:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-in-horsepwer-resistor-and-fuse-kit-br0510-051-ohms-03-amps>: HTTP status code is not handled or not allowed 2026-01-28 11:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-42w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/predator-gloves-impact-2-cutpro-18-gauge-kevlar-bnf-palm-coated-red-black-2xl>: HTTP status code is not handled or not allowed 2026-01-28 11:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-gloves-nitrile-cut-a5-impact-1-abrasion-4-puncture-3-yellow-red-s>: HTTP status code is not handled or not allowed 2026-01-28 11:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-base-for-50-ton-55-ton>: HTTP status code is not handled or not allowed 2026-01-28 11:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1900-series-freestanding-box-box-file-pedestal-15w-x-22-5-8d-x-27-5-8h-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valve-seat-puller-120-ton>: HTTP status code is not handled or not allowed 2026-01-28 11:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/field-conversion-tach-mounting-kits-tk3500-motor-type-3500d-p>: HTTP status code is not handled or not allowed 2026-01-28 11:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ed-2-2-can-opener-manual-plated-steel-base-old-reliable>: HTTP status code is not handled or not allowed 2026-01-28 11:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-pump-1-hp-universal-1-gallon-3-way-3-position-manual-valve>: HTTP status code is not handled or not allowed 2026-01-28 11:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saddle-tilt-15-ton>: HTTP status code is not handled or not allowed 2026-01-28 11:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conversion-base-cb2118t-9-1-2l-x-1-3-4w-x-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 11:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-42w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-rf22-4bbw-window-entry-awning-4-4-1-2-w-x-2d-x-2-7-h-bright-blue-white>: HTTP status code is not handled or not allowed 2026-01-28 11:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-acting-hydraulic-cylinder-55-ton-6-stroke>: HTTP status code is not handled or not allowed 2026-01-28 11:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slimline-pen-size-pocket-pointer-w-clip-extends-to-24-1-2-silver>: HTTP status code is not handled or not allowed 2026-01-28 11:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-30w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-flange-kit-10ep1502a01sp-tefc-286-286-ut-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-motor-base-b213t-213t-3-8-x-1-1-2-bolt-size-w-1-adjustable-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/downpress-wringer-32-oz-wringer-capacity-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mop-bucket-combo-w-sidepress-wringer-and-soiled-water-insert-35-qt-bucket-capacity-green>: HTTP status code is not handled or not allowed 2026-01-28 11:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mag-led-magnifier-lamp-white>: HTTP status code is not handled or not allowed 2026-01-28 11:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wafer-3-lightbox-white>: HTTP status code is not handled or not allowed 2026-01-28 11:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-motor-base-b5000rls-g5008-g5012-7-8-x-3-1-2-bolt-size-w-2-adjustable-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-60w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8747-ultra-containment-berm-modular-model-20-x-50-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-54w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-30w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-42w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-bj120c-bar-citrus-juicer-electric-1-qt-container-120v>: HTTP status code is not handled or not allowed 2026-01-28 11:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-gasket-for-cabinet-42000>: HTTP status code is not handled or not allowed 2026-01-28 11:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-100ml-wobblenot-serological-pipet-bulk-packed-in-bags-sterile-60-p>: HTTP status code is not handled or not allowed 2026-01-28 11:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-42w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/length-divider-40280-for-30280-price-per-each-pkg-of-2>: HTTP status code is not handled or not allowed 2026-01-28 11:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-36w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-42w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 11:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filament-tape-dispenser-1w-silver>: HTTP status code is not handled or not allowed 2026-01-28 11:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-gear-storage-rack-locker-rrwm-1-20-one-20-section-red>: HTTP status code is not handled or not allowed 2026-01-28 11:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-200lpipette-mla-dtipper-pink>: HTTP status code is not handled or not allowed 2026-01-28 11:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w5610-8e-sandwich-knife-wide-8>: HTTP status code is not handled or not allowed 2026-01-28 11:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-40l-pipette-mla-precision-silver>: HTTP status code is not handled or not allowed 2026-01-28 11:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-mc440-14375-vhs-alternate-coupling-bore-size-14375-frame-444tp-or-445tp>: HTTP status code is not handled or not allowed 2026-01-28 11:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-10ml-wobblenot-serological-pipet-short-paperplastic-bag-sterile>: HTTP status code is not handled or not allowed 2026-01-28 11:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 96441 pages (at 100 pages/min), scraped 49426 items (at 24 items/min) 2026-01-28 11:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-75l-pipette-mla-precision-silver>: HTTP status code is not handled or not allowed 2026-01-28 11:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2236-air-impact-wrench-pin-retainer-12-drive-12000-max-torque-7-38l>: HTTP status code is not handled or not allowed 2026-01-28 11:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forks-heavy-medium-weight-plastic-1000-box-black>: HTTP status code is not handled or not allowed 2026-01-28 11:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3388-wrist-idbadge-holder-one-size-black>: HTTP status code is not handled or not allowed 2026-01-28 11:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sugar-substitute-1-gram-500-box>: HTTP status code is not handled or not allowed 2026-01-28 11:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-plates-10-1-4-diameter-reusable-disposable-125-pack-white>: HTTP status code is not handled or not allowed 2026-01-28 11:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-paper-cups-12-oz-1000-carton-white-nature-design>: HTTP status code is not handled or not allowed 2026-01-28 11:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-300l-pipette-mla-dtipper-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r036c-6-air-sander-with-hook--loop-vacuum-ready-316-orbit-dia-13000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-1250l-pipette-tips-mla-individually-wrapped-nonpyrogenic-sterile>: HTTP status code is not handled or not allowed 2026-01-28 11:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lx-hd-wall-mount-swing-arm>: HTTP status code is not handled or not allowed 2026-01-28 11:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-9-small-spring>: HTTP status code is not handled or not allowed 2026-01-28 11:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-10-large-spring>: HTTP status code is not handled or not allowed 2026-01-28 11:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-850-thermal-insulated-freezer-gloves-l-black>: HTTP status code is not handled or not allowed 2026-01-28 11:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rc-122-relay-socket-300v-10-amps-din-rail-mountable>: HTTP status code is not handled or not allowed 2026-01-28 11:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-312-x-512-x-58-black-rubber-obround-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handhole-gasket-spiral-wound-3-x-4-x-12-0175-thick-elliptical-pk-3>: HTTP status code is not handled or not allowed 2026-01-28 11:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-acrylic-door-incubator-with-forced-air-10-140ae-200w>: HTTP status code is not handled or not allowed 2026-01-28 11:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commute-guest-chair-plasticacrylic-seat-25w-x-25d-x-34-34h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-3-gallon-air-backpack-hepa-vacuum-va03abk>: HTTP status code is not handled or not allowed 2026-01-28 11:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-mycart-three-shelf-utility-cart-with-chrome-plated-posts-34x27-shelves-green>: HTTP status code is not handled or not allowed 2026-01-28 11:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-3-piece-h5105x10-5-8-inch-tube-od>: HTTP status code is not handled or not allowed 2026-01-28 11:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-round-cafe-table-36dia-asian-night-topsilver-base>: HTTP status code is not handled or not allowed 2026-01-28 11:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-air-conditioner-w-heat-pump-khib1811-1-5-ton-17700-btu-cool-21240-btu-heat>: HTTP status code is not handled or not allowed 2026-01-28 11:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanix-wear-original174-work-gloves-synthetic-leather-wtrekdry153-cooling-blue-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-soft-sole-boot-cover-2xl-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vent-extension-tubes-9301-15l-for-22000-30000-btu-furnaces>: HTTP status code is not handled or not allowed 2026-01-28 11:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/princeton-tec-sector-5-handheld-lights-1000-lumens-190m-beam-distance-black>: HTTP status code is not handled or not allowed 2026-01-28 11:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-hood-open-face-s-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-locking-drawer-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 11:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/luxor-h-wilson-tuffy-utility-carts-24-wx18-d-shelf-34-h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-snap-on-lids-for-conductive-divider-boxes-fits-divider-box-4711300-4711600-4711700>: HTTP status code is not handled or not allowed 2026-01-28 11:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-ultra-stack--hang-bin-10-78w-x-5-12d-x-5h-crystal-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suction-hose-wlh125120-1-1-4-inch-id-x-10-foot-long-hose>: HTTP status code is not handled or not allowed 2026-01-28 11:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-led-led-ring-illuminator>: HTTP status code is not handled or not allowed 2026-01-28 11:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-nexus-self-adhesive-carpet-floor-tile-12-x-12-navy-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twin-series-clamp-for-tubing-tsct062-5-8-inch-id>: HTTP status code is not handled or not allowed 2026-01-28 11:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reservoir-accessory-hbf12-breather-cap-3-4-inch-npt>: HTTP status code is not handled or not allowed 2026-01-28 11:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2scds-2-screw-conveyor-shaft-2-fits-ultimate-shaft-mount-reducer-size-2>: HTTP status code is not handled or not allowed 2026-01-28 11:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-sterling-self-adhesive-vinyl-floor-tile-12-x-12-blackwhite-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-sterling-self-adhesive-vinyl-floor-planks-6-x-36-hickory-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mm3a-motor-mount-nema-56-215t-frame-motor-fits-reducer-styles-smr3wsmr3>: HTTP status code is not handled or not allowed 2026-01-28 11:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-retro-self-adhesive-vinyl-floor-tile-12-x-12-prism-marble-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-connector-h5205x8-1-2-inch-tube-od-3-8-inch-npt>: HTTP status code is not handled or not allowed 2026-01-28 11:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reservoir-accessory-tfa005715l-filler-strainer-breather-cap-assy-w-locking-tab>: HTTP status code is not handled or not allowed 2026-01-28 11:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wing-type-quick-detach-hydraulic-coupler-qdwc202-1-1-4-inch-npt-coupler-75-flow-gpm>: HTTP status code is not handled or not allowed 2026-01-28 11:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-whiffle-typical-8-double-60-spectrumblue>: HTTP status code is not handled or not allowed 2026-01-28 11:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wearwell-3x39-edging-for-24seven-mats-all-purpose-grease-resistant-rubber-female-edge-black>: HTTP status code is not handled or not allowed 2026-01-28 11:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-lounge-settee-cognac>: HTTP status code is not handled or not allowed 2026-01-28 11:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-skinny-pedestal-mocha>: HTTP status code is not handled or not allowed 2026-01-28 11:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relius-solutions-stationary-cylinder-holder-2-cylinder-capacity-floor-mount>: HTTP status code is not handled or not allowed 2026-01-28 11:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/on-the-go-drink-mix-sticks-sunrise-orange-low-calorie-sugar-free-016-oz-30-box>: HTTP status code is not handled or not allowed 2026-01-28 11:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-40w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl87-110-1-145tc-helical-inline-speed-reducer-145tc-input-flange-110-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 11:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-button-down-long-sleeve-work-shirt-m-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl77-100-1-145tc-helical-inline-speed-reducer-145tc-input-flange-100-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 11:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl77-30-1-182-4tchelical-inline-speed-reducer182-4tc-input-flange30-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 11:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrically-operated-sectional-valves-hve3-3-way>: HTTP status code is not handled or not allowed 2026-01-28 11:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl97-4-5-1-213-5tc-helical-inline-reducer-213-5tc-input-flange-4-5-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 11:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl107-20-1-324-6tchelical-inline-speed-reducer324-6tc-input-flange20-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 11:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/directional-control-valve-hv231nag2ec0-2-spools-3-way-spool-action>: HTTP status code is not handled or not allowed 2026-01-28 11:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-check-valve-hcv100-steel-check-valve-1-inch-npt>: HTTP status code is not handled or not allowed 2026-01-28 11:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-position-press-shift-selector-valve-hsv100-1-inch-nptf-30-gpm>: HTTP status code is not handled or not allowed 2026-01-28 11:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-176120w-shrink-wrap-17w-x-120l-6mil-white>: HTTP status code is not handled or not allowed 2026-01-28 11:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wind-pro-full-zip-hooded-sweater-reflective-flame-resistant-2xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-athletic-performance-t-shirt-m-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bissell-protough-vacuum-17x35>: HTTP status code is not handled or not allowed 2026-01-28 11:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wind-pro-full-zip-hooded-sweater-reflective-flame-resistant-3xl-tall-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outside-micrometer-3203-5a-4-5-inch-range>: HTTP status code is not handled or not allowed 2026-01-28 11:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 96538 pages (at 97 pages/min), scraped 49454 items (at 28 items/min) 2026-01-28 11:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7034400-24x48-adj-panel-truck>: HTTP status code is not handled or not allowed 2026-01-28 11:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5406400-18-one-piece-handle-s-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4799100-shelf-36x18-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/le1-17-piece-plumbers-hole-saw-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-full-zip-hooded-sweater-reflective-2xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-accessory-individual-slope-top-12w-x-18d-x-6h-725-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-189530>: HTTP status code is not handled or not allowed 2026-01-28 11:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-30w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 11:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 11:27:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-out-keyboard-shelf-skb-12d-x-24w-grey-epoxy>: HTTP status code is not handled or not allowed 2026-01-28 11:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-side-truck-bx-white-steel-11-1-cu-ft-cap-290-3-02>: HTTP status code is not handled or not allowed 2026-01-28 11:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-work-bench-starter-c2-sps-3060-75wgb-c2-series-30d-x-60w-x-75h-white-laminate>: HTTP status code is not handled or not allowed 2026-01-28 11:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7509-adjustable-8-aluminum-confined-space-tripod-kit-w-3-way-retrieval-srl>: HTTP status code is not handled or not allowed 2026-01-28 11:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-bar-7d-x-120l-white-wred-tape-graphics-htgrd7120wr>: HTTP status code is not handled or not allowed 2026-01-28 11:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-galvanized-steel-shelving-189906>: HTTP status code is not handled or not allowed 2026-01-28 11:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stl-2f-cup-dispenser-in-counter-adjustable-plastic-1-spring-22-length>: HTTP status code is not handled or not allowed 2026-01-28 11:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clco-4bt-cup-lid-straw-and-condiment-organizer-8-compartments-countertop>: HTTP status code is not handled or not allowed 2026-01-28 11:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-12-6-long-x-3-8-wide-6-tpi-x-0025-thick>: HTTP status code is not handled or not allowed 2026-01-28 11:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-7-7-1-2-long-x-1-2-wide-10-14-tpi-x-0025-thick>: HTTP status code is not handled or not allowed 2026-01-28 11:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-9-11-long-x-1-2-wide-14-18-tpi-x-0025-thick>: HTTP status code is not handled or not allowed 2026-01-28 11:27:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-30w-x-28l-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-40w-x-34l-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5444600-4wire-shelf-truck>: HTTP status code is not handled or not allowed 2026-01-28 11:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-table-72-l-x-36-w-rectangular-gray-granite-top>: HTTP status code is not handled or not allowed 2026-01-28 11:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-31w-x-29l-green>: HTTP status code is not handled or not allowed 2026-01-28 11:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trafimet-s45-plasma-cutter-torch-consumables-15-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5653200-sase-shlvg-72x24x74-starter>: HTTP status code is not handled or not allowed 2026-01-28 11:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelf-24-x-42-S2442B>: HTTP status code is not handled or not allowed 2026-01-28 11:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelf-24-x-72-S2472B>: HTTP status code is not handled or not allowed 2026-01-28 11:27:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands landed on page that is not a product page. 2026-01-28 11:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-29w-x-28l-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-microfiber-window-washer-193>: HTTP status code is not handled or not allowed 2026-01-28 11:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-42w-x-32l-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sealed-sheave-bearing-e5013xw33nnts1-without-snap-rings-and-coating-65mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xp87b-25p-explosion-proof-cfl-26w-hand-lamp-25-163-non-explosion-proof-grounded-plug>: HTTP status code is not handled or not allowed 2026-01-28 11:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/le2630b14-30-143-sjt-cable-reel-13a-triple-outlet>: HTTP status code is not handled or not allowed 2026-01-28 11:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xp65led-50p-expl-proof-led-inspection-light-led-50-163-cord-non-expl-proof-plug>: HTTP status code is not handled or not allowed 2026-01-28 11:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-29w-x-31l-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-72-x-14-3-shelf-media-stand-silver-epoxy>: HTTP status code is not handled or not allowed 2026-01-28 11:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-3-100-ft-3-outlet-heavy-duty-extension-cord-gg-15100-lighted-end>: HTTP status code is not handled or not allowed 2026-01-28 11:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-single-wall-corrugated-box-30-x-30-x-20-200lb-test-ect-32-kraft-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-28w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 11:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-literature-mailers-8-x-8-x-4-200lb-test-ect-32-b-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-cardboard-corrugated-box-24-x-24-x-6-275-lb-ect-48-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-54m01-70mm-stack-mount-4-inch-flange-base-w-4-hole-mount-metal>: HTTP status code is not handled or not allowed 2026-01-28 11:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-52w-x-29l-black>: HTTP status code is not handled or not allowed 2026-01-28 11:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copper-compression-lug-standard-barrel-1-hole-with-inspection-window1-awg-1-2-stud-green>: HTTP status code is not handled or not allowed 2026-01-28 11:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/148-piece-starter-maintenance-tool-set>: HTTP status code is not handled or not allowed 2026-01-28 11:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rc101410-needle-bearing-drawn-cup-roller-clutch-bore-15875mm>: HTTP status code is not handled or not allowed 2026-01-28 11:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-box-ratcheting-wrench-1-2-inch-x-9-16-inch-6-point>: HTTP status code is not handled or not allowed 2026-01-28 11:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-52w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-stucco-locking-column-mailbox-in-burnt-tuscan-w-decorative-scroll-door-in-antique-copper>: HTTP status code is not handled or not allowed 2026-01-28 11:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nta6074-needle-bearing-thrust-roller-assembly-bore-9525mm>: HTTP status code is not handled or not allowed 2026-01-28 11:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-stucco-locking-column-mailbox-in-sandstone-w-decorative-scroll-door-in-black>: HTTP status code is not handled or not allowed 2026-01-28 11:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hk0810-needle-bearing-drawn-cup-caged-metric-bore-8001mm>: HTTP status code is not handled or not allowed 2026-01-28 11:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j1412-oh-needle-bearing-drawn-cup-caged-oil-hole-bore-22225mm>: HTTP status code is not handled or not allowed 2026-01-28 11:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-twistable-crayons-nontoxic-assorted-24-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j98-oh-needle-bearing-drawn-cup-caged-oil-hole-bore-143mm>: HTTP status code is not handled or not allowed 2026-01-28 11:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-48w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-48w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 11:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cem31107-5hp-3600rpm-56c-frame-3ph-230-460v-odp-c-face-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 11:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em31107-5hp-3600rpm-56-frame-3ph-230-460v-odp-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 11:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/el11317a-2hp-56h-frame-3600rpm-115-230v-odp-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 11:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cel11304-5hp-56c-frame-1800rpm-115-230v-odp-c-face-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 11:27:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-accents-jigsaw-puzzle-tept10906-assorted-colors-36-pieces-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:27:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-elephant-bark-rubber-flooring-1-4-x-4-x-3-rubber-mat-black>: HTTP status code is not handled or not allowed 2026-01-28 11:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brights-on-black-terrific-trimmers-variety-pack-156-foot-long-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-cpu-system-unit-holder>: HTTP status code is not handled or not allowed 2026-01-28 11:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-40w-x-34l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ax-s10-ultra-meat-slicer-10-blade-manual-poly-v-belt-drive-system>: HTTP status code is not handled or not allowed 2026-01-28 11:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psm-80-spiralmixer-137qt-capacity-twinmotor-2speed-3-1-2hp-208v>: HTTP status code is not handled or not allowed 2026-01-28 11:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-standard-215ab104020-cadet-pro-ada-elongated-128gpf-10-rough-in-toilet-806211>: HTTP status code is not handled or not allowed 2026-01-28 11:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elkay-lzwsm8k-ezh20-8-gph-filtered-in-wall-recessed-water-bottle-filling-stations>: HTTP status code is not handled or not allowed 2026-01-28 11:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-jeans-38w-x-30l-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-tape-600-3-4-x-1296-1-core-6-rolls-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 96631 pages (at 93 pages/min), scraped 49469 items (at 15 items/min) 2026-01-28 11:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-tank-w-155fg-w-series-155-gal>: HTTP status code is not handled or not allowed 2026-01-28 11:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-box-db-10>: HTTP status code is not handled or not allowed 2026-01-28 11:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-40-short-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-54w-x-29l-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-stack-chair-w-perforated-back-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-lockable-double-shift-storage-cabinet-36w-x-24d-x-66h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-counter-top-height-cabinet-36w-x-20d-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-combination-cabinet-w-drawers-shelves-60w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-rtk82-right-to-know-information-center-2-racks-no-binder-20-x-28-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-10-foot-10-inch-long-x-1-inch-wide-6-10-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 11:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-44w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rackrow-spacer-6-798021>: HTTP status code is not handled or not allowed 2026-01-28 11:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rackwall-spacer-12-798026>: HTTP status code is not handled or not allowed 2026-01-28 11:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-7572-screen-retainer-spline-165-11-64-dia-500-roll-black>: HTTP status code is not handled or not allowed 2026-01-28 11:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl-14622-spline-channel-pull-tabs-black-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:28:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_banners_posters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl-14059-screen-frame-3-4-x-3-8-x-94-020-mill>: HTTP status code is not handled or not allowed 2026-01-28 11:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/507419-3-way-replacement-rod-medium-150-grit-ceramic-blue-handle>: HTTP status code is not handled or not allowed 2026-01-28 11:28:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-facepiece-respirator-large-reusuable-scotchgard-protector-4-each>: HTTP status code is not handled or not allowed 2026-01-28 11:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:28:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/kitchen_tools/knives_cutlery/boning_knives already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-power-stock-pickerps-15-640439>: HTTP status code is not handled or not allowed 2026-01-28 11:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r55i-tas-135-2303-rotary-screw-air-compressor-3-phase-230-volts-75hp-80-gal>: HTTP status code is not handled or not allowed 2026-01-28 11:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r55i-tas-115-2303-rotary-screw-air-compressor-3-phase-230-volts-75hp-80-gal>: HTTP status code is not handled or not allowed 2026-01-28 11:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r4i-145-2301-rotary-screw-air-compressor-1-phase-230-volts-5hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-28 11:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r75i-tas-135-2303-rotary-screw-air-compressor-3-phase-230-volts-10hp-80-gal>: HTTP status code is not handled or not allowed 2026-01-28 11:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-42w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_banners_posters>: HTTP status code is not handled or not allowed 2026-01-28 11:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-50-tall-red>: HTTP status code is not handled or not allowed 2026-01-28 11:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-starter-1-wide-12w-x-12d-x-24h-unassembled-black>: HTTP status code is not handled or not allowed 2026-01-28 11:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:28:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r75i-125-2003-rotary-screw-air-compressor-3-phase-200-volts-10hp-80-gal>: HTTP status code is not handled or not allowed 2026-01-28 11:28:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/kitchen_tools/knives_cutlery/boning_knives>: HTTP status code is not handled or not allowed 2026-01-28 11:28:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-40w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:28:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/epoxy already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dielectric-connector-grease-15339-3-oz-tube>: HTTP status code is not handled or not allowed 2026-01-28 11:28:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-threadlocker-24345-6ml-tube>: HTTP status code is not handled or not allowed 2026-01-28 11:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-performance-200-series-lan-station-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 11:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-performance-400-series-lan-station-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 11:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jd-shaded-pole-blower-vbm60psc-pc-round-opening-with-damper-door-and-cord-60-cfm-120v>: HTTP status code is not handled or not allowed 2026-01-28 11:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-50w-x-unhemmed-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-8-compartment-hanging-garment-dispenser-locker-silver-vein-w-combo-locks>: HTTP status code is not handled or not allowed 2026-01-28 11:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-58w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/dollies/open_deck_dollies>: HTTP status code is not handled or not allowed 2026-01-28 11:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/epoxy>: HTTP status code is not handled or not allowed 2026-01-28 11:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b225k-v-belt-kevlar-5-8-x-228>: HTTP status code is not handled or not allowed 2026-01-28 11:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b150k-v-belt-kevlar-5-8-x-153>: HTTP status code is not handled or not allowed 2026-01-28 11:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b281k-v-belt-kevlar-5-8-x-284>: HTTP status code is not handled or not allowed 2026-01-28 11:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-door-shoe-w-drip-cap-06015-silver-36-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-34w-x-32l-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:28:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-52w-x-unhemmed-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:28:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en-m24-drop-forged-eye-nut-m24-x-3-00-style-d-c1030>: HTTP status code is not handled or not allowed 2026-01-28 11:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en-9-hd-316ss-forged-eye-nut-7-8-9-style-b-316-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-35w-x-30l-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:28:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-pack-hepa-filter-2000-24-x-24-x-115>: HTTP status code is not handled or not allowed 2026-01-28 11:28:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/spill_containment_berms already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stair-edging-fluted-78022-36-inchl-silver-screw-nails>: HTTP status code is not handled or not allowed 2026-01-28 11:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/build-your-own-berm-seal-build-your-own-berm-sili-thane-803-sealant-6-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:28:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peat2-loose-peat-moss-2-cubic-ft-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-42-inch-w-x-18-inch-d-x-54-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-42-inch-w-x-21-inch-d-x-74-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-40w-x-unhemmed-black>: HTTP status code is not handled or not allowed 2026-01-28 11:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-52w-x-unhemmed-red>: HTTP status code is not handled or not allowed 2026-01-28 11:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-30w-x-30l-green>: HTTP status code is not handled or not allowed 2026-01-28 11:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-36-inch-w-x-21-inch-d-x-86-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:28:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 11:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl4112-plus-wall-mount-set-yellow-closed-for-maintenance-banner>: HTTP status code is not handled or not allowed 2026-01-28 11:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-54w-x-32l-red>: HTTP status code is not handled or not allowed 2026-01-28 11:28:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/spill_containment_berms landed on page that is not a product page. 2026-01-28 11:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shredder-oil-12oz-bottles-6-case>: HTTP status code is not handled or not allowed 2026-01-28 11:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-54-inch-w-x-18-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 96716 pages (at 85 pages/min), scraped 49481 items (at 12 items/min) 2026-01-28 11:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-24-inch-w-x-21-inch-d-x-86-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-36-inch-w-x-14-inch-d-x-86-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-54w-x-30l-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-60w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-anti-rust-enamel-gloss-finish-blue-gallon-176843>: HTTP status code is not handled or not allowed 2026-01-28 11:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-42w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 11:28:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-42w-x-unhemmed-green>: HTTP status code is not handled or not allowed 2026-01-28 11:29:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maintenance-one-concentrated-all-purpose-cleaner-1-gallon-bottle-1-case-513066>: HTTP status code is not handled or not allowed 2026-01-28 11:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 11:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-24w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 11:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lotus-lt-sit-stand-workstation-34-3-8-x-28-3-8-x-7-5-8-black>: HTTP status code is not handled or not allowed 2026-01-28 11:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-48w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 11:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-42w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 11:29:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-remote-start-reset-button-250-500v-2-3-3-1a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-separate-coil-voltage-start-stop-100-250v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 11:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-separate-coil-voltage-start-stop-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manitowoc-ice-b-570-ice-bin-stainless-steel-exterior-top-hinged-front-opening-access-door>: HTTP status code is not handled or not allowed 2026-01-28 11:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manitowoc-ice-id-0606a-indigo-series-ice-maker-cube-style-air-cooled-self-contained-condenser>: HTTP status code is not handled or not allowed 2026-01-28 11:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-plastic-shelf-bin-6-5-8w-x-17-7-8d-x-8h-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-remote-start-terminals-start-stop-250-500v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 11:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-plastic-shelf-bin-6-5-8w-x-23-5-8d-x-8h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-premier-carpet-tile-22177514000-diagonal-18l-x-18w-x-14h-chestnut-brown-12pk>: HTTP status code is not handled or not allowed 2026-01-28 11:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accessory-shelf-60-in-13-in-9136-3-01>: HTTP status code is not handled or not allowed 2026-01-28 11:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_primer>: HTTP status code is not handled or not allowed 2026-01-28 11:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-remote-start-start-stop-24-60v-2-3-3-1a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-remote-start-start-stop-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-plastic-box-truck-12-bushel-gray-272513-5-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-drum-pump-kit-316ss-econo-pump-tube-with-316ss-shaft-rechargeable-motor-B972318>: HTTP status code is not handled or not allowed 2026-01-28 11:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-mech-van-pack-2014-ford-trans-connect-lwb-600-8313l>: HTTP status code is not handled or not allowed 2026-01-28 11:29:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-remote-start-terminals-reset-button-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elec-contr-van-pack-mid-roof-ford-trans-130-wb-600-8214r>: HTTP status code is not handled or not allowed 2026-01-28 11:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500063-hook2hook-coil-tether>: HTTP status code is not handled or not allowed 2026-01-28 11:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500067-trigger2trigger-coil-tether>: HTTP status code is not handled or not allowed 2026-01-28 11:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-1638-zz-shielded-light-duty-075-inch-bore-2-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 11:29:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msb-kit-mini-split-bib-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roowhxfa-8-bu-white-vinyl-folding-x-fra>: HTTP status code is not handled or not allowed 2026-01-28 11:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6308-2rs-2-rubber-seals-heavy-duty-40mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6312-2rs-2-rubber-seals-heavy-duty-60mm-bore-130mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving>: HTTP status code is not handled or not allowed 2026-01-28 11:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-thermoplastic-coated-32-gallon-mesh-receptacle-w-dome-lid-green>: HTTP status code is not handled or not allowed 2026-01-28 11:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-remote-start-start-stop-100-250v-16-20a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duraflex-14-month-planner-8-7-8x7-1-8-black-2015-2017-cb1200vblk>: HTTP status code is not handled or not allowed 2026-01-28 11:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/audio_video_equipment/audio_visual_mounts/monitor_mounts_stands>: HTTP status code is not handled or not allowed 2026-01-28 11:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6005-open-light-duty-25mm-bore-47mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6010-open-light-duty-50mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-remote-start-reset-button-100-250v-13-16a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-start-stop-24-60v-16-20a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-screen-popcorn-machine-14-ounce-popper>: HTTP status code is not handled or not allowed 2026-01-28 11:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/532160-socket-cap-screw-m10-x-1-50-x-50mm-steel-black-oxide-gr-12-9-pt-unc-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-direct-online-start-stop-100-250v-24-29a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/847082-hex-cap-screw-5-16-18-x-1-1-2-carbon-steel-zinc-grade-5-pt-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-12-metalized-permanent-labels>: HTTP status code is not handled or not allowed 2026-01-28 11:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-1ph-reset-button-24-60v-16-20a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48600-bn-nufit-push-pull-tub-closure-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 11:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-remote-start-start-stop-24-60v-20-24a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/305002-nylon-insert-lock-nut-2-56-low-carbon-steel-zinc-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-remote-start-terminals-reset-button-250-500v-24-29a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-remote-start-start-stop-100-250v-29-35a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m11r-no-smoking-area-sign-no-smoking-4-x-12-whitered>: HTTP status code is not handled or not allowed 2026-01-28 11:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hms2p-hazardous-materials-systems-label-3-18-x-3-18-redyellowwhiteblue-5pk>: HTTP status code is not handled or not allowed 2026-01-28 11:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-remote-start-terminals-reset-button-100-250v-29-35a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321250-finished-hex-nut-1-2-13-low-carbon-steel-zinc-yellow-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/792012-self-tapping-screw-6-x-3-8-phillips-pan-head-type-a-ft-18-8-ss-pkg-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 11:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm47g-traffic-sign-no-parking-fire-lane-keep-clear-at-all-times-18-x-12-whitered>: HTTP status code is not handled or not allowed 2026-01-28 11:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-1ph-remote-start-terminals-reset-button-100-250v-16-20a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 96809 pages (at 93 pages/min), scraped 49507 items (at 26 items/min) 2026-01-28 11:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-1ph-reset-button-24-60v-16-20a>: HTTP status code is not handled or not allowed 2026-01-28 11:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v6c-ss-extension-spring-05-od-x-00625-wire-dia-x-4-oal-474-lbs-in-302-ss>: HTTP status code is not handled or not allowed 2026-01-28 11:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d101p-osha-sign-danger-480-volts-7-x-10-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 11:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-reset-button-24-60v-44-53a>: HTTP status code is not handled or not allowed 2026-01-28 11:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tags-caution-this-scaffold-does-not-meet-federalstate-osha-specifications-6-x-3-yellow-25pk>: HTTP status code is not handled or not allowed 2026-01-28 11:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-reset-button-24-60v-30-40a>: HTTP status code is not handled or not allowed 2026-01-28 11:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-direct-online-reset-button-250-500v-36-47a>: HTTP status code is not handled or not allowed 2026-01-28 11:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d610rb-osha-sign-danger-safety-glasses-hard-hats-required-in-this-area-10-x-14-whtrdblk>: HTTP status code is not handled or not allowed 2026-01-28 11:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tags-ok-this-scaffold-has-been-erected-to-meet-federalstate-osha-standards-6-x-3-green-25pk>: HTTP status code is not handled or not allowed 2026-01-28 11:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hm27alv-rtk-labels-write-on-color-bar-4-x-4-redyellowwhiteblue-psv>: HTTP status code is not handled or not allowed 2026-01-28 11:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-3ph-direct-online-start-stop-250-500v-50-60a>: HTTP status code is not handled or not allowed 2026-01-28 11:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-36-cafe-bar-table-tekwood-natural>: HTTP status code is not handled or not allowed 2026-01-28 11:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m40p-fire-sign-in-case-of-fire-break-glass-1-34-x-5-whitered>: HTTP status code is not handled or not allowed 2026-01-28 11:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-1ph-reset-button-24-60v-30-40a>: HTTP status code is not handled or not allowed 2026-01-28 11:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-ottoman-stone>: HTTP status code is not handled or not allowed 2026-01-28 11:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-modular-side-chair-stone>: HTTP status code is not handled or not allowed 2026-01-28 11:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porcelain-dry-erase-whiteboard-96-x-40>: HTTP status code is not handled or not allowed 2026-01-28 11:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d372p-osha-sign-danger-confined-space-keep-out-7-x-10-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 11:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpt161-tags-do-not-enter-6-x-3-whiteredblack-25pk>: HTTP status code is not handled or not allowed 2026-01-28 11:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c26ab-osha-sign-caution-eye-protection-required-in-this-area-10-x-14-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 11:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-dieffenbachia-silk-plant>: HTTP status code is not handled or not allowed 2026-01-28 11:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-115599-aluminum-oxide-1-4-x-24-80-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-127055-zirconia-alumina-3-x-21-50-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-14019-aluminum-oxide-1-2-x-18-80-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-212776-silicon-carbide-2-x-48-50-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-219198-aluminum-oxide-4-x-54-220-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-1ph-remote-start-reset-button-24-60v-75-87a>: HTTP status code is not handled or not allowed 2026-01-28 11:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-1ph-remote-start-reset-button-100-250v-48-60a>: HTTP status code is not handled or not allowed 2026-01-28 11:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-26301-silicon-carbide-4-x-36-120-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breakable-emergency-key-box-with-attached-hammer-b-style-3-15-16w-x-1-9-16d-x-3-15-16h>: HTTP status code is not handled or not allowed 2026-01-28 11:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lx-delxe-teaching-cart-w-locking-cabinet-400-lbs-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 11:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-td-30-drying-unit-115-v-480w-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonic-select-60-extra-powerful-ultrasonic-cleaner-with-heater-timer-5-modes-1-5-gallon>: HTTP status code is not handled or not allowed 2026-01-28 11:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-260-dip-and-splash-ultrasonic-cleaning-solution-7-1-ph-10-l>: HTTP status code is not handled or not allowed 2026-01-28 11:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-inpass-3-4-inch-npt-coalescing-filter-107-cfm-8-000-hr-0-1-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 11:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-foot-ultra-parking-block-with-cable-protection-and-hardware-yellow-ultra4672pby>: HTTP status code is not handled or not allowed 2026-01-28 11:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbide-bandsaw-blade-15-6-x-1-14-gulleted-coarse>: HTTP status code is not handled or not allowed 2026-01-28 11:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-power-riser-60-w-x-15-d-x-18-h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-casters-for-boss-office-chairs>: HTTP status code is not handled or not allowed 2026-01-28 11:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-mezzanine-ladder-108h>: HTTP status code is not handled or not allowed 2026-01-28 11:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-bronze-victorian-style-knob-set>: HTTP status code is not handled or not allowed 2026-01-28 11:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flex-back-carbon-band-saw-coil-100-long-0375w-4-tpi-025-thick>: HTTP status code is not handled or not allowed 2026-01-28 11:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nord-lock-1099-wedge-locking-washer-316-stainless-steel-m10-large-o-d-pkg-of-200>: HTTP status code is not handled or not allowed 2026-01-28 11:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-motegi-2mt275-bn-single-lever-pre-rinse-spring-pull-down-kitchen-faucet-pvd-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 11:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-mobile-modular-drawer-cabinet-5-drawers-w-lock-w-o-dividers-30-wx27-dx29-1-2-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-configurabl-forward-descent-roll-ladder-perforated-ukdec110246>: HTTP status code is not handled or not allowed 2026-01-28 11:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/variable-width-keg-flow-frame-for-42d-rack-variablewidth2442-holds-4-sixer-kegs-21-24w>: HTTP status code is not handled or not allowed 2026-01-28 11:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-948-bi-material-adjustable-wrench-8-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 11:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/141-osha-stairway-stair36o-16-141>: HTTP status code is not handled or not allowed 2026-01-28 11:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-264-high-impact-abs-magnetic-torpedo-level-9-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-coupling-mrc30s-stainless-steel-30mm-2pk>: HTTP status code is not handled or not allowed 2026-01-28 11:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-rigid-coupling-c600e137-steel-1375d-x-2992d-138l-shaft>: HTTP status code is not handled or not allowed 2026-01-28 11:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/130-osha-stairway-stair36o-15-130>: HTTP status code is not handled or not allowed 2026-01-28 11:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/115-ibc-stairway-stair36i-17-115>: HTTP status code is not handled or not allowed 2026-01-28 11:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/119-osha-stairway-stair36o-14-119>: HTTP status code is not handled or not allowed 2026-01-28 11:30:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/tool_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-rigid-coupling-c600e268-steel-26875d-x-5826d-21116l-shaft>: HTTP status code is not handled or not allowed 2026-01-28 11:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-18-inch-d-x-86-inch-h-2000-lbs-cap-3-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 11:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/113-osha-stairway-stair36o-13-113>: HTTP status code is not handled or not allowed 2026-01-28 11:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-18-inch-d-x-50-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 11:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-24-inch-d-x-62-inch-h-2000-lbs-cap-4-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 11:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-3-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 11:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/275-dia-locking-assembly-c415-series-c415e275-steel-m10-x-50>: HTTP status code is not handled or not allowed 2026-01-28 11:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-4-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 11:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-21-inch-d-x-86-inch-h-2000-lbs-cap-4-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 11:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-profile-amber-led-permanent-mount-forkli-strobe-light-12-to-110-volts>: HTTP status code is not handled or not allowed 2026-01-28 11:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-a325d-righthand-type-a-118l-thread-fits-516-shaft>: HTTP status code is not handled or not allowed 2026-01-28 11:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-frame-folding-tank-alf-4000-183l-x-183w-x-29h-4000-gallon-cap-green>: HTTP status code is not handled or not allowed 2026-01-28 11:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/tool_storage/tool_boxes>: HTTP status code is not handled or not allowed 2026-01-28 11:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-a325-righthand-type-a-118l-thread-fits-516-shaft>: HTTP status code is not handled or not allowed 2026-01-28 11:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 96905 pages (at 96 pages/min), scraped 49534 items (at 27 items/min) 2026-01-28 11:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-18-inch-d-x-74-inch-h-2000-lbs-cap-3-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 11:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-sided-self-supporting-tank-hs-5000-198-dia-x-60h-5000-gallon-cap-green>: HTTP status code is not handled or not allowed 2026-01-28 11:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-5-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 11:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-frame-folding-tank-stf-750-88l-x-88w-x-29h-750-gallon-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-resistant-gray-water-bladder-tank-bt-1250x30-148l-x-114w-x-18h-1250-gal-black>: HTTP status code is not handled or not allowed 2026-01-28 11:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m44-c600-series-steel-44mm-shaft>: HTTP status code is not handled or not allowed 2026-01-28 11:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-24-inch-d-x-50-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 11:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-water-bladder-tank-bt-50pw-52l-x-36w-x-9h-50-gallon-cap-powder-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-frame-pvc-decontamination-pool-alfdp-48-48l-x-12w-x-55h-230-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 11:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hip-kit-rtl9506-long-handled-sponge-stocking-aid-arm-reacher-shoe-horn-shoe-laces>: HTTP status code is not handled or not allowed 2026-01-28 11:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-water-bladder-tank-bt-600pw-111l-x-92w-x-16h-600-gallon-cap-powder-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-no-12-cable-stripper-8-13-mm-common-round-cables>: HTTP status code is not handled or not allowed 2026-01-28 11:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-basin-hmb-44v22-pvc-4l-x-4w-x-4h-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-48-inch-w-x-21-inch-d-x-50-inch-h-2000-lbs-cap-5-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 11:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dpg52-bd-ansi-z87-1-glasses-contractor-pro-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dpg54-1d-ansi-z87-1-protector-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dpg59-225d-ansi-z87-1-reinforcer-rx-2-5-smoke>: HTTP status code is not handled or not allowed 2026-01-28 11:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burglary-file-safe-cabinet-2-hr-factory-fire-rating-digital-lock-22wx22dx22-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 11:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-a-frame-lean-tool-cart-louvered-panels-24d-x-60w>: HTTP status code is not handled or not allowed 2026-01-28 11:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burglary-file-safe-cabinet-1-hr-factory-fire-rating-combo-lock-22w-x-20d-x-59h>: HTTP status code is not handled or not allowed 2026-01-28 11:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hotel-residential-electronic-security-white-keyed-alike-15w-x-10d-x-7h>: HTTP status code is not handled or not allowed 2026-01-28 11:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x60x79-metromax-cart-mx47-533-02>: HTTP status code is not handled or not allowed 2026-01-28 11:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-stanchion-385h-wrinkle-black-post-7l-bronze-retractable-belt>: HTTP status code is not handled or not allowed 2026-01-28 11:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivoting-blower-utility-fan-3-speed-black>: HTTP status code is not handled or not allowed 2026-01-28 11:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-frl-n33352-gauge-poly-bowl-manual-fog-lubricator>: HTTP status code is not handled or not allowed 2026-01-28 11:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-fr-lubricator-n70352w-gauge-metal-bowl-wsight-manual>: HTTP status code is not handled or not allowed 2026-01-28 11:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-fr-lubricator-n70353-gauge-poly-bowl-manual>: HTTP status code is not handled or not allowed 2026-01-28 11:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weldsafe-2x3>: HTTP status code is not handled or not allowed 2026-01-28 11:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-basket-truck-with-vinyl-liner-10-bushel-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-basket-truck-with-vinyl-liner-12-bushel-green>: HTTP status code is not handled or not allowed 2026-01-28 11:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-insert-bit-23020-1-4-drive-t20-tip>: HTTP status code is not handled or not allowed 2026-01-28 11:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-cutting-aviation-snips-30301-3-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 11:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-ramp-traverse-sf02-30-1-4-x-24-1600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4lb-dead-blow-soft-face-mallet-1435db-36-1-8-long-polyurethane-handle-4-lb>: HTTP status code is not handled or not allowed 2026-01-28 11:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-hulk-plastic-stackable-storage-bin-qus998mob-23-78-x-35-78-x-17-12-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-jumbo-wrench-1274-2-5-16-opening-12-point-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-28 11:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-series-2-drawer-lateral-file-textured-sea-salt>: HTTP status code is not handled or not allowed 2026-01-28 11:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sae-heavy-duty-magnetic-power-nut-driver-10560x-1-4-drive-1-4-tip-1-3-4-long>: HTTP status code is not handled or not allowed 2026-01-28 11:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-series-quarter-round-corner-2-shelf-bookcase-gray-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm269k-traffic-sign-no-outlet-sign-30-x-30-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm500j-traffic-sign-advance-turn-arrow-left-15-x-21-white>: HTTP status code is not handled or not allowed 2026-01-28 11:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-sling-wo-head-support-x-large>: HTTP status code is not handled or not allowed 2026-01-28 11:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tmas18j-traffic-sign-florida-250-fine-6-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms333j-traffic-sign-reserved-parking-pennsylvania-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 11:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tmas19g-traffic-sign-250-fine-6-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 11:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grill-cover-for-bm-60-bmc>: HTTP status code is not handled or not allowed 2026-01-28 11:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-chromatography-refrigerator-abt-33cb-33-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-berm-foam-wall-4-feet-x-4-feet-24-mil-pvc-black-green>: HTTP status code is not handled or not allowed 2026-01-28 11:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-rapid-response-boom>: HTTP status code is not handled or not allowed 2026-01-28 11:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-large-capacity-refrigerator-for-pharmacies-abt-26b-26-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louver-steel-beveled-vision-lite-vlfez2430b-temp-pak-24-x-30-bronze-w-tempered-glaze>: HTTP status code is not handled or not allowed 2026-01-28 11:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-berm-builder-corners-4-feet-feet-2-qty-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louver-steel-beveled-vision-lite-vlfez2460b-temp-pak-24-x-60-bronze-w-tempered-glaze>: HTTP status code is not handled or not allowed 2026-01-28 11:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-door-louver-800a12418g-inverted-y-blades-50-free-area-24-x-18-gray-primered>: HTTP status code is not handled or not allowed 2026-01-28 11:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-led-downlight-wall-pack-outdoor-commercial-area-lights-60-120w-dimmable-18000-lumens>: HTTP status code is not handled or not allowed 2026-01-28 11:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-trinocular-zoom-stereo-microscope-3-5x-45x-magnification-w-boom-stand-w-80-led-light>: HTTP status code is not handled or not allowed 2026-01-28 11:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-led-light-bulb-12w-1100-lumens-twist-lock-base-dimmable-super-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contender-blended-kevlar-steel-glove-w-reinforced-thumb-preshrunk-ansi-a7-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tenactiv-cx-glove-blended-hppe-steel-ansi-a6-touchscreen-compatible-size-10>: HTTP status code is not handled or not allowed 2026-01-28 11:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tenactiv-cx-glove-blended-hppe-steel-ansi-a6-touchscreen-compatible-size-8>: HTTP status code is not handled or not allowed 2026-01-28 11:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-flexible-spine-didactic>: HTTP status code is not handled or not allowed 2026-01-28 11:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-anatomy-botany-prepared-microscope-slides-100-pc-set-d>: HTTP status code is not handled or not allowed 2026-01-28 11:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-binocular-biological-microscope-40x-2000x-magnification-w-mechanical-stage>: HTTP status code is not handled or not allowed 2026-01-28 11:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mc-single-stage-vacuum-pump-1-8-cfm>: HTTP status code is not handled or not allowed 2026-01-28 11:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mc-refrigerant-recovery-system>: HTTP status code is not handled or not allowed 2026-01-28 11:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-loose-bones-hand-skeleton-with-ulna-and-radius-right>: HTTP status code is not handled or not allowed 2026-01-28 11:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-pad-rearr1305-kleen-and-dry-screen-cleaning-pad-40-bx>: HTTP status code is not handled or not allowed 2026-01-28 11:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-mini-travel-mouse-graphite-ver97470-wireless-connectivity-scroll-wheel>: HTTP status code is not handled or not allowed 2026-01-28 11:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handheld-calculator-vct700-8-digit-lcd-display-screen-solar-or-battery-power>: HTTP status code is not handled or not allowed 2026-01-28 11:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosed-bulletin-board-cork-48-x-36-2-door>: HTTP status code is not handled or not allowed 2026-01-28 11:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-screen-filter-ktksvl24w9-24-lcd-screen-black>: HTTP status code is not handled or not allowed 2026-01-28 11:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-sabre-lounge-chair-stone-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-812-standard-utility-glove-black-xl-17175>: HTTP status code is not handled or not allowed 2026-01-28 11:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cash-box-with-keyed-lock-cb11828-6-x-4-1-2-x-3-1-8-black>: HTTP status code is not handled or not allowed 2026-01-28 11:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75522-cutting-wheel-thin-metal-cutting-4-1-2-x-1-16-arbor-7-8>: HTTP status code is not handled or not allowed 2026-01-28 11:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/08810-abrasive-saw-blade-metal-cutting-10-x-7-64-arbor-5-8>: HTTP status code is not handled or not allowed 2026-01-28 11:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-two-eye-tie-work-sneaker-breathable-knit-textile-leather-blue-tan-9-5m>: HTTP status code is not handled or not allowed 2026-01-28 11:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-two-eye-tie-work-sneaker-breathable-knit-textile-leather-blue-tan-7-5w>: HTTP status code is not handled or not allowed 2026-01-28 11:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shell-type-needle-roller-bearing-inch-214-bore-258-od-750-width>: HTTP status code is not handled or not allowed 2026-01-28 11:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26216-cobalt-drill-bit-135-1-4-x-4>: HTTP status code is not handled or not allowed 2026-01-28 11:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-jaw-puller-set-4030b-10-ton-2way-8-jaws-14-pieces>: HTTP status code is not handled or not allowed 2026-01-28 11:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76202-drill-end-brush-shank-1-4-coarse-1-knot>: HTTP status code is not handled or not allowed 2026-01-28 11:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-oxford-breathable-mesh-black-11d>: HTTP status code is not handled or not allowed 2026-01-28 11:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-filterregulator-lubricator-upwl3-38-npt-1700-flow-lmin>: HTTP status code is not handled or not allowed 2026-01-28 11:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77431-end-brush-radial-brush-shank-1-4-coarse-grit-80-3>: HTTP status code is not handled or not allowed 2026-01-28 11:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-waterproof-leather-brown-10m>: HTTP status code is not handled or not allowed 2026-01-28 11:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97003 pages (at 98 pages/min), scraped 49546 items (at 12 items/min) 2026-01-28 11:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss304-63703-38-class-150-cap-stainless-steel-304>: HTTP status code is not handled or not allowed 2026-01-28 11:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hthb-hac8pv-wf-hydroboost-refrigerated-bottle-filling-station-w-filter-platinum-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 11:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glassless-mirror-with-mobile-caster-base-vertical-48w-x-72h>: HTTP status code is not handled or not allowed 2026-01-28 11:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss316-66020x10-2x1-class-150-hex-bushing-stainless-steel-316>: HTTP status code is not handled or not allowed 2026-01-28 11:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-mobile-stool-with-back-18-22h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-foam-mat-for-raised-rim-platform-table-72l-x-36w-x-2h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loading-dock-safety-net-with-posts-4-feet-x-9-feet>: HTTP status code is not handled or not allowed 2026-01-28 11:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-hi-low-treatment-table-3-section-76l-x-27w-x-18-37h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loading-dock-safety-net-with-posts-4-feet-x-28-feet>: HTTP status code is not handled or not allowed 2026-01-28 11:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glassless-mirror-stationary-with-stand-vertical-48w-x-72h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-high-performance-green-masking-tape-401-233-48-mm-x-55-m>: HTTP status code is not handled or not allowed 2026-01-28 11:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glassless-mirror-stationary-with-stand-vertical-24w-x-96h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-frame-sign-panel-barrier-50-hfp1002-sa-cl-60-x-30-satin-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 11:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f36758-0000-large-polypropylene-scoops-2-liter-capacity-6pk>: HTTP status code is not handled or not allowed 2026-01-28 11:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f36786-0016-16-oz-screw-on-cup-for-polypropylene-economy-dipper>: HTTP status code is not handled or not allowed 2026-01-28 11:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-b62000-0200-durac-galileo-thermometer-60-to-100-11-spheres-610mm-24>: HTTP status code is not handled or not allowed 2026-01-28 11:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-b61503-0000-durac-compact-sling-psychrometer550>: HTTP status code is not handled or not allowed 2026-01-28 11:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-foaming-sponge-dish-wand-w-scrub-brush-pkg-qty-6-1132>: HTTP status code is not handled or not allowed 2026-01-28 11:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearview-storage-box-with-latched-lid-17531712-15-qt-17l-x-11-1-8w-x-6-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1548-1-premium-locker-single-tier-15x24x72-1-door-ready-to-assemble-parchment>: HTTP status code is not handled or not allowed 2026-01-28 11:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gallon-instant-powder-mix-fruit-punch>: HTTP status code is not handled or not allowed 2026-01-28 11:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-s1106-anodized-aluminum-safety-padlock-1-1-2-inchw-1-1-2-inchtall-shackle-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironcat-heavyweight-top-grain-cowhide-mig-welding-gloves-ivory-large-all-leather>: HTTP status code is not handled or not allowed 2026-01-28 11:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/touch-screen-hi-vis-yellow-cut-resistant-gloves-hvy713sutsl-pu-palm-coated-nylon-gloves-large>: HTTP status code is not handled or not allowed 2026-01-28 11:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zone-defense-orange-hppe-shell-cut-resistant-gloves-wblack-polyurethane-palm-coat-small>: HTTP status code is not handled or not allowed 2026-01-28 11:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-starter-unit-1-solid-shelf-72w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-1-solid-shelf-72w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usvp3256-5a-safety-view-plus-locker-five-tier-12x15x12-15-doors-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 11:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-1-solid-shelf-60w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-safety-view-door-wardrobe-cabinet-36wx18dx72h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 11:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-solid-door-wardrobe-cabinet-48wx24dx72h-parchment-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 11:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-starter-unit-48w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1282-6mp-black-tie-locker-six-tier-12x18x12-6-doors-unassembled-black-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800-series-solid-door-mobile-storage-cabinet-48wx24dx78h-midnight-ebony-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 11:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1818-1hdv-heavy-duty-ventilated-locker-single-tier-18x21x72-1-door-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-42w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inner-ring-for-machined-type-needle-roller-bearing-metric-32mm-bore-37mm-od-20mm-width>: HTTP status code is not handled or not allowed 2026-01-28 11:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cant-hook-handle-w-029-030-0324-hardwood-30>: HTTP status code is not handled or not allowed 2026-01-28 11:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-add-on-unit-30w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubix-modular-locker-w-built-in-key-lock-12x12x12-safety-view-door-platinum-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-built-in-dishwasher-24-inch-wide-ada-compliant-top-controls-stainless-steel-door>: HTTP status code is not handled or not allowed 2026-01-28 11:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/db-4kit-4-24-w-x-48-h-x-14-d-white-poly-pegboards-w-96-pc-durahook-set-bins>: HTTP status code is not handled or not allowed 2026-01-28 11:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/np-two-piece-biocooler-fits-box-15-inch-l-x-15-inch-w-x-15-inch-h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/db-96-48-w-x-96-h-x-14-d-white-poly-pegboard-w-932-holes>: HTTP status code is not handled or not allowed 2026-01-28 11:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosed-solid-core-ac-sensor-ribxkf-25-150a-spst-fixed-wire-leads-30vac-dc>: HTTP status code is not handled or not allowed 2026-01-28 11:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-plastic-solution-tank-for-auto-floor-scrubber-713170>: HTTP status code is not handled or not allowed 2026-01-28 11:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-contact-input-relay-rib01bdc-enclosed-120vac-20a-spdt>: HTTP status code is not handled or not allowed 2026-01-28 11:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ups-interface-board-psmn2c2rb10-10a-breaker-switch-120vac-2-outlets-power-cord-status>: HTTP status code is not handled or not allowed 2026-01-28 11:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-6-bushel-vinyl-basket-truck-all-swivel-casters-black>: HTTP status code is not handled or not allowed 2026-01-28 11:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-antimicrobial-large-capacity-wire-cart-4-5-bushel>: HTTP status code is not handled or not allowed 2026-01-28 11:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-6-bushel-ups-fedex-able-antimicrobial-basket-all-swivel-casters-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-6-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-8-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-case-qf345tn-watertight-10-11-16-x9-3-4-x4-13-16-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-esd-rubber-matting-mt4548-48x50x0080-green>: HTTP status code is not handled or not allowed 2026-01-28 11:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-esd-rubber-matting-mt3660-36x60x0080-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-mount-anywhere-hat-rack-5001-3l-3w-3-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 11:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-watertight-case-with-convoluted-foam-el012c-13-3-4x9-1-16x2-5-16>: HTTP status code is not handled or not allowed 2026-01-28 11:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-16-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-4-pair-glove-and-hat-rack-2016-2-1-2l>: HTTP status code is not handled or not allowed 2026-01-28 11:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-16-bushel-vinyl-bumper-truck-all-swivel-casters-black>: HTTP status code is not handled or not allowed 2026-01-28 11:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-16-bushel-vinyl-basket-truck-all-swivel-casters-red>: HTTP status code is not handled or not allowed 2026-01-28 11:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-router-base-mrf01-1-5-8-plunge-depth-3-3-4-base-opening-B1038813>: HTTP status code is not handled or not allowed 2026-01-28 11:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-roof-ventilator-direct-drive-upblast-5ddu13db-1-2-hp-115-230v-1-ph-2411-cfm-odp>: HTTP status code is not handled or not allowed 2026-01-28 11:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-power-sonic-psh1280fr-12v-8ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pf-single-jet-carpet-wand-double-bend-fits-powr-flite-extractors-up-to-500-psi>: HTTP status code is not handled or not allowed 2026-01-28 11:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duk-alta-all-weather-faux-rattan-5-ppl-seat-with-gray-cushions>: HTTP status code is not handled or not allowed 2026-01-28 11:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cha-anesthesia-cart-w-standard-height-key-lock-green>: HTTP status code is not handled or not allowed 2026-01-28 11:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cha-anesthesia-cart-w-intermediate-height-electronic-lock-green>: HTTP status code is not handled or not allowed 2026-01-28 11:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thhn-wire-w-non-metallic-connectors-1-2-x-6>: HTTP status code is not handled or not allowed 2026-01-28 11:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/addvance-6030c-botanical-fluid-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 11:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-series-versatrac-6-5-16height-5-tpr-wheel-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-28 11:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-in-1-electronic-cam-lock-up-to-1-thick-matl-vertical-silver-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97099 pages (at 96 pages/min), scraped 49569 items (at 23 items/min) 2026-01-28 11:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-multipoise-gas-furnace-45000-btu-14-3-16-w>: HTTP status code is not handled or not allowed 2026-01-28 11:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-full-cantilever-jib-crane-500-lb-capacity-12-span>: HTTP status code is not handled or not allowed 2026-01-28 11:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-3-step-tilt-roll-ladder-serrated-grating-hl3nsg>: HTTP status code is not handled or not allowed 2026-01-28 11:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-4-step-tilt-roll-ladder-serrated-grating-hl4nsg>: HTTP status code is not handled or not allowed 2026-01-28 11:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vive-700-series-large-display-heat-pump-thermostat-non-programmable-2h-1c>: HTTP status code is not handled or not allowed 2026-01-28 11:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800071-blk-1-opaque-plastic-hook-50-pack-black>: HTTP status code is not handled or not allowed 2026-01-28 11:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800074-wht-4-opaque-plastic-hook-50-pack-white>: HTTP status code is not handled or not allowed 2026-01-28 11:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/furnace-filter-cabinet-24-1-4-l-x-8-1-4-w-x-24-1-4-h>: HTTP status code is not handled or not allowed 2026-01-28 11:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trigger-sprayer-standard-28mm-capacity-red-white-24-case-gjo85148>: HTTP status code is not handled or not allowed 2026-01-28 11:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/152727-horizontal-double-sided-stand-up-sign-holder-6-x-4-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 11:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-roofing-bucket-kit-50-feet-tb-harness>: HTTP status code is not handled or not allowed 2026-01-28 11:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-arc-flash-construction-harness-w-dielectric-pass-thru-legs-back-hip-d-rings-s>: HTTP status code is not handled or not allowed 2026-01-28 11:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-1-convertible-hand-truck-35080-solid-rubber-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252069-10-pocket-wall-mount-brochure-holder-23-75-x-15-75-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-climbing-construction-harness-w-tongue-buckle-legs-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252304-3-tier-letter-size-countertop-brochure-holder-9-x-14-75-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-anchor-extension-3-feet-l-o-ring-snaphook-1-4-inch-vinyl-coated-cable>: HTTP status code is not handled or not allowed 2026-01-28 11:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515420-acrylic-easel-w-1-25-lip-5-x-4-125-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 11:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/556091-acrylic-greeting-card-holder-for-pegboard-slatwall-16-x-5-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-12-gauge-heavy-duty-60-w-x-24-d-x-66-h-cabinet-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-101l-single-wall-mount-utility-spray-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 11:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700508-clr-revolving-pegboard-countertop-display-unit-8-x-20-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-cross-arm-strap-15-feet-l-web-o-ring-d-ring>: HTTP status code is not handled or not allowed 2026-01-28 11:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-cross-arm-strap-20-feet-l-web-o-ring-d-ring>: HTTP status code is not handled or not allowed 2026-01-28 11:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-182l-royal-series-wall-mount-pot-filler-faucet-24-jointed-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 11:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-148-floor-bar-sink-basket>: HTTP status code is not handled or not allowed 2026-01-28 11:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-606l-royal-series-8-space-saver-pre-rinse-w-faucet-6-spout-deck-mount-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 11:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-181l-space-saver-24-hose>: HTTP status code is not handled or not allowed 2026-01-28 11:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-131l-angled-spray-head-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 11:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-h700-industry-comfort-harness-quick-connect-buckle-back-d-ring-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-480l-self-closing-metering-lavatory-faucet>: HTTP status code is not handled or not allowed 2026-01-28 11:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-extension-cord-for-model-jf-dcs-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-400l-silver-series-4-center-wall-mount-faucet-3-1-2-gooseneck-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 11:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-hinged-guard-and-blade-set-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-microstirrer-magnetic-stirrer-100-240v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-28 11:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-620l-replacement-0-5-gpm-aerator-15-16-male-thread>: HTTP status code is not handled or not allowed 2026-01-28 11:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-overhead-stirrer-60-ncm-advance-115v-60hz>: HTTP status code is not handled or not allowed 2026-01-28 11:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-611l-replacement-2-2-gpm-aerator-for-extended-wok-faucets-55-64-27-female-thread>: HTTP status code is not handled or not allowed 2026-01-28 11:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolution6000-basic-thermal-imaging-camera>: HTTP status code is not handled or not allowed 2026-01-28 11:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-piece-metric-machine-screw-assortment-m3-to-m6-phillips-pan-head-zinc>: HTTP status code is not handled or not allowed 2026-01-28 11:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyn-slope-top-hood-for-locker-12-inch-w-x-18-inch-d-gray-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 11:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700513-clr-two-sided-revolving-pegboard-countertop-display-13-5-x-22-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyn-2-tier-6-doors-locker-36-inch-w-x-12-inch-d-x-78-inch-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 11:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keystock-1-8-x-1-4-x-1-ft-316-stainless-steel-plain-undersize-astm-a484>: HTTP status code is not handled or not allowed 2026-01-28 11:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/703388-blu-4-sided-interlocking-pegboard-display-w-wheels-8-x-40-blue-opaque>: HTTP status code is not handled or not allowed 2026-01-28 11:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-10x12-3-wall-3-lgts-2-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-12x20-4-wall-4-lgt-5-dplx-1-dr-gry>: HTTP status code is not handled or not allowed 2026-01-28 11:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-heavy-duty-super-cover-poly-tarp-mtgb1220-10-mil-greenblack-12l-x-20w>: HTTP status code is not handled or not allowed 2026-01-28 11:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-8x8-3-wall-1-lgt-2-dplx-1-dr-white>: HTTP status code is not handled or not allowed 2026-01-28 11:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-blue-poly-tarp-mt50100-5-mil-50l-x-100w>: HTTP status code is not handled or not allowed 2026-01-28 11:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-xr-cordless-string-trimmer-blower-combo-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi-metal-reciprocating-saw-blade-set-dw4892-12-piece-set-w-telescoping-case>: HTTP status code is not handled or not allowed 2026-01-28 11:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pass-through-cable-non-powered-24-panel>: HTTP status code is not handled or not allowed 2026-01-28 11:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-lab-table-30h-with-chem-res-dual-book-compartment-24-x-48-SLT2448-BC>: HTTP status code is not handled or not allowed 2026-01-28 11:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-m5-inch-pneumatic-random-orbital-sander-non-vacuum-3-32-inch-orbit-12000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-m6-inch-pneumatic-random-orbital-sander-non-vacuum-5-16-inch-orbit-12000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 11:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-green-wire-shelf-42-x-24>: HTTP status code is not handled or not allowed 2026-01-28 11:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-plastic-barrier-chain-3-4-inch-x-25-feet-l-turquoise>: HTTP status code is not handled or not allowed 2026-01-28 11:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edu-m-mobile-ductless-classroom-demonstration-fume-hood-39-5w-x-77-5h-x-28-5d>: HTTP status code is not handled or not allowed 2026-01-28 11:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-workstation-organizer-corrugated-compact-11-1-4l-8w-x-2-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 11:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-open-bin-box-6w-x-12d-x-4-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 11:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-inch-light-duty-stowable-stanchion-kit-w-2-inch-x-50-feet-l-chain-black-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 11:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-storage-container-17-5-8l-x-10-1-2w-x-5-5-8h>: HTTP status code is not handled or not allowed 2026-01-28 11:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-3-inch-heavy-duty-stowable-stanchion-kit-w-2-inch-x-30-feet-l-chain-yellow-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 11:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-lead-insertion-grade-conductive-foam-3-3-8l-x-6-3-4w-x-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 11:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-in-plant-handle-container-w-fixed-dividers-lid-cell-size-3-1-2-x-2-1-4-x-1-3-4>: HTTP status code is not handled or not allowed 2026-01-28 11:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-pak-static-dissipative-foam-inside-18-3-8l-x-14-3-4w-x-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 11:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergohuman-executive-high-back-chair-le9ergn-black-leather-adjustable-arms>: HTTP status code is not handled or not allowed 2026-01-28 11:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-hand-pumps-327870000-polyethylene-for-19-liter-carboy-1-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-test-tube-rack-188550000-polypropylene-10-13mm-72-places-natural>: HTTP status code is not handled or not allowed 2026-01-28 11:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-116271000-ldpe-1000ml-capacity-4-pk-blue-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 11:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-408199939-brk7-polyurethane-with-brake-8dia-1250-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-4081999497-brk4-polyurethane-with-brake-8dia-1250-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-bullet-whiteshell-rust-inhibitive-coating-quart-can-1-wsq>: HTTP status code is not handled or not allowed 2026-01-28 11:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97196 pages (at 97 pages/min), scraped 49592 items (at 23 items/min) 2026-01-28 11:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-bar-table-60-inches-x-60-inches-x-29-inches-with-cherry-top-and-dual-pedestal-black-cross-base>: HTTP status code is not handled or not allowed 2026-01-28 11:33:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/nuts/hex_nuts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-wall-container-12-x-15-x-9-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scented-exercise-putty-banana-yellow-x-light-1-pound>: HTTP status code is not handled or not allowed 2026-01-28 11:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-putty-orange-soft-4-ounce>: HTTP status code is not handled or not allowed 2026-01-28 11:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-exercise-putty-green-medium-5-pound>: HTTP status code is not handled or not allowed 2026-01-28 11:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/salem-traditional-smooth-crown-moulding-mld03x03x04sa-314h-x-314d-x-412f-x-9412l>: HTTP status code is not handled or not allowed 2026-01-28 11:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/containers-and-lids-for-5-pound-putty-10-case>: HTTP status code is not handled or not allowed 2026-01-28 11:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-exercise-putty-black-2-ounce-x-firm>: HTTP status code is not handled or not allowed 2026-01-28 11:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-tool-set-knob-peg-key-and-cap-turn-l-bar-no-bag>: HTTP status code is not handled or not allowed 2026-01-28 11:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk-10-replacement-blade>: HTTP status code is not handled or not allowed 2026-01-28 11:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-wood-locker-33368-triple-tier-3-wide-12w-x-18d-x-24h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 11:34:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/high_density_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-8-stem-casters-pneumatic-set-of-4-w-bumper-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/nuts/hex_nuts>: HTTP status code is not handled or not allowed 2026-01-28 11:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-toolboard-single-sided-perfo-panel-20w-4-panel-add-on>: HTTP status code is not handled or not allowed 2026-01-28 11:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14013059-single-spring-clip-for-perfo-panels-14-diameter-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 11:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/styleview-cart-with-lcd-arm-1-drawer>: HTTP status code is not handled or not allowed 2026-01-28 11:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gel-hand-exercise-ball-large-cylindrical-blue-firm>: HTTP status code is not handled or not allowed 2026-01-28 11:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-band-hand-exerciser-additional-latex-free-bands-only-yellow-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exerciser-5-piece-set-large>: HTTP status code is not handled or not allowed 2026-01-28 11:34:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/storage_panels/louvered_panels_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exercise-web-latex-free-7-diameter-green-moderate>: HTTP status code is not handled or not allowed 2026-01-28 11:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-soft-green>: HTTP status code is not handled or not allowed 2026-01-28 11:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-conditioning-disc-3-inch-dia-ts-alum-oxide-crs-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/wire_shelving/high_density_shelving>: HTTP status code is not handled or not allowed 2026-01-28 11:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/se-surface-conditioning-disc-2-inch-dia-tr-alum-oxide-med-grit>: HTTP status code is not handled or not allowed 2026-01-28 11:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-exercise-jump-ball-yellow-16-40-cm>: HTTP status code is not handled or not allowed 2026-01-28 11:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-25-9-outlet-aluminum-power-strip-with-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 11:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pure-420s-14-strip-cut-shredder-24-sheets-92-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-ton-cap-aluminum-gantry-crane-10-ft-span-adj-height-10-3-min-12-9-max>: HTTP status code is not handled or not allowed 2026-01-28 11:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-ton-cap-aluminum-gantry-crane-8-ft-span-adj-height-6-11-min-9-5-max>: HTTP status code is not handled or not allowed 2026-01-28 11:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/storage_panels/louvered_panels_accessories>: HTTP status code is not handled or not allowed 2026-01-28 11:34:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-air-festoon-trolley-for-600-700-and-900-series-track>: HTTP status code is not handled or not allowed 2026-01-28 11:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-isolation-mounts-cylindrical-type-1-25-151-max-load>: HTTP status code is not handled or not allowed 2026-01-28 11:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-non-electric-office-partition-panel-with-raceway-24-1-4w-x-47-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-wire-rope-hoist-500-lbs>: HTTP status code is not handled or not allowed 2026-01-28 11:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7551d-dura-polyurethane-chair-aluminum-base-mushroom-glides-black>: HTTP status code is not handled or not allowed 2026-01-28 11:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9351m-e-f-blk-integra-esd-fabric-upholstered-chair-medium-back-aluminum-base-black>: HTTP status code is not handled or not allowed 2026-01-28 11:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-high-bay-150w-16000-lumens-4000k-light-engine-only>: HTTP status code is not handled or not allowed 2026-01-28 11:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-stage-with-carpet-96l-x-48w-x-16h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-x-3-4-security-cap-screw-flat-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:34:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/physical_therapy/exercise_fitness_equipment/resistance_devices landed on page that is not a product page. 2026-01-28 11:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-1-3-4-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 11:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-polyester-felt-7-3-50-dia-x-32-l-25-micron-plastic-sure-seal-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 11:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-1-2-security-sheet-metal-screw-flat-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-2-1-2-spanner-machine-screw-flat-head-18-8-stainless-steel-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 11:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-12-balldriver-power-bits-5-64-1-2-10836>: HTTP status code is not handled or not allowed 2026-01-28 11:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-1-4-security-machine-screw-flat-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polypropylene-felt-4-1-8-d-x-14-l-5-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 11:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-10-graduated-length-hex-t-handles-3-32-3-8-with-stand-13390>: HTTP status code is not handled or not allowed 2026-01-28 11:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-activity-table-48w-x-48l-x-24-31h-classic-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-tamperproof-hex-key>: HTTP status code is not handled or not allowed 2026-01-28 11:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4mm-prohold-balldriver-t-handle-75160>: HTTP status code is not handled or not allowed 2026-01-28 11:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-1-1-4-security-machine-screw-flat-phillips-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-7-8-x-41-7-8-x-17-1-2-rack-bin-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-1-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 11:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24-x-1-1-2-security-machine-screw-pan-phillips-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-window-48-1-4w-x-43-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-high-chair-22-3-8-inch-w-x-22-3-8-inch-d-x-29-3-8-inch-h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 11:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-cable-de-icer-120-ft-120v-7-watts-per-foot>: HTTP status code is not handled or not allowed 2026-01-28 11:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-pass-thru-cable-36-1-4w-x-46h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-25mm-spanner-machine-screw-pan-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-c-warm-oak-60-credenza>: HTTP status code is not handled or not allowed 2026-01-28 11:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conference-tables-beech-racetrack-conference-table>: HTTP status code is not handled or not allowed 2026-01-28 11:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shorty-forklift-jib-boom-crane-6000-lb-capacity-24in-fork-centers>: HTTP status code is not handled or not allowed 2026-01-28 11:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelf-level-42w-x-18d-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-36w-x-24d-x-14h-1-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-24w-x-14d-x-14h-1-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-elbow-metal-release-collet-12mm-tube-x-1-4-male-bspt>: HTTP status code is not handled or not allowed 2026-01-28 11:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p70ca-61-single-pole-low-pressure-control-for-ammonia>: HTTP status code is not handled or not allowed 2026-01-28 11:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-48w-x-18d-x-14h-1-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-degree-swivel-elbow-5-16-tube-x-3-8>: HTTP status code is not handled or not allowed 2026-01-28 11:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-uz-964-complete-hose>: HTTP status code is not handled or not allowed 2026-01-28 11:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-60w-x-24d-x-54h-3-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-54w-x-24d-x-54h-3-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97287 pages (at 91 pages/min), scraped 49610 items (at 18 items/min) 2026-01-28 11:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-30w-x-18d-x-63h-4-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-48w-x-18d-x-63h-4-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6n16p05b-set-screw-w-flat-ball-m6-x-10-thread-16mm-thread-length>: HTTP status code is not handled or not allowed 2026-01-28 11:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sorb44-oil-removal-filter-sock-9feet>: HTTP status code is not handled or not allowed 2026-01-28 11:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-guard-oil-and-sediment-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a320-male-connector-with-50mm-pin-contacts>: HTTP status code is not handled or not allowed 2026-01-28 11:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-42w-x-14d-x-63h-4-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a160-male-housing-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a320-male-connector-w-50mm-pin-contacts-4-aux-handle>: HTTP status code is not handled or not allowed 2026-01-28 11:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189219gz-42w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 11:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-96-x-30-adj-height-workbench-w-drawer-riser-gray-maple-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 11:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multifold-paper-towels-9-13-x-9-5-189-towels-pack-16-packs-case>: HTTP status code is not handled or not allowed 2026-01-28 11:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthcare-healthy-soap-high-performance-foam-1200-ml-2-refills-case>: HTTP status code is not handled or not allowed 2026-01-28 11:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wall-style-specimen-trans-bag-prnt-bio-12w-15l>: HTTP status code is not handled or not allowed 2026-01-28 11:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-189364gz-24w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 11:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-plastic-step-stand-large-yellow-37-w-x-37-d-x-14-h-nbst-1-yel>: HTTP status code is not handled or not allowed 2026-01-28 11:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189207gz-72w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 11:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-2-piece-tall-cabinet-set-silver>: HTTP status code is not handled or not allowed 2026-01-28 11:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-set-for-stacking-two-platforms-maxq-30100-and-30110-platforms-only>: HTTP status code is not handled or not allowed 2026-01-28 11:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purell-hand-sanitizer-refill-gel-ltx-advanced-green-certified-1200ml-2-refills-case-1903-02>: HTTP status code is not handled or not allowed 2026-01-28 11:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-96-h-add-on-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-120-h-add-on-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scientific-calculator-ti30xsmv-4-line-display-3-1-5-x-7-1-4-x-3-4-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-shelves-galvanized-3-x-16-2-pc>: HTTP status code is not handled or not allowed 2026-01-28 11:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-platform-kit-4-x-36-x-36>: HTTP status code is not handled or not allowed 2026-01-28 11:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/125ml-erlenmeyer-flask-clamp-30153-for-use-with-maxq-shaker-platforms>: HTTP status code is not handled or not allowed 2026-01-28 11:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-24-d-x-84-h-add-on-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-heater-for-compact-dry-bath-block-heater-12-x-0-5-ml-tubes-1-4-block>: HTTP status code is not handled or not allowed 2026-01-28 11:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-platform-kit-4-x-18-x-36>: HTTP status code is not handled or not allowed 2026-01-28 11:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tier-revolving-shoe-tree-chrome-powder-coated-steel-18-pair-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-800-series-wardrobe-cabinet-36w-x-18d-x-78h-729-parchment-single-tier-knockdown>: HTTP status code is not handled or not allowed 2026-01-28 11:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-platform-kit-8-x-18-x-18>: HTTP status code is not handled or not allowed 2026-01-28 11:35:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1l-erlenmeyer-flask-clamp-30157bi-for-use-with-maxq-shaker-platforms>: HTTP status code is not handled or not allowed 2026-01-28 11:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-12-w-x-15-d-x-78-h-729-parchment-double-tier-1-wide-knock-down>: HTTP status code is not handled or not allowed 2026-01-28 11:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13988-seesnake-plus-self-leveling-color-reel-200>: HTTP status code is not handled or not allowed 2026-01-28 11:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-48-w-x-24-d-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-24-d-x-72-h-add-on-3-shelf-levels-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-216-modular-racetrack-conference-table-with-2-power-data-grommets-ash-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-36-w-x-12-d-x-78-h-725-hallowell-gray-triple-tier-3-wide-knock-down>: HTTP status code is not handled or not allowed 2026-01-28 11:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/westcott-15586-kleenearth-basic-plastic-handle-scissors-9-length-pointed-black>: HTTP status code is not handled or not allowed 2026-01-28 11:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-72-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1832-waste-drain-flange-assembly-for-3-1-2-inch-sink-opening>: HTTP status code is not handled or not allowed 2026-01-28 11:35:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1231199-hinge-pivot-1-5-8-inch-proj-cp-for-standard-keil>: HTTP status code is not handled or not allowed 2026-01-28 11:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 11:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1791002-foot-m-r21ht-for-sharp>: HTTP status code is not handled or not allowed 2026-01-28 11:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-72-h-add-on-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crayola-543132053-artista-ii-washable-tempera-paint-white-32-oz>: HTTP status code is not handled or not allowed 2026-01-28 11:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-72-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1751132-bolt-mounting-stud-bskt-hngr-for-magikitchen-products>: HTTP status code is not handled or not allowed 2026-01-28 11:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-72-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06-0100-30isw-welding-helmet-9100-with-auto-darkening-filter-1-case>: HTTP status code is not handled or not allowed 2026-01-28 11:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014438-grate-bar-pk-12-8-3-8-long-9-16-dia-for-emberglo-midco>: HTTP status code is not handled or not allowed 2026-01-28 11:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 11:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roval-surface-mounted-shelf-6-x-48>: HTTP status code is not handled or not allowed 2026-01-28 11:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-off-dmhj-antistatic-monitor-wipes-office-share-pack-5-x-6-200-individual-foil-packets>: HTTP status code is not handled or not allowed 2026-01-28 11:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-6-step-24-alum-rolling-ladder-10-top-step-spring-load-a6sh30>: HTTP status code is not handled or not allowed 2026-01-28 11:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42wx24d-reversible-return-mocha>: HTTP status code is not handled or not allowed 2026-01-28 11:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rippled-hot-cups-12-oz-500-ct-brown-gjo11260ct>: HTTP status code is not handled or not allowed 2026-01-28 11:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-36-d-x-72-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-120-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2801845-bowl-mixing-8-qt-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-electronic-lock-pistol-box-small>: HTTP status code is not handled or not allowed 2026-01-28 11:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-8-gun-double-door-steel-security-cabinet-black>: HTTP status code is not handled or not allowed 2026-01-28 11:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-spring-loaded-swivel-grab-skidding-tongs-tmw-28ss-28-hook-opening>: HTTP status code is not handled or not allowed 2026-01-28 11:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-75-Open-folio-storage-cherry>: HTTP status code is not handled or not allowed 2026-01-28 11:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010996-heating-element-200v-15kw-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 11:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-96-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22624008n-flexible-conveyor-poly-skate-wheels-nylon-bushings-226-lb-per-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-72-h-starter-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010827-relay-solid-state-for-middleby>: HTTP status code is not handled or not allowed 2026-01-28 11:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imh180-s-ss-advanced-protocol-security-incubator-6-3-cu-ft-120v>: HTTP status code is not handled or not allowed 2026-01-28 11:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indiana-state-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-28 11:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pharmacy-vaccine-refrigerator-double-swing-solid-doors-36-cu-ft-ph-abt-s36s>: HTTP status code is not handled or not allowed 2026-01-28 11:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-84-h-add-on-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-24-d-x-72-h-starter-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-pharmacy-vaccine-refrigerator-and-freezer-combination-1-glass-and-1-solid-door-9-cu-ft-ph-abt-hc-rfc9g>: HTTP status code is not handled or not allowed 2026-01-28 11:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6ft-usb-20-usb-c-to-usb-a-cable-mm-black>: HTTP status code is not handled or not allowed 2026-01-28 11:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-11-drawer-162-compart-classic-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 11:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet-8-drawers-129-compart-light-gray-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 11:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97380 pages (at 93 pages/min), scraped 49624 items (at 14 items/min) 2026-01-28 11:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1761482-mixer-drink-single-m-hmd200-for-hamilton-beach>: HTTP status code is not handled or not allowed 2026-01-28 11:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smths6-6-hand-seamer-1891184>: HTTP status code is not handled or not allowed 2026-01-28 11:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hsm7pc-3-shaft-magnetic-nut-drivers-1839065-7-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 11:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ntep-pallet-scale-60-x-60-5000-lb-x-1-lb>: HTTP status code is not handled or not allowed 2026-01-28 11:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263672-ferrule-brass-3-16-inch-20-pkg>: HTTP status code is not handled or not allowed 2026-01-28 11:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crepe-paper-masking-tape-cp631-48mmx55m-red>: HTTP status code is not handled or not allowed 2026-01-28 11:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aleve-82909533-pain-reliever-tablets-1-per-pack-50-packsbox>: HTTP status code is not handled or not allowed 2026-01-28 11:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-12-ton-bottle-jack-18124c>: HTTP status code is not handled or not allowed 2026-01-28 11:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-heavy-duty-jack-stands-10-ton-pair-32105b>: HTTP status code is not handled or not allowed 2026-01-28 11:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-only-rc-613-deluxe-personal-safety-emergency-pack-31-pieces-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 11:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3685-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-sjoow-control-cable-220101-500-16-3-gauge-500-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1021110-strainer-drain-7-3-4x2-inch-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-9-drawer-120-compart-bright-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-28 11:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-battery-cable-200103-025-4-gauge-25-ft-roll>: HTTP status code is not handled or not allowed 2026-01-28 11:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-drawer-cabinet-6-drawer-74-compart-bright-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 11:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-pre-cut-exercise-band-yellow-48-l-strip-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-exercise-tubing-gold-100-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 11:36:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-nylon-solderless-ring-double-crimp-nylon-163106-100-12-10-gauge-100-pcs>: HTTP status code is not handled or not allowed 2026-01-28 11:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-dual-post-insulator-terminal-protectors-5712-005r-5-pcs>: HTTP status code is not handled or not allowed 2026-01-28 11:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-tubing-with-handles-silver-18>: HTTP status code is not handled or not allowed 2026-01-28 11:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-drawer-slide-rack-for-large-compartment-storage-boxes>: HTTP status code is not handled or not allowed 2026-01-28 11:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wellness-check-booth-6-x6-satin-anodized-aluminum-exterior-preassembled>: HTTP status code is not handled or not allowed 2026-01-28 11:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1191011-leg-3-8-16-2-1-2-inch-h-plst-blk-for-standard-keil>: HTTP status code is not handled or not allowed 2026-01-28 11:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-2-compartment-wardrobe-storage-cabinet-solid-door-folkstone-color12>: HTTP status code is not handled or not allowed 2026-01-28 11:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/connect-it-barricade-connector-for-movit-174-minit-153-barricades-black>: HTTP status code is not handled or not allowed 2026-01-28 11:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbon-steel-pickup-truck-dump-insert-for-8-foot-bed-5531001>: HTTP status code is not handled or not allowed 2026-01-28 11:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8001087-125-130v-e14-light-bulb-for-alto-shaam>: HTTP status code is not handled or not allowed 2026-01-28 11:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardian-solderless-ring-164102-100-22-18-gauge-100-pcs>: HTTP status code is not handled or not allowed 2026-01-28 11:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-amp-sealed-std-blade-fuse-holder-509621-2001-12-gauge>: HTTP status code is not handled or not allowed 2026-01-28 11:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors>: HTTP status code is not handled or not allowed 2026-01-28 11:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/168393-push-block-guide-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 11:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77516-10-foam-blade-squeegee-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-3352-8-medium-base-one-piece-keyless-incandescent-lampholder>: HTTP status code is not handled or not allowed 2026-01-28 11:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-band-silver-6-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 11:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-exercise-band-black-50-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 11:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901207-motor-whipper-120v-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 11:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-rehab-and-wellness-station>: HTTP status code is not handled or not allowed 2026-01-28 11:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2941059-screw-hold-open-8-32x3-16-inch-for-anthony-international-california>: HTTP status code is not handled or not allowed 2026-01-28 11:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010610-fuse-35a-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 11:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sm-7000-p-bn-pressure-balance-valve-trim>: HTTP status code is not handled or not allowed 2026-01-28 11:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s70-water-based-epoxy-acrylic-primer-1-gallon-can-flat-white-pastel>: HTTP status code is not handled or not allowed 2026-01-28 11:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huot-supertower-hsk-63a-cnc-holders>: HTTP status code is not handled or not allowed 2026-01-28 11:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huot-drill-dispenser-silver-deming-33-64-63-64>: HTTP status code is not handled or not allowed 2026-01-28 11:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-155-neo-shower-elbows>: HTTP status code is not handled or not allowed 2026-01-28 11:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huot-end-mill-dispenser-original>: HTTP status code is not handled or not allowed 2026-01-28 11:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261788-burner-jet9-16-brass>: HTTP status code is not handled or not allowed 2026-01-28 11:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-kit-70551-10-person>: HTTP status code is not handled or not allowed 2026-01-28 11:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1079-female-quick-disconnect-7-64-inch-tab-wire-gauge-18-22-100-box>: HTTP status code is not handled or not allowed 2026-01-28 11:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barnstead-ultrapure-oxygen-and-organic-removal-cartridge-d8811-full-size-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1761092-bushing-strain-relief-for-hamilton-beach>: HTTP status code is not handled or not allowed 2026-01-28 11:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-24>: HTTP status code is not handled or not allowed 2026-01-28 11:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comstar-174-rs-44b-refrigerant-drop-replacement-r22>: HTTP status code is not handled or not allowed 2026-01-28 11:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stikit-film-disc-375l-375l-5-inch-x-nh-aluminum-oxide-p1200>: HTTP status code is not handled or not allowed 2026-01-28 11:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eye-face-wash-double-bottle-station-two-32-oz>: HTTP status code is not handled or not allowed 2026-01-28 11:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eges2480st-24hp-two-stage-compressor-80-gal-horiz-175-psi-honda-engine-electric-start>: HTTP status code is not handled or not allowed 2026-01-28 11:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eatos60s1p-industrial-6-random-orbital-air-sander-with-vacuum-6-cfm-14-inlet>: HTTP status code is not handled or not allowed 2026-01-28 11:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-42w-x-18d-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-conturaseries-recessed-sanitary-disposal>: HTTP status code is not handled or not allowed 2026-01-28 11:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hw-pro-1000-non-progammable-vertical-thermostat-heat-only-th1100dv1000>: HTTP status code is not handled or not allowed 2026-01-28 11:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70133-paddle-scraper-flexible-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-1-2-machine-screw-pan-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-linermate-b-3944-134>: HTTP status code is not handled or not allowed 2026-01-28 11:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/221293-knob-2-1-2-d-off-on-for-comstock-castle>: HTTP status code is not handled or not allowed 2026-01-28 11:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-18w-x-12d-white>: HTTP status code is not handled or not allowed 2026-01-28 11:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-concrete-installation-black-cover-yellow-tapes>: HTTP status code is not handled or not allowed 2026-01-28 11:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53793-216-2-0-tube-brush-medium-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261065-hex-nut-bx-100-6-32-hx-ms-nut-18-8-ss>: HTTP status code is not handled or not allowed 2026-01-28 11:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12130-vertical-acting-toggle-clamp-jw-12132-flanged-base-sheet-metal-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681388-pump-motor-assembly-for-magikitchen-products>: HTTP status code is not handled or not allowed 2026-01-28 11:36:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12050-vertical-acting-toggle-clamp-jw-12050-sheet-metal-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-vandal-resistant-double-tissue-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 11:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-2-machine-screw-round-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-flexible-expandable-conveyor-nylon-skate-wheels-175-lbs-per-foot-2>: HTTP status code is not handled or not allowed 2026-01-28 11:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-concrete-installation-white-cover-blue-tapes>: HTTP status code is not handled or not allowed 2026-01-28 11:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swing-stick-extension-18-w-portable-flexible-expandable-conveyor>: HTTP status code is not handled or not allowed 2026-01-28 11:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-inch-full-comp-hex-hole-dbl-sealed-1-1-4-od-3-4w-1-2-20-thr>: HTTP status code is not handled or not allowed 2026-01-28 11:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-asphalt-installation-yellow-cover-black-tapes>: HTTP status code is not handled or not allowed 2026-01-28 11:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97476 pages (at 96 pages/min), scraped 49642 items (at 18 items/min) 2026-01-28 11:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-mini-microfeather-duster-assorted-colors-mfd11>: HTTP status code is not handled or not allowed 2026-01-28 11:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/echofiber-microfiber-loop-mop-medium-blue-mwtm-b>: HTTP status code is not handled or not allowed 2026-01-28 11:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/echofiber-microfiber-loop-mop-medium-green-mwtm-g>: HTTP status code is not handled or not allowed 2026-01-28 11:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deck-mop-rayon-2724-size-24>: HTTP status code is not handled or not allowed 2026-01-28 11:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-36-phenolic-locker-bench-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/95-x-36-solid-plastic-locker-bench-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221441-actuator-cup-for-waring-products>: HTTP status code is not handled or not allowed 2026-01-28 11:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelf-truck-36x24x80-1200-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-48w-x-18d-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29344-6-mini-handle-red>: HTTP status code is not handled or not allowed 2026-01-28 11:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-computer-cabinet-26-x-24-x-37>: HTTP status code is not handled or not allowed 2026-01-28 11:37:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 11:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polyester-filter-16-w-x-18-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-28 11:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44-h-x-48-w-so-nylon-column-protector-black-cover-white-tapes>: HTTP status code is not handled or not allowed 2026-01-28 11:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-61110-rl6-extreme-6-quickport-connector-cat-6-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010196-gasket-941-drawer>: HTTP status code is not handled or not allowed 2026-01-28 11:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welder-starter-kit-blackgray>: HTTP status code is not handled or not allowed 2026-01-28 11:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-2-sjoow-black-250-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-3-sjoow-black-250-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-48x24x80-1200-pound-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 11:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-72w-x-30d-black>: HTTP status code is not handled or not allowed 2026-01-28 11:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-dock-door-safety-strap>: HTTP status code is not handled or not allowed 2026-01-28 11:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-disposable-recycling-center-corrugated-plastic>: HTTP status code is not handled or not allowed 2026-01-28 11:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cortech-usa-vm1115-mirror-11-x-15-ventura-pkg-qty-1>: HTTP status code is not handled or not allowed 2026-01-28 11:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duct-access-door-with-no-hinge-8-x-8>: HTTP status code is not handled or not allowed 2026-01-28 11:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1201189-brake-kit-f-35-inch-caster-w-hdwr>: HTTP status code is not handled or not allowed 2026-01-28 11:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341044-toaster-element-115v-325w-for-middleby>: HTTP status code is not handled or not allowed 2026-01-28 11:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-access-door-walls-ceilings-12-x-12>: HTTP status code is not handled or not allowed 2026-01-28 11:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-ss-2-door-locking-cabinet-w-drawers60-x-24-x-7816-drawers>: HTTP status code is not handled or not allowed 2026-01-28 11:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-production-workbench-birch-butcher-block-square-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium46-46-47-collapsible-inside-46l-x-46w-x-47>: HTTP status code is not handled or not allowed 2026-01-28 11:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walnut-top-folding-table-36-x-96>: HTTP status code is not handled or not allowed 2026-01-28 11:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-double-door-independent-locking-cabinet-72-x-24-x-78>: HTTP status code is not handled or not allowed 2026-01-28 11:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-coupler-2-12l-x-4-14w-x-3h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/access-door-with-drywall-taping-bead-16-x-16>: HTTP status code is not handled or not allowed 2026-01-28 11:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breakfast-blend-coffee-24-pods>: HTTP status code is not handled or not allowed 2026-01-28 11:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wardrobe-cabinet-66-x-24-x-66>: HTTP status code is not handled or not allowed 2026-01-28 11:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38852-round-hand-brush-stiff-green>: HTTP status code is not handled or not allowed 2026-01-28 11:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wardrobe-cabinet-66-x-24-x-78>: HTTP status code is not handled or not allowed 2026-01-28 11:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wardrobe-cabinet-78-x-24-x-78>: HTTP status code is not handled or not allowed 2026-01-28 11:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-shop-desk-with-pegboard-riser>: HTTP status code is not handled or not allowed 2026-01-28 11:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carson-optical-jd-025-scoutplus-binoculars>: HTTP status code is not handled or not allowed 2026-01-28 11:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-plastic-hand-basket-43-liter-black>: HTTP status code is not handled or not allowed 2026-01-28 11:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241083-shield-blade-easy-tomato-slcr-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 11:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69611-3-scraper-pink>: HTTP status code is not handled or not allowed 2026-01-28 11:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6960md4-8-metal-detectable-bench-scraper-red>: HTTP status code is not handled or not allowed 2026-01-28 11:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-table-with-4-backsplash-36-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 11:37:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/evaporative_cooler_accessories/media_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bott-plier-hooks-for-perfo-panels-package-of-5-3-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 11:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-post-polished-chrome-universal-base>: HTTP status code is not handled or not allowed 2026-01-28 11:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pan-pills-120-count>: HTTP status code is not handled or not allowed 2026-01-28 11:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dumbbell-floor-rack-holds-20-dumbbells-20l-x-20w-x-28h>: HTTP status code is not handled or not allowed 2026-01-28 11:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propylene-glycol-food-quality-55-gallons>: HTTP status code is not handled or not allowed 2026-01-28 11:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-security-cage-60x24x60>: HTTP status code is not handled or not allowed 2026-01-28 11:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-unit-black-chrome-30-black-yellow-belt>: HTTP status code is not handled or not allowed 2026-01-28 11:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freeze-free-polar-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 11:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-weight-6-lb-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-tropez-entree-dome-high-temp-9-1-2d-12-cs-dark-blue-dx9400b50>: HTTP status code is not handled or not allowed 2026-01-28 11:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-add-on-120inw-x-42ind-x-96inh-5630-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-ball-rack-for-weighted-balls-holds-6-balls-18l-x-6w-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 11:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-weather-adirondack-chair-sea-foam-faux-wood>: HTTP status code is not handled or not allowed 2026-01-28 11:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/evaporative_coolers_swamp_coolers/evaporative_cooler_accessories/media_pads>: HTTP status code is not handled or not allowed 2026-01-28 11:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-weight-bar-5-lb-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-folding-chair-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/isolation-gown-level-2-rear-entry>: HTTP status code is not handled or not allowed 2026-01-28 11:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-outdoor-quartz-electric-infrared-heater-och-57-208ve-208v-3000w-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-sectional-stackbin-unit-37-w-8-d-x-4-1-2-h-gray-8-compartments>: HTTP status code is not handled or not allowed 2026-01-28 11:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-quart-saute-pan-black-handle>: HTTP status code is not handled or not allowed 2026-01-28 11:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdc04012-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rl-mis-mechanical-baby-scale-with-lb-kg-beam-built-in-measuring-tape-135-lb-x-1-oz>: HTTP status code is not handled or not allowed 2026-01-28 11:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-garment-floor-rack-with-24-hangers>: HTTP status code is not handled or not allowed 2026-01-28 11:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-adult-ankle-weight-10-lb-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdc04030-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2621015-insert-caster-f-7-16-inch-stem-for-rubbermaid>: HTTP status code is not handled or not allowed 2026-01-28 11:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031014-cable-converter-u21-to-u25-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 11:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264433-superlevel-glide-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 11:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261405-male-connector1-4-inch-mpt-x-7-16-inch-cc>: HTTP status code is not handled or not allowed 2026-01-28 11:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/positioning-wedge-blue-22l-x-20w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 11:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/positioning-wedge-blue-22l-x-20w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 11:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/positioning-wedge-blue-22l-x-20w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 11:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-stretch-strap-blue-black>: HTTP status code is not handled or not allowed 2026-01-28 11:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ladle-6-oz-1>: HTTP status code is not handled or not allowed 2026-01-28 11:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263777-ferrule-breakaway-1-4-inch-15-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-maker-flake-style-water-cooled-self-contained-condenser-approx-1137-lb-production>: HTTP status code is not handled or not allowed 2026-01-28 11:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porta-shield-vinyl-divider-8-foot-w-x-6-half-foot-h-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97575 pages (at 99 pages/min), scraped 49657 items (at 15 items/min) 2026-01-28 11:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-bar-mount-bracket-for-2-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-piece-measuring-cup-set>: HTTP status code is not handled or not allowed 2026-01-28 11:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-ball-elbow-side-outlet-for-1-tubing-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 11:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmj03008-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-safety-coverall-2xl-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-weight-bar-3-lb-black-2-each>: HTTP status code is not handled or not allowed 2026-01-28 11:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-stacking-bin-184818>: HTTP status code is not handled or not allowed 2026-01-28 11:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-ball-tee-for-2-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-wrist-and-ankle-weight-20-lb-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-6-5-8-w-x-17-7-8-d-x-4-h-red-1>: HTTP status code is not handled or not allowed 2026-01-28 11:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/size-30-squeeze-disher-1-25-oz>: HTTP status code is not handled or not allowed 2026-01-28 11:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cnc02020-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ckc06010-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-8-3-8-w-x-11-5-8-d-x-4-h-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 11:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-in-head-assembly-7185-cfm>: HTTP status code is not handled or not allowed 2026-01-28 11:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-5-inch-1-piece-utility-tong-4>: HTTP status code is not handled or not allowed 2026-01-28 11:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cjc06018-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-lid-for-nesting-box-11-3-4l-x-8-3-4w>: HTTP status code is not handled or not allowed 2026-01-28 11:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cjc06050-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 11:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-flush-cross-fitting-for-2-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-shaped-adaptor-bar>: HTTP status code is not handled or not allowed 2026-01-28 11:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-42l-x-24w-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-on-ripstop-safety-rain-pants-csa-class-3-level-2-xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 11:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/servewell-double-deck-overshelf-2>: HTTP status code is not handled or not allowed 2026-01-28 11:38:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/safety_railings_fittings/architectural_railing_components already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harloff-value-line-punch-card-medication-cart-360-card-capacity-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-60l-x-18w-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15170-parapet-clamp>: HTTP status code is not handled or not allowed 2026-01-28 11:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-36l-x-21w-x-69h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-t-bar-dome-mirrors-2-2>: HTTP status code is not handled or not allowed 2026-01-28 11:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vapor-safety-eyewear-clear-metallic-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-top-tab-classification-folders-two-dividers-six-sections-blue-10box>: HTTP status code is not handled or not allowed 2026-01-28 11:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-h-workbench-uprights-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341306-warmer-element-240v-1650w>: HTTP status code is not handled or not allowed 2026-01-28 11:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-wire-hasp-one-piece-padlock-seal-blue-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-11-drawer-machinist-brown-2>: HTTP status code is not handled or not allowed 2026-01-28 11:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/safety_railings_fittings/architectural_railing_components>: HTTP status code is not handled or not allowed 2026-01-28 11:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-5-drawer-mechanic-bearing-red-1>: HTTP status code is not handled or not allowed 2026-01-28 11:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011242-relay-kit-for-carter-hoffmann>: HTTP status code is not handled or not allowed 2026-01-28 11:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/performance-spray-gun-whip-pin-26834-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 11:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-blind-rivet-3-16-x-6-12-large-flange-head-up-to-3-4-grip-aluminum-aluminum-pkg-of-250>: HTTP status code is not handled or not allowed 2026-01-28 11:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oz-electric-chain-hoist-2000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powermatic1791212>: HTTP status code is not handled or not allowed 2026-01-28 11:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011825-lever-handle-new-style-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 11:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-hanging-box-bottom-file-pockets-11-point-stock-letter-standard-green-10box>: HTTP status code is not handled or not allowed 2026-01-28 11:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-twill-safety-cargo-utility-pants-32l-inseam-x-36-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 11:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-30-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 11:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-36-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 11:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-safety-rain-jacket-csa-class-2-level-2-xl-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton-44324>: HTTP status code is not handled or not allowed 2026-01-28 11:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011019-lamp-coated-halogen-120v-150w-soft-white>: HTTP status code is not handled or not allowed 2026-01-28 11:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009608-capacitor-for-aaon-condmotor>: HTTP status code is not handled or not allowed 2026-01-28 11:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-cords-lime-green-white-14-004-grnwhi>: HTTP status code is not handled or not allowed 2026-01-28 11:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pro-color-coded-water-aerobic-belt-multi-colored-size-xs-14-013-multi-xs>: HTTP status code is not handled or not allowed 2026-01-28 11:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barr8-br-wh-crowdmaster-1000-barricade-100-by-43-bridge-feet-white>: HTTP status code is not handled or not allowed 2026-01-28 11:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viseaccessories-wilton14828>: HTTP status code is not handled or not allowed 2026-01-28 11:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-5-14-expansion-file-pockets-straight-legal-redropemanila-10box>: HTTP status code is not handled or not allowed 2026-01-28 11:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viseaccessories-wilton14834>: HTTP status code is not handled or not allowed 2026-01-28 11:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-30-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 11:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-industrial-single-outlet-14-3-35>: HTTP status code is not handled or not allowed 2026-01-28 11:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-low-pressure-air-water-50-3>: HTTP status code is not handled or not allowed 2026-01-28 11:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-24-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 11:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263169-basket-insert>: HTTP status code is not handled or not allowed 2026-01-28 11:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marine-34-rescue-can-10-221>: HTTP status code is not handled or not allowed 2026-01-28 11:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-3-12-accordion-expansion-straight-tab-file-pockets-wtyvek-lgl-manila-10bx>: HTTP status code is not handled or not allowed 2026-01-28 11:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fanny-pack-with-screenprint-guard-red-10-103-red>: HTTP status code is not handled or not allowed 2026-01-28 11:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-2-accordion-expansion-wallet-elastic-cord-lgl-bluegreenredyellow-50box>: HTTP status code is not handled or not allowed 2026-01-28 11:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281307-wheel4-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:38:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/classification_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cpr-mask-in-red-pouch-10-517>: HTTP status code is not handled or not allowed 2026-01-28 11:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-rescue-tube-with-plastic-clips-red-10-202-red>: HTTP status code is not handled or not allowed 2026-01-28 11:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-manila-end-tab-classification-folder-1-divider-straight-cut-tab-50bx>: HTTP status code is not handled or not allowed 2026-01-28 11:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vises-wilton12800>: HTTP status code is not handled or not allowed 2026-01-28 11:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-1000mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 11:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-hargrave-20307>: HTTP status code is not handled or not allowed 2026-01-28 11:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-fleece-lined-safety-jacket-mt-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquarad-rain-coat-m-25-mil-tpu-200d-nylon-yellow-rj33-nsyy-m>: HTTP status code is not handled or not allowed 2026-01-28 11:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-60-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 11:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-72-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 11:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-insulated-quilted-jacket-m-black>: HTTP status code is not handled or not allowed 2026-01-28 11:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/classification_folders>: HTTP status code is not handled or not allowed 2026-01-28 11:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-150mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 11:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-with-6-lb-citrus-paraffin-100-liners-1-mitt-and-1-bootie>: HTTP status code is not handled or not allowed 2026-01-28 11:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-add-on-60-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 11:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-6-lb-beads-in-bag-peach-fragrance>: HTTP status code is not handled or not allowed 2026-01-28 11:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97674 pages (at 99 pages/min), scraped 49673 items (at 16 items/min) 2026-01-28 11:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-set-carpet-96l-x-36w-8h-16h-24h-two-guard-rails-red>: HTTP status code is not handled or not allowed 2026-01-28 11:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-surveyor-safety-vest-snap-s-orange-sv59-2zod-s>: HTTP status code is not handled or not allowed 2026-01-28 11:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1990-brass-hex-head-plug-3-8-inch-mpt>: HTTP status code is not handled or not allowed 2026-01-28 11:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-add-on-48-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 11:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chicago-pneumatic-3-8-heavy-duty-air-ratchet-cp828-150-rpm-3-8-hose-id>: HTTP status code is not handled or not allowed 2026-01-28 11:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-pie-unit-carpet-48w-x-16h-stage-units-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-foot-mount-small-cs-40-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 11:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-75mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 11:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotissi-glove-17-heat-liquid-resistant>: HTTP status code is not handled or not allowed 2026-01-28 11:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-use-presentation-cart>: HTTP status code is not handled or not allowed 2026-01-28 11:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-engineer-vest-orange-l-sv55-2zod-l>: HTTP status code is not handled or not allowed 2026-01-28 11:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-poly-oxford-3-in-1-waterproof-parka-jacket-l-black>: HTTP status code is not handled or not allowed 2026-01-28 11:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-connector-60000-08-06-12-tube-x-38-swift-fit-univ-thread-ss>: HTTP status code is not handled or not allowed 2026-01-28 11:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-sound-lectern-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 11:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reusable-blue-vinyl-cold-pack-quarter-size-5-x-7>: HTTP status code is not handled or not allowed 2026-01-28 11:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-connector-60000-4-14-4mm-tube-x-14-bspt-thread-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultigrips-oven-mitt-17-flame-resistant-black>: HTTP status code is not handled or not allowed 2026-01-28 11:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4ft-long-box-pleat-skirting-24h-stage-green>: HTTP status code is not handled or not allowed 2026-01-28 11:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-safety-parka-jacket-s-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-3xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 11:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-900mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 11:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kolorcut-cutting-board-18x24x1-2-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-36-lb-blocks-peach-fragrance>: HTTP status code is not handled or not allowed 2026-01-28 11:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-6-lb-blocks-citrus-fragrance>: HTTP status code is not handled or not allowed 2026-01-28 11:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-type-r-class-3-economy-solid-vest-5xl-green-sv92e-3vgsfr-5x>: HTTP status code is not handled or not allowed 2026-01-28 11:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-reducer-89700-06-04-38-stem-x-14-push-to-connect-tube>: HTTP status code is not handled or not allowed 2026-01-28 11:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-36-lb-beads-in-case-unscented-fragrance>: HTTP status code is not handled or not allowed 2026-01-28 11:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bib-apron-28x27-3-lower-pockets-black>: HTTP status code is not handled or not allowed 2026-01-28 11:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262633-concaved-roller>: HTTP status code is not handled or not allowed 2026-01-28 11:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-safety-parka-jacket-5xl-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedy-board-dock-board-11>: HTTP status code is not handled or not allowed 2026-01-28 11:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009448-knob-speed-control-for-hamilton-beach>: HTTP status code is not handled or not allowed 2026-01-28 11:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-base-48-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 11:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-inch-power-apro-center>: HTTP status code is not handled or not allowed 2026-01-28 11:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741191-gasket-compression100ft>: HTTP status code is not handled or not allowed 2026-01-28 11:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-expandable-starter-rack-72x24x84-gray-with-3-level-wood-deck-750lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-54-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 11:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-72x24x96-with-3-shelves-wood-deck-900-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chilling-unit-with-12-standard-cold-packs>: HTTP status code is not handled or not allowed 2026-01-28 11:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-sectional-6-5-cables-set>: HTTP status code is not handled or not allowed 2026-01-28 11:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-flow-control-82815-06-38-tube-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 11:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2121050-gasket-isolation-rubber-for-vita-mix-inc>: HTTP status code is not handled or not allowed 2026-01-28 11:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-coverall-4xl-blackfluorescent-yellow-green>: HTTP status code is not handled or not allowed 2026-01-28 11:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gel-hot-and-cold-pack-standard-11-x-14-6-case>: HTTP status code is not handled or not allowed 2026-01-28 11:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-89968-02-02-knob-adj-18-tube-x-18-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 11:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-72x48x96-with-3-shelves-wood-deck-900-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-75-3-8-flexi-male-female-end>: HTTP status code is not handled or not allowed 2026-01-28 11:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-combo-adaptor-for-4-jumbo-marker>: HTTP status code is not handled or not allowed 2026-01-28 11:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-y-55320-12-12-12mm-tube-x-12-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 11:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inchthe-big-inch-trupunch-punch-and-die-set-with-stand>: HTTP status code is not handled or not allowed 2026-01-28 11:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171306-valve-rebuild-kit-16gpf-toilt-for-zurn-industries-llc>: HTTP status code is not handled or not allowed 2026-01-28 11:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-60-w-x-18-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 11:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421118-clamp-oetiker-1-2-inch-tube-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-4xl-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-660mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 11:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x18x63-galvanized-steel-solid-shelving-add-on>: HTTP status code is not handled or not allowed 2026-01-28 11:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-extra-shelving-36x24x84-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-30mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 11:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1201022-caster-plate-3-inch-rgd-gry>: HTTP status code is not handled or not allowed 2026-01-28 11:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2171107-bar-stir-kit-butter-warmer-for-server-products>: HTTP status code is not handled or not allowed 2026-01-28 11:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/031-inch-id-x-04365-inch-od-x-0032-inch-die-button-shim-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 11:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gold-film-disc-255l-5-inch-x-nh-p320-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 11:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-female-89030-02-02-18-tube-x-18-nptf-female-thread-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 11:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-type-i-safety-can-5-gallon-funnel-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-85978-04-32-knob-adj14-tube-x-10-32-unf-male-threadcomposite-body>: HTTP status code is not handled or not allowed 2026-01-28 11:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bulk-rack-shelf-wood-deck-96x48-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 11:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-square-mill-stock-undersized-keystock-plain-finish-12-inch-length>: HTTP status code is not handled or not allowed 2026-01-28 11:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversed-telescopic-boom-floor-crane-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-heavy-duty-shelving-48x18x84-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-heavy-duty-tan-shelving-36-w-x-12-d-additional-level-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ex2-deburring-wheel-6-inch-x-1-inch-x-1-inch-med-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-28 11:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finish-thompson-48-drum-pump-kit-ss-shaft-115v-odp-motor>: HTTP status code is not handled or not allowed 2026-01-28 11:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-diamond-deck-truck-60-x-30-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97771 pages (at 97 pages/min), scraped 49697 items (at 24 items/min) 2026-01-28 11:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-high-capacity-wire-deck-shelf-48x36>: HTTP status code is not handled or not allowed 2026-01-28 11:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-21054-harness-pass-through-chest-tongue-buckle-legs-back-d-ring-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-48-in-w-x-12-in-d-x-72-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-add-on-unit-without-boxes-42-in-w-x-15-in-d-x-36-in-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disc-pad-face-plate-ribbed-81734-5-inch-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxview-premium-ratchet-faceshield-chin-guard-clear-pc-af-coating>: HTTP status code is not handled or not allowed 2026-01-28 11:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-hardware-kit-for-maxima-ultra-36-barrier-opener-system>: HTTP status code is not handled or not allowed 2026-01-28 11:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps30-rectangular-boom-for-maxima-ultra-36--giotto-ultra-36-barrier-gate-openers-16-12l>: HTTP status code is not handled or not allowed 2026-01-28 11:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thalia-ul-se-control-board-with-10-x-12-enclosure>: HTTP status code is not handled or not allowed 2026-01-28 11:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0003-inch-stainless-steel-shim-stock-6-inch-x-50-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 11:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx30-dx85-h-open-clip-style-4-shelf>: HTTP status code is not handled or not allowed 2026-01-28 11:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-ss-bellman-cart-curved-uprights-1>: HTTP status code is not handled or not allowed 2026-01-28 11:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dcc-duet-charging-cart-for-32-devices-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 11:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx12-dx85-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-28 11:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50054-p-plastic-barrier-chain-in-a-pail-hdpe-2-x160-8-51mm-green>: HTTP status code is not handled or not allowed 2026-01-28 11:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx30-dx85-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-28 11:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tenv-1ph-3450rpm-c6c34nb16jj>: HTTP status code is not handled or not allowed 2026-01-28 11:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collection-vault-mailbox-and-parcel-drop-dvcs0023-free-standing-front-access-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx30-dx97-h-open-clip-style-6-shelf>: HTTP status code is not handled or not allowed 2026-01-28 11:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6221024-screw-mach-th-ss-100>: HTTP status code is not handled or not allowed 2026-01-28 11:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/210-mig-welder-30-210a-230v-38>: HTTP status code is not handled or not allowed 2026-01-28 11:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-145-tenv-1ph-3450rpm-c145k34nb1gg>: HTTP status code is not handled or not allowed 2026-01-28 11:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-seat-with-low-profile-suspension--slot-bar-vinyl-black>: HTTP status code is not handled or not allowed 2026-01-28 11:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971184-kit-broiler-cleaning-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 11:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-elbow-85110-04-04-14-tube-x-14-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 11:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-epfc-3ph-3450-2850rpm-a6t34xc25jj>: HTTP status code is not handled or not allowed 2026-01-28 11:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd10h-916-inch-band-heavy-duty-3-pc-part-ss-hose-clamp-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 11:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x24x86-stainless-steel-solid-shelving-add-on>: HTTP status code is not handled or not allowed 2026-01-28 11:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-1ph-1725rpm-m6c17fc14kk>: HTTP status code is not handled or not allowed 2026-01-28 11:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-1ph-1725rpm-m6k17fc3ll>: HTTP status code is not handled or not allowed 2026-01-28 11:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultimate-truck-cargo-net-tie-down-kit-debris-liner-113-90-utdk-11390dl>: HTTP status code is not handled or not allowed 2026-01-28 11:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b32hsp-300-series-ss-hose-clamp-1-916-inch-2-12-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-x-0-8-x-6mm-cup-point-socket-set-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3150-hard-hat-elastic-lanyard-with-buckle-one-size-lime-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-dp-3ph-1725rpm-c6t17dc54cc>: HTTP status code is not handled or not allowed 2026-01-28 11:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-tee-85230-03-316-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 11:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b16hl-shieldedlined-hose-clamp-1316-inch-1-38-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1291006-filter-mesh-10x20x2-inch-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 11:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swim-belt-with-four-oval-floats-red>: HTTP status code is not handled or not allowed 2026-01-28 11:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swim-belt-with-three-oval-floats-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8-x-1-25-x-40mm-socket-head-cap-screw-304-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 11:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341705-booster-element-240v-4000w-for-hubbell-the-electric-heater-co>: HTTP status code is not handled or not allowed 2026-01-28 11:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-bathroom-stainless-steel-urinal-screen-18-x-42>: HTTP status code is not handled or not allowed 2026-01-28 11:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melamine-laminated-deck-48-wx36-dx1-2-thick>: HTTP status code is not handled or not allowed 2026-01-28 11:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elbow-82520n-06-38-male-nptf-x-38-female-nptf-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 11:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-x-0-8-x-30mm-socket-head-cap-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-48-3-door-outdoor-enclosed-corkboard-satin-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd48s-916-inch-band-heavy-duty-3-pc-hose-clamp-2-916-inch-3-12-inch-clmpgdiam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 11:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-black-helvetica-letter-sprue-set-145-characters>: HTTP status code is not handled or not allowed 2026-01-28 11:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3-x-0-5-x-5mm-machine-screw-phillips-pan-head-304-stainless-steel-din-7985-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-60x24x72-1>: HTTP status code is not handled or not allowed 2026-01-28 11:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90903-solid-ground-stake-hdpe-22-black>: HTTP status code is not handled or not allowed 2026-01-28 11:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-hi-vis-t-shirt-5xl-regular-fluorescent-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pulling-rod-cylinder-for-412559>: HTTP status code is not handled or not allowed 2026-01-28 11:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-cu-yd-yellow-self-dumping-forkli-hopper-with-heavy-gauge-base>: HTTP status code is not handled or not allowed 2026-01-28 11:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cs16h-collared-screw-worm-gear-hose-clamp-34-inch-1-12-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 11:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taping-perfect-manual>: HTTP status code is not handled or not allowed 2026-01-28 11:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b128hsp-300-series-ss-hose-clamp-5-12-inch-8-716-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-plastic-cold-cup-lids-fits-10oz-cups-translucent>: HTTP status code is not handled or not allowed 2026-01-28 11:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-parts-wire-basket-10-openings-inch-7x5x2-stainless-steel-price-each-for-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 11:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2381014-hinge-cam-lift-flush-bally-for-bally-refrigerated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 11:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd10s-916-inch-band-heavy-duty-3-pc-hose-clamp-916-inch-1-116-inch-clampingdiam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 11:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfy-hand-thumb-orthosis-adult-small-with-one-cover>: HTTP status code is not handled or not allowed 2026-01-28 11:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-cup-company-cone-water-cups-paper-425oz-rolled-rim-white-200pack>: HTTP status code is not handled or not allowed 2026-01-28 11:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6220832-screw-mach-th-ss-100>: HTTP status code is not handled or not allowed 2026-01-28 11:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-commercial-roof-anchor-galvanized-steel-310-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1581003-kit-compression-nut-ferrule>: HTTP status code is not handled or not allowed 2026-01-28 11:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00075-inch-matte-plastic-color-coded-shim-stock-5-inch-x-20-inch-flat-sheet>: HTTP status code is not handled or not allowed 2026-01-28 11:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1271022-gasket-compression-12>: HTTP status code is not handled or not allowed 2026-01-28 11:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-drill-bits-irwin-326012>: HTTP status code is not handled or not allowed 2026-01-28 11:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parallel-jaw-clamp-irwin-quick-grip-2026501>: HTTP status code is not handled or not allowed 2026-01-28 11:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1271139-door-gasket18-inch-x-21-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microfiber-cleaning-cloths-12-x-12-yellow-50-ragsbox>: HTTP status code is not handled or not allowed 2026-01-28 11:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrenches-irwin-vise-grip-2078610>: HTTP status code is not handled or not allowed 2026-01-28 11:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-bookcase-two-shelf-34-1-2-w-x-12-5-8-d-x-29-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-insert-installation-kit-for-hard-wood-brass-10-24-ez-400-3>: HTTP status code is not handled or not allowed 2026-01-28 11:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/size-b-3-inch-x-3-inch-stainless-steel-slotted-shim-130-piece-mini-assortment>: HTTP status code is not handled or not allowed 2026-01-28 11:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9499-65w-led-mr16-40-beam-spread-gu53-base-5000k-12v>: HTTP status code is not handled or not allowed 2026-01-28 11:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-insert-assortment-kit-for-soft-wood-flanged-8-32-to-3-8-16-ez-a900>: HTTP status code is not handled or not allowed 2026-01-28 11:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-2-inch-x-00125-inch-black-plastic-color-coded-slotted-shim-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 11:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-magnetic-bulk-li-er-with-extended-handle-16-lb-pull>: HTTP status code is not handled or not allowed 2026-01-28 11:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97869 pages (at 98 pages/min), scraped 49714 items (at 17 items/min) 2026-01-28 11:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971137-caster-stem-5-inch-w-brk-1-1-8-inch-tube-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 11:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spindle-adjustable-tray-truck>: HTTP status code is not handled or not allowed 2026-01-28 11:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-flat-bags-10-x-15-4-mil-blue-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-plastic-instrument-cart-200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-clear-14>: HTTP status code is not handled or not allowed 2026-01-28 11:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3714-hot-fudge-warmer-pump-assembly>: HTTP status code is not handled or not allowed 2026-01-28 11:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2261060-basket-round-975-inch-od-x475-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 11:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-eyewear-display-3-tier>: HTTP status code is not handled or not allowed 2026-01-28 11:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-gantry-crane-adjustable-height-4000-lb-capacity-3>: HTTP status code is not handled or not allowed 2026-01-28 11:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/020mm-steel-shim-stock-150mm-x-25m-roll>: HTTP status code is not handled or not allowed 2026-01-28 11:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-144w-x-48d-x-96h>: HTTP status code is not handled or not allowed 2026-01-28 11:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-glove-box-holder-white-powder-coated-steel-10-1-2h-x-6-1-2w-x-4-1-4d>: HTTP status code is not handled or not allowed 2026-01-28 11:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-brass-arbor-shim-2-inch-id-x-2-34-inch-od-x-0062-inch-thick-0002-inch-lam>: HTTP status code is not handled or not allowed 2026-01-28 11:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-microwave-1-2-cu-ft-1200w-keypad-control>: HTTP status code is not handled or not allowed 2026-01-28 11:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-1225-magnetic-door-gasket-28-3-4-inch-x-76-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hug-05-xlheavy-utility-glove>: HTTP status code is not handled or not allowed 2026-01-28 11:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0162-inch-diameter-stainless-steel-wire-1-pound-coil>: HTTP status code is not handled or not allowed 2026-01-28 11:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exo2-pig-04-lproject-impact-glove>: HTTP status code is not handled or not allowed 2026-01-28 11:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-power-buddy-premium-impact-wrench-1-drive-size-2000-max-torque>: HTTP status code is not handled or not allowed 2026-01-28 11:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-scaffolding-adjustable-work-platform-104-inch-l-x-42-inch-w-x-118-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 11:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1831143-element-heating-120v-1750w-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 11:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-powered-portable-container-pallet-skid-tilter-2200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0033-inch-diameter-music-wire-14-pound-coil>: HTTP status code is not handled or not allowed 2026-01-28 11:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-hand-lever-actuated-valve-spring-centered-pressure-center-g1-4-ports>: HTTP status code is not handled or not allowed 2026-01-28 11:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twixt-active-seating-chair-desk-height-green>: HTTP status code is not handled or not allowed 2026-01-28 11:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-metal-6-outlet-15ft-1208-joules>: HTTP status code is not handled or not allowed 2026-01-28 11:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010492-crumb-rack>: HTTP status code is not handled or not allowed 2026-01-28 11:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-plastic-classroom-chair-set-of-five-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-clipboard-small>: HTTP status code is not handled or not allowed 2026-01-28 11:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/181750-stainless-steel-medication-dropbox-cabinet-10-w-x-6-d-x-16-h>: HTTP status code is not handled or not allowed 2026-01-28 11:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alemite-hydraulic-fittings-elbow-45-degree-57-64-in-male-male-1-8-in-ptf-1688-b>: HTTP status code is not handled or not allowed 2026-01-28 11:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-panel-divider-6-ft-high-x-20-ft-5-inch-long-fabric-summer-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-dock-board-with-steel-curbs-8>: HTTP status code is not handled or not allowed 2026-01-28 11:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alemite-5inch-needle-nose-grease-adapter-b6783>: HTTP status code is not handled or not allowed 2026-01-28 11:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-dock-board-with-steel-curbs-1>: HTTP status code is not handled or not allowed 2026-01-28 11:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-porcelain-mogul-socket-w-metal-1-4-ip-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-porch-globe>: HTTP status code is not handled or not allowed 2026-01-28 11:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outrigger-pellet-berm-20l-x-2-12w-x-4h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-folding-chair-vinyl-padded-seat-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031191-element-fry-208v-4480w-90-ang-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 11:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/414705-replacement-filters-for-dust-collector-jdc-500-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281313-wheel5-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/708657k-dc-1100vx-bk-dust-collector-15hp-1ph-115-230v-30-micron-bag-filter-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ezh20-outdoor-bottle-filling-station-w-drinking-fountain-freeze-resistant-evergreen>: HTTP status code is not handled or not allowed 2026-01-28 11:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-defender-walk-ramp-39w-14l-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-insulated-serving-bowls-4761955-0-75-quart-fire-engine-red>: HTTP status code is not handled or not allowed 2026-01-28 11:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-quart-mixer-with-guard-40757-8-amps-nsf>: HTTP status code is not handled or not allowed 2026-01-28 11:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-90-degree-elbow-adapter-12mm-tube-od-x-38-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 11:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1151039-spout-double-jointed-chicago-for-chicago-faucets>: HTTP status code is not handled or not allowed 2026-01-28 11:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-round-bar-height-table-with-4-seats-surface-mount-diamond-pattern-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-panel-display-tower-6-ft-5-inch-high-fabric-mallard>: HTTP status code is not handled or not allowed 2026-01-28 11:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-squeeze-dispensers-26120-13-standard-top-12-oz>: HTTP status code is not handled or not allowed 2026-01-28 11:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x8x6-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 11:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-panel-divider-8-ft-high-x-9-ft-5-inch-long-fabric-black>: HTTP status code is not handled or not allowed 2026-01-28 11:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-covers-1038-13-fits-plate-size-10-1-8-10-3-8-plastic>: HTTP status code is not handled or not allowed 2026-01-28 11:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-flat-washer-uss-7-16-i-d-064-08-thick-steel-yellow-zinc-grade-8-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tabletop-personal-safety-partition-24w-x-24h-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150w-full-range-turn-knob-dimmer-socket-nickel>: HTTP status code is not handled or not allowed 2026-01-28 11:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-internal-tooth-lock-washer-grade-2-steel-zinc-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 11:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-182-tefc-1ph-1740rpm-c182c17wb3dd>: HTTP status code is not handled or not allowed 2026-01-28 11:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-speed-ceiling-fan-switch>: HTTP status code is not handled or not allowed 2026-01-28 11:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-fry-pan-with-ceramiguard-ii-interior-z4007-8-gauge-4-3-4-bottom-diameter>: HTTP status code is not handled or not allowed 2026-01-28 11:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-overhead-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-184-tefc-3ph-3505-2930rpm-c184t34wk8aa>: HTTP status code is not handled or not allowed 2026-01-28 11:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-straight-reducer-8mm-tube-od-x-6mm-tube-od>: HTTP status code is not handled or not allowed 2026-01-28 11:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-h-lockable-stacking-drawer-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-way-metal-push-switch-1-1-8-in-bushing-brass-finish>: HTTP status code is not handled or not allowed 2026-01-28 11:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/canopy-6-bench-with-back-in-ground-mount-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-flat-washer-sae-7-32-i-d-steel-plain-grade-2-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tenv-3ph-1725rpm-c6t17vk1hh>: HTTP status code is not handled or not allowed 2026-01-28 11:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-flat-washer-sae-13-32-i-d-steel-yellow-zinc-grade-8-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fowler-4-inch-economy-digital-caliper>: HTTP status code is not handled or not allowed 2026-01-28 11:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbr-rubber-push-in-grommet-for-1-14-hole-id-and-14-edge-thickness-12-id-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intermediate-to-candelabra-reducer>: HTTP status code is not handled or not allowed 2026-01-28 11:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-flat-washer-sae-21-32-i-d-steel-yellow-zinc-grade-8-pkg-of-50-hgd10>: HTTP status code is not handled or not allowed 2026-01-28 11:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribute-sauce-pan-77741-3-1-2-quart-capacity-4-1-4-depth>: HTTP status code is not handled or not allowed 2026-01-28 11:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fowler-bevel-protractor-6-inch-12-inch-blades>: HTTP status code is not handled or not allowed 2026-01-28 11:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-table-with-2-imme-armless-barstools-light-gray-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 11:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 97964 pages (at 95 pages/min), scraped 49730 items (at 16 items/min) 2026-01-28 11:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounting-rail-holds-6-bins-91954-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 11:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-panel-36-x-63>: HTTP status code is not handled or not allowed 2026-01-28 11:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signature-heavy-duty-single-compartment-bus-box-52657-20-x-17-x-5-natural>: HTTP status code is not handled or not allowed 2026-01-28 11:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/316-ss-150-threaded-pipe-flange-2-pipe-size>: HTTP status code is not handled or not allowed 2026-01-28 11:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycling-paper-lid-green>: HTTP status code is not handled or not allowed 2026-01-28 11:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-high-pressure-clear-pvc-tubing-1id-x-1-14od-x-10-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-syringe-filter-0-45um-30mm-bulk-packed-non-sterile-100-case>: HTTP status code is not handled or not allowed 2026-01-28 11:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-electric-height-adjustable-table-walnut-w-gray-base-48-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 11:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-squeeze-dispensers-4924-08-wide-mouth-24-oz>: HTTP status code is not handled or not allowed 2026-01-28 11:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adam-bench-weighing-scale-440lb>: HTTP status code is not handled or not allowed 2026-01-28 11:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-cord-0093-cross-section-10-ft-length>: HTTP status code is not handled or not allowed 2026-01-28 11:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-4-commercial-hepa-air-purifier-stainless>: HTTP status code is not handled or not allowed 2026-01-28 11:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grinder-plate-40751-1-8-fits-40744>: HTTP status code is not handled or not allowed 2026-01-28 11:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-caster-chairs-coral-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 11:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-long-gray-single-rivet-beam>: HTTP status code is not handled or not allowed 2026-01-28 11:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-7-drawer-shallow-depth-cabinet-blue-keyed-alike-7>: HTTP status code is not handled or not allowed 2026-01-28 11:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-please-wash-your-hands-wall-sign-red>: HTTP status code is not handled or not allowed 2026-01-28 11:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011293-water-pump-115v-for-ice-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 11:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/place-front-of-desk-here-floor-sign>: HTTP status code is not handled or not allowed 2026-01-28 11:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-7-drawer-24-w-shallow-depth-mobile-cabinet-w-butcher-block-top-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 11:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1041123-dispenser-cup-abs-22-inch-interch>: HTTP status code is not handled or not allowed 2026-01-28 11:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/160-lb-capacity-walk-behind-broadcast-spreader>: HTTP status code is not handled or not allowed 2026-01-28 11:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341032-urn-heater240v-5000w-for-seco-products>: HTTP status code is not handled or not allowed 2026-01-28 11:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264611-grease-filter-stainless-steel-20-x-16-x-2>: HTTP status code is not handled or not allowed 2026-01-28 11:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-72x24x84-with-3-levels-wood-deck-1000lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321383-gh-1640zx-large-spindle-bore-lathe-w-acu-rite-300s-dro-collet-closer-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 11:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spreaderssprayers-100lb-capacitydropspreader-261389>: HTTP status code is not handled or not allowed 2026-01-28 11:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-slip-traction-walk-tape-roll-2-by-60>: HTTP status code is not handled or not allowed 2026-01-28 11:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-chairs-navy-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 11:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-jar-1212-10-oz-capacity-w-top>: HTTP status code is not handled or not allowed 2026-01-28 11:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331064-filter-oil-13-3-4-inch-dia-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6nf33k-nylon-plastic-adjustable-lever-w-steel-components-m6-x-1-0-tapped-thread>: HTTP status code is not handled or not allowed 2026-01-28 11:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-without-lid-70>: HTTP status code is not handled or not allowed 2026-01-28 11:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-caster-chairs-sky-blue-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 11:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fd-50-saver-cycle-cycling-refrigerated-dryer-106-cfm-1-phase-115v>: HTTP status code is not handled or not allowed 2026-01-28 11:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-96x48x96-with-3-levels-wire-deck-800lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321470-gh-1440zx-large-spindle-bore-lathe-w-newall-dp700-dro-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 11:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-back-diamond-stacking-chair-with-arm-black>: HTTP status code is not handled or not allowed 2026-01-28 11:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-semi-pneumatic-wheel-magliner-hand-truck>: HTTP status code is not handled or not allowed 2026-01-28 11:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-function-leatherplus-drafting-stool>: HTTP status code is not handled or not allowed 2026-01-28 11:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tdc-500-taper-mount-drill-chuck-0-1-2-inch-x-jt-6>: HTTP status code is not handled or not allowed 2026-01-28 11:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-42-inch-round-table-top-with-x-base-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-valuestar-electric-chain-hoist-with-chain-container-2-000-lb-capacity-4>: HTTP status code is not handled or not allowed 2026-01-28 11:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-chairs-navy-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 11:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/induction-ready-insert-88184-7-quart-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flatware-basket-52641-8-compartment>: HTTP status code is not handled or not allowed 2026-01-28 11:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-barstools-black-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 11:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-workmate-stand-ahwl2424>: HTTP status code is not handled or not allowed 2026-01-28 11:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690006-jtm-2-vertical-milling-machine-w-x-axis-powerfeed-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 11:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011308-water-pump-230v-for-manitowoc-machines>: HTTP status code is not handled or not allowed 2026-01-28 11:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690097-jtm-1-vertical-milling-machine-w-x-y-axis-powerfeeds-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 11:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copper-crimp-connector-14-8-awg>: HTTP status code is not handled or not allowed 2026-01-28 11:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-96x24-high-capacity-rack-steel-deck-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-caster-chairs-sky-blue-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 11:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014113-hood-filter-type6-alum-20x16>: HTTP status code is not handled or not allowed 2026-01-28 11:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-insulated-disconnect-m-f-pairs-16-14-awg-blue-250-tab-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/releasable-cable-tie-uvb-8-50-lb-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-king-kutter-6003-w-suction-cup-base-includes-1-2-4-cone>: HTTP status code is not handled or not allowed 2026-01-28 11:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bullet-splice-m-f-pairs-16-14-awg-0156-plug-blue-20-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-dc-right-angle-83rpm-cm34d25nz11c>: HTTP status code is not handled or not allowed 2026-01-28 11:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-back-industrial-chair-vinyl-seat-taupe-supernova>: HTTP status code is not handled or not allowed 2026-01-28 11:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-36-manually-controlled-gas-griddle-40721-84000-btu-36-x-27-x-16>: HTTP status code is not handled or not allowed 2026-01-28 11:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-wall-bin-accessory-bin-divider-sold-pack-of-6-6>: HTTP status code is not handled or not allowed 2026-01-28 11:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-wall-bin-lid-sold-per-carton-6>: HTTP status code is not handled or not allowed 2026-01-28 11:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-aid-only-91056-emergency-preparedness-backpack-tornado>: HTTP status code is not handled or not allowed 2026-01-28 11:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261020634-blaze-fiberglass-flat-flap-disc-t27-4-1-2-inch-x-7-8-inch-80-grit-seeded-gel-ceramic>: HTTP status code is not handled or not allowed 2026-01-28 11:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-giant-stackable-storage-bin-18-3-8x29x14-7-8-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7501-coated-waterproof-winter-work-gloves-xl-gray-case>: HTTP status code is not handled or not allowed 2026-01-28 11:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/display-cabinet-40865-36-cubed-glass-heated>: HTTP status code is not handled or not allowed 2026-01-28 11:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66252843594-gemini-grinding-wheel-4-1-2-inch-x-1-4-inch-x-7-8-inch-24-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 11:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-conductive-10>: HTTP status code is not handled or not allowed 2026-01-28 11:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261063500-bear-tex-non-woven-hand-pad-6-inch-x-9-inch-ultra-fine-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-28 11:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kyorene-cut-resistant-gloves-crinkle-latex-coated-ansi-a6-xl-gray-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66252843596-gemini-grinding-and-cutting-wheel-5-inch-x-1-8-inch-x-7-8-inch-24-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 11:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-1096-11-1-2-inch-magnetic-door-latch-with-lock-and-strike>: HTTP status code is not handled or not allowed 2026-01-28 11:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 98062 pages (at 98 pages/min), scraped 49754 items (at 24 items/min) 2026-01-28 11:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1701038-rack-oven-half-size>: HTTP status code is not handled or not allowed 2026-01-28 11:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6844-balaclava-face-mask-dual-layer-black>: HTTP status code is not handled or not allowed 2026-01-28 11:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-vali-frameless-safety-glasses-matte-black-anti-fog-clear-lens>: HTTP status code is not handled or not allowed 2026-01-28 11:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-mask-low-pressure-system-1-worker-100-hose>: HTTP status code is not handled or not allowed 2026-01-28 11:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-display-cabinet-40843-refrigerated-48-x-21-x-32-1-2>: HTTP status code is not handled or not allowed 2026-01-28 11:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014103-hood-filter-type6-alum-12x20>: HTTP status code is not handled or not allowed 2026-01-28 11:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2251084-basket-fry-13-1-4-x-4-1-4-fh>: HTTP status code is not handled or not allowed 2026-01-28 11:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-bin-97290-black-15-1-2-x-6-3-8-x-6-1-2>: HTTP status code is not handled or not allowed 2026-01-28 11:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/papr-wall-case>: HTTP status code is not handled or not allowed 2026-01-28 11:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optio-deluxe-cookware-set-3822-1-quart-7-piece>: HTTP status code is not handled or not allowed 2026-01-28 11:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-aluminum-hand-truck-curved-handle-balloon-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-big-ones-alcohol-free-8-x-11-50-box>: HTTP status code is not handled or not allowed 2026-01-28 11:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-45-w-modular-cabinet-9-drawers-59-h-no-lock-textured-black>: HTTP status code is not handled or not allowed 2026-01-28 11:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcs110-arctic-radwear-cooling-headband-hi-viz-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2801346-stand-tray-29-inch-h-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-160chip-blow-gun-chip-shield>: HTTP status code is not handled or not allowed 2026-01-28 11:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ignition-20-upholstered-task-chair-mid-back-plastic-arms-17-21-12h-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 11:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-4-centerset-gooseneck-faucet-lead-freez812a4>: HTTP status code is not handled or not allowed 2026-01-28 11:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-ul2043-white-cone-diffuser-for-6-duct-str-c-6w-fr>: HTTP status code is not handled or not allowed 2026-01-28 11:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1756-200-degree-door-viewer-us26d>: HTTP status code is not handled or not allowed 2026-01-28 11:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-50-retractable-hose>: HTTP status code is not handled or not allowed 2026-01-28 11:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012458-burner-ir-smallb2ot-4-c-m-dim-for-jade-range>: HTTP status code is not handled or not allowed 2026-01-28 11:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1571098-connector-gas-1-inch-x48-inch-for-dormont-mfg>: HTTP status code is not handled or not allowed 2026-01-28 11:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-clutch-screwdriver-125>: HTTP status code is not handled or not allowed 2026-01-28 11:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nucleus-recharge-guest-chair-with-loop-arms-casters-mesh-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 11:43:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_closers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakeside-stainless-steel-utility-cart-39-x-22-x-37-500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-chairs-coral-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 11:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-duty-hammer>: HTTP status code is not handled or not allowed 2026-01-28 11:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/MaxiScrub-Steel-Roller-Mop-Refill-96259>: HTTP status code is not handled or not allowed 2026-01-28 11:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gml105yl-gauge-marking-decal>: HTTP status code is not handled or not allowed 2026-01-28 11:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series153-laminate-bookcase-36w-x-13d-x-71h-kingswood-walnut>: HTTP status code is not handled or not allowed 2026-01-28 11:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-44>: HTTP status code is not handled or not allowed 2026-01-28 11:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-cleats-fn18l175-18-gauge-1-3-4-500-bx>: HTTP status code is not handled or not allowed 2026-01-28 11:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-electrodes-2-square-stainless-steel-mesh-40-case>: HTTP status code is not handled or not allowed 2026-01-28 11:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp206bu-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 11:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_closers>: HTTP status code is not handled or not allowed 2026-01-28 11:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-w-x-16-d-x-8-h-stackbox-black>: HTTP status code is not handled or not allowed 2026-01-28 11:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-table-with-poly-top-and-undershelf-24-inch-w-84-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 11:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ignition-20-4-way-stretch-task-chair-white-adj-lumbar-support-17-21h-seat-carolina>: HTTP status code is not handled or not allowed 2026-01-28 11:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-aluminum-pan-cart-10-pans-18-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-caster-chairs-navy-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 11:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-w-x-18-d-x-8-h-stackbox-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-1-48-3-8-x-24-3-8-pvc-glue-up-tile-in-copper-fantasy-pg5011>: HTTP status code is not handled or not allowed 2026-01-28 11:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tar164-5s-red-tag>: HTTP status code is not handled or not allowed 2026-01-28 11:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x16-1-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 11:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-dryer-w-noise-reduction-nozzle-graphite-die-cast-zinc-alloy-hepa-110-120v>: HTTP status code is not handled or not allowed 2026-01-28 11:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-40-cup-commercial-rice-cooker>: HTTP status code is not handled or not allowed 2026-01-28 11:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scs603-decibel-meter-sign>: HTTP status code is not handled or not allowed 2026-01-28 11:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-double-shift-storage-cabinet-48x24x78>: HTTP status code is not handled or not allowed 2026-01-28 11:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp204gn-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 11:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-swivel-flange-4>: HTTP status code is not handled or not allowed 2026-01-28 11:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-knife-blade-storage-safety-cutter>: HTTP status code is not handled or not allowed 2026-01-28 11:43:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-deluxe-series-pizza-prep-table-2-door>: HTTP status code is not handled or not allowed 2026-01-28 11:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-no-touch-dual-vendor-free-stainless-battery-operated>: HTTP status code is not handled or not allowed 2026-01-28 11:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-sign-projector-lens-exit>: HTTP status code is not handled or not allowed 2026-01-28 11:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-stainless-steel-5-leg-iv-height-adjustable-stand-74-110-4-hook-rams-horn>: HTTP status code is not handled or not allowed 2026-01-28 11:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x725-6-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 11:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10197198-harness-back-d-ring-qwik-fit-leg-straps-super-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 11:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/105-watt-t5-compact-fluorescent-light-bulb-medium-base-B1229101>: HTTP status code is not handled or not allowed 2026-01-28 11:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24inw_gravity_skate_wheel_conveyor_5ftl_steel_1300lb_cap_12_wpf>: HTTP status code is not handled or not allowed 2026-01-28 11:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-watt-a19-vintage-incandescent-light-bulb-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 11:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x4x3-kraft-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-28 11:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10194979-harness-back-d-ring-tongue-buckle-leg-straps-super-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 11:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-stanford-mayo-stand-four-caster-base>: HTTP status code is not handled or not allowed 2026-01-28 11:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-double-post-jumbo-benjamin-mayo-stand>: HTTP status code is not handled or not allowed 2026-01-28 11:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/851363-filter-envelopes-100>: HTTP status code is not handled or not allowed 2026-01-28 11:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coast-21593-model-hx5r-usb-rechargeable-340-lumen-pocket-light-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-single-sided-upright-13>: HTTP status code is not handled or not allowed 2026-01-28 11:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/friction-tape-3-4-x-60-black>: HTTP status code is not handled or not allowed 2026-01-28 11:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-30-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-10>: HTTP status code is not handled or not allowed 2026-01-28 11:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10194970-harness-back-shoulder-d-rings-quick-connect-leg-straps-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 11:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spillmagic-250ppc-pocket-pad-45-x-675-810-per-box>: HTTP status code is not handled or not allowed 2026-01-28 11:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-with-2-lip-4>: HTTP status code is not handled or not allowed 2026-01-28 11:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-extra-heavy-duty-boltless-shelving-starter-36in-w-x-12in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spillmagic-97519-large-wheeled-spill-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 11:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-mat-ii-reversible-drainage-mat-2-ft-x-30-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 11:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-30-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 98157 pages (at 95 pages/min), scraped 49771 items (at 17 items/min) 2026-01-28 11:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/58-diameter-rotabin-rotating-parts-bin-cabinet-5-trays>: HTTP status code is not handled or not allowed 2026-01-28 11:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1250-watt-low-frequency-pure-sine-inverter-charger-12-vdc-to-120-vac>: HTTP status code is not handled or not allowed 2026-01-28 11:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-diameter-rotabin-rotating-parts-bin-cabinet-4>: HTTP status code is not handled or not allowed 2026-01-28 11:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-led-10-40vdc-surface-mount-ip69k>: HTTP status code is not handled or not allowed 2026-01-28 11:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-extra-heavy-duty-boltless-shelving-starter-42in-w-x-30in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-workmaster-bench-1>: HTTP status code is not handled or not allowed 2026-01-28 11:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-workmaster-bench-1>: HTTP status code is not handled or not allowed 2026-01-28 11:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bassick-prism-stainless-steel-swivel-caster-phenolic-6-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tutco-crankcase-50-120-39>: HTTP status code is not handled or not allowed 2026-01-28 11:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-ground-pole-white>: HTTP status code is not handled or not allowed 2026-01-28 11:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x9x3-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 11:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-plastic-chain-safety-green>: HTTP status code is not handled or not allowed 2026-01-28 11:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-cabinet-48x24x78-2>: HTTP status code is not handled or not allowed 2026-01-28 11:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stair-and-van-carpet-wand-stainless-steel-1035-110015fb>: HTTP status code is not handled or not allowed 2026-01-28 11:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-spray-wand-with-25-ft-hose-323ach>: HTTP status code is not handled or not allowed 2026-01-28 11:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-xps-153-impact-socket-set-w-std-socket-adapter-10pc-3-8-drive-6pt-metric>: HTTP status code is not handled or not allowed 2026-01-28 11:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-xps-153-impact-bit-set-35-pc-detent-ball-magnetic-hex-locks-matte-nickel>: HTTP status code is not handled or not allowed 2026-01-28 11:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2491027-filter-air-w-thumb-screw-for-amana-litton>: HTTP status code is not handled or not allowed 2026-01-28 11:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-30-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inox-thin-cut-off-wheel-60-grit-type-1-4-1-2-dia-x-1-25-t-x-7-8-cntr-hole-dia-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyboard-shelf-29-wide-16-deep-4-high-oiled-cherry>: HTTP status code is not handled or not allowed 2026-01-28 11:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-48-light-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1336-worm-gear-for-slicer-motor>: HTTP status code is not handled or not allowed 2026-01-28 11:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/book-return-unit-36-wide-30-deep-32-high-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-multi-guard-black-1-2in-x-28in-x-46in>: HTTP status code is not handled or not allowed 2026-01-28 11:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/180-x-30-extra-long-bench-steel-top>: HTTP status code is not handled or not allowed 2026-01-28 11:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fab-tak-tackboard-with-aluminum-trim-4-feet-h-x-8-feet-w-granite>: HTTP status code is not handled or not allowed 2026-01-28 11:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x1450-3-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 11:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1381193-thermometer-kit-t-type-4-pcs-for-comark-instruments>: HTTP status code is not handled or not allowed 2026-01-28 11:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-hi-torque-7-16-hex-impact-wrench-kit-5-0ah-18v-lxt-174-li-ion-brushless>: HTTP status code is not handled or not allowed 2026-01-28 11:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441403-sensor-temp-for-etc-s-for-ranco>: HTTP status code is not handled or not allowed 2026-01-28 11:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-30-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-headline-bulletin-board-cabinet-3-door-4-5-feet-h-x-8-feet-w-silver-trim-platinum>: HTTP status code is not handled or not allowed 2026-01-28 11:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gp8000e-carb-8000-watt-portable-generator-gasoline-electric-recoil-120-240v>: HTTP status code is not handled or not allowed 2026-01-28 11:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-fork-pallet-lift-truck-10-1-2-x-32-600-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80072-undercoating-16-oz-can>: HTTP status code is not handled or not allowed 2026-01-28 11:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-48-x-13-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printer-wagon-32-wide-15-deep-12-high-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 11:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-bookcase-shelf-34-wide-11-deep-1-high-medium-oak-1>: HTTP status code is not handled or not allowed 2026-01-28 11:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-2x10-red-export-documents-enclosed-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 11:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-wide-span-rack-72x48-no-deck-900-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc100xl08-100-cal-cm2-arc-flash-kit-xl-glove-size-08>: HTTP status code is not handled or not allowed 2026-01-28 11:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watermelon-12-stght-nylon>: HTTP status code is not handled or not allowed 2026-01-28 11:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16x12x3-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 11:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-48x36x84-with-3-shelves-wire-deck-1200-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28x30-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 11:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-96x24x96-with-3-shelves-wire-deck-1100-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pc-steak-set-w-41799-black>: HTTP status code is not handled or not allowed 2026-01-28 11:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-20-round-sign-personal-protective-equipment-required>: HTTP status code is not handled or not allowed 2026-01-28 11:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x12-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 11:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-industrial-6-jaw-3-throat-depth-general-purpose-bench-vise-w-swivel-base>: HTTP status code is not handled or not allowed 2026-01-28 11:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slant-wire-shelving-truck-4-shelves-48x18x69>: HTTP status code is not handled or not allowed 2026-01-28 11:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/265682-motor-bearing-dyn-for-dynamic-international-hand-mixers>: HTTP status code is not handled or not allowed 2026-01-28 11:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-12-round-sign-no-forklift-no-text>: HTTP status code is not handled or not allowed 2026-01-28 11:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-terrain-panel-cart-dolly-sl1500pc6r-6-casters-1500-lb-cap-red>: HTTP status code is not handled or not allowed 2026-01-28 11:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-60x24x96-starter>: HTTP status code is not handled or not allowed 2026-01-28 11:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2040-11k-saccharin-sensitivity-solution-6box>: HTTP status code is not handled or not allowed 2026-01-28 11:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-36-x-60-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-g-1-4-110v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-60x36x120-starter>: HTTP status code is not handled or not allowed 2026-01-28 11:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2721321-switch-3-position-2-pole-for-nieco-corp>: HTTP status code is not handled or not allowed 2026-01-28 11:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-24-octagone-sign-stop-do-not-enter>: HTTP status code is not handled or not allowed 2026-01-28 11:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-48inw-x-24ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-96inw-x-24ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-96x24x96-add-on>: HTTP status code is not handled or not allowed 2026-01-28 11:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-one-quarter-in-fnpt-nsf-brass-check-valve-buna-s-rubber-poppet>: HTTP status code is not handled or not allowed 2026-01-28 11:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-60x48x120-add-on>: HTTP status code is not handled or not allowed 2026-01-28 11:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-24ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-30ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-24ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-axis-precision-tilting-vise-4-inch-jaw-width-1-1-2-inch-jaw-depth>: HTTP status code is not handled or not allowed 2026-01-28 11:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 98254 pages (at 97 pages/min), scraped 49797 items (at 26 items/min) 2026-01-28 11:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-g-1-2-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h65uquq40hatpv-40-cal-arcguard-compliance-hood-with-pureview-face-shield>: HTTP status code is not handled or not allowed 2026-01-28 11:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-1695-on-off-lighted-rocker-switch-10a-250v-12a-125v>: HTTP status code is not handled or not allowed 2026-01-28 11:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-drawer-layout-36-plastic-boxes-2-h>: HTTP status code is not handled or not allowed 2026-01-28 11:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-vise-jaw-width-5-inch-rotating-head>: HTTP status code is not handled or not allowed 2026-01-28 11:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-1732-on-off-lighted-rocker-switch-20a-125v-10a-250v>: HTTP status code is not handled or not allowed 2026-01-28 11:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-cal-nomex-kevlar-arc-flash-coat-2xl-caramel-c04kdqe032xl32>: HTTP status code is not handled or not allowed 2026-01-28 11:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-long-sleeve-henley-navy-2xl-navy-c541nnbbsls2xl>: HTTP status code is not handled or not allowed 2026-01-28 11:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-closed-cntr-1-2-nptf-110v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 11:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-axis-precision-tilting-vise-6-inch-jaw-width-1-3-4-inch-depth>: HTTP status code is not handled or not allowed 2026-01-28 11:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hs-drawer-layout-18-compartments-2-h>: HTTP status code is not handled or not allowed 2026-01-28 11:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-1-8-npt-double-solenoid-valve-pilot-220v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-48ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-drawer-layout-18-compartments-3-5-w-x-3-h>: HTTP status code is not handled or not allowed 2026-01-28 11:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-long-sleeve-henley-xl-tan-c541ntnbslsxl>: HTTP status code is not handled or not allowed 2026-01-28 11:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-1-2-nptf-220v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-72x36x120-add-on>: HTTP status code is not handled or not allowed 2026-01-28 11:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262506-s-s-combfor-18-inch-bowl-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 11:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-g-1-8-110v-ac-5va-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-rubber-voltage-glove-kit-yellow-size-10-kitgc210y>: HTTP status code is not handled or not allowed 2026-01-28 11:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-72-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-round-18-led-red-stop-turn-tail-light-w-grommet-plug>: HTTP status code is not handled or not allowed 2026-01-28 11:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-18-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-72x48x120-starter>: HTTP status code is not handled or not allowed 2026-01-28 11:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-2-inch-oval-24-led-clear-backup-light-w-grommet-plug>: HTTP status code is not handled or not allowed 2026-01-28 11:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-hi-vis-work-shirt-type-r-class-3-xl-t-fluorescent-yellow-shrtv3c3xlltl>: HTTP status code is not handled or not allowed 2026-01-28 11:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-96x36x96-add-on>: HTTP status code is not handled or not allowed 2026-01-28 11:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-1-2-npt-double-solenoid-valve-pilot-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72503-laminated-stainless-steel-arbor-shim-1-2-id-x-3-4-od-x-0032-thick>: HTTP status code is not handled or not allowed 2026-01-28 11:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42370-3-x-3-x-0187-stainless-steel-slotted-shim>: HTTP status code is not handled or not allowed 2026-01-28 11:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-36ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-low-ball-mount-8-inch-tube-4-inch-drop>: HTTP status code is not handled or not allowed 2026-01-28 11:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-slab-or-ambient-sensing-electronic-thermostat-with-25-ft-thermistor>: HTTP status code is not handled or not allowed 2026-01-28 11:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ton-receiver-mount-combo-ball-hitch-w-2-inch-ball>: HTTP status code is not handled or not allowed 2026-01-28 11:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/621131-thermometer-digitalpocket-for-comark-instruments>: HTTP status code is not handled or not allowed 2026-01-28 11:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012234-tee-1-4-p-f-m-m-aeroquip-2093-4-4s-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 11:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461717-control-kit-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 11:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-economy-bookcase-black>: HTTP status code is not handled or not allowed 2026-01-28 11:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cork-bulletin-board-hardwood-oak-3>: HTTP status code is not handled or not allowed 2026-01-28 11:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11ngb3x-12-cal-ultrasoft-arc-flash-kit-fr-coverall-balaclava-3xl-no-gloves>: HTTP status code is not handled or not allowed 2026-01-28 11:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8011-34-tee-fitting>: HTTP status code is not handled or not allowed 2026-01-28 11:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-in-w-x-64-in-h-panel-with-electric-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-rubber-voltage-gloves-black-size-9-dwh1429>: HTTP status code is not handled or not allowed 2026-01-28 11:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-2-x-72-160-edge-protectors-cased>: HTTP status code is not handled or not allowed 2026-01-28 11:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-tier-hose-cart-holds-up-to-1300-feet-of-2-1-2-inch-hose>: HTTP status code is not handled or not allowed 2026-01-28 11:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-3xl-ln-royal-blue-tcg01130229>: HTTP status code is not handled or not allowed 2026-01-28 11:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-24ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-in-w-x-46-in-h-panel-with-pass-thru-cable-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-1-4-nptf-220v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-24ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv08ng2x-8-cal-cm2-arc-flash-kit-with-fr-coverall-2xl-no-gloves>: HTTP status code is not handled or not allowed 2026-01-28 11:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelving-36x16x75>: HTTP status code is not handled or not allowed 2026-01-28 11:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-1-4-nptf-220v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-7-flush-cut-foam-pouches>: HTTP status code is not handled or not allowed 2026-01-28 11:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelving-66x24x45-adjustable>: HTTP status code is not handled or not allowed 2026-01-28 11:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-12-flush-cut-foam-pouches>: HTTP status code is not handled or not allowed 2026-01-28 11:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m12andno8482-cordless-3-8in-drill-driver-bare-tool-2410-20>: HTTP status code is not handled or not allowed 2026-01-28 11:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8008032-door-handle-assembly-for-southbend-range>: HTTP status code is not handled or not allowed 2026-01-28 11:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pressure-cntr-g1-4-dbl-solenoid-valve-pilot-spring-cntred-24v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 11:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pressure-cntr-g1-4-dbl-solenoid-valve-pilot-spring-cntred-12v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 11:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-g-1-4-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-fog-nozzle-517-151-1-1-2-npsh-lexan>: HTTP status code is not handled or not allowed 2026-01-28 11:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-36ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-48ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/residential-pool-spa-dehumidifier-pd200-10-6-amps-585-cfm-190-pints>: HTTP status code is not handled or not allowed 2026-01-28 11:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-fog-nozzle-w-bumper-516-1514-1-1-2-npsh-20-60-gpm-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 11:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-48ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-work-shirt-xl-light-blue-tcgsswn00119xlrg00>: HTTP status code is not handled or not allowed 2026-01-28 11:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009491-kick-plate-for-imperial-cooking-equipment>: HTTP status code is not handled or not allowed 2026-01-28 11:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-closed-cntr-spr-cntred-g1-8-24v-dc-2w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 11:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-closed-cntr-spr-cntred-g1-4-24v-ac-5va-coil-led>: HTTP status code is not handled or not allowed 2026-01-28 11:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-work-shirt-l-navy-tcgsswn00116lgrg00>: HTTP status code is not handled or not allowed 2026-01-28 11:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-work-shirt-s-tan-tcgsswn00112smrg00>: HTTP status code is not handled or not allowed 2026-01-28 11:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-vintage-wood-top-table-natural>: HTTP status code is not handled or not allowed 2026-01-28 11:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2631060-bushing-wash-arm-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 11:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-storz-adjustable-hydrant-wrench-846-8>: HTTP status code is not handled or not allowed 2026-01-28 11:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-floor-rack-with-bins-17>: HTTP status code is not handled or not allowed 2026-01-28 11:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-ext-pilot-g-1-4-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010938-retaining-ring-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 11:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 98351 pages (at 97 pages/min), scraped 49815 items (at 18 items/min) 2026-01-28 11:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moonflex-fire-hose-rack-reel-1117-1550751-500-psi-1-1-2-x-75-ft-brass-coupling>: HTTP status code is not handled or not allowed 2026-01-28 11:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beam-seating-guest-chairs-4-seater-white-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:45:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/gun_cabinets_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-performance-utility-pants-30-x-30-navy-pnt9su30x30>: HTTP status code is not handled or not allowed 2026-01-28 11:45:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/luggage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-60inw-x-24ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wax-thermal-transfer-ribbon-110mm-x-300m-awr6-outside-ink-wax>: HTTP status code is not handled or not allowed 2026-01-28 11:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-window-premium-stacking-bin-550123-sold-per-carton>: HTTP status code is not handled or not allowed 2026-01-28 11:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-glass-top-file-cabinet-14w-x-18d-x-24h-graphite>: HTTP status code is not handled or not allowed 2026-01-28 11:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardner-bender-reel-roller-30>: HTTP status code is not handled or not allowed 2026-01-28 11:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-osmosis-membrane-with-integrated-pretreatment-12l-hr>: HTTP status code is not handled or not allowed 2026-01-28 11:46:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-flame-resistant-t-shirt-2xl-t-navy-blue-df2-cm-446ts-nb-2xlt>: HTTP status code is not handled or not allowed 2026-01-28 11:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-36ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/coat_racks_umbrella_stands/luggage_racks>: HTTP status code is not handled or not allowed 2026-01-28 11:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-g-1-4-220v-ac-5va-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-4x-royal-blue-tcg01130231>: HTTP status code is not handled or not allowed 2026-01-28 11:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx18-dx73-h-open-clip-style-4-shelf>: HTTP status code is not handled or not allowed 2026-01-28 11:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-double-shaft-blower-resilient-base-115v-1075rpm-115hp>: HTTP status code is not handled or not allowed 2026-01-28 11:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-control-2-0-8482t-shirt-xl-navy-c52fksrxl>: HTTP status code is not handled or not allowed 2026-01-28 11:46:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/security_access_control/safes_lockboxes/gun_cabinets_racks landed on page that is not a product page. 2026-01-28 11:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-open-cntr-spr-cntred-1-4-nptf-24v-ac-5va-coil-led>: HTTP status code is not handled or not allowed 2026-01-28 11:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-1-2-nptf-12v-dc-3w-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-disposable-bag-for-attix-33-attix-44>: HTTP status code is not handled or not allowed 2026-01-28 11:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks>: HTTP status code is not handled or not allowed 2026-01-28 11:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shaft-1625rpm-115v-14hp>: HTTP status code is not handled or not allowed 2026-01-28 11:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gallon-dual-action-hand-pump>: HTTP status code is not handled or not allowed 2026-01-28 11:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanchion-2-green-w-c-hooks-incl-chain-extra-2-pole-14-base-41-height>: HTTP status code is not handled or not allowed 2026-01-28 11:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-72inw-x-30ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-pilot-spr-return-g-1-4-110v-ac-5va-coil-blk-conn>: HTTP status code is not handled or not allowed 2026-01-28 11:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-ultrasoft-fr-balaclava-osfm-khaki-h11rx>: HTTP status code is not handled or not allowed 2026-01-28 11:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strongknit-hi-vis-long-sleeve-fr-t-shirt-type-r-class-3-3xl-t-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-four-person-group-daily-appointment-book-black-7-7-8-x-11-2015-aagg56000>: HTTP status code is not handled or not allowed 2026-01-28 11:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-4x-ln-navy-tcg02160882>: HTTP status code is not handled or not allowed 2026-01-28 11:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-welded-deluxe-storage-cabinet36w-x-18d-x-78-3-4-h-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010966-shoe-slide-rod-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 11:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-stock-208-230v-1075rpm-34hp>: HTTP status code is not handled or not allowed 2026-01-28 11:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-fan-1140rpm-575v>: HTTP status code is not handled or not allowed 2026-01-28 11:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-replacement-lennox-208-230v-1050rpm-115hp>: HTTP status code is not handled or not allowed 2026-01-28 11:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/millerlsi-replacement-1050rpm-115v-17hp>: HTTP status code is not handled or not allowed 2026-01-28 11:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-cntred-closed-cntr-g-1-2-24v-dc-2w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 11:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-outdoor-sleeve-fan-208-230v-825rpm-16hp>: HTTP status code is not handled or not allowed 2026-01-28 11:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-48ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-48ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-single-phase-115v-17251140rpm-34-13hp>: HTTP status code is not handled or not allowed 2026-01-28 11:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-48inw-x-36ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-blower-1075rpm-115v-12hp>: HTTP status code is not handled or not allowed 2026-01-28 11:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264268-tee-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-pack-2-panels-orange-metal-32-x-32-x-3-4>: HTTP status code is not handled or not allowed 2026-01-28 11:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-open-cntr-spr-cntred-g1-8-220v-ac-5va-coil-black>: HTTP status code is not handled or not allowed 2026-01-28 11:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-economy-strips-2-in-6-in-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-48ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-magnetic-roll-1-in-wide>: HTTP status code is not handled or not allowed 2026-01-28 11:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010216-inner-door-for-amana-litton>: HTTP status code is not handled or not allowed 2026-01-28 11:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-1-1-2-in-36-in-clear-strip>: HTTP status code is not handled or not allowed 2026-01-28 11:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stack-chair-plastic-black-titanium-frame-hercules-series>: HTTP status code is not handled or not allowed 2026-01-28 11:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-welded-storage-cabinet-36w-x-18d-x-30h-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-x-0-8-x-25mm-security-machine-screw-button-torx-head-18-8-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-3-4-security-machine-screw-pan-spanner-head-18-8-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-seal-vinyl-pouches-3-5-in-self-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 11:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-foam-cord-1-8-cross-section-x-300-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-96inw-x-48ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-double-solenoid-valve-ext-pilot-g-1-8-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-in-c-in-design-1-in-6-in-self-adheres>: HTTP status code is not handled or not allowed 2026-01-28 11:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-foam-strip-with-high-temp-adhesive-1-8-x-1-4-x-56>: HTTP status code is not handled or not allowed 2026-01-28 11:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-hobby-craft-organizer-storage-kit-white-blue-32-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 11:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-ext-pilot-1-4-nptf-110v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 11:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oscillating-pedestal-fan-30-diameter-1>: HTTP status code is not handled or not allowed 2026-01-28 11:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-1-in-4-in-magnetic-write-on>: HTTP status code is not handled or not allowed 2026-01-28 11:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-end-wood-shelf-truck-48-x-24-2400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-2-security-machine-screw-flat-hex-socket-head-alloy-steel-black-oxide-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nv221-portable-balance-220g-x-0-01g-5-3-4-x-7-1-2-platform>: HTTP status code is not handled or not allowed 2026-01-28 11:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 98446 pages (at 95 pages/min), scraped 49841 items (at 26 items/min) 2026-01-28 11:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spice-womens-safety-work-boots-steel-toe-7h-size-95-mystic-dune-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-2-security-machine-screw-flat-hex-socket-head-302hq-18-8-stainless-steel-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-adjust-boltless-shelf-truck-with-wood-shelves-9>: HTTP status code is not handled or not allowed 2026-01-28 11:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g-1-2-dbl-solenoid-valve-pilot-spring-cntred-12v-dc-3w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 11:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-adjust-boltless-shelf-truck-with-wood-shelves-12>: HTTP status code is not handled or not allowed 2026-01-28 11:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-885-central-park-1-light-wall-lantern-w-clear-beveled-glass-white-6w-x-20h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-25-h-x-2-d-pleated-merv-8-standard-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 11:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelf-for-locboard-pegboard--mobile-tool-cart-12w-x-6d-x-3h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-889-central-park-3-light-wall-lantern-w-clear-beveled-glass-old-bronze-7-375w-x-22-75h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-3-4-security-machine-screw-flat-torx-plus-head-alloy-steel-black-oxide-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-womens-safety-work-boots-alloy-toe-8h-size-95-carbon-black>: HTTP status code is not handled or not allowed 2026-01-28 11:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pizza-disk-16-super-perforated-456-holes>: HTTP status code is not handled or not allowed 2026-01-28 11:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-swivel-threaded-stem-caster-4-polyolefin-wheel>: HTTP status code is not handled or not allowed 2026-01-28 11:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/french-roast-ground-coffee-035-oz-pouch-pack-of-76>: HTTP status code is not handled or not allowed 2026-01-28 11:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-1-1-4-security-sheet-metal-screw-flat-torx-head-302hq-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alterra-french-vanilla-ground-coffee-023-oz-pouch-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 11:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ab-x-1-1-2-security-sheet-metal-screw-flat-torx-head-302hq-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bowl-dough-scraper-3-3-4-x-5-3-4-1-4-hole>: HTTP status code is not handled or not allowed 2026-01-28 11:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ab-x-2-1-2-security-sheet-metal-screw-pan-spanner-head-18-8-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inertia-womens-safety-work-boots-steel-toe-7h-size-9w-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 11:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/measuring-cup-2-cup-with-wire-loop-handle>: HTTP status code is not handled or not allowed 2026-01-28 11:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/escort-emergency-light-6v-18w>: HTTP status code is not handled or not allowed 2026-01-28 11:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-120w-x-42d-x-120h-3320-lbs-cap-per-level-starter-unit>: HTTP status code is not handled or not allowed 2026-01-28 11:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnex-hygienic-mount-58-11x6-1770>: HTTP status code is not handled or not allowed 2026-01-28 11:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-60x48x60-with-3-shelves-no-deck-1200-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-2936-link-2-light-tube-wall-sconce-white-brushed-nickel-4-5w-x-21h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnex-anti-virbration-mount-34-10x6-bolt-stainless>: HTTP status code is not handled or not allowed 2026-01-28 11:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1828-dupont-3-light-pendant-satin-white-brushed-nickel-16w-x-20h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-318-ballerina-4-light-vanity-wall-alabaster-polished-chrome-30w-x-7-625h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010923-catch-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 11:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-1-1-4-security-sheet-metal-screw-button-torx-head-steel-black-oxide-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-1-security-sheet-metal-screw-round-one-way-head-18-8-stainless-steel-ft-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013067-basket-mesh-11-inch-x-11-inch-x-05-inch-for-merry-chef>: HTTP status code is not handled or not allowed 2026-01-28 11:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-port-usb-20-ultra-mini-hub-w-extension-cable>: HTTP status code is not handled or not allowed 2026-01-28 11:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/750va-ups-smart-pro-rack-tower-line-interactive-6-outlet>: HTTP status code is not handled or not allowed 2026-01-28 11:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-c-polypropylene-cam-and-groove-coupler-x-hose-shank>: HTTP status code is not handled or not allowed 2026-01-28 11:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 11:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-65-bourbon-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-wire-shelving-36w-x-12-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-wide-span-rack-72x24-wood-deck-900-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoke-removal-fan-half-hp-120v-16-inch-dia-explosion-proof-motor>: HTTP status code is not handled or not allowed 2026-01-28 11:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-857-1-light-oval-cage-wall-fixt-polysynthetic-body-lens-black-5w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-a-aluminum-spec-cam-and-groove-adapter-x-female-npt>: HTTP status code is not handled or not allowed 2026-01-28 11:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-eagle-174-jacket-gold-inner-cuffs-storm-fly-front-hood-snaps-medium>: HTTP status code is not handled or not allowed 2026-01-28 11:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-995-1-light-porch-wall-clear-mason-jar-antique-brass-4w-x-8-5h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-16-inch-2-5-8-inch-stainless-steel-ultra-t-bolt-clamp-ut-231>: HTTP status code is not handled or not allowed 2026-01-28 11:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sizer-replacement-blade>: HTTP status code is not handled or not allowed 2026-01-28 11:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulsar-knee-boot-composite-safety-toe-chevron-plus-174-15-h-blk-gray-size-11>: HTTP status code is not handled or not allowed 2026-01-28 11:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-bracket-for-spray-bottles>: HTTP status code is not handled or not allowed 2026-01-28 11:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-eagle-174-jacket-gold-inner-cuffs-storm-fly-front-hood-snaps-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-96x24x96-with-3-shelves-no-deck-800-lb-capaity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-span-rack-96x24x96-with-3-shelves-wood-deck-800-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1834-dupont-3-light-vanity-wall-satin-white-brushed-nickel-24w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-48x48x84-with-3-shelves-no-deck-1200-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1835-dupont-4-light-vanity-wall-satin-white-brushed-nickel-30w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-703-porch-wall-white-globe-old-bronze-5-5w-x-8-5h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-9w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-double-sided-heavy-duty-adjustable-table-diamond-96-wide-black>: HTTP status code is not handled or not allowed 2026-01-28 11:47:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/conference_training_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281927-insulation-flue-back-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 11:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-648-1-light-landscape-flood-dark-bronze-5-5w>: HTTP status code is not handled or not allowed 2026-01-28 11:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-2-station-with-manual-faucets-wall-mounte4l-x20-wxd>: HTTP status code is not handled or not allowed 2026-01-28 11:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-container-tilter-transporter-2500-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-hard-hat-area-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 11:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-85-black>: HTTP status code is not handled or not allowed 2026-01-28 11:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-9w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-security-chain-and-wall-mount-bracket-for-wheel-chock-hanger>: HTTP status code is not handled or not allowed 2026-01-28 11:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-13-vegan-blackout>: HTTP status code is not handled or not allowed 2026-01-28 11:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x12x96-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grosfillex-colombo-dining-armchair-charcoal-sold-in-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 11:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-non-ansi-vest-14602-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hepa-flat-pleated-filter-cellulose-6-904-364-0>: HTTP status code is not handled or not allowed 2026-01-28 11:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009897-compression-spring-vct2010-gen-3-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 11:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/conference_training_chairs>: HTTP status code is not handled or not allowed 2026-01-28 11:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-2-economy-mesh-vest-61447-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-523-1-light-die-cast-bulk-head-frosted-diffuser-architectural-bronze-6-125w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x12x96-with-5-shelves-wire-deck-2>: HTTP status code is not handled or not allowed 2026-01-28 11:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-060-1-light-ceiling-flush-mount-small-mushroom-white-7-5w-x-5h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/in-ground-steel-mounting-post-43-h-bronze>: HTTP status code is not handled or not allowed 2026-01-28 11:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-flexible-stake-48-in-h-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-level-boltless-wire-deck-1>: HTTP status code is not handled or not allowed 2026-01-28 11:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-098-2-light-ceiling-flush-mount-medium-crystal-white-drum-white-8-w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-high-letter-end-panel-kit-bone-white>: HTTP status code is not handled or not allowed 2026-01-28 11:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-36inw-x-24ind-x-48inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-inch-petroleum-resistant-standard-duty-curved-floor-squeegee-case-of-six>: HTTP status code is not handled or not allowed 2026-01-28 11:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-jewelers-saw-3-inch-dia-x-023-inch-face-x-1-2-inch-hole-x-230-teeth>: HTTP status code is not handled or not allowed 2026-01-28 11:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/282408-pusher-plate-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 11:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-2864-odeon-3-light-ceiling-satin-white-brushed-nickel-17w-x-5-625h>: HTTP status code is not handled or not allowed 2026-01-28 11:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 98546 pages (at 100 pages/min), scraped 49854 items (at 13 items/min) 2026-01-28 11:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2941035-crank-torque-1-8-inch-sq-x4-11-16l-for-anthony-international-california>: HTTP status code is not handled or not allowed 2026-01-28 11:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84-x-28-extra-long-folding-assembly-bench>: HTTP status code is not handled or not allowed 2026-01-28 11:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-high-legal-adder-empty-black>: HTTP status code is not handled or not allowed 2026-01-28 11:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-40-x-80-light-duty-2-9-oz-tarp-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-constant-pull-23>: HTTP status code is not handled or not allowed 2026-01-28 11:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-3174-1-light-pendant-frosted-white-mahogany-bronze-9-75w-x-20-5h>: HTTP status code is not handled or not allowed 2026-01-28 11:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-lower-shelf-bench-15-d-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-kit-48-h-pair-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adder-unit-legal-31-inch-38-3-4-inch-82-inch-7-opening-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starter-unit-legal-31-inch-45-1-2-inch-71-1-2-inch-6-opening-black>: HTTP status code is not handled or not allowed 2026-01-28 11:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-16-x-20-super-8-oz-tarp-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-edge-work-bench-top-esd-96-w-x-36-d-x-1-1-4-thick>: HTTP status code is not handled or not allowed 2026-01-28 11:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/auto-lock-file-storage-box-fsb440-letter-24l-x-12w-x-10h-white-price-each>: HTTP status code is not handled or not allowed 2026-01-28 11:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-jobber-drill-number-size-60-pc-1-60-compl-w-box>: HTTP status code is not handled or not allowed 2026-01-28 11:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-traffic-floor-finish-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 11:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warehouse-rack-bins-binw102042-10w-x-42d-x-20h-kraft-price-each>: HTTP status code is not handled or not allowed 2026-01-28 11:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45u-2-post-relay-rack>: HTTP status code is not handled or not allowed 2026-01-28 11:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-12ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-m-style-steel-plug-1-4-x-1-4-push-lock-hose-barb-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 11:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011249-relay-timer-for-delfield>: HTTP status code is not handled or not allowed 2026-01-28 11:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-taper-pipe-reamer-straight-flute-1-16-inch-diameter-6-flute>: HTTP status code is not handled or not allowed 2026-01-28 11:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661123-contactor-for-compressor4-pole-old-12725-33-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 11:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-48inw-x-12ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-5-step-steel-rolling-ladder-21-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 11:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-48inw-x-24ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-x-1-2-copper-press-x-mpt-w-male-adapter>: HTTP status code is not handled or not allowed 2026-01-28 11:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-13-step-steel-rolling-ladder-21-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 11:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266287-bracket-pivot-top-lft-btm-rt>: HTTP status code is not handled or not allowed 2026-01-28 11:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-9-step-steel-rolling-ladder-21-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 11:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-200-ft-1000-psi-without-hose-hand-crank>: HTTP status code is not handled or not allowed 2026-01-28 11:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-hose-bumperfor-reel-series-5000-a5005-7000-80000-d8000-e8000-rt800>: HTTP status code is not handled or not allowed 2026-01-28 11:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superlosa-lavender-neutral-cleaner-2-oz-packs-2397221>: HTTP status code is not handled or not allowed 2026-01-28 11:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-series-lever-dolly-e-84-iw-boxed-84-handle-semi-steel-wheels-5000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-directional-steel-rolling-ladder>: HTTP status code is not handled or not allowed 2026-01-28 11:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-steel-wheel-108-sra-8-dia-2w-1400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24-w-grip-all-directional-steel-ladder-safety-angle>: HTTP status code is not handled or not allowed 2026-01-28 11:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-pedestal-1-2-50-ft-2000-psi-oil-with-hose>: HTTP status code is not handled or not allowed 2026-01-28 11:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-crank-3-8-50-ft-250-psi-air-water-without-hose-light-duty>: HTTP status code is not handled or not allowed 2026-01-28 11:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-awg-3-cond-50-ft-30-amp-without-cord-37-lbs>: HTTP status code is not handled or not allowed 2026-01-28 11:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-awg-3-cond-50-ft-30-amp-flying-leads>: HTTP status code is not handled or not allowed 2026-01-28 11:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/giant-stackable-storage-bin-18-3-8x19-3-4x11-7-8-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n22-32-series-rigid-caster-n32-6-mc-phenolic-6-dia-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-starter-48inw-x-12ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-smh-connector-1-0-wire-gauge-350-amp-red>: HTTP status code is not handled or not allowed 2026-01-28 11:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-15-step-steel-rolling-ladder-10-d-top-step-kdsr115246>: HTTP status code is not handled or not allowed 2026-01-28 11:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handtruck-e-48-10ff-double-handle-10-puncture-proof-wheels-550-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-parking-curb-with-hardware-72-lx4-hx6-w>: HTTP status code is not handled or not allowed 2026-01-28 11:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011491-air-filter-large-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 11:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012449-spring-zinc-plated>: HTTP status code is not handled or not allowed 2026-01-28 11:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inside-stational-deck-dome-oven-round-exterior-47-gas-92500-btu-120v-digital-control>: HTTP status code is not handled or not allowed 2026-01-28 11:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62-1114-temperature-gauge-20-220-f-rear-jam-nut-mount>: HTTP status code is not handled or not allowed 2026-01-28 11:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hand-chain-hoist-1-2-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 11:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/422131-power-switch>: HTTP status code is not handled or not allowed 2026-01-28 11:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-low-headroom-plain-trolley-5-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 11:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012409-potentiometer-for-woodstone-ovens>: HTTP status code is not handled or not allowed 2026-01-28 11:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-rubber-wheel-2503-bx-3-dia-1-1-4w-150-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-with-removable-bins-53>: HTTP status code is not handled or not allowed 2026-01-28 11:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-add-on-48inw-x-24ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-food-grade-electric-chain-hoist-w-chain-container-1-2-ton-10-ft-lift-115v>: HTTP status code is not handled or not allowed 2026-01-28 11:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-horizontal-portable-heater-10kw-240v-1-or-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 11:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-economy-lift-beam-fixed-length-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f32-25wt8-865-es-env-25w-fluorescent-w-medium-bi-pin-base-daylight>: HTTP status code is not handled or not allowed 2026-01-28 11:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-safety-view-locker-five-tier-12x18x12-5-doors-unassembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-2-shelf-mobile-rack-cabinet-with-locking-panels-beige>: HTTP status code is not handled or not allowed 2026-01-28 11:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-uncaged-fixed-access-ladder-yellow-13>: HTTP status code is not handled or not allowed 2026-01-28 11:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-boom-forklift-jib-lift-crane-pb-jlt836-8000-lb-capacity-36-on-center-fork-pockets>: HTTP status code is not handled or not allowed 2026-01-28 11:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-uncaged-fixed-access-ladder-yellow-4>: HTTP status code is not handled or not allowed 2026-01-28 11:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-a-frame-bin-cart-2-louvered-panels-48w-x-30d-x-62h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caged-walk-through-fixed-access-ladder-gray-7>: HTTP status code is not handled or not allowed 2026-01-28 11:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caged-walk-through-fixed-access-ladder-yellow-2>: HTTP status code is not handled or not allowed 2026-01-28 11:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nss-m1-pig-3-pack-vacuum-bag>: HTTP status code is not handled or not allowed 2026-01-28 11:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wing-nut-for-groen-009028>: HTTP status code is not handled or not allowed 2026-01-28 11:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5181008-start-switch-complete-76894--76727-for-powersoak>: HTTP status code is not handled or not allowed 2026-01-28 11:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/windsor-sensor-versamatic-plus-triple-layer-bag-vacuum-bag>: HTTP status code is not handled or not allowed 2026-01-28 11:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-stem-angle-valve-1-2-fpt-for-market-forge-10-5242>: HTTP status code is not handled or not allowed 2026-01-28 11:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advance-uz934-vacuum-bag>: HTTP status code is not handled or not allowed 2026-01-28 11:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-depth-cardboard-corrugated-boxes-18l-x-14w-x-12h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 11:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20t4-cl-g8-20w-halogen-w-bi-pin-base>: HTTP status code is not handled or not allowed 2026-01-28 11:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-carrying-tab-lock-mailers-24l-x-14w-x-4h-white-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 98644 pages (at 98 pages/min), scraped 49873 items (at 19 items/min) 2026-01-28 11:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-ldpe-pallet-cover-68in-x-87in-3-mil-pallet-size-64in-x-64in-x-52in-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 11:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-desk-drawer-filing-storage-1>: HTTP status code is not handled or not allowed 2026-01-28 11:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c3232-15-washdown-checkweigher-scale-15-lb-x-0-001-lb>: HTTP status code is not handled or not allowed 2026-01-28 11:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009887-non-adj-temp-switch-aaon-compressor-lock-out>: HTTP status code is not handled or not allowed 2026-01-28 11:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-5-cubic-yard-tilt-truck-k-d-non-forkli-able>: HTTP status code is not handled or not allowed 2026-01-28 11:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-w-diamond-sof-tred-mat-black-yellow-2>: HTTP status code is not handled or not allowed 2026-01-28 11:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-socket-1-2-drive-1-1-16-80-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 11:48:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250r40-1-250w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 11:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-steady-burning-led-24-12-male-pipe-green>: HTTP status code is not handled or not allowed 2026-01-28 11:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuf-r-standard-lldpe-flat-bag-6in-x-15in-1-mil-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 11:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pink-anti-static-seal-top-bag-2-1-2in-x-3in-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 11:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266251-pull-recessed-rectangulr-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-1-2s11-r-7-5w-general-service-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 11:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/federal-signal-explosion-proof-strobe-light-120-green>: HTTP status code is not handled or not allowed 2026-01-28 11:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5mr11-nfl-5w-halogen-w-sub-minature-2-pin-base>: HTTP status code is not handled or not allowed 2026-01-28 11:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datum-tekstak-laptop-storage-locker-11-tier-electronic-lock-1>: HTTP status code is not handled or not allowed 2026-01-28 11:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-dura-chef-interlock-kitchen-anti-fatigue-mats-5-8-x-3-x-3-red>: HTTP status code is not handled or not allowed 2026-01-28 11:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-yard-ramp-15-ft-l-x-94-in-w-12000lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 11:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-yard-ramp-15-ft-l-x-70-in-w-16000lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-wide-rib-corrugated-rubber-floor-mat-1-8-thick-x-3-x-6-roll>: HTTP status code is not handled or not allowed 2026-01-28 11:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-2-ton-service-jack-6-ton-jack-stand-combo>: HTTP status code is not handled or not allowed 2026-01-28 11:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009301-thermistor-service-kt-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 11:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-corrugated-boxes-18l-x-16w-x-14h-kraft-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-28 11:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-jack-4-ton-heavy-duty>: HTTP status code is not handled or not allowed 2026-01-28 11:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-mobile-workbench-plastic-laminate-safety-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8407905-sensor-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 11:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-wall-gaylord-bottom-40l-x-30w-x-30h-kraft-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 11:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-mobile-production-workbench-with-power-apron-plastic-laminate-safety-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/body-repair-kit-4-ton>: HTTP status code is not handled or not allowed 2026-01-28 11:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-cardboard-corrugated-boxes-4l-x-4w-x-74h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-steel-5x2-with-5-8-axle>: HTTP status code is not handled or not allowed 2026-01-28 11:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-plastic-laminate-safety-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-28 11:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-shop-top-safety-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-28 11:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-locker-number-plate-kit-pkg-of-200-numbered-2500-2699>: HTTP status code is not handled or not allowed 2026-01-28 11:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-bl04054012-pro-ii-series-54w-x-24d-x-39h-10-drawer-blue-roller-cabinet-with-lift-latch>: HTTP status code is not handled or not allowed 2026-01-28 11:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-bucket-5-gallon-plastic>: HTTP status code is not handled or not allowed 2026-01-28 11:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pic-gauges-2-1-2-pressure-gauge-liquid-filled-3000-psi-ss-case-center-back-mount-pro-202l-254p>: HTTP status code is not handled or not allowed 2026-01-28 11:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1187-water-line-inch-y-inch-strainer-1-2-inch-fpt>: HTTP status code is not handled or not allowed 2026-01-28 11:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nurses-stethoscope-22-tubing>: HTTP status code is not handled or not allowed 2026-01-28 11:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-pdu-basic-ap9566>: HTTP status code is not handled or not allowed 2026-01-28 11:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-jack-8-ton-super-duty>: HTTP status code is not handled or not allowed 2026-01-28 11:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-4-1-8-d-x-23-5-8-d-x-4-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-follower-full-comp-inch-cry64vuu-double-sealed-4-od>: HTTP status code is not handled or not allowed 2026-01-28 11:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bloodborne-pathogen-clean-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/separable-roller-follower-wo-inner-ring-metric-rnast6-10-mm-bore-19-mm-od>: HTTP status code is not handled or not allowed 2026-01-28 11:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viking-assist-bottle-jack-20-ton-air>: HTTP status code is not handled or not allowed 2026-01-28 11:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hopper-bin-red>: HTTP status code is not handled or not allowed 2026-01-28 11:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35mr16-fmw-b-gu10-35w-halogen-w-twist-turn-base>: HTTP status code is not handled or not allowed 2026-01-28 11:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-corrugated-boxes-24l-x-24w-x-10h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-bottle-jack-12-ton-air>: HTTP status code is not handled or not allowed 2026-01-28 11:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-gun-holder>: HTTP status code is not handled or not allowed 2026-01-28 11:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-easy-fold-mailers-9-12l-x-6-12w-x-3-12h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 11:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-without-lid-33>: HTTP status code is not handled or not allowed 2026-01-28 11:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cf26dt-e-in-841-26w-compact-fluorescent-w-gx24vq-3-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 11:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-ton-ironworker-3-phase-460v-w-hydraulic-accessory-pack-iw55-3p460-ac500>: HTTP status code is not handled or not allowed 2026-01-28 11:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-jr-9in-tissue-dsp-smoke-1>: HTTP status code is not handled or not allowed 2026-01-28 11:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-12>: HTTP status code is not handled or not allowed 2026-01-28 11:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-stat-dyna-shield-anti-static-mat-3-wide-full-60-roll-blk>: HTTP status code is not handled or not allowed 2026-01-28 11:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquadozer-h-dty-flr-squge-18-neopr-rbr-6>: HTTP status code is not handled or not allowed 2026-01-28 11:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hold-up-tool-rack-18-rbr5>: HTTP status code is not handled or not allowed 2026-01-28 11:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266183-leg-18-inch-h-stainless-steel-35-inch-plt>: HTTP status code is not handled or not allowed 2026-01-28 11:49:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266185-leg-32-inch-h-stainless-steel-35-inch-plt>: HTTP status code is not handled or not allowed 2026-01-28 11:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-clean-magic-eraser-extra-power>: HTTP status code is not handled or not allowed 2026-01-28 11:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cellulose-sponge-m-366x608x155-beige-24>: HTTP status code is not handled or not allowed 2026-01-28 11:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxview153-370-speed-dial-series-replacement-face-shield-headgear-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:49:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-compact-power-tool-battery-2-pack-4-0ah-lithium-ion>: HTTP status code is not handled or not allowed 2026-01-28 11:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-power-tool-battery-charger-kit-with-bag-5-0ah-lithium-ion-60-min-charge>: HTTP status code is not handled or not allowed 2026-01-28 11:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/doodleduster-holder-38x394x3>: HTTP status code is not handled or not allowed 2026-01-28 11:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-short-divider-24>: HTTP status code is not handled or not allowed 2026-01-28 11:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max540h190str-wheeled-waterproof-case-wcubed-foam-23-2532l-x-18-58w-x-8-78h>: HTTP status code is not handled or not allowed 2026-01-28 11:49:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines landed on page that is not a product page. 2026-01-28 11:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511520-thermocouple-standard-18-inch-for-white-rodgers>: HTTP status code is not handled or not allowed 2026-01-28 11:49:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/incandescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-long-divider-19>: HTTP status code is not handled or not allowed 2026-01-28 11:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-xr-angled-cordless-finish-nailer-kit-15-gauge-li-ion>: HTTP status code is not handled or not allowed 2026-01-28 11:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines>: HTTP status code is not handled or not allowed 2026-01-28 11:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-w-x-60-l-forkli-fork-tine-extension-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-pin-compact-fluorescent-light-bulb-gx24q3-base-6500k-26w-daylight-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-leg-workbench-with-fixed-height-legs-10>: HTTP status code is not handled or not allowed 2026-01-28 11:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-filtered-exhaust-fan-direct-drive-totally-enclosed-1-phase-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 11:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-cylinder-transport-dolly-with-hard-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-mat-shelf-21-in-x-36-in-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 11:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-vertical-fat-bike-rack-mount-single-track>: HTTP status code is not handled or not allowed 2026-01-28 11:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75a-blacklight-75w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 11:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-pin-compact-fluorescent-light-bulb-gx23-2-base-3000k-13w-warm-white-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 98744 pages (at 100 pages/min), scraped 49888 items (at 15 items/min) 2026-01-28 11:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hepa-backpack-vac-replacement-hepa-filter-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 11:49:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/incandescent_light_bulbs landed on page that is not a product page. 2026-01-28 11:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009680-filter-kit-for-302e-everpure-for-everpure-filter>: HTTP status code is not handled or not allowed 2026-01-28 11:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sit-stand-desk-mesh-chair-bundle-72-x-30-white-black-base>: HTTP status code is not handled or not allowed 2026-01-28 11:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-plastic-sheet-1-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011538-thermostat-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 11:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011811-thermostat-for-champion-dishwasher>: HTTP status code is not handled or not allowed 2026-01-28 11:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011892-thermostat-kit-for-randell>: HTTP status code is not handled or not allowed 2026-01-28 11:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-hc-narrow-section-molded-notch-vbelt-gates-3vx560>: HTTP status code is not handled or not allowed 2026-01-28 11:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50r20-gro-50w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 11:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-duck-pond-mini-berm-containment-2-x-1-3-x-6-5623-ye-f>: HTTP status code is not handled or not allowed 2026-01-28 11:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-edison-globe-light-bulb-6w-2700k-6-116l-half-chrome-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 11:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1ns-long-sleeve-pullover-hoodie-with-uv-protection-s-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009398-safety-valve-baso>: HTTP status code is not handled or not allowed 2026-01-28 11:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-12-x-8-standard-clear-strip-strip-curtain-doors>: HTTP status code is not handled or not allowed 2026-01-28 11:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25a-r-25w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 11:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-mobile-grill-island-4-burner-propane-gas-teakblack>: HTTP status code is not handled or not allowed 2026-01-28 11:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-2-thick-x-4-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511245-pilot-burner>: HTTP status code is not handled or not allowed 2026-01-28 11:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/incandescent-bulb-with-e17-intermediate-base-7w-120v-white-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 11:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511247-heavy-duty-thermocouple-for-johnson-controls>: HTTP status code is not handled or not allowed 2026-01-28 11:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40g40-w-40w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 11:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeley-u-shaped-desk-with-lateral-file-and-bookcase-dark-chocolate>: HTTP status code is not handled or not allowed 2026-01-28 11:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microv-serpentine-drive-belt-gates-k061298>: HTTP status code is not handled or not allowed 2026-01-28 11:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1036-steam-water-oil-gas-ball-shut-off-valve-1-2-inch-fpt-threaded-ends>: HTTP status code is not handled or not allowed 2026-01-28 11:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-piston-vibrator-55-1-1-2s>: HTTP status code is not handled or not allowed 2026-01-28 11:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-shot-liquid-soap-dispenser-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 11:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-piston-vibrator-55-1-1-4s>: HTTP status code is not handled or not allowed 2026-01-28 11:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh329-non-vented-full-brim-hard-hat-4-point-ratchet-suspension-carbon-fiber-black>: HTTP status code is not handled or not allowed 2026-01-28 11:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000-1-4-diameter-7x19-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 11:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-ball-vibrator-bb-190>: HTTP status code is not handled or not allowed 2026-01-28 11:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/923-series-airtight-watertight-case-923-0004-18-5-8-l-x-14-3-8-w-x-6-5-16-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-panel-light-fixture-304050w-304050k-120-277v-47-1316l-white-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 11:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-ball-vibrator-v-19se>: HTTP status code is not handled or not allowed 2026-01-28 11:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-sheet-2-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh400-vented-safety-helmet-4-point-adjustable-ratchet-suspension-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skid-steer-grab-bucket-66-wide>: HTTP status code is not handled or not allowed 2026-01-28 11:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-trim-line-channelizer-w-4-6-hi-intensity-stripes>: HTTP status code is not handled or not allowed 2026-01-28 11:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reliant-lighted-display-case-60-w-x-80-h-x-16-d-natural-oak-base-mirror-back-dark-bronze-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-4-way-pallet-jack-truck-ept-33-4w-3300-lb-capacity-33-x-48>: HTTP status code is not handled or not allowed 2026-01-28 11:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wasp-fixture-mount-low-temp-watertight-occupancy-sensor-white>: HTTP status code is not handled or not allowed 2026-01-28 11:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-blade-kit-for-magsnip-straight-metal>: HTTP status code is not handled or not allowed 2026-01-28 11:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-f54t5ho-835-46in85cri>: HTTP status code is not handled or not allowed 2026-01-28 11:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-cleaner-floral-scent-liquid-1-qt-trigger-spray-bottle>: HTTP status code is not handled or not allowed 2026-01-28 11:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-proof-3x5-drainage-mat-red>: HTTP status code is not handled or not allowed 2026-01-28 11:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-mat-chemical-resistant-5>: HTTP status code is not handled or not allowed 2026-01-28 11:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-steel-container-green-6>: HTTP status code is not handled or not allowed 2026-01-28 11:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-f14t5-835-22in85cri>: HTTP status code is not handled or not allowed 2026-01-28 11:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kimberly-clark-professional-wypall-x80-wipers-quarterfold-50pack-red>: HTTP status code is not handled or not allowed 2026-01-28 11:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-1-2-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-212w-m-style-industrial-coupler-and-plug-kit-7-piece-7-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-sm-b101028-sci-medlamp>: HTTP status code is not handled or not allowed 2026-01-28 11:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-party-cold-drink-cups-16-oz-clear-50bag>: HTTP status code is not handled or not allowed 2026-01-28 11:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-double-hinged-door-6w-x-7h-10-5-1-4-overall-height>: HTTP status code is not handled or not allowed 2026-01-28 11:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-jc12v-35w-gy6-35c-8>: HTTP status code is not handled or not allowed 2026-01-28 11:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-4-thick-x-1-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 11:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-760-v-style-high-flow-plug-1-4-mnpt-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-012-ss>: HTTP status code is not handled or not allowed 2026-01-28 11:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-772w-a-style-aro-coupler-and-plug-kit-2-piece-1-4-npt>: HTTP status code is not handled or not allowed 2026-01-28 11:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-drink-cups-polylined-paper-8-oz-bistro-design-maroon-50bag>: HTTP status code is not handled or not allowed 2026-01-28 11:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-217-v-style-high-flow-coupler-and-plug-kit-6-piece-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-224-g-style-industrial-coupler-and-plug-reducer-kit-5-piece-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-plastic-sheet-1-2-thick-x-48-wide-x-96-long>: HTTP status code is not handled or not allowed 2026-01-28 11:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881364-ball-valve-for-a-c-and-refrig-for-emerson-radio-corp>: HTTP status code is not handled or not allowed 2026-01-28 11:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlc-electric-chain-hoist-with-chain-container-12-ton-cap-10-ft-lift-16-fpm-115230v>: HTTP status code is not handled or not allowed 2026-01-28 11:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-wire-bin-rack-48x24x63>: HTTP status code is not handled or not allowed 2026-01-28 11:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/turn-signal-switch-repair-kit-standard-ignition-tw83c>: HTTP status code is not handled or not allowed 2026-01-28 11:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 98840 pages (at 96 pages/min), scraped 49917 items (at 29 items/min) 2026-01-28 11:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3150-buckle-hard-hat-lanyard-lime-19150>: HTTP status code is not handled or not allowed 2026-01-28 11:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/incandescent-bulb-with-e12-candelabra-base-7w-120v-green-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 11:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a19-light-bulb-e26-base-9w-800-lumens-2700k-soft-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 11:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271197-gas-valve-ofg-322-323hp-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 11:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-row-spacer-6-depth>: HTTP status code is not handled or not allowed 2026-01-28 11:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-s14-colored-string-filament-light-bulb-e26-base-2w-transparent-green-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 11:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-8-petroleum-sorbent-mini-boom-3-x-8-6-boomscase>: HTTP status code is not handled or not allowed 2026-01-28 11:51:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hose_cord_reels/air_water_reels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-137-ss>: HTTP status code is not handled or not allowed 2026-01-28 11:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-b13-torpedo-frosted-light-bulb-e26-base-7w-500-lumens-40k-cool-white-pk-of-6>: HTTP status code is not handled or not allowed 2026-01-28 11:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-coated-steel-handle-60-l-x-1-d-for-floor-brushes-and-floor-squeegees>: HTTP status code is not handled or not allowed 2026-01-28 11:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlt-1877-0200-3-foot-12-dia-structo-cast-measuring-wheel>: HTTP status code is not handled or not allowed 2026-01-28 11:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hw-am-1-series-3-4-inch-npt-lead-free-mixing-valve-70-f-120f>: HTTP status code is not handled or not allowed 2026-01-28 11:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-service-sink-one-compartment-18l-x-14w-x-12h-bowl-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-maple-square-edge-mobile-power-apron-production-bench-blue-32313745>: HTTP status code is not handled or not allowed 2026-01-28 11:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-w-perma-poly-push-broom-head-with-flagged-styrene-bristles>: HTTP status code is not handled or not allowed 2026-01-28 11:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-outdoor-mission-style-half-cylinder-wall-light-fixture-15w-800-lumens-whiteblk>: HTTP status code is not handled or not allowed 2026-01-28 11:51:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hose_cord_reels/air_water_reels landed on page that is not a product page. 2026-01-28 11:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-6en-series-sump-pump-10feet-power-cord-float-switch>: HTTP status code is not handled or not allowed 2026-01-28 11:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x30-plastic-safety-edge-power-apron-production-bench-blue-32313776>: HTTP status code is not handled or not allowed 2026-01-28 11:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x36-esd-safety-edge-power-apron-production-bench-blue-32313782>: HTTP status code is not handled or not allowed 2026-01-28 11:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-maple-safety-edge-power-apron-production-bench-blue-32313793>: HTTP status code is not handled or not allowed 2026-01-28 11:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009416-sensor-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-28 11:51:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/open_base_workbenches/stationary_open_base_workbenches/heavy_duty_stationary_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par30-recessed-light-bulb-e26-base-9w-850-lumens-2700k-soft-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 11:51:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-4-1-4-handle-nut-ductile-iron-plain-made-in-usa-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 11:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-gm2c-10-b>: HTTP status code is not handled or not allowed 2026-01-28 11:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-5-piece-cabinet-set-106-5w-x-21d-x-80h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-8-piece-cabinet-set-141w-x-21d-x-36-5h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/choice-cordless-outdoor-sun-shade-36-w-x-72-l-cabo-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par30-reflector-light-bulb-e26-base-9w-750-lumens-40k-cool-white-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 11:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-a-2-air-hardening-flat-stock-1-3-4x3-16x18>: HTTP status code is not handled or not allowed 2026-01-28 11:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/styleview-emr-electronic-medical-record-medical-cart-with-lcd-pivot-sv41-6300-0>: HTTP status code is not handled or not allowed 2026-01-28 11:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/work-benches/workbenches_worktables/open_base_workbenches/stationary_open_base_workbenches/heavy_duty_stationary_workbenches>: HTTP status code is not handled or not allowed 2026-01-28 11:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-square-bell-shaped-vanity-light-fixture-100w-14l-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 11:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 11:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toggle-switch-plate-3-gang-silver-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 11:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tensioner-1>: HTTP status code is not handled or not allowed 2026-01-28 11:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-056-z>: HTTP status code is not handled or not allowed 2026-01-28 11:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-corrosion-resistant-exhaust-fan-with-shutter-direct-drive-1-8-hp-900-cfm-115v>: HTTP status code is not handled or not allowed 2026-01-28 11:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-075-b>: HTTP status code is not handled or not allowed 2026-01-28 11:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010133-10-wire-so-cord-4-wire45amp-sold-per-foot>: HTTP status code is not handled or not allowed 2026-01-28 11:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-018-b>: HTTP status code is not handled or not allowed 2026-01-28 11:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-deck-60-wx36-d-4>: HTTP status code is not handled or not allowed 2026-01-28 11:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-coupling-g2scc-112-112>: HTTP status code is not handled or not allowed 2026-01-28 11:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-30-r-storage-cabinet-all-welded-30-wx18-dx72-h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solid-galvanized-shelf-48x18>: HTTP status code is not handled or not allowed 2026-01-28 11:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inspection-gloves-womens-hemmed>: HTTP status code is not handled or not allowed 2026-01-28 11:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-24-w-grip-all-directional-steel-rolling-ladder-w-cal-osha-handrail-cal-pip-7-32g>: HTTP status code is not handled or not allowed 2026-01-28 11:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-gmc-50-b>: HTTP status code is not handled or not allowed 2026-01-28 11:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011213-wire-12-842-degreehigh-temp-mg-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piloted-solenoid-valve-5-port-2-pos-dbl-solenoid-1-2-npt-24vdc-cv-279>: HTTP status code is not handled or not allowed 2026-01-28 11:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-steel-stock-picking-ladder-expanded-tread-w-cal-osha-handrail-cal-spl-9-14x>: HTTP status code is not handled or not allowed 2026-01-28 11:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-bronze-pole-108w-olefin-navywhite-stripe-fabric>: HTTP status code is not handled or not allowed 2026-01-28 11:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-075-b>: HTTP status code is not handled or not allowed 2026-01-28 11:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-087-b>: HTTP status code is not handled or not allowed 2026-01-28 11:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-back-support-with-suspenders-size-25-to-30-2>: HTTP status code is not handled or not allowed 2026-01-28 11:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/springer-message-board-sign-deluxe-24w-x-36h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-ink-cabinet-self-close-bifold-doors-vertical-storage-4>: HTTP status code is not handled or not allowed 2026-01-28 11:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/newport-patio-umbrella-with-silver-pole-108w-sunbrella-2a-red-fabric>: HTTP status code is not handled or not allowed 2026-01-28 11:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-363013-n-bookcase-all-welded-36-wx13-dx30-h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010381-rtd-thermostat-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-28 11:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/masterpiece-select-thunderstorm-2-x-3>: HTTP status code is not handled or not allowed 2026-01-28 11:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piloted-solenoid-valve-5-port-2-pos-sngl-solenoid-1-2-npt-120vac-cv-279>: HTTP status code is not handled or not allowed 2026-01-28 11:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-grc-137>: HTTP status code is not handled or not allowed 2026-01-28 11:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-364218-pt-grn-bookcase-all-welded-36-wx18-dx42-h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-28 11:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-truck-48-l-x-30-w-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-48rb-l-grn-storage-cabinet-all-welded-48-wx18-dx72-h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-28 11:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-frame-table-recycled-plastic-6-ft-cedar-ada>: HTTP status code is not handled or not allowed 2026-01-28 11:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-12-step-steel-rolling-ladder-21-d-top-step-w-handrails-lock-step-orange-w-cal-osha-handrail-cal-fs123221p-o>: HTTP status code is not handled or not allowed 2026-01-28 11:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-364218-wr-bookcase-all-welded-36-wx18-dx42-h-wine-red>: HTTP status code is not handled or not allowed 2026-01-28 11:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-24-wx66-d-stainless-steel-rolling-safety-ladder-perforated-tread-w-cal-osha-handrail-cal-ss063228p>: HTTP status code is not handled or not allowed 2026-01-28 11:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 98933 pages (at 93 pages/min), scraped 49940 items (at 23 items/min) 2026-01-28 11:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-30111-bk-15-amp-locking-adapter-u-s-3-prong-male-plug-to-15-amp-locking-female-connector>: HTTP status code is not handled or not allowed 2026-01-28 11:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-24-wx71-d-stainless-steel-rolling-safety-ladder-serrated-grating-w-cal-osha-handrail-cal-ss083221g>: HTTP status code is not handled or not allowed 2026-01-28 11:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piloted-solenoid-valve-5-port-3-pos-dbl-solenoid-3-8-npt-inlet-1-4-exhclsd-ctr-24vdc>: HTTP status code is not handled or not allowed 2026-01-28 11:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-24-w-stainless-steel-rolling-ladder-w-rails-heavy-duty-serrated-grating-w-cal-osha-handrail-cal-ss630g>: HTTP status code is not handled or not allowed 2026-01-28 11:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rbmag3-pt-grn-storage-cabinet-all-welded-36-wx24-dx78-h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-28 11:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-30222-yw-15-to-30-amp-locking-adapter-with-nema-5-15p-to-l5-30r-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-truck-48-l-x-24-w-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-extra-heavy-duty-steel-rolling-safety-ladder-perforated-tread-w-cal-osha-handrail-cal-ml123221p>: HTTP status code is not handled or not allowed 2026-01-28 11:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-body-clip-small-100-pieces>: HTTP status code is not handled or not allowed 2026-01-28 11:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-dolly-27-l-x-16-w-with-open-deck-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foldable-handwoven-cube-storage-basket-2-pack-natural-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-32in-gray-end-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-24-h-x-18-d-8-pocket-merv-12-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 11:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stylish-red-ergonomic-plastic-hand-basket-26-liter-pkg-qty-12>: HTTP status code is not handled or not allowed 2026-01-28 11:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-stainless-steel-stretcher-for-straight-duct-runs>: HTTP status code is not handled or not allowed 2026-01-28 11:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-safety-dvd-program>: HTTP status code is not handled or not allowed 2026-01-28 11:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-20in-gray-straight-section-without-vents-10ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euro-truck-flat-deck-60-x-30-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-16-w-expan-step-w-cal-osha-handrail-cal-wa-sw52414x>: HTTP status code is not handled or not allowed 2026-01-28 11:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-16-w-serr-step-w-cal-osha-handrail-cal-wa-sw-82414g>: HTTP status code is not handled or not allowed 2026-01-28 11:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-227-r-storage-cabinet-all-welded-27-wx15-dx72-h-red>: HTTP status code is not handled or not allowed 2026-01-28 11:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rvhl50fr-type-r-class-2-flame-resistant-vest-4xl-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-powered-industrial-truck-safety-booklets>: HTTP status code is not handled or not allowed 2026-01-28 11:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-16-w-stainless-steel-fold-and-store-rolling-ladder-perforated-tread-w-cal-osha-handrail-cal-ssfawl-7p>: HTTP status code is not handled or not allowed 2026-01-28 11:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rvhl51fr-type-r-class-3-flame-resistant-vest-5xl-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 11:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premiere-folded-paper-towel-1-ply-7-1316-x-12-38-white-120pack-25-packscase>: HTTP status code is not handled or not allowed 2026-01-28 11:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-w-x-16-h-x-4-d-mini-pleated-merv-15-air-filter-box-style-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 11:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-fr-control-2-0-short-sleeve-tee-type-r-class-3-mdt>: HTTP status code is not handled or not allowed 2026-01-28 11:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-24-h-x-1-d-pleated-merv-8-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 11:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondolashelving-3x22shelfwiredivider-796499>: HTTP status code is not handled or not allowed 2026-01-28 11:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-inverter-heat-pump-condenser-3-ton-1-ph-230v>: HTTP status code is not handled or not allowed 2026-01-28 11:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-5-step-steel-rolling-ladder-14-d-top-step-w-handrails-orange-w-cal-osha-handrail-cal-fsh518g-o>: HTTP status code is not handled or not allowed 2026-01-28 11:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hss-hand-tap-516-18-h3-bottoming-chamfer-right-hand-4-flute>: HTTP status code is not handled or not allowed 2026-01-28 11:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-in-silver-epoxy-wall-single-bracket>: HTTP status code is not handled or not allowed 2026-01-28 11:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-stock-picking-ladder-grip-step>: HTTP status code is not handled or not allowed 2026-01-28 11:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-extra-heavy-duty-steel-rolling-safety-ladder-heavy-duty-serrated-grating-w-cal-osha-handrail-cal-ml103221g>: HTTP status code is not handled or not allowed 2026-01-28 11:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-16-w-stainless-steel-fold-and-store-rolling-ladder-heavy-duty-serrated-grating-w-cal-osha-handrail-cal-ssfawl-6g>: HTTP status code is not handled or not allowed 2026-01-28 11:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-aluminum-transport-wheelchair-red-frame-17-inch>: HTTP status code is not handled or not allowed 2026-01-28 11:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24-wx70-d-stainless-steel-rolling-safety-ladder-perforated-tread-w-cal-osha-handrail-cal-ss093214p>: HTTP status code is not handled or not allowed 2026-01-28 11:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-3624rb-h-grn-mobile-cabinet-all-welded-36-wx24-dx60-h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-28 11:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-18-h-x-1-d-pleated-merv-8-standard-capacity-air-filter-wire-back-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 11:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-strip-ultra-hd-floor-stripper-cherry-almond-scent-5-gallon-box>: HTTP status code is not handled or not allowed 2026-01-28 11:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-in-one-washer--ventless-dryer-27-cuft-capacity-115-v-white>: HTTP status code is not handled or not allowed 2026-01-28 11:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-18w-x-82h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-28 11:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-folding-security-gate-5-1-2-x-6-1-2>: HTTP status code is not handled or not allowed 2026-01-28 11:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1385501-pro-rope-positioning-lanyard-6l-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 11:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1340005-pro-rope-adjuster-w-shock-absorbing-lanyard-for-58-rope-2l>: HTTP status code is not handled or not allowed 2026-01-28 11:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-unit-plastic-box-with-gasket-empty>: HTTP status code is not handled or not allowed 2026-01-28 11:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000613-tongue-buckle-belt-restraint-310-lbs-small>: HTTP status code is not handled or not allowed 2026-01-28 11:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1300-mah-nimh-rechargeable-battery-aa>: HTTP status code is not handled or not allowed 2026-01-28 11:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-36722rb-pt-grn-mobile-cabinet-all-welded-36-wx24-dx72-h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-28 11:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-w-x-12-h-x-1-d-ring-panel-merv-6-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 11:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-sentra-ec-h-d-detachable-desk-arm-dual-cross-brace-swing-away-footrest>: HTTP status code is not handled or not allowed 2026-01-28 11:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-six-tier-12x18x12-without-legs-6-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-silver-sport-2-fixed-arm-swing-away-elevating-legrest>: HTTP status code is not handled or not allowed 2026-01-28 11:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-inch-fan-shroud-merv-6-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 11:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-end-base-15-d-locker-with-6-legs-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-copper-fitting-with-90-long-radius-elbow-c-x-c-58-od-x-12-id-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-removable-top-i-v-pole-2-hook>: HTTP status code is not handled or not allowed 2026-01-28 11:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-wheel-chock-polyurethane-11-14l-x-8w-x-8-14h>: HTTP status code is not handled or not allowed 2026-01-28 11:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk12ne-x03-secret-service-style-1-wire-surveillance-kit-earpiece>: HTTP status code is not handled or not allowed 2026-01-28 11:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/residential-air-handler-4-ton-208230v>: HTTP status code is not handled or not allowed 2026-01-28 11:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s601008-wire-rope-sling-3-8-x-6-eye-and-eye-2000-2400-4800-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qub-series-ottoman-26-38x21-12x17-12-black>: HTTP status code is not handled or not allowed 2026-01-28 11:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-wheel-chock-70000-lb-load-capacity-11-12l-x-9w-x-8-12h>: HTTP status code is not handled or not allowed 2026-01-28 11:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-skirt-brush-side-for-nobles-tennant-1047238>: HTTP status code is not handled or not allowed 2026-01-28 11:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-squeegee-set-for-nobles-tennant-9015740-nobles-tennant-1232681-nobles-tennant-1221115>: HTTP status code is not handled or not allowed 2026-01-28 11:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-tilt-roll-ladder-perforated-step-24-w-step>: HTTP status code is not handled or not allowed 2026-01-28 11:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxxis-series-big-and-tall-leather-chair-blackchrome>: HTTP status code is not handled or not allowed 2026-01-28 11:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-tilt-roll-ladder-perforated-step-16-w-step>: HTTP status code is not handled or not allowed 2026-01-28 11:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s201032-6-poly-web-sling-endless-17000-21200-42400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taski174-prospeed-finish-applicator-system-18-cleaning-path>: HTTP status code is not handled or not allowed 2026-01-28 11:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-position-hydraulic-clinical-pinch-gauge-50-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-12w-x-82h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-hand-dynamometer-200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s201010-6-poly-web-sling-endless-4240-5300-10600-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1801-3-8-hss-heavy-duty-steam-oxide-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 11:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-single-flint-striker>: HTTP status code is not handled or not allowed 2026-01-28 11:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1802-10-20mm-cobalt-heavy-duty-straw-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 11:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-vac-motor-td-for-ametek-122497-29-nilfisk-advance-56384102>: HTTP status code is not handled or not allowed 2026-01-28 11:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-magnetic-roll-stock-50l-x-2h-x-006-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 11:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 99030 pages (at 97 pages/min), scraped 49956 items (at 16 items/min) 2026-01-28 11:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-replacement-flints-for-single-flint-striker-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 11:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-paint-marker-x-large-white>: HTTP status code is not handled or not allowed 2026-01-28 11:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-label-holder-5-w-x-3-h-50-per-package>: HTTP status code is not handled or not allowed 2026-01-28 11:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bishamon-mobilift-scissor-lift-table-660lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151049-3-double-leg-chain-sling-w-grab-hook>: HTTP status code is not handled or not allowed 2026-01-28 11:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-pencil-flame-torch>: HTTP status code is not handled or not allowed 2026-01-28 11:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanical-push-pull-dynamometer-10-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-nobles-tennant-1203954>: HTTP status code is not handled or not allowed 2026-01-28 11:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-heavy-duty-magnetic-roll-stock-600l-x-1w-x-006-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 11:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-compact-flammable-cabinet-self-close-door-12-gallon>: HTTP status code is not handled or not allowed 2026-01-28 11:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-squeeze-bulb-dynamometer-with-reset-15-psi-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-upright-cross-brace-12d-6-pack-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71-inch-credenza-shell-in-espresso-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 11:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-inward-swing-partition-door-w-hardware-24w-white>: HTTP status code is not handled or not allowed 2026-01-28 11:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedestal-top-in-espresso-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 11:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-do-not-operate-rigid-plastic-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-28 11:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-drawer-lateral-file-in-espresso-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 11:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152070-10-poly-web-sling-endless-4900-6200-12400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 11:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-18w-x-82h-azure>: HTTP status code is not handled or not allowed 2026-01-28 11:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-8482-locker-3-tier-12-x-15-x-24-3-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151011-6-single-leg-chain-sling-w-sling-grab-hook>: HTTP status code is not handled or not allowed 2026-01-28 11:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-d-flanged-lacing-bar-1903-1-102-00>: HTTP status code is not handled or not allowed 2026-01-28 11:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cylindrical-brush-2-sr-for-nilfisk-advance-8-08-03140>: HTTP status code is not handled or not allowed 2026-01-28 11:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-danger-men-working-above-rigid-plastic-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-28 11:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-danger-no-smoking-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 11:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-wall-exhaust-shutter-rear-flange-39-eas-mf-39-sp>: HTTP status code is not handled or not allowed 2026-01-28 11:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-056-a>: HTTP status code is not handled or not allowed 2026-01-28 11:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-silver-epoxy-wire-ledge-14x4>: HTTP status code is not handled or not allowed 2026-01-28 11:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-rubber-overboots-mens-black-3xl-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 11:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-outward-swing-partition-door-26w-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-heated-fleece-hoodie-jacket-with-detachable-hood-m-charcoal-mix>: HTTP status code is not handled or not allowed 2026-01-28 11:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dtower-lavender-lace-refill-529>: HTTP status code is not handled or not allowed 2026-01-28 11:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyguard-surface-mount-key-storage-lock-box-sl-590-keypad-lock-holds-1-5-keys>: HTTP status code is not handled or not allowed 2026-01-28 11:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-industry-standard-clamping-couplings-climax-2miscc-08-08>: HTTP status code is not handled or not allowed 2026-01-28 11:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-extension-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1896-f-hss-heavy-duty-steam-oxide-135-split-point-screw-machine-drill>: HTTP status code is not handled or not allowed 2026-01-28 11:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-sided-frame-24x24-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 11:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traction-tread-grit-drainage-mat-732-thick-3w-x-5l-black>: HTTP status code is not handled or not allowed 2026-01-28 11:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5412w-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 11:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1898-25-64-hss-general-purpose-bright-118-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 11:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-squeegee-lift-cable-for-nobles-tennant-222227>: HTTP status code is not handled or not allowed 2026-01-28 11:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/665-removable-repositionable-tape-1-x-72-yds-3-8-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 11:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5712w-dark-khaki>: HTTP status code is not handled or not allowed 2026-01-28 11:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-table-phenolic-top-adjustable-height-30w-x-60l-x-29-41h-black-black>: HTTP status code is not handled or not allowed 2026-01-28 11:53:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-cylindrical-tank-with-cover-lldpe-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 11:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-heavyweight-pullover-hoodie-m-black>: HTTP status code is not handled or not allowed 2026-01-28 11:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 11:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trapezoid-blades-10-pack-blades-for-sk-4>: HTTP status code is not handled or not allowed 2026-01-28 11:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120x-3-8-8in-oal-hss-heavy-duty-steam-oxide-118-k-notched-point-extra-long-drill>: HTTP status code is not handled or not allowed 2026-01-28 11:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-3-16-apex-for-nilfisk-advance-56412029>: HTTP status code is not handled or not allowed 2026-01-28 11:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-safegrip153-footwear-traction-aid-m-black>: HTTP status code is not handled or not allowed 2026-01-28 11:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-cotton-flame-resistant-henley-shirt-4xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-093-a>: HTTP status code is not handled or not allowed 2026-01-28 11:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 11:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51331-thor-safety-glasses-typhonpz-smoke-lens>: HTTP status code is not handled or not allowed 2026-01-28 11:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/550-5-32-cobalt-heavy-duty-straw-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 11:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-8-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 11:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-112-a>: HTTP status code is not handled or not allowed 2026-01-28 11:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pfsh-ds-drain-shelf-for-pfsh-series>: HTTP status code is not handled or not allowed 2026-01-28 11:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/559-8-00mm-cobalt-heavy-duty-straw-135-split-point-screw-machine-drill>: HTTP status code is not handled or not allowed 2026-01-28 11:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psd-14-scraper-500f-heat-resistant-14l-silicone>: HTTP status code is not handled or not allowed 2026-01-28 11:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-100-z>: HTTP status code is not handled or not allowed 2026-01-28 11:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-outward-swing-partition-door-24w-ivory-essence-speckle>: HTTP status code is not handled or not allowed 2026-01-28 11:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-12-x-5-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 11:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5712w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cap-with-staz-on-suspension-bright-lime-green>: HTTP status code is not handled or not allowed 2026-01-28 11:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-partition-panel-wo-brackets-5912w-mocha>: HTTP status code is not handled or not allowed 2026-01-28 11:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-x-13-x-13-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 11:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/virex-plus-one-step-disinfectant-cleaner-and-deodorant-15-l-closed-loop-plastic-bottle-2carton>: HTTP status code is not handled or not allowed 2026-01-28 11:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-safety-coveralls-3xl-navy>: HTTP status code is not handled or not allowed 2026-01-28 11:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-laundry-detergent-lavender-scent-64-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 11:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-chair-with-back-vinyl-sterling-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disinfecting-wipes-7x725-lemon-and-lime-blossom-35-wipescanister-3-canisterspk-4-pkscarton>: HTTP status code is not handled or not allowed 2026-01-28 11:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-shovel-14-in-blade-green>: HTTP status code is not handled or not allowed 2026-01-28 11:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 99126 pages (at 96 pages/min), scraped 49978 items (at 22 items/min) 2026-01-28 11:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-shovel-14-in-blade-pink>: HTTP status code is not handled or not allowed 2026-01-28 11:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-heads-for-ergo-toilet-bowl-brush-system-2pack-5-packscarton>: HTTP status code is not handled or not allowed 2026-01-28 11:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-14-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 11:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl-mb-mini-bin>: HTTP status code is not handled or not allowed 2026-01-28 11:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-shovel-10-in-blade-white>: HTTP status code is not handled or not allowed 2026-01-28 11:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-shovel-10-in-blade-pink>: HTTP status code is not handled or not allowed 2026-01-28 11:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-wheel-kit-for-manual-pallet-jack-gwk-2ze57-ck-fits-dayton-model-2ze57>: HTTP status code is not handled or not allowed 2026-01-28 11:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-w-keyway-climax-2iscc-062-062kw>: HTTP status code is not handled or not allowed 2026-01-28 11:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-hp-cast-iron-shallow-well-jet-pump>: HTTP status code is not handled or not allowed 2026-01-28 11:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedcartt-24-60-63-back-to-back-40-cells-13-11-11>: HTTP status code is not handled or not allowed 2026-01-28 11:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stain-removal-treatment-powder-76-oz-box-14carton>: HTTP status code is not handled or not allowed 2026-01-28 11:54:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8971-hard-hat-full-brim-ratchet-suspension-class-e-white>: HTTP status code is not handled or not allowed 2026-01-28 11:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-strength-alkaline-drain-cleaner-32-oz-bottle-12carton>: HTTP status code is not handled or not allowed 2026-01-28 11:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-12w-x-82h-navy-grafix>: HTTP status code is not handled or not allowed 2026-01-28 11:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-hp-zinc-body-submersible-high-output-sump-pump-vertical-switch>: HTTP status code is not handled or not allowed 2026-01-28 11:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psw-32-wide-mouth-squeeze-bottles-32-oz>: HTTP status code is not handled or not allowed 2026-01-28 11:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-24w-x-82h-storm-solidz>: HTTP status code is not handled or not allowed 2026-01-28 11:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-256-z>: HTTP status code is not handled or not allowed 2026-01-28 11:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pbt-frame-for-slotted-full-brim-caps-with-out-debris-control>: HTTP status code is not handled or not allowed 2026-01-28 11:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-6w-x-82h-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 11:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfm-1k-fluted-ramekins-15-oz-melamine-black>: HTTP status code is not handled or not allowed 2026-01-28 11:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-16-x-4-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 11:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-18w-x-82h-navy-grafix>: HTTP status code is not handled or not allowed 2026-01-28 11:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scu-7-stainless-steel-pie-cutters>: HTTP status code is not handled or not allowed 2026-01-28 11:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3770-tape-measure-trap-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:54:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 11:54:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-fep-sheet-0-125-thick-12-x-12>: HTTP status code is not handled or not allowed 2026-01-28 11:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-couplings-recessed-screw-w-keyway-climax-cc-062-062-kw>: HTTP status code is not handled or not allowed 2026-01-28 11:54:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/general_purpose_glue already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-couplings-recessed-screw-climax-cc-075-075>: HTTP status code is not handled or not allowed 2026-01-28 11:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-14-x-4-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 11:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crystal-clear-duct-tape-1-88-x-18-yards>: HTTP status code is not handled or not allowed 2026-01-28 11:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pprc-8w-pp-round-storage-container-polypropelyne-white>: HTTP status code is not handled or not allowed 2026-01-28 11:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-075-062>: HTTP status code is not handled or not allowed 2026-01-28 11:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wbkh-6sb-round-black-wire-condiment-caddy-with-straight-back>: HTTP status code is not handled or not allowed 2026-01-28 11:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spjl-104-steam-pan-full-size-4h>: HTTP status code is not handled or not allowed 2026-01-28 11:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx412508chbl-professional-41-w-x-25-d-x-21-3-8-h-8-drawer-blue-top-chest>: HTTP status code is not handled or not allowed 2026-01-28 11:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 11:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/phenolic_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 11:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wsolid-doors-sides-36wx24dx78h-grayall-welded>: HTTP status code is not handled or not allowed 2026-01-28 11:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx723001hcblbk-72-wx30d-blue-professional-extreme-power-workstation-hutch-black-handle>: HTTP status code is not handled or not allowed 2026-01-28 11:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-1-500-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 11:54:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/adhesives_glue/general_purpose_glue landed on page that is not a product page. 2026-01-28 11:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-24wx18dx78h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 11:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfm-3b-fluted-ramekins-3-oz-melamine-bone>: HTTP status code is not handled or not allowed 2026-01-28 11:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spjl-4hl-half-size-long-steam-table-pan-21l-6-1-2w-4h-stainless-steel-standard-weight>: HTTP status code is not handled or not allowed 2026-01-28 11:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20004-hard-hat-4-point-ratchet-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 11:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-bottle-brush-black-55-x-140-x-450mm-c10713>: HTTP status code is not handled or not allowed 2026-01-28 11:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-outward-swing-partition-door-w-hardware-36w-silver-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wlouvered-doors-36wx24dx78h-grayall-welded>: HTTP status code is not handled or not allowed 2026-01-28 11:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptmp-24r-round-potato-masher>: HTTP status code is not handled or not allowed 2026-01-28 11:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-gear-locker-w-2-coat-rods-36wx24dx72h-red-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 11:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64018-aware-wear-hi-vis-short-sleeve-t-shirt-non-ansi-hi-vis-lime-m>: HTTP status code is not handled or not allowed 2026-01-28 11:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-0-125-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 11:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-vented-sides-18wx18dx72h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 11:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-outward-swing-door-w-hardware-24w-almond>: HTTP status code is not handled or not allowed 2026-01-28 11:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-4015-double-strap-wrist-brace-support-left-s-black>: HTTP status code is not handled or not allowed 2026-01-28 11:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmcp-25-measuring-cup-w-red-blue-markings-1-cup-clear-plastic>: HTTP status code is not handled or not allowed 2026-01-28 11:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmcp-50-measuring-cup-w-red-blue-markings-1-pt-clear-plastic>: HTTP status code is not handled or not allowed 2026-01-28 11:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-2-solid-rubber-wheel-sl08-78-axel-size-7-8>: HTTP status code is not handled or not allowed 2026-01-28 11:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-met-al-marker-2-oz-squeeze-action-rollerball-paint-marker-white>: HTTP status code is not handled or not allowed 2026-01-28 11:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-30-kra-3-piece-telescoping-tubes-case>: HTTP status code is not handled or not allowed 2026-01-28 11:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-table-36-w-top-splash-at-rear-only-144-long-14-gauge-5-backsplash>: HTTP status code is not handled or not allowed 2026-01-28 11:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/040-0350rp-single-stage-compressor-pump-hi-flo-3-cylinder-57-rhp>: HTTP status code is not handled or not allowed 2026-01-28 11:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/integra-office-chair-with-adjustable-arms-high-back-no-tilt-18-23h-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 11:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-gear-locker-w-2-coat-rods-36wx24dx72h-blue-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 11:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-30-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 11:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-controlled-room-temperature-cabinet-glass-door-49-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 11:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-phenolic-sheet-1-250-thick-36-x-48>: HTTP status code is not handled or not allowed 2026-01-28 11:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-level-tapered-transport-riser-gray-carpet-with-black-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 11:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmsb-56-molcajete-salsa-bowl-56-oz-plastic-resin>: HTTP status code is not handled or not allowed 2026-01-28 11:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-outdoor-metal-slatted-double-trash-receptacle-w-flat-lid-72-gal-black>: HTTP status code is not handled or not allowed 2026-01-28 11:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-reducer-8-4-8-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbs-21-silicone-baking-mat-21-1-2l-15-5-8w-rectangular>: HTTP status code is not handled or not allowed 2026-01-28 11:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wh-3-6-oz-square-oil-and-vinegar-holder>: HTTP status code is not handled or not allowed 2026-01-28 11:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scotch-brite-dobie-all-purpose-cleaning-pad-720-4-3-in-x-2-6-in-x-0-5-in-24-case>: HTTP status code is not handled or not allowed 2026-01-28 11:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-17>: HTTP status code is not handled or not allowed 2026-01-28 11:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-4015-double-strap-wrist-brace-support-right-m-black>: HTTP status code is not handled or not allowed 2026-01-28 11:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/step-up-clamp-on-adaptor-sua-series-climax-sua-100>: HTTP status code is not handled or not allowed 2026-01-28 11:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-door-siding-100-silicone-rubber-sealant-9-8-oz-aluminum-7079808643>: HTTP status code is not handled or not allowed 2026-01-28 11:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banding-stretch-wrap-with-reusable-dispenser-cast-80-gauge-5w-x-1000l-clear-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 11:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-squids-3707-web-tool-tether-with-non-conductive-d-ring-2-lb-cap-orange-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 11:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0030-03-shangarila-dinner-spoon>: HTTP status code is not handled or not allowed 2026-01-28 11:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 99224 pages (at 98 pages/min), scraped 49994 items (at 16 items/min) 2026-01-28 11:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-clamp-with-pin-10-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-climax-mc-40-s>: HTTP status code is not handled or not allowed 2026-01-28 11:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-72-corrugated-sheets>: HTTP status code is not handled or not allowed 2026-01-28 11:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sg-62c-af-helium-20-lightweight-safety-glasses-anti-fog-clear-lens>: HTTP status code is not handled or not allowed 2026-01-28 11:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/132c-ice-logger-boot-regular-tan-11-5>: HTTP status code is not handled or not allowed 2026-01-28 11:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-handled-hd-shelf-truck-2-lipped-shlf-3600-lb-cap-30-60-30-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-and-tall-swivel-chair-black-goliath-series>: HTTP status code is not handled or not allowed 2026-01-28 11:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-climax-rc-075-s>: HTTP status code is not handled or not allowed 2026-01-28 11:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-5-shelf-service-cart-lipped-shelves-1200-lbs-24-48-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-claw-coupler-for-radex>: HTTP status code is not handled or not allowed 2026-01-28 11:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-truck-slat-sides-3-shlvs-lip-3600-lbs-cap-24-60-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:55:06 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 11:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afp-10ns-h-fry-pan>: HTTP status code is not handled or not allowed 2026-01-28 11:55:07 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:50 2026-01-28 11:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-skullerz-8952-hard-shell-bump-cap-short-brim-one-size-fits-most-green>: HTTP status code is not handled or not allowed 2026-01-28 11:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afp-12ns-h-fry-pan>: HTTP status code is not handled or not allowed 2026-01-28 11:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-silver-epoxy-wire-shelf-24x18>: HTTP status code is not handled or not allowed 2026-01-28 11:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0031-02-peacock-iced-tea-spoon>: HTTP status code is not handled or not allowed 2026-01-28 11:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-1-person-radex-airline-filter>: HTTP status code is not handled or not allowed 2026-01-28 11:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-48x18>: HTTP status code is not handled or not allowed 2026-01-28 11:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asp-3-sauce-pan>: HTTP status code is not handled or not allowed 2026-01-28 11:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-zlink-communication-system-non-is>: HTTP status code is not handled or not allowed 2026-01-28 11:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slimline-rectangular-trash-can-23-gal-cap-dark-gray-granite>: HTTP status code is not handled or not allowed 2026-01-28 11:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-21x24-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 11:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbf-1520-flexible-cutting-mats-15l-20w-assorted-colors>: HTTP status code is not handled or not allowed 2026-01-28 11:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-plastic-trash-container-garbage-can-44-gallon-bright-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-glowear-8205hl-eco-recycled-hi-vis-safety-vest-4xl5xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pb1142ss-panic-bar-ul-listed-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-t100-brow-pad-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 11:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbgr-1218-cutting-board-12l-18w-1-2h-green>: HTTP status code is not handled or not allowed 2026-01-28 11:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0031-09-peacock-demitasse-spoon>: HTTP status code is not handled or not allowed 2026-01-28 11:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344r-iron-tuff-minus-50-suit-short-navy-2xl>: HTTP status code is not handled or not allowed 2026-01-28 11:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-48x24>: HTTP status code is not handled or not allowed 2026-01-28 11:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghs-variety-pack-pictogram-label-1-2-diameter-1-820-pad>: HTTP status code is not handled or not allowed 2026-01-28 11:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-wire-shelf-24x54>: HTTP status code is not handled or not allowed 2026-01-28 11:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-3-cape-cover-band>: HTTP status code is not handled or not allowed 2026-01-28 11:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-031-s>: HTTP status code is not handled or not allowed 2026-01-28 11:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-gx4-m5-inlet-filter>: HTTP status code is not handled or not allowed 2026-01-28 11:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbi-1520-grooved-cutting-board-15l-20w-1-2h-white>: HTTP status code is not handled or not allowed 2026-01-28 11:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-minute-cylinder-threaded-remote-connection-aluminum-with-air>: HTTP status code is not handled or not allowed 2026-01-28 11:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-2000-nylon-blast-jacket-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-ball-pein-hammer-40-oz-head-14l>: HTTP status code is not handled or not allowed 2026-01-28 11:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-50>: HTTP status code is not handled or not allowed 2026-01-28 11:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-h-clear-coated-counter-height-stool-with-back-and-wood-seat>: HTTP status code is not handled or not allowed 2026-01-28 11:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-2000-side-wings-for-glasses-large>: HTTP status code is not handled or not allowed 2026-01-28 11:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-2000-xl-nylon-cape-c40>: HTTP status code is not handled or not allowed 2026-01-28 11:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cherry-classic-industrial-hand-cleaner-w-pumice-gallon-bottle-1046473>: HTTP status code is not handled or not allowed 2026-01-28 11:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-look-floor-finish-gallon-bottle-4-bottles-case-1044898>: HTTP status code is not handled or not allowed 2026-01-28 11:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-industry-standard-clamping-couplings-w-keyway-climax-miscc-16-16-skw>: HTTP status code is not handled or not allowed 2026-01-28 11:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-tread-neutral-floor-cleaner-gallon-bottle-4-bottles-case-1041452>: HTTP status code is not handled or not allowed 2026-01-28 11:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-3-4-cu-yd-yellow-self-dumping-hopper>: HTTP status code is not handled or not allowed 2026-01-28 11:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-inch-h-backless-antique-blue-metal-barstool>: HTTP status code is not handled or not allowed 2026-01-28 11:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0490-insulated-softshell-jacket-regular-black-charcoal-5xl>: HTTP status code is not handled or not allowed 2026-01-28 11:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0323-iron-tuff-womans-coat-regular-navy-medium>: HTTP status code is not handled or not allowed 2026-01-28 11:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wok-14w-wok-w-welded-handle-14-d-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-blue-wet-hand-towels-84-towels-pail-6-pails-case-21501>: HTTP status code is not handled or not allowed 2026-01-28 11:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-high-lift-skid-jack-truck-3300-lb-cap-21-x-45-forks>: HTTP status code is not handled or not allowed 2026-01-28 11:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-c40-climate-control-device>: HTTP status code is not handled or not allowed 2026-01-28 11:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-variable-angle-joint-1>: HTTP status code is not handled or not allowed 2026-01-28 11:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ut-16hp-y-utility-tong-cold-food-service-cold-food-service-16l-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z-link-harness-bracket-air-deflector>: HTTP status code is not handled or not allowed 2026-01-28 11:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0322r-iron-tuff-polar-jacket-regular-navy-large>: HTTP status code is not handled or not allowed 2026-01-28 11:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-t150-visor-rubber-face-seal>: HTTP status code is not handled or not allowed 2026-01-28 11:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wsk-12-bamboo-skewers-12l>: HTTP status code is not handled or not allowed 2026-01-28 11:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-720016-countertop-bowl-display-16-w-x-16-d-x-10-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 11:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-with-keyway-c-kw-series-climax-c-200-a-kw>: HTTP status code is not handled or not allowed 2026-01-28 11:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-locker-single-tier-15x18x72-3-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 11:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-150-a>: HTTP status code is not handled or not allowed 2026-01-28 11:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-inch-brass-interlocking-stencil-numbers-fifteen-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 11:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-locker-double-tier-15x18x36-6-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 11:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-wire-28-panel-security-temporary-fence-kit-steel-76w-x-6h-black>: HTTP status code is not handled or not allowed 2026-01-28 11:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0491-non-insulated-softshell-jacket-regular-black-4xl>: HTTP status code is not handled or not allowed 2026-01-28 11:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-px5-flow-meter>: HTTP status code is not handled or not allowed 2026-01-28 11:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-5-yards-self-adhesive-bandage-non-latex-true-red-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 11:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bug-x-3012651-insect-repellent-30-deet-4oz-pump-spray-bottle-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jla-075-10-lever-hoist-34-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 11:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jla-075-5-lever-hoist-34-ton-capacity-5-lift>: HTTP status code is not handled or not allowed 2026-01-28 11:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z-link-weld-visor-attachement-clip>: HTTP status code is not handled or not allowed 2026-01-28 11:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0361-iron-tuff-winter-seal-jacket-regular-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-28 11:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/srs-8-windsor-extra-heavy-serving-spoon-8-1-4l-heavy-weight-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10785-3-foot-premium-cross-arm-strap>: HTTP status code is not handled or not allowed 2026-01-28 11:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bug-x-3012644-insect-repellent-30-deet-towelette-wallmount-box-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-x-5-yards-self-adhesive-bandage-non-latex-true-red>: HTTP status code is not handled or not allowed 2026-01-28 11:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-latex-dark-purple>: HTTP status code is not handled or not allowed 2026-01-28 11:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0450-chillbreaker-jacket-regular-navy-3xl>: HTTP status code is not handled or not allowed 2026-01-28 11:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-constant-flow-valve-low-pressure>: HTTP status code is not handled or not allowed 2026-01-28 11:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-px4-spark-arrestor>: HTTP status code is not handled or not allowed 2026-01-28 11:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n21s-swivel-hose-adapter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 99326 pages (at 102 pages/min), scraped 50010 items (at 16 items/min) 2026-01-28 11:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-respirator-includes-15-721-fr-shoulder-cape-c40>: HTTP status code is not handled or not allowed 2026-01-28 11:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0301-mid-weight-string-knit-liner-gray-large>: HTTP status code is not handled or not allowed 2026-01-28 11:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxflow-life-vest-mesh-uscgtc-type-iii-s-orange>: HTTP status code is not handled or not allowed 2026-01-28 11:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wp-50-pitcher-50-oz-6-1-4-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wpc-60-water-pitcher-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-28 11:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-sae-deep-impact-socket-58-drive-black>: HTTP status code is not handled or not allowed 2026-01-28 11:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-non-latex-white-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-28 11:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glc-01031-clear-glass-screw-thread-vials-with-green-pp-hole-caps-10-dram-40ml-case-of-144>: HTTP status code is not handled or not allowed 2026-01-28 11:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-metric-deep-impact-socket-18mm-drive-black>: HTTP status code is not handled or not allowed 2026-01-28 11:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-218-a>: HTTP status code is not handled or not allowed 2026-01-28 11:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-bb-15722-heavy-duty-manually-operated-box-pan-brake-13l>: HTTP status code is not handled or not allowed 2026-01-28 11:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1440-3-geared-head-engine-lathe-with-acu-rite-203-dro-collet-closer-3-hp-3ph460v>: HTTP status code is not handled or not allowed 2026-01-28 11:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-5-yards-self-adhesive-bandage-non-latex-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-non-latex-orange-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-28 11:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-318>: HTTP status code is not handled or not allowed 2026-01-28 11:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-double-sided-upright-35>: HTTP status code is not handled or not allowed 2026-01-28 11:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ph-28a-ce-pneumatic-power-hammer-with-starter-die-set-ce>: HTTP status code is not handled or not allowed 2026-01-28 11:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1102m-deluxe-filterregulatorlubricator-metal-bowl-12-npt-250-psi-40-micron>: HTTP status code is not handled or not allowed 2026-01-28 11:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-no-lip-1>: HTTP status code is not handled or not allowed 2026-01-28 11:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-no-lip-3>: HTTP status code is not handled or not allowed 2026-01-28 11:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-by-24-stage-package-24-inches-height-blue-carpet-black-shirred-pleat-skirting>: HTTP status code is not handled or not allowed 2026-01-28 11:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-pl-1860-engine-lathe-with-mitutoyo-dro-7-12-hp-3ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 11:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-square-outdoor-steel-picnic-table-expanded-metal-green>: HTTP status code is not handled or not allowed 2026-01-28 11:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-inclined-arm-18>: HTTP status code is not handled or not allowed 2026-01-28 11:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-non-latex-white-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 11:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-pl-1022vs-v2-bench-top-lathe-with-mitutoyo-dro-1-hp-110v>: HTTP status code is not handled or not allowed 2026-01-28 11:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pfsf-6-food-storage-box-heavyweight-18l-26w-6h-clear-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-28 11:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/co-301pb-flat-bottle-opener>: HTTP status code is not handled or not allowed 2026-01-28 11:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1072-2-jumbo-desiccant-dryer-system-metal-bowl-12-npt-250-psi-003-micron>: HTTP status code is not handled or not allowed 2026-01-28 11:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-22-s>: HTTP status code is not handled or not allowed 2026-01-28 11:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-9-piece-cabinet-set-141w-x-21d-x-36-5h-gray-mdf>: HTTP status code is not handled or not allowed 2026-01-28 11:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-double-tier-12x12x36-with-legs-2-doors-assembled-sand>: HTTP status code is not handled or not allowed 2026-01-28 11:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-double-wide-climax-d2c-037>: HTTP status code is not handled or not allowed 2026-01-28 11:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-sh-120500-hd-heavy-duty-hydraulic-shear-120l-20-hp-3ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 11:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-add-on-unit-24-w-x-21-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 11:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igl-10-cast-iron-grill-pan-round-10-diameter>: HTTP status code is not handled or not allowed 2026-01-28 11:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sink-caddy-8-1-8in-l-x-5-1-4in-w-x-5-2-7in-h-1146>: HTTP status code is not handled or not allowed 2026-01-28 11:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-050-050-s>: HTTP status code is not handled or not allowed 2026-01-28 11:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-desk-lamp-wireless-2usb-10w-black>: HTTP status code is not handled or not allowed 2026-01-28 11:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-round-convex-led-flush-mount-light-9w-120v-to-277v-3000k-white>: HTTP status code is not handled or not allowed 2026-01-28 11:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-12-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23327-cut-off-wheel-type-1-z-tech-6-inch-x-045-inch-x-7-8-inch-zirconium>: HTTP status code is not handled or not allowed 2026-01-28 11:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d126pb-osha-sign-danger-flammable-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 11:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1306015-meyer-a-solenoid-15356>: HTTP status code is not handled or not allowed 2026-01-28 11:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-tier-shelving-starter-unit-solid-galvanized-steel-54w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 11:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wpm-8cd-maestro-modern-pepper-mill>: HTTP status code is not handled or not allowed 2026-01-28 11:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tbc-1-table-cloth-clips>: HTTP status code is not handled or not allowed 2026-01-28 11:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-starter-unit-solid-galvanized-steel-42w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 11:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sst-16-stock-pot-w-cover-16-qt>: HTTP status code is not handled or not allowed 2026-01-28 11:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28104-bench-wheel-vitrified-6-inch-x-1-inch-x-1-inch-80-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-28 11:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-gauging-table-kit-for-oversize-punch-assembly-100t-dlx-ironworkers>: HTTP status code is not handled or not allowed 2026-01-28 11:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbm-b-deluxe-neon-marker-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oversize-round-punch-die-set-1-132>: HTTP status code is not handled or not allowed 2026-01-28 11:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-add-on-unit-36-w-x-21-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 11:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-3-shelf-poly-green-24l-x-24w-x-39h-polyurethane-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 11:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-sheet-no-adhesive-75a-18-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-starter-unit-solid-galvanized-steel-54w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 11:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosion-resistant-set-screw-collar-cr-climax-crc-037>: HTTP status code is not handled or not allowed 2026-01-28 11:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1175-series-competitor-hand-crank-hose-reel-1-i-d-100-hose-capacity-less-hose-3000-psi>: HTTP status code is not handled or not allowed 2026-01-28 11:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-rubber-sheet-no-adhesive-60a-14-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-28 11:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-deluxe-machine-table-welded-12-gauge-24-w-x-18-d-x-36-h>: HTTP status code is not handled or not allowed 2026-01-28 11:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-100-08>: HTTP status code is not handled or not allowed 2026-01-28 11:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-037-16-s>: HTTP status code is not handled or not allowed 2026-01-28 11:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/57903-sanding-belt-1a-x-4-inch-x-24-inch-50-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 11:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-replacement-liner-10-bushel-green>: HTTP status code is not handled or not allowed 2026-01-28 11:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-motorized-power-cord-reel-that-accepts-250-of-12-gauge-or-200-of-10-gauge-cord-at-30-amps-with-115v-ac-explosion-proof-motor>: HTTP status code is not handled or not allowed 2026-01-28 11:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-131-bo>: HTTP status code is not handled or not allowed 2026-01-28 11:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-8-cubic-yard-utility-truck-base-for-rubbermaid-utility-truck>: HTTP status code is not handled or not allowed 2026-01-28 11:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esw-66-electric-soup-warmer>: HTTP status code is not handled or not allowed 2026-01-28 11:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-replacement-liner-16-bushel-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 11:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-punch-die-set-316>: HTTP status code is not handled or not allowed 2026-01-28 11:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/static-discharge-hand-crank-cable-reel-200-cable-less-cable>: HTTP status code is not handled or not allowed 2026-01-28 11:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5c-lever-type-collet-closer-for-elite-e-1236vs-lathe>: HTTP status code is not handled or not allowed 2026-01-28 11:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-3-1-2-swivel-plate-caster-with-hardware-includes-1-caster-4-lock-nuts-and-4-plow-bolts>: HTTP status code is not handled or not allowed 2026-01-28 11:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-roll-no-adhesive-75a-316-thick-x-36-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/37804-4s-disc-roll-5-inch-dia-180-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 11:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50177-az-x-fiber-disc-7-inch-x-7-8-inch-24-grit-zirconium>: HTTP status code is not handled or not allowed 2026-01-28 11:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34997-psa-disc-1-inch-dia-220-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 11:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-subject-notebook-wide-ruled-70-page-green-48-each-set>: HTTP status code is not handled or not allowed 2026-01-28 11:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-front-folding-support-tube-kit-for-rubbermaid-convertible-utility-cart>: HTTP status code is not handled or not allowed 2026-01-28 11:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cord-spring-rewind-reels-incandescent-cage-light-100-cord-16-awg>: HTTP status code is not handled or not allowed 2026-01-28 11:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0001-08-dominion-dinner-knife>: HTTP status code is not handled or not allowed 2026-01-28 11:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38132-straight-cartridge-roll-1-inch-x-2-inch-x-1-4-60-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 11:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-275-a>: HTTP status code is not handled or not allowed 2026-01-28 11:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-17-7-8x10-5-8-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50269-z-fiber-disc-5-inch-x-7-8-inch-50-grit-zirconium>: HTTP status code is not handled or not allowed 2026-01-28 11:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22072-depressed-center-wheel-t27-4-1-2-inch-x-045-inch-x-7-8-inch-ceramic-alum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 11:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-spray-grand-36-solution-applicator-w-spray-wand-upgrade-for-chemicals-finishes-waxs>: HTTP status code is not handled or not allowed 2026-01-28 11:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-hydraulic-hose-spring-rewind-hose-reel-for-hydraulic-oil-3-8-i-d-50-hose-3000-psi>: HTTP status code is not handled or not allowed 2026-01-28 11:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-50a-116-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-137>: HTTP status code is not handled or not allowed 2026-01-28 11:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-70a-14-thick-x-36-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 99429 pages (at 103 pages/min), scraped 50021 items (at 11 items/min) 2026-01-28 11:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-360-hook-firefighter-anchor-hook-1100-lbs-wll>: HTTP status code is not handled or not allowed 2026-01-28 11:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-277-galvanized-eye-bolt-shoulder-nut-5-16-x-2-1-4-1200-lbs-wll>: HTTP status code is not handled or not allowed 2026-01-28 11:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-bv-3b-central-sliding-bar-vise-3-14-jaw-width>: HTTP status code is not handled or not allowed 2026-01-28 11:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38074-straight-cartridge-roll-1-2-inch-x-1-1-2-inch-x-1-8-inch-80-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 11:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-with-acrylic-adhesive-60a-18-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-209a-galvanized-alloy-shackle-spa-3-4-7t-wll>: HTTP status code is not handled or not allowed 2026-01-28 11:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-25-1-4-x-18-x-10-tote-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-25-1-4-x-18-x-10-tote-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-maize-geo-baskets-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-70a-116-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-04>: HTTP status code is not handled or not allowed 2026-01-28 11:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77447-sand-light-hand-pad-6-inch-x-9-inch-maroon-non-woven-medium>: HTTP status code is not handled or not allowed 2026-01-28 11:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-4055-latch-kit-3t-carbon-4-1-2t-alloy-hook-2-41-l-x-1-w>: HTTP status code is not handled or not allowed 2026-01-28 11:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-giant-stackable-storage-bin-18-3-8x29x14-7-8-black>: HTTP status code is not handled or not allowed 2026-01-28 11:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-wagon-oil-indirect-fired-heater-205k-btu-ductable>: HTTP status code is not handled or not allowed 2026-01-28 11:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-row-universal-low-rise-aluminum-bleacher-7-1-2-wide-single-footboard>: HTTP status code is not handled or not allowed 2026-01-28 11:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-421t-socket-wedge-5-8-wire-terminator>: HTTP status code is not handled or not allowed 2026-01-28 11:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-diamond-deck-truck-56x42-1400-pounds>: HTTP status code is not handled or not allowed 2026-01-28 11:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-no-adhesive-70a-116-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-6331-hexagon-nuts-steel-with-flange-blackened-m20-1-3-16-h>: HTTP status code is not handled or not allowed 2026-01-28 11:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concentrated-marine-parts-engine-degreaser-gallon-bottle-4-case>: HTTP status code is not handled or not allowed 2026-01-28 11:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-2130-s-c-carbon-shackle-bta-7-8-6-1-2t-wll>: HTTP status code is not handled or not allowed 2026-01-28 11:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-standard-soft-face-hammer-331-lb-head-15-14-steel-handle>: HTTP status code is not handled or not allowed 2026-01-28 11:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-281-dt>: HTTP status code is not handled or not allowed 2026-01-28 11:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-6704-bi-fold-door-top-guide-wheel-nylonpack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 11:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-1hp-3450rpm-56c-tenv-230-460v-60hz-1-15sf-c-face>: HTTP status code is not handled or not allowed 2026-01-28 11:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-508-t-slot-nuts-steel-blackened-m8-11-16-w-x-9-16-h>: HTTP status code is not handled or not allowed 2026-01-28 11:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-14-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-6796-bypass-door-guide-nylonsteel>: HTTP status code is not handled or not allowed 2026-01-28 11:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-450-galvanized-clip-drop-forged-1-4>: HTTP status code is not handled or not allowed 2026-01-28 11:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-24-w-grip-safety-angle-ladder>: HTTP status code is not handled or not allowed 2026-01-28 11:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-7239-pocket-door-privacy-lock-with-pull-satin-nickel>: HTTP status code is not handled or not allowed 2026-01-28 11:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sn-v04-ms-hydraulic-variable-angle-sheet-metal-notcher-4-hp-3-phase-220440v>: HTTP status code is not handled or not allowed 2026-01-28 11:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din-6319-spherical-washers-stainless-steel-dished-type-matte-m8-1-8-h-3-8-fem-i-d>: HTTP status code is not handled or not allowed 2026-01-28 11:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-96-x-18-x-72-starter>: HTTP status code is not handled or not allowed 2026-01-28 11:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-gray-42-x30-x84>: HTTP status code is not handled or not allowed 2026-01-28 11:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-6718-closet-door-roller-with-916-inch-offset-and-78-inch-concave-wheelpack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 11:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-press-5-0-hp-3-phase-220v-hsp-60m>: HTTP status code is not handled or not allowed 2026-01-28 11:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cortech-usa-tpdgf-high-security-double-gfi-cover-plate-w-hardware-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-7137-2-18-inch-round-closet-door-pull-with-flush-solid-brasspack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 11:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-6598-bypass-door-roller-assembly-1-12-inch-nylon-ball-bearing>: HTTP status code is not handled or not allowed 2026-01-28 11:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/140-series-c-clamp-kit-2-8-jaw-opening-1-18-to-3-14-throat-depth-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 11:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-with-high-temp-adhesive-60a-316-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-lip-deck-30-x-60-mold-on-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-1804-1-slotted-spanner-lock-nuts-steel-with-polyamide-insert-zinc-plated-m40-x-1-5>: HTTP status code is not handled or not allowed 2026-01-28 11:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-with-high-temp-adhesive-40a-116-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-hook-stake-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-71752-clevis-fork-joints-inch-size-steel-3-8-x-24-1-9-16-o-a-l>: HTTP status code is not handled or not allowed 2026-01-28 11:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-forged-head-stake-unpainted>: HTTP status code is not handled or not allowed 2026-01-28 11:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-1316-sliding-door-handle-set-wood-handle-white-diecast-keyed>: HTTP status code is not handled or not allowed 2026-01-28 11:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-cold-saw-5-5-hp-3-phase-220v-cs-355m>: HTTP status code is not handled or not allowed 2026-01-28 11:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-forged-head-stake-unpainted>: HTTP status code is not handled or not allowed 2026-01-28 11:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sided-shelf-truck-4-shelves-24-x-60>: HTTP status code is not handled or not allowed 2026-01-28 11:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-mesh-tarp-7-ft-x-22-ft-3022116>: HTTP status code is not handled or not allowed 2026-01-28 11:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-truck-2-shelves-mesh-sides-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 11:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delfin-4-gallon-canister-vacuum-1-3-hp-microtec>: HTTP status code is not handled or not allowed 2026-01-28 11:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-flush-deck-24-x-48-mold-on-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45209-532-hex-end-t-handle>: HTTP status code is not handled or not allowed 2026-01-28 11:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-tarp-system-with-solid-vinyl-tarp-7-1-2-ft-x-15-ft-dtr7515s>: HTTP status code is not handled or not allowed 2026-01-28 11:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-sheet-no-adhesive-75a-332-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-3-2hp-3490-2890rpm-145-tefc-208-230-460v-60-50hz-rigid-c>: HTTP status code is not handled or not allowed 2026-01-28 11:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17060-4mm-extra-long-arm-ball-end-l-wrench>: HTTP status code is not handled or not allowed 2026-01-28 11:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-truck-upright-for-36-inch-l-decks>: HTTP status code is not handled or not allowed 2026-01-28 11:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-lathe-220v-single-phase-12-swing-36-length-dro-pl-1236e-dro-1-0>: HTTP status code is not handled or not allowed 2026-01-28 11:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-explosion-proof-motor-1-3hp-1725rpm-56-epfc-60hz-automatic-1-0sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 11:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-hole-pegboards--mounting-hardware-24w-x-916d-x-24h-red-epoxy-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-60a-116-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-reinforced-nose-hand-truck-dual-handle-10-x-350-pneumatic-tire>: HTTP status code is not handled or not allowed 2026-01-28 11:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-mailer-7-10-1-2-x-16-golden-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-50a-332-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-perforated-deck-10-x-350-pneumatic-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-top-bookcase-36w-x-15d-x-36h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 11:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-table-cross-base-36w-x-29-1-2h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 11:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m25-digital-usb-postal-scale-25-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ideal-warehouse-elephantwall-153-topple-barrier-14-2-h-x-20-l>: HTTP status code is not handled or not allowed 2026-01-28 11:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-truck-mesh-sides-30-x-60-6-x-2-polyurethane-wheels>: HTTP status code is not handled or not allowed 2026-01-28 11:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-ironworker-5-hp-3-phase-220v-sw-623>: HTTP status code is not handled or not allowed 2026-01-28 11:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-service-window-10-security-room>: HTTP status code is not handled or not allowed 2026-01-28 11:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elephantwall-topple-barrier-20-ft-h-x-20-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 11:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-60a-38-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-6-door-clear-view-locker-digital-lock12-inch-w-x-15-inch-d-x-78-inch-hgray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 11:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-30x20x8-without-roof-2-sides>: HTTP status code is not handled or not allowed 2026-01-28 11:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrislynn-helical-thread-single-size-insert-replacement-kit-10-32-rh>: HTTP status code is not handled or not allowed 2026-01-28 11:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrislynn-helical-thread-single-size-repair-kit-58-11-left-hand>: HTTP status code is not handled or not allowed 2026-01-28 11:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidroll-wheeled-model-replacement-wheel-70-7061>: HTTP status code is not handled or not allowed 2026-01-28 11:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-50a-332-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-brass-solid-body-padlocks-no-6840kab>: HTTP status code is not handled or not allowed 2026-01-28 11:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/svac4-digital-vacuum-oven-4-5-cu-ft-127-l-115v>: HTTP status code is not handled or not allowed 2026-01-28 11:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-30x20x8-without-roof-4-sides>: HTTP status code is not handled or not allowed 2026-01-28 11:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-steel-weather-resistant-covered-laminated-padlocks-no-6121lf>: HTTP status code is not handled or not allowed 2026-01-28 11:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 99529 pages (at 100 pages/min), scraped 50030 items (at 9 items/min) 2026-01-28 11:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-handle-instrument-cart-flush-shelves-non-slip-vinyl-surface-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 11:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-intensity-infrared-patio-heater-with-transformer-liquid-propane-120000-btu-120v>: HTTP status code is not handled or not allowed 2026-01-28 11:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gre-dtapkit-drilltap-kit>: HTTP status code is not handled or not allowed 2026-01-28 11:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickpick-double-hopper-bin-8-3-8x12-1-2x5-red>: HTTP status code is not handled or not allowed 2026-01-28 11:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-50a-116-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32559-6-in-1-extended-reach-multi-bit-screwdrivernutdriver>: HTTP status code is not handled or not allowed 2026-01-28 11:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-20x20x8-without-roof-2-sides-w-window>: HTTP status code is not handled or not allowed 2026-01-28 11:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-inside-corner-trim-in-venetian-marble-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gray-non-marking-floor-squeegee-rubber-refill-1918>: HTTP status code is not handled or not allowed 2026-01-28 11:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swb23-digital-water-bath-23-liter-capacity-115v>: HTTP status code is not handled or not allowed 2026-01-28 11:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-brass-solid-body-padlocks-no-6850ka>: HTTP status code is not handled or not allowed 2026-01-28 11:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-60a-316-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iteq130-circuit-breaker-type-qp-1-pole-30a>: HTTP status code is not handled or not allowed 2026-01-28 11:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-beam-trolley-10-000-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 11:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3732-carton-sealing-tape-if-seal-is-broken-check-2-x-55-yds-tanred-36pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/371-carton-sealing-tape-3-x-110-yds-19-mil-clear-6pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/291-acrylic-carton-sealing-tape-3-x-55-yds-26-mil-clear-6pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-36x12x75-11>: HTTP status code is not handled or not allowed 2026-01-28 11:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-service-cart-2-flush-shelves-18-x-24>: HTTP status code is not handled or not allowed 2026-01-28 11:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-bottom-resettable-combination-padlocks-no-175>: HTTP status code is not handled or not allowed 2026-01-28 11:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ubiz250-replacement-circuit-breaker-type-ubiz-qc50-2-pole-50a>: HTTP status code is not handled or not allowed 2026-01-28 11:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1108x58-c45-steel-black-oxide-taperlock-bushing-58-inch-bore>: HTTP status code is not handled or not allowed 2026-01-28 11:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-kd-counter-height-cabinet-36-w-x-24-d-x-42-h-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 11:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/371-carton-sealing-tape-2-x-55-yds-19-mil-tan-6pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-part-carbon-style-inventory-tag-3000-3499-8-6-14l-x-3-18w-500pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sdsx1-716-c45-steel-black-oxide-quick-detach-bushing-1-716-inch-bore>: HTTP status code is not handled or not allowed 2026-01-28 11:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-with-acrylic-adhesive-70a-14-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-fragile-handle-with-care-3-x-110-yds-redwhite-6pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-02f-direct-acting-solenoid-valve-2-2-nc-fkm-seal-3-8-nptf-3-mm-12v-dc>: HTTP status code is not handled or not allowed 2026-01-28 11:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-with-acrylic-adhesive-60a-14-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-28-in-ground-post-mounted-safety-barrier-net-kit-orange-net-yellow-posts>: HTTP status code is not handled or not allowed 2026-01-28 11:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-x-30-extra-long-bench-shop-top-4>: HTTP status code is not handled or not allowed 2026-01-28 11:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-10-ft-24-inch-w-1-9-inch-dia-galvanized-rollers-21-inch-between-rail-4-5-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-28 11:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-electric-horizontal-unit-heater-7-5kw-480v>: HTTP status code is not handled or not allowed 2026-01-28 11:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modine-high-efficiency-350000-btu-gas-fired-unit-heater>: HTTP status code is not handled or not allowed 2026-01-28 11:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o21007-eagle-plain-front-overall-yellow-4xl>: HTTP status code is not handled or not allowed 2026-01-28 11:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc510-pc-series-mobile-powered-workstation-standard-power-package-100ah-battery>: HTTP status code is not handled or not allowed 2026-01-28 11:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-10-ft-36-inch-w-1-9-inch-dia-galvanized-rollers-33-inch-between-rail-4-5-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-28 11:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/126-quiet-carton-sealing-tape-3-x-55-yds-26-mil-clear-6pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinnacle-plus-10-series-rubber-wall-base-1-coil-4-in-x-125-in-x-60-ft-white>: HTTP status code is not handled or not allowed 2026-01-28 11:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-5-ft-42-inch-w-1-9-inch-dia-galvanized-rollers-39-inch-between-rail-6-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-28 11:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-with-acrylic-adhesive-50a-38-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-2-ft-ball-transfer-table-25-inch-between-frame-4-inch-ball-center>: HTTP status code is not handled or not allowed 2026-01-28 11:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-12x12x60-3-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-430-nipple-1-4-hose-barb-industrial-interchange-3-8>: HTTP status code is not handled or not allowed 2026-01-28 11:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-heavy-duty-ribbed-stair-tread-square-nose-125-x-48-light-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-double-tier-12x15x36-6-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:58:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/291-acrylic-carton-sealing-tape-2-x-55-yds-26-mil-tan-6pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-double-tier-12x18x36-6-door-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 11:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-framed-letter-board-message-center-18w-12h>: HTTP status code is not handled or not allowed 2026-01-28 11:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-300-nipple-3-8-npt-female-aro-210-standard>: HTTP status code is not handled or not allowed 2026-01-28 11:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-door-directory-cabinet-black-powder-coat-24w-36h>: HTTP status code is not handled or not allowed 2026-01-28 11:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21t5-36-2-aluminum-36-tooth-plain-bore-timing-belt-pulley>: HTTP status code is not handled or not allowed 2026-01-28 11:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-low-circular-profile-square-nose-125-x-48-black-brown>: HTTP status code is not handled or not allowed 2026-01-28 11:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-peek-film-0-003-thick-x-24-w-x-10-l>: HTTP status code is not handled or not allowed 2026-01-28 11:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-40a-316-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-38-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-ss-316316l-12-coupling-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 11:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-ss-316316l-14-18-hex-bushing-npt-male-female>: HTTP status code is not handled or not allowed 2026-01-28 11:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-bottle-eyewash-station-16-oz>: HTTP status code is not handled or not allowed 2026-01-28 11:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 11:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j21207-eagle-storm-fly-front-jacket-yellow-hood-snaps-lg>: HTTP status code is not handled or not allowed 2026-01-28 11:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-ss-304-barstock-coupling-38-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 11:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-38-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silencer-plus-band-saw-blade-1-inch-w-035-thick-gauge-5-8-tpi-333-258116>: HTTP status code is not handled or not allowed 2026-01-28 11:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-3-3-34l-x-1-78w-dark-blue-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-ss-316-barstock-coupling-12-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 11:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-1-250-thick-x-24-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 11:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s63217-comforttuff-2-pc-suit-yellow-attached-hood-xl>: HTTP status code is not handled or not allowed 2026-01-28 11:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-in-super-air-knife-only-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 11:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-14-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ldpe-rod-0-375-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x18x96-gray-with-5-shelves-1500-lb-cap-per-shelf>: HTTP status code is not handled or not allowed 2026-01-28 11:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0404-m5x0-8-d4-4-flute-bright-taper-plug-and-bottoming-hand-tap-set>: HTTP status code is not handled or not allowed 2026-01-28 11:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn471-crank-handles-aluminum-revolving-handle-through-round-bore-14mm-4-92-long>: HTTP status code is not handled or not allowed 2026-01-28 11:58:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v41108-safetyflex-zipper-fly-front-hooded-coverall-2xl>: HTTP status code is not handled or not allowed 2026-01-28 11:58:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-rod-2-750-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-storage-cabinet-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 11:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ft-electrical-cord-reel-with-3-power-outlets>: HTTP status code is not handled or not allowed 2026-01-28 11:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ldpe-rod-5-500-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 99623 pages (at 94 pages/min), scraped 50045 items (at 15 items/min) 2026-01-28 11:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x7-8-36-grit-alum-oxresin-fibre-disc>: HTTP status code is not handled or not allowed 2026-01-28 11:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-3-34l-x-1-78w-green-100pack>: HTTP status code is not handled or not allowed 2026-01-28 11:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-pedestal-bottle-filling-station-rotocast-granite-finish>: HTTP status code is not handled or not allowed 2026-01-28 11:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ketron-peek-rod-q-0-250-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-116-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j53107-35mm-industrial-work-hooded-jacket-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 11:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-nsm-rod-2-000-dia>: HTTP status code is not handled or not allowed 2026-01-28 11:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 11:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2x5-8-11-z3-80-t27xl-100-za-flap-disc>: HTTP status code is not handled or not allowed 2026-01-28 11:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-28 11:59:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chipboard-pads-18l-x-18w-kraft-250pack>: HTTP status code is not handled or not allowed 2026-01-28 11:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-wired-12-8l-x-4w-dark-blue-500pack>: HTTP status code is not handled or not allowed 2026-01-28 11:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-50a-14-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 11:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-x7-8-type-29-aluminom-oxide-80-grit-flap>: HTTP status code is not handled or not allowed 2026-01-28 11:59:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 11:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-rubber-strip-no-adhesive-70a-12-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-b-44-4x-tube-aaa00062-1-000-id-x-1-250-od-x-50-l>: HTTP status code is not handled or not allowed 2026-01-28 11:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-a-f-drain-w-pump>: HTTP status code is not handled or not allowed 2026-01-28 11:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-starter-rack-96x24x84-gray-with-3-level-wood-deck-1100lb-cap-per-deck>: HTTP status code is not handled or not allowed 2026-01-28 11:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 11:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-3350-sanitary-silicone-tubing-abw00007-0-125-id-x-250-od-x-50-l>: HTTP status code is not handled or not allowed 2026-01-28 11:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-rack-with-42-akrobins-36x50-1>: HTTP status code is not handled or not allowed 2026-01-28 11:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p56007-durascrim-plain-front-pants-yellow-md>: HTTP status code is not handled or not allowed 2026-01-28 11:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-b44-3-tube-aab00053-0-750-id-x-1-000-od-x-50-l>: HTTP status code is not handled or not allowed 2026-01-28 11:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-7-5-34l-x-2-78w--fluorescent-green-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 11:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-m-ite-roloc-roll-on-coated-polyester-disc-13>: HTTP status code is not handled or not allowed 2026-01-28 11:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges>: HTTP status code is not handled or not allowed 2026-01-28 11:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-b-44-4x-tube-aaa00065-1-000-id-x-1-500-od-x-50-l>: HTTP status code is not handled or not allowed 2026-01-28 11:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-suture-cart-w-bulk-storage-area>: HTTP status code is not handled or not allowed 2026-01-28 11:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22w-120v-cool-white-flood-led-uplight-bronze-texture>: HTTP status code is not handled or not allowed 2026-01-28 11:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb922b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-8>: HTTP status code is not handled or not allowed 2026-01-28 11:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-pull-plate-6-l-x-16-h-x-3-4-satin-stainless-steel-6-ctc>: HTTP status code is not handled or not allowed 2026-01-28 11:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-food-grade-vacuum-hose-blue-20-l>: HTTP status code is not handled or not allowed 2026-01-28 11:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-gsm-sheet-cast-2-000-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 11:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/textured-neoprene-rubber-sheet-with-acrylic-adhesive-50a-18-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 11:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-wired-4-4-14l-x-2-18w-fluorescent-red-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 11:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-wall-corrugated-sheets-42l-x-40w-kraft-5pack>: HTTP status code is not handled or not allowed 2026-01-28 11:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-50a-38-thick-x-36-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-mobile-alum-step-stand-solid-ribbed-top-step-24-inch-wide-plat>: HTTP status code is not handled or not allowed 2026-01-28 11:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-folding-rolling-ladder-stand-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 11:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/textured-neoprene-rubber-roll-with-acrylic-adhesive-70a-116-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 11:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s53307-35mm-industrial-3-pc-work-suit-yellow-jacket-detachable-hood-lg>: HTTP status code is not handled or not allowed 2026-01-28 11:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-hose-adapter-50mm-straight-connector-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 11:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-50a-12-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 11:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-workbench-w-lower-shelf-hardboard-over-steel-36-x-84>: HTTP status code is not handled or not allowed 2026-01-28 11:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-48x24x96-gray-with-3-shelves-laminated-deck-1200-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11051-h-chief-10-lb-extinguisher-cabinet-plastic-red>: HTTP status code is not handled or not allowed 2026-01-28 11:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl4296-plus-barrier-set-x2-danger-high-voltage-keep-outred>: HTTP status code is not handled or not allowed 2026-01-28 11:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-72x24x96-gray-with-3-shelves-laminated-deck-900-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 11:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxivirhydrogen-peroxide-disinfectant-cleaner-32-oz-12-bottles-100850916>: HTTP status code is not handled or not allowed 2026-01-28 11:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-rectangular-brush-6-1-2-l-white>: HTTP status code is not handled or not allowed 2026-01-28 11:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wire-shelf-individual-basket-48w-x-24d>: HTTP status code is not handled or not allowed 2026-01-28 11:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gss-saftey-8007-quilted-jacket-class-3-lime-black-2xl>: HTTP status code is not handled or not allowed 2026-01-28 11:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s56307-durascrim-3-pc-suit-yellow-detachable-hood-2xl>: HTTP status code is not handled or not allowed 2026-01-28 11:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gss-saftey-8505-3-in-1-waterproof-parka-class-3-lime-black-lg>: HTTP status code is not handled or not allowed 2026-01-28 11:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35121-workbrutes-10-work-boots-black-cleated-outsole-lg>: HTTP status code is not handled or not allowed 2026-01-28 11:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/animalcontrol-bird-x3-dfoxreplica-640235>: HTTP status code is not handled or not allowed 2026-01-28 11:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-30x18x74-nexelon-finish>: HTTP status code is not handled or not allowed 2026-01-28 11:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-vinyl-tubing-bulk-coil-3-8-i-d-300-feet-coil>: HTTP status code is not handled or not allowed 2026-01-28 11:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-formula-3685-concentrated-low-foam-liquid-acid-cleaner-gallon-bottle-4-bottles>: HTTP status code is not handled or not allowed 2026-01-28 11:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-25v-floor-model-drill-press-1-drill-capacity-frequency-drive-120v-variable-speed>: HTTP status code is not handled or not allowed 2026-01-28 11:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ertalyte-pet-p-sheet-q-1-250-thick-x-24-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 11:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-16-rail-unit-with-48-qus230-ultra-stack-hang-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 11:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-12-rail-unit-with-96-qus220-ultra-stack-hang-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 11:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-strapping-5-8-wide-x-4200>: HTTP status code is not handled or not allowed 2026-01-28 11:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fm-094-3-4-water-tank-alarm-shutoff-3-4-npt-full-port-lead-free-valve>: HTTP status code is not handled or not allowed 2026-01-28 11:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-wall-container-24x15x5>: HTTP status code is not handled or not allowed 2026-01-28 11:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-long-handle-grill-brush-red>: HTTP status code is not handled or not allowed 2026-01-28 11:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2525-flatback-tape-2-x-60-yds-95-mil-orange-6pack>: HTTP status code is not handled or not allowed 2026-01-28 11:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-54wx14dx54h>: HTTP status code is not handled or not allowed 2026-01-28 11:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 99720 pages (at 97 pages/min), scraped 50073 items (at 28 items/min) 2026-01-28 11:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-read-large-dial-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 11:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solaira-sicr-h1-trmg-recess-trim-kit-for-heater-model-sicr20240g>: HTTP status code is not handled or not allowed 2026-01-28 11:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-bike-double-galvanized-1>: HTTP status code is not handled or not allowed 2026-01-28 11:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-container-solid-wall-48x40x31-long-side-runners-blue-1500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-fiberglass-leansafe-ladder-w-plastic-tool-tray-300-lb-cap-l6208>: HTTP status code is not handled or not allowed 2026-01-28 12:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-extra-lightweight-oil-iso-46-5-gal-pail-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-jamestown-2-x-2-lay-in-tin-ceiling-tile-in-copper-y51-08>: HTTP status code is not handled or not allowed 2026-01-28 12:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-40-4123-7-1-4-24-carbide-teeth-circular-saw-blade-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 12:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-jamestown-2-x-2-lay-in-tin-ceiling-tile-in-bronze-burst-y51-06>: HTTP status code is not handled or not allowed 2026-01-28 12:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kidney-cart-fiber-concrete>: HTTP status code is not handled or not allowed 2026-01-28 12:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kidney-cart-hard-rock-maple>: HTTP status code is not handled or not allowed 2026-01-28 12:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-erie-2-x-2-lay-in-tin-ceiling-tile-in-antique-white-y56-02>: HTTP status code is not handled or not allowed 2026-01-28 12:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-niagara-2-x-2-lay-in-tin-ceiling-tile-in-penny-vein-y54-05>: HTTP status code is not handled or not allowed 2026-01-28 12:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sigma-48-x-39-rectangular-aluminum-table-w-umbrella-hole-fusion-bronze>: HTTP status code is not handled or not allowed 2026-01-28 12:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-perforated-basket-for-p2600-series-ultrasonic-part-cleaners>: HTTP status code is not handled or not allowed 2026-01-28 12:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tank-cover-for-p500-series-ultrasonic-part-cleaners>: HTTP status code is not handled or not allowed 2026-01-28 12:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-table-corner-30-x-30-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 12:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasonic-table-top-parts-cleaning-system-digital-timer-heat-power-control-1-gal-45-khz-115v>: HTTP status code is not handled or not allowed 2026-01-28 12:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fresh-products-ultra-beads-cherry-42-5-oz-4-case>: HTTP status code is not handled or not allowed 2026-01-28 12:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saturn-13-round-led-flush-mount-16w-1100-lumens-90-cri-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 12:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-10w-to-11w-and-66h>: HTTP status code is not handled or not allowed 2026-01-28 12:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cone-bowl-mop-with-10-handle-2-diameter-head-25-carton>: HTTP status code is not handled or not allowed 2026-01-28 12:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-double-folding-gate-10w-to-12w-and-7h>: HTTP status code is not handled or not allowed 2026-01-28 12:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cabinet-shop-desk-with-pigeonhole-riser-pegboard-top-shelf-34-1-2-w-x-30-d-x-80-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bitk1212-12-x-12-exposed-flange-knurled-knob>: HTTP status code is not handled or not allowed 2026-01-28 12:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lower-feed-gear-shaft-1230r-5235011>: HTTP status code is not handled or not allowed 2026-01-28 12:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-kit-60-w-workbench-with-18-w-36-w-louvers-mounting-rail-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibiza-46-round-resin-pedestal-table-w-umbrella-hole-french-taupe>: HTTP status code is not handled or not allowed 2026-01-28 12:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-antibacterial-foam-soap-unscented-1000-ml-6-case>: HTTP status code is not handled or not allowed 2026-01-28 12:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bntc2430-24-x-30-exposed-flange-cam-latch>: HTTP status code is not handled or not allowed 2026-01-28 12:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bitk2230-22-x-30-exposed-flange-knurled-knob>: HTTP status code is not handled or not allowed 2026-01-28 12:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-steel-container-solid-30l-x-24w-x-24h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-steel-container-solid-30l-x-30w-x-24h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-storage-cabinet-assembled-36x18x78-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-lever-spd-chng-5510084>: HTTP status code is not handled or not allowed 2026-01-28 12:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-oslash-60-hz-120208240277-primary-volts-150-kva>: HTTP status code is not handled or not allowed 2026-01-28 12:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2232ac-key-5510146>: HTTP status code is not handled or not allowed 2026-01-28 12:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bg3630-36-x-30-personnel-ii-roof-hatch-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-dunnage-rack-30-w-x-18-d-1>: HTTP status code is not handled or not allowed 2026-01-28 12:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prf092wwglh-0-white-diamond-glass-door-refrigerator-freezer-combo-9-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 12:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reechcraft-pl-xm-straddle-base-powerlift-288-platform-height-350-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-stretch-wrap-machine-ramp>: HTTP status code is not handled or not allowed 2026-01-28 12:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-standard-arrowfog-lubricator-w-poly-bowl>: HTTP status code is not handled or not allowed 2026-01-28 12:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-comfort-construction-style-positioning-harness-1140183-l>: HTTP status code is not handled or not allowed 2026-01-28 12:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-dunnage-rack-36-w-x-24-d-3>: HTTP status code is not handled or not allowed 2026-01-28 12:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/497-diamond-plate-diamond-plate-ergonomic-mat-24-x-75-x-5-8-black>: HTTP status code is not handled or not allowed 2026-01-28 12:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/560-ergodeck-heavy-duty-inside-corner-6x9-black>: HTTP status code is not handled or not allowed 2026-01-28 12:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3400-block-plate-5517509>: HTTP status code is not handled or not allowed 2026-01-28 12:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-nuts-8mm>: HTTP status code is not handled or not allowed 2026-01-28 12:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4200a-disc-guard-5508453>: HTTP status code is not handled or not allowed 2026-01-28 12:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f402411-24-inch-convertible-range-hood-160-cfm>: HTTP status code is not handled or not allowed 2026-01-28 12:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-container-24-lx14-wx8-h-2>: HTTP status code is not handled or not allowed 2026-01-28 12:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invertec-v276-tweco-stick-tig-welder-20-275a-5060hz-415460575v>: HTTP status code is not handled or not allowed 2026-01-28 12:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-container-26-lx18-3-4-wx10-h-3>: HTTP status code is not handled or not allowed 2026-01-28 12:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-integral-fil-reg-with-gauge-poly-bowl-float-drain>: HTTP status code is not handled or not allowed 2026-01-28 12:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-mil-polyethylene-apron-blue-28-x-46-100bag>: HTTP status code is not handled or not allowed 2026-01-28 12:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-with-self-close-double-door-60-gallon>: HTTP status code is not handled or not allowed 2026-01-28 12:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swa-pmo-rf-powered-mast-for-wrap-machine-retrofit-field-installed>: HTTP status code is not handled or not allowed 2026-01-28 12:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-gb5050m-mouthpiece-replc-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-polypropylene-bouffant-cap-100-latex-free-yellow-24-100bag-10-bagscase>: HTTP status code is not handled or not allowed 2026-01-28 12:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-resistant-cabinet-8>: HTTP status code is not handled or not allowed 2026-01-28 12:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-sprng-pin-5640151>: HTTP status code is not handled or not allowed 2026-01-28 12:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-fire-extinguisher-cabinet-semi-recessed-fits-2-6-5lb-extinguisher>: HTTP status code is not handled or not allowed 2026-01-28 12:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12ft-picnic-table-aluminum-planking-hd-galvanized-steel-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heataround-360-portable-propane-heater-ha1360r>: HTTP status code is not handled or not allowed 2026-01-28 12:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-knob--ref-140-5714031>: HTTP status code is not handled or not allowed 2026-01-28 12:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-800-glove-liners-black-large>: HTTP status code is not handled or not allowed 2026-01-28 12:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-30x27x32-3>: HTTP status code is not handled or not allowed 2026-01-28 12:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-nut-hex-5510250>: HTTP status code is not handled or not allowed 2026-01-28 12:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dishwashing-liquid-fresh-scent-25-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 12:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-stop-rod-5711381>: HTTP status code is not handled or not allowed 2026-01-28 12:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/autoseal-fd-1506-desktop-pressure-sealer-with-touchscreen-100-formsminute>: HTTP status code is not handled or not allowed 2026-01-28 12:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-screw-14x38-ref-106-5713671>: HTTP status code is not handled or not allowed 2026-01-28 12:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-817wp-thermal-waterproof-utility-gloves-black-x-large>: HTTP status code is not handled or not allowed 2026-01-28 12:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gasket-5711531>: HTTP status code is not handled or not allowed 2026-01-28 12:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-30x27x32-11>: HTTP status code is not handled or not allowed 2026-01-28 12:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vfswdl3510-ip69-1hp-1730rpm-1ph-60hz-56c-3540l-tefc-f1-n>: HTTP status code is not handled or not allowed 2026-01-28 12:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-breather-vent>: HTTP status code is not handled or not allowed 2026-01-28 12:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6665-evaporative-cooling-vest-gray-2-x-large>: HTTP status code is not handled or not allowed 2026-01-28 12:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/474-ergomat153-anti-fatigue-mat-12-thick-4w-x-up-to-75l-black>: HTTP status code is not handled or not allowed 2026-01-28 12:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-standard-regulator-with-gauge-100-scfm>: HTTP status code is not handled or not allowed 2026-01-28 12:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 99820 pages (at 100 pages/min), scraped 50091 items (at 18 items/min) 2026-01-28 12:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-polypropylene-shoe-covers-with-non-skid-aq-sole-water-resistant-white-lg-200case>: HTTP status code is not handled or not allowed 2026-01-28 12:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ant-and-roach-killer-17-5-oz-aerosol-spray-single-can>: HTTP status code is not handled or not allowed 2026-01-28 12:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-4000-walk-behind-snowplow-with-rotary-broom-sweeper>: HTTP status code is not handled or not allowed 2026-01-28 12:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sharpie-magnum-permanent-marker-black-1-pk>: HTTP status code is not handled or not allowed 2026-01-28 12:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-8-compartment-13>: HTTP status code is not handled or not allowed 2026-01-28 12:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boxed-facial-tissue-2-ply-white-100-sheets-box>: HTTP status code is not handled or not allowed 2026-01-28 12:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protractor-20-disc-sndr-item67-5645041>: HTTP status code is not handled or not allowed 2026-01-28 12:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-16-compartment-13>: HTTP status code is not handled or not allowed 2026-01-28 12:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gymwipes-carewipes-mega-roll-refill-2-case>: HTTP status code is not handled or not allowed 2026-01-28 12:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-polypropylene-bouffant-cap-100-latex-free-navy-21-100bag>: HTTP status code is not handled or not allowed 2026-01-28 12:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-keyed-padlock-15-16-shackle-keyed-different>: HTTP status code is not handled or not allowed 2026-01-28 12:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-keyed-padlock-1-shackle-keyed-different>: HTTP status code is not handled or not allowed 2026-01-28 12:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8289-class-2-economy-t-shirt-orange-medium>: HTTP status code is not handled or not allowed 2026-01-28 12:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7060-bracket-adjust-mount-rt-5512315>: HTTP status code is not handled or not allowed 2026-01-28 12:01:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frameless-petite-safety-glasses-scratch-resistant-clear-lens-pink-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:01:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27k-btu-dual-zone-heat-pump-split-system-with-9k-and-18k-indoor-high-wall-units>: HTTP status code is not handled or not allowed 2026-01-28 12:01:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennsco-capstone-boltless-shelving-add-on-unit-42-w-x-18-d-x-88-h-6-shelves-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 12:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vogue-outdoor-stackable-chair-french-taupe-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 12:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rac-line-aluminum-straight-leg-dunnage-rack-48-lx20-wx12-h-6005>: HTTP status code is not handled or not allowed 2026-01-28 12:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-mil-pvc-apron-with-sewn-edge-blue-35-x-50-12bag->: HTTP status code is not handled or not allowed 2026-01-28 12:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennsco-capstone-boltless-shelving-starter-unit-36-w-x-18-d-x-76-h-5-shelves-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 12:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-heavy-duty-shelf-15-wx42-l>: HTTP status code is not handled or not allowed 2026-01-28 12:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3115-wrist-lanyard-black-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 12:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vogue-outdoor-stackable-armchair-black-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 12:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-cantilever-solid-brute-shelf-24-wx48-l>: HTTP status code is not handled or not allowed 2026-01-28 12:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners>: HTTP status code is not handled or not allowed 2026-01-28 12:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems>: HTTP status code is not handled or not allowed 2026-01-28 12:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-dot-stool-vinyl-black>: HTTP status code is not handled or not allowed 2026-01-28 12:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems>: HTTP status code is not handled or not allowed 2026-01-28 12:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/380942-mini-clamp-meter-greenorange>: HTTP status code is not handled or not allowed 2026-01-28 12:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-shelf-ledge-30>: HTTP status code is not handled or not allowed 2026-01-28 12:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-stacking-outdoor-armchair-solid-gray-sling-on-volcanic-black-frame-pk-of-4>: HTTP status code is not handled or not allowed 2026-01-28 12:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barrel-cart-bc-200-4sbk-for-ardex-barrels-15-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-cabinet-workbench-maple>: HTTP status code is not handled or not allowed 2026-01-28 12:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120ml-natural-hdpe-wide-mouth-round-bottle-with-38-400-white-pp-cap-foam-disc-48-pk>: HTTP status code is not handled or not allowed 2026-01-28 12:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scale-jdp-141720jsl-14dp-10601702>: HTTP status code is not handled or not allowed 2026-01-28 12:01:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jet-jtm-2-mill-3-axis-newall-dp500-dro-quill-x-and-y-axis-powerfeeds-698149 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/83-400-valuline-white-ribbed-pp-f217-ptfe-lined-cap-packed-in-bags-of-12-144pk>: HTTP status code is not handled or not allowed 2026-01-28 12:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-1050evs2-230-mill-x-and-y-axis-powerfeeds-690636>: HTTP status code is not handled or not allowed 2026-01-28 12:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-heavy-duty-3-shelf-rack-20-wx60-hx42-l>: HTTP status code is not handled or not allowed 2026-01-28 12:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-75-x-32mm-amber-borosilicate-crimp-neck-serum-vial-with-13mm-neck-finish-4950pk>: HTTP status code is not handled or not allowed 2026-01-28 12:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-1050evs2-230-mill-acu-rite-200s-dro-x-and-y-axis-powerfeeds-air-powered-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 12:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-1254vs-mill-newall-dp700-3x-dro-knee-x-axis-powerfeed-698156>: HTTP status code is not handled or not allowed 2026-01-28 12:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-6w-x-12l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-splash-guard-polypropylene-white-swingsg>: HTTP status code is not handled or not allowed 2026-01-28 12:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-steel-orange-tilt-and-roll-ladder-with-expanded-tread-tr-3-x-o>: HTTP status code is not handled or not allowed 2026-01-28 12:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-solid-wallshelf-18-wx60-l-12-ga>: HTTP status code is not handled or not allowed 2026-01-28 12:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/short-sleeve-t-shirt-segmented-tape-hi-vis-yellow-4xl>: HTTP status code is not handled or not allowed 2026-01-28 12:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jet-jtm-2-mill-3-axis-newall-dp500-dro-quill-x-and-y-axis-powerfeeds-698149>: HTTP status code is not handled or not allowed 2026-01-28 12:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-300-black-post-retracting-belt-barrier-16-ft-black-belt>: HTTP status code is not handled or not allowed 2026-01-28 12:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8925-class-e-thermal-pants-lime-large>: HTTP status code is not handled or not allowed 2026-01-28 12:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8925-class-e-thermal-pants-lime-5-x-large>: HTTP status code is not handled or not allowed 2026-01-28 12:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crew-sweatshirt-hi-vis-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 12:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-x-70mm-4-dram-vial-w-18-400-green-thermoset-f217-ptfe-lined-cap-cleaned-144pk>: HTTP status code is not handled or not allowed 2026-01-28 12:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-hbs-1321w-1321w-24-1>: HTTP status code is not handled or not allowed 2026-01-28 12:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-block-hbs-1321w-1321w-27>: HTTP status code is not handled or not allowed 2026-01-28 12:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-cover-400-denier-nylon-for-18-x-48-x-63-unit-hook-loop-fastener-closure-white>: HTTP status code is not handled or not allowed 2026-01-28 12:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-cover-400-denier-nylon-for-18-x-48-x-63-unit-hook-loop-fastener-closure-red>: HTTP status code is not handled or not allowed 2026-01-28 12:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-8w-x-28l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-security-module-chrome-24w-x-36l-x-21h>: HTTP status code is not handled or not allowed 2026-01-28 12:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-parka-hi-viz-yellow-4xl>: HTTP status code is not handled or not allowed 2026-01-28 12:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-zip-hoodie-sweatshirt-hi-vis-orange-medium>: HTTP status code is not handled or not allowed 2026-01-28 12:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-kit-bookcase-dark-cherry-office-furniture-groupings-1>: HTTP status code is not handled or not allowed 2026-01-28 12:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-padlock-with-3-keys>: HTTP status code is not handled or not allowed 2026-01-28 12:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-steel-underbody-truck-box-18x13x18-1703321>: HTTP status code is not handled or not allowed 2026-01-28 12:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-24w-x-30l-1-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 12:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10oz-natural-pp-high-profile-hinged-vial-with-lock-seal-tab-100pk>: HTTP status code is not handled or not allowed 2026-01-28 12:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xd-smooth-aluminum-underbody-with-barn-door-24x24x36-1705435>: HTTP status code is not handled or not allowed 2026-01-28 12:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-value-bomber-jacket-hi-viz-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-28 12:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-clear-jug-w-38-400-white-metal-pulp-pe-cap-vacuum-4pk>: HTTP status code is not handled or not allowed 2026-01-28 12:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-wicking-t-shirt-hi-viz-yellow-large>: HTTP status code is not handled or not allowed 2026-01-28 12:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breathable-foul-weather-coat-hi-viz-orange-small>: HTTP status code is not handled or not allowed 2026-01-28 12:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-faceout-for-slatwall-satin-nickel>: HTTP status code is not handled or not allowed 2026-01-28 12:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-65-x-26mm-0-50-dram-clear-compound-vial-w-13-425-neck-finish-vial-only-144pk>: HTTP status code is not handled or not allowed 2026-01-28 12:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-max-100-sq-ft-kit-vinyl-antique-bronze-282-31>: HTTP status code is not handled or not allowed 2026-01-28 12:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protecting-rubber-jsg-0751sh-28-0030>: HTTP status code is not handled or not allowed 2026-01-28 12:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-amber-jug-w-38-400-black-phenolic-solid-pe-cap-vacuum-6pk>: HTTP status code is not handled or not allowed 2026-01-28 12:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/occumitts-support-gloves-1-pair-medium-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 99913 pages (at 93 pages/min), scraped 50107 items (at 16 items/min) 2026-01-28 12:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-max-100-sq-ft-kit-vinyl-argent-silver-282-09>: HTTP status code is not handled or not allowed 2026-01-28 12:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-18w-x-18l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 12:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-cotton-high-visibility-long-sleeve-t-shirt-with-pocket-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-28 12:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-safety-ppe-dispenser-compact-with-cover-and-pad-gladtc>: HTTP status code is not handled or not allowed 2026-01-28 12:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-raincoat-hi-viz-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-28 12:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-dia-1-4-shank-2-oal-82-6-flute-single-end-countersink-cobalt-tin>: HTTP status code is not handled or not allowed 2026-01-28 12:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-20w-x-48l-4-mil-clear-200pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64oz-clear-jug-w-38-400-black-phenolic-polyseal-cone-cap-6pk>: HTTP status code is not handled or not allowed 2026-01-28 12:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-microbial-uv-light-table-top-room-stainless-steel-sanitizer>: HTTP status code is not handled or not allowed 2026-01-28 12:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-dia-5-16-shank-13-16-loc-2-1-2-oal-4-flute-solid-carbide-single-end-mill-uncoated>: HTTP status code is not handled or not allowed 2026-01-28 12:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-economy-back-support-belt-7176-02>: HTTP status code is not handled or not allowed 2026-01-28 12:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miracool-bandanas-cowboy-red-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-tie-hat-with-elastic-rear-band-assorment-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-bumper-stand-steel-24-w-x-8-d-x-40-h>: HTTP status code is not handled or not allowed 2026-01-28 12:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-bushel-yellow-vinyl-basket-truck-bulk-truck>: HTTP status code is not handled or not allowed 2026-01-28 12:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-standard-wicking-t-shirt-with-pocket-ansi-hi-viz-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-28 12:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-liner-20-bushel-blue-vinyl-basket-truck-bulk-truck>: HTTP status code is not handled or not allowed 2026-01-28 12:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/distribution-container-with-hinged-lid-21-1-2x15-1-4x9-1-2-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/northflex-blue-nylon-foam-pvc-glove-10xl-nf11hd-10xl>: HTTP status code is not handled or not allowed 2026-01-28 12:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kas6blk-safety-padlock-1-12w-x-1-12h-black-6set>: HTTP status code is not handled or not allowed 2026-01-28 12:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-l-x30-w-production-bench-plastic-square-edge-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copy-paper-92-brightness-20lb-812-x-11-white-5000-sheetscarton>: HTTP status code is not handled or not allowed 2026-01-28 12:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-4224-6295829>: HTTP status code is not handled or not allowed 2026-01-28 12:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-standard-wicking-t-shirt-with-pocket-ansi-hi-viz-yellow-4xl>: HTTP status code is not handled or not allowed 2026-01-28 12:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-door-4224-6295833>: HTTP status code is not handled or not allowed 2026-01-28 12:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refillable-spray-s463>: HTTP status code is not handled or not allowed 2026-01-28 12:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/singleply-thermal-paper-rolls-214-x-85-ft-white-3pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glue-top-writing-pads-wide-rule-letter-canary-50sheet-padspack-dozen>: HTTP status code is not handled or not allowed 2026-01-28 12:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-4w-x-6l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/117276-10-sol-vex-unsupported-nitrile-line-37-175-10>: HTTP status code is not handled or not allowed 2026-01-28 12:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/117144-10-sol-vex-unsupported-nitrile-line-37-155-10>: HTTP status code is not handled or not allowed 2026-01-28 12:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-authorized-personnel-only-10x14-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-28 12:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-jaw-inner-races-puller-with-side-clamp-3-1-2-90-mm-open-and-3-7-8-100-mm-reach>: HTTP status code is not handled or not allowed 2026-01-28 12:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-p24-f25-19>: HTTP status code is not handled or not allowed 2026-01-28 12:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-selfadhesive-colorcoding-labels-34in-dia-white-1008pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-jaw-self-centering-puller-1-ton-capacity-1-4-to-2-3-8-open-2-reach->: HTTP status code is not handled or not allowed 2026-01-28 12:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-padded-swivel-task-office-chair-navy-mid-back>: HTTP status code is not handled or not allowed 2026-01-28 12:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taper-arbor-jdp-20evs-20evs-h40>: HTTP status code is not handled or not allowed 2026-01-28 12:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transformer-ng-2s>: HTTP status code is not handled or not allowed 2026-01-28 12:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-6w-x-36l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-wood-cross-back-chair-pecan-20-x-23-x-35>: HTTP status code is not handled or not allowed 2026-01-28 12:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kaltblu-safety-padlock-3h-shackle-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-card-table-black>: HTTP status code is not handled or not allowed 2026-01-28 12:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-10w-x-13l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reroute-42h-platform-2-rails-spiral-stair-kit-42dia-14-1-8h-12-treads>: HTTP status code is not handled or not allowed 2026-01-28 12:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impellers-26-3152-gri1008>: HTTP status code is not handled or not allowed 2026-01-28 12:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-triple-tier-12x15x24-3-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 12:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-10w-x-30l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burners-26-4922-sou1182762>: HTTP status code is not handled or not allowed 2026-01-28 12:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-10w-x-20l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-screw-m10x30-cs275-23>: HTTP status code is not handled or not allowed 2026-01-28 12:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aqua-bar-ii-tri-temp-point-of-use-cooler-standard>: HTTP status code is not handled or not allowed 2026-01-28 12:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atlantis-series-point-of-use-water-cooler-two-piece-hot-tank-hot-n-cold-8482-black>: HTTP status code is not handled or not allowed 2026-01-28 12:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-ring-dia-14mm-ahj12-25>: HTTP status code is not handled or not allowed 2026-01-28 12:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eyesaline-4-oz-personaleyewash-32-000452-0000>: HTTP status code is not handled or not allowed 2026-01-28 12:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-15x18x72-3-door-ready-assemble-parchment>: HTTP status code is not handled or not allowed 2026-01-28 12:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-composite-blow-gun-with-osha-nozzle-equipped-with-integrated-1-4-plug-industrial-profile>: HTTP status code is not handled or not allowed 2026-01-28 12:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-composite-blow-gun-with-silent-nozzle-and-with-integrated-1-4-plug-automotive-profile>: HTTP status code is not handled or not allowed 2026-01-28 12:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-double-tier-12x18x36-2-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-aluminum-foil-tape-4380-silver-2-in-x-55-yds-36-rolls-per-case>: HTTP status code is not handled or not allowed 2026-01-28 12:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-plug-body-with-industrial-profile-1-2-fnpt-connection-used-with-isi-coupling>: HTTP status code is not handled or not allowed 2026-01-28 12:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-28 12:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contractors-44-1071-altcn-3052>: HTTP status code is not handled or not allowed 2026-01-28 12:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jcdc-3-cyclone-dust-collector-kit-3hp-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-bracket-a-fk350-109>: HTTP status code is not handled or not allowed 2026-01-28 12:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-12w-x-16l-6-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30319572>: HTTP status code is not handled or not allowed 2026-01-28 12:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-15x18x72-1-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-razor-floor-scraper-from-39-to-59-adjustable-handle>: HTTP status code is not handled or not allowed 2026-01-28 12:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-s2136gz-green-wire-shelf-36-wx21-d>: HTTP status code is not handled or not allowed 2026-01-28 12:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wide-gooseneck-wall-mounted-electronic-faucet>: HTTP status code is not handled or not allowed 2026-01-28 12:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-24in-w-steel-safety-angle-rolling-ladder-grip-strut-safety-yellow-kdec103242-y>: HTTP status code is not handled or not allowed 2026-01-28 12:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-filter-hp5a-3>: HTTP status code is not handled or not allowed 2026-01-28 12:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-six-tier-12x15x12-18-door-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-16in-w-steel-safety-angle-rolling-ladder-grip-strut-safety-yellow-kdec107162-y>: HTTP status code is not handled or not allowed 2026-01-28 12:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-31x40-ghb1340-137>: HTTP status code is not handled or not allowed 2026-01-28 12:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-plug-body-with-industrial-profile-3-8-fnpt-connection-used-with-isi-coupling>: HTTP status code is not handled or not allowed 2026-01-28 12:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-24w-x-54l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-24in-w-steel-safety-angle-rolling-ladder-perforated-tread-gray-kdec106246>: HTTP status code is not handled or not allowed 2026-01-28 12:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-steel-24in-w-tilt-roll-ladder-perforated-tread-kdtf107246>: HTTP status code is not handled or not allowed 2026-01-28 12:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-static-shielding-bags-8w-x-16l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-28 12:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100012 pages (at 99 pages/min), scraped 50126 items (at 19 items/min) 2026-01-28 12:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-lid-blue-recycling-1-cubic-yard-tilt-truck>: HTTP status code is not handled or not allowed 2026-01-28 12:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-bumping-hammers-160g>: HTTP status code is not handled or not allowed 2026-01-28 12:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-24in-w-steel-safety-angle-rolling-ladder-grip-strut-safety-yellow-kdec111242-y>: HTTP status code is not handled or not allowed 2026-01-28 12:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-24in-w-steel-safety-angle-rolling-ladder-grip-strut-safety-yellow-kdec108242-y>: HTTP status code is not handled or not allowed 2026-01-28 12:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-tailstock-for-8-inch-horizontal-vertical-indexing-super-spacer>: HTTP status code is not handled or not allowed 2026-01-28 12:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-single-tier-12x18x60-3-door-assembled-champagne>: HTTP status code is not handled or not allowed 2026-01-28 12:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermostats-48-1019-hen16738>: HTTP status code is not handled or not allowed 2026-01-28 12:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-18w-x-24l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-aluminum-rolling-ladder-24in-w-ribbed-tread-14in-d-top-step-32in-handrails-wlar110244>: HTTP status code is not handled or not allowed 2026-01-28 12:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-double-tier-12x12x36-2-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switchs-42-1058-garg03185-2>: HTTP status code is not handled or not allowed 2026-01-28 12:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-spiral-hose-32-with-non-scratch-fittings-and-1-4-mnpt-thd-connections>: HTTP status code is not handled or not allowed 2026-01-28 12:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-steel-easy-turn-rolling-ladder-serrated-tread-safety-angle-kdad111242>: HTTP status code is not handled or not allowed 2026-01-28 12:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switchs-42-1235-imp1127>: HTTP status code is not handled or not allowed 2026-01-28 12:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-handle-jbj5-27>: HTTP status code is not handled or not allowed 2026-01-28 12:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-24w-x-30l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-spiral-hose-red-20-with-non-scratch-fittings-and-1-4-mnpt-thd-connections>: HTTP status code is not handled or not allowed 2026-01-28 12:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-step-steel-caged-walk-through-fixed-access-ladder-gray-wlfc1125>: HTTP status code is not handled or not allowed 2026-01-28 12:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-composite-blow-gun-with-osha-nozzle-equipped-with-integrated-3-8-plug-high-flow-profile>: HTTP status code is not handled or not allowed 2026-01-28 12:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-top-jaws-for-scroll-chuck-12-inch-6-jaw-6-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 12:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-tall-hand-truck-with-foot-kick-10-flat-free-wheels>: HTTP status code is not handled or not allowed 2026-01-28 12:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/er40-collet-chuck-nmtb-50-2-75-inch-round-nut>: HTTP status code is not handled or not allowed 2026-01-28 12:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reel-rack-add-on-unit-48-w-x-36-d-x-120-h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tongue-groove-pliers-460-bulk>: HTTP status code is not handled or not allowed 2026-01-28 12:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-aluminum-rolling-ladder-16in-w-ribbed-tread-14in-d-top-step-no-handrails-wlar004164>: HTTP status code is not handled or not allowed 2026-01-28 12:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24in-w-30in-d-top-step-steel-rolling-ladder-perforated-tread-36in-handrail-kdsr110246-d3>: HTTP status code is not handled or not allowed 2026-01-28 12:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakes-tin-decorative-metal-ceiling-tile-nails-copper-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-24w-x-60l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-48-w-x-24-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/midget-lightweight-diagonal-cutters-d275-5>: HTTP status code is not handled or not allowed 2026-01-28 12:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-parts-bags-with-hang-hole-4w-x-6l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-300mm-digimatic-caliper-no-spc-output>: HTTP status code is not handled or not allowed 2026-01-28 12:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-pin-jsh275-9>: HTTP status code is not handled or not allowed 2026-01-28 12:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-station-shadow-board-blue-black-72-x-36-industrial-grade-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 12:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-case-jsm4140-28>: HTTP status code is not handled or not allowed 2026-01-28 12:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-parts-bags-with-hang-hole-10w-x-10l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-18w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-1-x-0001-digit-od-micrometer-enamel-friction>: HTTP status code is not handled or not allowed 2026-01-28 12:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-point-digging-shovels-42106>: HTTP status code is not handled or not allowed 2026-01-28 12:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-pin-2x24-jsm4340-02>: HTTP status code is not handled or not allowed 2026-01-28 12:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-ar99-adjustable-stand-with-steel-rollers-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f44t-90-degree-sweep-tee-type-1-fits-400x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 12:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-step-steel-caged-walk-through-fixed-access-ladder-gray-wlfc1228>: HTTP status code is not handled or not allowed 2026-01-28 12:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-18w-x-24l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-static-shielding-bags-24w-x-30l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-28 12:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-case-bushing-jsm4340-25>: HTTP status code is not handled or not allowed 2026-01-28 12:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-24w-x-24l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck40-311-contactor-3-pole-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-storage-cabinet-clear-door-48x24x78-with-20-removable-bins-assembled>: HTTP status code is not handled or not allowed 2026-01-28 12:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-repeller>: HTTP status code is not handled or not allowed 2026-01-28 12:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-l-key-sets-10222>: HTTP status code is not handled or not allowed 2026-01-28 12:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-48x12x72-with-4-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 12:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhus-5-12-5-adjustable-2-pole-single-phase-thermal-overload-relay>: HTTP status code is not handled or not allowed 2026-01-28 12:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500-strapping-tape-2-x-60-yds-51-mil-clear-24pack>: HTTP status code is not handled or not allowed 2026-01-28 12:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-18w-x-36l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atpow-touch-up-paint-oyster-white-12-oz-spray-can>: HTTP status code is not handled or not allowed 2026-01-28 12:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36x18x72-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 12:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-chain-kit-1800css60-for-straight-configuration-infrared-heaters-60-l>: HTTP status code is not handled or not allowed 2026-01-28 12:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x24x72-with-4-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 12:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f44t12hc-wire-trough-hinged-cover-400x400x1200-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 12:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-21w-x-30l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-flat-poly-bags-10w-x-12l-2-mil-pink-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8932-filament-tape-1-x-60-yds-375-mil-clear-36pack>: HTTP status code is not handled or not allowed 2026-01-28 12:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x12x72-with-4-shelves-wire-deck-1>: HTTP status code is not handled or not allowed 2026-01-28 12:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-154-p-quick-acting-tubing-cutter-above-wwheel-for-plastic1-12-4-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puller-slotted-cross-arm-5-8-inch-12-acme-thread>: HTTP status code is not handled or not allowed 2026-01-28 12:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-metallic-limit-switch-cats-whisker>: HTTP status code is not handled or not allowed 2026-01-28 12:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-14-aluminum-offset-pipe-wrench-14>: HTTP status code is not handled or not allowed 2026-01-28 12:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-in-1-screwdriver-nut-driver-32477>: HTTP status code is not handled or not allowed 2026-01-28 12:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handle-vbs18mw-259>: HTTP status code is not handled or not allowed 2026-01-28 12:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-lid-for-nesting-box-9-3-4l-x-6-1-8w>: HTTP status code is not handled or not allowed 2026-01-28 12:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-beard-cover-19-inch-white-100-bag>: HTTP status code is not handled or not allowed 2026-01-28 12:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-adult-disposable-briefs-size-l-for-waist-size-48-58-20-bag>: HTTP status code is not handled or not allowed 2026-01-28 12:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/897-filament-tape-34-x-60-yds-6-mil-clear-48pack>: HTTP status code is not handled or not allowed 2026-01-28 12:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-together-bell-mouth-hood-8-inch-diameter-galvanized-22-gage>: HTTP status code is not handled or not allowed 2026-01-28 12:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcd-console-upper-compartment-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100111 pages (at 99 pages/min), scraped 50149 items (at 23 items/min) 2026-01-28 12:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-lab-coat-1-pocket-knit-wrist-collar-snap-closure-medium-25-case>: HTTP status code is not handled or not allowed 2026-01-28 12:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-15-1-2-bubble-pouch-case-of-250>: HTTP status code is not handled or not allowed 2026-01-28 12:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-strap-for-strap-wrench-29-14l-1-34w>: HTTP status code is not handled or not allowed 2026-01-28 12:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-4-chair-set-black-polypropylene-cafe-chairs-42w-x-29h-round-medium-oak-table>: HTTP status code is not handled or not allowed 2026-01-28 12:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-add-on-w-steel-decking-96-w-x-24-d-x-84-h>: HTTP status code is not handled or not allowed 2026-01-28 12:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-back-support-belt>: HTTP status code is not handled or not allowed 2026-01-28 12:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-24-maple-square-edge-bench-top>: HTTP status code is not handled or not allowed 2026-01-28 12:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-oz-tube-counter-box-display-40-pcs>: HTTP status code is not handled or not allowed 2026-01-28 12:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/257-1-3-hp-115v-22-9ft-shutoff-44-gpm-10ft-cord-sump-pump>: HTTP status code is not handled or not allowed 2026-01-28 12:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-shrink-bags-100-ga-14w-x-18l-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-3743011>: HTTP status code is not handled or not allowed 2026-01-28 12:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tinted-shopping-bags-10w-x-5d-x-13h-french-vanilla-250pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/index_cards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-22w-x-16d-x-59h-2-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergomate-antifatigue-antislip-overshoes-med-8-10-worn-over-most-closed-shoes>: HTTP status code is not handled or not allowed 2026-01-28 12:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-end-static-shielding-bags-4w-x-7l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-end-static-shielding-bags-6w-x-6l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taco-0011-series-flanged-cast-iron-circulator-115v>: HTTP status code is not handled or not allowed 2026-01-28 12:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-jsm-403-40342>: HTTP status code is not handled or not allowed 2026-01-28 12:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-foam-tape-12-x-36-yds-625-mil-white-24pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-aluminum-half-pallet-skid-bottom-40x24>: HTTP status code is not handled or not allowed 2026-01-28 12:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanical-pencil-07-mm-smoke-barrel-12pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-assembly-12>: HTTP status code is not handled or not allowed 2026-01-28 12:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trunion-with-scale-j-4200a-5051681>: HTTP status code is not handled or not allowed 2026-01-28 12:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-36-plastic-square-lab-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:04:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/index_cards landed on page that is not a product page. 2026-01-28 12:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2-readers-eyewear-gray-2-0-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2-readers-eyewear-gray-2-5-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewiston-equine-mailbox-no-address-plates-w-horsehead-finial-decorative-ornate-base-black>: HTTP status code is not handled or not allowed 2026-01-28 12:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mp355152-mini-pack-fasteners-1w-x-15l-black>: HTTP status code is not handled or not allowed 2026-01-28 12:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-aah-48rbmag3-b-storage-cabinet-assembled-48x24x78-black>: HTTP status code is not handled or not allowed 2026-01-28 12:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewiston-equine-mailbox-no-address-plates-w-horsehead-finial-decorative-fluted-base-bronze>: HTTP status code is not handled or not allowed 2026-01-28 12:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-1-link-25-l-hdpe-khaki-gold>: HTTP status code is not handled or not allowed 2026-01-28 12:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goop-pre-moistened-towels-and-wipes-one-goop-towel-packette>: HTTP status code is not handled or not allowed 2026-01-28 12:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goop-pre-moistened-towels-and-wipes-72-ct-orange-ruff-towels>: HTTP status code is not handled or not allowed 2026-01-28 12:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-foam-tape-1-x-36-yds-625-mil-black-2pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolt-1230r-5233421>: HTTP status code is not handled or not allowed 2026-01-28 12:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goop-liquid-hand-cleaner-gallon-with-pump>: HTTP status code is not handled or not allowed 2026-01-28 12:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hon-310-series-2-drawer-vertical-file-26-d-legal-putty>: HTTP status code is not handled or not allowed 2026-01-28 12:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-to-hose-whip-check-safety-cable-fits-12-1-14-od-20-l-aswhipline>: HTTP status code is not handled or not allowed 2026-01-28 12:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-3-4-link-25-l-hdpe-purple>: HTTP status code is not handled or not allowed 2026-01-28 12:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-foam-squares-1-x-1-625-mil-white-324roll>: HTTP status code is not handled or not allowed 2026-01-28 12:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-30-d-production-workbench-maple-butcher-block-square-edge-complete-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-support-with-suspenders-42-46-waist-size>: HTTP status code is not handled or not allowed 2026-01-28 12:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-roller-chain-16b-1-1-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 12:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-packaging-workbench-maple-butcher-block-safety-edge-72-x-30>: HTTP status code is not handled or not allowed 2026-01-28 12:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shift-hndl-ghb-1340-6223>: HTTP status code is not handled or not allowed 2026-01-28 12:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-double-roller-chain-60-2r-3-4-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 12:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-storage-cabinet-48-x-18-x-72>: HTTP status code is not handled or not allowed 2026-01-28 12:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spindle-assy-300-1745-172040-2900000>: HTTP status code is not handled or not allowed 2026-01-28 12:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-pocket-free-standing-oak-display-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 12:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-foot-x-45-foot-forest-green-tarp>: HTTP status code is not handled or not allowed 2026-01-28 12:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4004-double-sided-foam-tape-12-x-18-yds-250-mil-natural-18pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-pocket-oak-acrylic-wall-rack-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 12:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/078-1025-impact-punch-down-tool>: HTTP status code is not handled or not allowed 2026-01-28 12:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-24-x-30-standard-shop-stand-maple-black>: HTTP status code is not handled or not allowed 2026-01-28 12:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/074-850-14bl-cat-6-utp-mold-injection-snagless-patch-cord-15-ft-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-disc-769f-05912-t29-7-x-7-8-in-40-yf-weight-5-per-case>: HTTP status code is not handled or not allowed 2026-01-28 12:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-nickel-plated-roller-chain-41-1np-1-2-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-28 12:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-packaging-workbench-esd-square-edge-60-x-30-with-lower-shelf-kit>: HTTP status code is not handled or not allowed 2026-01-28 12:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-roller-chain-240-1r-3-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-28 12:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-x-30-standard-shop-stand-shop-top-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-x-36-standard-shop-stand-maple-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-stainless-steel-roller-chain-60-1ss-3-4-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 12:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-24-x-24-standard-shop-stand-maple-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-24-x-36-double-shelf-shop-stand-shop-top-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-foot-ratchet-strap>: HTTP status code is not handled or not allowed 2026-01-28 12:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-stainless-steel-roller-chain-41-1ss-1-2-pitch-offset-link>: HTTP status code is not handled or not allowed 2026-01-28 12:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-disc-787c-80-9-1-8-x-7-8-in-die-912j-25-per-inner-100-per-case>: HTTP status code is not handled or not allowed 2026-01-28 12:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-jtm-1055-jtm1055-h02>: HTTP status code is not handled or not allowed 2026-01-28 12:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-roller-chain-10b-1-5-8-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 12:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-stainless-steel-roller-chain-100-1ss-1-1-4-pitch-offset-link>: HTTP status code is not handled or not allowed 2026-01-28 12:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-0913b-8m-cut-resistant-gloves-smooth-nitrile-coating-a4-d-size-8>: HTTP status code is not handled or not allowed 2026-01-28 12:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-truck-dump-insert-mounting-kit-for-aluminum-body-ford-f-150>: HTTP status code is not handled or not allowed 2026-01-28 12:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-ht139-2000-105-scfm-with-4ft-barrel>: HTTP status code is not handled or not allowed 2026-01-28 12:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-roller-chain-100-1r-1-1-4-pitch-offset-link>: HTTP status code is not handled or not allowed 2026-01-28 12:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x30x74-chrome-wire-shelving-with-10-30-d-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x30x74-chrome-wire-shelving-with-10-30-d-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 12:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/translock-security-lid-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-poly-bags-5w-x-6l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-poly-bags-6w-x-6l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100209 pages (at 98 pages/min), scraped 50167 items (at 18 items/min) 2026-01-28 12:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/united-solutions-roughneck-tote-31-gallon-32-5-16-l-x-20-3-8-w-x-16-11-16-h-dark-indigo-metallic>: HTTP status code is not handled or not allowed 2026-01-28 12:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-w-2-drawer-binder-lateral-file-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 12:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-w-2-drawer-binder-lateral-file-putty-1>: HTTP status code is not handled or not allowed 2026-01-28 12:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purofort-thermo-full-safety-mens-work-boots-size-8-green>: HTTP status code is not handled or not allowed 2026-01-28 12:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-jtm-124vs-lb-034>: HTTP status code is not handled or not allowed 2026-01-28 12:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-station-workbench-blk-w-o-vises>: HTTP status code is not handled or not allowed 2026-01-28 12:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/justrite-safety-plunger-can-2-quart-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-poly-bags-12w-x-15l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-poly-bags-12w-x-18l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-step-steel-rolling-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 12:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-crate-with-1-polyethylene-foam-lining-two-way-entry-48-l-x-48-w-x-42-h>: HTTP status code is not handled or not allowed 2026-01-28 12:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-storage-building-with-doors-120inx96inx91in>: HTTP status code is not handled or not allowed 2026-01-28 12:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip-white-block-reclosable-bags-w-hang-hole-9w-x-12l4-milclear1000pk>: HTTP status code is not handled or not allowed 2026-01-28 12:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-ew80-lw-fits-baker-model-ew80>: HTTP status code is not handled or not allowed 2026-01-28 12:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taco-gasket-kit-0010-circulators>: HTTP status code is not handled or not allowed 2026-01-28 12:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scroll-mount-address-post-with-decorative-ornate-base-and-horsehead-finial-in-black>: HTTP status code is not handled or not allowed 2026-01-28 12:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40210-quick-disconnect-coupling-hose-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-beam-mount-fan-30-diameter-1>: HTTP status code is not handled or not allowed 2026-01-28 12:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-ewr-lw-fits-baker-model-ewr>: HTTP status code is not handled or not allowed 2026-01-28 12:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-50-incline-ladder-24-inch-w-perforated>: HTTP status code is not handled or not allowed 2026-01-28 12:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40049-5-32-air-jet-20-cfm-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-pedestal-mount-fan-stainless-steel-30>: HTTP status code is not handled or not allowed 2026-01-28 12:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-8w-x-18l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 12:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/halux-universal-led-treatment-light-n50-1-p-sx-gooseneck-clamp>: HTTP status code is not handled or not allowed 2026-01-28 12:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-272748-lw-fits-wesco-model-272748>: HTTP status code is not handled or not allowed 2026-01-28 12:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seal-washer-jsj-3x-jsj3x-p17>: HTTP status code is not handled or not allowed 2026-01-28 12:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truck-tire-rack-3-tier-starter-60x24x120>: HTTP status code is not handled or not allowed 2026-01-28 12:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supported-9-step-40-inch-cantilever-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 12:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-rack-horizontal-stacking-5>: HTTP status code is not handled or not allowed 2026-01-28 12:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-single-sided-upright-20>: HTTP status code is not handled or not allowed 2026-01-28 12:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-tubing-24w-x-725l-6-mil-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 12:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-tubing-4w-x-725l-6-mil-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 12:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40389-bench-top-cabinet-22-l-x-24-w-x-20-h-80-110-psi-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 12:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-driver-100-277v-ac-20w-max>: HTTP status code is not handled or not allowed 2026-01-28 12:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/presto-pneumatic-tilt-table-48-x-48-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-8310-lw-fits-raymond-model-8310>: HTTP status code is not handled or not allowed 2026-01-28 12:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40052-1-4-id-steel-nozzle-15-cfm-siphon>: HTTP status code is not handled or not allowed 2026-01-28 12:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-diamond-grip-rubber-runner-mats-2mm-x-4-x-12-rubber-flooring-rolls-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/counter-height-vaccine-refrigerator-19-w-x-19-d-x-34-h-3-cubic-ft-cap-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 12:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vaccine-refrigerator-freezer-combination-23-5-8-w-x-24-3-8-d-x-68-h-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 12:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bonnet-slt330fh-30-27>: HTTP status code is not handled or not allowed 2026-01-28 12:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-water-inlet-line-kit-for-761222-outdoor-bottle-fillers>: HTTP status code is not handled or not allowed 2026-01-28 12:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cable-l-410-261990-641250-641263-floor-scrubbers>: HTTP status code is not handled or not allowed 2026-01-28 12:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-elephant-bark-rubber-flooring-1-4-x-4-x-7-5-floor-mat-black>: HTTP status code is not handled or not allowed 2026-01-28 12:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cover-dia-118x24-641263-641264-641265-floor-scrubbers>: HTTP status code is not handled or not allowed 2026-01-28 12:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-mesh-strainer-4-fine>: HTTP status code is not handled or not allowed 2026-01-28 12:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-propelled-electric-power-rider-pallet-truck-pallet-jack-4500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40101-80-grit-aluminum-oxide-50-lbs>: HTTP status code is not handled or not allowed 2026-01-28 12:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/distribution-container-with-hinged-lid-28-x-20-5-8-x-15-5-8-2>: HTTP status code is not handled or not allowed 2026-01-28 12:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22036-bash-20-lb-sledge-hammer-36-handle>: HTTP status code is not handled or not allowed 2026-01-28 12:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-jsm-30-sm-30121>: HTTP status code is not handled or not allowed 2026-01-28 12:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-speedfit-reducer>: HTTP status code is not handled or not allowed 2026-01-28 12:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/angle-measuring-body-708033-102>: HTTP status code is not handled or not allowed 2026-01-28 12:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/singlefold-ramp-sfw530-5l-x-30w-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-dbl-mesh-strainer-10-1-4-fine>: HTTP status code is not handled or not allowed 2026-01-28 12:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-conductor-unshielded-riser-cable-18-awg-7-152-bc-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e2pbx-push-button-encl-extra-deep-2pb-x-305mm>: HTTP status code is not handled or not allowed 2026-01-28 12:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-conductor-unshielded-plenum-cable-2-conductor-18-awg-7-26-bc-white3>: HTTP status code is not handled or not allowed 2026-01-28 12:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-polypropylene-bags-4l-x-2w-x-8h--15-mil-clear-2000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-athletic-sneakers-plain-toe-size-11m-black>: HTTP status code is not handled or not allowed 2026-01-28 12:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/service-sink-faucet-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 12:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1045dsc-j-box-dome-cover-contoured-type-4-1025x400x375-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 12:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-4w-x-14l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 12:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-slip-on-shoes-size-7m-white>: HTTP status code is not handled or not allowed 2026-01-28 12:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36in-lateral-file-cabinet-2-drawer-black>: HTTP status code is not handled or not allowed 2026-01-28 12:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-pin-3x20l-jsm3330-02>: HTTP status code is not handled or not allowed 2026-01-28 12:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip-white-block-reclosable-bags-w-hang-hole-3w-x-4l-4-milclear1000pk>: HTTP status code is not handled or not allowed 2026-01-28 12:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-polishing-starter-pack-plus-20-machines>: HTTP status code is not handled or not allowed 2026-01-28 12:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-10w-x-12l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 12:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-jjp8bt-178>: HTTP status code is not handled or not allowed 2026-01-28 12:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-grade-5-gallon-double-action-pail-pump>: HTTP status code is not handled or not allowed 2026-01-28 12:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optiloc-2-sections-13>: HTTP status code is not handled or not allowed 2026-01-28 12:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanco-full-featured-coverall-7-5-oz-100-fr-cotton-navy-blue-frc681nb-3xl>: HTTP status code is not handled or not allowed 2026-01-28 12:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-seal-6290312>: HTTP status code is not handled or not allowed 2026-01-28 12:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unitec-lite-squeegee>: HTTP status code is not handled or not allowed 2026-01-28 12:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanco-flame-resistant-30-green-cotton-coat-fr630-xl>: HTTP status code is not handled or not allowed 2026-01-28 12:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ase30x24x6-pull-box-screw-cover-kos-3000x2400x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 12:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-steel-stack-on-desk-hutch-60w-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 12:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-ag4s-57>: HTTP status code is not handled or not allowed 2026-01-28 12:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-36-2-drawer-with-plastic-top-workbench>: HTTP status code is not handled or not allowed 2026-01-28 12:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd20166-concept-wall-mount-encl-2000x1600x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 12:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a20r208hcr-hinged-cover-medium-type-3r-2000x2000x800-galvanizedpaint>: HTTP status code is not handled or not allowed 2026-01-28 12:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100309 pages (at 100 pages/min), scraped 50185 items (at 18 items/min) 2026-01-28 12:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-door-gate-48-w-x-63-h-986583>: HTTP status code is not handled or not allowed 2026-01-28 12:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-cover-jjp12-073>: HTTP status code is not handled or not allowed 2026-01-28 12:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-power-workstation-hutch-72w-x-25d-x-22-14h-black-with-blue-handle-trim>: HTTP status code is not handled or not allowed 2026-01-28 12:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilotron-metered-air-fresheners-soft-linen-scent-7-oz-refill-12-case>: HTTP status code is not handled or not allowed 2026-01-28 12:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-top-chest-roller-cabinet-combo-41w-x-25d-x-64h-black-with-blue-drawer-pulls>: HTTP status code is not handled or not allowed 2026-01-28 12:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrench-jns285-49>: HTTP status code is not handled or not allowed 2026-01-28 12:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-diamond-mat-bluestone-4-x-12>: HTTP status code is not handled or not allowed 2026-01-28 12:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jbc-revolution-28-reflective-traffic-cone-sky-blue-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 12:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-316-cast-welding-spud-18-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 12:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-diamond-mat-bordeaux-6-x-6>: HTTP status code is not handled or not allowed 2026-01-28 12:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-red-black-6-x-8>: HTTP status code is not handled or not allowed 2026-01-28 12:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fae-7016-refill-eye-wash-4-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 12:06:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_supply_dispensers_organizers/broom_holders_shadow_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultracolor-expandable-poly-string-tie-envelopes-top-load-green-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mosaic-mixed-recycling-container-32-gallon-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-ring-s-15-6295304>: HTTP status code is not handled or not allowed 2026-01-28 12:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saddle-drop-1-main-x-1-drop>: HTTP status code is not handled or not allowed 2026-01-28 12:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fae-1308-refill-antiseptic-spray-4oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 12:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-electric-turnstile-left-locked-exit-stainless>: HTTP status code is not handled or not allowed 2026-01-28 12:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exq-pro-roller-cabinet-55w-x-30d-x-46-58h-black-with-blue-drawer-pulls-trim>: HTTP status code is not handled or not allowed 2026-01-28 12:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smiths-environmental-products-quiet-one-kickspace-fan-heater-10000-btu>: HTTP status code is not handled or not allowed 2026-01-28 12:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/over-ride-button>: HTTP status code is not handled or not allowed 2026-01-28 12:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-90-175-register-vent-boot-w-adj-hangers-for-hvac-duct-work-4-x-12-x-6>: HTTP status code is not handled or not allowed 2026-01-28 12:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-square-to-round-adaptor-register-vent-boot-adjustable-hangers-for-hvac-duct-work-12-x-12-x-10>: HTTP status code is not handled or not allowed 2026-01-28 12:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ahe8x8x6-pull-box-hinged-cover-800x800x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 12:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-9rsq83-angle-wrench-55-89-ft-lb>: HTTP status code is not handled or not allowed 2026-01-28 12:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_supply_dispensers_organizers/broom_holders_shadow_boards>: HTTP status code is not handled or not allowed 2026-01-28 12:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-4-1-8-w-x-17-7-8-d-x-4-h-green-2>: HTTP status code is not handled or not allowed 2026-01-28 12:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-29-shaper-6293094>: HTTP status code is not handled or not allowed 2026-01-28 12:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barrier-post-satin>: HTTP status code is not handled or not allowed 2026-01-28 12:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-90-175-register-vent-boot-w-adj-hangers-for-hvac-duct-work-6-x-10-x-8>: HTTP status code is not handled or not allowed 2026-01-28 12:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-dolly-32-gal-green>: HTTP status code is not handled or not allowed 2026-01-28 12:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-24w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-breather-filter-with-m14-x-1-5-thread-882-m14x1-5-ms-m>: HTTP status code is not handled or not allowed 2026-01-28 12:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-hi-gate-free-exit-stainless>: HTTP status code is not handled or not allowed 2026-01-28 12:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drilled-easel-pads-27-x-34-1-squares-50-bond-sheets-pad-4-pads-carton>: HTTP status code is not handled or not allowed 2026-01-28 12:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-closing-left-exit-mirror>: HTTP status code is not handled or not allowed 2026-01-28 12:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-closing-right-entrance-mirror>: HTTP status code is not handled or not allowed 2026-01-28 12:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-torpedo-end-register-vent-boot-w-adj-hangers-for-hvac-duct-work-4-x-8x-4>: HTTP status code is not handled or not allowed 2026-01-28 12:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-roller-cabinet-6-drawers-41w-x-25d-x-41-1316h-blue-with-black-drawer-pulls>: HTTP status code is not handled or not allowed 2026-01-28 12:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-production-workbench-esd-laminate-safety-edge-drawer-upright-shelf-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a606012lp-2-door-wfloor-stands-type-12-encl-6006x6006x1206-steelpaint>: HTTP status code is not handled or not allowed 2026-01-28 12:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frame-6-ft-x-8-ft-stainless-steel-black>: HTTP status code is not handled or not allowed 2026-01-28 12:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-pigtails-3000-psi-brass-female-24>: HTTP status code is not handled or not allowed 2026-01-28 12:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-inner-blade-6295288>: HTTP status code is not handled or not allowed 2026-01-28 12:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3inx10in-2-mil-recloseable-poly-bag-clear-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 12:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-sided-wire-exchange-truck-five-wire-shelves-1000-lb-cap-4>: HTTP status code is not handled or not allowed 2026-01-28 12:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-starter-unit-5-tier-48w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-slim-line-locker-double-tier-14x18x78-2-door>: HTTP status code is not handled or not allowed 2026-01-28 12:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-unit-5-tier-72w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-stainless-steel-4-wheel-foot-pedal-platform-li-truck-260186-750-lb>: HTTP status code is not handled or not allowed 2026-01-28 12:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/main-burner-emitter-screen>: HTTP status code is not handled or not allowed 2026-01-28 12:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tabletop-regulator>: HTTP status code is not handled or not allowed 2026-01-28 12:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-greenhouse-20w-x-107h-x-36l>: HTTP status code is not handled or not allowed 2026-01-28 12:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-add-on-unit-5-tier-54w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinion-gear-jsg-0470-829025>: HTTP status code is not handled or not allowed 2026-01-28 12:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-54w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-wall-desk-full-size-spring-close-keyed-lock-beige>: HTTP status code is not handled or not allowed 2026-01-28 12:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modine-hot-dawg-45000-btu-separated-combustion-gas-unit-heater>: HTTP status code is not handled or not allowed 2026-01-28 12:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/receiver-part-replacement-for-pleasant-hearth-vent-free-fireplace-systems>: HTTP status code is not handled or not allowed 2026-01-28 12:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-26-foot-w-fits-8-3-4-inches-to-9-5-8-inches-dia-brsn-426-10>: HTTP status code is not handled or not allowed 2026-01-28 12:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-72w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-10-foot-w-fits-8-3-4-inches-to-9-5-8-inches-dia-brsn-410-10>: HTTP status code is not handled or not allowed 2026-01-28 12:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n999391-acc-mcl-ell-accessories-packaging-for-ell-6-boom>: HTTP status code is not handled or not allowed 2026-01-28 12:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-hd-screw-60a-6296154>: HTTP status code is not handled or not allowed 2026-01-28 12:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/majestic-greenhouse-28w-x-60l-w-8mm-sides>: HTTP status code is not handled or not allowed 2026-01-28 12:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kirpolaphot001-ir-polarized-reflective-photocell-with-hood>: HTTP status code is not handled or not allowed 2026-01-28 12:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-lh-29-shaper-6292999>: HTTP status code is not handled or not allowed 2026-01-28 12:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-42w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 12:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-12-l-x-2-w-x-1-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 12:06:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-riser-stair-cover-42-w-brown>: HTTP status code is not handled or not allowed 2026-01-28 12:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supratile-t-joint-coin-pattern-tile-65mm-thick-20-12-x-20-12-light-gray-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-30w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-stacker-pencil-box-clear-holds-50-pencils-25-pens-or-64-crayons>: HTTP status code is not handled or not allowed 2026-01-28 12:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-30w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-spacer-1-x-5mm-6295516>: HTTP status code is not handled or not allowed 2026-01-28 12:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-film-12-l-x-12-w-x-1-25-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090250369-two-stage-vertical-air-compressor-5hp-80-gallon>: HTTP status code is not handled or not allowed 2026-01-28 12:06:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100404 pages (at 95 pages/min), scraped 50203 items (at 18 items/min) 2026-01-28 12:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-ellipse-double-recycling-station-for-recycle-waste-44-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 12:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/105890-lockout-padlock-keyed-alike-1-12-plastic-covered-steel-red-6pack>: HTTP status code is not handled or not allowed 2026-01-28 12:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil124-oil-only-soc3dia-x-12lcase4>: HTTP status code is not handled or not allowed 2026-01-28 12:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-rush-print-5l-x-3w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 12:07:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_strips landed on page that is not a product page. 2026-01-28 12:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-rope-clip-5-16-diameter>: HTTP status code is not handled or not allowed 2026-01-28 12:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-3-16-diameter-7x19-stainless-steel-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 12:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peel-seal-metallic-glamour-mailers-10-34w-x-13l-red-250pack>: HTTP status code is not handled or not allowed 2026-01-28 12:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x36-solar-star-greenhouse-w-poly-ends-and-drop-down-sides-gas-heater>: HTTP status code is not handled or not allowed 2026-01-28 12:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags>: HTTP status code is not handled or not allowed 2026-01-28 12:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-54w-x-21d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/malleable-steel-zinc-plated-wire-rope-clip-1-4-diameter>: HTTP status code is not handled or not allowed 2026-01-28 12:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/95202-rearview-mirror-hanging-tags-parking-permits-red-001-100-2-34w-x-4-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grade-30-proof-coil-chain-1-4-dia-1250-lb-cap-10-box-hot-galv>: HTTP status code is not handled or not allowed 2026-01-28 12:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-4-w-x-1-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 12:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/limiter-depth-pja-c14-15-planer-6284789>: HTTP status code is not handled or not allowed 2026-01-28 12:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-1-8-dia-vc-3-16-dia-7x7-vinyl-coated-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 12:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-center-shaft-bushing-5517140>: HTTP status code is not handled or not allowed 2026-01-28 12:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/opticlean-all-purpose-plate-tray-rackcarlisle-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solarguard-freestanding-building-10w-x-8h-x-18l-on-wheels-white>: HTTP status code is not handled or not allowed 2026-01-28 12:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-x-11-x-11-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 12:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-general-utility-2-12x3-34-swivel-5x1-38-versa-tech-ball-275lb>: HTTP status code is not handled or not allowed 2026-01-28 12:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crimped-end-mailing-tubes-2dia-x-24l-0060-thick-white-50pack>: HTTP status code is not handled or not allowed 2026-01-28 12:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapan-one-half-size-slotted-cover-10-38-x-12-34>: HTTP status code is not handled or not allowed 2026-01-28 12:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storplus-lid-12-x-18clear>: HTTP status code is not handled or not allowed 2026-01-28 12:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-capacitor-30uf-250vac-ca003000>: HTTP status code is not handled or not allowed 2026-01-28 12:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86745-ready-for-service-tag-100pkg-cardstock-5-34w-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 12:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-1-12dia-x-9l-0060-thick-white-50pack>: HTTP status code is not handled or not allowed 2026-01-28 12:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-60w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-1-4-x-11-1-4-x-10-white-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 12:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700505pur-pegboard-gift-card-display-8w-x-20h-pl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 12:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-poly-tech-wheel-4x1-38-12-ss-ball>: HTTP status code is not handled or not allowed 2026-01-28 12:07:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-petg-tube-36-l-x-5-8-id-x-3-4-od-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252051-wall-mount-acrylic-sign-hlr-wtrifold-brochure-pockets-14w-x-11h-1pack>: HTTP status code is not handled or not allowed 2026-01-28 12:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-strip-36-l-x-5-w-x-1-16-thick-blue-detectable-60a-high-temp-adhesive-bulk-rs-s60md-77>: HTTP status code is not handled or not allowed 2026-01-28 12:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-v-groove-wheel-6x2-1-roller>: HTTP status code is not handled or not allowed 2026-01-28 12:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-1-14-27spr-27-wd-shaper28-3745030>: HTTP status code is not handled or not allowed 2026-01-28 12:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelon-wire-shelving-starter-unit-1-dunnage-shelf-36w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simoniz-cx-8-rinse-additive-drying-agent-5-gallon>: HTTP status code is not handled or not allowed 2026-01-28 12:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-18-x-4-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 12:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-fan-assembly-parfanj230f0-for-jetstream-230>: HTTP status code is not handled or not allowed 2026-01-28 12:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-screw-m8-x-125-x-40-powerfeeders-6288750>: HTTP status code is not handled or not allowed 2026-01-28 12:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-round-actomic-time-keeper-wall-clock-black>: HTTP status code is not handled or not allowed 2026-01-28 12:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-markers-ultra-fine-point-assorted-colors-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700256org-pegboard-floor-stand-w5-c-channel-sliding-16w-x-60h-rg-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 12:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-strip-36-l-x-5-w-x-1-32-thick-blue-detectable-60a-bulk-rs-s60md-46>: HTTP status code is not handled or not allowed 2026-01-28 12:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chips-ahoy-chocolate-chip-cookies>: HTTP status code is not handled or not allowed 2026-01-28 12:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-heavy-duty-standard-threaded-hex-base-warning-whip-w-o-light-16-x16-orange-w-x-rectangle-flag>: HTTP status code is not handled or not allowed 2026-01-28 12:07:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cooler-backroom-shelving-tubular-bar-style-24-inch-48-inch-bar-3-shelves>: HTTP status code is not handled or not allowed 2026-01-28 12:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/47-1-4-x-39-1-2-x-25-bottom-half-slotted-container-ect32-1>: HTTP status code is not handled or not allowed 2026-01-28 12:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-48-wide-desk-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 12:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-3-4x11-3-4-x-11-7-8-insulated-container>: HTTP status code is not handled or not allowed 2026-01-28 12:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-heavy-duty-standard-threaded-hex-base-warning-whip-w-o-light-no-flag>: HTTP status code is not handled or not allowed 2026-01-28 12:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515310-acrylic-riser-display-115w-x-115h-x-115d-clr-4pack>: HTTP status code is not handled or not allowed 2026-01-28 12:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultem-pei-bar-12-l-x-4-w-x-3-4-thick-amber>: HTTP status code is not handled or not allowed 2026-01-28 12:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-7-8-x-2-x-12-1-4-white-self-seal-side-loading-boxes>: HTTP status code is not handled or not allowed 2026-01-28 12:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700420wht-pinwheel-pegboard-display-16w-x-60h-wh-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 12:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-24-l-x-24-w-x-1-16-thick-blue-detectable-60a-high-temp-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 12:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wall-mounted-shelf-15-inch-84-inch-shelf-with-hooks>: HTTP status code is not handled or not allowed 2026-01-28 12:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-4-1-2-cotter-pin-carbon-steel-zinc-clear-asme-18-8-1-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-28 12:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crowd-control-stanchion-40-in-stainless-steel-post-yellow-black-belt-10-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 12:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/server-shallow-plastic-fountain-jar-2-qt-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-heavy-duty-standard-threaded-hex-base-warning-whip-w-o-light-12-x9-orange-triangle-flag>: HTTP status code is not handled or not allowed 2026-01-28 12:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-dia-round-removable-paper-labels-white-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 12:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-dog-3-ch-drop-over-black>: HTTP status code is not handled or not allowed 2026-01-28 12:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-number-paper-labels-with-2-print-black-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 12:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100500 pages (at 96 pages/min), scraped 50232 items (at 29 items/min) 2026-01-28 12:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-screw-m10-x-15p-x-30lg-mdl201plnr-6012235>: HTTP status code is not handled or not allowed 2026-01-28 12:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flt-washr-10mm-x-25-x-3t-model-201plnr-6012047>: HTTP status code is not handled or not allowed 2026-01-28 12:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26a-2-chain-62s-6288975>: HTTP status code is not handled or not allowed 2026-01-28 12:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700445pur-pinwheel-pegboard-display-135w-x-44h-pl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 12:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datalogic-goosenectk-stand-for-use-with-datalogic-gryphon-and-heron>: HTTP status code is not handled or not allowed 2026-01-28 12:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-singleline-scanner-voyager-1250g-with-usb-cable-kit-and-stand>: HTTP status code is not handled or not allowed 2026-01-28 12:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-linear-imaging-scanner-voyager-1400g-with-usb-cable>: HTTP status code is not handled or not allowed 2026-01-28 12:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-4-x-4-mailers>: HTTP status code is not handled or not allowed 2026-01-28 12:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/516-18x1-thumb-screw-6715133>: HTTP status code is not handled or not allowed 2026-01-28 12:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-12-l-x-12-w-x-1-4-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-4-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-2-x-3-5-8-x-2-1-2-mailers>: HTTP status code is not handled or not allowed 2026-01-28 12:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classroom-mobile-chair-polypropylene-black>: HTTP status code is not handled or not allowed 2026-01-28 12:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnl-3060-6py-with-lip-edge-30-x-60-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 12:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-seal-bubble-mailers-1-7-14w-x-12l-kraft-25pack>: HTTP status code is not handled or not allowed 2026-01-28 12:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-1-8-x-8-3-4-x-2-5-16-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 12:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-watt-metro-evo-hand-vac-vm4sb500>: HTTP status code is not handled or not allowed 2026-01-28 12:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-6-l-x-6-w-x-1-8-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultem-pei-sheet-24-l-x-24-w-x-1-2-thick-amber>: HTTP status code is not handled or not allowed 2026-01-28 12:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-office-partition-panel-with-partial-window-60-1-4w-x-100h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-28 12:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-coverall-knit-cuffs-attached-hood-blue-2x-large-4530-blk-xxl>: HTTP status code is not handled or not allowed 2026-01-28 12:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsi-contractor-bench-seat-mounted-floor-shift-compatible-console-model-33311-in-black>: HTTP status code is not handled or not allowed 2026-01-28 12:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-pass-thru-cable-60-1-4w-x-101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 12:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-4-drive-11mm-short>: HTTP status code is not handled or not allowed 2026-01-28 12:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-3-w-x-1-4-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neurological-buck-hammer-with-128-cps-tuning-fork>: HTTP status code is not handled or not allowed 2026-01-28 12:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-number-paper-labels-with-11-print-black-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 12:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-3-point-discriminator>: HTTP status code is not handled or not allowed 2026-01-28 12:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-side-panel-70l-70percent-shade>: HTTP status code is not handled or not allowed 2026-01-28 12:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-gable-end-12w-grey>: HTTP status code is not handled or not allowed 2026-01-28 12:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-new-york-islanders-grill-mat-14242>: HTTP status code is not handled or not allowed 2026-01-28 12:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cb12710-multi-purpose-drop-box-934w-x-3d-x-734h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/babinski-hammer-with-long-handle>: HTTP status code is not handled or not allowed 2026-01-28 12:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-2-1-2-w-x-1-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leveling-foot-threaded-3150-lbs-capacity-1-97-base-dia-41-50-3-8x16-75-d3-s>: HTTP status code is not handled or not allowed 2026-01-28 12:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictogram-gas-cylinder-labels-1l-x-1w-blackredwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 12:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-4-drive-6-point-1-1-8-short>: HTTP status code is not handled or not allowed 2026-01-28 12:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-door-ovation-tackboard-gray-fabric-gray-frame-72-1-8w-x-48-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 12:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgnf984va-safety-first-sign-report-all-accidents-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 12:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-door-enclosed-recycled-rubber-tackboard-30w-x36h-black-w-silver-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-48-l-x-4-w-x-1-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-outdoor-in-ground-steel-flat-bench-expanded-metal-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-gantry-crane-aha-2-12-10-adjustable-height-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-steel-mobile-laptop-desk-whitenan-jg-06b-wh-gg>: HTTP status code is not handled or not allowed 2026-01-28 12:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-bench-cabinet-steel-top-2-locking-doors-shelf-42-1-8-w-x-18-1-4-d-x-36-3-8-h>: HTTP status code is not handled or not allowed 2026-01-28 12:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-tilt-truck-30x48-solid-wood-moldon-rubber-wheels-3500>: HTTP status code is not handled or not allowed 2026-01-28 12:08:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-labels-with-transfer-print-3l-x-2w-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 12:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-12mm-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 12:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-4l-x-3w-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 12:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microdirect-1080p-hd-handheld-digital-micro>: HTTP status code is not handled or not allowed 2026-01-28 12:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-ball-hitch-with-chrome-towing-balls-2-1-2-inch-receiver>: HTTP status code is not handled or not allowed 2026-01-28 12:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mchg102vs-danger-sign-flammable-liquids-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 12:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-post-74in-h-leveler-installed-pack-of-four>: HTTP status code is not handled or not allowed 2026-01-28 12:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scrubs-insect-shield-insect-repellent-wipes-8-x-10-white-100-carton-itw91401>: HTTP status code is not handled or not allowed 2026-01-28 12:08:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-beta-standard-series-pipe-rail-mount>: HTTP status code is not handled or not allowed 2026-01-28 12:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-shelf-with-new-electric-outlet-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100594 pages (at 94 pages/min), scraped 50269 items (at 37 items/min) 2026-01-28 12:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x12-6-mil-anti-static-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 12:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8flexo-pet-general-purpose-sleeving-dia-125-white>: HTTP status code is not handled or not allowed 2026-01-28 12:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wire-security-truck-60x24x70-with-dolly-base-1600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8flexo-pet-general-purpose-sleeving-dia-225-green>: HTTP status code is not handled or not allowed 2026-01-28 12:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-5-16-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 12:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marque-triple-unit-reception-curved-desk-workstation-143-12w-x-71d-x-45-12h-noble-oak>: HTTP status code is not handled or not allowed 2026-01-28 12:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-5-dri-shieldtm-moisture-barrier-bags>: HTTP status code is not handled or not allowed 2026-01-28 12:09:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ii-cloth-belt-984f-4-x-132-36-yfweight-25case>: HTTP status code is not handled or not allowed 2026-01-28 12:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x8-x20-1-5-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 12:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-36-l-x-1-1-2-w-x-1-2-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2flexo-pet-general-purpose-sleeving-dia-200-black>: HTTP status code is not handled or not allowed 2026-01-28 12:09:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-16mm-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 12:09:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vtw-30-spindle-taper-wiper-30-taper-168mm-long-plastic-body>: HTTP status code is not handled or not allowed 2026-01-28 12:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8flexo-pet-general-purpose-sleeving-dia-500-red>: HTTP status code is not handled or not allowed 2026-01-28 12:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-racetrack-conference-table-with-4-charging-ports-288l-x-52w-x-29h-noble-oak>: HTTP status code is not handled or not allowed 2026-01-28 12:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm2013b-3t-20-bandsaw-with-armorglide-5-hp-3-phase-460v>: HTTP status code is not handled or not allowed 2026-01-28 12:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-150000-l-x-36-w-x-0-0005-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-single-swivel-socket-member-1>: HTTP status code is not handled or not allowed 2026-01-28 12:09:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peninsula-71w-x-36d-x-29-half-h-artisan-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-type-2-sheet-12-l-x-12-w-x-1-2-thick-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x8x30-1-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 12:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-8mp-h265-ip-dome-camera-with-junction-box-28-12mm-motorized-lens-white-housing>: HTTP status code is not handled or not allowed 2026-01-28 12:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-24mm-short>: HTTP status code is not handled or not allowed 2026-01-28 12:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-precison-balance-4100-g-x-001-g>: HTTP status code is not handled or not allowed 2026-01-28 12:09:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2flexo-pet-general-purpose-sleeving-dia-40-green>: HTTP status code is not handled or not allowed 2026-01-28 12:09:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/safety_railings_fittings/safety_railing_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-x-48-triple-wall-gaylord-bottoms-423010>: HTTP status code is not handled or not allowed 2026-01-28 12:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-1-2-x-10-7-8-x-3-1-2-lewisbins-divider-box-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-additional-steel-shelf-level-with-clips-42-w-x-24-d-x-1-5-16-h>: HTTP status code is not handled or not allowed 2026-01-28 12:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-6-3-8-h-short-divider>: HTTP status code is not handled or not allowed 2026-01-28 12:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x8-1-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 12:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mop-frame-36>: HTTP status code is not handled or not allowed 2026-01-28 12:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-24-l-x-24-w-x-1-2-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trimline-recycle-can-23-gal-green>: HTTP status code is not handled or not allowed 2026-01-28 12:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tss101ctp-danger-do-not-use-this-scaffold-keep-off-tag-pf-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-28 12:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g22-175-ap-30hp-oil-injected-rotary-screw-floor-mount-175psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 12:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4flexo-pet-general-purpose-sleeving-dia-75-white>: HTTP status code is not handled or not allowed 2026-01-28 12:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duraflex-woven-high-abrasion-sleeve-366-dia-25-black>: HTTP status code is not handled or not allowed 2026-01-28 12:09:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/safety_railings_fittings/safety_railing_fittings landed on page that is not a product page. 2026-01-28 12:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronco-waste-container-55-gal-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g18-100-ap-25hp-oil-injected-rotary-screw-132-gal-tank-mnt-100psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 12:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insultherm-resin-coated-fiberglass-sleeve-88-dia-50-black>: HTTP status code is not handled or not allowed 2026-01-28 12:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-24-l-x-1-w-x-1-4-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermashield-aluminized-fiberglass-tube-75-dia-250-silver>: HTTP status code is not handled or not allowed 2026-01-28 12:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1flexo-pet-general-purpose-sleeving-dia-250-orange>: HTTP status code is not handled or not allowed 2026-01-28 12:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1flexo-pet-general-purpose-sleeving-dia-250-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melc639vp-caution-sign-area-in-front-of-this-electrical-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 12:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-oz-amber-wide-mouth-packer-bottles-vinyl-lined-caps-case-of-24>: HTTP status code is not handled or not allowed 2026-01-28 12:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcaw808vs-notice-sign-non-potable-water-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 12:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-24-l-x-2-1-2-w-x-1-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:09:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11mm-crimp-seal-aluminum-ptfered-rubber-case-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 12:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iced-tea-brewer-3-quick-brew-29-trunk>: HTTP status code is not handled or not allowed 2026-01-28 12:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-treatment-kit>: HTTP status code is not handled or not allowed 2026-01-28 12:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-6-l-x-6-w-x-1-4-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:09:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x10-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 12:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-for-es5000-es1230>: HTTP status code is not handled or not allowed 2026-01-28 12:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x10-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 12:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cw-stationary-premium-electric-pressure-washer-2000-psi-6-hp-39-gpm-3-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100686 pages (at 92 pages/min), scraped 50299 items (at 30 items/min) 2026-01-28 12:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Sunex-50-ton-shop-press>: HTTP status code is not handled or not allowed 2026-01-28 12:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5400122-round-file-12-second-cut>: HTTP status code is not handled or not allowed 2026-01-28 12:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-workforce-retractable-12in-50ft-airwater-reel>: HTTP status code is not handled or not allowed 2026-01-28 12:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-lid-organizers-l1022>: HTTP status code is not handled or not allowed 2026-01-28 12:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ess6008ms-with-ms6209-12-memory-saver-cable-ess6008msk>: HTTP status code is not handled or not allowed 2026-01-28 12:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hse-portable-electric-hot-water-pressure-washer-1500-psi-2-gpm-38-hose-120v>: HTTP status code is not handled or not allowed 2026-01-28 12:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crystallizing-dishes-190x100mm-case-of-6>: HTTP status code is not handled or not allowed 2026-01-28 12:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-with-partial-window-48-x-60-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-11400-l-x-36-w-x-0-005-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-24-l-x-12-w-x-3-8-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dax-carbon-fiber-cap-brim-50-50-orange-black>: HTTP status code is not handled or not allowed 2026-01-28 12:10:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:10:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saf-t-scoop-guardian-system-for-ice-machines-si9500>: HTTP status code is not handled or not allowed 2026-01-28 12:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-26-4-drawer-mobile-cabinet-bench>: HTTP status code is not handled or not allowed 2026-01-28 12:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/125-145-percent-alcohol-proof---ethyl-alcohol-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 12:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-21-degree-baume-shatterproof-plastic-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 12:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butcher-paper-72w-x-1000l-white-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 12:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alternating-stair-9-56-degree-angle>: HTTP status code is not handled or not allowed 2026-01-28 12:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-thumbswitch-6-alum-ext-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 12:10:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-n-carry-4-board-system-cb1218qs>: HTTP status code is not handled or not allowed 2026-01-28 12:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-ultra-xtra-thrust-60-alum-ext-alloy-nozzle-long-trigger>: HTTP status code is not handled or not allowed 2026-01-28 12:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-30725ep-72w-x-30d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 12:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-led-dock-light-head-only-20w-1800-lumens-5000k-on-off-switch-9-foot-cord-with-plug>: HTTP status code is not handled or not allowed 2026-01-28 12:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-28 12:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roll-out-extra-shelving-add-on-3-shelf-36x36x62>: HTTP status code is not handled or not allowed 2026-01-28 12:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-110-percent-alcohol-proof---ethyl-alcohol-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 12:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1050-1100-specific-gravity-astm-90h-hydrometer-for-light-liquids>: HTTP status code is not handled or not allowed 2026-01-28 12:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slide-tray-20-capacity-13-1-2-x-6-plastic-6pk>: HTTP status code is not handled or not allowed 2026-01-28 12:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-12-l-x-1-1-2-w-x-3-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 12:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-12-l-x-3-4-w-x-1-2-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-28 12:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mds098001z-3-usp-hydrogen-peroxide-16-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 12:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0690-0800-specific-gravity-hydrometer-for-liquids-lighter-than-water>: HTTP status code is not handled or not allowed 2026-01-28 12:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-faucet-elkay-lk810gn05l2>: HTTP status code is not handled or not allowed 2026-01-28 12:10:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-deluxe-technician-cart-portable-32-1-4w-x-18-1-4d-x-34h-carmine-red>: HTTP status code is not handled or not allowed 2026-01-28 12:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-leadwrap-hook-n-loop-fasteners-cables-leads-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/backyard-greenhouse-anchor>: HTTP status code is not handled or not allowed 2026-01-28 12:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloud-foam-sheets-12w-x-12l-x-2-thick-white-24pack>: HTTP status code is not handled or not allowed 2026-01-28 12:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-sheet-24-l-x-24-w-x-1-2-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 12:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-on-off-switch-global-industrial-42-blower-fan>: HTTP status code is not handled or not allowed 2026-01-28 12:10:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-graphite-sheet-6-l-x-6-w-x-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 12:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-ptfe-tube-72-l-x-1-5-8-id-x-1-3-4-od-white>: HTTP status code is not handled or not allowed 2026-01-28 12:10:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 12:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-utility-tray-flexible-model-12-x-12-3-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-for-850-cl-series-stacking-chairs-30-chair-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-24-l-x-2-w-x-3-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 12:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-magnum-325-atv-battery-1987-2002-14-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-28 12:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmw-k1300s-1300cc-motorcycle-battery-2009-2014-12-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-28 12:10:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crinkle-paper-blends-10-lbs-blackgold>: HTTP status code is not handled or not allowed 2026-01-28 12:10:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 12:10:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-1-3-4-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 12:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100778 pages (at 92 pages/min), scraped 50338 items (at 39 items/min) 2026-01-28 12:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-1-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 12:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-4-x-1-5-8-2-light-green-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 12:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-drawer-dividers-5-3-8w-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 12:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-24-l-x-3-4-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 12:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:11:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleanmax-paper-vacuum-bag-standard-and-proseries>: HTTP status code is not handled or not allowed 2026-01-28 12:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ma-2-polypropylene-light-oil-pump-5-to-55-gallon-containers>: HTTP status code is not handled or not allowed 2026-01-28 12:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ma-20v-polypropylene-piston-pump-viton-seals-for-55-gallon-drums>: HTTP status code is not handled or not allowed 2026-01-28 12:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-72-x-30-adj-height-workbench-w-drawer-riser-black-maple-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 12:11:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-14l-1-ply-endless-poly-flat-web-sling>: HTTP status code is not handled or not allowed 2026-01-28 12:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-advanced-classroom-training-table-30-x-60-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 12:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-4-x-2-5-8-6-manila-pre-strung-tag-1>: HTTP status code is not handled or not allowed 2026-01-28 12:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-coated-32-gallon-mesh-receptacle-wflat-lid-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-1-5-8-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 12:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:11:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-coated-32-gallon-perforated-receptacle-wflat-lid-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-builder-elite-energy-star-rated-ceiling-fan-53240-snow-white>: HTTP status code is not handled or not allowed 2026-01-28 12:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-storage-container-239923-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wood-luggage-rack-natural-wood-finish>: HTTP status code is not handled or not allowed 2026-01-28 12:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-short-reach-foundry-hook-1400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-swing-top-can-14-1-2-gallon-brushed-ss>: HTTP status code is not handled or not allowed 2026-01-28 12:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-48-l-x-6-w-x-1-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 12:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-73-1-2-x-4-1-2-x-4-3-4-green>: HTTP status code is not handled or not allowed 2026-01-28 12:11:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 12:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-round-outdoor-cafe-table-fashion-gray-phenolic-top-white-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:11:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-1-5-8-post-base-p2072asqeg-electro-galvanized-sq>: HTTP status code is not handled or not allowed 2026-01-28 12:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-finned-strip-240v-t4-19-12l-1700w>: HTTP status code is not handled or not allowed 2026-01-28 12:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-finned-strip-120v-t4-14l-1100w>: HTTP status code is not handled or not allowed 2026-01-28 12:11:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-x-5-1-2-blue-packing-list-enclosed-panel-face>: HTTP status code is not handled or not allowed 2026-01-28 12:11:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:11:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/wrapping_equipment/stretch_wrap_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-6-l-x-6-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 12:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-middle-lounge-chair-leather-black-hercules-imagination-series>: HTTP status code is not handled or not allowed 2026-01-28 12:11:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-marker-oil-based-fine-yellow-ink>: HTTP status code is not handled or not allowed 2026-01-28 12:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05400005-uchannel-sign-post-12l-2-lbsft-green>: HTTP status code is not handled or not allowed 2026-01-28 12:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05400004-uchannel-sign-post-10l-2-lbsft-green>: HTTP status code is not handled or not allowed 2026-01-28 12:11:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 12:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-bullet-open-top-can-16-gallon-brushed-ss>: HTTP status code is not handled or not allowed 2026-01-28 12:11:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 12:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:11:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/wrapping_equipment/stretch_wrap_machines landed on page that is not a product page. 2026-01-28 12:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-rotary-paddle-black-18x18x24>: HTTP status code is not handled or not allowed 2026-01-28 12:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-t-handle-white-18x18x30>: HTTP status code is not handled or not allowed 2026-01-28 12:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-armored-liquid-in-glass-thermometer-10-to-205c-76mm-immersion-organic-liquid-fill>: HTTP status code is not handled or not allowed 2026-01-28 12:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x8-4-mil-white-block-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 12:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x10-4-mil-white-block-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 12:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-refrigerator-drawers-ucrd-29d-60w-ucrd60a-2>: HTTP status code is not handled or not allowed 2026-01-28 12:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wire-shelves-utility-cart-silver-ep-21-w-x-48-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 12:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-6-w-x-1-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 12:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-2-1-2-w-x-2-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 12:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn598-phenolic-cylindrical-revolving-handle-wthreaded-spindle-18mm-dia-40mm-l-m6x10>: HTTP status code is not handled or not allowed 2026-01-28 12:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-2-with-brakes-nexelon-21-w-x-60-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 12:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-precision-liquid-in-glass-thermometer-1-to-201c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 12:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-36w-x-14d-x-54h-3-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 12:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-2-with-brakes-poly-green-18-w-x-48-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 12:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-6-w-x-2-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 12:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carson-3d-10x42mm-binocular-high-definition-optics-ed-glass>: HTTP status code is not handled or not allowed 2026-01-28 12:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-60-performance-plus-accessory-bar-kit>: HTTP status code is not handled or not allowed 2026-01-28 12:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-6-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 12:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-72w-x-18d-x-34h-2-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 12:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100867 pages (at 89 pages/min), scraped 50367 items (at 29 items/min) 2026-01-28 12:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-4-w-x-1-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 12:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-roof-warning-line-perimeter-vinyl-pennant-42-flags-105-feet-long-red-yellow-03-407-105>: HTTP status code is not handled or not allowed 2026-01-28 12:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-general-purpose-liquid-in-glass-thermometer-0-to-300f-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 12:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-bloodborne-pathogen-cleanup-kit-polybag>: HTTP status code is not handled or not allowed 2026-01-28 12:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-pocket-liquid-in-glass-thermometer-20-to-120f-closed-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 12:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pyrex-magnetic-stirring-bar-glass-encapsulated-38-x-95mm>: HTTP status code is not handled or not allowed 2026-01-28 12:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-39-51-degree-api-combined-form-thermo-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 12:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-48w-x-36d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-backless-swivel-bar-stool-with-chrome-frame-and-green-seat>: HTTP status code is not handled or not allowed 2026-01-28 12:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-60w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 12:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-heavy-duty-box-blade-tractor-attachment-6-shank-category-1>: HTTP status code is not handled or not allowed 2026-01-28 12:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-48-l-x-24-w-x-3-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 12:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-72w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 12:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-59-71-degree-brix-sugar-scale-combined-form-thermo-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 12:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-electric-baseboard-convection-heater-120-l-240-208v>: HTTP status code is not handled or not allowed 2026-01-28 12:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-24w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-5-w-x-1-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 12:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-280es-2rs-spherical-plain-bearing-metric-sealed>: HTTP status code is not handled or not allowed 2026-01-28 12:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-sensory-light-table-16-colors-wooden-base>: HTTP status code is not handled or not allowed 2026-01-28 12:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-8e-spherical-plain-bearing-metric>: HTTP status code is not handled or not allowed 2026-01-28 12:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5362-gy-wide-body-duplex-receptacle-straight-blade-industrial-grade-strap-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-voltage-wall-mounted-thermostats-rk120eaa>: HTTP status code is not handled or not allowed 2026-01-28 12:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geg-100es-spherical-plain-bearing-metric-extended-inner-ring>: HTTP status code is not handled or not allowed 2026-01-28 12:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-6-w-x-1-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 12:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-channel-switchable-electronic-timer-with-certificate-of-calibration>: HTTP status code is not handled or not allowed 2026-01-28 12:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-100ta-2rs-spherical-plain-bearing-metric-high-capacity-sealed>: HTTP status code is not handled or not allowed 2026-01-28 12:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flarealert-standard-battery-powered-led-emergency-8-beacon-kit-red-b8-f-r>: HTTP status code is not handled or not allowed 2026-01-28 12:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-6-l-x-6-w-x-1-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 12:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flarealert-standard-battery-powered-led-emergency-beacon-red-rb2>: HTTP status code is not handled or not allowed 2026-01-28 12:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-30c-spherical-plain-bearing-metric-maintenance-free>: HTTP status code is not handled or not allowed 2026-01-28 12:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-general-purpose-polyethylene-tray-with-faucet-18-x-22-x-4>: HTTP status code is not handled or not allowed 2026-01-28 12:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-tube-24-l-x-3-4-id-x-1-1-4-od-red>: HTTP status code is not handled or not allowed 2026-01-28 12:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sv4-class-2-5-pt-breakaway-mesh-vest-hi-viz-green-5xl>: HTTP status code is not handled or not allowed 2026-01-28 12:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-120ta-2rs-spherical-plain-bearing-metric-high-capacity-sealed>: HTTP status code is not handled or not allowed 2026-01-28 12:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-2-1-2-w-x-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 12:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-waste-receptacle-with-blue-plastic-pitch-in-top25-x-25-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-waste-receptacle-with-blue-push-door-top25-x-25-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-in-hepa-filter-used-in-1-1-ton-biokool-kbio1411-with-6-month-recommended-replacement>: HTTP status code is not handled or not allowed 2026-01-28 12:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-72w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 12:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-outdoor-waterproof-case-w-reconfigurable-padded-divider-insert-14-1-4-l-x11-3-4-w-black>: HTTP status code is not handled or not allowed 2026-01-28 12:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-24w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 12:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-giant-polygon-teflon-magnetic-stirring-bar-57-x-27mm-white-without-pivot-ring>: HTTP status code is not handled or not allowed 2026-01-28 12:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-door-extension-kits-for-riga-xl-greenhouses>: HTTP status code is not handled or not allowed 2026-01-28 12:12:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9515-50ex-16-inch-axial-ac-high-output-explosion-proof-ex-metal-blower>: HTTP status code is not handled or not allowed 2026-01-28 12:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-samplit-scoop-and-container-system-non-sterile-190ml-65oz-plastic-25pk>: HTTP status code is not handled or not allowed 2026-01-28 12:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-multipurpose-polypropylene-tray-with-snap-on-lid-8-x-10-3-4-x-3>: HTTP status code is not handled or not allowed 2026-01-28 12:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-2-1-2-w-x-2-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 12:12:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-welded-steel-locker-triple-tier-24x24x74-3-door-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 12:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-tile-top-antifatigue-mat-7-8-thick-3-wide-up-to-60-black>: HTTP status code is not handled or not allowed 2026-01-28 12:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-stool-fabric-black>: HTTP status code is not handled or not allowed 2026-01-28 12:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-stationary-floor-support-28w-max-leg-45-5-8h>: HTTP status code is not handled or not allowed 2026-01-28 12:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-60w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 12:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-720-l-x-20-w-x-3-16-thick-black-fabric-reinforced-70a>: HTTP status code is not handled or not allowed 2026-01-28 12:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 100964 pages (at 97 pages/min), scraped 50409 items (at 42 items/min) 2026-01-28 12:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-revolving-belt-rack-w-round-tubing-chrome>: HTTP status code is not handled or not allowed 2026-01-28 12:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-polygon-magnetic-stirring-bar-40-x-8mm-white-pivot-ring>: HTTP status code is not handled or not allowed 2026-01-28 12:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36l-x-24w-2-gauge-vinyl-w-open-bottom-crystal-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-plastic-binding-combs-up-to-55-sheets-navy-blue-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-30w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 12:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12l-hangrail-bracket-to-hold-rectangular-tubing-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 12:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-grid-hook-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 12:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-rectangular-tubing-face-out-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 12:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-14-gauge-extra-heavy-duty-classic-duratough-storage-cabinet-48w-x-24d-x-60h>: HTTP status code is not handled or not allowed 2026-01-28 12:13:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-lab-drawer-5-compartment-tray-4-short-1-long-14-x-17-1-2-x-2-1-4>: HTTP status code is not handled or not allowed 2026-01-28 12:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-dia-round-folding-rack-rectangular-tubing-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 12:13:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-21426b-42w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-hangrail-bracket-for-1-1-4-round-tubing-chrome>: HTTP status code is not handled or not allowed 2026-01-28 12:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-16-gauge-heavy-duty-galvanite-duratough-storage-cabinet-36w-x-21d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 12:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-21368b-36w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 12:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-24-l-x-12-w-x-1-8-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-12-l-x-2-w-x-3-16-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 12:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-five-tier-locker-adder-1-wide-12w-x-15d-x-12h-unassembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 12:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-liter-fluorescent-pen-style-highlighters-six-color-fluorescent-set>: HTTP status code is not handled or not allowed 2026-01-28 12:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recyclockout-lockout-tagout-hasp-1-5-inch-recycled-aluminum-7128>: HTTP status code is not handled or not allowed 2026-01-28 12:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-14426b-42w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-proculture-plastic-pestles-and-tubes-for-micro-tube-homogenizer-system-05ml100pk>: HTTP status code is not handled or not allowed 2026-01-28 12:13:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-horizontal-or-vertical-unit-heater-7-5kw-240v-208v-1-or-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 12:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-600-l-x-36-w-x-1-16-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-28 12:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-bushel-plastic-bulk-box-truck-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-2-wide-18w-x-18d-x-36h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:13:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-4320-l-x-36-w-x-1-32-thick-black-high-strength-90a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 12:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10020hdcadc-ultra-quiet-oil-free-2-0-hp-10-0-gal-air-compressor>: HTTP status code is not handled or not allowed 2026-01-28 12:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-switch-grid-test-tube-rack-for-10-13mm-tubes-84-places-orange>: HTTP status code is not handled or not allowed 2026-01-28 12:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-48-melamine-shelf-maple>: HTTP status code is not handled or not allowed 2026-01-28 12:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-w-push-trolley-1-8-ton-15-lift-56-9-3-ft-min-460v>: HTTP status code is not handled or not allowed 2026-01-28 12:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers>: HTTP status code is not handled or not allowed 2026-01-28 12:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-tube-60-l-x-1-8-id-x-5-8-od-red>: HTTP status code is not handled or not allowed 2026-01-28 12:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/138007-cmc-coded-non-contact-switch-wled-10m-2nc-1no>: HTTP status code is not handled or not allowed 2026-01-28 12:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2w-x-8h-slatgrid-panel-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 12:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-t-shaped-tubing-connectors-for-3-16-tubing-polypropylene-12pk>: HTTP status code is not handled or not allowed 2026-01-28 12:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6l-x-11-16d-with-1-slots-on-2-centers-zinc>: HTTP status code is not handled or not allowed 2026-01-28 12:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-5123rb-universal-tablet-monile-viewstand-with-locking-casters-black>: HTTP status code is not handled or not allowed 2026-01-28 12:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-720-l-x-12-w-x-1-8-thick-black-ultra-strength-60a>: HTTP status code is not handled or not allowed 2026-01-28 12:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-bosshead-for-rods-up-to-1-2-diameter>: HTTP status code is not handled or not allowed 2026-01-28 12:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-120-l-x-36-w-x-3-16-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-28 12:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-steel-blouse-and-dress-hanger-w-loop-hook-chrome>: HTTP status code is not handled or not allowed 2026-01-28 12:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-single-sided-starter-unit-medium-duty-1>: HTTP status code is not handled or not allowed 2026-01-28 12:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-1-8-ton-10-lift-56-9-3-ft-min-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-21-2-gauge-sewed-vinyl-crystal-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-velveteen-squares-sterile-cotton-6-x-6-36pk>: HTTP status code is not handled or not allowed 2026-01-28 12:13:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-single-sided-starter-unit-3>: HTTP status code is not handled or not allowed 2026-01-28 12:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-notched-costumer-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 12:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-10-32-1-1-4-thread-3-4-head-dia-3-16-head-h-ss-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 12:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solvent-base-street-utility-marking-paint-20-oz-aluminum-20-651-12-case>: HTTP status code is not handled or not allowed 2026-01-28 12:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-w-shoulder-m5-x-0-8-16mm-thread-11-1mm-head-dia-steel-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 12:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-single-add-on-unit-extra-4>: HTTP status code is not handled or not allowed 2026-01-28 12:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-double-add-on-unit-extra-3>: HTTP status code is not handled or not allowed 2026-01-28 12:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 12:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-dx-storage-cart-with-security-railed-top-and-hinged-door-white-with-silver-metallic>: HTTP status code is not handled or not allowed 2026-01-28 12:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-12-w-x-3-16-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 12:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-72x24-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 12:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-2-wide-12w-x-12d-x-15h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safe-bump-forklift-protector-986877>: HTTP status code is not handled or not allowed 2026-01-28 12:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2w-x-7h-grid-panel-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 12:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-948-classic-stackable-food-bin-11-inch-w-x-14-inch-d-x-12-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 12:13:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/strobe_flashing_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-outdoor-rated-portable-air-conditioner-12-tons-144-400-btu-460v>: HTTP status code is not handled or not allowed 2026-01-28 12:13:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/office_machine_accessories/label_maker_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-4320-l-x-36-w-x-3-8-thick-black-high-strength-90a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 12:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101059 pages (at 95 pages/min), scraped 50440 items (at 31 items/min) 2026-01-28 12:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-105xbrma24d-dual-mode-led-signal-amber-24v-dc>: HTTP status code is not handled or not allowed 2026-01-28 12:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-one-bay-8>: HTTP status code is not handled or not allowed 2026-01-28 12:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06528-collet-14-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 12:14:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-120-l-x-1-1-2-w-x-3-32-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 12:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/strobe_flashing_lights>: HTTP status code is not handled or not allowed 2026-01-28 12:14:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_machines/office_machine_accessories/label_maker_accessories>: HTTP status code is not handled or not allowed 2026-01-28 12:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aigner-wr-1253-clear-label-holder-wire-shelf-1-1-4-h-x-3-w-with-paper-insert-25-pc>: HTTP status code is not handled or not allowed 2026-01-28 12:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-grab-4-00-o-d-cast-iron-pipes-450-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-and-blower-3-4-hp-1725-rpm-208-230-460v-odp-56h-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-cleaning-system-for-indigo-nxt-models-stainless-steel-exterior>: HTTP status code is not handled or not allowed 2026-01-28 12:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-3250-rpm-115v-oao-1-45-fl-amps>: HTTP status code is not handled or not allowed 2026-01-28 12:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cjl1307a-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-m-49-494-rd-b-494-color-polyester-labels-1-h-x-1-w-red-white-260-roll>: HTTP status code is not handled or not allowed 2026-01-28 12:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 12:14:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/strobe_flashing_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270flxt-270-flexible-steel-extension-stem>: HTTP status code is not handled or not allowed 2026-01-28 12:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-chc545a-1-hp-1700-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:14:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apron-style-walk-ramp-38-w-x-7-l-2800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms90-b0824-90-shade-cloth-shade-tarp-8-x-24>: HTTP status code is not handled or not allowed 2026-01-28 12:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms90-b1014-90-shade-cloth-shade-tarp-10-x-14>: HTTP status code is not handled or not allowed 2026-01-28 12:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poster-confined-space-hazards-24-x-18>: HTTP status code is not handled or not allowed 2026-01-28 12:14:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3665t-4-5-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-fabric-table-cover-white-eight-feet>: HTTP status code is not handled or not allowed 2026-01-28 12:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrmg120ab-125xbr-xtra-brite-led-multi-mode-green-120-vac>: HTTP status code is not handled or not allowed 2026-01-28 12:14:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_alarms_signals/strobe_flashing_lights landed on page that is not a product page. 2026-01-28 12:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-wide-step-stand-2-step-ssa-2w-kd>: HTTP status code is not handled or not allowed 2026-01-28 12:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-8-bu-white-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 12:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-coated-urethane-foam-tape-4016-1-x-36-yds-3-mil-off-white>: HTTP status code is not handled or not allowed 2026-01-28 12:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-chalk-reel-red-chalk>: HTTP status code is not handled or not allowed 2026-01-28 12:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels>: HTTP status code is not handled or not allowed 2026-01-28 12:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-hand-truck-dockplate-30-w-x-30-l-500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:14:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3587t-4-2-hp-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-cast-iron-slim-jaw-pipe-wrench>: HTTP status code is not handled or not allowed 2026-01-28 12:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rug-ram-carpet-pole-fork-mounted-144-l-2>: HTTP status code is not handled or not allowed 2026-01-28 12:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-and-blower-1-4-hp-1725-rpm-115v-odp>: HTTP status code is not handled or not allowed 2026-01-28 12:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-n-tell-100g-range-robust-sturdy-products>: HTTP status code is not handled or not allowed 2026-01-28 12:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-inch-w-x-30-inch-d-x-84-inch-h-3-levels-starter-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 12:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidguard-2-hinge-door-3-w-x-6-h>: HTTP status code is not handled or not allowed 2026-01-28 12:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ssc-series-electric-chain-hoist-5-ton-10-ft-lift-115v-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels>: HTTP status code is not handled or not allowed 2026-01-28 12:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearview-industrial-cabinet-with-single-door-30-w-x-24-d-x-75-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cewdm3554t-1-5-hp-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-single-phase-tefc-motor-1-2-hp-1725-rpm-115-208-230v-tefc-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-tefc-motor-2-hp-1730-rpm-230-460v-tefc>: HTTP status code is not handled or not allowed 2026-01-28 12:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/counter-height-industrial-cabinet-36-w-x-24-d-x-45-h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-gaylord-pallet-container-with-lid-caster-green>: HTTP status code is not handled or not allowed 2026-01-28 12:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-bm3542-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-photo-paper-8-1-2in-x-11in-white-20-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glossy-photo-paper-8-1-2in-x-11in-white-100-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-48-inch-w-x-30-inch-d-x-84-inch-h-7-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:14:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cecp82333t-5-15-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/headrest-mesh-chair>: HTTP status code is not handled or not allowed 2026-01-28 12:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transformer-cooling-fan-motor-1-6-hp-1140-rpm-208-230v-teao>: HTTP status code is not handled or not allowed 2026-01-28 12:14:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paintbrushes_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cewdbm3542-75-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-5-hp-1550-rpm-208-230v-oao>: HTTP status code is not handled or not allowed 2026-01-28 12:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101150 pages (at 91 pages/min), scraped 50477 items (at 37 items/min) 2026-01-28 12:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/photo_presentation_paper>: HTTP status code is not handled or not allowed 2026-01-28 12:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-ventilated-industrial-cabinet-48-w-x-24-d-x-75-h-white>: HTTP status code is not handled or not allowed 2026-01-28 12:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/farm-duty-milk-pump-motor-3-4-hp-3450-rpm-208-230v-tenv>: HTTP status code is not handled or not allowed 2026-01-28 12:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-broom-cabinet-48-w-x-24-d-x-75-h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/farm-duty-single-phase-motor-1-hp-1725-rpm-230-115v-tefc-l56-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-7-drawers-36-w-x-24-d-x-75-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 12:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/painting_supplies/paint_brushes_rollers_tools/paintbrushes_pads>: HTTP status code is not handled or not allowed 2026-01-28 12:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peakworks-rk625-roofers-fall-protection-kit--harness-3-shock-absorbing-lanyard-25-lifeline>: HTTP status code is not handled or not allowed 2026-01-28 12:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-3-8-tube-x-3-8-swift-fit-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-28 12:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-36-inch-d-x-84-inch-h-3-levels-starter-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 12:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oem-replacement-motor-1-2-hp-1130-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-28 12:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-tefc-motor-10-hp-1762-rpm-230-460v-tefc>: HTTP status code is not handled or not allowed 2026-01-28 12:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-1-4-tube-x-1-4-swift-fit-universal-thread-5-6-l>: HTTP status code is not handled or not allowed 2026-01-28 12:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-tefc-motor-5-hp-1755-rpm-230-460v-tefc-184tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-scr-motor-1-6-hp-1750-rpm-90v-tenv>: HTTP status code is not handled or not allowed 2026-01-28 12:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-48wx48dx84h-4-levels-add-on-no-decking-750-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mastercool-52225-a-dual-temp-plus-infrared-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 12:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-72-inch-w-x-24-inch-d-x-84-inch-h-3-levels-starter-w-wire-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 12:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-1-4-tube-x-1-8-nptf-5-6-l>: HTTP status code is not handled or not allowed 2026-01-28 12:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-kbm3458-33-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-standard-cut-end-wet-mop-head-16-2>: HTTP status code is not handled or not allowed 2026-01-28 12:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-electronic-lock-and-card-reader-60-w-x-24-d-x-75-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idm3770t-5-7-5te-hp-4000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:15:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/boltless_shelving_additional_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-cleer-adheer-laminating-film-roll-clear-24-x-600-1-bx>: HTTP status code is not handled or not allowed 2026-01-28 12:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/113047000-00580693-mach-led-plus-24-led-machine-luminaire-12-watts>: HTTP status code is not handled or not allowed 2026-01-28 12:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-utility-26x45x33-bge>: HTTP status code is not handled or not allowed 2026-01-28 12:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-series-clear-lid-for-qus232-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 12:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-wire-shelving-spill-tray-48-l-x-24-w-x-2-1-4-d-9-gallon-capacity-textured-putty>: HTTP status code is not handled or not allowed 2026-01-28 12:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-long-sleeve-work-shirt-light-blue-regular-s-ws10lbrgs>: HTTP status code is not handled or not allowed 2026-01-28 12:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-bulkhead-union-5mm-tube-1-2-7-l>: HTTP status code is not handled or not allowed 2026-01-28 12:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-10mm-tube-x-1-4-bspp-1-l>: HTTP status code is not handled or not allowed 2026-01-28 12:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-site-safety-hanging-sign>: HTTP status code is not handled or not allowed 2026-01-28 12:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-inch-w-x-30-inch-d-1-level-w-wire-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 12:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-12mm-tube-x-3-8-swift-fit-universal-thread-1-1-4-l>: HTTP status code is not handled or not allowed 2026-01-28 12:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/boltless_shelving_additional_shelves>: HTTP status code is not handled or not allowed 2026-01-28 12:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genuine-stack-nest-tote-clear-18-l-x-11-w-x-9-h-polyprolylene>: HTTP status code is not handled or not allowed 2026-01-28 12:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l1508t-50-5-hp-1455-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-long-sleeve-work-shirt-khaki-regular-m-ws10khrgm>: HTTP status code is not handled or not allowed 2026-01-28 12:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genuine-stack-nest-tote-clear-lid-polyprolylene-19-1-2-l-x-13-1-2-w-x-1-5-8-h>: HTTP status code is not handled or not allowed 2026-01-28 12:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-3-8-l-x-11-w-x-3-h-ultra-series-stack-and-hang-bin-yellow-polyethylene-3-slots>: HTTP status code is not handled or not allowed 2026-01-28 12:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-wire-shelving-spill-tray-36-l-x-24-w-x-2-1-4-d-6-5-gallon-capacity-textured-black>: HTTP status code is not handled or not allowed 2026-01-28 12:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-mobile-security-cabinet-bench-esd-safety-edge-1>: HTTP status code is not handled or not allowed 2026-01-28 12:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-sawyer-instrument-table-33-l-x-18-w-x-34-h-on-casters-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-ez-deck-decking-36-inch-w-x-36-inch-d-x-3-4-inch-h-for-use-w-double-rivets>: HTTP status code is not handled or not allowed 2026-01-28 12:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idm3584t-5-1-5te-hp-6000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamper-triangular-space-saver-stainless-steel-3-casters-foot-operated-w-pneumatic-top>: HTTP status code is not handled or not allowed 2026-01-28 12:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chewing-gum-candle-wax-remover>: HTTP status code is not handled or not allowed 2026-01-28 12:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/space-saver-case-cart-29-5-8-w-x-55-1-2-h-x-29-d-2-s-s-wire-pullout-shelves-1-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 12:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maid-broom-plastic-bristles>: HTTP status code is not handled or not allowed 2026-01-28 12:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-3-reflective-reboundable-delineator-round-orange>: HTTP status code is not handled or not allowed 2026-01-28 12:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-120-w-x-42-d-x-144-h-796618n>: HTTP status code is not handled or not allowed 2026-01-28 12:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-96-w-x-48-d-x-120-h-796602n>: HTTP status code is not handled or not allowed 2026-01-28 12:15:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/parts_cleaning_treating/parts_cleaners_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l3354-17-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lenox-kickbucket-w-13-qt-pail-w-rubber-bumper>: HTTP status code is not handled or not allowed 2026-01-28 12:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-filters-vacuums-3>: HTTP status code is not handled or not allowed 2026-01-28 12:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-back-task-stool-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-station-pedestal-lodi-scrub-sink-knee-action-control-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-shop-ticket-holder-5-x-8-50-bx>: HTTP status code is not handled or not allowed 2026-01-28 12:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-gantry-crane-kd-adj-height-4000lb-load-capacity-i-beam-width-12ft>: HTTP status code is not handled or not allowed 2026-01-28 12:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-gantry-crane-kd-adj-height-2000lb-load-capacity-i-beam-width-10ft>: HTTP status code is not handled or not allowed 2026-01-28 12:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dupont-tyvek-security-wristbands-purple-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 12:15:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/parts_cleaning_treating/parts_cleaners_accessories landed on page that is not a product page. 2026-01-28 12:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-ctrl-flow-knob-adjustment-5mm-tube-x-m5-unf-7-9-l>: HTTP status code is not handled or not allowed 2026-01-28 12:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-warming-blanket-wrap-55-gallon-38-c-100-f>: HTTP status code is not handled or not allowed 2026-01-28 12:15:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-crew-shirt-short-sleeve-m-black-red-sy20>: HTTP status code is not handled or not allowed 2026-01-28 12:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101245 pages (at 95 pages/min), scraped 50507 items (at 30 items/min) 2026-01-28 12:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104310-toughstripe-floor-marking-tape-2-inches-wide-by-100-feet-long-black>: HTTP status code is not handled or not allowed 2026-01-28 12:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90891-480-600v-breaker-blocker-kit>: HTTP status code is not handled or not allowed 2026-01-28 12:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em4314t-60-hp-1780-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rw-rogers-company-steel-shopping-cart-26-cu-ft-capacity-grey>: HTTP status code is not handled or not allowed 2026-01-28 12:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmp21-series-indoor-outdoor-industrial-vinyl-labels-3-8-blk-white-m21-375-595-wt>: HTTP status code is not handled or not allowed 2026-01-28 12:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-valve-flow-knob-adjustment-3-8-tube-x-1-4-universal-thread-1-1-6-l>: HTTP status code is not handled or not allowed 2026-01-28 12:16:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/patio_dining_chairs landed on page that is not a product page. 2026-01-28 12:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-eco-elite-4-wide-5-up-to-60-black-smoke>: HTTP status code is not handled or not allowed 2026-01-28 12:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-tear-drop-starter-108-w-x-42-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 12:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultragutter-guard-9-dia-x-12-l>: HTTP status code is not handled or not allowed 2026-01-28 12:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-men-s-size-11-15-h-plain-toe-cleated-outsole-brown-upper-crepe-sole>: HTTP status code is not handled or not allowed 2026-01-28 12:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3554t-8-1-5-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-boot-men-s-size-5-15-h-steel-pr-midsole-cleated-sole-black>: HTTP status code is not handled or not allowed 2026-01-28 12:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-shipping-tag-pre-wired-4-3-4-x-2-3-8-red-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-person-contractor-ansi-a-first-aid-kit-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 12:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp84400t-4-100-hp-1785-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-stress-kit-72-piece-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 12:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-laboratory-medical-solid-door-refrigerator-26-cu-ft-nswdr261wws-0>: HTTP status code is not handled or not allowed 2026-01-28 12:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-laboratory-medical-glass-door-refrigerator-16-cu-ft-nswdr161wwg-0>: HTTP status code is not handled or not allowed 2026-01-28 12:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-vacuum-u-tube-tough-guy-50000-btu-20l>: HTTP status code is not handled or not allowed 2026-01-28 12:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm3157t-2-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-baby-changing-table-recess-mounted-stainless-steel-kb310-ssre>: HTTP status code is not handled or not allowed 2026-01-28 12:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pants-black-polyurethane-on-75-denier-ripstop-polyester-3xl>: HTTP status code is not handled or not allowed 2026-01-28 12:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/consecutively-numbered-repair-tags-pre-wired-6-1-4-x-3-1-8-red-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ehfm3218t-5-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverallzipper-fronthoodelastic-wrist-and-ankleserged-seamstormflapyellowxl>: HTTP status code is not handled or not allowed 2026-01-28 12:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp84406t-4-150-hp-1785-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pure-sugar-cane-20-oz-canister-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:16:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/sports_drinks_mixes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-straight-tube-125000-btu-30l>: HTTP status code is not handled or not allowed 2026-01-28 12:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-half-caff-25-4-oz-canister-6-carton>: HTTP status code is not handled or not allowed 2026-01-28 12:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverall-hood-and-socks-boots-bound-seam-yellow-3x>: HTTP status code is not handled or not allowed 2026-01-28 12:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-14in-clear-red-surface-mount-ultra-thin-led-strobe-light-8892207>: HTTP status code is not handled or not allowed 2026-01-28 12:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-3in-rectangular-36-led-floodlight-1492194>: HTTP status code is not handled or not allowed 2026-01-28 12:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/coffee_beverages/sports_drinks_mixes>: HTTP status code is not handled or not allowed 2026-01-28 12:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-low-density-dissipative-foam-40-x-75-x-12>: HTTP status code is not handled or not allowed 2026-01-28 12:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-powered-laptop-cart-with-100ah-battery-black>: HTTP status code is not handled or not allowed 2026-01-28 12:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-red-round-marker-clearance-light-with-4-led-5622154>: HTTP status code is not handled or not allowed 2026-01-28 12:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-hydrogen-3>: HTTP status code is not handled or not allowed 2026-01-28 12:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp84410t-4-125-hp-1785-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/108in-165-led-strip-light-with-3m-adhesive-back-clear-and-cool-562109166>: HTTP status code is not handled or not allowed 2026-01-28 12:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-u-bike-rack-gray-zinc-rich-coated-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-overall-black-polyurethane-on-300-denier-woven-polyester-lg>: HTTP status code is not handled or not allowed 2026-01-28 12:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-bike-rack-gray-below-grade-mount>: HTTP status code is not handled or not allowed 2026-01-28 12:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-efm3218t-8-5-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-27-pan-head-screw-w-pin-14-x-3-4-stainless-steel-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejpm4115t-50-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-process-water-3>: HTTP status code is not handled or not allowed 2026-01-28 12:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-pre-wired-6-switch-panel-4-on-off-2-momentary-6391207>: HTTP status code is not handled or not allowed 2026-01-28 12:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-pre-wired-7-function-panel-multi-function-programmable-6391208>: HTTP status code is not handled or not allowed 2026-01-28 12:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-steam-8>: HTTP status code is not handled or not allowed 2026-01-28 12:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-non-potable-water-6>: HTTP status code is not handled or not allowed 2026-01-28 12:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm2514t-20-hp-3510-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-compressed-air-10>: HTTP status code is not handled or not allowed 2026-01-28 12:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2900-dress-hanger-middle-heavy-weight-19l-plastic-bk-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 12:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2539t-8-40-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6008-skirtslack-hanger-pinch-grip-8l-plastic-cl-pkg-qty-200>: HTTP status code is not handled or not allowed 2026-01-28 12:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemco-ce-fume-hood-wexplosion-proof-light-48-x-24-x-45>: HTTP status code is not handled or not allowed 2026-01-28 12:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-mag-nutsetter-x-4-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 12:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-0-120-28-degree-gauge-wire-weld-galvanized-fraiming-nails-2000-qty>: HTTP status code is not handled or not allowed 2026-01-28 12:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101341 pages (at 96 pages/min), scraped 50543 items (at 36 items/min) 2026-01-28 12:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a35-liquid-particle-protection-coverall-xl-white-25case>: HTTP status code is not handled or not allowed 2026-01-28 12:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36885-a20-breathable-particle-protection-shoe-covers-white-one-size-fits-all>: HTTP status code is not handled or not allowed 2026-01-28 12:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-screen-designer-cloth-screen-panel-norway>: HTTP status code is not handled or not allowed 2026-01-28 12:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-facepiece-reusable-respirator-assembly-6191-07001-aad-p100-small>: HTTP status code is not handled or not allowed 2026-01-28 12:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-ru8500-half-mask-blue-medium-speech-diaphragm-and-diverter-exhalation-valve-cover>: HTTP status code is not handled or not allowed 2026-01-28 12:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/backless-convex-chair-leather-melrose-white-hercules-alon-series>: HTTP status code is not handled or not allowed 2026-01-28 12:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-degree-coil-siding-nailer>: HTTP status code is not handled or not allowed 2026-01-28 12:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-2-power-bit-x-6-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 12:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jig-saw-top-handle-7-2-amp-w-case>: HTTP status code is not handled or not allowed 2026-01-28 12:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-grain-goatskin-leather-protector-for-novax-gloves-gauntlet-size-10>: HTTP status code is not handled or not allowed 2026-01-28 12:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torq-set-acr-r-10-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 12:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12v-max-brushless-impact-driver-kit-w-2-2-0ah-batteries>: HTTP status code is not handled or not allowed 2026-01-28 12:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-protection-kit-for-hard-hat-white>: HTTP status code is not handled or not allowed 2026-01-28 12:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-desk-full-height-right-pedestal-66-inch-w-x-30-inch-d-x-29-half-inch-h-harvest>: HTTP status code is not handled or not allowed 2026-01-28 12:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8-inch-cable-ties-natural-with-uv-inhibitor-75-pound-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-do-not-enter-authorized-personnel-only>: HTTP status code is not handled or not allowed 2026-01-28 12:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-grain-goatskin-leather-protector-for-novax-gloves-white-size-8>: HTTP status code is not handled or not allowed 2026-01-28 12:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-tamper-5-32-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 12:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-2-reduced-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 12:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-tamper-27-power-bit-x-2-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 12:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shredstar-x17-cross-cut-shredder-with-cd-slot-17-sheet-6-9-gallon-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 12:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gtek-maxiflex-ii-black-microfoam-nitrile-coated-palm-full-finger-m>: HTTP status code is not handled or not allowed 2026-01-28 12:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-large-o-d-fender-washer-1-o-d-1-8-thick-steel-black-oxide-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 12:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-warning-respirator-required>: HTTP status code is not handled or not allowed 2026-01-28 12:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdm3665t-5-5te-hp-6000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-danger-electrical-hazard>: HTTP status code is not handled or not allowed 2026-01-28 12:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vuhm3542-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ypc144a-25-hp-1625-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gtek-maxifoam-premium-gray-foam-nitrile-coated-palm-finger-tips-xs>: HTTP status code is not handled or not allowed 2026-01-28 12:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdm3774t-5-10te-hp-4000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-enamel-silver-gray-5-gallon-pail-1-case-31200-5>: HTTP status code is not handled or not allowed 2026-01-28 12:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdm4103t-25te-hp-4000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-1-power-bit-x-6-gunmetal-bronze-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-enamel-tile-green-5-gallon-pail-1-case-31300-5>: HTTP status code is not handled or not allowed 2026-01-28 12:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-goggle-direct-vent-anti-fog>: HTTP status code is not handled or not allowed 2026-01-28 12:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fusion-all-in-one-combination-aerosol-paint-primer-gloss-vintage-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-add-on-unit-48w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:17:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-danger-construction-area-keep-out-1>: HTTP status code is not handled or not allowed 2026-01-28 12:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vejmm3611t-3-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:17:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-danger-unauthorized-persons-keep-out>: HTTP status code is not handled or not allowed 2026-01-28 12:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-starter-unit-42w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-aluminum-sign-danger-high-voltage-keep-out>: HTTP status code is not handled or not allowed 2026-01-28 12:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-14w-x-60l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-big-bubba-depth-cartridge-20-micron>: HTTP status code is not handled or not allowed 2026-01-28 12:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 12:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/operator-glove-medium>: HTTP status code is not handled or not allowed 2026-01-28 12:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk3000-structural-channel-pallet-rack-5-inch-x-108-inch-channel-beam>: HTTP status code is not handled or not allowed 2026-01-28 12:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spanish-plastic-sign-peligro-blank>: HTTP status code is not handled or not allowed 2026-01-28 12:17:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 12:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-hammer-kit-6-piece>: HTTP status code is not handled or not allowed 2026-01-28 12:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1800s-24-regular-duty-f-clamp-24>: HTTP status code is not handled or not allowed 2026-01-28 12:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roll-of-500-hazard-warning-vinyl-labels-danger-contains-asbestos-fibers>: HTTP status code is not handled or not allowed 2026-01-28 12:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1200s-18-light-duty-f-clamp-18>: HTTP status code is not handled or not allowed 2026-01-28 12:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazardous-waste-vinyl-labels-universal-waste-striped>: HTTP status code is not handled or not allowed 2026-01-28 12:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2100140-roof-top-anchor-for-pvc-membrane-built-up-roofs>: HTTP status code is not handled or not allowed 2026-01-28 12:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-1-0-awg-8-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 12:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexbollard-52h-x-7-14w-w99h-signpost-concrete-bluewhite-xl-b528-c-bluewhite>: HTTP status code is not handled or not allowed 2026-01-28 12:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-80601-i-1-gang-decora-gucci-device-decora-midway-thermoset-ivory>: HTTP status code is not handled or not allowed 2026-01-28 12:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-flexbollard-52h-concrete-bluewhite-xl-b52-c-bluewhite>: HTTP status code is not handled or not allowed 2026-01-28 12:17:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-mesh-desktop-tub-file-letter-size-qty-6-black>: HTTP status code is not handled or not allowed 2026-01-28 12:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/band-saw-blade-compact-48-39-0509>: HTTP status code is not handled or not allowed 2026-01-28 12:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divided-quad-glove-box-dispenser-9-3-4-w-x-4-3-4-d-x-8-5-8-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 12:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divided-triple-glove-box-dispenser-15-13-16-w-x-3-13-16-d-x-10-h-white>: HTTP status code is not handled or not allowed 2026-01-28 12:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-36w-x-60l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101437 pages (at 96 pages/min), scraped 50576 items (at 33 items/min) 2026-01-28 12:17:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/hoists/manual_chain_hoists already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-your-cough-compliance-kit-8-3-8-w-x-4-7-16-d-x-16-3-8-h-transparent>: HTTP status code is not handled or not allowed 2026-01-28 12:17:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 12:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hc-15716-block-thread-sealant-screw-cap-with-brush-1-qt>: HTTP status code is not handled or not allowed 2026-01-28 12:17:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-square-plastic-trash-container-garbage-can-35-gallon-recycling-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-protectorelay-oil-burner-control-45-sec-lock-out-timing>: HTTP status code is not handled or not allowed 2026-01-28 12:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-fire-lane-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 12:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dental-protective-wear-organizer-7-13-16-w-x-5-1-4-d-x-7-1-2-h-white>: HTTP status code is not handled or not allowed 2026-01-28 12:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/cranes_hoists/hoists/manual_chain_hoists>: HTTP status code is not handled or not allowed 2026-01-28 12:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18970-cartridge-roll-3-16-x-1-x-3-32-aluminum-oxide-very-fine>: HTTP status code is not handled or not allowed 2026-01-28 12:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-31011-pvc-heavy-duty-clear-cement-wide-mouth-can-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 12:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-mercury-free-heat-only-thermostat-low-temperature-scale>: HTTP status code is not handled or not allowed 2026-01-28 12:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x18x10-jumbo-open-top-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-28 12:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-38810-ice-maker-outle-plain-box-no-valve-standard-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 12:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-reserved-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 12:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-2-tier-esd-18w-x-30l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warning-sign-10x7-vinyl-keep-all-cylinders-chained>: HTTP status code is not handled or not allowed 2026-01-28 12:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-81160-6-round-cover-and-ring-nickel>: HTTP status code is not handled or not allowed 2026-01-28 12:18:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bug-blocking-manual-side-seal-door-10w-x-12h-green>: HTTP status code is not handled or not allowed 2026-01-28 12:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000v-insulated-long-nose-pliers-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 12:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-side-rail-bumper-pads-72l-x-14w-x-1-12h>: HTTP status code is not handled or not allowed 2026-01-28 12:18:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/chain_pole_saws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wedge-cushion-with-stretch-cover-18l-x-16-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 12:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-filler-accessory-for-goffs-screens>: HTTP status code is not handled or not allowed 2026-01-28 12:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-inch-x-20-inch-x-20-inch-doublewall-boxes>: HTTP status code is not handled or not allowed 2026-01-28 12:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-sided-stock-curtain-package-w-hardware-24w-12w-24w-12w-x-10h-white-clear-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sided-stock-curtain-package-w-hardware-12w-24w-x-10h-white-clear-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-362216-hdc-polymight-dunnage-rack-wcasters-36w-x-22d-x-12h-1200-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-plastic-2-shelf-flat-service-utility-44x25-5cart-8-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-55-gal-brown>: HTTP status code is not handled or not allowed 2026-01-28 12:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/chain_pole_saws>: HTTP status code is not handled or not allowed 2026-01-28 12:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-15in-heavy-duty-wood-trimmer>: HTTP status code is not handled or not allowed 2026-01-28 12:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-32-gal-red>: HTTP status code is not handled or not allowed 2026-01-28 12:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-602212-hd-polymight-dunnage-rack-60w-x-22d-x-12h-1750-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-with-high-temp-adhesive-316-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 12:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-36w-x-60l-x-80h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-12-letter-t>: HTTP status code is not handled or not allowed 2026-01-28 12:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-sierra-perform-beyond-0-voc-acrylic-ena-satin-deep-tint-bas>: HTTP status code is not handled or not allowed 2026-01-28 12:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/training-panel-leg-adjustable-height-folding-table-18in-x-72in-walnut-top>: HTTP status code is not handled or not allowed 2026-01-28 12:18:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 12:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-raceway-48-14-w-x-64-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-radio-set-w-headset-black-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 12:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-21w-x-30l-x-69h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:18:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=wirebound-1-subject-notebook-65000-wide-8-x-10-12-70-sheetspad-1-padpack already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biztalk-174-over-the-ear-headset-for-mb400-black>: HTTP status code is not handled or not allowed 2026-01-28 12:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-24w-x-36l-x-69h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-electric-office-partition-panel-with-raceway-24-14-w-x-46-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-multipurpose-paper-106310-8-12-x-11-white-10-reamscarton>: HTTP status code is not handled or not allowed 2026-01-28 12:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-sierra-perform-beyond-0-voc-acrylic-ena-gloss-wh-pastel-bas>: HTTP status code is not handled or not allowed 2026-01-28 12:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-36-letter-q>: HTTP status code is not handled or not allowed 2026-01-28 12:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-wpartial-window-raceway-60-14-w-x-77-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-4-pan-head-self-tapping-screws-type-a-b-thread-0804ABPP188>: HTTP status code is not handled or not allowed 2026-01-28 12:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-industr-choice-1600-syst-gen-purp-enamel-aero-dove-gry>: HTTP status code is not handled or not allowed 2026-01-28 12:18:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=wirebound-1-subject-notebook-65000-wide-8-x-10-12-70-sheetspad-1-padpack landed on page that is not a product page. 2026-01-28 12:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-24w-x-30l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbonless-paper-3r12856-8-12-x-11-goldenrodpinkcanarywhite-5000carton>: HTTP status code is not handled or not allowed 2026-01-28 12:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-foam-with-adhesive-316-thick-x-12-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 12:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-9100-system-340voc-dtm-epoxy-mastic-silver-gray-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 12:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neenah-paper-astrobrights-colored-card-stock-21951-8-12-x-11-outrageous-orchid-250pack>: HTTP status code is not handled or not allowed 2026-01-28 12:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-bar-4-d-x-120-l-yellow-bar-red-tapes>: HTTP status code is not handled or not allowed 2026-01-28 12:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tow-spreader-130-lbs-46-inch-l-x-27-1-10-inch-w-x-31-1-2-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101527 pages (at 90 pages/min), scraped 50607 items (at 31 items/min) 2026-01-28 12:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/af4115ztw-edge-1-3mp-wide-angle-wireless-ready-digital-microscope-with-flc-2x-50x>: HTTP status code is not handled or not allowed 2026-01-28 12:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-extinguisher-with-blank-space-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 12:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tow-drop-spreader-175-lbs-33-inch-l-x-50-inch-w-x-28-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-4mm-wide-58mm-id-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 12:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bracket-swivel-offset-4-to-6-wood-post-galvanized-steel-for-50-55-60-vpx>: HTTP status code is not handled or not allowed 2026-01-28 12:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-high-performance-v2100-rust-prevent-enamel-aero-bright-red>: HTTP status code is not handled or not allowed 2026-01-28 12:19:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-9100-system-epoxy-thinner-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 12:19:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hp-everyday-matte-polypropylene-film-ch023a-36-x-100-white-2carton>: HTTP status code is not handled or not allowed 2026-01-28 12:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-228-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 12:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-lockout-center-with-contents>: HTTP status code is not handled or not allowed 2026-01-28 12:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tingley-174-pilot-g2-knee-boot-plain-toe-15-h-size-5-black>: HTTP status code is not handled or not allowed 2026-01-28 12:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/445-4-in-1-valve-repair-tool>: HTTP status code is not handled or not allowed 2026-01-28 12:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats>: HTTP status code is not handled or not allowed 2026-01-28 12:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats>: HTTP status code is not handled or not allowed 2026-01-28 12:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-high-performance-v2100-rust-preventive-enamel-aerosol-ss>: HTTP status code is not handled or not allowed 2026-01-28 12:19:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 12:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-rubber-slush-boots-mens-black-size-1112-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 12:19:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-tubing-12id-x-58od-x-50-ft>: HTTP status code is not handled or not allowed 2026-01-28 12:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16x3-1-4-concrete-screw-anchors-1052CNPF>: HTTP status code is not handled or not allowed 2026-01-28 12:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-24-h-x-11-1-2-d-hepa-filter-99-97-efficient-std-capacity-global-industrial-8482>: HTTP status code is not handled or not allowed 2026-01-28 12:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-dust-filter-125-cfm>: HTTP status code is not handled or not allowed 2026-01-28 12:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dial-tire-inflator-ast3081>: HTTP status code is not handled or not allowed 2026-01-28 12:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines>: HTTP status code is not handled or not allowed 2026-01-28 12:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-tubing-12id-x-58od-x-10-ft>: HTTP status code is not handled or not allowed 2026-01-28 12:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-twin-tufted-upholstered-platform-bed-light-gray-memory-foam-mattress>: HTTP status code is not handled or not allowed 2026-01-28 12:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x3-8-3-truss-high-low-screws-0406HPT>: HTTP status code is not handled or not allowed 2026-01-28 12:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-28 12:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-non-cycling-air-dryer-11-cfm>: HTTP status code is not handled or not allowed 2026-01-28 12:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cape-cod-patio-planter-14l-x-14w-x-14h-square-white>: HTTP status code is not handled or not allowed 2026-01-28 12:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/detectable-underground-warning-tape-caution-buried-potable-line-below-3-w>: HTTP status code is not handled or not allowed 2026-01-28 12:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-diamond-plate-anti-fatigue-mat-15-16-thick-3-x-cut-to-75-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40x3-16-pan-head-machine-screws-0403MPP>: HTTP status code is not handled or not allowed 2026-01-28 12:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riverdale-queen-tufted-upholstered-platform-bed-light-gray-pocket-spring-mattress>: HTTP status code is not handled or not allowed 2026-01-28 12:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-336-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 12:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11111-30-psi-14-lm-polished-brass-red>: HTTP status code is not handled or not allowed 2026-01-28 12:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11111-300-psi-14-lm-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 12:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wine-display-unit-4-tier-chrome-wood-top-14-w-x-48-l-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 12:19:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11112-100-psi-14-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 12:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-ink-pad-for-printer-p60-red>: HTTP status code is not handled or not allowed 2026-01-28 12:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-sspp2b-y3x-ss-wick-b-eye-polo-ylw-3x>: HTTP status code is not handled or not allowed 2026-01-28 12:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11110-160-psi-18-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 12:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kold-locker-indoor-cooler-plus-35-degrees-f-with-floor-lh-door-48-inches-w-x-72-inches-d-x-91-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 12:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-45-11125ct-300-psi-14-lm-ss>: HTTP status code is not handled or not allowed 2026-01-28 12:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11116-100-psikpa-14-cbm-with-u-plastic>: HTTP status code is not handled or not allowed 2026-01-28 12:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8x2-toggle-anchors-0632TBCM>: HTTP status code is not handled or not allowed 2026-01-28 12:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-retardant-silicone-foam-with-high-temp-adhesive-116-thick-x-12w-x-24l>: HTTP status code is not handled or not allowed 2026-01-28 12:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4x3-toggle-anchors-1448TBCM>: HTTP status code is not handled or not allowed 2026-01-28 12:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-sharpened-pencil-hb-2-black-lead-yellow-barrel-72-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32x1-hex-standoffs-141606HFA>: HTTP status code is not handled or not allowed 2026-01-28 12:19:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars landed on page that is not a product page. 2026-01-28 12:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11110-30-psi-14-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 12:19:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/plumbing_power_tools/pipe_location_inspection_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-weekly-appointment-book-black-8-1-4-x-10-7-8-2015-2016-aag7095005>: HTTP status code is not handled or not allowed 2026-01-28 12:19:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-graphite-rod-14-dia-x-12l>: HTTP status code is not handled or not allowed 2026-01-28 12:19:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-nyc-sign-exit-right>: HTTP status code is not handled or not allowed 2026-01-28 12:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-eyewash-drench-hose-unit-w-hand-truck-heated-15-gal>: HTTP status code is not handled or not allowed 2026-01-28 12:19:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-20in-deep-box-box-file-mobile-pedestal-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/plumbing_power_tools/pipe_location_inspection_tools>: HTTP status code is not handled or not allowed 2026-01-28 12:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contact-block-22mm-1-no-faston-terminal>: HTTP status code is not handled or not allowed 2026-01-28 12:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/calendars_planners/desk_calendars>: HTTP status code is not handled or not allowed 2026-01-28 12:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-neoprene-rubber-strip-with-acrylic-adhesive-60a-116-thick-x-2w-x-10l>: HTTP status code is not handled or not allowed 2026-01-28 12:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges>: HTTP status code is not handled or not allowed 2026-01-28 12:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101615 pages (at 88 pages/min), scraped 50634 items (at 27 items/min) 2026-01-28 12:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-1000-series-lateral-file-30in-wide-4-drawer-putty>: HTTP status code is not handled or not allowed 2026-01-28 12:19:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-illuminated-mushroom-head-pb-metal-bezel-22mm-green-p9m-em4vn>: HTTP status code is not handled or not allowed 2026-01-28 12:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-exit-salida-bilingual>: HTTP status code is not handled or not allowed 2026-01-28 12:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-peel-inkjet-address-labels-1-x-2-5-8-white-3000-box-8460>: HTTP status code is not handled or not allowed 2026-01-28 12:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens>: HTTP status code is not handled or not allowed 2026-01-28 12:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-shipping-labels-for-copiers-2-x-4-1-4-white-1000-box-5352>: HTTP status code is not handled or not allowed 2026-01-28 12:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-no-exit-no-hay-salida-bilingual>: HTTP status code is not handled or not allowed 2026-01-28 12:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-high-traffic-sorbent-mat>: HTTP status code is not handled or not allowed 2026-01-28 12:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-stic-xtra-precision-stick-ballpoint-pen-1mm-assorted-ink-barrel-60-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-digital-pistol-grip-inflator-gauge-w-kwik-grip-safety-chuck-255-psi-36in-hose-572d>: HTTP status code is not handled or not allowed 2026-01-28 12:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-a14487b-48w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers>: HTTP status code is not handled or not allowed 2026-01-28 12:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6010-2rs-double-sealed-50mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odorstop-ozone-generator-with-2-ozone-plates-and-uv>: HTTP status code is not handled or not allowed 2026-01-28 12:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tpi-18-high-velocity-air-circulator-w-yoke-mount-direct-drive-1-2-hp-120v-1-ph>: HTTP status code is not handled or not allowed 2026-01-28 12:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6007-open-35mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-pocket-verticle-literature-rack-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rodez-lightweight-hardside-luggage-spinner-28-red>: HTTP status code is not handled or not allowed 2026-01-28 12:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6006-2rs-double-sealed-30mm-bore-55mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/style-b-mat-stand-yellow-42-l-x-40-w-x-28-h-135lbs-7000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-pushbutton-e-lock-teal>: HTTP status code is not handled or not allowed 2026-01-28 12:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/093x2-5-16-hitch-pin-clip-zinc-09337PH>: HTTP status code is not handled or not allowed 2026-01-28 12:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-fixed-spreader-beam-yellow-100000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-emergency-crash-cart-6-drawers-36-3-4-w-x-22-l-x-43-3-4-h-hammertone-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-shop-desk-w-drawer-3-shelves>: HTTP status code is not handled or not allowed 2026-01-28 12:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-black-extra-plastic-forkli-able-tilt-truck-1-cu-yard>: HTTP status code is not handled or not allowed 2026-01-28 12:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-narrow-medical-cart-6-drawers-e-lock-24-3-4-wx22-lx43-3-4-h-hammertone-green>: HTTP status code is not handled or not allowed 2026-01-28 12:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/catheter-procedure-cart-2-casters-w-brakes-24l-x-60w-x-68h>: HTTP status code is not handled or not allowed 2026-01-28 12:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-dia-x-9-working-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-28 12:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6836m-open-180mm-bore-225mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmp5421mc-bk-fmpro-54-w-x-20-1-4-d-x-43-1-8-h-21-drawer-black-chest-roller-cabinet-combo>: HTTP status code is not handled or not allowed 2026-01-28 12:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-aluminum-tall-anesthesia-cart-key-lock-dark-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-tall-height-36-3-4-w-x-22-d-x-43-3-4-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chapin-60100-4-gallon-capacity-sanitizing-general-purpose-home-garden-backpack-sprayer>: HTTP status code is not handled or not allowed 2026-01-28 12:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-copper-tailpiec-kit-pressure-regulators-model-70-br4>: HTTP status code is not handled or not allowed 2026-01-28 12:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quad-column-medical-storage-cabinet-glass-doors-82-1-8-wx30-1-4-dx77-3-4-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 12:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-30-hydraulic-ergonomic-workbench-plastic-top>: HTTP status code is not handled or not allowed 2026-01-28 12:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-29-hydraulic-ergonomic-workbench-steel-top>: HTTP status code is not handled or not allowed 2026-01-28 12:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-riser-48-2>: HTTP status code is not handled or not allowed 2026-01-28 12:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6803-open-17mm-bore-26mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-72-economy-h-beam-adjustable-length-yellow-78-l-x-40-w-x-36-h-180lbs-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6209-2rs-double-sealed-45mm-bore-85mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-flammable-3-3>: HTTP status code is not handled or not allowed 2026-01-28 12:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 12:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-dia-x-10-bearing-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-28 12:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/depository-safe-rh13k-dual-key-lock-14-1-4w-x-8-1-4d-x-13h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-protection-hi-vis-terry-glove-latex-coated-41-1400-xl>: HTTP status code is not handled or not allowed 2026-01-28 12:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-toxic-6-1>: HTTP status code is not handled or not allowed 2026-01-28 12:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-explosives-1-3c-1-1>: HTTP status code is not handled or not allowed 2026-01-28 12:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-savary-dilator-drying-cart-hepa-filter-23-89-100-wx22-lx51-89-100-h-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/road-runner-ice-melt-blend-50-lb-bag-66700022>: HTTP status code is not handled or not allowed 2026-01-28 12:20:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/frameless_safety_glasses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6309zz-double-shielded-45mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6915-open-75mm-bore-105mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-x-8-working-length-j-hook-style-9>: HTTP status code is not handled or not allowed 2026-01-28 12:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-x-8-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-28 12:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3191-power-tool-tethering-kit-19661>: HTTP status code is not handled or not allowed 2026-01-28 12:20:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-feet-x-6-feet-heavy-duty-black-silver-tarp>: HTTP status code is not handled or not allowed 2026-01-28 12:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/frameless_safety_glasses>: HTTP status code is not handled or not allowed 2026-01-28 12:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62255-s363pb-class-2-zip-up-mesh-economy-vest-w-pockets-hi-vis-lime-w-black-bottom-4xl>: HTTP status code is not handled or not allowed 2026-01-28 12:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6211-2rsnr-double-sealed-wsnap-ring-55mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101708 pages (at 93 pages/min), scraped 50667 items (at 33 items/min) 2026-01-28 12:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-dia-x-14-working-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-28 12:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-tote-21-x-19-x-14-green-qty-100-plus>: HTTP status code is not handled or not allowed 2026-01-28 12:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-tote-21-x-19-x-14-red-qty-100-plus>: HTTP status code is not handled or not allowed 2026-01-28 12:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-dia-x-72-l-roll-lifting-beam-yellow-18-l-x-40-w-x-78-h-440lbs-10000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-28 12:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6211zz-double-shielded-55mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-non-flammable-gas-2-1>: HTTP status code is not handled or not allowed 2026-01-28 12:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-x-7-working-length-j-hook-style-9>: HTTP status code is not handled or not allowed 2026-01-28 12:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-platform-p1436n-36w-x-14d>: HTTP status code is not handled or not allowed 2026-01-28 12:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-roof-hatch-safety-railing-galvanized-36-x24-36-x30>: HTTP status code is not handled or not allowed 2026-01-28 12:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlocking-plastic-barricades-orange>: HTTP status code is not handled or not allowed 2026-01-28 12:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelf-platform-p2136b-36w-x-21d>: HTTP status code is not handled or not allowed 2026-01-28 12:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelf-platform-p1436b-36w-x-14d>: HTTP status code is not handled or not allowed 2026-01-28 12:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coolant-pump-for-jet-hbs-1321w-semi-auto-band-saws>: HTTP status code is not handled or not allowed 2026-01-28 12:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/selectone-signal-120vac-hazardous-location-gain-control-300gcx-120>: HTTP status code is not handled or not allowed 2026-01-28 12:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condensate-drain-pan-50-oz-capacity-120v-6oz-hr>: HTTP status code is not handled or not allowed 2026-01-28 12:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosive-placard-un-3264-removable-vinyl-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-isolation-cart-5-drawers-e-lock-30-w-x-22-l-x-37-1-4-h-hammertone-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-12-48vdc-green-lp6-012-048g>: HTTP status code is not handled or not allowed 2026-01-28 12:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-x-1-iglide-g300-polymer-flange-bearing>: HTTP status code is not handled or not allowed 2026-01-28 12:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p19rpp2ub-rack-panel19-2-ru-steelblack>: HTTP status code is not handled or not allowed 2026-01-28 12:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-arm-adaptor-fixed-height-or-gas-spring-flat-panel-monitor-arms-beige>: HTTP status code is not handled or not allowed 2026-01-28 12:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-x-1-iglide-g300-polymer-flange-bearing>: HTTP status code is not handled or not allowed 2026-01-28 12:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lhc233116-hinged-solid-doortype-4-230x310x155mm-steelltgray>: HTTP status code is not handled or not allowed 2026-01-28 12:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/def-transfer-pump-manual-auto-nozzle-antifreeze-hose-reel-manual-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 12:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-well-tissue-culture-plate-with-lid-individual-sterile-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 12:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-shipper-ata-case-919-wheeled-case-foam-filled-32l-x-25w-x-15h-silver>: HTTP status code is not handled or not allowed 2026-01-28 12:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-your-hands-before-entering-this-room-sticker-adhesive-backed-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 12:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-illinois-spanish>: HTTP status code is not handled or not allowed 2026-01-28 12:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-plastic-2-tray-black-shelf-service-utility-cart-44-x-25-1-2-5-rubber-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-center-drawer-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 12:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-on-floor-sign-respirator-required>: HTTP status code is not handled or not allowed 2026-01-28 12:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-on-floor-sign-safety-shoes-required>: HTTP status code is not handled or not allowed 2026-01-28 12:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-drylin-r-twin-bearing-block-with-polymer-liner>: HTTP status code is not handled or not allowed 2026-01-28 12:21:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150ml-bottle-top-filter-pes-filter-material-0-45-181-m-50mm-sterile-24-pk>: HTTP status code is not handled or not allowed 2026-01-28 12:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-wall-mount-shelf-with-1-5-lip-18-gauge-430-stainless-steel-24-x-12>: HTTP status code is not handled or not allowed 2026-01-28 12:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-of-the-line-supertrunk-foam-lined-847-2121-fl-23l-x-23w-x-23h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3l-fernbach-flask-vent-cap-baffled-bottom-polycarbonate-sterile-4-pk>: HTTP status code is not handled or not allowed 2026-01-28 12:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3-05-insert-for-hard-wood-brass-400-m3>: HTTP status code is not handled or not allowed 2026-01-28 12:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-sign-caution-hard-hat-area-construction-area>: HTTP status code is not handled or not allowed 2026-01-28 12:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs>: HTTP status code is not handled or not allowed 2026-01-28 12:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/278-expo-ii-telescoping-shipping-case-trade-show-case-50l-x-27-1-2w-x-10h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em3727f-condenser-fan-1-6-hp-1075-rpm-208-230v-totally-enclosed>: HTTP status code is not handled or not allowed 2026-01-28 12:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000ml-bottle-top-filter-pes-filter-material-0-45-181-m-90mm-sterile-24-pk>: HTTP status code is not handled or not allowed 2026-01-28 12:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-sign-caution-men-working-cuidado-hombres-trabajando>: HTTP status code is not handled or not allowed 2026-01-28 12:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-sign-caution-men-working-hazardous-area>: HTTP status code is not handled or not allowed 2026-01-28 12:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-tool-500-3>: HTTP status code is not handled or not allowed 2026-01-28 12:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerstud-wedge-expansion-anchor-sd1-38-x-234>: HTTP status code is not handled or not allowed 2026-01-28 12:21:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-horn-wiring-kit-with-horn-switch-hwk-1>: HTTP status code is not handled or not allowed 2026-01-28 12:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-arizona-spanish>: HTTP status code is not handled or not allowed 2026-01-28 12:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/more-thermoplastic-tape-6-width-x-9-ft-length-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 12:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-scratch-metallic-black-436717>: HTTP status code is not handled or not allowed 2026-01-28 12:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-machine-labels-danger-lock-out-equipment-before-servicing>: HTTP status code is not handled or not allowed 2026-01-28 12:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-danger-high-voltage>: HTTP status code is not handled or not allowed 2026-01-28 12:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-notice-aluminum-parking-permits-are-required-this-area>: HTTP status code is not handled or not allowed 2026-01-28 12:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmpsa4121mc-fmpro-all-stainless-41-x20-1-4-x66-3-4-21-drawer-chest-roller-cabinet-combo>: HTTP status code is not handled or not allowed 2026-01-28 12:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits>: HTTP status code is not handled or not allowed 2026-01-28 12:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-acting-pneumatic-actuator-321-in-lbs-80psi>: HTTP status code is not handled or not allowed 2026-01-28 12:21:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/grills/grills_smokers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signature-series-barrel-charcoal-grill-and-side-firebox>: HTTP status code is not handled or not allowed 2026-01-28 12:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101802 pages (at 94 pages/min), scraped 50702 items (at 35 items/min) 2026-01-28 12:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-lad-saf-300-ft-swaged-galv-steel-cable-3-8-dia-7-x-19-strands-6106300>: HTTP status code is not handled or not allowed 2026-01-28 12:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-1600-system-general-purpose-enamel-aerosol-safety-orange-12-ounce>: HTTP status code is not handled or not allowed 2026-01-28 12:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-large-charcoal-grill-cover>: HTTP status code is not handled or not allowed 2026-01-28 12:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wafer-style-butterfly-valve-w-viton-seals-and-10-position-handle>: HTTP status code is not handled or not allowed 2026-01-28 12:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-lad-saf-35-ft-swaged-galvanized-steel-cable-3-8-dia-1-7-strand-6104035>: HTTP status code is not handled or not allowed 2026-01-28 12:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-control-panel-for-nexel-model-243035>: HTTP status code is not handled or not allowed 2026-01-28 12:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-cantilever-rack-single-sided-starter-hd-48w-x38d-x-8h-no-lip>: HTTP status code is not handled or not allowed 2026-01-28 12:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-54-limit-switch-108-1-gear-ratio-w-4-contact-blocks>: HTTP status code is not handled or not allowed 2026-01-28 12:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac4m6sv-caster-kit-swivel-2-casterskit-3dia>: HTTP status code is not handled or not allowed 2026-01-28 12:22:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/grills/grills_smokers landed on page that is not a product page. 2026-01-28 12:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-machine-labels-danger-lockout-before-working-on-equipment>: HTTP status code is not handled or not allowed 2026-01-28 12:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-vinyl-first-aid>: HTTP status code is not handled or not allowed 2026-01-28 12:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-332-thick-x-1-14-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 12:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-ton-m30-pivot-swivel-load-ring>: HTTP status code is not handled or not allowed 2026-01-28 12:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-vinyl-biohazard-caution-biological-hazard>: HTTP status code is not handled or not allowed 2026-01-28 12:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-plan-standing-height-return-desk-48-w-x-24-d-x-40-h-gray-top-with-black-legs>: HTTP status code is not handled or not allowed 2026-01-28 12:22:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-pc-brass-npt-ball-valve-w-sr-pneumatic>: HTTP status code is not handled or not allowed 2026-01-28 12:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-white-polycombed-cotton-tall-48>: HTTP status code is not handled or not allowed 2026-01-28 12:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-2-pc-brass-npt-ball-valve-w-sr-pneumatic>: HTTP status code is not handled or not allowed 2026-01-28 12:22:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-button-front-lab-coat-white-polycotton-l>: HTTP status code is not handled or not allowed 2026-01-28 12:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-567-dn9-nipple-w-valve-2-4-25-l>: HTTP status code is not handled or not allowed 2026-01-28 12:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-3-way-l-port-brass-npt-ball-valve-w-sr-pneumatic>: HTTP status code is not handled or not allowed 2026-01-28 12:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-hoist-ring-180-pivot-11-000-lb-load-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-yellow-no-a1165ylw>: HTTP status code is not handled or not allowed 2026-01-28 12:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 12:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-ton-swivel-type-pintle-hook-bp225>: HTTP status code is not handled or not allowed 2026-01-28 12:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-position-2in-tubular-shank-adjustable-ball-mount-1803090>: HTTP status code is not handled or not allowed 2026-01-28 12:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-ton-swivel-type-pintle-hook-bp100a>: HTTP status code is not handled or not allowed 2026-01-28 12:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-652-portable-filter-regulator-air-treatment-system>: HTTP status code is not handled or not allowed 2026-01-28 12:22:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35in-class-4-trailer-safety-chain-w-1-clevis-style-slip-hook-43-proof-bsc3835>: HTTP status code is not handled or not allowed 2026-01-28 12:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x18x96-2>: HTTP status code is not handled or not allowed 2026-01-28 12:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-x-1316-metal-framing-channel-p4100t10pg-14-gage-slotted>: HTTP status code is not handled or not allowed 2026-01-28 12:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-light-14-flush-mount-twist-lock-w-alabaster-glass-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 12:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automotive-rackable-plastic-pallet-with-3-bottom-skids-48x45-2500-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-light-15-flush-mount-frosted-melon-glass-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 12:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-beam-clamp-p2676eg-electro-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 12:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-ton-heavy-duty-swivel-type-pintle-hook-bp760a>: HTTP status code is not handled or not allowed 2026-01-28 12:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-gripper-front-lab-coat-white-polycombed-cotton-2xl>: HTTP status code is not handled or not allowed 2026-01-28 12:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-tape-3-w-x-108-l-5-mil-solid-yellow-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 12:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-light-12-ceiling-fixture-square-floral-w-pull-chain-white>: HTTP status code is not handled or not allowed 2026-01-28 12:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-x-1-58-metal-framing-channel-p1000t10pg-12-gage-slotted>: HTTP status code is not handled or not allowed 2026-01-28 12:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballerina-2-light-18-vanity-w-alabaster-glass-bell-shades-old-bronze>: HTTP status code is not handled or not allowed 2026-01-28 12:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-plastic-bar-2-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 12:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-lab-coat-light-blue-polycombed-cotton-3xl>: HTTP status code is not handled or not allowed 2026-01-28 12:22:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3in-id-heavy-duty-forged-4-bolt-mount-drawbar-bdb1394>: HTTP status code is not handled or not allowed 2026-01-28 12:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kick-plate-made-from-040-pvc-sheet-12-x-48-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-12-hopper-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 12:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-96-rub-rail-040-thick-beige-desert>: HTTP status code is not handled or not allowed 2026-01-28 12:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18in-hitch-receiver-extension-1804007>: HTTP status code is not handled or not allowed 2026-01-28 12:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-stacking-arm-chair-desk-w-left-handed-tablet-navy-seat-back>: HTTP status code is not handled or not allowed 2026-01-28 12:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x36x74-chrome-wire-shelving-with-48-giant-stacking-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 12:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12ft-x-4ft-wire-mesh-pallet-rack-guard>: HTTP status code is not handled or not allowed 2026-01-28 12:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-mount-clip>: HTTP status code is not handled or not allowed 2026-01-28 12:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-16in-hitch-ball-gooseneck-extendor-3018195>: HTTP status code is not handled or not allowed 2026-01-28 12:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/composites/composite_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-bar-3-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 12:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-64-6-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/konnect-usb-phone-stand-24-case-white>: HTTP status code is not handled or not allowed 2026-01-28 12:22:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipmentcart-bumber-polar-white>: HTTP status code is not handled or not allowed 2026-01-28 12:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-long-sleeve-work-shirt-fluorescent-yellowgreen-tall-xl>: HTTP status code is not handled or not allowed 2026-01-28 12:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-lf-shackle-black-dial>: HTTP status code is not handled or not allowed 2026-01-28 12:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x36x74-chrome-wire-shelving-with-14-giant-stacking-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-2-12-thick-x-8-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 12:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gemini-valve-high-duty-cycle-s-s-ball-valve-double-acting-pneumatic-actuator-3-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 12:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-7hbw30-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 12:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magic-greener-tape-with-c38-dispenser-3-4-x-900-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-2-12-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 12:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101897 pages (at 95 pages/min), scraped 50729 items (at 27 items/min) 2026-01-28 12:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-1-14-thick-x-8-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 12:22:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-acrylic-plastic-sheet-14-thick-x-48-wide-x-60-long>: HTTP status code is not handled or not allowed 2026-01-28 12:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-rmx-50-65-pallet-trucks-pr-27626-01>: HTTP status code is not handled or not allowed 2026-01-28 12:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-hard-top-p2-no-drain>: HTTP status code is not handled or not allowed 2026-01-28 12:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballkissen-senso-cushion-13-diameter-red>: HTTP status code is not handled or not allowed 2026-01-28 12:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-2-12-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 12:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-utility-box-48l-x-31w-x-31-12h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:23:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 12:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x75-steel-shelving-with-14-giant-stacking-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 12:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pendell-oval-ball-31-regular-purple>: HTTP status code is not handled or not allowed 2026-01-28 12:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-adj-height-pallet-stand-with-handle-48-x-48-solid-deck>: HTTP status code is not handled or not allowed 2026-01-28 12:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-duty-mixer-3200-qts-cap-75-hp-13-impeller-dia-115v-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:23:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:23:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:23:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:23:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:23:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:23:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:23:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:23:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x75-steel-shelving-with-15-magnum-giant-hopper-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 12:23:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 12:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-plastic-bin-11-34l-x-7-34w-x-5h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:23:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets landed on page that is not a product page. 2026-01-28 12:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-3-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 12:23:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/black_epoxy_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:23:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15u-linier-swing-out-wall-mount-cabinet-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 12:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversible-return-for-br-500-series-handrail-eggshell>: HTTP status code is not handled or not allowed 2026-01-28 12:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-portable-eyewash-9-gallon-gravity-fed>: HTTP status code is not handled or not allowed 2026-01-28 12:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x74-chrome-shelving-with-13-magnum-giant-hopper-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 12:23:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets landed on page that is not a product page. 2026-01-28 12:23:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/black_epoxy_wire_shelves landed on page that is not a product page. 2026-01-28 12:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-plastic-sheet-18-thick-x-48-wide-x-72-long>: HTTP status code is not handled or not allowed 2026-01-28 12:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-frock-wtop-2-lower-outside-pockets-white-polycotton-twill-2xl>: HTTP status code is not handled or not allowed 2026-01-28 12:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-broiler-natural-gas-6-burners>: HTTP status code is not handled or not allowed 2026-01-28 12:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5307-double-row-angular-contact-bearing-open-35mm-bore-x-80mm-od-x-34-9mm-w>: HTTP status code is not handled or not allowed 2026-01-28 12:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/material-handling-basket-16l-x-10w-x-3-15-16h-0-5-wire-plain-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:23:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-6-step-serrated-cantilever-ladder-14-overhang>: HTTP status code is not handled or not allowed 2026-01-28 12:23:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-front-rear-fan-grille-global-24-outdoor-fans-292448-292450>: HTTP status code is not handled or not allowed 2026-01-28 12:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 101985 pages (at 88 pages/min), scraped 50783 items (at 54 items/min) 2026-01-28 12:23:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biohazard-specimen-transport-bag-8-x-10-zipper-document-pouch-tearzone-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-12-step-serrated-cantilever-ladder-35-overhang>: HTTP status code is not handled or not allowed 2026-01-28 12:24:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-8210-pallet-trucks-ra-312636-000-a>: HTTP status code is not handled or not allowed 2026-01-28 12:24:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 12:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-14-step-serrated-cantilever-ladder-35-overhang>: HTTP status code is not handled or not allowed 2026-01-28 12:24:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 12:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jayhawk-plastics-traditional-adirondack-side-table-white>: HTTP status code is not handled or not allowed 2026-01-28 12:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65-gallon-spill-kit-universal>: HTTP status code is not handled or not allowed 2026-01-28 12:24:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-responder-seriously-hazardous-toxic-kit-95-gallon-sump-capacity-wheeled>: HTTP status code is not handled or not allowed 2026-01-28 12:24:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/luggage-rack-w-convex-legs-mahogany-black>: HTTP status code is not handled or not allowed 2026-01-28 12:24:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spun-polyester-long-cook-shirt-black-spun-polyester-2xl>: HTTP status code is not handled or not allowed 2026-01-28 12:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-axle-for-w-40z-b218-45z-c215-pallet-trucks-hy-2046057>: HTTP status code is not handled or not allowed 2026-01-28 12:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spx621-electronic-portable-balance-with-lcd-display-620g-x-0-1g>: HTTP status code is not handled or not allowed 2026-01-28 12:24:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelbarrow-ladder-7-steps-aluminum-350-lb-capacity-14-d-top-step-24-w-step>: HTTP status code is not handled or not allowed 2026-01-28 12:24:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wpockets-light-blue-polyestercombed-cotton-xl>: HTTP status code is not handled or not allowed 2026-01-28 12:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-square-picnic-table-with-backrests-expanded-metal-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-grinders-buffer-333b-24c-2p-buffer>: HTTP status code is not handled or not allowed 2026-01-28 12:24:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 12:24:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21x24x34-chrome-wire-cart-with-4-6-h-grid-containers-red>: HTTP status code is not handled or not allowed 2026-01-28 12:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-hydraulic-mobile-scissor-lift-table-1750-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:24:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-7400-reach-pallet-trucks-ra-632-052-101-xl>: HTTP status code is not handled or not allowed 2026-01-28 12:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sample-tube-3ml-polypropylene-external-threads-ss-pg-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:24:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 12:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x60x74-chrome-wire-shelving-with-118-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:24:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-8-x-9-euro-fix-solid-container-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:24:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48w-x-13d-duron-shelf-maple>: HTTP status code is not handled or not allowed 2026-01-28 12:24:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands landed on page that is not a product page. 2026-01-28 12:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x60x74-chrome-wire-shelving-with-88-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 12:24:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear landed on page that is not a product page. 2026-01-28 12:24:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-register-stand-wslatwall-front-adj-rear-storage-48w-x-22d-x-42h-maple>: HTTP status code is not handled or not allowed 2026-01-28 12:24:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/bin_shelving/wire_bin_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear>: HTTP status code is not handled or not allowed 2026-01-28 12:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-full-brim-hard-hat-white-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 12:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-70ml-large-bulb-graduated-to-3ml-155mm-sterile-pp-cellophane-wrap-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:24:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-gard-protective-cap-front-brim-fas-trac-ratchet-navy-gray-475364>: HTTP status code is not handled or not allowed 2026-01-28 12:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-4-1-8x10-7-8x4-beige>: HTTP status code is not handled or not allowed 2026-01-28 12:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/bin_shelving/wire_bin_shelving>: HTTP status code is not handled or not allowed 2026-01-28 12:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbon-monoxide-co-low-25ppm-high-100ppm-msa-10092522>: HTTP status code is not handled or not allowed 2026-01-28 12:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102068 pages (at 83 pages/min), scraped 50825 items (at 42 items/min) 2026-01-28 12:24:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/rainwear landed on page that is not a product page. 2026-01-28 12:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfo-respirator-cartridges-organic-vapor-gma-p100-6-pk-815178>: HTTP status code is not handled or not allowed 2026-01-28 12:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-diamond-glass-25-x-75mm-charged-90-ground-edges-lilac-frosted-72-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:24:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-plastic-self-dumping-forkli-hopper-1-1-cu-yd>: HTTP status code is not handled or not allowed 2026-01-28 12:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10hp-1-phase-rotary-screw-air-compressor-no-tank>: HTTP status code is not handled or not allowed 2026-01-28 12:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d292-x-626-non-handed-200-series-deadbolt>: HTTP status code is not handled or not allowed 2026-01-28 12:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-17-slicker-yellow-overboot-w-strap-cleated-outsole-pvc-size-13>: HTTP status code is not handled or not allowed 2026-01-28 12:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorized-roll-up-bug-screen-door-with-11-oz-mesh-panels-12-x-12>: HTTP status code is not handled or not allowed 2026-01-28 12:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuff-n-lastic-rubber-runner-mat-1-8-thick-4-x-7-black>: HTTP status code is not handled or not allowed 2026-01-28 12:25:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-60-1-4w-x-43-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m24-x-3-0-x-80mm-steel-zinc-clear-class-8-8-din-931-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 12:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-nut-m8-x-1-0-steel-zinc-clear-class-8-8-din-934-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goodyear-diamond-plate-rubber-floor-mat-3-5mm-thick-3-x-6-black>: HTTP status code is not handled or not allowed 2026-01-28 12:25:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-full-brim-with-4-point-slide-lock-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 12:25:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacking-rack-units-42-w-x-30-d-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:25:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-10-garolite-sheet-14-thick-x-48-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 12:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 12:25:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-12-absorbent-socks-39-gallon-capacity-3-x-12-10-sockscase>: HTTP status code is not handled or not allowed 2026-01-28 12:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_locks_keys>: HTTP status code is not handled or not allowed 2026-01-28 12:25:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-full-height-36-w-cabinet-light-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 12:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-ii-glo-mega-full-brim-with-6-point-slide-lock-suspension>: HTTP status code is not handled or not allowed 2026-01-28 12:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-bench-high-36-w-cabinet-red-2>: HTTP status code is not handled or not allowed 2026-01-28 12:25:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 12:25:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/overboots_overshoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-crane-2000-lbs-capacity-10-span-12-height>: HTTP status code is not handled or not allowed 2026-01-28 12:25:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 12:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-28 12:25:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 12:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jdp-20evst-230-pdf-20-inch-evs-geared-head-drill-press-w-tapping-power-downfeed-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/overboots_overshoes>: HTTP status code is not handled or not allowed 2026-01-28 12:25:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=e-1440vs-with-taper-attachment-and-collet-closer already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mega-flat-panel-turntable-black>: HTTP status code is not handled or not allowed 2026-01-28 12:25:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/emergency_eyewash_stations_showers/portable_emergency_eyewash_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-4vs-mill-with-newall-dp700-dro-with-x-and-y-axis-powerfeeds-air-power-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-24-w-cabinet-everest-blue-4>: HTTP status code is not handled or not allowed 2026-01-28 12:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-30-w-cabinet-avalanche-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 12:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102155 pages (at 87 pages/min), scraped 50878 items (at 53 items/min) 2026-01-28 12:25:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=e-1440vs-with-taper-attachment-and-collet-closer landed on page that is not a product page. 2026-01-28 12:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quarter-dome-mirror-18-diameter>: HTTP status code is not handled or not allowed 2026-01-28 12:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jtm-4vs-mill-with-newall-dp700-dro-with-x-and-y-axis-powerfeeds-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 12:25:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/emergency_eyewash_stations_showers/portable_emergency_eyewash_stations landed on page that is not a product page. 2026-01-28 12:26:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-acu-rite-203-3x-q-dro-x-y-powerfeeds-air-power-drawbar already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drywall-door-prime-coat-with-screwdriver-latch-16-ga-dw6x6pc-sdl>: HTTP status code is not handled or not allowed 2026-01-28 12:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serological-pipette-2ml-polystyrene-open-end-270mm-sterile-green-pp-800-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:26:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-helmet-hsl100-4-1-2-x-5-1-4-black>: HTTP status code is not handled or not allowed 2026-01-28 12:26:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1254rvs-with-acu-rite-203-3x-q-dro-x-y-powerfeeds-air-power-drawbar landed on page that is not a product page. 2026-01-28 12:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254rvs-with-acu-rite-203-dro-x-powerfeed>: HTTP status code is not handled or not allowed 2026-01-28 12:26:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-camwear-perforated-spoon-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:26:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 12:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tong-8-angled-black>: HTTP status code is not handled or not allowed 2026-01-28 12:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-30-maple-square-edge-mobile-work-bench-adjustable-height-1-3-4-top>: HTTP status code is not handled or not allowed 2026-01-28 12:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bed-bug-911-3-oz-911-traveling-exterminator-bed-bug-spray-ext-1001>: HTTP status code is not handled or not allowed 2026-01-28 12:26:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-storage-cabinet-6-drawers-holds-up-to-4500-slides-metal-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-pan-8x30x2-white>: HTTP status code is not handled or not allowed 2026-01-28 12:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-mobile-dunnage-rack-30x24x8>: HTTP status code is not handled or not allowed 2026-01-28 12:26:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 12:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-tissue-paper-15-x-20>: HTTP status code is not handled or not allowed 2026-01-28 12:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/lathes>: HTTP status code is not handled or not allowed 2026-01-28 12:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2822-95-1-5-inch-cast-iron-self-priming-centrifugal-pump-buna-n-seal-1-5hp-odp-3-phase-motor>: HTTP status code is not handled or not allowed 2026-01-28 12:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1846-sb-9-1-x-1-4-standard-cut-cylindrical-bur-w-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 12:26:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-heavy-18-lb-tissue-paper-15-x-20>: HTTP status code is not handled or not allowed 2026-01-28 12:26:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:26:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-tray-1-liter-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-9-x-6-x-7->: HTTP status code is not handled or not allowed 2026-01-28 12:26:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-newall-dp700-knee-dro-servo-x-y-z-ax-pwrfds-usa-air-p-drw-br already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-commercial-duty-exhaust-fan-1-phase-3-4-hp>: HTTP status code is not handled or not allowed 2026-01-28 12:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs>: HTTP status code is not handled or not allowed 2026-01-28 12:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs>: HTTP status code is not handled or not allowed 2026-01-28 12:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines>: HTTP status code is not handled or not allowed 2026-01-28 12:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1849-sg-41-1-8-x-1-8-double-cut-pointed-tree-bur>: HTTP status code is not handled or not allowed 2026-01-28 12:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-air-conditioner-12-000-btu-cool-only-energy-star-115v>: HTTP status code is not handled or not allowed 2026-01-28 12:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/through-the-wall-air-conditioner-14-000-btu-cool-only-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:26:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=evs-949-mill-3-axis-newall-dp700-knee-dro-servo-x-y-z-ax-pwrfds-usa-air-p-drw-br landed on page that is not a product page. 2026-01-28 12:26:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/printers_scanners/printers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-120g-self-close-vertical-flammable-drum-cabinet-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-3-x-38>: HTTP status code is not handled or not allowed 2026-01-28 12:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-deluxe-literature-mailers-30-x-17-x-8->: HTTP status code is not handled or not allowed 2026-01-28 12:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1846-sb-11-1-8-x-1-4-standard-cut-cylindrical-bur-w-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 12:26:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/job_site_security_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-aluminum-rolling-ladder-16w-grip-tread-14d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 12:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102245 pages (at 90 pages/min), scraped 50930 items (at 52 items/min) 2026-01-28 12:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_machines/printers_scanners/printers>: HTTP status code is not handled or not allowed 2026-01-28 12:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-freezer-paper-sheets-40-lb-15-x-15>: HTTP status code is not handled or not allowed 2026-01-28 12:27:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-i-beam-mount-fan-24-diameter-1>: HTTP status code is not handled or not allowed 2026-01-28 12:27:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/job_site_security_trucks landed on page that is not a product page. 2026-01-28 12:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-tefc-aluminum-propeller-fan-w-low-stand-3-phase-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 12:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-14-compact-ball-valve>: HTTP status code is not handled or not allowed 2026-01-28 12:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machinery-skates-fixed-2-rollers-nylon>: HTTP status code is not handled or not allowed 2026-01-28 12:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-cross-over-ladder-91-l>: HTTP status code is not handled or not allowed 2026-01-28 12:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/points_burrs/burrs>: HTTP status code is not handled or not allowed 2026-01-28 12:27:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_wrenches_sockets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-series-41-titan-feed-screw>: HTTP status code is not handled or not allowed 2026-01-28 12:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-tray-4-liter-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/185l075-standard-timing-belt-l-3-4-x-18-1-2-t49-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 12:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-narrow-mouth-amber-polypropylene-bottle-attached-pp-screw-cap-4-liters-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 12:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/drum_handling_equipment/drum_wrenches_sockets>: HTTP status code is not handled or not allowed 2026-01-28 12:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/130l050-standard-timing-belt-l-1-2-x-13-t35-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 12:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrist-strap-and-footwear-combo-tester-with-footplate>: HTTP status code is not handled or not allowed 2026-01-28 12:27:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_service_tools_parts/installation_maintenance_tools_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-temperature-recorder-digital-f>: HTTP status code is not handled or not allowed 2026-01-28 12:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pharmacy-glass-door-5-2-cu-ft-refrigeratorsolid-door-4-cu-ft-capacity-freezer-40>: HTTP status code is not handled or not allowed 2026-01-28 12:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-extra-long-fork-pallet-truck-with-59-l-forks-273585-4400-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700h150-standard-timing-belt-h-1-1-2-x-70-t140-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 12:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/hvac_service_tools_parts/installation_maintenance_tools_parts>: HTTP status code is not handled or not allowed 2026-01-28 12:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-channel-beam-96-w-x-24-d-x-84-h-3-level-starter-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multiple-roll-stand-50-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-spunbond-hazmat-socks-15-case-8-x-3>: HTTP status code is not handled or not allowed 2026-01-28 12:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-column-wrap-hdpe-gray-6-diameter-x-60h>: HTTP status code is not handled or not allowed 2026-01-28 12:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifuge-tube-15ml-attached-red-screw-cap-acrylic-sterile-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:27:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs21hx1716-34-pitch-1-716-finished-bore-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:27:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/impact_wrenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:27:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/chemical_storage_buildings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-tank-hdpe-10-liter>: HTTP status code is not handled or not allowed 2026-01-28 12:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-6-1-2-condenser-fan-motor-460-575-208-230-volts-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cassette-biopsy-embedding-with-attached-lid-35-writing-area-white-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:27:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents landed on page that is not a product page. 2026-01-28 12:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102335 pages (at 90 pages/min), scraped 50988 items (at 58 items/min) 2026-01-28 12:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/air_tools_accessories/impact_wrenches>: HTTP status code is not handled or not allowed 2026-01-28 12:27:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/chemical_storage_buildings landed on page that is not a product page. 2026-01-28 12:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs25hx30-metric-34-pitch-30mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs15hx25-metric-1-pitch-25mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-20-x25-x4-wide-frame-electrostatic-air-filter-merv-8>: HTTP status code is not handled or not allowed 2026-01-28 12:28:06 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 12:28:07 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:51 2026-01-28 12:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-4-5-16-shaded-pole-motor-115-230-volts-1650-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:28:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-america-by-2-6-white-red-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs16hx78-38-pitch-78-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hold-for-inspection-3-5-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-28 12:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-double-sha-air-conditioner-motor-208-230-volts-1-4hp>: HTTP status code is not handled or not allowed 2026-01-28 12:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazard-class-1-14-explosive-b-4-4-orange-black>: HTTP status code is not handled or not allowed 2026-01-28 12:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 12:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-condenser-fan-motor-208-230-volts-825-rpm-2>: HTTP status code is not handled or not allowed 2026-01-28 12:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-bubble-bags-15-x-17-1-2-150-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-bags-7-x-11-1-2-400-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs12hx1316-1-pitch-1-316-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-gauge-25-foot-booster-cable-with-parrot-jaw-clamp>: HTTP status code is not handled or not allowed 2026-01-28 12:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-plastic-folding-picnic-table>: HTTP status code is not handled or not allowed 2026-01-28 12:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-tier-3-door-premium-steel-locker-12-w-x-15-d-x-72-h-black-assembled>: HTTP status code is not handled or not allowed 2026-01-28 12:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs30hx112-58-pitch-1-12-finished-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-1-2-l-tube-cleaning-brush-w-1-1-4-d-horse-hair-brush-stainless-steel-handle>: HTTP status code is not handled or not allowed 2026-01-28 12:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80a17hx34-a-plate-1-pitch-34-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-silver-ep-24w-x-36l-x-63h-4-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-28 12:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-tier-3-door-premium-steel-locker-12-w-x-12-d-x-24-h-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 12:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs25hx138-58-pitch-1-38-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-aluminum-camlock-fitting-male-coupler-x-mpt-thread>: HTTP status code is not handled or not allowed 2026-01-28 12:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frogtape-frogtape-performance-grade-high-temperature-masking-tape-pink-24mm-x-55m-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 12:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frogtape-performance-grade-moderate-temperature-masking-tape-gold-24mm-x-55m-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 12:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-hype-lite-safety-vest-w-black-side-lime-md>: HTTP status code is not handled or not allowed 2026-01-28 12:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs10hx1-1-14-pitch-1-finished-bore-10-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-reflective-plastic-barrier-chain-2-x-25-ft-safety-green>: HTTP status code is not handled or not allowed 2026-01-28 12:28:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/envelopes_mailers/poly_mailers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-ansi-onyx-two-tone-anti-snag-t-shirt-w-segment-tape-black-4xl>: HTTP status code is not handled or not allowed 2026-01-28 12:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60sk36-qd-bushed-34-pitch-36-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rack-starter-no-deck-120-inches-w-x-42-inches-d-x-120-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 12:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102431 pages (at 96 pages/min), scraped 51050 items (at 62 items/min) 2026-01-28 12:28:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/envelopes_mailers/poly_mailers landed on page that is not a product page. 2026-01-28 12:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-ansi-teflon-protection-heavy-weight-sweatshirt-w-segment-tape-lg>: HTTP status code is not handled or not allowed 2026-01-28 12:28:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/sneeze_guards_distancing_barriers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs34x112-1-pitch-1-12-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-piece-phillips-slotted-dual-material-screwdriver-set>: HTTP status code is not handled or not allowed 2026-01-28 12:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/defrost-kit-9-2-gal-white>: HTTP status code is not handled or not allowed 2026-01-28 12:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/sneeze_guards_distancing_barriers>: HTTP status code is not handled or not allowed 2026-01-28 12:29:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/air_guns_blow_guns_components already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printer-paper-3-rolls-34214>: HTTP status code is not handled or not allowed 2026-01-28 12:29:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/candy_gum already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:29:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-1838-1-2-hp-1-phase-1075-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-mobile-cabinet-48-wx24-dx37-1-2-h-light-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 12:29:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/training_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38000-series-kneespace-credenza-72-w-x-24-d-x-29-1-2-h-harvest>: HTTP status code is not handled or not allowed 2026-01-28 12:29:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/meals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/air_tools_accessories/air_guns_blow_guns_components>: HTTP status code is not handled or not allowed 2026-01-28 12:29:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-1838-1-2-hp-1-phase-1075-rpm landed on page that is not a product page. 2026-01-28 12:29:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/candy_gum landed on page that is not a product page. 2026-01-28 12:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-18-w-aluminum-wheelbarrow-ladder-ribbed-tread>: HTTP status code is not handled or not allowed 2026-01-28 12:29:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-431-1-hp-1-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:29:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/tables/training_tables landed on page that is not a product page. 2026-01-28 12:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24-w-aluminum-wheelbarrow-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-28 12:29:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/meals landed on page that is not a product page. 2026-01-28 12:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-16-w-stainless-steel-ladder-without-rails-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 12:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lindor-milk-chocolate-w-sea-salt-truffles-5-1-oz-3-pack-gr>: HTTP status code is not handled or not allowed 2026-01-28 12:29:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-431-1-hp-1-phase-3450-rpm landed on page that is not a product page. 2026-01-28 12:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jack-link-s-teriyaki-beef-steak-1-oz-12-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 12:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-harvest-nut-fruit-mix-2-25-oz-8-pack-gr>: HTTP status code is not handled or not allowed 2026-01-28 12:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atomic-20v-max-brushless-4-1-2-inch-cordless-circular-saw-kit-dcs571p1>: HTTP status code is not handled or not allowed 2026-01-28 12:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-forkli-hoist-bulk-bag-li-er-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-deep-mobile-pedestal-box-file-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 12:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-12v-max-brushless-cordless-drill-and-impact-driver-kit-dck221f2>: HTTP status code is not handled or not allowed 2026-01-28 12:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-h2t2bc-3-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-df-direct-fired-portable-heater>: HTTP status code is not handled or not allowed 2026-01-28 12:29:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-t32c2jcr-1-1-2-hp-1-phase-1725-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/juno-4-inch-led-switchable-retrofit-downlight-e-series-2700-5000k-wht>: HTTP status code is not handled or not allowed 2026-01-28 12:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-air-actuated-bottle-jack-20-ton>: HTTP status code is not handled or not allowed 2026-01-28 12:29:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-d14b3n9-1-4-hp-1-phase-1140-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-t32c2jcr-1-1-2-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ejm154b-1-1-2-hp-1-phase-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:29:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-dj20p1hp-20-hp-3-phase-3540-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d32p1g-1-5-hp-3-phase-3525-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:29:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-d14b3n9-1-4-hp-1-phase-1140-rpm landed on page that is not a product page. 2026-01-28 12:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102520 pages (at 89 pages/min), scraped 51107 items (at 57 items/min) 2026-01-28 12:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-h10p2d-10-hp-3-phase-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u2p1gc-2-hp-3-phase-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u2p3g-2-hp-3-phase-1175-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:30:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-dj20p1hp-20-hp-3-phase-3540-rpm landed on page that is not a product page. 2026-01-28 12:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-96-w-x-30-d-x-84-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-fd2ca1p14-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:30:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lau-double-inlet-blower-wheel-9-1-2-diameter-1-2-bore-5>: HTTP status code is not handled or not allowed 2026-01-28 12:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lau-double-inlet-blower-wheel-12-1-4-diameter-1-2-bore-9>: HTTP status code is not handled or not allowed 2026-01-28 12:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-fd34ca1pz-3-4-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:30:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-d10e3d-10-hp-3-phase-1180-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/connecting-s-hooks-2-inch-black-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:30:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d15e2g-15-hp-3-phase-1780-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:30:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-d2p2g-2-hp-3-phase-1740-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d3p3h-3-hp-3-phase-1175-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-12x12-6-mil-500-ctn>: HTTP status code is not handled or not allowed 2026-01-28 12:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-c32p1bc-1-5-hp-3-phase-3505-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:30:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-d10e3d-10-hp-3-phase-1180-rpm landed on page that is not a product page. 2026-01-28 12:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mattress-bags-78x9x90-3-mil-45-rl>: HTTP status code is not handled or not allowed 2026-01-28 12:30:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 12:30:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-c1p2b-1-hp-3-phase-1765-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-nut-fine-thread-zinc-assortment-104-piece>: HTTP status code is not handled or not allowed 2026-01-28 12:30:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=us-motor-d2p2g-2-hp-3-phase-1740-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan37-25-1-h-56c-cast-iron-helical-bevel-speed-reducer-56c-input-flange-25-1>: HTTP status code is not handled or not allowed 2026-01-28 12:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-6767-1-3-1-9-hp-1-phase-1725-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:30:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/standard_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 12:30:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-3340-3-4-hp-1-phase-1075-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:30:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-c1p2b-1-hp-3-phase-1765-rpm landed on page that is not a product page. 2026-01-28 12:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tool-balancer-1>: HTTP status code is not handled or not allowed 2026-01-28 12:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan87-70-1-h-184tc-cast-iron-helical-bevel-speed-reducer-184tc-input-flange-70-1>: HTTP status code is not handled or not allowed 2026-01-28 12:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/threaded-stem-so-tread-caster-50mm-dia-3-8-16-x-3-4-stem-black>: HTTP status code is not handled or not allowed 2026-01-28 12:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-deluxe-freestanding-office-partition-panel-with-partial-window-60-1-4-w-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-food-bars-serving-buffet-cold-food-72-x-29-low-kentucky-green>: HTTP status code is not handled or not allowed 2026-01-28 12:30:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 12:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-day-personal-protection-kit>: HTTP status code is not handled or not allowed 2026-01-28 12:30:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-3340-3-4-hp-1-phase-1075-rpm landed on page that is not a product page. 2026-01-28 12:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-w-standing-adjustable-height-pc-cart-oak>: HTTP status code is not handled or not allowed 2026-01-28 12:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locker-slope-top-st1236-202-kit-for-3-lockers-12-x-36-beige>: HTTP status code is not handled or not allowed 2026-01-28 12:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-30-industrial-ceiling-mount-fan-outdoor-rated-8400cfm-3-10hp>: HTTP status code is not handled or not allowed 2026-01-28 12:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-y-10mm-x-2-8mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 12:30:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/bathroom_accessories/grab_bars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-round-12-qt-14-7-8-diameter-x-8-3-8-high-natural-white-polyethylene-nsf>: HTTP status code is not handled or not allowed 2026-01-28 12:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102607 pages (at 87 pages/min), scraped 51158 items (at 51 items/min) 2026-01-28 12:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plugin-eq-run-tee-8mm-tube-x-8mm-tube-x-8mm-stud>: HTTP status code is not handled or not allowed 2026-01-28 12:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-adapter-10mm-straight-x-1-4-bspp>: HTTP status code is not handled or not allowed 2026-01-28 12:31:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/decor_linens/bathroom_accessories/grab_bars landed on page that is not a product page. 2026-01-28 12:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-metal-release-collet-12mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 12:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-elbow-4mm-tube-x-1-4-female>: HTTP status code is not handled or not allowed 2026-01-28 12:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/micrometer-setting-standard-6-inch-dia>: HTTP status code is not handled or not allowed 2026-01-28 12:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sidedshield-20-inch-reach-w-o-interlock-16-inch-l-x-14-inch-w-x-12-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 12:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shield-octagonal-w-o-handle-24-inch-reach-w-interlock-led-28-inch-l-x-10-inch-w-26-lb>: HTTP status code is not handled or not allowed 2026-01-28 12:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-bi-support-roll-stand-60-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 12:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-stainless-steel-nesting-turnbuckle-stainless-steel-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 12:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faosc-cabinet-w-o-meds-50-persons-large>: HTTP status code is not handled or not allowed 2026-01-28 12:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquasense-batt-pow-faucet-con-wire-thermo-mxg-valve>: HTTP status code is not handled or not allowed 2026-01-28 12:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gainesville-silver-lines-slab-door-wood-36w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 12:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tallahassee-glazed-light-slab-door-wood--glass-36w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 12:31:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/adirondack_lounger_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/largo-silver-lines-slab-door-wood-24w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 12:31:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-night-lines-slab-door-wood-32w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 12:31:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-night-lines-slab-door-wood-24w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 12:31:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 12:31:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_seating/adirondack_lounger_chairs landed on page that is not a product page. 2026-01-28 12:31:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 12:31:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 12:31:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premeasured-coffee-packs-pier-70-blend-2-1-oz-pack-of-72>: HTTP status code is not handled or not allowed 2026-01-28 12:31:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minis-salted-caramel-dark-chocolate-nut-dark-chocolate-almond-coconut-bar-pk-of-20>: HTTP status code is not handled or not allowed 2026-01-28 12:31:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mediumweight-wrapped-spork-polypropylene-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 12:31:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 12:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-coffee-filters-w-flat-bottom-10-gal-pack-of-250>: HTTP status code is not handled or not allowed 2026-01-28 12:31:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 12:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gen-standard-aluminum-foil-roll-500-l-x-12-w-silver>: HTTP status code is not handled or not allowed 2026-01-28 12:31:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 12:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors>: HTTP status code is not handled or not allowed 2026-01-28 12:31:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 12:31:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 12:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-compartment-serving-tray-white-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102690 pages (at 83 pages/min), scraped 51208 items (at 50 items/min) 2026-01-28 12:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-impact-cold-drink-cups-7-oz-polystyrene-translucent-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:31:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/renewable-compostable-hot-drink-cups-12-oz-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 12:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flood-light-bare-tool-24v>: HTTP status code is not handled or not allowed 2026-01-28 12:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-flat-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 12:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_cups>: HTTP status code is not handled or not allowed 2026-01-28 12:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-windbreaker-water-resistant-jacket-type-r-class-3-lime-5xl>: HTTP status code is not handled or not allowed 2026-01-28 12:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-wedge-wheelchair-cushion-20l-x-16w-x-4h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-adult-stethoscope-22l-tubing-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medical-alert-bracelet-engraved-w-diabetic-7-12l-silver-pack-of-120>: HTTP status code is not handled or not allowed 2026-01-28 12:32:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/grab_bars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-15-20-mmhg-thigh-high-medium-size-b-black>: HTTP status code is not handled or not allowed 2026-01-28 12:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathway-wheelchair-ramp-kit-l-shaped-aluminum-4-platform-22l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 12:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/platform-truck-w-2-fixed-shelves-1400-lb-cap-51-7-8l-x-18w-x-41h>: HTTP status code is not handled or not allowed 2026-01-28 12:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-panel-moving-truck-steel-3600-lb-cap-75-5-16l-x-30w-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 12:32:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/wheelchairs_physical_aids/grab_bars landed on page that is not a product page. 2026-01-28 12:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk2823-rebuild-kit-for-central-brass-shower-valves>: HTTP status code is not handled or not allowed 2026-01-28 12:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-rinse-assembly-bar-faucet-w-4-centers-and-wall-bracket>: HTTP status code is not handled or not allowed 2026-01-28 12:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-attachment-accessory-rack-22l-x-24w-x-49-12h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-touch-medicine-ball-3-lb>: HTTP status code is not handled or not allowed 2026-01-28 12:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-coventry-l-shaped-sectional-couch-99w-x-99d-x-35-3-4h-beige>: HTTP status code is not handled or not allowed 2026-01-28 12:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-3-door-wood-locker-36-w-x-15-d-x-72-h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 12:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-w-fixed-shelves-assembled-48w-x-24d-x-78h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:32:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-mobile-cabinet-assembled-48w-x-24d-x-78h-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-28 12:32:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wardrobe-cabinet-assembled-42w-x-24d-x-72h-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-28 12:32:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-75h-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-28 12:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryogenic-vials-storage-box-w-internally-threaded-caps-3-ml-capacity-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 12:32:46 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets landed on page that is not a product page. 2026-01-28 12:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryogenic-vials-storage-box-w-externally-threaded-caps-5-ml-capacity-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 12:32:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/footrests_ottomans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-vest-smmd-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 12:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-hype-lite-heavy-duty-vest-2xl3xl-purple>: HTTP status code is not handled or not allowed 2026-01-28 12:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-hype-lite-heavy-duty-vest-4xl5xl-purple>: HTTP status code is not handled or not allowed 2026-01-28 12:32:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/full_height_cabinet_w_drawers landed on page that is not a product page. 2026-01-28 12:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-waterproof-flame-resistant-winter-quilted-jacket-class-1-black-small>: HTTP status code is not handled or not allowed 2026-01-28 12:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handle-instrument-cart-w-flush-shelf-1200-lb-cap-42l-x-24w-x-38h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102782 pages (at 92 pages/min), scraped 51267 items (at 59 items/min) 2026-01-28 12:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-hi-2-reflective-strips-4-pockets-lime-size-3xl>: HTTP status code is not handled or not allowed 2026-01-28 12:32:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/counter_height_cabinets landed on page that is not a product page. 2026-01-28 12:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6705-evaporative-cooling-bandana-headband-polymers-hook--loop-skulls>: HTTP status code is not handled or not allowed 2026-01-28 12:32:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/footrests_ottomans landed on page that is not a product page. 2026-01-28 12:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3104fx-lanyard-w-carabiner-choke-loop-10-lb-capacity-orangegray>: HTTP status code is not handled or not allowed 2026-01-28 12:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7072-cut-resistant-gloves-nitrile-coated-ansi-a7-s-gray-12-pairs>: HTTP status code is not handled or not allowed 2026-01-28 12:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7022-cut-resistant-gloves-dsx-coated-ansi-a2-l-lime-144-pairs>: HTTP status code is not handled or not allowed 2026-01-28 12:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7071-cut-resistant-gloves-polyurethane-coated-ansi-a7-s-gray-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 12:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7030-cut-resistant-gloves-polyurethane-coated-ansi-a3-m-gray-12-pairs>: HTTP status code is not handled or not allowed 2026-01-28 12:33:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/general_purpose_work_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8967-lightweight-cap-style-hard-hat-class-e-orange>: HTTP status code is not handled or not allowed 2026-01-28 12:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-die-grinder-14-collet-25000-rpm-rear-exhaust-04-hp>: HTTP status code is not handled or not allowed 2026-01-28 12:33:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/air_hammers_percussion_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-6-door-digital-locker-12in-w-x-18in-d-x-78in-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 12:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/gloves_sleeves/general_purpose_work_gloves>: HTTP status code is not handled or not allowed 2026-01-28 12:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-temperature-controller-for-frm-1120c-frm-1120ld-hl-m1120ld-b-sealer>: HTTP status code is not handled or not allowed 2026-01-28 12:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-pad-for-kf-520h-kf-525h>: HTTP status code is not handled or not allowed 2026-01-28 12:33:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/air_tools_accessories/air_hammers_percussion_tools landed on page that is not a product page. 2026-01-28 12:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sds-max-demolition-hammer-w-vibration-control-13-amp-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-w-endcut-bur-double-cut-7l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 12:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bur-box-single-cut-sb1-sb3-sc1-sc3-sd1-sd3-sf1-sf3-set-of-8>: HTTP status code is not handled or not allowed 2026-01-28 12:33:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/oscillating_multi_tools/rotary_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-right-angle-drill-bare-tool-12v-38-chuck-size>: HTTP status code is not handled or not allowed 2026-01-28 12:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-commercial-round-bollard-outdoor-light-fixture-121622w-2800-lumens-bronze>: HTTP status code is not handled or not allowed 2026-01-28 12:33:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/vanity_bath_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b11-led-chandelier-light-bulb-candelabra-base-88w-800-lumens-4000k-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 12:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuberoller-w-10-rollers-230v-5060-hz-2-80-rpm>: HTTP status code is not handled or not allowed 2026-01-28 12:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/power_tools/oscillating_multi_tools/rotary_tools>: HTTP status code is not handled or not allowed 2026-01-28 12:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-boat-platform-truck-aluminum-8-casters-61l-x-18w-1200-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-personal-self-retracting-lifeline-w-aluminum-web-snap-hook-2038-lb-wt-72l>: HTTP status code is not handled or not allowed 2026-01-28 12:33:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/vanity_bath_lights landed on page that is not a product page. 2026-01-28 12:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hookit-film-disc-360l-p600-grit-5-dia-x-nh-pack-of-50000>: HTTP status code is not handled or not allowed 2026-01-28 12:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-add-on-48l-x-36w-x-84h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-24w-x-72h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marque-quad-unit-reception-curved-desk-workstation-142w-x-103d-x-45-12h-driftwood-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-graduated-globe-glass-class-b-to-deliver-td-dual-grads-astm-e1272-1000ml>: HTTP status code is not handled or not allowed 2026-01-28 12:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8957-lightweight-ranger-hat-bump-cap-insert-ml-black>: HTTP status code is not handled or not allowed 2026-01-28 12:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-odin-afas-safety-glasses-indooroutdoor-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-ytx14l-bsgel-12v-12ah-200cca-gel-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-loki-afas-safety-spoggles-w-strap-smoke-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-aluminum-ladder-roof-rack-for-ram-promaster-city-2014-on-black>: HTTP status code is not handled or not allowed 2026-01-28 12:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102876 pages (at 94 pages/min), scraped 51324 items (at 57 items/min) 2026-01-28 12:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hip-pack-w-guard-logo-first-aid-supply-pack-black-49-pieces>: HTTP status code is not handled or not allowed 2026-01-28 12:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p3-stackable-pallet-4-way-30000-lb-static-cap-48l-x-40w-black>: HTTP status code is not handled or not allowed 2026-01-28 12:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-battery-tester-for-aa-aaa-c-d-n-9v-1-5v-button-cells>: HTTP status code is not handled or not allowed 2026-01-28 12:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs14hx11516-1-14-pitch-1-1516-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-medic-professional-skin-conditioner-685-ml-refill-4-carton>: HTTP status code is not handled or not allowed 2026-01-28 12:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-wellington-work-boots-steel-toe-size-13m-10-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 12:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-skylar-work-zip-bootie-composite-toe-size-8-5m-4-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs72x118-12-pitch-1-18-finished-bore-72-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:34:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs25x1-1-pitch-1-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs25x112-1-pitch-1-12-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-high-top-sneaker-composite-toe-size-13w-black-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:34:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:34:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bair-hugger-warming-blanket-310-pediatric-60-inch-x-36-inch-10-cs>: HTTP status code is not handled or not allowed 2026-01-28 12:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 12:34:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs33x158-1-pitch-1-58-finished-bore-33-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:34:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 12:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 12:34:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c2605-bio-centrifuge-tubes-with-25-sterile-bag-50-ml-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:34:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 12:34:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-large-bulb-transfer-pipette-sterile-5-ml-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:34:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs38hx1316-38-pitch-1-316-finished-bore-38-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-rbc142-ups-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-120e23h-qd-bushed-1-12-pitch-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-w-steel-toe-and-internal-met-guard-size-11w-brown>: HTTP status code is not handled or not allowed 2026-01-28 12:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 12:34:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 12:34:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 12:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-2-x-3-2-mil-yellow-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-8-x-5-32-red-candy-stripe-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs13hx25-metric-34-pitch-25mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-9-x-5-32-red-candy-stripe-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sisal-twine-2-ply-360-lb-1460>: HTTP status code is not handled or not allowed 2026-01-28 12:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-tie-spool-5-32-x-7000-green->: HTTP status code is not handled or not allowed 2026-01-28 12:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-5m-black-seafoam-green-white>: HTTP status code is not handled or not allowed 2026-01-28 12:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs22hx30-metric-58-pitch-30mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:34:56 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 102970 pages (at 94 pages/min), scraped 51384 items (at 60 items/min) 2026-01-28 12:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severance-chatter-free-stop-countersink-cutter-82-1-2-30-pilot-hole>: HTTP status code is not handled or not allowed 2026-01-28 12:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-maxim7d-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3317-nanoflex-tr-athletic-work-shoes-composite-toe-size-8-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 12:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pencil-cap-erasers-f-standard-pencils-144-bx-pink>: HTTP status code is not handled or not allowed 2026-01-28 12:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-ut-12180-alarm-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al600ul3-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-9m-slate-blue-salmon>: HTTP status code is not handled or not allowed 2026-01-28 12:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-7-5w-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 12:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-black-1-inch-x-15-feet>: HTTP status code is not handled or not allowed 2026-01-28 12:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41bs13hx34-12-pitch-34-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 12:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-sp232-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-te10-lawn-and-garden-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:35:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deutz-1816-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-protector-312-x-3-opening-18h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-women-s-athletic-work-shoes-composite-toe-size-6m-black>: HTTP status code is not handled or not allowed 2026-01-28 12:35:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-softshell-high-bib-black-60f-comfort-rating-2xl>: HTTP status code is not handled or not allowed 2026-01-28 12:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-skate-inspired-work-shoes-composite-toe-size-5-5m-black-tower-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:35:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 12:35:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ds90-90cc-atv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-electric-air-compressor-l001120-230v-75hp-3ph-120-gal>: HTTP status code is not handled or not allowed 2026-01-28 12:35:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 12:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-lbc-gy-drawer-16w-x-14d-x-3h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:35:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_storage/food_storage_containers landed on page that is not a product page. 2026-01-28 12:35:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-20hl-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:35:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 12:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-5-5w-triple-black>: HTTP status code is not handled or not allowed 2026-01-28 12:35:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm-450-1600cc-motorcycle-replacement-battery-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:35:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/flange_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 12:35:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35-gal-steel-receptacle-w-single-opening-flat-top-silver-vein-35ftsvn>: HTTP status code is not handled or not allowed 2026-01-28 12:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/binders_covers/reports_covers>: HTTP status code is not handled or not allowed 2026-01-28 12:35:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 12:35:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 103059 pages (at 89 pages/min), scraped 51442 items (at 58 items/min) 2026-01-28 12:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/augusta-f4-750cc-motorcycle-replacement-battery-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:35:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors landed on page that is not a product page. 2026-01-28 12:35:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/flange_kits landed on page that is not a product page. 2026-01-28 12:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb4500-work-high-top-work-sneaker-composite-toe-size-6m-black-holographic-spectrum>: HTTP status code is not handled or not allowed 2026-01-28 12:35:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 12:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hcf-pacelite-735-electric-scooter-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_protectors>: HTTP status code is not handled or not allowed 2026-01-28 12:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwe30-9-364t-gp-tefc-rigid-3-ph-364t-389-fla>: HTTP status code is not handled or not allowed 2026-01-28 12:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-shin-guards-elastic-straps-polyethylene-plastic-black-12l-x-6-12w-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 12:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-dolly-for-85-gallon-drum-hard-rubber-wheels-900-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concealed-frame-access-panel-for-wallboard-and-lock-24l-x-24w>: HTTP status code is not handled or not allowed 2026-01-28 12:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-metal-access-panel-cam-lock-8l-x-8w>: HTTP status code is not handled or not allowed 2026-01-28 12:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-class-3-3-in-1-waterproof-bomber-jacket-w-fleece-lining-lime-black-4xl>: HTTP status code is not handled or not allowed 2026-01-28 12:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-super-grip-scraper-rubber-runner-mats-3-16-thick-x-4-x-6-black-traction-mat>: HTTP status code is not handled or not allowed 2026-01-28 12:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-in-desktop-partition-black>: HTTP status code is not handled or not allowed 2026-01-28 12:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vt6290-air-compressor-2hp-120vv-20-gal>: HTTP status code is not handled or not allowed 2026-01-28 12:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parks-medical-5l-doppler-medical-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-ss250-industrial-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adventurer-ax423-e-precision-balance-with-manual-calibration-420g-x-0-001g>: HTTP status code is not handled or not allowed 2026-01-28 12:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-side-base-for-locker-18w-x-15d-x-6h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-side-base-for-locker-18w-x-18d-x-6h-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-metal-shelving-6-shelves-800-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-style-deep-bin-shelving-8-shelves-add-on-unit-36w-x-96d-x-87h-bluegray>: HTTP status code is not handled or not allowed 2026-01-28 12:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-max-ml4-6-sealed-lead-acid-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-style-metal-shelving-sway-braces-6-shelves-48w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haze-hzs12-18f-sealed-lead-acid-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 103155 pages (at 96 pages/min), scraped 51512 items (at 70 items/min) 2026-01-28 12:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mt-lb-242700-24-x-27-flatbed-truck-tarp-lumber-tarp>: HTTP status code is not handled or not allowed 2026-01-28 12:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-in-x-14-in-steel-door-louver>: HTTP status code is not handled or not allowed 2026-01-28 12:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-in-stainless-steel-wall-exhaust-shutter>: HTTP status code is not handled or not allowed 2026-01-28 12:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-in-high-velocity-wall-exhaust-shutter>: HTTP status code is not handled or not allowed 2026-01-28 12:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geek-squad-1285va-12v-9ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-bellmans-luggage-cart-w-gray-carpet-8-wheels-titanium-gold>: HTTP status code is not handled or not allowed 2026-01-28 12:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-jobbers-length-drill-blank-metric-1-1mm>: HTTP status code is not handled or not allowed 2026-01-28 12:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imported-jobbers-length-drill-blank-number-55>: HTTP status code is not handled or not allowed 2026-01-28 12:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnh2-2460-6mr-ah-with-lower-shelf-24-x-60-adj-height>: HTTP status code is not handled or not allowed 2026-01-28 12:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-black-malleable-tee-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 12:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-rack-48-places-yellow-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-28 12:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al400ulacmj-alarm-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:37:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/galvanized_malleable_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stak-led-troffer-400050006000-lumens-350040005000k-121-516l-x-60-516w>: HTTP status code is not handled or not allowed 2026-01-28 12:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werker-wka12-5f2-sealed-lead-acid-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n206036-4-equipment-stands-4-shelf-shelving-unit-20w-x-60h-x-36l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 12:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-130-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/monaco-5-piece-outdoor-dining-set-four-swivel-rockers-and-round-table>: HTTP status code is not handled or not allowed 2026-01-28 12:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/43-dia-turntable-for-bishamon-lift3k-lift-tables-987248>: HTTP status code is not handled or not allowed 2026-01-28 12:37:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/galvanized_malleable_pipe_fittings landed on page that is not a product page. 2026-01-28 12:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60102rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-50mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60022rs-p53-deep-groove-ball-bearing-double-sealed-abec-5-15mm-bore-32mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p183-2ehd-s-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-105-12-id-sandblast-hose>: HTTP status code is not handled or not allowed 2026-01-28 12:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p320-mp3c-jrv-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shepard-meyra-248243-wheelchair-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p328-mp3f-u1-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-1-door-digital-wood-locker-12-w-x-15-d-x-72-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 12:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-cart-black-epoxy-24l-x-18w-x-40h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:37:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-24l-x-18w-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:37:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-216-16-hp-lawn-and-garden-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-36l-x-24w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-48l-x-24w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 103248 pages (at 93 pages/min), scraped 51573 items (at 61 items/min) 2026-01-28 12:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ariens-2248h-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/velocity-rollerball-retractable-gel-pen-07mm-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 12:37:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 12:38:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplicity-3110-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:38:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 12:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-airflow153-womens-long-sleeve-shirt-class-2-3xl-hi-vis-orangenavy>: HTTP status code is not handled or not allowed 2026-01-28 12:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-marker-oilbased-extra-fine-white-ink-1-each>: HTTP status code is not handled or not allowed 2026-01-28 12:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-15-series-3-x-6-twelve-t-slotted-extrusion-profile-120l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 12:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-berm-economy-model-30-mil-rpe-thickness-6l-x-6w-x-1h>: HTTP status code is not handled or not allowed 2026-01-28 12:38:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9681093-belt-disc-machine-wstand-9045-amps-6-x-48-belt-size-9-disc-dia>: HTTP status code is not handled or not allowed 2026-01-28 12:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils>: HTTP status code is not handled or not allowed 2026-01-28 12:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-no-bump-dump-hopper-steel-5-cu-yd-6000-lb-capacity-soda-red>: HTTP status code is not handled or not allowed 2026-01-28 12:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-ml-4-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-grade-hand-pump-ez-55blk-black-strap>: HTTP status code is not handled or not allowed 2026-01-28 12:38:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:38:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12-539-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:38:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 12:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-acting-hydraulic-cylinder-h2501-25-ton-1-stroke>: HTTP status code is not handled or not allowed 2026-01-28 12:38:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/steam_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-u128-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:38:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_visual_signal_combinations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conquest-20-articulated-extendable-ladder-fiberglass-3-type-iaa-375-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/underground-utility-access-ladder-w-swivel-feet-fiberglass-12-type-iaa-375-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-gc12800-12v-100ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfc-a-multi-function-cabinet-fire-alarm-accessory-enclosure>: HTTP status code is not handled or not allowed 2026-01-28 12:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/steam_cleaners>: HTTP status code is not handled or not allowed 2026-01-28 12:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-12v-12ah-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-incandescent-changer-lbc100-yellow-6pk>: HTTP status code is not handled or not allowed 2026-01-28 12:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/audible_visual_signal_combinations>: HTTP status code is not handled or not allowed 2026-01-28 12:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-dr504-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:38:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers landed on page that is not a product page. 2026-01-28 12:38:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens landed on page that is not a product page. 2026-01-28 12:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-1662-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mightylite153-step-ladder-w-ground-cue-4-type-iaa-2-step-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-elu-4x-emergency-light-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-front-rubber-squeegee-for-scrubber-641840-641841-641842>: HTTP status code is not handled or not allowed 2026-01-28 12:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-0-06-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-70930s-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-m10-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:38:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/conference_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grill-cover-james-madison-60l-x-21w-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 12:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsb-gb645-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parasystems-ps12260nb-12v-26ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-12jsm-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-double-cylinder-deadbolt-brushed-chrome>: HTTP status code is not handled or not allowed 2026-01-28 12:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 103344 pages (at 96 pages/min), scraped 51627 items (at 54 items/min) 2026-01-28 12:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/tables/conference_tables>: HTTP status code is not handled or not allowed 2026-01-28 12:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enersys-np106-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legal-three-ring-durable-binder-w-round-rings-1inch-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 12:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signature-series-10-drawer-mechanics-chest-26-18w-x-12-18d-x-11-34h-red>: HTTP status code is not handled or not allowed 2026-01-28 12:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4141-4-hole-tee-joining-plate>: HTTP status code is not handled or not allowed 2026-01-28 12:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6823-double-flange-linear-bearing>: HTTP status code is not handled or not allowed 2026-01-28 12:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prescolite-12-268-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-cart-w-beige-drawers-14-38l-x-18-18w-x-27-34h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puller-with-3-swiveling-jaws-25-ton-capacity-9-116-opening-7-12-adjustable-reach>: HTTP status code is not handled or not allowed 2026-01-28 12:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-production-workbench-with-drawer-upright-shelf-plastic-laminate-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:39:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/calipers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mongoose-al1020-electric-bicycle-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6533-highcycle-double-flange-linear-bearing-brake-kit-ready>: HTTP status code is not handled or not allowed 2026-01-28 12:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-n-carry-jnc1224-jump-starter-12v-18ah-jump-starter-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-raider-ride-on-toys-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp005s-10-ner-electric-hoist-push-trolley-12-ton-10-lift-29-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 12:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp003s-10-ner-electric-hoist-wpush-trolley-14-ton-10-lift-36-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:39:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3063-button-head-socket-cap-screw-58l>: HTTP status code is not handled or not allowed 2026-01-28 12:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-s741-electric-bicycle-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:39:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/measurement_layout_tools/calipers landed on page that is not a product page. 2026-01-28 12:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-back-in-or-pull-out-on-green-light-only-sign-plastic-24-x-12-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 12:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-kvf400-2x4-400cc-atv-replacement-battery-1998-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp005sd-20-ner-electric-hoist-push-trolley-12-ton-20-lift-295-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2190-deluxe-leveling-foot>: HTTP status code is not handled or not allowed 2026-01-28 12:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enter-w-left-arrow-traffic-sign-egp-reflective-aluminum-18-x-18-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 12:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3679-end-fastener-double-wing-clip>: HTTP status code is not handled or not allowed 2026-01-28 12:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1>: HTTP status code is not handled or not allowed 2026-01-28 12:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner001h-10-ner-electric-hoist-hook-suspension-18-ton-10-lift-55-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-quest-90cc-atv-replacement-battery-2002-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-thermostat-guard-with-clear-cover-mounting-plate-f29-0222>: HTTP status code is not handled or not allowed 2026-01-28 12:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp020l-15-ner-electric-chain-hoist-push-trolley-2-ton-15-lift-14-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 12:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycle-sign-label-adhesive-vinyl-7-x-10>: HTTP status code is not handled or not allowed 2026-01-28 12:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-cans-only-label-w-recycle-sign-aluminum-7-x-10>: HTTP status code is not handled or not allowed 2026-01-28 12:39:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/flashlights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-b2-150-150cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-only-label-w-recycle-sign-adhesive-vinyl-10-x-14>: HTTP status code is not handled or not allowed 2026-01-28 12:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kb-unit-heater-with-bracket-thermostat-125-kw-480v-1-or-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 12:39:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/cove_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/flashlights>: HTTP status code is not handled or not allowed 2026-01-28 12:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peugeot-rapido-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:39:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 103437 pages (at 93 pages/min), scraped 51684 items (at 57 items/min) 2026-01-28 12:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jenoptik-50-2t-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/cove_heaters>: HTTP status code is not handled or not allowed 2026-01-28 12:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loop-tape-individual-strips-with-adhesive-75l-x-2w-white>: HTTP status code is not handled or not allowed 2026-01-28 12:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snugboot-craftsman-mid-calf-boots-cleated-outsole-plain-toe-size-10-11-14h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:40:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/stationery already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-slatwall-panel-white-hpl-with-aluminum-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 12:40:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 12:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-48-slatwall-panel-gray-hpl-with-aluminum-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 12:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coil-memo-notebook-3-inch-x-5-inch-college-ruled-top-wirebound-white-60-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 12:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-knee-boots-safety-loc-outsole-steel-toe-size-11-15h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loop-tape-individual-dots-with-adhesive-38l-x-38w-black-pack-of-1800>: HTTP status code is not handled or not allowed 2026-01-28 12:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marquette-bp711-ems-blood-pressure-mon-medical-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g3f-standing-water-cooler-3-stage-filtration-system>: HTTP status code is not handled or not allowed 2026-01-28 12:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onestep-printable-toc-divider-printed-jan-to-dec-9x11-12-tabs-white-white>: HTTP status code is not handled or not allowed 2026-01-28 12:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-electric-blue-star-6000-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:40:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/stationery landed on page that is not a product page. 2026-01-28 12:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-friendly-index-divider-print-on-85x11-8-tabs-5-sets-white-white>: HTTP status code is not handled or not allowed 2026-01-28 12:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/decorol-flame-retardant-art-rolls-40-lb-36-x-1000-ft-sapphire-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-18d-x-74h-with-28-ssb463-stackable-shelf-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 12:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ph-meter-supplies-organizer-small-12w-x-12d-x-5h>: HTTP status code is not handled or not allowed 2026-01-28 12:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-conduit-locknut-carbon-steel-3-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optiway-technology-1600acv-22nf-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/950-0003-950-case-228l-x-183w-x-117h-orange>: HTTP status code is not handled or not allowed 2026-01-28 12:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yov-480-8-apprentice-series-utility-bench-vise>: HTTP status code is not handled or not allowed 2026-01-28 12:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc2500s-pf-fru3-barrier-free-freeze-resistant-pedestal-bi-level-fountain-w-pet-fountain>: HTTP status code is not handled or not allowed 2026-01-28 12:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rascal-little-rascal-320pc-320-pc-wheelchair-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-body-gasket-nitrile-2-size>: HTTP status code is not handled or not allowed 2026-01-28 12:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-dress-uniform-shirt-slu2-silver-gray-size-xxl-long>: HTTP status code is not handled or not allowed 2026-01-28 12:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-metro-power-3n-wheelchair-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-260le-candy-apple-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-thread-connector-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burke-mobility-scout-m-series-m2-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-clamp-w-34-hub-bronze-2-12-4-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:40:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pacesaver-scout-midi-drive-rf-np-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vest-style-harness-1113079-front-back-side-d-rings-m>: HTTP status code is not handled or not allowed 2026-01-28 12:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-95-61-150-sba-cable-cutters-bowden-6-oal>: HTTP status code is not handled or not allowed 2026-01-28 12:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-101-earth-ground-checker-with-led-indicator-lights-wrist-strap-jack>: HTTP status code is not handled or not allowed 2026-01-28 12:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-salvage-transport-overpack-drum-55-gallon-open-head-987379>: HTTP status code is not handled or not allowed 2026-01-28 12:40:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/head-machine-screw-kit-round-phillipsslotted-10-32-size-assorted>: HTTP status code is not handled or not allowed 2026-01-28 12:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-bnh012tuglp4-universal-ground-single-60mm-bore-95mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:40:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 12:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-7202cydup4-universal-ground-duplex-15mm-bore-35mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-and-square-flat-head-machine-screw-8-32-x-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-1000010033-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1003-standard-class-2-mesh-hook-loop-safety-vest-lime-large>: HTTP status code is not handled or not allowed 2026-01-28 12:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-m84001a5120100s-emergency-light-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 12:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leveling-foot-w-plastic-cap-3-4-10-x-393-inches-stud-315-inches-base-dia-485-inchesh-3370-lbs-cap-304-ss>: HTTP status code is not handled or not allowed 2026-01-28 12:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 103531 pages (at 94 pages/min), scraped 51731 items (at 47 items/min) 2026-01-28 12:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leveling-mount-w-lag-bolt-holes-5-8-11-x-4-inches-stud-315-inches-base-dia-5375-inchesh-5000-lbs-load-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennis-tutor-r-junior-tennis-ball-machine-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:40:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/conduit_fishing_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motion-madness-mallard-drake-looker-decoy-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:40:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:40:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/bookcases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/best-technologies-rmr-16-wp-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-combo-pan-head-carbon-steel-14-x-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-nga50601d2hsosa-emergency-light-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-604-600-series-instrument-tubing-bender-14-capacity-58-bend-radius>: HTTP status code is not handled or not allowed 2026-01-28 12:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48h-x-48w-slatwall-panelblack-laminate-with-aluminum-inserts-968343BI>: HTTP status code is not handled or not allowed 2026-01-28 12:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-grade-5-carbon-steel-38-16-x-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-combo-pan-head-carbon-steel-8-x-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48h-x-96w-slatwall-panelmaple-laminate-with-aluminum-inserts-968344MI>: HTTP status code is not handled or not allowed 2026-01-28 12:41:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/conduit_fishing_tools landed on page that is not a product page. 2026-01-28 12:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4bn85d-cast-iron-spoked-handwheel-wrevolving-handle-630-dia-x-500-bore>: HTTP status code is not handled or not allowed 2026-01-28 12:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/bookcases>: HTTP status code is not handled or not allowed 2026-01-28 12:41:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 12:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-halide-ballast-imh70dblsm-120-277v-70-watts>: HTTP status code is not handled or not allowed 2026-01-28 12:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-open-scissors-and-box-cutters-8l-straight-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:41:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-square-pan-head-carbon-steel-10-x-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs206401r-cast-iron-right-angle-worm-gear-reducer-401-ratio>: HTTP status code is not handled or not allowed 2026-01-28 12:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrbase154-cast-iron-hdr-series-mounting-base>: HTTP status code is not handled or not allowed 2026-01-28 12:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs237401l-cast-iron-right-angle-worm-gear-reducer-401-ratio>: HTTP status code is not handled or not allowed 2026-01-28 12:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/staplers_staples/staplers>: HTTP status code is not handled or not allowed 2026-01-28 12:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-wrist-bands-10-x-3-4-purple-100-bands-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bands-size-19-3-1-2-x-1-16-natural-1-4-lb-box>: HTTP status code is not handled or not allowed 2026-01-28 12:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-phillipsslotted-hex-washer-head-6-x-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-clip-id-card-reel-30-cord-black>: HTTP status code is not handled or not allowed 2026-01-28 12:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf32551r1824tc-cast-iron-right-angle-worm-gear-reducer-51-ratio-1824t-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-insulated-liquid-tight-connector-zinc-die-cast-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/through-hardened-flat-washer-steel-58-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-lag-screw-carbon-steel-38-x-3-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strain-relief-connector-steel-34-dia-red-grommet>: HTTP status code is not handled or not allowed 2026-01-28 12:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-rewinder-unwinder-for-opaque-labels-up-to-6w-x-13-dia-3-to-1-4-core-rolls>: HTTP status code is not handled or not allowed 2026-01-28 12:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-hooded-jacket-zipper-fluorescent-yellowgreenblack-2xl>: HTTP status code is not handled or not allowed 2026-01-28 12:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-washer-18-8-stainless-steel-38-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-rsv4-r-factory-1000cc-motorcycle-replacement-battery-2009-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-vtx1800c-f-n-r-retro-s-1800cc-motorcycle-replacement-battery-2002-2005-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-victory-v92tc-touring-cruiser-1507cc-motorcycle-battery-2002-2005-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-case-11-1-2l-x-9w-x-3-1-4h-smooth-silver>: HTTP status code is not handled or not allowed 2026-01-28 12:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-pdr2-portable-2-drum-rack-45-1-2-l-1600-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-stainless-steel-14-20-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-stainless-steel-38-16-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-vt600cd-shadow-deluxe-600cc-motorcycle-replacement-battery-1988-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-lag-screw-carbon-steel-14-x-5-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-quad-workstation-14-ft-5-in-w-x-14-ft-5-in-d-x-70-in-h>: HTTP status code is not handled or not allowed 2026-01-28 12:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-fat-bob-fxdf-1584cc-motorcycle-replacement-battery-2008-2011-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala174-exofit-x100-comfort-positioning-vest-safety-harness-backhip-d-ring-l>: HTTP status code is not handled or not allowed 2026-01-28 12:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 103623 pages (at 92 pages/min), scraped 51777 items (at 46 items/min) 2026-01-28 12:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lysol-all-purpose-cleaner-w-bleach-32oz-trigger-btl-12cs-rac78914ct>: HTTP status code is not handled or not allowed 2026-01-28 12:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-t-handle-tap-wrench-1-4-inch-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-edge-twin-leg-personal-self-retracting-lifeline-steel-rebar-lock-hook-8l>: HTTP status code is not handled or not allowed 2026-01-28 12:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jt1500-ultra-1500cc-personal-watercraft-battery-2007-2016-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22311exw33kc3-55mm-bore-120mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-chrome-wire-shelf-basket-60w-x-24d>: HTTP status code is not handled or not allowed 2026-01-28 12:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22312exw33v-60mm-bore-130mm-od-vibratory-application>: HTTP status code is not handled or not allowed 2026-01-28 12:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-square-partition-wall-divider-16w-x-6h-chrome>: HTTP status code is not handled or not allowed 2026-01-28 12:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pike-pole-10000-112-x-8-ash-handle-black>: HTTP status code is not handled or not allowed 2026-01-28 12:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/922cr-level-5-cut-resistant-nitriledipped-dir-gloves-gray-l-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 12:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8950-bump-cap-navy-micro-brim-one-size>: HTTP status code is not handled or not allowed 2026-01-28 12:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crib-saver153-cover-for-pinnacle-folding-compact-cribs-28l-x-13w-x-39h-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nj311eg-55mm-bore-120mm-od-high-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-all-purpose-utility-tub-stackable-polypropylene-26l-x-18w-x-6h-white>: HTTP status code is not handled or not allowed 2026-01-28 12:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-hybrid-close-double-door-45-gal-cap-45-1316w-x-24-716d-x-76-58h>: HTTP status code is not handled or not allowed 2026-01-28 12:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-quilt-lined-jacket-type-r-ansi-class-3-2xl-fluorescent-yellowgreenblack>: HTTP status code is not handled or not allowed 2026-01-28 12:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nj321myc3-105mm-bore-225mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-add-on-oak73-1842-5-42-inch-w-x-18-inch-d-x-73-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:42:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-xcaliberpower-mobility-scooter-replacement-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/left-side-view-mirror-for-global-industrial-utility-vehicle-615162>: HTTP status code is not handled or not allowed 2026-01-28 12:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-power-xb-610-electric-bike-electric-scooter-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-lead-free-brass-coupling-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 12:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-spitfire-scout-3-wheelsfscout3-mobility-scooter-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-travelersprint-mobility-scooter-replacement-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-starter-48w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:42:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories landed on page that is not a product page. 2026-01-28 12:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-lead-free-brass-45-degree-elbow-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 12:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-x-6-in-stainless-steel-pipe-nipple-16168-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 12:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-add-on-cat99-2448-8x-48-inch-w-x-24-inch-d-x-99-inch-h-8-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-gtv300-300cc-scooter-and-moped-replacement-battery-2007-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulse-em-1000-electric-dirt-bike-electric-scooter-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss6204zz-deep-groove-ball-bearing-stainless-steel-double-shielded-od-47mm-bore-20mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 12:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-legend-sc300-sc340-mobility-scooter-replacement-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-date-stamp-12-phrases-10-year-date-band-3-8-x-2-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-completed-1-5-8-x-1-2-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-30w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-skandic-tundra-269cc-snowmobile-replacement-battery-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-add-on-36w-x-36d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-24w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 12:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-mx-z-440x-racing-437cc-snowmobile-replacement-battery-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-60w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-4-x-3-x-2-200lb-test-ect-32-kraft-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-42w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-14-x-10-x-2-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/felt-stamp-pad-3-1-4-x-6-1-4-black>: HTTP status code is not handled or not allowed 2026-01-28 12:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-in-1-phrase-stamp-3-16-x-1-1-2-red>: HTTP status code is not handled or not allowed 2026-01-28 12:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-seal-reclosable-white-block-poly-bags-8-x-6-3-mil-clear-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-48w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 103720 pages (at 97 pages/min), scraped 51826 items (at 49 items/min) 2026-01-28 12:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-poppet-type-regulator-rv48-1-2-up-to-250000-btu>: HTTP status code is not handled or not allowed 2026-01-28 12:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-lever-acting-regulator-325-7a-1-1-2-up-to-1250000-btu>: HTTP status code is not handled or not allowed 2026-01-28 12:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-reclosable-poly-bags-4-x-2-x-6-2-mil-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-11-1-4-x-8-3-4-x-2-3-4-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-green-wire-shelving-unit-starter-48w-x-12d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 12:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-green-wire-shelving-unit-add-on-24w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 12:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-grand-touring-le-600-ho-600cc-snowmobile-battery-2014-2016-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-letters-casual-combo-set-black-4h-182-set>: HTTP status code is not handled or not allowed 2026-01-28 12:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-green-wire-shelving-unit-add-on-42w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-grand-touring-500-500cc-snowmobile-replacement-battery-1996-2001-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-400-drum-machine-w-bulb-auger-gloves-115v-60hz-1-3hp-autofeed-75-inch-l-x-1-2-inch-w-cable>: HTTP status code is not handled or not allowed 2026-01-28 12:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uvex-a700-half-frame-outdoor-safety-glasses-anti-scratch-gray-lens-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-pistol-grip-dispenser-sd-935-3-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-skandic-wt-550-fan-550cc-snowmobile-replacement-battery-2011-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-frame-with-drywall-afterset-steelcraft-hinge-location-right-hand-36w-x-84h>: HTTP status code is not handled or not allowed 2026-01-28 12:43:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/portable_generators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-961212720-six-tier-12-x-12-x-12-1-wide-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hollow-steel-door-36w-x-84h-with-24w-x-12h-louvers-mortise-prep-steelcraft-hinge>: HTTP status code is not handled or not allowed 2026-01-28 12:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-gsx-le-ace-900-899cc-snowmobile-replacement-battery-2014-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-louver-kit-galvannealed-steel-24w-x-24h>: HTTP status code is not handled or not allowed 2026-01-28 12:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdu800-1-2-hp-cast-iron-sump-pump>: HTTP status code is not handled or not allowed 2026-01-28 12:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/queuepro-250-retractable-belt-barrier-40-silver-post-11-blue-belt-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 12:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-811212601-single-tier-12-x-12-x-60-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:43:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/portable_generators landed on page that is not a product page. 2026-01-28 12:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-pantera-800-efi-esr-international-785cc-snowmobile-battery-2002-2003-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermocouple-product-simulator-52048-k>: HTTP status code is not handled or not allowed 2026-01-28 12:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-fx10mt-fx-nytro-mtx-1049cc-snowmobile-replacement-battery-2008-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-725-2-piece-large-port-ball-valve-carbon-steel-1-14-threaded>: HTTP status code is not handled or not allowed 2026-01-28 12:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floating-dock-hardware-fastener-kit-1-case-85-100-f>: HTTP status code is not handled or not allowed 2026-01-28 12:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-710-1-piece-conventional-port-ball-valve-stainless-steel-18-threaded>: HTTP status code is not handled or not allowed 2026-01-28 12:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daytona-extendable-5-piece-outdoor-dining-set-39-3-8-w-x-29-1-2-h-table-white>: HTTP status code is not handled or not allowed 2026-01-28 12:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-514pnl-lf-brass-sillcock-valve-12-f1960-pex>: HTTP status code is not handled or not allowed 2026-01-28 12:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-e564-286ttgn6537-30hp-230-460v-1800rpm-3ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 12:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y571-324thfpa8028-40hp-230-460v-1800rpm-3ph-324t-tefc>: HTTP status code is not handled or not allowed 2026-01-28 12:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4905-double-sided-vhb-acrylic-foam-tape-1-2-x-5-yds-20-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-710-1-piece-conventional-port-ball-valve-stainless-steel-38-threaded>: HTTP status code is not handled or not allowed 2026-01-28 12:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-burn-gel-packets-6-box>: HTTP status code is not handled or not allowed 2026-01-28 12:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-for-wku-2b-oven>: HTTP status code is not handled or not allowed 2026-01-28 12:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disaster-response-kit-with-s-t-a-t-tourniquet-b-orange>: HTTP status code is not handled or not allowed 2026-01-28 12:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-back-ups-back-ups-700-bp700uc-ups-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baxter-healthcare-rwat007mc2-medical-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cell-phone-locker-with-access-panel-19158-20arc-recessed-mounted-combo-locks-20-a-doors-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 12:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jeron-electronic-systems-fs-102a-medical-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rural-mailbox-4850blk-black>: HTTP status code is not handled or not allowed 2026-01-28 12:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-coupled-pump-motor-z434-75hp-230v-3600rpm-1ph-213jm-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 12:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schumacher-electric-pp-2200-jump-starter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-3000-1-piece-gas-ball-valve-forged-brass-12-flare-x-12-mnpt>: HTTP status code is not handled or not allowed 2026-01-28 12:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-e594-405ttgs6548-100hp-230-460v-1800rpm-3ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 12:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wx-explosion-proof-infrared-gas-catalytic-heater-5000-btu>: HTTP status code is not handled or not allowed 2026-01-28 12:43:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-motor-r379-90lt34fh5420-3-22hp-3600rpm-230-460v-3ph-90l-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 12:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haze-hzy-ev12-18-sealed-lead-acid-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-way-group-bw645-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 103819 pages (at 99 pages/min), scraped 51874 items (at 48 items/min) 2026-01-28 12:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-311-cast-iron-swing-check-valve-6-flanged>: HTTP status code is not handled or not allowed 2026-01-28 12:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-classic-wicking-birdseye-t-shirt-with-pocket-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 12:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_alarms_signals/forklift_alert_sensors_systems>: HTTP status code is not handled or not allowed 2026-01-28 12:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-hp12-22w-sealed-lead-acid-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fog-puck-small-drain-treatment-neem-blocks-8-oz-capacity-400carton>: HTTP status code is not handled or not allowed 2026-01-28 12:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60010016339-stikitgold-paper-disc-roll-216u-6dia-x-nh-p320-grit>: HTTP status code is not handled or not allowed 2026-01-28 12:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orange-traffic-cone-mount-retracting-belt-barrier-10-redwhite-diagonal-stripe-belt>: HTTP status code is not handled or not allowed 2026-01-28 12:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-floor-lock-with-polyurethane-foot-pad-fl-lkh-6-6-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesa-safe-25-ammo-can-safe-mgl36-as-e-with-electronic-lock-12-hour-fire-20l-x-20w-x-55h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wtc-2424-ll-dr-24w-x-24d-enclosed-table-with-drawer-and-butcher-block-top>: HTTP status code is not handled or not allowed 2026-01-28 12:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelon-blue-wire-shelving-unit-starter-54w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-pvc-ceiling-tile-75300-waterproof-washable-icon-coffer-2l-x-2w-white>: HTTP status code is not handled or not allowed 2026-01-28 12:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-cloth-inserted-sbr-70a-rubber-sheet-1-8-thick-36-wx-6-l-black>: HTTP status code is not handled or not allowed 2026-01-28 12:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-cloth-inserted-sbr-70a-rubber-sheet-1-16-thick-36-wx-14-l-black>: HTTP status code is not handled or not allowed 2026-01-28 12:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-kung-long-wp26-12-12v-26ah-wheelchair-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duracell-dura12-14f2-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/herbal-tea-moroccan-mint-single-cup-bags-18box>: HTTP status code is not handled or not allowed 2026-01-28 12:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duracell-dura12-18nb-sealed-lead-acid-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-bb-bp18-12-12v-18ah-wheelchair-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lc-pd1217p-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thirst-quencher-energy-drink-lemon-lime-24-oz-24carton>: HTTP status code is not handled or not allowed 2026-01-28 12:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-48w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-72w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5006-rubber-inset-grip-ratchet-lock-utility-knife-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/index-card-size-thermal-laminating-pouches-5-mil-5-3-8-x-3-3-4-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-new-nutron-r32-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automax-waste-bags-16-gal-20-gal-50-bx>: HTTP status code is not handled or not allowed 2026-01-28 12:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-gallon-2-door-self-close-under-fume-hood-cabinet-30w-x-21-5-8d-x-35-3-4h-silver>: HTTP status code is not handled or not allowed 2026-01-28 12:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-alarm-systems-ultratech-ut1240-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-sealing-laminating-pouches-125-mil-2-13-16-x-4-9-16-luggage-tag-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-long-flexible-faucet-extension-brass-for-use-with-model-08540>: HTTP status code is not handled or not allowed 2026-01-28 12:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-30w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-48w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nv-250-digital-night-vision-dual-monocular-camcorder>: HTTP status code is not handled or not allowed 2026-01-28 12:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31-gallon-2-door-self-close-fume-hood-acid-cabinet-48x21-5-8x35-3-4-lgt-neutral>: HTTP status code is not handled or not allowed 2026-01-28 12:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-255js-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-54w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-decor-litter-cont-w-grav-release-latch-60gal-grystone-860-a-gys>: HTTP status code is not handled or not allowed 2026-01-28 12:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-36w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-30w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-39005550-12-male-pipe-x-12-female-pipe-swivel>: HTTP status code is not handled or not allowed 2026-01-28 12:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aaa-robo-chair-seguay-3000-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-enclosure-adjustable-corner-post-6-h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-60w-x-36d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-folding-roller-container-shelf-truck-1-shelf-31x28x66-987539>: HTTP status code is not handled or not allowed 2026-01-28 12:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-outdoor-flexible-duct-20in-x-16ftl>: HTTP status code is not handled or not allowed 2026-01-28 12:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-add-on-30w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-174-slim-jim-174-1883613-plastic-step-on-container-front-step-18-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 12:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brundage-replacement-bearings-sealed-1-inch-shaft-dia>: HTTP status code is not handled or not allowed 2026-01-28 12:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-xcaliber-power-recliner-wheelchair-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-wing-condenser-fan-blade-interchangeable-hub-aluminum-ccw-24-inch-dia-33-pitch>: HTTP status code is not handled or not allowed 2026-01-28 12:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-9-1-2-inch-dia-cw-or-ccw-9-1-2-inch-w-1-inch-bore>: HTTP status code is not handled or not allowed 2026-01-28 12:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-shelf-divider-21>: HTTP status code is not handled or not allowed 2026-01-28 12:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheeled-backpack-14-x-8-x-21-black-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 12:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 103919 pages (at 100 pages/min), scraped 51920 items (at 46 items/min) 2026-01-28 12:44:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/bags_cases/backpacks_duffle_bags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/johnlite-jml-2138-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-wing-free-air-fan-blade-interchangeable-hub-aluminum-blade-cw-10-inch-dia-23-pitch>: HTTP status code is not handled or not allowed 2026-01-28 12:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-galvanized-steel-solid-shelving-unit-add-on-48w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 12:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-7-8-professional-stack-cutter-200-sheet-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:45:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-wing-free-air-fan-blade-interchangeable-hub-aluminum-blade-cw-24-inch-dia-27-pitch>: HTTP status code is not handled or not allowed 2026-01-28 12:45:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-poly-z-brite-wire-shelving-unit-starter-72w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:45:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-main-cart-for-psz-slm-portable-safety-zone>: HTTP status code is not handled or not allowed 2026-01-28 12:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-gs-portalc-pe4-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:45:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/bags_cases/backpacks_duffle_bags landed on page that is not a product page. 2026-01-28 12:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-fixed-hub-fan-blade-7-inch-dia-27-pitch-cw-1-4-inch-bore-1-1-2-inch-blade-depth-5-blade>: HTTP status code is not handled or not allowed 2026-01-28 12:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-4-inch-dia-cw-3600-rpm-1-4-inch-bore-1-1-32-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 12:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 12:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 12:45:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/compasses_protractors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-fixed-hub-fan-blade-5-1-2-inch-dia-27-pitch-cw-1-4-inch-bore-3-4-inch-blade-depth-4-blade>: HTTP status code is not handled or not allowed 2026-01-28 12:45:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 12:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-stainless-steel-solid-shelving-unit-add-on-36w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 12:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mt-1232-multimeter-digital>: HTTP status code is not handled or not allowed 2026-01-28 12:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2pcs-footplate-including-2-sets-of-hardware>: HTTP status code is not handled or not allowed 2026-01-28 12:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-60-in-w-x-24-in-d-x-84-in-h-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 12:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d500-homogenizer-package-ds-500-2-85020201>: HTTP status code is not handled or not allowed 2026-01-28 12:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/compasses_protractors>: HTTP status code is not handled or not allowed 2026-01-28 12:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-extra-strength-adhesive-labeling-tape-1w-black-on-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-fg424300bla-stock-tank-50-gallon-black-270077>: HTTP status code is not handled or not allowed 2026-01-28 12:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-model-4100-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-ilc872b2-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-m-series-tape-cartridge-1-2w-black-on-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-patio-heater-complete-wheel-set-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm56di-12v-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-flange-shelf-24-inch-l-x-42-inch-w-18-gauge-500-lb-capacity-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-divider-14-inch-h-x-18-inch-d-nut-and-bolt-only-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-72-in-w-x-30-in-d-x-96-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 12:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-headings-months-of-the-year-white-on-black>: HTTP status code is not handled or not allowed 2026-01-28 12:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-best-value-hopper-front-plastic-bulk-truck-43-cu-ft-987556BL>: HTTP status code is not handled or not allowed 2026-01-28 12:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-best-value-hopper-front-plastic-security-bulk-truck-43-cu-ft-987557GN>: HTTP status code is not handled or not allowed 2026-01-28 12:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-cascade-free-standing-7-pocket-magazine-rack-medium-oak>: HTTP status code is not handled or not allowed 2026-01-28 12:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-countertop-literature-display-with-business-card-pocket-medium-oak>: HTTP status code is not handled or not allowed 2026-01-28 12:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/york-wide-light-mx2e1-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wm-free-standing-10-pocket-legal-size-file-holder-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 12:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-bumper-guard-type-cc-164-1-12-1-12-white-60-6830-1>: HTTP status code is not handled or not allowed 2026-01-28 12:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-high-performance-floor-fan-3-speed-1400-cfm-18-hp-1-phase-115v>: HTTP status code is not handled or not allowed 2026-01-28 12:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ffbf280wx-energy-star-counter-depth-bottom-refrigerator-freezer-white-27-58w>: HTTP status code is not handled or not allowed 2026-01-28 12:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a306-1-1s-emergency-light-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-tnmg-432-c-5-and-c-6-carbide-insert>: HTTP status code is not handled or not allowed 2026-01-28 12:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ion-audio-explorer-outback-2-speaker-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-outlander-1000-efi-1000cc-atv-replacement-battery-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-filter-element-ab-ep10005-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 12:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-72inw-x-24ind-x-96inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 12:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104010 pages (at 91 pages/min), scraped 51964 items (at 44 items/min) 2026-01-28 12:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-3300-lb-96inwx48indx60inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 12:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-cylinder-33lb-vapor-510-0013-00-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:45:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/floor_machine_hardware_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-12ind-x-60inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 12:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-s44vrdkb-4sided-left-open-front-10l-x-10w-vented-standing-seam-roof-dk-brz>: HTTP status code is not handled or not allowed 2026-01-28 12:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-48in-w-x-24in-d-x-60in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 12:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-64fdkb-3sided-wopen-front-15l-x-10w-flat-roof-dk-bronze>: HTTP status code is not handled or not allowed 2026-01-28 12:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-18in-d-x-60in-h>: HTTP status code is not handled or not allowed 2026-01-28 12:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-heavy-duty-boltless-shelving-add-on-36in-w-x-18in-d-x-60in-h>: HTTP status code is not handled or not allowed 2026-01-28 12:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-case-ih-lil-tractor-trailer-ride-on-toys-battery-4-5ah-6v>: HTTP status code is not handled or not allowed 2026-01-28 12:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/floor_machine_hardware_parts>: HTTP status code is not handled or not allowed 2026-01-28 12:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-high-cap-boltless-shelving-starter-72-in-w-x-48-in-d-x-60-in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 12:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05a-toner-cartridge-ce505a-black>: HTTP status code is not handled or not allowed 2026-01-28 12:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-2-240est-single-unit-track-assembly-kit-2-tracks-240>: HTTP status code is not handled or not allowed 2026-01-28 12:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinshot-compatible-tennis-ball-machine-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 12:46:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd24-2-two-24-skates>: HTTP status code is not handled or not allowed 2026-01-28 12:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-box-of-25-tags-70-1186-ironguard-forkli-lock-out-guard-kit>: HTTP status code is not handled or not allowed 2026-01-28 12:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-scarabeo-500-motorcycle-replacement-battery-2004-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imported-universal-right-angle-irons-ground-finish-4-inch-x-4-inch-x-6-inch>: HTTP status code is not handled or not allowed 2026-01-28 12:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-tiger-900cc-motorcycle-replacement-battery-1999-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-machine-table-with-lower-shelf-48w-x-30d-x-24h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:46:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/acoustical_partition_panels landed on page that is not a product page. 2026-01-28 12:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/920-case-16-11-16l-x-13-3-8w-x-6-13-16h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-dog-ridgeback-1917cc-motorcycle-replacement-battery-2011-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2023-hdg-carbon-eyebolt-shoulder-pattern-3-8-16-1-1-4-shank-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 12:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2028-4-carbon-eyebolt-shoulder-pattern-3-4-10-4-shank>: HTTP status code is not handled or not allowed 2026-01-28 12:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-cooling-safety-t-shirt-long-sleeve-ansi-class-3-m-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironhorse-judge-1917cc-motorcycle-replacement-battery-2007-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-1551-sliding-door-tandem-roller-assembly-1-18-steel-bb>: HTTP status code is not handled or not allowed 2026-01-28 12:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-workbench-72-x-30-louvered-panel-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 12:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbon-f-t2265t2280-bk>: HTTP status code is not handled or not allowed 2026-01-28 12:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-workbench-60-x-36-adj-height-open-base-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 12:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-superglide-fxe-1200cc-motorcycle-battery-1974-1978-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-welded-workbench-60-x-30-adj-height-louvered-panel-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 12:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-hand-sink-1-station-with-metering-faucet-wall-mount-20l-x-19w-x-5d-sink>: HTTP status code is not handled or not allowed 2026-01-28 12:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shutter-for-12in-guard-mounted-exhaust-fan-ces-12g>: HTTP status code is not handled or not allowed 2026-01-28 12:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mxl-tmv7-7pl1-turbo-mixer-wplatform-head>: HTTP status code is not handled or not allowed 2026-01-28 12:46:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/vertical_hollow_shaft_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-flush-door-with-137-blue-bins-16-ga-all-welded-cabinet-48-w-x-24-d-x-78-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-deep-door-with-96-blue-bins-16-ga-all-welded-cabinet-36-w-x-24-d-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-v203-vertical-high-speed-50ml-tube-holder-3-tubes>: HTTP status code is not handled or not allowed 2026-01-28 12:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-rx200-dirt-rocket-electric-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 12:46:42 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 12:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-5008-class-3-hi-viz-moisture-wicking-birdeyes-short-sleeve-t-shirt-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-28 12:46:43 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:52 2026-01-28 12:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-36-x-24-louvered-panel--2-shelves-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 12:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/vertical_hollow_shaft_motors>: HTTP status code is not handled or not allowed 2026-01-28 12:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-2702-class-3-heavy-duty-safety-vest-orange-4xl>: HTTP status code is not handled or not allowed 2026-01-28 12:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teftec-beta-trac-mobility-scooter-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 12:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-stp-stl-safet-stair-slp-roll-lad-wt-actu-24-expan-stp-wa-sw93214x>: HTTP status code is not handled or not allowed 2026-01-28 12:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-cl1386ii-7dia-x-60h-white-w-no-tape>: HTTP status code is not handled or not allowed 2026-01-28 12:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104110 pages (at 100 pages/min), scraped 52016 items (at 52 items/min) 2026-01-28 12:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-lynx-sx-3p-mobility-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-1-inch-wide-steel-step-blocks-2-1-2-6-inch-size-range>: HTTP status code is not handled or not allowed 2026-01-28 12:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-velofax-50cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-dia-x-16-ga-galvanized-steel-replacement-roller-22-bf-w-7-16-hex-spring-retained-shaft>: HTTP status code is not handled or not allowed 2026-01-28 12:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-36w-x-36d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-power-xb-420m-electric-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 12:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-loop-fastener-78-buttons-78-hook-black>: HTTP status code is not handled or not allowed 2026-01-28 12:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2xhdsa42l-cantilever-rack-straight-arm-withlip-42-long>: HTTP status code is not handled or not allowed 2026-01-28 12:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/affordable-t-style-frame-4w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 12:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-30w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-iq-turbo-dragon-750cc-snowmobile-replacement-battery-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/du12130-cantilever-rack-double-sided-upright-130d-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 12:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-36w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gtx-600-limited-snowmobile-replacement-battery-2005-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-gsx-ltd-touring-600-ho-sdi-594cc-snowmobile-battery-2008-12v>: HTTP status code is not handled or not allowed 2026-01-28 12:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-channel-1-14-x-48l-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-mach-z-x-995cc-snowmobile-replacement-battery-2005-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secure-lok-label-holder-1-14l-x-3-12w-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gsx-800-ho-800cc-snowmobile-replacement-battery-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 12:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-60w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viking-clip-34-black>: HTTP status code is not handled or not allowed 2026-01-28 12:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-channel-3-x-48l-clear>: HTTP status code is not handled or not allowed 2026-01-28 12:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-54w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-42w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vttr5-3624-36-x-24-18-ga-stainless-workbench-with-5-riser-galvanized-base>: HTTP status code is not handled or not allowed 2026-01-28 12:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vttr5-9630-96-x-30-18-ga-stainless-workbench-with-5-riser-galvanized-base>: HTTP status code is not handled or not allowed 2026-01-28 12:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-42w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ba-fans-cool-space-tablets-12-count>: HTTP status code is not handled or not allowed 2026-01-28 12:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkliftable-order-picking-truck-48-x-24-3600-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-wheel-pipe-stake-truck-72x36-deck-size-polyurethane-casters-3600-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-heavy-duty-cart-w-vbottom-71l-x-39316w-5000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-adjustable-literature-organizer-12-compartment>: HTTP status code is not handled or not allowed 2026-01-28 12:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facil-flat-file-closed-base-medium>: HTTP status code is not handled or not allowed 2026-01-28 12:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b25-5l280-v-belt-5-8-x-28>: HTTP status code is not handled or not allowed 2026-01-28 12:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-z1175-hair-interceptor-1-1-2-slip-joint-elbow-inlet>: HTTP status code is not handled or not allowed 2026-01-28 12:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b200-v-belt-5-8-x-203>: HTTP status code is not handled or not allowed 2026-01-28 12:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-48w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8215ba-s-breakaway-mesh-hi-vis-safety-vest-class-2-economy-s-orange>: HTTP status code is not handled or not allowed 2026-01-28 12:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b160-v-belt-5-8-x-163>: HTTP status code is not handled or not allowed 2026-01-28 12:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14826p-vertical-oil-tank-accessory-kit-for-275-gal-oil-tank>: HTTP status code is not handled or not allowed 2026-01-28 12:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-30w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-54w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-c96-v-belt-7-8-x-100>: HTTP status code is not handled or not allowed 2026-01-28 12:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104206 pages (at 96 pages/min), scraped 52070 items (at 54 items/min) 2026-01-28 12:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-208-230-460-v-30-hp-3520-rpm-3-ph-284tsc-tefc>: HTTP status code is not handled or not allowed 2026-01-28 12:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-72w-x-18d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp83774t-5-3-ph-10-hp-575-v-1760-rpm-tefc-215t-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15445-glass-ramekin-15-oz-36-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoover-174-hepa-exhaust-filter-hushtone-ch54113-ch54115-ch54013-ch54015>: HTTP status code is not handled or not allowed 2026-01-28 12:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-42w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-best-value-wire-shelving-unit-48-w-x-18-d-x-74-h-400-lb-shelf-cap-black-epoxy>: HTTP status code is not handled or not allowed 2026-01-28 12:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3558t-5g-3-ph-2-hp-575-v-1800-rpm-tefc-145t-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-light-flashlight-w-dual-magnets-300-lumens-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-54w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:48:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_cabinets_pedestals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kilimanjaro-full-brim-hard-hat-hdpe-shell-4-pt-nylon-webbing-cradle-ratchet-adjustment-brown>: HTTP status code is not handled or not allowed 2026-01-28 12:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-42w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-60w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ken-forging-tbs-08-9-rh-turnbuckle-stub-3-4-10-x-11-carbon-right-hand>: HTTP status code is not handled or not allowed 2026-01-28 12:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mtr18-exe-k-retractable-awning-right-motor-18-w-x-11-16-h-x-10-d-black>: HTTP status code is not handled or not allowed 2026-01-28 12:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-30w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-master-inverter-drive-idvsnm3584t-5-15-hp-575-v-3-ph-1800-rpm-tenv-145tc>: HTTP status code is not handled or not allowed 2026-01-28 12:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-24wx24dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:48:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_cabinets_pedestals landed on page that is not a product page. 2026-01-28 12:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-idcswdm3554t-3-phase-15-hp-1760-rpm-230-460-volts-tenv-145tc-fr>: HTTP status code is not handled or not allowed 2026-01-28 12:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stromboli-cap-style-dome-hard-hat-abs-polycarbonate-shell-4-point-nylon-webbing-cradle-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-460-v-100-hp-3565-rpm-3-ph-405ts-tefc>: HTTP status code is not handled or not allowed 2026-01-28 12:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-ejmm3311t-g-3-phase-75-hp-230-460-volts-1800-rpm-60-hz-odp-213jm>: HTTP status code is not handled or not allowed 2026-01-28 12:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blood-collection-combi-block-12-x-13mm-8-x-16mm-blood-collection-tubes>: HTTP status code is not handled or not allowed 2026-01-28 12:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-explosion-proof-motor-cdx7150-15-hp-1750-rpm-xpfc-184c>: HTTP status code is not handled or not allowed 2026-01-28 12:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3558t-g-3-ph-2-hp-208-230-460-v-1755-rpm-tefc-145t-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-35-x-50-x-30mm>: HTTP status code is not handled or not allowed 2026-01-28 12:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-48wx14dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automotive-duty-motor-aem4314-4-3-ph-460-v-60-hp-1785-rpm-tefc-405u-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-36w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-48wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-60wx18dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-maple-butcher-block-safety-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-28 12:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intergral-tach-dc-motor-cdpt3605-5-hp-1750-rpm-tefc-1810atc-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-30wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-handling-motor-vebm3546t-5d-3-ph-1-hp-575-v-1760-rpm-tefc-143tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-ejmm3711t-g-3-ph-10-hp-208-230-460-volts-3600-rpm-60-hz-tefc-215jm>: HTTP status code is not handled or not allowed 2026-01-28 12:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-metric-motor-vp3575-14-15-hp-1750-rpm-tefc-d90c-frame>: HTTP status code is not handled or not allowed 2026-01-28 12:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-42wx21dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-telescoping-manual-high-lift-pallet-truck-3300-lbs-27-forks-987671>: HTTP status code is not handled or not allowed 2026-01-28 12:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evap-class-headwear-hi-vis-ranger-hat-w-cooling-towel-s-m-lime-12590>: HTTP status code is not handled or not allowed 2026-01-28 12:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-1-4-28-transfer-screw-set>: HTTP status code is not handled or not allowed 2026-01-28 12:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sided-mobile-maintenance-cart-st-2448-6py-lp-louvered-panel-3600-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-in-horsepwer-resistor-and-fuse-kit-br0050-005-ohms-25-amps>: HTTP status code is not handled or not allowed 2026-01-28 12:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-generator-electrically-isolated-encoder-enc00nv-e-acc-1024ppr->: HTTP status code is not handled or not allowed 2026-01-28 12:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-48w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-72w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-acting-aluminum-hydraulic-cylinder-100-ton-10-stroke>: HTTP status code is not handled or not allowed 2026-01-28 12:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knurled-screw-for-ed-f003>: HTTP status code is not handled or not allowed 2026-01-28 12:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ed-kr-698-knife-rack-with-short-skirt-open-base-10-slots-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-h23-4brz-metal-standing-seam-awning-4-8-w-x-3d-x-2h>: HTTP status code is not handled or not allowed 2026-01-28 12:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-h23-6brz-standing-seam-awning-6-8-w-x-3d-x-2h-bronze>: HTTP status code is not handled or not allowed 2026-01-28 12:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-nt22-3k-window-entry-awning-3-4-1-2-w-x-2d-x-2-7-h-black>: HTTP status code is not handled or not allowed 2026-01-28 12:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104308 pages (at 102 pages/min), scraped 52119 items (at 49 items/min) 2026-01-28 12:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-master-encoder-feedback-kit-k99g80-bei-hs35-tenv-180t-250t-5-28-vdc>: HTTP status code is not handled or not allowed 2026-01-28 12:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1215-x-1-1-4-1-1-4-x-19-1215-series-tapered-locking-steel-bushing-1-1-4-bore>: HTTP status code is not handled or not allowed 2026-01-28 12:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-48w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 12:49:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/circuit_tracers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sh-x-1-7-16-1-7-16-x-26-sh-series-quick-detach-steel-bushing-1-7-16-bore>: HTTP status code is not handled or not allowed 2026-01-28 12:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-wfp16scd-commercial-dicer-food-processor-4-quart>: HTTP status code is not handled or not allowed 2026-01-28 12:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-gallon-stonetec-174-72041699-square-receptacle-with-dome-lid-beige-w-sedona-panels>: HTTP status code is not handled or not allowed 2026-01-28 12:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-60w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 12:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-kraft-paper-dispenser-24-material-width>: HTTP status code is not handled or not allowed 2026-01-28 12:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-2l20l200l1000l-pipette-ovation-m-mechanical-starter-set-4-p>: HTTP status code is not handled or not allowed 2026-01-28 12:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-25l-low-retention-pipette-tips-ovation-vistarak-nonsterile-960-p>: HTTP status code is not handled or not allowed 2026-01-28 12:49:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/circuit_tracers landed on page that is not a product page. 2026-01-28 12:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-120l-pipette-mla-precision-silver>: HTTP status code is not handled or not allowed 2026-01-28 12:49:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/hvac_hardware_parts/hydronic_hardware_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-starter-144inw-x-42ind-x-120inh-5702-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-100ml-reagent-reservoir-bulk-sterile-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-mc360-11875-vhs-alternate-coupling-bore-size-11875-frame-364tp-or-365tp>: HTTP status code is not handled or not allowed 2026-01-28 12:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-paper-cups-world-art-16-oz-plant-based-resin-inner-lining-50-pack-green>: HTTP status code is not handled or not allowed 2026-01-28 12:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-paper-cups-world-art-8-oz-plant-based-resin-inner-lining-50-pack-maroon>: HTTP status code is not handled or not allowed 2026-01-28 12:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-cab-32-cap-big-beam-w-locking-panel-woodgrain-34-1-2w-x-17d-x-70-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 12:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-creamer-singles-sugar-free-french-vanilla-38-oz-50-box>: HTTP status code is not handled or not allowed 2026-01-28 12:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-cab-30-cap-w-locking-panel-woodgrain-34-1-2w-x-17d-x-55-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 12:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-cab-40-cap-w-locking-panel-light-gray-34-1-2w-x-17d-x-70-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 12:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6475-cold-storage-thermal-insulated-coverall-xs-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/hvac_hardware_parts/hydronic_hardware_parts>: HTTP status code is not handled or not allowed 2026-01-28 12:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-10ml-reagent-reservoir-individually-wrapped-sterile-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-75l-pipette-mla-dtipper-silver>: HTTP status code is not handled or not allowed 2026-01-28 12:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcm-400-standard-roller>: HTTP status code is not handled or not allowed 2026-01-28 12:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-cover-cov230-for-ultra-stack-and-hang-bin-qus230-price-per-each-12-per-carton>: HTTP status code is not handled or not allowed 2026-01-28 12:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-gallon-polyethylene-gas-can-red-15501>: HTTP status code is not handled or not allowed 2026-01-28 12:49:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/portable_generators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commute-extended-height-task-chair-low-back-22-14---32-14h-seat-red>: HTTP status code is not handled or not allowed 2026-01-28 12:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-topoge-series-180-manway-gasket-12-x-16-x-114-black-rubber-elliptical-5>: HTTP status code is not handled or not allowed 2026-01-28 12:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-maxxi-35-9-gal-wet-dry-vacuum-107409095>: HTTP status code is not handled or not allowed 2026-01-28 12:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-3-piece-h5105x12-7-8-inch-tube-od>: HTTP status code is not handled or not allowed 2026-01-28 12:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cep-6503gu-30a-u-ground-mini-power-center>: HTTP status code is not handled or not allowed 2026-01-28 12:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/generators_inverters_power_distribution_units/portable_generators>: HTTP status code is not handled or not allowed 2026-01-28 12:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-card-holder-for-conductive-divider-boxes-6-3-8lx1-1-3w>: HTTP status code is not handled or not allowed 2026-01-28 12:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-extra-shelf-for-stainless-steel-wire-utility-carts-36wx24d>: HTTP status code is not handled or not allowed 2026-01-28 12:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-nexus-self-adhesive-vinyl-floor-planks-6-x-36-hickory-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3scds-2716-screw-conveyor-shaft-2-716-fits-ultimate-shaft-mount-reducer-size-3->: HTTP status code is not handled or not allowed 2026-01-28 12:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wsmr5-151-shaft-mount-reducer-size-5-151-ratio-2-1516-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 12:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-retro-self-adhesive-vinyl-floor-tile-12-x-12-whiteblack-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:49:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/gearboxes_speed_reducers/shaft_mount_reducers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:49:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/gearboxes_speed_reducers/shaft_mount_reducers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgafb400-coalescing-filter-1-2-npt-0-01-microns-semi-auto-drain-poly-bowl>: HTTP status code is not handled or not allowed 2026-01-28 12:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smr5-151-shaft-mount-reducer-size-5-151-ratio-2-1516-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 12:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104401 pages (at 93 pages/min), scraped 52170 items (at 51 items/min) 2026-01-28 12:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frame-mount-reservoir-smr30vess-30-gallon-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:49:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/special_purpose_shelving/basket_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/briskheat-indoor-outdoor-drum-heaters-for-steel-drums-fits-55-gallon-drums-11-amps>: HTTP status code is not handled or not allowed 2026-01-28 12:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/gearboxes_speed_reducers/shaft_mount_reducers>: HTTP status code is not handled or not allowed 2026-01-28 12:50:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/gearboxes_speed_reducers/shaft_mount_reducers landed on page that is not a product page. 2026-01-28 12:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-next-stack-chair-with-casters-black>: HTTP status code is not handled or not allowed 2026-01-28 12:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-whiffle-typical-11-triple-48-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forged-welding-flange-fdf200-2-inch-forged-steel-3375-inch-od-2625-inch-pilot>: HTTP status code is not handled or not allowed 2026-01-28 12:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husky-pallet-rack-upright-frame-36x96-heavy-load>: HTTP status code is not handled or not allowed 2026-01-28 12:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-basket-69576x1-p-for-all-7028-7030-9200-nb-bassinets>: HTTP status code is not handled or not allowed 2026-01-28 12:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-mirella-5-shelf-bookshelf-whiteash>: HTTP status code is not handled or not allowed 2026-01-28 12:50:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/special_purpose_shelving/basket_shelving landed on page that is not a product page. 2026-01-28 12:50:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/half_frame_safety_glasses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-post-for-hallowell-rivetwell-double-rivet-shelving>: HTTP status code is not handled or not allowed 2026-01-28 12:50:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl67-2-1-182-4tc-helical-inline-speed-reducer-182-4tc-input-flange-2-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 12:50:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrically-operated-sectional-valves-hve334pb-3-way-3-way-4-way-pb>: HTTP status code is not handled or not allowed 2026-01-28 12:50:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-check-valve-hcv038-steel-check-valve-3-8-inch-npt>: HTTP status code is not handled or not allowed 2026-01-28 12:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/half_frame_safety_glasses>: HTTP status code is not handled or not allowed 2026-01-28 12:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-l-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-704b-heat-shrink-tape-4w-x-180l-9mil-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 12:50:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clark-foam-products-1001293-foam-sheet-200100-poly-charcoal-1x36x36>: HTTP status code is not handled or not allowed 2026-01-28 12:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-button-down-long-sleeve-work-shirt-2xl-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:50:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 12:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-chafe24-light-tack-tape-24w-x-600l-4mil-white>: HTTP status code is not handled or not allowed 2026-01-28 12:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-paper-bag-9469>: HTTP status code is not handled or not allowed 2026-01-28 12:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outside-micrometer-3203-2a-1-2-inch-range>: HTTP status code is not handled or not allowed 2026-01-28 12:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hickory-half-zip-pull-over-long-sleeve-shirt-m-tall-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:50:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multistand-ipad-2-white-shell-white-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:50:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/stands/computer_stands_carts/computer_workstations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-button-down-long-sleeve-work-shirt-s-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:50:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 12:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-accessory-slope-top-end-closure-21d-x-7h-725-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:50:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 12:50:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-38w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:50:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-189521>: HTTP status code is not handled or not allowed 2026-01-28 12:50:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_strips landed on page that is not a product page. 2026-01-28 12:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-side-truck-bx-matte-black-alum-15-2-cu-ft-cap-391-52-02>: HTTP status code is not handled or not allowed 2026-01-28 12:50:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_sheets landed on page that is not a product page. 2026-01-28 12:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 12:50:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-side-truck-bx-alum-15-2-cu-ft-cap-391-0-02>: HTTP status code is not handled or not allowed 2026-01-28 12:50:37 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/stands/computer_stands_carts/computer_workstations landed on page that is not a product page. 2026-01-28 12:50:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000-series-chair-2000-cb-esd-bl-esd-fabric-chrome-base-18-23h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:50:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72706tb5-6-mini-srd-twin-leg-carabiner-aluminum-rebar-hooks>: HTTP status code is not handled or not allowed 2026-01-28 12:50:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands landed on page that is not a product page. 2026-01-28 12:50:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/laptop_tablet_stands landed on page that is not a product page. 2026-01-28 12:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-7-dia-x-52h-grey-w-red-tape-7x52gyr>: HTTP status code is not handled or not allowed 2026-01-28 12:50:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:50:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-54x21x86-nexelon-finish-331785N>: HTTP status code is not handled or not allowed 2026-01-28 12:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-38w-x-36l-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-30w-x-33l-white>: HTTP status code is not handled or not allowed 2026-01-28 12:50:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-33l-black>: HTTP status code is not handled or not allowed 2026-01-28 12:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelf-18-x-60-S1860B>: HTTP status code is not handled or not allowed 2026-01-28 12:50:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5409700-72x24x68-4-shelf-truck>: HTTP status code is not handled or not allowed 2026-01-28 12:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104480 pages (at 79 pages/min), scraped 52194 items (at 24 items/min) 2026-01-28 12:50:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:50:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-31w-x-31l-green>: HTTP status code is not handled or not allowed 2026-01-28 12:51:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/absorbents>: HTTP status code is not handled or not allowed 2026-01-28 12:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl-x-hazardous-location-headlight-requires-4-aa-cells>: HTTP status code is not handled or not allowed 2026-01-28 12:51:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/58-0460-5-pc-slotphil-combo-set-w-fixed-esd-safe-long-handles-5-complete-drivers>: HTTP status code is not handled or not allowed 2026-01-28 12:51:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:51:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-single-wall-corrugated-box-15-x-9-x-8-200lb-test-ect-32-kraft-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-cardboard-corrugated-box-16-x-16-x-10-275-lb-ect-48-15-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:51:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-36w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-literature-mailers-9-x-8-x-2-200lb-test-ect-32-b-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-33w-x-33l-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:51:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-drive-dial-electronic-torque-wrench-200-2000-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 12:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-tcl02sf52-70mm-complete-light-stack-120v-led-gray-term-g-r>: HTTP status code is not handled or not allowed 2026-01-28 12:51:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:15 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-50w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:51:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/impact_sockets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-housekeeping-cart-with-under-deck-shelf-beige-2107-be>: HTTP status code is not handled or not allowed 2026-01-28 12:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-38w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 12:51:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chenille-stems-classpack-4mm-x-12-inchl-assorted-1000-box>: HTTP status code is not handled or not allowed 2026-01-28 12:51:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:51:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:51:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/sockets_bits/impact_sockets landed on page that is not a product page. 2026-01-28 12:51:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectra-artkraft-duo-finish-paper-48-inchw-x-200-footl-black>: HTTP status code is not handled or not allowed 2026-01-28 12:51:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-currency-band-sprbs100wk-blue-1000-box>: HTTP status code is not handled or not allowed 2026-01-28 12:51:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/positive-words-stinky-stickers-variety-pack-300-stickers-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:51:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:51:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-36w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:51:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ft-svga-vga-monitor-cable>: HTTP status code is not handled or not allowed 2026-01-28 12:51:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wypall-heavy-duty-waterless-cleaning-wipes-12-x-12-green-white-400carton-411-58310>: HTTP status code is not handled or not allowed 2026-01-28 12:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-wall-mounted-stainless-steel-waste-receptacle-17-gallon-304-nls>: HTTP status code is not handled or not allowed 2026-01-28 12:51:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/arts_crafts_supplies/craft_basics landed on page that is not a product page. 2026-01-28 12:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wypall-l30-wipers-10-x-9-45-white-120pop-up-box-10-boxescarton-kcc-03086>: HTTP status code is not handled or not allowed 2026-01-28 12:51:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-edge-buggy-wash-stand-for-dump-buggies>: HTTP status code is not handled or not allowed 2026-01-28 12:51:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-cabinet-with-8-drawers-1-shelves-36w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 12:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailer-helper-medium-steel-th>: HTTP status code is not handled or not allowed 2026-01-28 12:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150-gallon-single-wall-lube-oil-tank-system-g150n>: HTTP status code is not handled or not allowed 2026-01-28 12:51:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-33w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:51:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-7-foot-9-inch-long-x-3-4-inch-wide-10-14-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 12:51:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:51:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-13-foot-long-x-1-inch-wide-8-12-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 12:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104557 pages (at 77 pages/min), scraped 52221 items (at 27 items/min) 2026-01-28 12:51:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-28w-x-unhemmed-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/logistic-e-strap-2x8-w-cam-for-e-track>: HTTP status code is not handled or not allowed 2026-01-28 12:51:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:51:59 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24303-1-2-scalloped-utility-slicer-high-carbon-steel-stamped-5-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 12:52:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-34w-x-unhemmed-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:52:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-38w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 12:52:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:52:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r55i-tas-115-2301-rotary-screw-air-compressor-1-phase-230-volts-75hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-28 12:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-36w-x-34l-red>: HTTP status code is not handled or not allowed 2026-01-28 12:52:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-60-regular-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:52:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r11i-125-2303-rotary-screw-air-compressor-3-phase-230-volts-15hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-28 12:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xlerator-174-hand-dryer-white-epoxy-110-120v-xl-w-110>: HTTP status code is not handled or not allowed 2026-01-28 12:52:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-40w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-30w-x-30l-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:52:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pcm-218-b-plate-cylindrical-mount-2-l-x-2-w-x-2-1-8-h>: HTTP status code is not handled or not allowed 2026-01-28 12:52:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coverall-with-leg-zippers-54-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:52:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-a-103-seismic-spring-isolators-6-l-x-3-w-x-5-5-8-h>: HTTP status code is not handled or not allowed 2026-01-28 12:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a38k-v-belt-kevlar-1-2-x-40>: HTTP status code is not handled or not allowed 2026-01-28 12:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-60w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-58w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-28 12:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a25k-v-belt-kevlar-1-2-x-27>: HTTP status code is not handled or not allowed 2026-01-28 12:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b195k-v-belt-kevlar-5-8-x-198>: HTTP status code is not handled or not allowed 2026-01-28 12:52:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/th153-bumper-threshold-69709-72-inch-bronze>: HTTP status code is not handled or not allowed 2026-01-28 12:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:52:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b99k-v-belt-kevlar-5-8-x-102>: HTTP status code is not handled or not allowed 2026-01-28 12:52:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vp-300-antivibration-pad-waffle-design-150-300-psi-18x18x1-2>: HTTP status code is not handled or not allowed 2026-01-28 12:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-3-phillips-bugle-head-drywall-screw-steel-partial-thread-coarse-pkg-of-5-lbs>: HTTP status code is not handled or not allowed 2026-01-28 12:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-sheet-56032-12-inchl-x-12-inchw-x-28-ga>: HTTP status code is not handled or not allowed 2026-01-28 12:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-44w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:52:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/stanchion_posts_ground_poles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/build-your-own-berm-cement-build-your-own-berm-vinyl-cement-8-oz>: HTTP status code is not handled or not allowed 2026-01-28 12:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-32w-x-unhemmed-black>: HTTP status code is not handled or not allowed 2026-01-28 12:52:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallbase-dry-back-75598-48-inchl-x-2-1-2-inchw-black>: HTTP status code is not handled or not allowed 2026-01-28 12:52:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallbase-dry-back-75671-48-inchl-x-2-1-2-inchw-silver-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:52:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-36-inch-w-x-14-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 12:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-44w-x-32l-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/stanchion_posts_ground_poles>: HTTP status code is not handled or not allowed 2026-01-28 12:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-34w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 12:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-foods-roll-away-portable-outdoor-lp-gas-grill>: HTTP status code is not handled or not allowed 2026-01-28 12:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-50w-x-34l-tan>: HTTP status code is not handled or not allowed 2026-01-28 12:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:52:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-42-inch-w-x-18-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 12:52:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-46w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:52:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-50w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-28 12:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-54-inch-w-x-21-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 12:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104637 pages (at 80 pages/min), scraped 52246 items (at 25 items/min) 2026-01-28 12:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-34w-x-33l-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:52:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-satin-enamel-12-oz-aerosol-can-khaki-144945>: HTTP status code is not handled or not allowed 2026-01-28 12:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-ripstop-cargo-pants-48w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-30w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:53:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 12:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-direct-online-start-stop-100-250v-1-7-2-3a>: HTTP status code is not handled or not allowed 2026-01-28 12:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 12:53:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions landed on page that is not a product page. 2026-01-28 12:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-separate-coil-voltage-reset-button-250-500v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 12:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-24w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manitowoc-ice-ir-0520a-indigo-series-ice-maker-cube-style-air-cooled-self-contained-condenser>: HTTP status code is not handled or not allowed 2026-01-28 12:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-air-mover-4-positions-3-speeds-1-hp-p-830>: HTTP status code is not handled or not allowed 2026-01-28 12:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-bulkhead-mid-high-roof-benz-sprinter-96121-3-01>: HTTP status code is not handled or not allowed 2026-01-28 12:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-12w-x-36d-x-75h-with-21-8h-plastic-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 12:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-plastic-shelf-bin-11-1-8w-x-11-5-8d-x-8h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-9-bin-set-for-van-shelv-red-9854-7-01>: HTTP status code is not handled or not allowed 2026-01-28 12:53:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_storage_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:53:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/calculators/display_calculators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:53:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_storage_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-mech-van-pack-mid-roof-ford-trans-130-wb-600-8213r>: HTTP status code is not handled or not allowed 2026-01-28 12:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-shopping-basket-cart-2-standard-shopping-baskets-good-l-corp-174>: HTTP status code is not handled or not allowed 2026-01-28 12:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-1652-2rs-sealed-light-duty-1125-inch-bore-25-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 12:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-reset-button-24-60v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 12:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_machines/calculators/display_calculators>: HTTP status code is not handled or not allowed 2026-01-28 12:53:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-outdoor-metal-slatted-trash-receptacle-with-dome-lid-36-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 12:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6206-open-medium-duty-30mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 12:53:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/socket_screws/socket_head_cap_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:53:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/662158-machine-screw-m6-x-1-00-x-16mm-pan-head-phillips-drive-steel-zinc-pkg-of-200>: HTTP status code is not handled or not allowed 2026-01-28 12:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/532082-socket-cap-screw-m6-x-1-00-x-25mm-steel-black-oxide-gr-12-9-ft-unc-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-direct-online-start-stop-100-250v-24-29a>: HTTP status code is not handled or not allowed 2026-01-28 12:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment>: HTTP status code is not handled or not allowed 2026-01-28 12:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m452g-security-sign-no-firearms-or-weapons-allowed-on-this-property-18-x-12-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 12:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/302050-tee-nut-1-4-20-x-5-16-3-prong-steel-zinc-pkg-of-250>: HTTP status code is not handled or not allowed 2026-01-28 12:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment>: HTTP status code is not handled or not allowed 2026-01-28 12:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-1ph-direct-online-start-stop-100-250v-20-24a>: HTTP status code is not handled or not allowed 2026-01-28 12:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s52r-warning-sign-biohazard-7-x-7-whitegreen>: HTTP status code is not handled or not allowed 2026-01-28 12:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e47c-ss-extension-spring-437-od-x-0475-wire-dia-35-oal-191-lbs-in-302-ss>: HTTP status code is not handled or not allowed 2026-01-28 12:53:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/screws/socket_screws/socket_head_cap_screws landed on page that is not a product page. 2026-01-28 12:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v18c-ss-extension-spring-96-od-x-1205-wire-dia-x-6-oal-1237-lbs-in-302-ss>: HTTP status code is not handled or not allowed 2026-01-28 12:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v40c-ss-extension-spring-5-od-x-0625-wire-dia-x-8-oal-205-lbs-in-302-ss>: HTTP status code is not handled or not allowed 2026-01-28 12:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-separate-coil-voltage-start-stop-250-500v-44-53a>: HTTP status code is not handled or not allowed 2026-01-28 12:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-018-od-x-0022-x-025-stainless-steel-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 12:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-072-od-x-0072-x-2-17391-lbsin-rate-stainless-steel-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 12:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-042-od-x-0055-x-1-44-lbsin-rate-music-wire-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 12:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compression-spring-0554-od-x-00625-wd-x-1-oal-3078-lbsin-rate-mbhd-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 12:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-remote-start-terminals-reset-button-250-500v-22-28a>: HTTP status code is not handled or not allowed 2026-01-28 12:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-1ph-separate-coil-voltage-start-stop-100-250v-44-53a>: HTTP status code is not handled or not allowed 2026-01-28 12:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-03-od-x-0038-x-0812-music-wire-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 12:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-1ph-remote-start-start-stop-24-60v-44-53a>: HTTP status code is not handled or not allowed 2026-01-28 12:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-3ph-reset-button-24-60v-36-47a>: HTTP status code is not handled or not allowed 2026-01-28 12:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104727 pages (at 90 pages/min), scraped 52287 items (at 41 items/min) 2026-01-28 12:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/200-mil-static-dissipative-trash-can-liner-10-gallon-black-pkg-qty-50-37820>: HTTP status code is not handled or not allowed 2026-01-28 12:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpt157-tags-blank-6-x-3-red-25pk>: HTTP status code is not handled or not allowed 2026-01-28 12:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-resin-fiber-disc-149140-ceramic-5-x-7-8-24-grit>: HTTP status code is not handled or not allowed 2026-01-28 12:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-separate-coil-voltage-start-stop-250-500v-75-87a>: HTTP status code is not handled or not allowed 2026-01-28 12:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-133660-silicon-carbide-2-x-72-220-grit>: HTTP status code is not handled or not allowed 2026-01-28 12:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phalaenopsis-silk-orchid-flower-arrangement-mauve>: HTTP status code is not handled or not allowed 2026-01-28 12:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-283308-ceramic-3-4-x-20-1-2-50-grit>: HTTP status code is not handled or not allowed 2026-01-28 12:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loaded-gear-hd-10-hard-case-watertight-crushproof-w-wrist-strap-8-7-8x1-3-8x10-11-16>: HTTP status code is not handled or not allowed 2026-01-28 12:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-td-300-drying-unit-115-v-1100w-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonic-select-40-extra-powerful-ultrasonic-cleaner-with-heater-timer-5-modes-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 12:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tec-clean-a4-universal-ultrasonic-degreaser-13-4-ph-2-5-l>: HTTP status code is not handled or not allowed 2026-01-28 12:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-inpass-1-1-2-inch-npt-coalescing-filter-364-cfm-8-000-hr-0-01-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 12:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/agent-single-wire-surveillance-kit-motorola-blackbox-hyt-relm-tekk-radios>: HTTP status code is not handled or not allowed 2026-01-28 12:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-foot-ultra-parking-block-with-cable-protection-and-hardware-white-ultra3672pbw>: HTTP status code is not handled or not allowed 2026-01-28 12:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-retardant-flexible-duct-32-12-diameter-fan>: HTTP status code is not handled or not allowed 2026-01-28 12:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-polypropylene-tagging-fasteners-801-standard-black-1l-5000-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wss30v-pre-assembled-1-2-hp-combination-primary-battery-backup-sump-pump-system>: HTTP status code is not handled or not allowed 2026-01-28 12:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nord-lock-2149-wedge-locking-washer-316-stainless-steel-1-2-pkg-of-200>: HTTP status code is not handled or not allowed 2026-01-28 12:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collapsible-vented-wall-bulk-container-with-lid-casters-39-1-4-l-x-31-1-2-w-x-29-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-7472-orb-two-handle-bathroom-widespread-faucet-with-pop-up-oil-rubbed-bronze>: HTTP status code is not handled or not allowed 2026-01-28 12:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-axial-exhaust-fan-2400-cfm-115v>: HTTP status code is not handled or not allowed 2026-01-28 12:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/89-819-1-2-inch-drive-pear-head-quick-release-ratchet>: HTTP status code is not handled or not allowed 2026-01-28 12:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-ibc-stairway-stair36i-11-77>: HTTP status code is not handled or not allowed 2026-01-28 12:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-293-surform-10-inch-flat-blade-standard-cut>: HTTP status code is not handled or not allowed 2026-01-28 12:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/59-ibc-stairway-stair36i-9-59>: HTTP status code is not handled or not allowed 2026-01-28 12:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-496-tape-rule-3-4-inch-x-5m-16>: HTTP status code is not handled or not allowed 2026-01-28 12:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/79-osha-stairway-stair36o-9-79>: HTTP status code is not handled or not allowed 2026-01-28 12:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80-osha-stairway-stair36o-9-80>: HTTP status code is not handled or not allowed 2026-01-28 12:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-21-inch-d-x-86-inch-h-2000-lbs-cap-3-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 12:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-3-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 12:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-frame-folding-tank-stf-4000-183l-x-183w-x-29h-4000-gallon-cap-green>: HTTP status code is not handled or not allowed 2026-01-28 12:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-a3-righthand-type-c-212l-thread-fits-38-shaft>: HTTP status code is not handled or not allowed 2026-01-28 12:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-bronze-bearing-pbdcbr050-rigid-die-cast-zinc-housing-12-bore>: HTTP status code is not handled or not allowed 2026-01-28 12:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-36-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-5-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 12:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-36-inch-w-x-18-inch-d-x-50-inch-h-2000-lbs-cap-4-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 12:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shower-commode-transport-chair-nrs185007-aluminum-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-resistant-gray-water-bladder-tank-bt-20000x30-372l-x-264w-x-48h-20000-gal-black>: HTTP status code is not handled or not allowed 2026-01-28 12:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-aire-wall-decontamination-pool-aadp-48-48l-x-12w-x-50h-230-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 12:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-18-inch-d-x-74-inch-h-2000-lbs-cap-5-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 12:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-4plus-wire-stripper-24-10awg-wires>: HTTP status code is not handled or not allowed 2026-01-28 12:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500a04-chicago-safety-cable>: HTTP status code is not handled or not allowed 2026-01-28 12:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 12:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boot-90-degree-register-vent-boot-w-adj-hangers-6-inch-x-6-inch-x-6-inch>: HTTP status code is not handled or not allowed 2026-01-28 12:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kni-ear-clamp-pliers-w-front-and-side-jaws>: HTTP status code is not handled or not allowed 2026-01-28 12:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-a-frame-lean-tool-cart-pegboard-louvered-panels-24d-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 12:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burglary-file-safe-cabinet-1-hr-factory-fire-rating-combo-lock-32w-x-22d-x-59h>: HTTP status code is not handled or not allowed 2026-01-28 12:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104826 pages (at 99 pages/min), scraped 52340 items (at 53 items/min) 2026-01-28 12:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-mount-safety-barricade-safety-yellow-18l-florescent-yellow-retractable-belt>: HTTP status code is not handled or not allowed 2026-01-28 12:54:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jib-crane-14x12-500lb>: HTTP status code is not handled or not allowed 2026-01-28 12:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-frl-n33453w-gauge-metal-bowl-wsight-manual-ultra-fog-lubricator>: HTTP status code is not handled or not allowed 2026-01-28 12:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aberdeen-credenza-ff-pedestal-15-1-4w-x-20d-x-27-1-2h-gray-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-modular-frl-wend-ports-vc33454-gauge-poly-bowl-manual-ultra-fog-lubr-osha-valve>: HTTP status code is not handled or not allowed 2026-01-28 12:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elastic-bandage-w-clips-2w-x-5-yards-50-pcs>: HTTP status code is not handled or not allowed 2026-01-28 12:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centering-punch-41-5-16-90-3-32-tip>: HTTP status code is not handled or not allowed 2026-01-28 12:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-forged-c-clamp-410pro-0-10-opening-4-7-8-throat-depth>: HTTP status code is not handled or not allowed 2026-01-28 12:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynashield-skin-protectant-barrier-cream-w-dimethicone-4-oz-tube-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 12:55:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/wall_mount_belts landed on page that is not a product page. 2026-01-28 12:55:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-quiet-oil-free-air-compressor-15-gallon-horizontal>: HTTP status code is not handled or not allowed 2026-01-28 12:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sit-to-stand-sling-large>: HTTP status code is not handled or not allowed 2026-01-28 12:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-tub-mobile-cubbie-w-o-tubs-60w-x-15d-x-35-1-2h-gray-laminate-black-edge>: HTTP status code is not handled or not allowed 2026-01-28 12:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms310h-traffic-sign-reserved-parking-connecticut-24-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 12:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm15k-traffic-sign-no-parking-any-time-with-right-arrow-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 12:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms323h-traffic-sign-reserved-parking-nevada-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 12:55:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockable-lockers-single-stack-48-1-2wx15dx23-1-2h-gray-laminate-black-edge>: HTTP status code is not handled or not allowed 2026-01-28 12:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm506k-traffic-sign-aux-straight-arrow-15-x-21-white>: HTTP status code is not handled or not allowed 2026-01-28 12:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-storage-locker-w-center-shelf-mesh-sides-73w-x-33d-x-52h>: HTTP status code is not handled or not allowed 2026-01-28 12:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-arm-folding-commode-seat>: HTTP status code is not handled or not allowed 2026-01-28 12:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-low-off-rocker-switch-plate-it-35000>: HTTP status code is not handled or not allowed 2026-01-28 12:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-large-capacity-refrigerator-for-pharmacies-abt-69b-69-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 12:55:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/parking_traffic_signs/parking_traffic_signs_1 landed on page that is not a product page. 2026-01-28 12:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-low-profile-beveled-slimline-vision-lite-vsl0627b-6-x-27-bronze>: HTTP status code is not handled or not allowed 2026-01-28 12:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-led-bi-pin-base-light-bulb-3-watt-400-lumen-non-dimmable-warm-white-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biggreen-commercial-power-steam-mop-bgst1566>: HTTP status code is not handled or not allowed 2026-01-28 12:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-chart-osteoporosis-laminated>: HTTP status code is not handled or not allowed 2026-01-28 12:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24in-angle-end-stop-hardware-for-roller-conveyors-12-gauge-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comp-gel-mouse-pad-ccs55151-10-x-9-black>: HTTP status code is not handled or not allowed 2026-01-28 12:55:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/cd_dvd_organizers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-3-lumbar-vertebrae-flexibly-mounted>: HTTP status code is not handled or not allowed 2026-01-28 12:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-chart-acupuncture-body-paper>: HTTP status code is not handled or not allowed 2026-01-28 12:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wd-40-174-gallon-can-case-of-4-cans-10110-490118>: HTTP status code is not handled or not allowed 2026-01-28 12:55:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/cube_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-versa-light-450-dock-light-36-inch-l-reach-120-volt-57-watt>: HTTP status code is not handled or not allowed 2026-01-28 12:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/store-n-go-v3-usb-flash-drive-ver49171-8-gb-storage-capcity-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:55:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/cd_dvd_organizers landed on page that is not a product page. 2026-01-28 12:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24921-black-oxide-drill-bit-21-piece-set-135-1-16-to-1-2-by-32nds>: HTTP status code is not handled or not allowed 2026-01-28 12:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 104917 pages (at 91 pages/min), scraped 52394 items (at 54 items/min) 2026-01-28 12:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76413-drill-radial-wire-brush-shank-1-4-fine-2-crimped>: HTTP status code is not handled or not allowed 2026-01-28 12:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15u-wall-mount-vertical-rail-kit>: HTTP status code is not handled or not allowed 2026-01-28 12:55:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/cube_storage landed on page that is not a product page. 2026-01-28 12:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-heavy-duty-nibbler-up835-2600-spm-4-cfm-14-air-inlet-npt>: HTTP status code is not handled or not allowed 2026-01-28 12:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76801-angle-grinder-thread-adapter-5-8-11-to-m10-x-125>: HTTP status code is not handled or not allowed 2026-01-28 12:56:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-dual-layer-stretch-mesh-upper-black-dark-grey-124e>: HTTP status code is not handled or not allowed 2026-01-28 12:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-electric-hi-low-upholstered-mat-platform-table-84l-x-60w-x-19-27h>: HTTP status code is not handled or not allowed 2026-01-28 12:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-hi-low-treatment-table-with-foot-bar-3-section-77l-x-28w-x-18-39h>: HTTP status code is not handled or not allowed 2026-01-28 12:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-slip-on-boat-shoe-smooth-leather-cognac-7-5eee>: HTTP status code is not handled or not allowed 2026-01-28 12:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321891-gh-26120zh-large-spindle-bore-lathe-w-2-axis-newall-dp700-dro-10-hp>: HTTP status code is not handled or not allowed 2026-01-28 12:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-slip-on-boat-shoe-smooth-leather-cognac-13d>: HTTP status code is not handled or not allowed 2026-01-28 12:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-electric-hi-low-upholstered-mat-platform-table-84l-x-36w-x-19-27h>: HTTP status code is not handled or not allowed 2026-01-28 12:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-breathable-mesh-black-14m>: HTTP status code is not handled or not allowed 2026-01-28 12:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 12:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glassless-mirror-stationary-with-stand-vertical-60w-x-96h>: HTTP status code is not handled or not allowed 2026-01-28 12:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-sided-compact-training-stairs-with-platform-96l-x-36w-x-60h>: HTTP status code is not handled or not allowed 2026-01-28 12:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-wedge-work-boot-leather-brown-13w>: HTTP status code is not handled or not allowed 2026-01-28 12:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f37897-0000-pipette-pump-2ml-pipettor-blue-1pk>: HTTP status code is not handled or not allowed 2026-01-28 12:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-office-partition-panel-24-1-4-w-x-42-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-s1107-anodized-aluminum-safety-padlock-1-1-2-inchw-3-inchtall-shackle-keyed-alike-black>: HTTP status code is not handled or not allowed 2026-01-28 12:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-lockout-pouch-basic-electrical-device-assortment-2-zen-padlocks-red>: HTTP status code is not handled or not allowed 2026-01-28 12:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uy1818-1-maintenance-free-quiet-locker-single-tier18x21x72-1-door-unassembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 12:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-54w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tgbn4284-1c-g-rr-ht-turnout-gear-locker-with-security-box-25x22x84-assembled-relay-red>: HTTP status code is not handled or not allowed 2026-01-28 12:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-48w-x-30d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 12:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800-series-solid-door-mobile-storage-cabinet-48wx24dx78h-parchment-assembled>: HTTP status code is not handled or not allowed 2026-01-28 12:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1558-2hv-a-heavy-duty-ventilated-locker-double-tier-15x15x36-2-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tgnn4284-1c-g-rr-ht-turnout-gear-locker-25x22x84-assembled-relay-red-hammertone>: HTTP status code is not handled or not allowed 2026-01-28 12:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knurled-retractable-plunger-w-lock-out-zinc-body-zinc-nose-1-8lbs-pressure-38-16-thread>: HTTP status code is not handled or not allowed 2026-01-28 12:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-contact-input-relay-rib21cdc-enclosed-pilot-120-277vac-10a-spdt>: HTTP status code is not handled or not allowed 2026-01-28 12:56:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/electric_motor_power_supplies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-gauge-staple-5-16-length-3-8-crown-galvanized-steel-pkg-of-100000>: HTTP status code is not handled or not allowed 2026-01-28 12:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-case-qf920sbkl-watertight-9-pistol-capacity-20-1-8-x16-1-8-x10-1-8-black>: HTTP status code is not handled or not allowed 2026-01-28 12:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-8-bushel-vinyl-basket-truck-all-swivel-casters-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-marking-tape-white-plus-shape-25pkg>: HTTP status code is not handled or not allowed 2026-01-28 12:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-esd-rubber-matting-mt4524-24x50x0080-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazard-marking-tape-black-white-stripes-2w-x-108l-roll>: HTTP status code is not handled or not allowed 2026-01-28 12:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-14-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-navy>: HTTP status code is not handled or not allowed 2026-01-28 12:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-accrvadpplug-rv-adapter-kit>: HTTP status code is not handled or not allowed 2026-01-28 12:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-14-bushel-vinyl-basket-truck-all-swivel-casters-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 12:56:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/electric_motor_parts_accessories/electric_motor_power_supplies landed on page that is not a product page. 2026-01-28 12:56:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/waterproof_equipment_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-big-tac-25-pack-bit-set-bbt25r2-r2-point-1-4-shank>: HTTP status code is not handled or not allowed 2026-01-28 12:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-safety-strap-for-96-in-bay-j-hook-attachment-1-lb-yellow>: HTTP status code is not handled or not allowed 2026-01-28 12:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-window-48-1-4w-x-73-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switch-125-250v-10-15a-black-w-red-light-for-bunn-129200000>: HTTP status code is not handled or not allowed 2026-01-28 12:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105013 pages (at 96 pages/min), scraped 52446 items (at 52 items/min) 2026-01-28 12:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/micro-switch-125-250-480v-20a-for-star-2e-30301-02>: HTTP status code is not handled or not allowed 2026-01-28 12:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/protective_equipment_cases/waterproof_equipment_cases>: HTTP status code is not handled or not allowed 2026-01-28 12:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duk-truwood-fsc-wood-4-piece-patio-set-with-beige-cushions>: HTTP status code is not handled or not allowed 2026-01-28 12:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-hkbil-3fm4-5-6v-4-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genoa-4-shelf-bookcase-quartered-mahogany-finish>: HTTP status code is not handled or not allowed 2026-01-28 12:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-armless-task-chair-black-fabric-upholstery>: HTTP status code is not handled or not allowed 2026-01-28 12:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cha-procedure-cart-w-compact-height-electronic-lock-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genoa-double-pedestal-desk-quartered-mahogany-finish-g3060dp-qtm>: HTTP status code is not handled or not allowed 2026-01-28 12:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-spitfire-ex-1420-compact-travel-12v-12ah-scooter-battery>: HTTP status code is not handled or not allowed 2026-01-28 12:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-1-1-4-polyolefin-wheel-with-ball-bearing-for-3-8-axle-250-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metkleen-2120-cleaner-fluid-55-gallon-drum>: HTTP status code is not handled or not allowed 2026-01-28 12:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-series-5-5-8height-4-urethane-on-iron-wheel-with-total-lock-brake-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-28 12:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaker-rooftop-gas-heat-electric-cool-unit-3-ton-3-ph>: HTTP status code is not handled or not allowed 2026-01-28 12:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65-series-6-1-2height-5-urethane-polypropylene-wheel-with-side-wheel-brake-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-28 12:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62-an-22-u-shaped-magnet-w-thru-hole-67-thickness-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contactor-30-amp-120v-3-pole>: HTTP status code is not handled or not allowed 2026-01-28 12:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/techstar-industrial-step-stand-20-w-x-28-d-x-13-h-1-step-yell-ss-1-08>: HTTP status code is not handled or not allowed 2026-01-28 12:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dti-coverall-bound-seams-elastic-wrists-ankles-white-2x-25-qty>: HTTP status code is not handled or not allowed 2026-01-28 12:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/192801-acrylic-two-sided-nameplate-6-x-2-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 12:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-climbing-construction-harness-w-quick-connect-legs-xxl>: HTTP status code is not handled or not allowed 2026-01-28 12:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252053-vertical-double-sided-sign-holder-w-brochure-pocket-14-x-1-1-piece>: HTTP status code is not handled or not allowed 2026-01-28 12:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-positioning-harness-w-quick-connect-legs-xl>: HTTP status code is not handled or not allowed 2026-01-28 12:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-bantam-twinleg-8-feet-cable-self-retracting-lifeline-w-steel-form-hook-le>: HTTP status code is not handled or not allowed 2026-01-28 12:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/703386-clr-4-sided-interlocking-pegboard-display-w-wheels-8-x-40-clear-opaque>: HTTP status code is not handled or not allowed 2026-01-28 12:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700513-pnk-two-sided-revolving-pegboard-countertop-display-13-5-x-22-pink>: HTTP status code is not handled or not allowed 2026-01-28 12:57:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/tool_tethers_dropped_object_safety already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701140-4-safety-metal-loop-hook-galvanized-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 12:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-8xxl-royal-series-8-center-wall-mount-faucet-body-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 12:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/771620-yel-pegboard-wall-panel-16-x-20-yellow-opaque>: HTTP status code is not handled or not allowed 2026-01-28 12:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-602-hose-reel-assembly-open-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:57:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/ceiling_mount_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fall_protection/tool_tethers_dropped_object_safety>: HTTP status code is not handled or not allowed 2026-01-28 12:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-402l-royal-series-4-center-wall-mount-faucet-8-1-2-gooseneck-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 12:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belleville-disc-spring-075-od-x-038-id-x-004-thick-x-0059-oah-302-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 12:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolution6000-xtreme-thermal-imaging-camera>: HTTP status code is not handled or not allowed 2026-01-28 12:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/ceiling_mount_fans>: HTTP status code is not handled or not allowed 2026-01-28 12:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyn-2-tier-2-doors-locker-12-inch-w-x-12-inch-d-x-78-inch-h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 12:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-zoomflex-cree-led-zoom-light-w-flexible-adjustable-magnetic-base-300-lumens-black>: HTTP status code is not handled or not allowed 2026-01-28 12:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-10x20-4-wall-3-lgt-4-dplx-1-dr-wht>: HTTP status code is not handled or not allowed 2026-01-28 12:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-fixed-window>: HTTP status code is not handled or not allowed 2026-01-28 12:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyflex-cut-resistant-gloves-ansell-11-511-green-nitrile-palm-coat-size-10>: HTTP status code is not handled or not allowed 2026-01-28 12:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capital-4-tier-4-door-locker-12-in-w-x-15-in-d-x-18-in-h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 12:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastek-conductive-nesting-tote-18l-x-12w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 12:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105113 pages (at 100 pages/min), scraped 52505 items (at 59 items/min) 2026-01-28 12:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-plastic-barrier-chain-1-1-2-inch-x-500-feet-l-slate-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastek-esd-open-bin-box-12w-x-18d-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 12:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-aluminum-rolling-ladder-24inw-ribbed-tread-28ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-28 12:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastek-esd-storage-container-23-7-8l-x-13-7-8w-x-18-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 12:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-in-plant-handle-container-w-fixed-dividers-lid-cell-size-8-x-10-x-1>: HTTP status code is not handled or not allowed 2026-01-28 12:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-rigid-plate-caster-205208441-rubber-on-polyolefin-5dia-325-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-series-swivel-plate-caster-405109929-polyurethane-on-polyolefin-5dia-750-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergohuman-mid-back-chair-me8erglon-black-mesh-adjustable-arms>: HTTP status code is not handled or not allowed 2026-01-28 12:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-117160008-ldpe-500ml-capacity-isopropanol-4-pk-yellow-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 12:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-series-swivel-plate-caster-712689379-lh155-brk1-with-brake-12dia-3500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precisionware-bottles-polypropylene-500ml-capacity-12-pk-clear-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 12:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-powered-office-work-positioner-li-truck-220-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 12:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipettor-stand-189610060-acrylic-6-places-12l-x-5w-x-91-2h-clear-6-places>: HTTP status code is not handled or not allowed 2026-01-28 12:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-bullet-metal-blast-coating-24-oz-spray-can-1-mb24sp>: HTTP status code is not handled or not allowed 2026-01-28 12:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brigantine-7-piece-outdoor-dining-set-w-glass-top-table-umbrella-harvest-wheat>: HTTP status code is not handled or not allowed 2026-01-28 12:58:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-2-12-point-flange-screw-170m-psi-steel-plain-partial-thread-unc-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 12:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-gable-vent-gvro23d-23w-x-23h-x-112d>: HTTP status code is not handled or not allowed 2026-01-28 12:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-exercise-putty-red-soft-2-ounce>: HTTP status code is not handled or not allowed 2026-01-28 12:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melonie-ceiling-medallion-cm16ml-16od-x-358id-x-34d>: HTTP status code is not handled or not allowed 2026-01-28 12:58:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars landed on page that is not a product page. 2026-01-28 12:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-exercise-putty-tan-xx-soft-50-pound>: HTTP status code is not handled or not allowed 2026-01-28 12:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-exercise-putty-blue-2-ounce-firm>: HTTP status code is not handled or not allowed 2026-01-28 12:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-wood-locker-37365-z-style-3-wide-12w-x-15d-x-72h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 12:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-designer-wood-locker-21361-single-tier-3-wide-15x21x72-cherry-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 12:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11051674-led-t8-x-series-48in-15w-4000k-frosted-lens-non-dimming>: HTTP status code is not handled or not allowed 2026-01-28 12:58:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/storage_panels/louvered_panels_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/styleview-cart-with-lcd-arm-sla-powered-6-drawers>: HTTP status code is not handled or not allowed 2026-01-28 12:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-for-36l-x-6-dia-round-foam-roller>: HTTP status code is not handled or not allowed 2026-01-28 12:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/com-pax-ial-blower-with-25-ducting-canister-9543-25-12-dia-1hp-1842-cfm>: HTTP status code is not handled or not allowed 2026-01-28 12:58:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/storage_panels/louvered_panels_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflatable-exercise-sensi-saddle-roll-yellow-16-dia-x-35l>: HTTP status code is not handled or not allowed 2026-01-28 12:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loaded-gear-vx-400-tactical-chest-rig-bi12258-black>: HTTP status code is not handled or not allowed 2026-01-28 12:58:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/storage_panels/louvered_panels_accessories landed on page that is not a product page. 2026-01-28 12:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-ground-protection-mat-2-x-8-black-am28>: HTTP status code is not handled or not allowed 2026-01-28 12:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-mixed-flow-duct-fan-8-galvanized-steel-541-cfm-energy-star>: HTTP status code is not handled or not allowed 2026-01-28 12:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinc-plated-wire-rope-clip-3-8-package-of-3>: HTTP status code is not handled or not allowed 2026-01-28 12:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/storage_panels/louvered_panels_accessories>: HTTP status code is not handled or not allowed 2026-01-28 12:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-voltage-thermostat-single-pole-cooling-only-et9srts>: HTTP status code is not handled or not allowed 2026-01-28 12:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/972005-2-force-100-100-ton-electrically-operated-h-frame-220-3-ph>: HTTP status code is not handled or not allowed 2026-01-28 12:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3057-maintenance-repair-stool-14-polyurethane-seat-w-storage-tray-black>: HTTP status code is not handled or not allowed 2026-01-28 12:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-rv-cleaning-kit-sw83000>: HTTP status code is not handled or not allowed 2026-01-28 12:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-ml-flask-clip-for-precision-shaking-water-baths>: HTTP status code is not handled or not allowed 2026-01-28 12:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-nylon-mesh-8-dia-x-40-l-1000-micron-plastic-flange-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 12:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-nylon-mesh-4-1-8-dia-x-14-l-150-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 12:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-nylon-mesh-7-3-50-dia-x-32-l-1000-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 12:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-3-4-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105206 pages (at 93 pages/min), scraped 52554 items (at 49 items/min) 2026-01-28 12:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-multifilament-18-x-24-200-micron-draw-string-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 12:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-spanner-machine-screw-flat-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-poly-p-felt-7-3-50-dia-x-16-1-2-l-5-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 12:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-polyester-felt-4-1-8-dia-x-14-l-25-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 12:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-3-4-security-sheet-metal-screw-pan-phillips-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-64-hex-t-handle-13308>: HTTP status code is not handled or not allowed 2026-01-28 12:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werner-16-type-2-aluminum-3-section-compact-extension-ladder-d1216-3>: HTTP status code is not handled or not allowed 2026-01-28 12:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-pass-thru-cable-60-1-4w-x-77-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 12:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-tamperproof-hex-bit-for-m6-screws>: HTTP status code is not handled or not allowed 2026-01-28 12:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3-x-0-5-x-16mm-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 12:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chair-leather-coil-bk>: HTTP status code is not handled or not allowed 2026-01-28 12:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chair-mesh-mltifxn-mid-bk>: HTTP status code is not handled or not allowed 2026-01-28 12:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8npt-silencer-resin-body-87-psi-14-to-122-f>: HTTP status code is not handled or not allowed 2026-01-28 12:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-54w-x-24d-x-14h-1-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 12:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-stand-support-h50m33b51-for-51bf-roller-conveyors-adj-25-to-41-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 12:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-alto-attix-30-50-combination-floor-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 12:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6t580p05a-set-screw-w-full-ball-38-16-thread-x-58-thread-length>: HTTP status code is not handled or not allowed 2026-01-28 12:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-valve-3-8-pll-male-ga-iso-228-3-8-female-rp-iso-7>: HTTP status code is not handled or not allowed 2026-01-28 12:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-42w-x-18d-x-34h-2-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 12:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rt-basic-magnetic-stirrer-6-69-diameter-top-plate-4l-capacity-100-240v>: HTTP status code is not handled or not allowed 2026-01-28 12:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a320-female-connector-with-40-socket-contacts>: HTTP status code is not handled or not allowed 2026-01-28 12:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-48-x-36-adj-height-workbench-w-drawer-gray-maple-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 12:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189226gz-36w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 12:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-platform-kit-8-x-36-x-72>: HTTP status code is not handled or not allowed 2026-01-28 12:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-platform-kit-8-x-36-x-18>: HTTP status code is not handled or not allowed 2026-01-28 12:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-120-h-starter-3-shelf-levels-wood-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-72-w-x-48-d-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 12:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-tube-revolver-10-40-rpm-100-240v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-28 12:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-size-test-tube-rack-clamp-for-10-13mm-tubes-6-x-12-array-red>: HTTP status code is not handled or not allowed 2026-01-28 12:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-coil-thread-repair-kit-for-metal-5-16-24-x-15d>: HTTP status code is not handled or not allowed 2026-01-28 12:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-12-w-x-15-d-x-78-h-729-parchment-single-tier-1-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 12:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kahlo-48-square-multipurpose-breakroom-tapered-leg-table-grey-chrome>: HTTP status code is not handled or not allowed 2026-01-28 12:59:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/utility_carts/wire_utility_carts/chrome_wire_utility_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:59:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-96-w-x-36-d-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 12:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automotive-exterior-rust-remover-1-gal>: HTTP status code is not handled or not allowed 2026-01-28 12:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-mobile-industrial-stand-fan-9550-cfm-1-4-hp-120v>: HTTP status code is not handled or not allowed 2026-01-28 12:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011789-motor-208-240v-for-victory>: HTTP status code is not handled or not allowed 2026-01-28 12:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011961-pulse-generator-for-rational-cooking-systems>: HTTP status code is not handled or not allowed 2026-01-28 12:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1111286-washer-seat-nylon-leadfree-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 12:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-12-d-x-87-h-725-hallowell-add-on-unit-21-12-x-12-bins>: HTTP status code is not handled or not allowed 2026-01-28 12:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxell-634046-dvdrw-discs-47gb-4x-spindle-silver-15pack>: HTTP status code is not handled or not allowed 2026-01-28 12:59:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/utility_carts/wire_utility_carts/chrome_wire_utility_carts landed on page that is not a product page. 2026-01-28 12:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lk35-drain-fitting-3-1-2-dia-4-1-2-top-dia>: HTTP status code is not handled or not allowed 2026-01-28 12:59:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nitrile-coated-nylon-gloves-x-large>: HTTP status code is not handled or not allowed 2026-01-28 12:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trilogy-fingertip-programmable-pushbutton-lock-100-combo-cap>: HTTP status code is not handled or not allowed 2026-01-28 12:59:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 12:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trilogy-hid-proximity-cards-trilogy-locks>: HTTP status code is not handled or not allowed 2026-01-28 12:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-84-h-add-on-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-96-w-x-48-d-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105302 pages (at 96 pages/min), scraped 52602 items (at 48 items/min) 2026-01-28 12:59:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/security_access_control/access_control_door_locks_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-72-w-x-24-d-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 12:59:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 12:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/rack_accessories/bulk_storage_rack_shelves>: HTTP status code is not handled or not allowed 2026-01-28 12:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linea-italia-litsh735moc-trento-line-bookcase-31-12w-x-11-58d-x-43-14h-mocha>: HTTP status code is not handled or not allowed 2026-01-28 13:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011098-glide-wendy-s-only-sold-each>: HTTP status code is not handled or not allowed 2026-01-28 13:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8002813-gy635-halogen-bulb20w-12v-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 13:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-72-w-x-36-d-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1181045-key-square-1-4-inch-sq-x1-1-2-inch-std>: HTTP status code is not handled or not allowed 2026-01-28 13:00:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/security_access_control/access_control_door_locks_accessories landed on page that is not a product page. 2026-01-28 13:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321155-o-ring>: HTTP status code is not handled or not allowed 2026-01-28 13:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/322177-replacement-strip-8-inch-x-84-inch-x-080-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-84-h-starter-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-magic-lift-service-jack-c-25107>: HTTP status code is not handled or not allowed 2026-01-28 13:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-50-foot-pvc-lay-flat-discharge-hose-coupled-with-mxf-aluminum-short-shanks>: HTTP status code is not handled or not allowed 2026-01-28 13:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-universal-countertop-soap-sanitizer-dispenser-stand>: HTTP status code is not handled or not allowed 2026-01-28 13:00:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/gym_fitness_equipment/sports_equipment landed on page that is not a product page. 2026-01-28 13:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walnut-laminate-office-suite-desking-414x236x295-bridge>: HTTP status code is not handled or not allowed 2026-01-28 13:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet8-drawer117-compart-classic-blue-individual-lock>: HTTP status code is not handled or not allowed 2026-01-28 13:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-wide-truck-ramps-20-ton-capacity-93201>: HTTP status code is not handled or not allowed 2026-01-28 13:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/memphis-n9699m-ninja-hpt-pvc-coated-nylon-gloves-medium-black>: HTTP status code is not handled or not allowed 2026-01-28 13:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/physicianscare-51014-burn-ointment-packets-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-cabinet-14-drawer-282-compart-bright-blue-individual-lock>: HTTP status code is not handled or not allowed 2026-01-28 13:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ad836s-stainless-steel-divider-36d-x-8h-for-wire-shelves>: HTTP status code is not handled or not allowed 2026-01-28 13:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-tubing-gold-25-roll-bag>: HTTP status code is not handled or not allowed 2026-01-28 13:00:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-solderless-insulated-male-disconnect-162458-2050-12-10-gauge-50-pcs>: HTTP status code is not handled or not allowed 2026-01-28 13:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1021107-strainer-drain-7-3-4-inch-sq-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012923-magnetron-2m303h-toshiba-for-merry-chef>: HTTP status code is not handled or not allowed 2026-01-28 13:00:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crimpable-side-terminal-battery-connectors-100655-2001-1-gauge-3-8>: HTTP status code is not handled or not allowed 2026-01-28 13:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-exercise-tubing-yellow-100-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 13:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-3-compartment-solid-door-wood-storage-cabinet-dixie-oak-color>: HTTP status code is not handled or not allowed 2026-01-28 13:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-3-compartment-solid-door-wood-storage-cabinet-oiled-cherry-color>: HTTP status code is not handled or not allowed 2026-01-28 13:00:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-2-compartment-wadrobe-storage-open-storage-locker-dixie-oak-color-finish>: HTTP status code is not handled or not allowed 2026-01-28 13:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors>: HTTP status code is not handled or not allowed 2026-01-28 13:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironwood-2-compartment-wardrobe-cabinet-black-grill-door-natural-oak-color-2>: HTTP status code is not handled or not allowed 2026-01-28 13:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281630-cap-inside-square>: HTTP status code is not handled or not allowed 2026-01-28 13:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40514-flexible-hand-scraper-red>: HTTP status code is not handled or not allowed 2026-01-28 13:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41793-ust-short-handle-scrubbing-brush-stiff-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241369-motor-evaporator-120v-7a-for-jade-range>: HTTP status code is not handled or not allowed 2026-01-28 13:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-green-25-yard-roll-1-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 13:00:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/wire_connectors landed on page that is not a product page. 2026-01-28 13:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321946-gasket-drain-line>: HTTP status code is not handled or not allowed 2026-01-28 13:00:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/cable_management/corrugated_tubing_fittings landed on page that is not a product page. 2026-01-28 13:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-powder-exercise-band-blue-6-yard-roll-1-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 13:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70415-11-waterfed-deck-scrub-extra-stiff-white>: HTTP status code is not handled or not allowed 2026-01-28 13:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-5-strips-black-30-strips-box>: HTTP status code is not handled or not allowed 2026-01-28 13:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010453-burner-assembly-front-for-jade-range>: HTTP status code is not handled or not allowed 2026-01-28 13:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-1496-af-sentinel-mark-ll-regency-exposed-anti-scald-balanced-pressure-shower>: HTTP status code is not handled or not allowed 2026-01-28 13:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-233014-anystream-shower-head-w-hand-shower-combination-shower-system>: HTTP status code is not handled or not allowed 2026-01-28 13:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-strapping-12w-x-7200l-x-002-thick-16-x-6-core-black>: HTTP status code is not handled or not allowed 2026-01-28 13:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-blue-50-yard-roll-box-10-6324>: HTTP status code is not handled or not allowed 2026-01-28 13:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-plum-6-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 13:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-tan-6-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 13:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-exercise-cord-with-attachments-7-cord-green>: HTTP status code is not handled or not allowed 2026-01-28 13:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-cylinder-truck-4-wheel-10-1-2-pneumatic-wheels-1000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105397 pages (at 95 pages/min), scraped 52644 items (at 42 items/min) 2026-01-28 13:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-small-parts-storage-cabinet-2>: HTTP status code is not handled or not allowed 2026-01-28 13:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53764-216-0-9-tube-brush-medium-red>: HTTP status code is not handled or not allowed 2026-01-28 13:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-22>: HTTP status code is not handled or not allowed 2026-01-28 13:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esp05v080i3-5-hp-two-stage-piston-compressor-80-gal-vertical-175-psi-3-phase-208-230460v>: HTTP status code is not handled or not allowed 2026-01-28 13:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681198-motor-kit-240v-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 13:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011805-heater-wire-for-victory>: HTTP status code is not handled or not allowed 2026-01-28 13:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263676-tube-stuffing-aluminum-3-4-for-uniworld-foodservice>: HTTP status code is not handled or not allowed 2026-01-28 13:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lk2500cr-pursuit-flexible-spout-laundry-faucet-14-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 13:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-1-1-2-dia-straight-satin-grab-bar-36-w>: HTTP status code is not handled or not allowed 2026-01-28 13:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-anti-static-bags-12w-x-15l-4-mil-pink-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 13:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-x-1-2-machine-screw-round-head-phillips-slotted-steel-zinc-unf-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 13:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-3-machine-screw-round-head-phillips-steel-zinc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 13:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-with-ss-thimble-kevlar-tail-12-dia-x-75l>: HTTP status code is not handled or not allowed 2026-01-28 13:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-concrete-installation-yellow-cover-blue-tapes>: HTTP status code is not handled or not allowed 2026-01-28 13:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-inch-full-comp-screwdriver-slot-dbl-sealed-1-2-od-11-32w-no10-32-thr>: HTTP status code is not handled or not allowed 2026-01-28 13:01:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-towelmate-for-b262-b2620-b2621-b26212>: HTTP status code is not handled or not allowed 2026-01-28 13:01:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/screws/machine_screws/flat_head_machine_screws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-18-blue-microfiber-wet-pad-gray-binding-color-flag-mfm185b-cf>: HTTP status code is not handled or not allowed 2026-01-28 13:01:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-asphalt-installation-black-cover-white-tapes>: HTTP status code is not handled or not allowed 2026-01-28 13:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-18-x-60-phenolic-locker-double-tier-silver-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-production-workbench-maple-butcher-block-square-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:01:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 13:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/screws/machine_screws/flat_head_machine_screws>: HTTP status code is not handled or not allowed 2026-01-28 13:01:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/bollards/safety_bollards_posts landed on page that is not a product page. 2026-01-28 13:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelf-utility-cart-with-brakes-36x24-3-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-36-d-production-workbench-plastic-laminate-safety-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1211026-glide-lock-spring-f-1-inch-rd>: HTTP status code is not handled or not allowed 2026-01-28 13:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-24w-x-12d-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:01:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-drop-box-putty-18-wx-4-dx-14-h>: HTTP status code is not handled or not allowed 2026-01-28 13:01:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-48x24x72-1200-pound-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 13:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42376-dish-brush-w-scraper-medium-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-set-12-suction-insulation-14-od-x-12-od-x-25l-black>: HTTP status code is not handled or not allowed 2026-01-28 13:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airtight-watertight-access-door-24-x-24>: HTTP status code is not handled or not allowed 2026-01-28 13:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-fenwick-translucent-lid-1500-cs-translucent-dx50008714>: HTTP status code is not handled or not allowed 2026-01-28 13:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-ss-2-door-locking-cabinet-w-drawers60-x-24-x-7810-drawers>: HTTP status code is not handled or not allowed 2026-01-28 13:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 13:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-through-access-door-24-x-60>: HTTP status code is not handled or not allowed 2026-01-28 13:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321216-gasket-sheet6-inch-x-6-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:01:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges landed on page that is not a product page. 2026-01-28 13:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-kuul-comfort-evaporative-replacement-media-set-for-jetstream-220-12w-x-6d-x-19h>: HTTP status code is not handled or not allowed 2026-01-28 13:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-swirl-tumbler-6-oz-72-cs-clear-dx4gc607>: HTTP status code is not handled or not allowed 2026-01-28 13:01:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266349-adapter1-4-inch-mpt>: HTTP status code is not handled or not allowed 2026-01-28 13:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105492 pages (at 95 pages/min), scraped 52698 items (at 54 items/min) 2026-01-28 13:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264551-gas-hose-fitting-male>: HTTP status code is not handled or not allowed 2026-01-28 13:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-108x42x96-add-on-unit-green-orange-5480-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 13:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bott-angled-peg-hooks-for-perfo-panels-package-of-5-1-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 13:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberwood-dolly-36-l-x-24-w-600-lb-cap-3-casters>: HTTP status code is not handled or not allowed 2026-01-28 13:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321248-rubber-washer-for-hatco-corp>: HTTP status code is not handled or not allowed 2026-01-28 13:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-narcotic-cabinet-with-audit-keypad-lock>: HTTP status code is not handled or not allowed 2026-01-28 13:02:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propylene-glycol-food-quality-5-gallons>: HTTP status code is not handled or not allowed 2026-01-28 13:02:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 13:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-security-cage-72x24x60>: HTTP status code is not handled or not allowed 2026-01-28 13:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-rack-system-12-x-12-gray-271023>: HTTP status code is not handled or not allowed 2026-01-28 13:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-add-on-96inw-x-48ind-x-96inh-7160-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 13:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-wrist-and-ankle-weight-5-lb-black>: HTTP status code is not handled or not allowed 2026-01-28 13:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-bon-appetit-cutlery-caddy-2-ply-16-x-16-600-cs-cranberry-dxctcad80061>: HTTP status code is not handled or not allowed 2026-01-28 13:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381622-fuse-3a-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 13:02:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 13:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23-round-aluminum-indoor-outdoor-folding-bar-height-table-with-pedestal-base>: HTTP status code is not handled or not allowed 2026-01-28 13:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-outdoor-quartz-electric-infrared-heater-och-46-208ve-208v-2000w-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-utility-cart-2-shelves-36x24>: HTTP status code is not handled or not allowed 2026-01-28 13:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-climbing-peak-safety-helmet-type-2-4-point-ratchet-suspension-hi-viz-lime>: HTTP status code is not handled or not allowed 2026-01-28 13:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-compartment-sectional-unit-37-w-x-15-d-x-58-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-28 13:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-5-cu-yd-self-dumping-steel-hopper-with-bump-release-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-insulated-safety-bib-overall-4xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 13:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-bib-overall-s-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-60-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-28 13:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-expandable-mobile-base-12-x-12-to-32-x-32-400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cmc03020-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 13:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-safety-coverall-xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:02:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/saute_pots_pans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cmc03008-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 13:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-insulated-safety-bib-overall-s-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:02:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chc06008-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 13:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firm-medicine-ball-2-lb-8-diameter-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-oxford-insulated-pull-on-safety-pants-5xl-black>: HTTP status code is not handled or not allowed 2026-01-28 13:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/molded-dual-handle-medicine-ball-5-color-set>: HTTP status code is not handled or not allowed 2026-01-28 13:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-combination-bracket-for-15-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:02:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/cookware_bakeware/pots_pans/saute_pots_pans landed on page that is not a product page. 2026-01-28 13:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341977-silicone-drain-heater>: HTTP status code is not handled or not allowed 2026-01-28 13:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-oz-kool-touch-ladle-black>: HTTP status code is not handled or not allowed 2026-01-28 13:02:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/electrochemistry_meters landed on page that is not a product page. 2026-01-28 13:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-30l-x-24w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 13:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1831194-power-supply-24vdc-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 13:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-piano-whip-10-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cnc25008-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 13:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-handle-medicine-ball-6-lb-9-diameter-red>: HTTP status code is not handled or not allowed 2026-01-28 13:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-6-5-8-w-x-23-5-8-d-x-4-h-green-1>: HTTP status code is not handled or not allowed 2026-01-28 13:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-8-3-8-w-x-17-7-8-d-x-4-h-yellow-1>: HTTP status code is not handled or not allowed 2026-01-28 13:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brc05-nylon-insert-lock-nut>: HTTP status code is not handled or not allowed 2026-01-28 13:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colander-5-quart>: HTTP status code is not handled or not allowed 2026-01-28 13:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-in-propeller>: HTTP status code is not handled or not allowed 2026-01-28 13:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-safety-rain-jacket-csa-class-1-level-2-3xl-black>: HTTP status code is not handled or not allowed 2026-01-28 13:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfc04008-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 13:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-super-pan-3-pan-8>: HTTP status code is not handled or not allowed 2026-01-28 13:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105586 pages (at 94 pages/min), scraped 52741 items (at 43 items/min) 2026-01-28 13:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8402433-thumb-screw-black-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 13:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901236-lid-hopper-fmd-3-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 13:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harloff-compact-economy-treatment-cart-with-five-drawers-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fowler-54-422-500-0-ip54-mini-mag-plus-protractor-with-back-light>: HTTP status code is not handled or not allowed 2026-01-28 13:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-quarter-dome-arcrylic-mirrors>: HTTP status code is not handled or not allowed 2026-01-28 13:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Hot-Surface-Furnace-Ignitor-w-Gasket-4-And-Half-Inch-Lead-Wire-Length>: HTTP status code is not handled or not allowed 2026-01-28 13:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Hot-Surface-Furnace-Ignitor-w-Mounting-Adaptors-Ceramic-Block-Style-B>: HTTP status code is not handled or not allowed 2026-01-28 13:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011698-hinge-kit-right-for-perlick-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 13:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-adjustable-one-piece-seal-red-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1831210-roundup-idler-shaft-screw-is-3250176-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 13:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-metal-cable-seal-1-16-wx12-l-blue-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1131131-adaptor-stem-right-hand-3-4-inch-faucet>: HTTP status code is not handled or not allowed 2026-01-28 13:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-pressboard-classification-folders-letter-six-section-yellow-10box>: HTTP status code is not handled or not allowed 2026-01-28 13:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-on-ripstop-safety-rain-pants-csa-class-3-level-2-4xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 13:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-60-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 13:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/whole-room-electronic-digital-vortex-heater-avh10-750-1500w-ice-white>: HTTP status code is not handled or not allowed 2026-01-28 13:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-pants-m-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton-64000>: HTTP status code is not handled or not allowed 2026-01-28 13:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rod-jam-nut-3-4-16-thread-3-1-4-to-4-nfpa-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 13:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barr8-fl-gd-crowdmaster-1000-barricade-100-by-43-flat-feet-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 13:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infant-universal-life-vest-royal-blue-black-20-002-infant-blu>: HTTP status code is not handled or not allowed 2026-01-28 13:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton14214>: HTTP status code is not handled or not allowed 2026-01-28 13:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-add-on-42-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 13:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-24-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 13:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fox-40-whistle-purple-10-421-pur>: HTTP status code is not handled or not allowed 2026-01-28 13:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-ring-buoy-orange-uscg-approved-10-205-org>: HTTP status code is not handled or not allowed 2026-01-28 13:03:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3215-light-fixture-wire-guard>: HTTP status code is not handled or not allowed 2026-01-28 13:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-columbian-41408>: HTTP status code is not handled or not allowed 2026-01-28 13:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-hargrave-22115>: HTTP status code is not handled or not allowed 2026-01-28 13:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-surveyor-safety-vest-zipper-l-orange-sv59z-2zod-l>: HTTP status code is not handled or not allowed 2026-01-28 13:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-340mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-self-adhesive-poly-pockets-top-load-4-116w-x-3h-clear-100box>: HTTP status code is not handled or not allowed 2026-01-28 13:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-foot-mount-small-cs-125-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 13:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders>: HTTP status code is not handled or not allowed 2026-01-28 13:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-add-on-48-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 13:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-170mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-60-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 13:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971108-sprocket-3-8-inch-bore-21-tooth-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 13:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutters-jet-587724>: HTTP status code is not handled or not allowed 2026-01-28 13:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-460mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-3-lb-beads-in-bucket-unscented-fragrance>: HTTP status code is not handled or not allowed 2026-01-28 13:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-surveyor-safety-vest-zipper-5xl-green-sv59z-2zgd-5x>: HTTP status code is not handled or not allowed 2026-01-28 13:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/q1pbpcd-pushbutton-enclosure-2-94-x-2-875-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-28 13:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1108-glass-cloth-electrical-tape-3-4-inch-x-66>: HTTP status code is not handled or not allowed 2026-01-28 13:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-55925-8-14-knob-adj-8mm-tube-x-14-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 13:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-89978-08-08-knob-adj-12-tube-x-12-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 13:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-of-the-house-waist-apron-12x24-3-comp-pocket-royal-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105683 pages (at 97 pages/min), scraped 52791 items (at 50 items/min) 2026-01-28 13:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-cover-all-terry-microfiber-oversize>: HTTP status code is not handled or not allowed 2026-01-28 13:03:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1021169-drain-grate-floor-sq-4-5-8-inch-for-zurn-industries-llc>: HTTP status code is not handled or not allowed 2026-01-28 13:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-coverall-l-blackfluorescent-yellow-green>: HTTP status code is not handled or not allowed 2026-01-28 13:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-180mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-record-storage-rack-gray-96-wx-24-d-x-84-h-with-polyethylene-file-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-40mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-m-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-black-urethane-reusable-cold-pack-standard-11-x-14>: HTTP status code is not handled or not allowed 2026-01-28 13:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-60x48x84-gray-with-3-shelves-laminated-deck-1200-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 13:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2641020-brush-coffee-decanter-tapered-for-bar-maid-coproration>: HTTP status code is not handled or not allowed 2026-01-28 13:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-24-w-x-18-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 13:04:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves landed on page that is not a product page. 2026-01-28 13:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-single-acting-magnetic-cylinder-10mm-bore-x-50mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1231041-kason-10212000008-hinge-edgemount-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 13:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010521-radiant-for-southbend-range>: HTTP status code is not handled or not allowed 2026-01-28 13:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8mm-id-x-13mm-od-x-050mm-die-button-shim-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 13:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-100mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70lbs-grease-capacity-acid-resistant-coated-interior-and-exterior-fabricated-steel-low-type-grease-interceptor>: HTTP status code is not handled or not allowed 2026-01-28 13:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-inch-id-x-58-inch-od-x-0006-inch-steel-arbor-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-upright-frame-bolted-192h-x-36d-33119-lbs-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-l-navy>: HTTP status code is not handled or not allowed 2026-01-28 13:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-female-89030-02-04-18-tube-x-14-nptf-female-thread-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 13:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-2xl-black>: HTTP status code is not handled or not allowed 2026-01-28 13:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-disc-967a-4-1-2-inch-x-5-8-11-int-60-grit-ceramic-grain>: HTTP status code is not handled or not allowed 2026-01-28 13:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-elbow-85110-53-04-532-tube-x-14-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 13:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-21059-harness-reflective-webbing-quick-connect-chest-tongue-buckle-legs-2xl>: HTTP status code is not handled or not allowed 2026-01-28 13:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9mm-x-14mm-metric-keystock-gold-dichromate-finish-12-inch-length-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 13:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-dolly-30-gallon-drum-1>: HTTP status code is not handled or not allowed 2026-01-28 13:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-55040-12-12mm-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 13:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/release-plate-pin-for-globalindustrial-1-2-to-3-cu-yd-dumping-hopper-w-bump-release>: HTTP status code is not handled or not allowed 2026-01-28 13:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30118-plastic-barrier-chain-on-a-reel-hdpe-1-5-x200-6-38mm-pink>: HTTP status code is not handled or not allowed 2026-01-28 13:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx30-dx85-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0003-inch-steel-shim-stock-6-inch-x-18-inch-flat-sheets-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-freestanding-flammable-storage-freezer-30-cu-ft-abt-ffp-30>: HTTP status code is not handled or not allowed 2026-01-28 13:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331621-overload-for-powersoak>: HTTP status code is not handled or not allowed 2026-01-28 13:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0001-inch-steel-shim-stock-6-inch-x-100-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 13:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0889374-rk-957957rpda-ck1-6-1st-check-kit>: HTTP status code is not handled or not allowed 2026-01-28 13:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-connnector-85040-53-532-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 13:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx24-dx97-h-open-clip-style-7-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56h-tefc-1ph-1725rpm-m6k17fb39ff>: HTTP status code is not handled or not allowed 2026-01-28 13:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341155-griddle-element-208v-4000w-for-general-electric>: HTTP status code is not handled or not allowed 2026-01-28 13:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-20mm-hex-head-cap-screw-304-stainless-steel-din-931-933-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 13:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50013-100-plastic-barrier-chain-hdpe-2-x100-8-51mm-traffic-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-locker-double-tier-12x18x36-6-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-tee-85230-04-14-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 13:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-tech-12h-stainless-steel-stand-f-18dp>: HTTP status code is not handled or not allowed 2026-01-28 13:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-tee-89230-53-532-tube-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 13:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50025-100-plastic-barrier-chain-hdpe-2-x100-8-51mm-safety-pink>: HTTP status code is not handled or not allowed 2026-01-28 13:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1861030-hose-fryer-filter-neoprene-for-blickman-supply>: HTTP status code is not handled or not allowed 2026-01-28 13:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105780 pages (at 97 pages/min), scraped 52838 items (at 47 items/min) 2026-01-28 13:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lineshaft-3-drive-conveyor-lsds19x16-22-3-3-f60-1-cd-19-dia-22bf-1-hp>: HTTP status code is not handled or not allowed 2026-01-28 13:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-cover-2>: HTTP status code is not handled or not allowed 2026-01-28 13:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lineshaft-3-drive-conveyor-lsds19x16-16-3-3-f60-05-cd-19-dia-16bf-12-hp>: HTTP status code is not handled or not allowed 2026-01-28 13:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6688-cooling-hi-vis-sun-t-shirt-with-uv-protection-class-2-l-lime>: HTTP status code is not handled or not allowed 2026-01-28 13:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qr216hs-quick-release-all-ss-hose-clamp-10-316-inch-14-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 13:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brady-spc-absorbents-hazwik-chemical-mobile-spill-kit-160-gal-cap-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 13:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-mat-3-ft-w-x-5-ft-l-1-2-in-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 13:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-8mm-machine-screw-phillips-pan-head-304-stainless-steel-din-7985-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 13:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exhaust-flange-global-1-2-to-2-ton-portable-ac-s>: HTTP status code is not handled or not allowed 2026-01-28 13:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-henley-shirt-5xl-tall-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-locker-triple-tier-12x12x24-9-door-parchment>: HTTP status code is not handled or not allowed 2026-01-28 13:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boardwalk-pvc-food-wrap-film-18-x-2000-ft-roll>: HTTP status code is not handled or not allowed 2026-01-28 13:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8-x-1-25-x-45mm-hex-head-cap-screw-304-stainless-steel-din-931-933-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 13:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-34-mini-cork-message-board-white-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-x-0-8-x-10mm-cup-point-socket-set-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 13:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-cup-company-bare-treated-paper-cone-water-cups-6-oz-wh-200sleeve-25-sleevescarton>: HTTP status code is not handled or not allowed 2026-01-28 13:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cs12h-collared-screw-worm-gear-hose-clamp-12-inch-1-14-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 13:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-cut-kinesiology-tape-shoulder-case-of-20>: HTTP status code is not handled or not allowed 2026-01-28 13:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-1-1-2-cu-yd-gray-self-dumping-hopper>: HTTP status code is not handled or not allowed 2026-01-28 13:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfy-finger-separator-pediatric-medium>: HTTP status code is not handled or not allowed 2026-01-28 13:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-filtering-cordless-cellular-shade-60-wide-x-48-drop-cloud-white>: HTTP status code is not handled or not allowed 2026-01-28 13:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-4xl-long-tall-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009641-caster-prep-table-5-inch-without-brake>: HTTP status code is not handled or not allowed 2026-01-28 13:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-l-tall-khaki>: HTTP status code is not handled or not allowed 2026-01-28 13:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b72hsp-300-series-ss-hose-clamp-4-116-inch-5-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:05:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-tsa-accected-luggage-combination-lock>: HTTP status code is not handled or not allowed 2026-01-28 13:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-helix-work-shirt-xs-tall-dark-khaki>: HTTP status code is not handled or not allowed 2026-01-28 13:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purpose-mobile-stool-with-backrest-black>: HTTP status code is not handled or not allowed 2026-01-28 13:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/size-h-8-inch-x-8-inch-stainless-steel-slotted-shim-52-piece-assortment>: HTTP status code is not handled or not allowed 2026-01-28 13:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-3-inch-x-0020-inch-blue-sof-shoeelastomer-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/125mm-x-125mm-x-05mm-stainless-steel-metric-slotted-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-cup-company-symphony-trophy-plus-dual-temperature-cups-8-oz100pack>: HTTP status code is not handled or not allowed 2026-01-28 13:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-bookcase-three-shelf-34-1-2-w-x-12-5-8-d-x-41-h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 13:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thread-repair-kit-for-metal-thin-wall-1-2-20-x-5-8-11-ez-310-820>: HTTP status code is not handled or not allowed 2026-01-28 13:05:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-28 13:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-products-world-art-renewable-resource-hot-drink-cups-20-oz-tan-1000carton>: HTTP status code is not handled or not allowed 2026-01-28 13:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9551-16w-led-mr11-led-40-beam-spread-g4-base-5000k-12v>: HTTP status code is not handled or not allowed 2026-01-28 13:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-coverall-l-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 13:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-aluminum-irwin-vise-grip-2074124>: HTTP status code is not handled or not allowed 2026-01-28 13:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-zip-front-hoodie-m-regular-navy>: HTTP status code is not handled or not allowed 2026-01-28 13:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carpenter-saws-irwin-marathon-2011200>: HTTP status code is not handled or not allowed 2026-01-28 13:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-lid-10-bushel-plastic-box-truck>: HTTP status code is not handled or not allowed 2026-01-28 13:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9163-12w-led-s11-night-light-bulb-medium-base-ceramic-green>: HTTP status code is not handled or not allowed 2026-01-28 13:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/182040-rfx-lp600-wireless-solar-wheel-load-4-scale-system-80000-lb-x-20-lb>: HTTP status code is not handled or not allowed 2026-01-28 13:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanger-bar-adjustable-tray-truck>: HTTP status code is not handled or not allowed 2026-01-28 13:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-full-vision-show-case-cherry>: HTTP status code is not handled or not allowed 2026-01-28 13:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0020-inch-steel-shim-stock-8-inch-x-12-inch-flat-sheets-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 13:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0001-inch-steel-shim-stock-8-inch-x-12-inch-flat-sheets-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 13:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-clear-18>: HTTP status code is not handled or not allowed 2026-01-28 13:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0010-inch-brass-shim-stock-6-inch-x-100-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 13:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-14th-zip-fleece-sweatshirt-l-regular-black>: HTTP status code is not handled or not allowed 2026-01-28 13:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/platinum-unit-heater-kb2407-3mp-p-w-bracket-remote-and-thermostat-240v-7-5kw-1-3ph>: HTTP status code is not handled or not allowed 2026-01-28 13:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exo2-migb-05-xlmotor-impact-glove>: HTTP status code is not handled or not allowed 2026-01-28 13:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-sheet-lumber-truck-with-carpeted-deck-2400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105877 pages (at 97 pages/min), scraped 52882 items (at 44 items/min) 2026-01-28 13:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euro-truck-with-wood-ends-deck-60-x-30-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-armor-1000-standard-harness-tongue-buckle-legs-m-l>: HTTP status code is not handled or not allowed 2026-01-28 13:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-normally-open-single-air-actuated-valve-pilot-spring-return-g1-4-ports>: HTTP status code is not handled or not allowed 2026-01-28 13:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-canopy-hood-stainless-steel-48w-30d-18h>: HTTP status code is not handled or not allowed 2026-01-28 13:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06145-1-8-x-2-x-2-1-2-plastic-key-horseshoe-shim-88-1008pc>: HTTP status code is not handled or not allowed 2026-01-28 13:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/650016-5-c-collet-set-35-piece-1-6-1-1-8-by-1-32-increments-w-metal-rack>: HTTP status code is not handled or not allowed 2026-01-28 13:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-frame-for-6-ft-8-inch-high-door-or-room-divider>: HTTP status code is not handled or not allowed 2026-01-28 13:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06490-1-8-x-2-x-4-plastic-masonry-shim-4218-1008pc>: HTTP status code is not handled or not allowed 2026-01-28 13:06:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skilcraft-compatible-remanufactured-ce505a-05a-toner-2300-page-yield-black>: HTTP status code is not handled or not allowed 2026-01-28 13:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-l-x-30-w-14-gauge-stainless-galvanized-workbench-w-undershelf>: HTTP status code is not handled or not allowed 2026-01-28 13:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-l-x-30-w-16-gauge-stainless-steel-workbench-w-undershelf>: HTTP status code is not handled or not allowed 2026-01-28 13:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-fold-student-desk-barrier-carry-handle-19-x-17-x-23-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 13:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-covers-918-13-fits-plate-size-8-1-2-9-1-8-plastic>: HTTP status code is not handled or not allowed 2026-01-28 13:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huntington-dining-set-with-4-chairs-36-round-x-30h-table-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upholstered-fabric-chair-black-wooden-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:06:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/laser_toner_cartridges landed on page that is not a product page. 2026-01-28 13:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-canteen-table-with-4-seats-in-ground-mount-red>: HTTP status code is not handled or not allowed 2026-01-28 13:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-continental-collection-salt-pepper-shakers-802g-12-gold-top-2-oz>: HTTP status code is not handled or not allowed 2026-01-28 13:06:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixer-dough-hook-40779-for-60-quart-mixer>: HTTP status code is not handled or not allowed 2026-01-28 13:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24-steel-safety-angle-orange-rolling-ladder-perforated-sw932p-o>: HTTP status code is not handled or not allowed 2026-01-28 13:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hartford-36-round-solid-top-picnic-table-with-2-seats-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012597-hinge-door-for-amana-litton>: HTTP status code is not handled or not allowed 2026-01-28 13:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-collar-loop-parts-bag-brass-finish>: HTTP status code is not handled or not allowed 2026-01-28 13:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-light-candelabra-cluster>: HTTP status code is not handled or not allowed 2026-01-28 13:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/richmond-6-leaning-rail-in-ground-mount-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-flat-washer-uss-9-16-i-d-097-121-thick-steel-yellow-zinc-grade-8-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 13:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tefc-3ph-1725-1425rpm-c6t17fc204cc>: HTTP status code is not handled or not allowed 2026-01-28 13:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers>: HTTP status code is not handled or not allowed 2026-01-28 13:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-jack-hose-assembly-1-4-in-x-60-in-10k-psi-3-8-m-m-npt-isobaric-braid>: HTTP status code is not handled or not allowed 2026-01-28 13:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-000-psi-hydraulic-jack-quick-coupling-3-8-inch-female-npt-thread-x-3-8-inch-male-nipple>: HTTP status code is not handled or not allowed 2026-01-28 13:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/on-off-canopy-switch-brass-finish>: HTTP status code is not handled or not allowed 2026-01-28 13:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-super-strong-mobile-workbench-1>: HTTP status code is not handled or not allowed 2026-01-28 13:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-unglazed-porcelain-socket-w-double-snap-in-clip-high-temperature-leads>: HTTP status code is not handled or not allowed 2026-01-28 13:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tractor-style-stool-with-chrome-foot-ring-nylon-base-black-no-tilt>: HTTP status code is not handled or not allowed 2026-01-28 13:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-racker-double-drum-rack-for-55-gallon-drums-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/95-gallon-poly-overpack-salvage-drum>: HTTP status code is not handled or not allowed 2026-01-28 13:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tefc-1ph-1725rpm-c6c17wc3gg>: HTTP status code is not handled or not allowed 2026-01-28 13:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-loaded-lip-seal-12-id-x-34-od-x-18-height-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 13:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-flat-washer-sae-15-16-i-d-steel-yellow-zinc-grade-8-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 13:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optio-sauce-pot-3903-7-1-4-depth-21-gauge>: HTTP status code is not handled or not allowed 2026-01-28 13:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelf-48x12-with-4-clips-1>: HTTP status code is not handled or not allowed 2026-01-28 13:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-18-x-97>: HTTP status code is not handled or not allowed 2026-01-28 13:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-buna-n-camlock-gasket-for-6-hose-coupling-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 13:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-caster-chairs-coral-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 13:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-2-speed-1-hp-high-efficiency-230v-square-flange56y-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-table-with-2-imme-armless-barstools-sky-blue-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 13:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-48x12x60-with-4-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accessory-pack-0trg-00g-for-fishing-retractable-gear-tether>: HTTP status code is not handled or not allowed 2026-01-28 13:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971139-panel-front-broiler-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 13:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36x18x84-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-hp-motor-2-speed-230v56y-frame-12-0-4-4-amps>: HTTP status code is not handled or not allowed 2026-01-28 13:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-00505-natural-unlined-ldpe-yorker-cap-with-red-tip-38-400-neck-finish-case-of-1250>: HTTP status code is not handled or not allowed 2026-01-28 13:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-caster-chairs-navy-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 13:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-cord-0250-cross-section-10-ft-length>: HTTP status code is not handled or not allowed 2026-01-28 13:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 105976 pages (at 99 pages/min), scraped 52927 items (at 45 items/min) 2026-01-28 13:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011469-baffle-15-inch-x-15-inch-filter-122x122>: HTTP status code is not handled or not allowed 2026-01-28 13:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-7-drawer-24-w-shallow-depth-mobile-cabinet-w-butcher-block-top-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-28 13:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chafer-stand-46113-stainless-steel-square>: HTTP status code is not handled or not allowed 2026-01-28 13:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031044-contactor-mercury-24v-coil60a-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 13:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321892-gasket-door-for-cres-cor>: HTTP status code is not handled or not allowed 2026-01-28 13:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sec-aluminum-72-crossover-truck-box-single-lid-deep-79011028>: HTTP status code is not handled or not allowed 2026-01-28 13:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-9-drawer-shallow-depth-cabinet-blue-master-keyed>: HTTP status code is not handled or not allowed 2026-01-28 13:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1291246-kason-67003001216-filter-baffle-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 13:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waste-watcher-single-cans-bottles-23-gallon-gray-blue-8105004-1>: HTTP status code is not handled or not allowed 2026-01-28 13:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12nf36k-nylon-plastic-adjustable-lever-w-steel-components-m12-x-1-75-tapped-thread>: HTTP status code is not handled or not allowed 2026-01-28 13:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/somerville-coffee-urn-4635510-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 13:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-cu-ft-utility-spreader-for-rock-salt>: HTTP status code is not handled or not allowed 2026-01-28 13:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-landmark-series-aggregate-panel-for-50-gallon-river-rock>: HTTP status code is not handled or not allowed 2026-01-28 13:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baja-motorsports-baja-reaction-150-go-kart-150cc-atv-replacement-battery>: HTTP status code is not handled or not allowed 2026-01-28 13:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10n32a08k-zinc-die-cast-adjustable-lever-with-stainless-steel-components-m10-x-32mm-stud>: HTTP status code is not handled or not allowed 2026-01-28 13:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-lid-16>: HTTP status code is not handled or not allowed 2026-01-28 13:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3885-16-inch-h-x-16-inch-w-x-2-inch-t-stainless-steel-hood-filter-ridged-baffles>: HTTP status code is not handled or not allowed 2026-01-28 13:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g7-10-hp-rotary-screw-comp-tankless-horiz-125-psig-3-phase-208-230-460v-w-dryer>: HTTP status code is not handled or not allowed 2026-01-28 13:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321960-gh-1860zx-large-spindle-bore-lathe-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 13:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-mold-on-rubber-wheel-magliner-hand-truck>: HTTP status code is not handled or not allowed 2026-01-28 13:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321441-gh-1440zx-large-spindle-bore-lathe-w-newall-dp700-dro-collet-closer-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 13:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-48x36x84-with-3-levels-wire-deck-1500-lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-emergency-preparedness-cabinet-easy-assembly-48-wx18-dx78-h-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-96x36x84-with-3-levels-wire-deck-800-lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adj-workmate-stand-w-ergo-mat-ahtl1948>: HTTP status code is not handled or not allowed 2026-01-28 13:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261889-kason-11097000004-door-closer-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 13:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adj-workmate-stand-w-ergo-mat-ahth1936>: HTTP status code is not handled or not allowed 2026-01-28 13:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjust-stepmate-stand-stainless-steel-ahth1936ss>: HTTP status code is not handled or not allowed 2026-01-28 13:07:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=690150-jtm-1050-milling-machine-w-x-y-axis-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-48x24x96-with-3-levels-wire-deck-1500-lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:07:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hessaire-48-belt-drive-box-fan-48x750s-n-1hp-1ph-19210-cfm-with-shutter>: HTTP status code is not handled or not allowed 2026-01-28 13:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-skid-carousel-turntable-rotating-ring-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-netting-wwoven-eyelets-8-x-50-beige-pn-30069>: HTTP status code is not handled or not allowed 2026-01-28 13:07:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/packing_workbenches/stationary_packing_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wiregard-174-gray-gb-1-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datacare-1-hour-key-lock-fire-water-resistant-media-safe-0-26-cu-ft-off-white-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:07:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=690150-jtm-1050-milling-machine-w-x-y-axis-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 13:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/lathes>: HTTP status code is not handled or not allowed 2026-01-28 13:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-174-jumbo-step-aluminum-ladder-375-lb-capacity-4-step-11904>: HTTP status code is not handled or not allowed 2026-01-28 13:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-174-jumbo-step-aluminum-ladder-375-lb-capacity-2-step-11902>: HTTP status code is not handled or not allowed 2026-01-28 13:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-low-profile-rack-guard-2>: HTTP status code is not handled or not allowed 2026-01-28 13:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66254482331-bear-tex-non-woven-quick-change-disc-1-inch-dia-med-grit-aluminum-oxide-type-iii>: HTTP status code is not handled or not allowed 2026-01-28 13:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-60-manually-controlled-gas-griddle-40840-140000-btu-60-x-27-x-16>: HTTP status code is not handled or not allowed 2026-01-28 13:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/work-benches/packing_workbenches/stationary_packing_workbenches>: HTTP status code is not handled or not allowed 2026-01-28 13:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/butt-splice-heat-shrink-12-10-awg-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/fiber_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-28 13:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241027-pin-chain-lettuce-onion-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 13:07:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/laptop_charging_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-ac-parallel-30rpm-cm38p17fz10c>: HTTP status code is not handled or not allowed 2026-01-28 13:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-saga-frameless-safety-glasses-matte-black-anti-fog-in-outdoor-lens>: HTTP status code is not handled or not allowed 2026-01-28 13:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 106066 pages (at 90 pages/min), scraped 52970 items (at 43 items/min) 2026-01-28 13:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-king-kutter-6011-replacement-cone-includes-1-1-8-cone>: HTTP status code is not handled or not allowed 2026-01-28 13:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-multi-band-face-cover-neck-gaiter-american-flag>: HTTP status code is not handled or not allowed 2026-01-28 13:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66253161395-gemini-bench-and-pedestal-wheel-10-inch-x-1-1-2-inch-x-1-1-4-inch-60-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 13:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-wall-bin-accessory-bin-divider-sold-pack-of-6-15>: HTTP status code is not handled or not allowed 2026-01-28 13:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66623399141-bluefire-plastic-flat-flap-disc-t27-4-1-2-inch-x-7-8-inch-p40-grit-zirconia-alumina>: HTTP status code is not handled or not allowed 2026-01-28 13:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kyorene-pro-nitrile-coated-general-purpose-work-gloves-2xl-gray-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 13:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-strap-1>: HTTP status code is not handled or not allowed 2026-01-28 13:08:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/laptop_charging_cabinets landed on page that is not a product page. 2026-01-28 13:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7501-coated-waterproof-winter-work-gloves-medium-gray-case>: HTTP status code is not handled or not allowed 2026-01-28 13:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/task-chair-mid-back-18-12-21-12h-seat-cream>: HTTP status code is not handled or not allowed 2026-01-28 13:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-long-divider-sold-pack-of-6-8>: HTTP status code is not handled or not allowed 2026-01-28 13:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-watch-your-step-sign-4544-3-x-9>: HTTP status code is not handled or not allowed 2026-01-28 13:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanger-coupler-for-runway-rails-for-hubbell-250-lb-capacity-tool-cranes>: HTTP status code is not handled or not allowed 2026-01-28 13:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241139-plate-adjusting-easy-slicer-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 13:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-barstools-white-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 13:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/item-ml1-040-ab4-front-panel-mounting-disconnet-switches-front-mount-4-hole>: HTTP status code is not handled or not allowed 2026-01-28 13:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/item-ml2-063-ar3-front-panel-mounting-disconnet-switches-front-mount-4-hole>: HTTP status code is not handled or not allowed 2026-01-28 13:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-chairs-light-gray-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 13:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb2100-radband-2-banded-earplugs-25db-orange-pods-orange-band>: HTTP status code is not handled or not allowed 2026-01-28 13:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breathing-wall-air-filtration-panel-1-worker-co-monitor>: HTTP status code is not handled or not allowed 2026-01-28 13:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/induction-buffet-table-7552383-medium-oak-76-x-30>: HTTP status code is not handled or not allowed 2026-01-28 13:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-4-centerset-gooseneck-faucet-lead-freez812b42>: HTTP status code is not handled or not allowed 2026-01-28 13:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-use-indoor-outdoor-large-yellow-box-2-lights-2-int-sensors-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 13:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-46-child-size-round-outdoor-steel-picnic-table-expanded-metal-green>: HTTP status code is not handled or not allowed 2026-01-28 13:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1041116-dispenser-cup-4-sctn-wire>: HTTP status code is not handled or not allowed 2026-01-28 13:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ankle-cpm>: HTTP status code is not handled or not allowed 2026-01-28 13:08:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bag-2-mil-zipper-lock-with-write-on-label-9-x-12>: HTTP status code is not handled or not allowed 2026-01-28 13:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vpl905lensled-sign-projector-lens-only>: HTTP status code is not handled or not allowed 2026-01-28 13:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010460-burner-u-for-jade-range>: HTTP status code is not handled or not allowed 2026-01-28 13:08:32 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 13:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421545-brush-broiler-w-handle>: HTTP status code is not handled or not allowed 2026-01-28 13:08:32 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:53 2026-01-28 13:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-2-23-3-4-x-23-3-4-pvc-lay-in-tile-in-copper-fantasy-pl5211>: HTTP status code is not handled or not allowed 2026-01-28 13:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741447-door-gasket-36-inch-x-80-inch-for-kolpak-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 13:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/locksets>: HTTP status code is not handled or not allowed 2026-01-28 13:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/funnel-oversized-non-flammable-liquid>: HTTP status code is not handled or not allowed 2026-01-28 13:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012010-motor-for-lincoln-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 13:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1441026-element-208v-6000w-1ph>: HTTP status code is not handled or not allowed 2026-01-28 13:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-90-degree-elbow-1>: HTTP status code is not handled or not allowed 2026-01-28 13:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x9-4-mil-reclosable-poly-bags-w-hang-hole>: HTTP status code is not handled or not allowed 2026-01-28 13:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-w-x-20-d-x-10-h-stackbox-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-w-x-24-d-x-10-h-stackbox-beige>: HTTP status code is not handled or not allowed 2026-01-28 13:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-caster-chairs-coral-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 13:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-storage-cabinet-36x18x78>: HTTP status code is not handled or not allowed 2026-01-28 13:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28x17x70-1-mil-furniture-covers>: HTTP status code is not handled or not allowed 2026-01-28 13:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp203or-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 13:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-sign-projector-lens-proper-ppe-required>: HTTP status code is not handled or not allowed 2026-01-28 13:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x725-6-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 13:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packaging-bidirectional-roller-ultimate-stretch-for-18in-rolls>: HTTP status code is not handled or not allowed 2026-01-28 13:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-adjustable-height-instrument-table-48l-x-24w>: HTTP status code is not handled or not allowed 2026-01-28 13:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10197208-harness-back-chest-hip-d-rings-tongue-buckle-leg-straps-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 13:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 106166 pages (at 100 pages/min), scraped 53020 items (at 50 items/min) 2026-01-28 13:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-dst-classic-single-handle-kitchen-faucet-wspray-chrome>: HTTP status code is not handled or not allowed 2026-01-28 13:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10197206-harness-back-chest-hip-d-rings-tongue-buckle-leg-straps-extra-small>: HTTP status code is not handled or not allowed 2026-01-28 13:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f-series-compression-connector-rg-6-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72in-w-x-36in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10197236-harness-stainless-steel-hardware-back-d-ring-qwik-fit-leg-straps-2xl>: HTTP status code is not handled or not allowed 2026-01-28 13:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012289-steam-trap-1-2-chromed-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 13:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-horizontal-brace-set-3>: HTTP status code is not handled or not allowed 2026-01-28 13:09:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/digital_microscopes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-4-12-paddle-non-lock-small-angle-grinder-6147-31>: HTTP status code is not handled or not allowed 2026-01-28 13:09:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/contactors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weblok-assembly-867030-4-synthetic-to-attachment-7-8-30000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-nylon-ball-carbon-steel-low-profile-flying-saucer-ball-transfer>: HTTP status code is not handled or not allowed 2026-01-28 13:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-72-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x12x72-telescoping-inner-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_microscopes/digital_microscopes>: HTTP status code is not handled or not allowed 2026-01-28 13:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-shelf-truck-36x24x69-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-28 13:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-48-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-starter-60in-w-x-36in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241232-screw-push-rod-guide-ez-slcr-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 13:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241245-spacer-blade-6-notch-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 13:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22x12x8-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:09:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/wiring_devices/contactors landed on page that is not a product page. 2026-01-28 13:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-hydraulic-gear-pump-1-22-cu-in-rev-3-4-dia-straight-shaft>: HTTP status code is not handled or not allowed 2026-01-28 13:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-x2150-2-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 13:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cpu-holder-11-wide-16-deep-20-high-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-21-x-60-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-36in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-x1450-3-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 13:09:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/circulation_reception_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-x-30-extra-long-bench-steel-top-1>: HTTP status code is not handled or not allowed 2026-01-28 13:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delux-e-bulletin-board-cabinet-with-2-sliding-doors-4-feet-h-x-6-feet-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1941103-board-dual-liquid-levelctrl>: HTTP status code is not handled or not allowed 2026-01-28 13:09:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_accessories/trash_can_lids_dollies already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881011-liq-filter-drierdcl083>: HTTP status code is not handled or not allowed 2026-01-28 13:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/circulation_reception_desks>: HTTP status code is not handled or not allowed 2026-01-28 13:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-wide-span-rack-96x48-no-deck-1100-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-36-x-72-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc100xl12-100-cal-cm2-arc-flash-kit-xl-glove-size-12>: HTTP status code is not handled or not allowed 2026-01-28 13:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-0-rubber-voltage-gloves-yellow-size-8-dwh1108y>: HTTP status code is not handled or not allowed 2026-01-28 13:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_accessories/trash_can_lids_dollies>: HTTP status code is not handled or not allowed 2026-01-28 13:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-12-octagone-sign-stop-think-observe-proceed>: HTTP status code is not handled or not allowed 2026-01-28 13:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x24-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/581012-solenoid-valve3-4-inch-120v>: HTTP status code is not handled or not allowed 2026-01-28 13:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-metal-screw-fastener-set-slcfetm20114-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-for-snap-loc-dolly-slac6sb-all-terrain-swivel-brake-6-casters>: HTTP status code is not handled or not allowed 2026-01-28 13:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-72x24x96-starter>: HTTP status code is not handled or not allowed 2026-01-28 13:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-60inw-x-36ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-96x36x72-add-on>: HTTP status code is not handled or not allowed 2026-01-28 13:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 106261 pages (at 95 pages/min), scraped 53072 items (at 52 items/min) 2026-01-28 13:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262078-door-spring-for-franklin-universal-chef>: HTTP status code is not handled or not allowed 2026-01-28 13:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-dexterity-performance-work-glove-mechanics-plus-medium>: HTTP status code is not handled or not allowed 2026-01-28 13:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881108-filter-drier-filter-f-repl-t-core>: HTTP status code is not handled or not allowed 2026-01-28 13:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-36ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262310-drip-tray7-5-8-x-4-1-2-x-2-3-4-for-cecilware-corporation>: HTTP status code is not handled or not allowed 2026-01-28 13:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silvers-19-oz-aluminized-leggings-l-l05nlnlvcxxlg>: HTTP status code is not handled or not allowed 2026-01-28 13:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-24ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51-1198-3-1-2-inch-wc-natural-gas-operator-24vac-12vdc>: HTTP status code is not handled or not allowed 2026-01-28 13:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-60x48x96-add-on>: HTTP status code is not handled or not allowed 2026-01-28 13:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-unlined-bib-overall-30-x-30-brown-bib6dcm30x30>: HTTP status code is not handled or not allowed 2026-01-28 13:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-18ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-36ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-3-sjoow-black>: HTTP status code is not handled or not allowed 2026-01-28 13:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-vac-namur-solenoid-valve-nema-4>: HTTP status code is not handled or not allowed 2026-01-28 13:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-4-hex-head-cap-screw-steel-plain-unc-grade-8-usa-50-pack-452098>: HTTP status code is not handled or not allowed 2026-01-28 13:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wire-decking-72x24x120-starter>: HTTP status code is not handled or not allowed 2026-01-28 13:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-12-x-72-x-18-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metromax-4-36-w-x-24-d-x-74-h-mobile-unit>: HTTP status code is not handled or not allowed 2026-01-28 13:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-36ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-26>: HTTP status code is not handled or not allowed 2026-01-28 13:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amana-06-cu-ft-1200-watt-hd-commercial-microwave>: HTTP status code is not handled or not allowed 2026-01-28 13:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241344-curtain-night-woven-alum-4-w>: HTTP status code is not handled or not allowed 2026-01-28 13:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws104-waveseal-360-constant-tension-hose-clamp-487-681-dia-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11xl08-12-cal-cm2-ultrasoft-arc-flash-kit-with-fr-coverall-xl-glove-size-08>: HTTP status code is not handled or not allowed 2026-01-28 13:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-24ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421119-3-heat-rotary-switch>: HTTP status code is not handled or not allowed 2026-01-28 13:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-36ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-1-2-phillips-pan-head-machine-screw-pkg-of-100-dya66016>: HTTP status code is not handled or not allowed 2026-01-28 13:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-pressure-cntr-g1-2-dbl-solenoid-valve-pilot-spring-cntred-24v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 13:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-3-8-phillips-pan-head-machine-screw-pkg-of-100-dya03012>: HTTP status code is not handled or not allowed 2026-01-28 13:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-pilot-spr-return-1-2-nptf-24v-ac-5va-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 13:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-in-w-x-76-in-h-panel-with-pass-thru-cable-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-female-male-hose-nipple-357-1061021-1-npt-x-1-nh-brass>: HTTP status code is not handled or not allowed 2026-01-28 13:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-1-8-nptf-12v-dc-3w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 13:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-x-6-x-550-feet-12-perforated-air-foam-rolls>: HTTP status code is not handled or not allowed 2026-01-28 13:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv08xl08-8-cal-cm2-arc-flash-kit-with-fr-coverall-xl-glove-size-08>: HTTP status code is not handled or not allowed 2026-01-28 13:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g-1-2-dbl-solenoid-valve-pilot-spring-cntred-12v-dc-3w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 13:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-double-male-hose-nipple-358-2061521-2-npt-x-1-1-2-nh-brass>: HTTP status code is not handled or not allowed 2026-01-28 13:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-assembly-for-wesco-pallet-trucks-241481-984872>: HTTP status code is not handled or not allowed 2026-01-28 13:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-4-x-1-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-28 13:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-6-x-3-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-28 13:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-thick-anti-fatigue-mat-black-36x96>: HTTP status code is not handled or not allowed 2026-01-28 13:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-starter-base-96x36>: HTTP status code is not handled or not allowed 2026-01-28 13:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/residential-pool-spa-dehumidifier-pd120-9-2-amps-261-cfm-110-pints>: HTTP status code is not handled or not allowed 2026-01-28 13:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-8-1-4-x-18-x-9-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-enclosed-satin-letterboard-24-in-w-x-36-in-h>: HTTP status code is not handled or not allowed 2026-01-28 13:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-work-shirt-s-navy-tcgsswn00116smrg00>: HTTP status code is not handled or not allowed 2026-01-28 13:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 106361 pages (at 100 pages/min), scraped 53125 items (at 53 items/min) 2026-01-28 13:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-s-gray-tcg02150857>: HTTP status code is not handled or not allowed 2026-01-28 13:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snow-cone-syrups-lime>: HTTP status code is not handled or not allowed 2026-01-28 13:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-96inw-x-48ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-task-chair-with-perforated-back-black>: HTTP status code is not handled or not allowed 2026-01-28 13:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-96inw-x-48ind-x-72inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamper-cap-400-denier-nylon-20-bushel-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010951-carriage-roller-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 13:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-rack-wall-rack-3>: HTTP status code is not handled or not allowed 2026-01-28 13:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resin-thermal-transfer-ribbon-110mm-x-450m-axr7-plus-outside-ink-resin>: HTTP status code is not handled or not allowed 2026-01-28 13:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resin-thermal-transfer-ribbon-64mm-x-600m-axr600-outside-ink-resin>: HTTP status code is not handled or not allowed 2026-01-28 13:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24w-14-step-steel-rolling-ladder-14d-top-step-wcal-osha-handrail-ca>: HTTP status code is not handled or not allowed 2026-01-28 13:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polyester-mesh-wristlet-l-black-s01mc9xlg>: HTTP status code is not handled or not allowed 2026-01-28 13:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-pres-cntr-spr-cntred-1-8-npt-24v-dc-3w-coil-led>: HTTP status code is not handled or not allowed 2026-01-28 13:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-60inw-x-36ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultraviolet-lamp-toc-for-nanopure-systems>: HTTP status code is not handled or not allowed 2026-01-28 13:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-control-2-0-short-sleeve-t-shirt-3xl-khaki-c52jksr3xl>: HTTP status code is not handled or not allowed 2026-01-28 13:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012066-decal-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 13:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009979-sanitizer-pan-bracket>: HTTP status code is not handled or not allowed 2026-01-28 13:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-utility-shirt-2xl-tan-df2-324ls-kh-2xl>: HTTP status code is not handled or not allowed 2026-01-28 13:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-control-2-0-8482t-shirt-m-navy-c52fksrmd>: HTTP status code is not handled or not allowed 2026-01-28 13:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrs-10l-18w-straight-gal-steel-roller-conveyor-19-roller-dia-15-bf-45-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 13:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw-5l-18w-straight-galvanized-steel-skatewheel-conveyor-16-bf-16-wpf>: HTTP status code is not handled or not allowed 2026-01-28 13:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shaft-1075rpm-115v-34hp>: HTTP status code is not handled or not allowed 2026-01-28 13:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8001512-thermostat-for-american-permanent-ware>: HTTP status code is not handled or not allowed 2026-01-28 13:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx30-dx97-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx24-dx97-h-open-clip-style-6-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanchion-kit-black-6pk-50-of-2-chain-w-c-hooks-incl-2-pole-14-base-41-height>: HTTP status code is not handled or not allowed 2026-01-28 13:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-hairnet-osfm-gray-h01nyhn>: HTTP status code is not handled or not allowed 2026-01-28 13:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-work-shirt-s-light-blue-tcgsswn00119smrg00>: HTTP status code is not handled or not allowed 2026-01-28 13:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-baseball-cap-osfm-navy-dgrupcap>: HTTP status code is not handled or not allowed 2026-01-28 13:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-48inw-x-48ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermobest-8482-split-leg-apron-24-x-26-yellow-a03tc0124x26>: HTTP status code is not handled or not allowed 2026-01-28 13:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-36inw-x-18ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyester-web-sling-light-duty-single-ply-eye-and-eye-10-ft-l-x-2-in-w>: HTTP status code is not handled or not allowed 2026-01-28 13:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-locker-six-tier-12x18x12-6-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010958-retainer-guide-bar-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 13:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-welded-combination-cabinet-36w-x-24d-x-72h-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabric-divider-panel-for-double-workstation>: HTTP status code is not handled or not allowed 2026-01-28 13:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfp41-20um-quantitative-cellulose-filter-paper-ashless-11-0cm-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/total-suspended-solids-1-5um-binderless-glass-microfiber-filter-4-7cm-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:11:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/storage_accessories/storage_shelving_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-hobby-craft-organizer-storage-kit-green-black-32-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 13:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-dock-seal-40-ounce-8-w-x-8-h>: HTTP status code is not handled or not allowed 2026-01-28 13:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/av-base-layer-shirt-3xl-gray-bstavls3xl>: HTTP status code is not handled or not allowed 2026-01-28 13:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-hobby-craft-organizer-storage-kit-galvanized-red-32-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 13:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-utility-shirt-l-tan-df2-324ls-kh-lg>: HTTP status code is not handled or not allowed 2026-01-28 13:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2851058-corer-apple-set-6wedge-w-cover-for-sunkist-juicer>: HTTP status code is not handled or not allowed 2026-01-28 13:11:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/storage_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-48ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holders-9-in-12-in-clear-full-self-adhering>: HTTP status code is not handled or not allowed 2026-01-28 13:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-double-solenoid-valve-ext-pilot-1-8-nptf-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 13:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-person-wall-mount-box-locker-12w-x-12d-x-12h-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 106457 pages (at 96 pages/min), scraped 53170 items (at 45 items/min) 2026-01-28 13:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-standard-tool-storage-kit-black-white-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 13:11:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/t/storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-thru-standard-unassembled-storage-cabinet-36w-x-18d-x-42h-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:12:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/pedestal_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-in-c-in-design-1-in-4-in-magnetic>: HTTP status code is not handled or not allowed 2026-01-28 13:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-ext-pilot-spring-return-g-1-4-24v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 13:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/birdnest-condiment-rack-6-dia-wire-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-28 13:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/t/storage>: HTTP status code is not handled or not allowed 2026-01-28 13:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-adjust-boltless-shelf-truck-with-wood-shelves-16>: HTTP status code is not handled or not allowed 2026-01-28 13:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-1-in-2-in-magnetic-in-c-in-channel>: HTTP status code is not handled or not allowed 2026-01-28 13:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/pedestal_fans>: HTTP status code is not handled or not allowed 2026-01-28 13:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264135-motor-support-assembly-for-imperial-cooking-equipment>: HTTP status code is not handled or not allowed 2026-01-28 13:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-892-central-park-3-light-wall-lantern-w-clear-beveled-glass-old-bronze-7-375w-x-22-75h>: HTTP status code is not handled or not allowed 2026-01-28 13:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-120w-x-42d-x-192h-3320-lbs-cap-per-level-starter-unit>: HTTP status code is not handled or not allowed 2026-01-28 13:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1708-bridgeview-1-light-mini-pendant-mission-dust-bronze-8-5w-x-45h>: HTTP status code is not handled or not allowed 2026-01-28 13:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4593-soho-2-light-semi-flush-fixt-satin-white-glass-polished-chrome-13w-x-10-125h>: HTTP status code is not handled or not allowed 2026-01-28 13:12:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-108w-x-42d-x-144h-4040-lbs-cap-per-level-starter-unit>: HTTP status code is not handled or not allowed 2026-01-28 13:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reel-dispenser-6-axles>: HTTP status code is not handled or not allowed 2026-01-28 13:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kentucky-wildcats-starter-rug-20-inch-x-30-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fruit-fly-control-system-120v-black-covers-1000-square-feet>: HTTP status code is not handled or not allowed 2026-01-28 13:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a324-portable-ph-ise-meter-stara3240>: HTTP status code is not handled or not allowed 2026-01-28 13:12:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 13:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-add-on-60-w-x-30-d>: HTTP status code is not handled or not allowed 2026-01-28 13:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010629-hinge-insert-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 13:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-ball-elbow-for-15-tubing-polished-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precharged-tubing-kit-75-ft-for-units-using-r-404a-refrigerant-75-ft>: HTTP status code is not handled or not allowed 2026-01-28 13:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-42l-x-24w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 13:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2171143-fitting-discharge-256-for-server-products>: HTTP status code is not handled or not allowed 2026-01-28 13:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901203-elbow-ejector-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 13:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-weight-bar-20-lb-black>: HTTP status code is not handled or not allowed 2026-01-28 13:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-cutting-board-1>: HTTP status code is not handled or not allowed 2026-01-28 13:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014212-knob-4-armw-stud-m5-08x15>: HTTP status code is not handled or not allowed 2026-01-28 13:12:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emerald-full-motion-tv-wall-mount-for-13-45-tv-8105>: HTTP status code is not handled or not allowed 2026-01-28 13:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-stretch-waist-flex-twill-cargo-pants-32l-inseam-x-34-12-35-12-waist-navy>: HTTP status code is not handled or not allowed 2026-01-28 13:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-bib-overall-m-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 13:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mild-steel-ramp>: HTTP status code is not handled or not allowed 2026-01-28 13:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-adjustable-one-piece-seal-kelly-green-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3664-waste-drain-overflow-elbow-1-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:12:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-blind-rivet-1-8-x-4-10-button-head-up-to-5-8-grip-aluminum-steel-pkg-of-500>: HTTP status code is not handled or not allowed 2026-01-28 13:12:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton14527>: HTTP status code is not handled or not allowed 2026-01-28 13:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 106549 pages (at 92 pages/min), scraped 53225 items (at 55 items/min) 2026-01-28 13:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/anchors_hangers/wedge_anchors>: HTTP status code is not handled or not allowed 2026-01-28 13:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-stainless-steel-automatic-foam-soap-sanitizer-dispenser-700ml>: HTTP status code is not handled or not allowed 2026-01-28 13:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-72-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 13:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-vinyl-welding-curtain--steel-frame-combo-kit-6w-x-8h-green>: HTTP status code is not handled or not allowed 2026-01-28 13:13:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets landed on page that is not a product page. 2026-01-28 13:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders>: HTTP status code is not handled or not allowed 2026-01-28 13:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/child-universal-life-vest-red-black-20-002-child-red>: HTTP status code is not handled or not allowed 2026-01-28 13:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ms1-angle-mount-for-6-bore-nfpa-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 13:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-tapered-hardboard-60l-x-18w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 13:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24h-steps-stages>: HTTP status code is not handled or not allowed 2026-01-28 13:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012699-relay-power-dpst-120v-for-vollrath-idea-company>: HTTP status code is not handled or not allowed 2026-01-28 13:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton14756>: HTTP status code is not handled or not allowed 2026-01-28 13:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-3-12-expansion-file-pockets-straight-tab-letter-redropemanila-25box>: HTTP status code is not handled or not allowed 2026-01-28 13:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bandsaws-jet-708754b>: HTTP status code is not handled or not allowed 2026-01-28 13:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-rescue-tube-with-brass-clips-red-guard-logo-10-203-red>: HTTP status code is not handled or not allowed 2026-01-28 13:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011473-disconect-1-2-inch-male-female>: HTTP status code is not handled or not allowed 2026-01-28 13:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4ft-long-shirred-pleat-skirting-16h-stage-red>: HTTP status code is not handled or not allowed 2026-01-28 13:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fanny-pack-stuffed-with-cpr-maskbandagesgauze-red-10-103-red-s1>: HTTP status code is not handled or not allowed 2026-01-28 13:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-utility-cart-27-x-16-x-32-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 13:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-660mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-supertab-pocket-redrope-5-14-accordion-expansion-letter-10box>: HTTP status code is not handled or not allowed 2026-01-28 13:13:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-pie-unit-carpet-36w-x-16h-stage-units-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-150mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trimline-waste-container-15-gallon-gray-34201523>: HTTP status code is not handled or not allowed 2026-01-28 13:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chicago-pneumatic-mini-impact-wrench-w-single-handed-forward-reverse-cp7739-9900-rpm-1-2-drive>: HTTP status code is not handled or not allowed 2026-01-28 13:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-set-hardboard-96l-x-36w-8h-16h-24h-two-guard-rails>: HTTP status code is not handled or not allowed 2026-01-28 13:13:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/hanging_file_folders landed on page that is not a product page. 2026-01-28 13:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-desiccant-dehumidifier-dd400-8-amps-1-8-kw-71-1-2-pints>: HTTP status code is not handled or not allowed 2026-01-28 13:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-100mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-3xlt-black>: HTTP status code is not handled or not allowed 2026-01-28 13:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1591156-belt-ax56>: HTTP status code is not handled or not allowed 2026-01-28 13:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-oversize-15-x-24-11-1312>: HTTP status code is not handled or not allowed 2026-01-28 13:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1728-threaded-insert-6-32-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-male-clevis-bracket-al-mount-32-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 13:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-box-pleat-skirting-24h-stage-red>: HTTP status code is not handled or not allowed 2026-01-28 13:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallplate-1-g-gfci-ss>: HTTP status code is not handled or not allowed 2026-01-28 13:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-solid-galvanized-shelf-cart-48x24-3-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pain-relief-roll-on-3-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 13:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-590mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-55901-6-14-screw-adj-6mm-tube-x-14-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 13:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-170mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-1162-compression-door-gasket-24-3-4-inch-x-26-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-10mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 106645 pages (at 96 pages/min), scraped 53277 items (at 52 items/min) 2026-01-28 13:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-24-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 13:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-level-wide-span-rack-96w-x-36d-no-deck-1100-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-36-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 13:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-55222-10-12-10mm-tube-x-12-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 13:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-lined-safety-parka-jacket-xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 13:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-60-w-x-24-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 13:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-record-storage-rack-gray-96-wx-48-d-x-60-h-with-polyethylene-file-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2531374-connector-butt-10-12-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-900mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-16>: HTTP status code is not handled or not allowed 2026-01-28 13:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-72x48x60-with-3-shelves-wood-deck-900-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 13:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-42-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 13:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-diameter-w-1-water-hardening-drill-rod-36-inch-length>: HTTP status code is not handled or not allowed 2026-01-28 13:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dykem84006-brite-markmedium-red-marker-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 13:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-85953-06-06-screw-adj-38-tube-x-38-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 13:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wraps-6-x-18-blue-package-of-3>: HTTP status code is not handled or not allowed 2026-01-28 13:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-inch-id-x-58-inch-od-x-0020-inch-steel-arbor-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-expandable-add-on-rack-48x12x84-gray-with-3-level-wood-deck-1500lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 13:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wraps-2-1-2-x-48-blue-package-of-3>: HTTP status code is not handled or not allowed 2026-01-28 13:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2041066-element-warmer-120v-1275w-for-hatco-corp>: HTTP status code is not handled or not allowed 2026-01-28 13:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-48x36x96-gray-with-3-shelves-laminated-deck-1200-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 13:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264063-grinder-plate-3-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-10mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-lt-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-82242n-02-02-18-male-g-thread-x-18-female-nptf-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 13:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-210mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 13:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-strip-10-outlets-4>: HTTP status code is not handled or not allowed 2026-01-28 13:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-89222-53-02-532-tube-x-18-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 13:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-heavy-duty-shelving-36x18x72-with-4-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-sanding-low-profile-finishing-disc-pad-20290-5-inch-x-11-16-inch-5-16-24-external-44-holes>: HTTP status code is not handled or not allowed 2026-01-28 13:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/316-inch-x-332-inch-x-14-inch-x-18-inch-step-keystock-type-2-zinc-plated-12-inch-length>: HTTP status code is not handled or not allowed 2026-01-28 13:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-heavy-duty-shelving-36x12x84-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-60110-04-04-14-tube-x-14-swift-fit-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1201191-brake-kit-f-5-inch-caster-w-hdwr>: HTTP status code is not handled or not allowed 2026-01-28 13:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-elbow-85110-53-32-532-tube-x-10-32-male-unf-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 13:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-extra-hd-boltless-shelving-add-on-48-in-w-x-12-in-d-x-72-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-extra-shelving-48x24x84-gray-with-5-shelves-1200-lb-cap-per-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-submersible-parts-washer-pump-115v-205gph-at-1ft>: HTTP status code is not handled or not allowed 2026-01-28 13:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxview-premium-ratchet-faceshield-chin-guard-clear-pc-uncoated>: HTTP status code is not handled or not allowed 2026-01-28 13:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-60215-10-14-10mm-tube-x-14-male-bspp-thread-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b50000-series-digital-pressure-gauge-1000-psi-14-npt-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thru-wall-package-drop-wth-tilt-out-door-dvwm0062s-sand>: HTTP status code is not handled or not allowed 2026-01-28 13:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx30-dx97-h-open-clip-style-4-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx24-dx97-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0794102-lfrk-909-ck2-4-2nd-check-complete>: HTTP status code is not handled or not allowed 2026-01-28 13:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1271154-door-gasket-13-1-2-x-20-3-4-od>: HTTP status code is not handled or not allowed 2026-01-28 13:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-145-tefc-1ph-3450rpm-c145k34fb3hh>: HTTP status code is not handled or not allowed 2026-01-28 13:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ls12-sliding-arm-for-model-e5-bt-a12-ul>: HTTP status code is not handled or not allowed 2026-01-28 13:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50123-plastic-barrier-chain-on-a-reel-hdpe-2-x125-8-51mm-purple>: HTTP status code is not handled or not allowed 2026-01-28 13:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-safety-strap-for-120in-bay-j-hook-attachment-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 106743 pages (at 98 pages/min), scraped 53326 items (at 49 items/min) 2026-01-28 13:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30036-100-plastic-barrier-chain-hdpe-alternating-colors-1-5-x100-6-38mm-black-red>: HTTP status code is not handled or not allowed 2026-01-28 13:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd12h-916-inch-band-heavy-duty-3-pc-part-ss-hose-clamp-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 13:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swim-pull-buoy-junior-size-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50009-25-plastic-barrier-chain-hdpe-2-x25-8-51mm-gold>: HTTP status code is not handled or not allowed 2026-01-28 13:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-tech-saucer-rack-insert-30012-30016-30087-racks>: HTTP status code is not handled or not allowed 2026-01-28 13:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011343-drawer-rail-for-turbo-air-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 13:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1107-steel-reinforced-epoxy-putty-4-oz>: HTTP status code is not handled or not allowed 2026-01-28 13:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-eyebolt-1-1-2-6-x-24l-2-1-2-id-5-3-16-od-plain-pattern-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-fashion-mat-five-eighths-3x5-cocoa-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-stanchion-storage-cart-18-post-capacity-stcart18v>: HTTP status code is not handled or not allowed 2026-01-28 13:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-elbow-82510n-04-14-nptf-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 13:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx18-dx85-h-closed-clip-style-5-shelf-starter>: HTTP status code is not handled or not allowed 2026-01-28 13:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30325-10-s-hook-acetal-copolymer-1-5-safety-pink-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b40h-part-ss-worm-gear-hose-clamp-2-116-inch-3-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd24sn-916-inch-band-heavy-duty-4-pc-hose-clamp-1-18-inch-1-1516-inch-clmpgdiam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 13:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-products-compostable-sugarcane-dinnerware-12-oz-bowl-white-1000carton>: HTTP status code is not handled or not allowed 2026-01-28 13:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264048-kason-10217000012-door-edgemount-hinge-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 13:15:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/single_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-145-tefc-1ph-1740rpm-p145k17fc2mm>: HTTP status code is not handled or not allowed 2026-01-28 13:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-eyewash-station-sign-replacement>: HTTP status code is not handled or not allowed 2026-01-28 13:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-band-metric-worm-gear-hose-clamp-20mm-32mm-clamping-diam-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-3ph-1750-1450rpm-c6t17fb150bb>: HTTP status code is not handled or not allowed 2026-01-28 13:15:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:15:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-s-tall-khaki>: HTTP status code is not handled or not allowed 2026-01-28 13:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/single_phase_motors>: HTTP status code is not handled or not allowed 2026-01-28 13:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nswduf251jwj-1-white-diamond-series-ultra-low-temperature-freezer-25-cu-ft-230v>: HTTP status code is not handled or not allowed 2026-01-28 13:15:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/masonry_hammer_drill_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:15:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-helix-work-shirt-xs-regular-dark-khaki>: HTTP status code is not handled or not allowed 2026-01-28 13:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014050-gasket-door-60-x-40cm>: HTTP status code is not handled or not allowed 2026-01-28 13:15:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-28 13:15:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers landed on page that is not a product page. 2026-01-28 13:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-5xl-regular-navy>: HTTP status code is not handled or not allowed 2026-01-28 13:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2031102-cover-slicer-26-1-4-inch-x22-1-4-inch-for-globe-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 13:15:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-bookcase-two-shelf-34-1-2-w-x-12-5-8-d-x-29-h-black>: HTTP status code is not handled or not allowed 2026-01-28 13:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biodegradable-grill-cleaning-cloth-wipes-80-wipes-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers>: HTTP status code is not handled or not allowed 2026-01-28 13:15:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_cups already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-dh-air153-work-shirt-5xl-tall-khaki>: HTTP status code is not handled or not allowed 2026-01-28 13:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-magnetic-floor-sweeper-30-w>: HTTP status code is not handled or not allowed 2026-01-28 13:15:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/bookcases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/184254-cs750-ntep-medium-duty-hanging-scale-500-lb-x-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 13:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009654-24v-3-pole-40amp-contactor-912-3040-00>: HTTP status code is not handled or not allowed 2026-01-28 13:15:45 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/sockets_bits/masonry_hammer_drill_bits landed on page that is not a product page. 2026-01-28 13:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-mannequin-leg-27-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 13:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-auxiliary-air-tank-horizontal-20-gallon-capacity-125-psi>: HTTP status code is not handled or not allowed 2026-01-28 13:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_bookcases_hutches>: HTTP status code is not handled or not allowed 2026-01-28 13:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-thermostat-bkt2a-almond-double-pole-for-k-cb-baseboard-heaters>: HTTP status code is not handled or not allowed 2026-01-28 13:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-zip-front-hoodie-l-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 13:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500va-omnitower-full-isolation-avr-6-outlet>: HTTP status code is not handled or not allowed 2026-01-28 13:15:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/foodservice_disposables/disposable_cups landed on page that is not a product page. 2026-01-28 13:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1021171-drain-lock-floor-35-inch-rd-smith>: HTTP status code is not handled or not allowed 2026-01-28 13:15:53 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/bookcases landed on page that is not a product page. 2026-01-28 13:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exo2-mwr-02-smodern-water-resistant>: HTTP status code is not handled or not allowed 2026-01-28 13:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 106832 pages (at 89 pages/min), scraped 53367 items (at 41 items/min) 2026-01-28 13:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/isobar-6-outlet-10ft-1790-joules>: HTTP status code is not handled or not allowed 2026-01-28 13:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inflationdeflation-kit-for-otr-tire-service>: HTTP status code is not handled or not allowed 2026-01-28 13:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-hand-lever-actuated-valve-1-4-nptf-ports>: HTTP status code is not handled or not allowed 2026-01-28 13:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-lampholder-u-clip-snap-in-socket-w-12-in-leads>: HTTP status code is not handled or not allowed 2026-01-28 13:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-canopy-hood-stainless-steel-96w-30d-18h>: HTTP status code is not handled or not allowed 2026-01-28 13:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321292-5-c-collet-closer-model-cc-zx-for-zx-lathe-models>: HTTP status code is not handled or not allowed 2026-01-28 13:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccgrc-led-combo-exitemergency-unit-w-remote-capacity-green-letters-white-ni-cad-battery>: HTTP status code is not handled or not allowed 2026-01-28 13:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-folding-chair-padded-vinyl-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bath-swag-canopy-kit-antique-brass-finish>: HTTP status code is not handled or not allowed 2026-01-28 13:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyn6-dynamo-industrial-led-emergency-unit-wet-rated-3w-led-lamps>: HTTP status code is not handled or not allowed 2026-01-28 13:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-low-pressure-sodium-surface-mount-porcelain-socket-w-single-end-bayonet-base>: HTTP status code is not handled or not allowed 2026-01-28 13:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-canteen-table-with-2-seats-surface-mount-red>: HTTP status code is not handled or not allowed 2026-01-28 13:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-2398-5-inch-swivel-stem-caster-for-1-inch-od-tubing-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-drawer-parts-storage-cabinet-18-drawers-2>: HTTP status code is not handled or not allowed 2026-01-28 13:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxford-96-rectangular-ada-picnic-table-with-umbrella-hole-surface-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 13:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-213-tefc-3ph-1760-1450rpm-c213t17wb4dd>: HTTP status code is not handled or not allowed 2026-01-28 13:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-145-tefc-3ph-3490rpm-c145t34wk2ff>: HTTP status code is not handled or not allowed 2026-01-28 13:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madison-8-ipe-wood-flat-bench-without-back-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-surface-mat-2-foot-wide-black-with-yellow-borders>: HTTP status code is not handled or not allowed 2026-01-28 13:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8004166-elec-ce-dv-smt-cpu-assembly-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 13:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-45-degree-elbow-adapter-38-tube-x-18-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 13:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optio-fry-pan-3812-2-1-4-depth-21-gauge-natural-finish>: HTTP status code is not handled or not allowed 2026-01-28 13:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/best-value-plastic-platform-truck-36-l-x-24-w-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-1582-walk-in-cooler-freezer-door-handle>: HTTP status code is not handled or not allowed 2026-01-28 13:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/richmond-8-leaning-rail-in-ground-mount-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tefc-1ph-1725rpm-c6c17wk2pp>: HTTP status code is not handled or not allowed 2026-01-28 13:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-threaded-glazed-porcelain-socket-w-cap-ring-1-8-ips>: HTTP status code is not handled or not allowed 2026-01-28 13:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mogul-to-medium-reducer>: HTTP status code is not handled or not allowed 2026-01-28 13:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009969-napkin-dispenser-stainless-steelincounter-plastic-top>: HTTP status code is not handled or not allowed 2026-01-28 13:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-fender-washer-19-i-d-047-08-thick-steel-zinc-grade-2-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 13:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341959-condensate-drain-pan>: HTTP status code is not handled or not allowed 2026-01-28 13:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711244-cover-front-w-bun-chute-toastr-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 13:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fishing-retractable-gear-tether-0tr2-013-large-48extention-black-carabiner>: HTTP status code is not handled or not allowed 2026-01-28 13:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5ml-serological-pipet-bulk-packed-in-bags-sterile-500-case>: HTTP status code is not handled or not allowed 2026-01-28 13:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2ml-serological-pipet-bulk-packed-in-bags-sterile-case-of-800>: HTTP status code is not handled or not allowed 2026-01-28 13:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixing-bowl-xmix0702-7-quart-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:16:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012444-relay-flange-basew-cover-for-electro-freeze>: HTTP status code is not handled or not allowed 2026-01-28 13:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-red-pin-heavy-duty-dock-boards-19>: HTTP status code is not handled or not allowed 2026-01-28 13:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sec-alum-70-crossover-truckbox-single-lid-low-pro-deep-black-79210921>: HTTP status code is not handled or not allowed 2026-01-28 13:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266332-magnetic-latch-strike>: HTTP status code is not handled or not allowed 2026-01-28 13:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-56-truck-chest-single-lid-matte-black-79212438>: HTTP status code is not handled or not allowed 2026-01-28 13:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-red-pin-heavy-duty-dock-boards-24>: HTTP status code is not handled or not allowed 2026-01-28 13:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdn-stick-ups-thermometers>: HTTP status code is not handled or not allowed 2026-01-28 13:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-square-table-with-2-imme-armless-barstools-coral-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 13:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/labware_utensils/laboratory_bottles_jars>: HTTP status code is not handled or not allowed 2026-01-28 13:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-of-1-viton-square-profile-o-rings-dash-232>: HTTP status code is not handled or not allowed 2026-01-28 13:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-7-drawer-shallow-depth-cabinet-gray-no-lock-15>: HTTP status code is not handled or not allowed 2026-01-28 13:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321508-gh-1640zx-large-spindle-bore-lathe-w-acu-rite-200s-dro-taper-attachment-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 13:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-roof-hatch-powder-coated-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 106930 pages (at 98 pages/min), scraped 53416 items (at 49 items/min) 2026-01-28 13:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/servewell-sl-hot-food-table-38214-4-well-23-3-amp>: HTTP status code is not handled or not allowed 2026-01-28 13:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6t63a03k-zinc-die-cast-adjustable-lever-w-steel-components-3-8-16-x-2-36-stud>: HTTP status code is not handled or not allowed 2026-01-28 13:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-plastic-tote-without-lid-18-1-2x13-1-4x12-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-dripcut-dredges-caps-4908-01-extra-large-brown-lid>: HTTP status code is not handled or not allowed 2026-01-28 13:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-caster-chairs-light-gray-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 13:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681325-tray-sediment-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 13:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-barstools-navy-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 13:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-vg-bulk-rack-60-w-x-15-d-x-60-h-starter-with-corrugated-steel-decking-textured-putty>: HTTP status code is not handled or not allowed 2026-01-28 13:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-wide-drawer-bolted-shelving-36-w-x-24-d-x-4-half-h-400lb-capacity-textured-evergreen>: HTTP status code is not handled or not allowed 2026-01-28 13:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-cut-polypropylene-strapping-with-plastic-buckle-1-2-x-17-yellow-skid-lot>: HTTP status code is not handled or not allowed 2026-01-28 13:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ladder-for-model-242027-hand-operated-lift-truck>: HTTP status code is not handled or not allowed 2026-01-28 13:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-for-chair-model-b1400>: HTTP status code is not handled or not allowed 2026-01-28 13:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-60x48x84-with-3-levels-wire-deck-1300-lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upholstered-textured-fabric-stacking-chair-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-valuestar-electric-chain-hoist-with-chain-container-1-000-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 13:17:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/stacking_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl-series-lateral-file-36-wide-5-drawer-lava-red>: HTTP status code is not handled or not allowed 2026-01-28 13:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-barstools-navy-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 13:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-folding-table-96-x-30-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 13:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-narrow-aisle-high-end-platform-truck-60-l-x-24-w>: HTTP status code is not handled or not allowed 2026-01-28 13:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690019-jtm-1-vertical-milling-machine-w-x-axis-powerfeed-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 13:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acry-fab-1-column-lid-holder-fml-1-1-column-7-1-4-x-6-1-2-x-5-3-8>: HTTP status code is not handled or not allowed 2026-01-28 13:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-hp-7-inch-vertical-grinder>: HTTP status code is not handled or not allowed 2026-01-28 13:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/stacking_chairs>: HTTP status code is not handled or not allowed 2026-01-28 13:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-locking-laptop-tray-fits-up-to-17-laptops-black>: HTTP status code is not handled or not allowed 2026-01-28 13:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acry-fab-flush-mount-vertical-lid-dispenser-fmdl-3v-3-stack-black-18-7-8-x-6-3-4-x-13-1-4>: HTTP status code is not handled or not allowed 2026-01-28 13:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261126291-metalite-cloth-roll-2-inch-w-x-50-yds-aluminum-oxide-p320-grit>: HTTP status code is not handled or not allowed 2026-01-28 13:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-36-heavy-duty-gas-griddle-936ggm-3-burners-90000-btu>: HTTP status code is not handled or not allowed 2026-01-28 13:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-tractor-stool-polyurethane-black>: HTTP status code is not handled or not allowed 2026-01-28 13:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8231tvk-hi-vis-tool-tethering-safety-vest-kit-type-r-class-2-2xl3xl>: HTTP status code is not handled or not allowed 2026-01-28 13:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-adapter-kit-12-vdc>: HTTP status code is not handled or not allowed 2026-01-28 13:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-69957398015-neon-fiber-disc-9-1-8-inch-x-7-8-inch-seeded-gel-ceramic-24-grit>: HTTP status code is not handled or not allowed 2026-01-28 13:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011390-kason-11268000014-hinge-spring-1-1-4-inch-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 13:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-barstools-light-gray-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 13:17:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-instacut-3-1-2-corer-dicer-wedger-15022-8-section-wedge-cut-wall-mount>: HTTP status code is not handled or not allowed 2026-01-28 13:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-20-belt-sander>: HTTP status code is not handled or not allowed 2026-01-28 13:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261131461-paper-psa-disc-roll-5-inch-dia-p150-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 13:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-342-xl-press-tool-with-18v-25ah-advanced-lithium-ion-battery>: HTTP status code is not handled or not allowed 2026-01-28 13:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rw10-3s1y-lightweight-rain-jacket-hi-viz-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-28 13:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rw10-es1y-lightweight-rain-pants-hi-viz-lime-5xl>: HTTP status code is not handled or not allowed 2026-01-28 13:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1681561-hanger-basket-14-5-16-inch-wide-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 13:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manhole-shield-fits-28-30-32-diameter-manholes-high-impact-polymer>: HTTP status code is not handled or not allowed 2026-01-28 13:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/refrigerated_merchandisers_display_cases>: HTTP status code is not handled or not allowed 2026-01-28 13:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kyorene-pro-cut-resistant-gloves-hct-micro-foam-nitrile-coated-ansi-a4-3xl-gray-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 13:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-prep-spoons-4689830-12-long-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kensington-wireless-presenter-pro-with-green-laser>: HTTP status code is not handled or not allowed 2026-01-28 13:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-neo-seal-closet-gasket-kit>: HTTP status code is not handled or not allowed 2026-01-28 13:17:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/label_makers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-197-11-deluxe-blow-gun-1-4-npt>: HTTP status code is not handled or not allowed 2026-01-28 13:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107026 pages (at 96 pages/min), scraped 53465 items (at 49 items/min) 2026-01-28 13:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-184-turbo-blow-gun-engine-cleaner-3-8-npt>: HTTP status code is not handled or not allowed 2026-01-28 13:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x24x11-barn-shelter-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-use-indoor-outdoor-large-yellow-interior-box-1-light-2-sensors-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 13:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-clutch-screwdriver-115>: HTTP status code is not handled or not allowed 2026-01-28 13:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapt-660-on-ear-bluetooth-wireless-headset>: HTTP status code is not handled or not allowed 2026-01-28 13:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-d-wall-bracket-interlake-pallet-rack>: HTTP status code is not handled or not allowed 2026-01-28 13:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riv-nut-tool-300-14-20-head>: HTTP status code is not handled or not allowed 2026-01-28 13:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-46-child-size-square-outdoor-steel-picnic-table-expanded-metal-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1291140-kason-67003002520-filter-baffle>: HTTP status code is not handled or not allowed 2026-01-28 13:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcslargxve-gas-cylinder-shoulder-label>: HTTP status code is not handled or not allowed 2026-01-28 13:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/justrite-replacement-lid-55-gallon-cease-fire-steel-waste-receptacle>: HTTP status code is not handled or not allowed 2026-01-28 13:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/740x-portable-therapeutic-ultrasound-unit-with-3-applicators>: HTTP status code is not handled or not allowed 2026-01-28 13:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visual-feedback-meter-only-for-biofeedback-device>: HTTP status code is not handled or not allowed 2026-01-28 13:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761147-portable-griddle-top2-burner-for-rocky-mountain-cookware>: HTTP status code is not handled or not allowed 2026-01-28 13:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-43>: HTTP status code is not handled or not allowed 2026-01-28 13:18:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_machines/label_makers landed on page that is not a product page. 2026-01-28 13:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/framing-nails-fr113-238b-2-3-8-x-113-plastic-collated-coated-smooth-shank-2000-bx>: HTTP status code is not handled or not allowed 2026-01-28 13:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-receiving-desk-wall-mount-22-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 13:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ruck-task-stool-laminate-seat-mid-back-pinnacle>: HTTP status code is not handled or not allowed 2026-01-28 13:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-finish-nails-sf16-25-16-gauge-2-1-2-1000-bx>: HTTP status code is not handled or not allowed 2026-01-28 13:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-platter-cart-12-trays-10-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-syle-2-48-3-8-x-24-3-8-pvc-glue-up-tile-in-brushed-aluminum-pg5108>: HTTP status code is not handled or not allowed 2026-01-28 13:18:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-w-x-15-3-4-d-x-7-1-2-h-stackbox-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ohaus-valor-7000-compact-food-digital-scale-30-lbs-x-0-001-lbs-11-13-16-x-8-7-8-platform>: HTTP status code is not handled or not allowed 2026-01-28 13:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241030-pusher-assembly-1-4-inch-easy-onion-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 13:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-90-degree-three-socket-tee-4>: HTTP status code is not handled or not allowed 2026-01-28 13:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp211or-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 13:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp204bu-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 13:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-sign-projector-lens-4-way-stop>: HTTP status code is not handled or not allowed 2026-01-28 13:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locbin-wall-storage-3-220rws-w-rails-medium-red-26-pc>: HTTP status code is not handled or not allowed 2026-01-28 13:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp304-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 13:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs>: HTTP status code is not handled or not allowed 2026-01-28 13:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761148-4-range-burner-broiler-for-rocky-mountain-cookware>: HTTP status code is not handled or not allowed 2026-01-28 13:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kee-klamp-plug-2>: HTTP status code is not handled or not allowed 2026-01-28 13:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/105-watt-t5-compact-fluorescent-light-bulb-medium-base-B1229103>: HTTP status code is not handled or not allowed 2026-01-28 13:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-dst-classic-single-handle-kitchen-faucet-chrome>: HTTP status code is not handled or not allowed 2026-01-28 13:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-72in-w-x-48in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-howard-instrument-shelf-table-36l-x-24w-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x7x9-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-marker-booklet-0-9>: HTTP status code is not handled or not allowed 2026-01-28 13:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-manual-pot-pan-dish-detergent-original-scent-5-gallon-cube>: HTTP status code is not handled or not allowed 2026-01-28 13:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-72-x-18-black>: HTTP status code is not handled or not allowed 2026-01-28 13:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10193151-standard-twin-leg-energy-absorbing-6-tie-back-lanyard-csa-z259-11-17>: HTTP status code is not handled or not allowed 2026-01-28 13:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-shrink-tubing-1-2-1-4-4-l>: HTTP status code is not handled or not allowed 2026-01-28 13:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10194885-harness-back-hip-shoulder-d-rings-quick-connect-leg-straps-standard>: HTTP status code is not handled or not allowed 2026-01-28 13:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10193124-standard-single-leg-fixed-lanyard-3-36c-small-snaphooks>: HTTP status code is not handled or not allowed 2026-01-28 13:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-48-light-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-extra-heavy-duty-boltless-shelving-starter-42in-w-x-15in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-36-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011722-bin-thermostat-for-kold-draft-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 13:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-18-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/421399-fan-light-switch>: HTTP status code is not handled or not allowed 2026-01-28 13:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-14-x-54-light-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-18-x-42-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packard-foot-mount-120208-240va-output-20va>: HTTP status code is not handled or not allowed 2026-01-28 13:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-3-4x8-3-4x48-double-wall-telescoping-outer-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107122 pages (at 96 pages/min), scraped 53504 items (at 39 items/min) 2026-01-28 13:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22x20x20-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tutco-crankcase-92-460-35-12>: HTTP status code is not handled or not allowed 2026-01-28 13:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-plastic-platform-truck-36-x-24-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266145-release-inside>: HTTP status code is not handled or not allowed 2026-01-28 13:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inox-grinding-wheel-36-grit-type-27-9-dia-x-1-4-t-x-7-8-cntr-hole-dia-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-extra-heavy-duty-boltless-shelving-add-on-96in-w-x-36in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-x2150-2-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 13:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29-in-corner-unit-69-wide-49-deep-29-high-oiled-cherry>: HTTP status code is not handled or not allowed 2026-01-28 13:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x2900-1-5-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 13:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-storage-cabinet-48-w-x-24-d-x-78-h-with-removable-bins-2>: HTTP status code is not handled or not allowed 2026-01-28 13:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x2900-1-5-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 13:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-top-organizer-high-capacity-58-wide-12-deep-18-high-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 13:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/144-x-36-extra-long-bench-plastic-top>: HTTP status code is not handled or not allowed 2026-01-28 13:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-21-x-48-grey-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kushion-walk-unslotted-black-3-8in-x-3ft-x-5ft>: HTTP status code is not handled or not allowed 2026-01-28 13:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lxt-174-cordless-7-1-4-circular-saw-kit-lithium-ion-brushless-5-0ah-18v-6000rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261348-base-plated-steel-for-edlund>: HTTP status code is not handled or not allowed 2026-01-28 13:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-48in-w-x-12in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-36-x-18-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x3-clear-face-document-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 13:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-2x10-safety-data-sheets-sds-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 13:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-14-x-36-x-16-white>: HTTP status code is not handled or not allowed 2026-01-28 13:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-32-octagone-sign-stop>: HTTP status code is not handled or not allowed 2026-01-28 13:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72in-w-x-30in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72in-w-x-36in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72in-w-x-24in-d-x-96in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-12-triangular-sign-forklift-caution-no-text>: HTTP status code is not handled or not allowed 2026-01-28 13:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-10-rd-pack-smooth>: HTTP status code is not handled or not allowed 2026-01-28 13:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torq-bar-blender-64-oz-copolyester-jar-toggle-switch-2-speed-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 13:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-span-rack-72x36x96-with-3-shelves-wire-deck-900-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 13:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-0-rubber-voltage-gloves-yellow-size-10-dwh11010y>: HTTP status code is not handled or not allowed 2026-01-28 13:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-24ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-swing-door-18-x-18-x-18-white>: HTTP status code is not handled or not allowed 2026-01-28 13:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-coverall-m-tan-tcgscwn00112mdrg00>: HTTP status code is not handled or not allowed 2026-01-28 13:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-30ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-20-round-sign-pedestrian-traffic>: HTTP status code is not handled or not allowed 2026-01-28 13:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2491116-limit-high-110f-for-amana-litton>: HTTP status code is not handled or not allowed 2026-01-28 13:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010495-pilot-burner-nat>: HTTP status code is not handled or not allowed 2026-01-28 13:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-closed-cntr-1-8-nptf-220v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 13:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-48-x-13-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-14-x-36-x-18-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-20-octagone-sign-stop-think-observe-proceed>: HTTP status code is not handled or not allowed 2026-01-28 13:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-60inw-x-48ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11-lg08-12-cal-cm2-ultrasoft-arc-flash-kit-with-fr-coverall-lg-glove-size-08>: HTTP status code is not handled or not allowed 2026-01-28 13:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1381246-thermometer-dual-temp-wtr-res-for-taylor-precision-products-lp>: HTTP status code is not handled or not allowed 2026-01-28 13:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-96inw-x-36ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-work-glove-waterproof-winter-w-kevlar-medium>: HTTP status code is not handled or not allowed 2026-01-28 13:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11b2x11-12-cal-ultrasoft-arc-flash-kit-coverall-balaclava-2xl-glove-size-11>: HTTP status code is not handled or not allowed 2026-01-28 13:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-48inw-x-48ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461544-control-temperature>: HTTP status code is not handled or not allowed 2026-01-28 13:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc402x10-40-cal-compliance-arc-flash-kit-w-short-coat-bib-overall-2xl-sz-10>: HTTP status code is not handled or not allowed 2026-01-28 13:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107220 pages (at 98 pages/min), scraped 53552 items (at 48 items/min) 2026-01-28 13:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-42inw-x-15ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-unlined-bib-overall-30-x-32-brown-bib6dcm30x32>: HTTP status code is not handled or not allowed 2026-01-28 13:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-drawer-layout-36-compartments-3-h>: HTTP status code is not handled or not allowed 2026-01-28 13:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wgr42-l-left-side-rack-protector-42>: HTTP status code is not handled or not allowed 2026-01-28 13:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-2-3-4-hex-head-cap-screw-steel-plain-unc-grade-8-usa-100-pack-452092>: HTTP status code is not handled or not allowed 2026-01-28 13:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-pilot-valve-spring-return-1-4-110v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 13:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-3-soow-black>: HTTP status code is not handled or not allowed 2026-01-28 13:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381284-locking-connector-for-cres-cor>: HTTP status code is not handled or not allowed 2026-01-28 13:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-42inw-x-30ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metromax-4-30-w-x-24-d-x-63-h-mobile-unit>: HTTP status code is not handled or not allowed 2026-01-28 13:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14l-kevlar-terrycloth-gloves-yellow-large-g51ktlw00214>: HTTP status code is not handled or not allowed 2026-01-28 13:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-36ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-96inw-x-48ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-15ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11xl10-12-cal-cm2-ultrasoft-arc-flash-kit-with-fr-coverall-xl-glove-size-10>: HTTP status code is not handled or not allowed 2026-01-28 13:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-accessory-window-sold-per-carton-1>: HTTP status code is not handled or not allowed 2026-01-28 13:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f2005-1-tee-fitting>: HTTP status code is not handled or not allowed 2026-01-28 13:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8003-34-tubing-x-34-male-npt-fitting>: HTTP status code is not handled or not allowed 2026-01-28 13:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-48-kraft-heavy-duty-mailing-tubes-with-caps>: HTTP status code is not handled or not allowed 2026-01-28 13:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-truck-rectangular-folding-tables-holds-12>: HTTP status code is not handled or not allowed 2026-01-28 13:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-36ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-13984-nfl-denver-broncos-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-28 13:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g-1-2-dbl-solenoid-valve-pilot-spring-cntred-24v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 13:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241203-pusher-assembly-3-16-easy-onion-2-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 13:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241212-blade-6-section-wedger-ii-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 13:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2411018-fuse-20a-for-panasonic-microwave>: HTTP status code is not handled or not allowed 2026-01-28 13:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelving-96x24x51>: HTTP status code is not handled or not allowed 2026-01-28 13:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bus-pan-white>: HTTP status code is not handled or not allowed 2026-01-28 13:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-plain-hose-nozzle-572-1521-1-1-2-nh-brass>: HTTP status code is not handled or not allowed 2026-01-28 13:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv08ngxl-8-cal-cm2-arc-flash-kit-with-fr-coverall-xl-no-gloves>: HTTP status code is not handled or not allowed 2026-01-28 13:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc100-lg09-100-cal-cm2-arc-flash-kit-lg-glove-size-09>: HTTP status code is not handled or not allowed 2026-01-28 13:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrawedge-wedge-anchor-3-8-16-x-3-3-4-steel-zinc-pkg-of-100-157090>: HTTP status code is not handled or not allowed 2026-01-28 13:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-toggle-bolt-1-4-20-x-4-phillips-slotted-round-head-steel-zinc-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-7-1-2-x-3-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 13:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-bin-plastic-stacking-bins-1-3-4-x-3-1-4-x-3-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedestal-for-premier-poppers>: HTTP status code is not handled or not allowed 2026-01-28 13:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-36ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slanted-basket-138-12-chrome-plated-steel-17-7-8l-x-11w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 13:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hotdog-mini-cart-steamer>: HTTP status code is not handled or not allowed 2026-01-28 13:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nesting-basket-127-12-chrome-plated-steel-26l-x-10w-x-2h>: HTTP status code is not handled or not allowed 2026-01-28 13:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ft-x10-ft-aluminum-frame-vinyl-tackboard-ocean>: HTTP status code is not handled or not allowed 2026-01-28 13:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-task-chair-with-perforated-back-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 13:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-open-cntr-spr-cntred-1-4-nptf-12v-dc-3w-coil-led>: HTTP status code is not handled or not allowed 2026-01-28 13:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beam-seating-guest-chairs-3-seater-navy-white>: HTTP status code is not handled or not allowed 2026-01-28 13:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-rack-wall-rack-11>: HTTP status code is not handled or not allowed 2026-01-28 13:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-drawcord-nylon-red-straight>: HTTP status code is not handled or not allowed 2026-01-28 13:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-ropeless-nylon-yellow-straight>: HTTP status code is not handled or not allowed 2026-01-28 13:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-closed-cntr-spr-cntred-1-4-nptf-12v-dc-3w-coil-led>: HTTP status code is not handled or not allowed 2026-01-28 13:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-red-exit-w-battery>: HTTP status code is not handled or not allowed 2026-01-28 13:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24w-9-step-steel-rolling-ladder-14d-top-step-wcal-osha-handrail-ca>: HTTP status code is not handled or not allowed 2026-01-28 13:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24w-10-step-steel-rolling-ladder-14d-top-step-wcal-osha-handrail-ca>: HTTP status code is not handled or not allowed 2026-01-28 13:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charles-gallo-drain-gun-for-ac-condensate-lines-gg-1>: HTTP status code is not handled or not allowed 2026-01-28 13:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/265870-meat-grip-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 13:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-3xl-light-blue-tcg01190228>: HTTP status code is not handled or not allowed 2026-01-28 13:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-m-ln-gray-tcg01150217>: HTTP status code is not handled or not allowed 2026-01-28 13:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-dunnage-rack-24-w-x-18-d-2>: HTTP status code is not handled or not allowed 2026-01-28 13:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-shut-off-control-valve>: HTTP status code is not handled or not allowed 2026-01-28 13:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321961-grommet-1-1-4-inch-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 13:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107319 pages (at 99 pages/min), scraped 53593 items (at 41 items/min) 2026-01-28 13:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-scale-cart-6-bu-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jrs-10l-24w-straight-gal-steel-roller-conveyor-1-3-8-roller-dia-22-bf-45-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 13:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-2xl-gray-tcg01150225>: HTTP status code is not handled or not allowed 2026-01-28 13:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-lab-stool-with-moveable-arm-black>: HTTP status code is not handled or not allowed 2026-01-28 13:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-ext-pilot-g-1-8-12v-dc-3w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 13:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrs-10l-18w-straight-gal-steel-roller-conveyor-19-roller-dia-15-bf-3-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 13:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-56-amp-115v-1075rpm-reversible>: HTTP status code is not handled or not allowed 2026-01-28 13:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-1-4-nptf-24v-dc-3w-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 13:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-g-1-2-single-solenoid-valve-pilot-spr-return-220v-ac-5va-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 13:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanchion-2-red-w-c-hooks-incl-chain-extra-2-pole-14-base-41-height>: HTTP status code is not handled or not allowed 2026-01-28 13:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx24-dx97-h-open-clip-style-4-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-pilot-spr-return-1-4-nptf-24v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 13:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012739-overlay-gr14sptk-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 13:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-winter-knit-cap-12-x-7-1-4-black-hnc2bk>: HTTP status code is not handled or not allowed 2026-01-28 13:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-open-cntr-spr-cntred-g1-4-24v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 13:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481161-shelf-ref-16-inch-d-x-15-9-16-w-left-side-w-clips-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 13:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-welded-deluxe-storage-cabinet36w-x-24d-x-78-3-4-h-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-pegboard-hook-kit-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-cal-flame-resistant-coveralls-5x-ln-navy-tcg02160886>: HTTP status code is not handled or not allowed 2026-01-28 13:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-thru-deluxe-unassembled-steel-wardrobe-cabinet-36w-x-18d-x-78h-black>: HTTP status code is not handled or not allowed 2026-01-28 13:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-cntred-closed-cntr-g1-2-24v-dc-2w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 13:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281027-combination-rack>: HTTP status code is not handled or not allowed 2026-01-28 13:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-pack-2-panels-green-metal-32-x-32-x-3-4>: HTTP status code is not handled or not allowed 2026-01-28 13:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-60inw-x-36ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-30ind-x-36inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-ext-pilot-spring-return-g-1-8-220v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 13:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-single-solenoid-valve-ext-pilot-spring-return-g-1-4-110v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 13:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-ring-3-1-2-id-x-4-od-x-1-8>: HTTP status code is not handled or not allowed 2026-01-28 13:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-12ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561024-body-valve-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-28 13:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-double-solenoid-valve-ext-pilot-1-4-nptf-24v-dc-2w-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 13:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-1-1-2-security-machine-screw-flat-hex-socket-head-302hq-18-8-ss-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-bore-chuck-head-tire-service-gauge-max-16-psi-s-982>: HTTP status code is not handled or not allowed 2026-01-28 13:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-open-cntr-g1-4-dbl-solenoid-valve-pilot-spring-cntred-220v-ac-5va-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 13:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holders-1-1-2-in-6-in-clear-removable>: HTTP status code is not handled or not allowed 2026-01-28 13:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printable-magnetic-sheet-ink-jet-letter>: HTTP status code is not handled or not allowed 2026-01-28 13:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pizza-peel-16-x-17-42-o-a-l-wood>: HTTP status code is not handled or not allowed 2026-01-28 13:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1822-dupont-5-light-chandelier-satin-white-brushed-nickel-21-5w-x-16-75h>: HTTP status code is not handled or not allowed 2026-01-28 13:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-108w-x-36d-x-144h-4040-lbs-cap-per-level-add-on-unit>: HTTP status code is not handled or not allowed 2026-01-28 13:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-96w-x-48d-x-120h-4900-lbs-cap-per-level-add-on-unit>: HTTP status code is not handled or not allowed 2026-01-28 13:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-120w-x-36d-x-96h-3320-lbs-cap-per-level-add-on-unit>: HTTP status code is not handled or not allowed 2026-01-28 13:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-swivel-plate-caster-8-tpr-wheel-with-brake>: HTTP status code is not handled or not allowed 2026-01-28 13:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-108w-x-42d-x-96h-4040-lbs-cap-per-level-starter-unit>: HTTP status code is not handled or not allowed 2026-01-28 13:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spreaderssprayers-baregroundliquiddeicer-gallon-640169>: HTTP status code is not handled or not allowed 2026-01-28 13:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-inch-l-power-supply-with-mounting-rail-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14ab-x-1-1-4-security-sheet-metal-screw-flat-torx-head-302hq-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-120w-x-48d-x-120h-3320-lbs-cap-per-level-starter-unit>: HTTP status code is not handled or not allowed 2026-01-28 13:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-aluminum-female-short-shank-coupling-with-brass-nut>: HTTP status code is not handled or not allowed 2026-01-28 13:21:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/lighted_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/die-cast-aluminum-exit-sign-self-powered-double-face>: HTTP status code is not handled or not allowed 2026-01-28 13:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12ab-x-1-1-4-security-sheet-metal-screw-flat-hex-socket-head-302hq-18-8-ss-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:21:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4004-parker-4-light-vanity-wall-sandstone-etched-polished-chrome-26w-x-9-5h>: HTTP status code is not handled or not allowed 2026-01-28 13:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-buna-n-cam-and-groove-gasket>: HTTP status code is not handled or not allowed 2026-01-28 13:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107413 pages (at 94 pages/min), scraped 53635 items (at 42 items/min) 2026-01-28 13:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usb-serial-adapter-usb-db9m>: HTTP status code is not handled or not allowed 2026-01-28 13:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-edge-work-bench-top-plastic-72-w-x-36-d-x-1-5-8-thick>: HTTP status code is not handled or not allowed 2026-01-28 13:21:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-192-3-light-vanity-wall-strip-polished-chrome-18w-x-4-75h>: HTTP status code is not handled or not allowed 2026-01-28 13:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-lcd-plasma-30-50-screen-global-workbenches>: HTTP status code is not handled or not allowed 2026-01-28 13:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-wire-shelving-add-on-36w-x-12-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 13:22:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/lighted_exit_signs landed on page that is not a product page. 2026-01-28 13:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40-x-3-4-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:22:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_kits landed on page that is not a product page. 2026-01-28 13:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-75-bourbon-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-532-1-light-die-cast-bulk-head-frosted-diffuser-semi-gloss-white-6-5w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 13:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-eagle-174-jacket-green-inner-cuffs-storm-fly-front-hood-snaps-xl>: HTTP status code is not handled or not allowed 2026-01-28 13:22:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 13:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-639-cap-stake-post-old-bronze-2w-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 13:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1833-dupont-2-light-vanity-wall-satin-white-brushed-nickel-13w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 13:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-489-briton-1-light-hanging-lantern-clear-textured-black-6w-x-9-5h>: HTTP status code is not handled or not allowed 2026-01-28 13:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-liner-1-16-clear-acrylic-30-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 13:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-liner-1-16-clear-acrylic-30-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 13:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mag-drive-350-gph-pump>: HTTP status code is not handled or not allowed 2026-01-28 13:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281974-salamander-skin>: HTTP status code is not handled or not allowed 2026-01-28 13:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-t-shirt-short-sleeve-1-pocket-fl-lime-small>: HTTP status code is not handled or not allowed 2026-01-28 13:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-non-ansi-hi-viz-t-shirt-14109-lime>: HTTP status code is not handled or not allowed 2026-01-28 13:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hypoid-saw-5477nb-7-1-4-15-amp>: HTTP status code is not handled or not allowed 2026-01-28 13:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-shock-absorption-mount-conical-32mm-height-270-max-load-254-38-m8-55>: HTTP status code is not handled or not allowed 2026-01-28 13:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanley-201-piece-drive-mechanics-tool-set>: HTTP status code is not handled or not allowed 2026-01-28 13:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-530-2-light-flood-light-w-adjust-swivel-motion-sensor-white-14w>: HTTP status code is not handled or not allowed 2026-01-28 13:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-womens-safety-work-boots-alloy-toe-8h-size-8-desert-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x24x60-with-4-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x12x96-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-t-shirt-long-sleeve-1-pocket-silver-tape-type-r-class-3-fl-lime-md>: HTTP status code is not handled or not allowed 2026-01-28 13:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-cylindrical-brush-for-b-250-r-bp-2sb-r-120-scrubber-soft-6-906-855-0>: HTTP status code is not handled or not allowed 2026-01-28 13:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661024-buster-ice-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 13:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4966-boxwood-1-light-outdoor-wall-clear-beveled-textured-black-9-875w-x-19h>: HTTP status code is not handled or not allowed 2026-01-28 13:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321076-gauge-glass-5-8-inch-x-18-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-meter-electrically-conductive-suction-hose-pvc-70-70-mm-diameter-6-907-297-0>: HTTP status code is not handled or not allowed 2026-01-28 13:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-steel-wheel-riser-102-x-18-x-6>: HTTP status code is not handled or not allowed 2026-01-28 13:22:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/vacuum_attachments_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-526-1-light-die-cast-bulk-head-clear-diffuser-semi-gloss-white-9w-x-11h>: HTTP status code is not handled or not allowed 2026-01-28 13:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ivm-42-13-1-exp-hepa-industrial-vacuum-120v-11-1-gallons-1-043-700-0>: HTTP status code is not handled or not allowed 2026-01-28 13:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-rear-light-kit-for-km-150-ride-on-sweeper-8-636-953-0>: HTTP status code is not handled or not allowed 2026-01-28 13:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mover-tricycle-500-cap-3speed-coaster-brake-w-20-in-wheels-black>: HTTP status code is not handled or not allowed 2026-01-28 13:22:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpg05-0901-pull-strap-and-bulkhead-replacement-for-se-4330-se-4930>: HTTP status code is not handled or not allowed 2026-01-28 13:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-flexible-stake-24-in-h-white>: HTTP status code is not handled or not allowed 2026-01-28 13:22:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/delineator_posts_channelizer_cones already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plc-03406-4oz-natural-hdpe-cylinder-bottle-with-24-410-yorker-cap-and-red-tip-case-of-48>: HTTP status code is not handled or not allowed 2026-01-28 13:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-099-2-light-ceiling-flush-mount-large-crystal-white-drum-white-10w-x-7h>: HTTP status code is not handled or not allowed 2026-01-28 13:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_accessories_supplies/vacuum_attachments_tools>: HTTP status code is not handled or not allowed 2026-01-28 13:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-jewelers-saw-6-inch-dia-x-064-inch-face-x-1-inch-hole-x-232-teeth>: HTTP status code is not handled or not allowed 2026-01-28 13:22:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buckhorn-tl4844030051000-48x44-agricultural-bulk-box-lid-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 13:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porcelain-dry-erase-white-board-36-x-24-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-48inw-x-18ind-x-60inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:22:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/traffic_parking_lot_safety/delineator_posts_channelizer_cones landed on page that is not a product page. 2026-01-28 13:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-110-1-light-ceiling-fixt-white-ball-polished-chrome-6w-x-7-25h>: HTTP status code is not handled or not allowed 2026-01-28 13:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-3241-ballerina-3-light-chandelier-frosted-white-brushed-nickel-20w-x-17h>: HTTP status code is not handled or not allowed 2026-01-28 13:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-add-on-36inw-x-12ind-x-84inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-plain-slitting-saw-5-inch-dia-x-1-16-inch-face-x-1-1-4-inch-hole-x-40-teeth>: HTTP status code is not handled or not allowed 2026-01-28 13:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/decorative_lighting/flush_mount_lights>: HTTP status code is not handled or not allowed 2026-01-28 13:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-24ind-x-96inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legal-multimedia-drawer-includes-4-dividers-black>: HTTP status code is not handled or not allowed 2026-01-28 13:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warehouse-rack-bins-binw232042-23w-x-42d-x-20h-kraft-price-each>: HTTP status code is not handled or not allowed 2026-01-28 13:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-piping-system-26-piece-air-push-to-connect-union-with-1-2-x-100-nylon-tubing>: HTTP status code is not handled or not allowed 2026-01-28 13:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-1-step-steel-rolling-ladder-10-d-top-step-1>: HTTP status code is not handled or not allowed 2026-01-28 13:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ball-automotive-t-style-coupler-1-4-x-3-8-standard-hose-barb-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009568-cap-tube-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 13:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-fabric-chair-with-nylon-base-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266296-pull-recesed-blk-abs-5-7-16-inch-w-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 13:22:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/lawn_mowers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-48inw-x-24ind-x-84inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-100-ft-3000-psi-without-hose-hand-crank>: HTTP status code is not handled or not allowed 2026-01-28 13:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107509 pages (at 96 pages/min), scraped 53664 items (at 29 items/min) 2026-01-28 13:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-ratio-led-floodlight-4800l-34w-50k-wide-dist-knuckle-mt-120-277v>: HTTP status code is not handled or not allowed 2026-01-28 13:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dehumidifier-bluetooh-industrial-grade-97-pints-a-day-dehumidification-with-water-pump-k100e>: HTTP status code is not handled or not allowed 2026-01-28 13:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-single-rivet-laminate-deck-36inw-x-18ind-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handtruck-c-114-10pn-loop-handle-10-semi-pneumatic-wheels-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-wash-3-8-50-ft-4500-psi-pressure-wash>: HTTP status code is not handled or not allowed 2026-01-28 13:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/lawn_mowers>: HTTP status code is not handled or not allowed 2026-01-28 13:23:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/lifting_attachments already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-plain-trolley-10-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 13:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009778-magnet-only-henny-penny-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 13:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alliance-hose-spiral-wrap-hose-guard-for-11-16-to-7-8-od-50>: HTTP status code is not handled or not allowed 2026-01-28 13:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/configurable-multi-platform-access-system-63-h-tower-support-mpasst7>: HTTP status code is not handled or not allowed 2026-01-28 13:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-replacement-fork-1-1-2w-x-42l-4-inch-thick-4-inch-thick-economy>: HTTP status code is not handled or not allowed 2026-01-28 13:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-conductor-grounded-orange-cord-300v-1>: HTTP status code is not handled or not allowed 2026-01-28 13:23:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/casters_wheels/wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/lifting_attachments>: HTTP status code is not handled or not allowed 2026-01-28 13:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-computer-lan-workstation-1>: HTTP status code is not handled or not allowed 2026-01-28 13:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-add-on-36inw-x-24ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031085-probe-temp-fryer-2006-after-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 13:23:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ovens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-12ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-24ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-alloy-latching-j-hook-650-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/material-handling/casters_wheels/wheels>: HTTP status code is not handled or not allowed 2026-01-28 13:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-with-removable-bins-6>: HTTP status code is not handled or not allowed 2026-01-28 13:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-curtain-wall-partition-with-clear-vision-strip-24-x-8>: HTTP status code is not handled or not allowed 2026-01-28 13:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-with-removable-bins-39>: HTTP status code is not handled or not allowed 2026-01-28 13:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-eater-absorber-and-neutralizer-5-gallon-4903-005>: HTTP status code is not handled or not allowed 2026-01-28 13:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-low-headroom-geared-trolley-3-ton-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 13:23:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/cooking_equipment/ovens landed on page that is not a product page. 2026-01-28 13:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-starter-48inw-x-24ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-service-door-double-panel-4ft-x-7ft>: HTTP status code is not handled or not allowed 2026-01-28 13:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-safety-view-locker-six-tier-12x15x12-18-doors-unassembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342292-wire-heater-65-ohm-al-25>: HTTP status code is not handled or not allowed 2026-01-28 13:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25t4-g9-cl-25w-halogen-w-double-loop-base>: HTTP status code is not handled or not allowed 2026-01-28 13:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caged-walk-through-fixed-access-ladder-yellow-6>: HTTP status code is not handled or not allowed 2026-01-28 13:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caged-walk-through-fixed-access-ladder-gray-6>: HTTP status code is not handled or not allowed 2026-01-28 13:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500par56q-wfl-500w-sealed-beam-w-mogul-end-prong-base>: HTTP status code is not handled or not allowed 2026-01-28 13:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661103-switch-assembly-358-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 13:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-in-room-cabinet-with-5-quart-sharps-container-beige>: HTTP status code is not handled or not allowed 2026-01-28 13:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennant-nobles-litetrac-viper-whirlwind-vacuum-bag>: HTTP status code is not handled or not allowed 2026-01-28 13:23:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-swirl-hose-1-4-x-1-4-x-48-for-dormont-71-1418-48>: HTTP status code is not handled or not allowed 2026-01-28 13:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datum-tekstak-laptop-storage-locker-5-tier-electronic-lock-2>: HTTP status code is not handled or not allowed 2026-01-28 13:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-security-computer-cabinet-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 13:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-literature-mailers-18l-x-12w-x-3h-white-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 13:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/press-guard-for-859asd-100-ton-shop-press-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-28 13:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-socket-1-2-drive-21mm-100-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 13:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispense-rite-countertop-silverware-condiment-and-napkin-organizer>: HTTP status code is not handled or not allowed 2026-01-28 13:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-heavy-duty-36-w-x-18-d-x-84-h-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 13:23:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs landed on page that is not a product page. 2026-01-28 13:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266160-leg-3-4-10-6-inch-h-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-deluxe-literature-mailers-15-18l-x-11-18w-x-3h-kraft-pk-of-50>: HTTP status code is not handled or not allowed 2026-01-28 13:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/federal-signal-mounting-kit-27xst-lights>: HTTP status code is not handled or not allowed 2026-01-28 13:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-stick-1-5-16-3-4-drive-475-ft-lbs-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pf-paper-vacuum-bag-for-pf-upright-vacuum-pf82hf>: HTTP status code is not handled or not allowed 2026-01-28 13:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-26l-x-26w-x-10h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107602 pages (at 93 pages/min), scraped 53705 items (at 41 items/min) 2026-01-28 13:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-floor-crane-500-lb-capacity-7>: HTTP status code is not handled or not allowed 2026-01-28 13:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-16-mag-wheel-power-socket-1-2-drive>: HTTP status code is not handled or not allowed 2026-01-28 13:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ram-screw-type-10-ton-17-l-compressed>: HTTP status code is not handled or not allowed 2026-01-28 13:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfd18w-4p-841-18w-compact-fluorescent-w-g24vq-2-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 13:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7a19-50-7w-compact-fluorescent-w-medium-base-natural-light>: HTTP status code is not handled or not allowed 2026-01-28 13:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-rd02065800-rs-pro-series-54-w-x-23-1-2-d-x-21-3-8-h-8-drawer-red-tool-chest>: HTTP status code is not handled or not allowed 2026-01-28 13:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-pdu-basic-ap7516>: HTTP status code is not handled or not allowed 2026-01-28 13:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-smart-ups-rt-surt192xlbp>: HTTP status code is not handled or not allowed 2026-01-28 13:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfs5w-841-5w-compact-fluorescent-w-g23-base-coolwhite>: HTTP status code is not handled or not allowed 2026-01-28 13:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-steel-table-1-shelf-48x24-1200-lb-capacity-unassembled-2>: HTTP status code is not handled or not allowed 2026-01-28 13:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-wall-corrugated-sheets-72l-x-60w-kraft-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 13:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bl-pc-replacement-post-carbon-filter-for-bottless-coolers>: HTTP status code is not handled or not allowed 2026-01-28 13:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ft36hl-841-env-36w-compact-fluorescent-w-2g11-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 13:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5t2c-41-5w-compact-fluorescent-w-candelabra-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 13:24:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-wall-corrugated-boxes-w-hand-holes-20l-x-20w-x-12h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f8t5-ww-8w-fluorescent-w-minature-bi-pin-base-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 13:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-paper-filter-bag-16-gallon-wet-dry-vacuum>: HTTP status code is not handled or not allowed 2026-01-28 13:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zerk-kit-80pc-metric>: HTTP status code is not handled or not allowed 2026-01-28 13:24:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/wall_corner_bumper_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prem-met-air-fresh-66-oz-arsl-baby-powder-12>: HTTP status code is not handled or not allowed 2026-01-28 13:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-uca-u-channel-adaptor-bases-post-mount>: HTTP status code is not handled or not allowed 2026-01-28 13:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2532000-module-control-solid-state>: HTTP status code is not handled or not allowed 2026-01-28 13:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-alcohol-hand-sanitizer-1-5-ml-single-use-250-packets-per-case>: HTTP status code is not handled or not allowed 2026-01-28 13:24:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs>: HTTP status code is not handled or not allowed 2026-01-28 13:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-2>: HTTP status code is not handled or not allowed 2026-01-28 13:24:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-ton-ironworker-3-phase-380v-50-hz-w-hydraulic-accessory-pack-iw120-3p380-ac900>: HTTP status code is not handled or not allowed 2026-01-28 13:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_railings_machine_guards/wall_corner_bumper_guards>: HTTP status code is not handled or not allowed 2026-01-28 13:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13r2041-13w-compact-fluorescent-w-medium-base-bright-white>: HTTP status code is not handled or not allowed 2026-01-28 13:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-48-backless-bench-tekwood-natural>: HTTP status code is not handled or not allowed 2026-01-28 13:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-decorative-light-fixture-9w-3000k-120v-4-12l-juneau-lensbrushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 13:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scotch-brite-griddle-polish-pad-4x525-320>: HTTP status code is not handled or not allowed 2026-01-28 13:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/481129-hi-limit-fenwal-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 13:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-short-divider-17>: HTTP status code is not handled or not allowed 2026-01-28 13:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-short-divider-12>: HTTP status code is not handled or not allowed 2026-01-28 13:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines>: HTTP status code is not handled or not allowed 2026-01-28 13:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-short-divider-22>: HTTP status code is not handled or not allowed 2026-01-28 13:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e67-7-97w-miniatures-w-bi-pin-base>: HTTP status code is not handled or not allowed 2026-01-28 13:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-resistant-gloves-micro-foam-nitrile-coated-ansi-a1-2xl-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511514-pilot-burner-w-electrode-for-bk-industries>: HTTP status code is not handled or not allowed 2026-01-28 13:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krp-350fr-fire-rated-access-door-for-wall-ceil-paddle-handle-30wx30h-krppdw3030ph>: HTTP status code is not handled or not allowed 2026-01-28 13:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bicycle-parking-rack-adjustable-5-bike-capacity-single-sided-version>: HTTP status code is not handled or not allowed 2026-01-28 13:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straddle-type-floor-lock-for-lifts>: HTTP status code is not handled or not allowed 2026-01-28 13:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-pin-compact-fluorescent-light-bulb-gx23-2-base-6500k-13w-daylight-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:24:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 13:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-inch-traffic-cone-non-reflective-solid-orange-base-10-lbs>: HTTP status code is not handled or not allowed 2026-01-28 13:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x5t3-1-4-f-5w-miniature-sealed-beams-w-festoon-base-12v>: HTTP status code is not handled or not allowed 2026-01-28 13:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mx-keyed-exterior-door-key-latch-24wx24h-mxp2424clk>: HTTP status code is not handled or not allowed 2026-01-28 13:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-strip-door-curtain-6-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 13:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-214m-flush-access-door-for-all-surf-lock-22wx30h-mp3022l>: HTTP status code is not handled or not allowed 2026-01-28 13:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25ca10-12v-25w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 13:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-stairway-slope-work-platform-w-handrails-24in-x-36in-platform>: HTTP status code is not handled or not allowed 2026-01-28 13:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pedestrian-strip-door-curtain-4-w-x-8-h>: HTTP status code is not handled or not allowed 2026-01-28 13:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-mltss-32-316l>: HTTP status code is not handled or not allowed 2026-01-28 13:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-1-4-thick-x-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 13:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107695 pages (at 93 pages/min), scraped 53745 items (at 40 items/min) 2026-01-28 13:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-12-x-13-scratch-resistant-ribbed-clear-strip-strip-curtains>: HTTP status code is not handled or not allowed 2026-01-28 13:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-acetal-plastic-bar-3-4-thick-x-1-1-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t8-fluorescent-bulb-g13-base-32w-3050-lumens-5000k-daylight-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-stripe-2ply-straight-coolant-hose-gates-24222>: HTTP status code is not handled or not allowed 2026-01-28 13:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pld-fluorescent-bulb-gx24q3-base-26w-1800-lumens-3500k-neutral-white-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 13:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-linea-l-desk-and-electric-height-adjustable-table-white>: HTTP status code is not handled or not allowed 2026-01-28 13:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-1-8-diameter-7x7-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 13:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10g12-1-2-w-10w-incandescent-w-candelabra-base>: HTTP status code is not handled or not allowed 2026-01-28 13:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-2-thick-x-3-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 13:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-vs-electric-chain-hoist-1-8-ton-10-foot-lift-5-3-32-fpm-115-1-60-3-step-iv-control>: HTTP status code is not handled or not allowed 2026-01-28 13:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-plastic-bar-2-thick-x-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-vs-electric-chain-hoist-1-ton-10-foot-lift-2-6-16-fpm-115-1-60-2-step-control>: HTTP status code is not handled or not allowed 2026-01-28 13:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omni-pir-ultrasonic-ceiling-low-voltage-sensor-with-500-sq-ft-range-off-white>: HTTP status code is not handled or not allowed 2026-01-28 13:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omni-pir-ceiling-low-voltage-sensor-with-1500-sq-ft-range-off-white>: HTTP status code is not handled or not allowed 2026-01-28 13:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-8-thick-x-1-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 13:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-steel-reel-holder-workbench-72-w>: HTTP status code is not handled or not allowed 2026-01-28 13:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-replaceable-blade-sn-ip>: HTTP status code is not handled or not allowed 2026-01-28 13:25:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-plastic-rod-3-diameter-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-727-m-style-industrial-plug-1-4-mnpt-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-cf-l40se-835-singletube>: HTTP status code is not handled or not allowed 2026-01-28 13:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-f39t5ho-835-34in85cri>: HTTP status code is not handled or not allowed 2026-01-28 13:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-2-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 13:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-tongs-9-inches-black-48case>: HTTP status code is not handled or not allowed 2026-01-28 13:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerlift-hitch-hauler-for-pl65-and-pl20-maintenance-platforms>: HTTP status code is not handled or not allowed 2026-01-28 13:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/third-brake-light-assembly-standard-ignition-btl130>: HTTP status code is not handled or not allowed 2026-01-28 13:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-777w-a-style-aro-plug-1-4-mnpt-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-hinge-door-3w-x-7h-12-5-1-4-overall-height>: HTTP status code is not handled or not allowed 2026-01-28 13:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-4-sided-cage-w-3-hinged-door-12-6-x-12-6-x-12-5-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 13:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012327-hi-limit-snap-disc-for-carter-hoffmann>: HTTP status code is not handled or not allowed 2026-01-28 13:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireway-pallet-rack-tear-drop-upright-frame-96x48>: HTTP status code is not handled or not allowed 2026-01-28 13:25:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/marking_warning_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:25:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1381259-label-temperature-160f-for-taylor-precision-products-lp>: HTTP status code is not handled or not allowed 2026-01-28 13:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/composite-reel-spring-rewind-with-1-4-hose-3>: HTTP status code is not handled or not allowed 2026-01-28 13:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-3-step-steel-rolling-ladder-20-d-top-step-2>: HTTP status code is not handled or not allowed 2026-01-28 13:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-long-steel-back-white-deck-scrub-with-stiff-polypropylene-bristles>: HTTP status code is not handled or not allowed 2026-01-28 13:25:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441633-thermocouple-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-28 13:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-small-bottle-brush>: HTTP status code is not handled or not allowed 2026-01-28 13:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/building_construction_tape/marking_warning_tape>: HTTP status code is not handled or not allowed 2026-01-28 13:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/lighted_emergency_exit_signs/self_luminous_emergency_exit_signs>: HTTP status code is not handled or not allowed 2026-01-28 13:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-6en-series-sump-pump-10feet-power-cord>: HTTP status code is not handled or not allowed 2026-01-28 13:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-leg-telescoping-easel-with-pad-retainer-adjusts-34-to-64-aluminum-black>: HTTP status code is not handled or not allowed 2026-01-28 13:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-018-b>: HTTP status code is not handled or not allowed 2026-01-28 13:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 13:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banda-cage-pendant-light-fixture-e26-base-40w-blackgold>: HTTP status code is not handled or not allowed 2026-01-28 13:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-metric-hss-tm-x-hand-taps-set-of-3-m12-x-1-75-taper-plug-and-bottoming-chamfer>: HTTP status code is not handled or not allowed 2026-01-28 13:25:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m42-x-4-5-d10-taper-chamfer-iso-metric-hss-tm-x-hand-tap-ground-rh-6-flutes>: HTTP status code is not handled or not allowed 2026-01-28 13:25:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/vapor_tight_light_fixtures already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-linear-vapor-tight-fixture-surface-mount-253850w-120-277v-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-forklift-pocket-lift-7000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x30-maple-square-edge-power-apron-production-bench-blue-32313819>: HTTP status code is not handled or not allowed 2026-01-28 13:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-ageia0163-mens-6-internal-met-guard-work-boot-brown-size-10-m>: HTTP status code is not handled or not allowed 2026-01-28 13:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par30-recessed-light-bulb-e26-base-9w-850-lumens-5000k-daylight-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 13:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107788 pages (at 93 pages/min), scraped 53787 items (at 42 items/min) 2026-01-28 13:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-237-ss>: HTTP status code is not handled or not allowed 2026-01-28 13:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 13:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761418-claris-system-xxl-for-everpure-filter>: HTTP status code is not handled or not allowed 2026-01-28 13:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/vapor_tight_light_fixtures>: HTTP status code is not handled or not allowed 2026-01-28 13:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/removable-inkjet-laser-filing-labels-2-3-x-3-7-16-white-750-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:26:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_post_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a19-colored-light-bulb-e26-base-3w-100-lumens-red-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 13:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-3-piece-cabinet-set-83w-x-21d-x-80h-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:26:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-suffocation-warning-poly-bags-10-w-x-15-l-1-mil-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-hand-ctrl-remote-logic-unit-only>: HTTP status code is not handled or not allowed 2026-01-28 13:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-sngl-acting-3-bore-1-stroke-sngl-side-lug-mount>: HTTP status code is not handled or not allowed 2026-01-28 13:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-36-d-plastic-laminate-square-edge-with-drawer-riser>: HTTP status code is not handled or not allowed 2026-01-28 13:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-36-d-maple-butcher-block-square-edge-with-drawer-riser>: HTTP status code is not handled or not allowed 2026-01-28 13:26:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/outdoor_lighting_fixtures/outdoor_post_lights landed on page that is not a product page. 2026-01-28 13:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-062-b>: HTTP status code is not handled or not allowed 2026-01-28 13:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-maple-butcher-block-square-edge-with-drawer-riser>: HTTP status code is not handled or not allowed 2026-01-28 13:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-5-port-2-pos-dbl-solenoid-1-4-nptf-24vdc>: HTTP status code is not handled or not allowed 2026-01-28 13:26:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 13:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-brim-hard-hat-sun-shield-for-msa-v-gard-a-s4-m>: HTTP status code is not handled or not allowed 2026-01-28 13:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-16-w-perforated-all-directional-steel-rolling-ladder-w-cal-osha-handrail-cal-pip-7p>: HTTP status code is not handled or not allowed 2026-01-28 13:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010532-burner-valve-w-ext-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 13:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-vertical-file-legal-size-4-drawer-light-gray-18w-x-26-1-2d-x-52h>: HTTP status code is not handled or not allowed 2026-01-28 13:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-steel-stock-picking-ladder-serrated-tread-w-cal-osha-handrail-cal-spl-7-14g>: HTTP status code is not handled or not allowed 2026-01-28 13:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curvo-modern-led-wall-sconce-vanity-light-fixture-10w-650-lumens-4-34l-black>: HTTP status code is not handled or not allowed 2026-01-28 13:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-back-support-with-suspenders-size-25-to-30-1>: HTTP status code is not handled or not allowed 2026-01-28 13:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linkit-18-adjustable-stand-for-450-series-portable-dirt-and-aggregate-conveyors>: HTTP status code is not handled or not allowed 2026-01-28 13:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-station-black-4-x-8-13>: HTTP status code is not handled or not allowed 2026-01-28 13:26:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-10-step-steel-rolling-ladder-21-d-top-step-w-handrails-lock-step-orange-w-cal-osha-handrail-cal-fs103221p-o>: HTTP status code is not handled or not allowed 2026-01-28 13:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-truck-48-l-x-24-w-1400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-truck-72-l-x-30-w-1400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-16-w-stainless-steel-rolling-ladder-w-rails-heavy-duty-serrated-grating-w-cal-osha-handrail-cal-ss624g>: HTTP status code is not handled or not allowed 2026-01-28 13:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-ties-uv-black-4-100-pieces>: HTTP status code is not handled or not allowed 2026-01-28 13:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-dolly-with-open-deck-24-x-16-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rbmag1-ts-storage-cabinet-all-welded-36-wx24-dx72-h-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-28 13:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 13:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-coated-cotton-globe-medium-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 13:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-linear-bar-vanity-light-fixture-182530w-3035-lumens-36l-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 13:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-modern-style-outdoor-vanity-light-fixture-9w-600-lumens-7-14l-black>: HTTP status code is not handled or not allowed 2026-01-28 13:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-16in-gray-straight-section-without-vents-5ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergotron-ds100-triple-monitor-desk-stand>: HTTP status code is not handled or not allowed 2026-01-28 13:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-steel-safety-rolling-ladder-w-weight-actuated-lock-24-w-expanded-step-orange-w-cal-osha-handrail-cal-wa053214x-o>: HTTP status code is not handled or not allowed 2026-01-28 13:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergotron-200-series-combo-arm-mounting-kit-white>: HTTP status code is not handled or not allowed 2026-01-28 13:26:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-24-h-x-12-d-v-bank-merv-14-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 13:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-signs-danger-high-voltage-plastic-7-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 13:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondolashelving-8x16basketwiredivider-796494>: HTTP status code is not handled or not allowed 2026-01-28 13:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-365213-n-bookcase-all-welded-36-wx13-dx52-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 13:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-fr-control-2-0-short-sleeve-tee-type-r-class-3-xlt>: HTTP status code is not handled or not allowed 2026-01-28 13:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valor-2000-compact-v22pwe1501t-bench-scale-3-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-367213-l-grn-bookcase-all-welded-36-wx13-dx72-h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-28 13:26:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-copper-fitting-with-90-long-radius-elbow-c-x-c-1-18-od-x-1-id-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/braided-ss-hose-w-copper-sweat-ends-ul-approved-for-refrigerant-service-10-5>: HTTP status code is not handled or not allowed 2026-01-28 13:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-crown-bellman-cart-40x25-satin-brass-gray-carpet-1>: HTTP status code is not handled or not allowed 2026-01-28 13:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps>: HTTP status code is not handled or not allowed 2026-01-28 13:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hss-hand-tap-38-16-h3-bottoming-chamfer-right-hand-4-flute>: HTTP status code is not handled or not allowed 2026-01-28 13:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-aluminum-platform-step-ladder>: HTTP status code is not handled or not allowed 2026-01-28 13:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-aluminum-platform-step-ladder>: HTTP status code is not handled or not allowed 2026-01-28 13:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aquatic-eg-plastic-spineboard-with-head-blocks-and-straps>: HTTP status code is not handled or not allowed 2026-01-28 13:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-stock-picking-ladder-perf-step>: HTTP status code is not handled or not allowed 2026-01-28 13:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107883 pages (at 95 pages/min), scraped 53825 items (at 38 items/min) 2026-01-28 13:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-357-l-grn-storage-cabinet-all-welded-30-wx15-dx72-h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-28 13:26:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/pneumatic_system_components/air_compressors/compressed_air_treatment_dryers_frls/compressed_air_filters landed on page that is not a product page. 2026-01-28 13:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alto-vac-industrial-accessory-kit>: HTTP status code is not handled or not allowed 2026-01-28 13:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-scissor-li-table-1100-lb-capacity-3>: HTTP status code is not handled or not allowed 2026-01-28 13:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-12-h-x-1-d-pleated-merv-10-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 13:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-universal-walker-tray>: HTTP status code is not handled or not allowed 2026-01-28 13:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-walker-glide-cover>: HTTP status code is not handled or not allowed 2026-01-28 13:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-30rb-r-storage-cabinet-all-welded-30-wx18-dx72-h-red>: HTTP status code is not handled or not allowed 2026-01-28 13:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxivir174-tb-disinfecting-wipes-characteristic-scent-160bucket-4-bucketscase>: HTTP status code is not handled or not allowed 2026-01-28 13:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-16-h-x-1-d-paint-booth-ring-panel-merv-8-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 13:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-16-h-x-2-d-pleated-merv-13-leed-compliant-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 13:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1246177-ez-stop8482-shock-absorber-14-5-in-long-130-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 13:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aj730a-reusable-roof-anchor-fixed-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 13:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2101638-d-ring-anchorage-plate-fixed-310-cap-lbs-316-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-light-folding-transport-chair-with-carry-bag>: HTTP status code is not handled or not allowed 2026-01-28 13:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-14-step-steel-rolling-ladder-21-d-top-step-w-handrail-lock-step-orange-w-cal-osha-handrail-cal-fs144021g-o>: HTTP status code is not handled or not allowed 2026-01-28 13:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24-w-steel-safety-angle-orange-rolling-ladder-w-handrails-perforated-tread-w-cal-osha-handrail-cal-sw932p-o>: HTTP status code is not handled or not allowed 2026-01-28 13:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxivir-five-16-concentrate-one-step-disinfectant-cleaner-845-oz-bottle-2case>: HTTP status code is not handled or not allowed 2026-01-28 13:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bl-364pt-r-counter-high-storage-cabinet-w--plastic-top-all-welded-36x18-dx42-h-red>: HTTP status code is not handled or not allowed 2026-01-28 13:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-22w-x-82h-sage>: HTTP status code is not handled or not allowed 2026-01-28 13:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-chains-for-sling>: HTTP status code is not handled or not allowed 2026-01-28 13:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-minuteman-172273>: HTTP status code is not handled or not allowed 2026-01-28 13:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-4w-x-82h-sage>: HTTP status code is not handled or not allowed 2026-01-28 13:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-14-series-tweco-style-mig-contact-tip-size-0035-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 13:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-for-nobles-tennant-1045384>: HTTP status code is not handled or not allowed 2026-01-28 13:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-outward-swing-partition-door-24-satin>: HTTP status code is not handled or not allowed 2026-01-28 13:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-wash-fountain-semi-circular-110-24-vac-27>: HTTP status code is not handled or not allowed 2026-01-28 13:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-closed-linear-bearing-wresin-retainer-sw4g-14id-075l>: HTTP status code is not handled or not allowed 2026-01-28 13:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-12w-x-82h-mocha>: HTTP status code is not handled or not allowed 2026-01-28 13:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s201013-12-poly-web-sling-endless-4240-5300-10600-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 13:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-deluxe-rod-storage-container-red>: HTTP status code is not handled or not allowed 2026-01-28 13:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-drench-hose-8-ft-eyewash-mount-abs-head-s19-430eh>: HTTP status code is not handled or not allowed 2026-01-28 13:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-transfer-table-with-4-centers-4050-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-eye-face-shower-washplastic-bowl-s19-310fw>: HTTP status code is not handled or not allowed 2026-01-28 13:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-label-16-12l-x-1-14h-clear-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 13:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1818-7-8-hss-heavy-duty-sand-blasted-118-point-carbide-tipped-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 13:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1821-3-4-8in-oal-hss-h-d-sand-blasted-118-point-carbide-tipped-sds-plus-2-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 13:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hose-end-drain-cap-insert-for-nobles-tennant-1218955>: HTTP status code is not handled or not allowed 2026-01-28 13:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-do-not-operate-vinyl-10-h-x-14-w>: HTTP status code is not handled or not allowed 2026-01-28 13:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-outward-swing-partition-door-w-hardware-36w-khaki>: HTTP status code is not handled or not allowed 2026-01-28 13:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-d-flanged-lacing-bar-1903-1-101-00>: HTTP status code is not handled or not allowed 2026-01-28 13:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151015-16-single-leg-chain-sling-w-sling-grab-hook>: HTTP status code is not handled or not allowed 2026-01-28 13:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-nobles-tennant-390934>: HTTP status code is not handled or not allowed 2026-01-28 13:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b152021-12-quad-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-28 13:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ul-panic-device-sex-bolts>: HTTP status code is not handled or not allowed 2026-01-28 13:27:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/wood_drill_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-danger-men-working-above-rigid-plastic-10-h-x-14-w>: HTTP status code is not handled or not allowed 2026-01-28 13:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151072-6-single-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-28 13:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sxtlp-stainless-steel-scissor-lift-table-foot-operated-2500-lb-cap-56l-x-50w-115v>: HTTP status code is not handled or not allowed 2026-01-28 13:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-set-urethane-for-nobles-tennant-9015738>: HTTP status code is not handled or not allowed 2026-01-28 13:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-silver-epoxy-wire-divider-24x8>: HTTP status code is not handled or not allowed 2026-01-28 13:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152047-10-poly-web-sling-eye-and-eye-9200-11500-23000-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 13:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1877-11-16-black-gold-118-point-3-flat-1-2-reduced-shank-silver-deming-drill>: HTTP status code is not handled or not allowed 2026-01-28 13:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5412w-sage>: HTTP status code is not handled or not allowed 2026-01-28 13:27:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/sockets_bits/wood_drill_bits landed on page that is not a product page. 2026-01-28 13:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edge-sealing-acrylic-lacquer-250-millaliter-non-flammable-83-0783>: HTTP status code is not handled or not allowed 2026-01-28 13:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 107981 pages (at 98 pages/min), scraped 53868 items (at 43 items/min) 2026-01-28 13:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluorinated-hdpe-jerricans-with-closure-10-liter-case-of-6>: HTTP status code is not handled or not allowed 2026-01-28 13:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safe-step-on-plastic-container-12-gallon-beige-fg614400beig>: HTTP status code is not handled or not allowed 2026-01-28 13:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-double-long-scissor-lift-table-foot-operated-2000-lb-cap-96l-x-26w-115230v>: HTTP status code is not handled or not allowed 2026-01-28 13:27:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/standard_lockers/plastic_standard_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-squeegee-set-for-nobles-tennant-222424>: HTTP status code is not handled or not allowed 2026-01-28 13:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-double-long-scissor-lift-table-foot-operated-6000-lb-cap-192l-x-48w-230460v>: HTTP status code is not handled or not allowed 2026-01-28 13:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hepa-filter-replacement-for-cvu-30-1-cvu-36-1-cvu-46-1-8-639-454-0>: HTTP status code is not handled or not allowed 2026-01-28 13:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-mouth-rtk-wash-bottles-500ml-assorted-case-of-20>: HTTP status code is not handled or not allowed 2026-01-28 13:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dripdrop-electrolyte-hydration-powdered-drink-mix-lemon-lime-1496-oz-12-pouchesbox>: HTTP status code is not handled or not allowed 2026-01-28 13:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-drain-hose-w-drain-cap-full-assembly-for-nobles-tennant-1017380>: HTTP status code is not handled or not allowed 2026-01-28 13:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cylindrical-brush-18-sr-for-nilfisk-advance-56413116>: HTTP status code is not handled or not allowed 2026-01-28 13:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunnage-shelf-18x36-2>: HTTP status code is not handled or not allowed 2026-01-28 13:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunnage-shelf-18x60-1>: HTTP status code is not handled or not allowed 2026-01-28 13:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/standard_lockers/plastic_standard_lockers>: HTTP status code is not handled or not allowed 2026-01-28 13:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-set-urethane-for-viper-vf91116>: HTTP status code is not handled or not allowed 2026-01-28 13:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lightweight-short-sleeve-flame-resistant-safety-shirt-l-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-262-s>: HTTP status code is not handled or not allowed 2026-01-28 13:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-dividers-legal-size-literature-sorter-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-dividers-legal-size-literature-sorter-putty>: HTTP status code is not handled or not allowed 2026-01-28 13:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-accessory-return-3>: HTTP status code is not handled or not allowed 2026-01-28 13:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-table-with-casters-phenolic-top-adjustable-height-24-x-48-black-oak>: HTTP status code is not handled or not allowed 2026-01-28 13:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2185f-8-00mm-heavy-duty-straw-135-welding-point-drill>: HTTP status code is not handled or not allowed 2026-01-28 13:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150-9-32-hss-general-purpose-steam-oxide-118-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 13:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-cotton-flame-resistant-henley-shirt-l-navy>: HTTP status code is not handled or not allowed 2026-01-28 13:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-partition-panel-wo-brackets-5712w-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 13:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppb-1mx-pour-1-qt>: HTTP status code is not handled or not allowed 2026-01-28 13:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-carbon-fiber-rod-unidirectional-5-16-diameter-x-2-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-10-x-7-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 13:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-1c-series-climax-h1c-325>: HTTP status code is not handled or not allowed 2026-01-28 13:28:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40401-2-lxl-extreme-sport-life-vest-blue-largex-large>: HTTP status code is not handled or not allowed 2026-01-28 13:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-heavyweight-zip-up-hoodie-2xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40301-2-yth-all-sport-life-vest-blue-youth>: HTTP status code is not handled or not allowed 2026-01-28 13:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl-7k-dish-box>: HTTP status code is not handled or not allowed 2026-01-28 13:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-carbon-fiber-tube-twill-weave-5-8-id-x-3-4-od-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-thermohose-1399-heater-duct-8-dia-x-32l-x-4-pitch-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 13:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/tables/laboratory_tables>: HTTP status code is not handled or not allowed 2026-01-28 13:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ammonia-d-glass-cleaner-fresh-32-oz-spray-bottle-8carton>: HTTP status code is not handled or not allowed 2026-01-28 13:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-ceiling-panel-kit-belt-ends-12-dia-x-8l-x-6-pitch-black>: HTTP status code is not handled or not allowed 2026-01-28 13:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-8-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 13:28:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/aluminum_shelf_trucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-12-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 13:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tmt-dg5-dial-digital-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 13:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8970led-hard-hat-cap-style-ratchet-suspension-led-light-class-e-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psw-16-wide-mouth-squeeze-bottles-16-oz>: HTTP status code is not handled or not allowed 2026-01-28 13:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disinfectant-spray-crisp-linen-19-oz-aerosol-spray-2pack-4-packscarton>: HTTP status code is not handled or not allowed 2026-01-28 13:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suma-shine-portion-pak-powder-100-per-carton>: HTTP status code is not handled or not allowed 2026-01-28 13:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-16-x-12-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 13:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppok-113-measuring-pourer-1-1-8-oz>: HTTP status code is not handled or not allowed 2026-01-28 13:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5705-canvas-tool-apron-extended-length-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-mold-particulate-kit-sr-100-l-xl-h05-6821l>: HTTP status code is not handled or not allowed 2026-01-28 13:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-gard-h2-mips-safety-helmet-vented-climbing-class-c-type-2-white>: HTTP status code is not handled or not allowed 2026-01-28 13:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-scoop-82-oz-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sugar-free-solo-shots-powdered-drink-tropical-169-fl-oz-10-bags-of-50-packets>: HTTP status code is not handled or not allowed 2026-01-28 13:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-1-250-x-48-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 13:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-scoop-16-oz-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cap-with-staz-on-suspension-hot-pink>: HTTP status code is not handled or not allowed 2026-01-28 13:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 108073 pages (at 92 pages/min), scraped 53906 items (at 38 items/min) 2026-01-28 13:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brushless-drywall-cut-out-tool-kit-with-25ah-lithium-ion-batteries-24v>: HTTP status code is not handled or not allowed 2026-01-28 13:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bissell-commercial-pro-upright-vacuum-bgu1937t>: HTTP status code is not handled or not allowed 2026-01-28 13:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-cord-72l-for-protektive-pak-desco-esd-dissipative-turntables>: HTTP status code is not handled or not allowed 2026-01-28 13:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-200-z>: HTTP status code is not handled or not allowed 2026-01-28 13:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-3w-x-82h-storm-solidz>: HTTP status code is not handled or not allowed 2026-01-28 13:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-makrofol-de1-1-g-g-pc-film-0-005-x-24-x-48-200-sheet-case>: HTTP status code is not handled or not allowed 2026-01-28 13:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spjl-202-steam-pan-half-size-2-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 13:29:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/shelf_trucks/aluminum_shelf_trucks landed on page that is not a product page. 2026-01-28 13:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-glue-2-ounces>: HTTP status code is not handled or not allowed 2026-01-28 13:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-0-093-x-48-000-x-96-000>: HTTP status code is not handled or not allowed 2026-01-28 13:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-0-750-thick-12-x-48>: HTTP status code is not handled or not allowed 2026-01-28 13:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-201-general-purpose-polyolefin-cf-shrink-film-60-ga-10w-x-4375l-clear-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 13:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-fluid-level-sight-glass-g-1-4-pipe-thread-6311005>: HTTP status code is not handled or not allowed 2026-01-28 13:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-fluid-level-sigh-w-esg-glass-w-reflector-g-3-4-pipe-thread-r25-a>: HTTP status code is not handled or not allowed 2026-01-28 13:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wperforated-doors-36wx24dx78h-blueunassembled>: HTTP status code is not handled or not allowed 2026-01-28 13:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-4-2-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 13:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-201-general-purpose-polyolefin-cf-shrink-film-100-ga-20w-x-2620l-clear-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 13:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-201-general-purpose-polyolefin-cf-shrink-film-50-ga-22w-x-5250l-clear-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 13:29:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-outward-swing-partition-door-w-hardware-36w-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 13:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-lithium-ion-battery-fire-containment-blanket-116l-x-116w-white>: HTTP status code is not handled or not allowed 2026-01-28 13:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-tube-cleaner-brush-black-63-x-400mm-c57156>: HTTP status code is not handled or not allowed 2026-01-28 13:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptmp-18r-round-potato-masher>: HTTP status code is not handled or not allowed 2026-01-28 13:29:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-oil-filled-cast-nylon-sheet-0-625-x-24-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 13:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k500-super-turf-tire-20508-4tf-i-20-x-10-50-8-4-ply-tubeless>: HTTP status code is not handled or not allowed 2026-01-28 13:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-soil-dishtable-right-to-left-72-long-16304-ss>: HTTP status code is not handled or not allowed 2026-01-28 13:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-x-12-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 13:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/stretch_wrap_shrink_wrap/shrink_wrap>: HTTP status code is not handled or not allowed 2026-01-28 13:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-4015-double-strap-wrist-brace-support-right-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 13:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwik-seal-ultra-5-5-oz-white-7079818914>: HTTP status code is not handled or not allowed 2026-01-28 13:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-box-footlocker-24wx18dx78hrdall-welded>: HTTP status code is not handled or not allowed 2026-01-28 13:29:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions landed on page that is not a product page. 2026-01-28 13:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-tube-1-125-id-x-1-250-od-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 13:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banding-stretch-wrap-with-reusable-dispenser-cast-120-gauge-2w-x-700l-clear-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 13:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-hose-clamp-6-dia-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scotch-brite-surface-preparation-pad-spp20-20-in-10-case>: HTTP status code is not handled or not allowed 2026-01-28 13:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-router-hood-6-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-clamp-with-pin-9-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-21-s>: HTTP status code is not handled or not allowed 2026-01-28 13:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afp-8s-fry-pan>: HTTP status code is not handled or not allowed 2026-01-28 13:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-vented-18wx18dx76hblall-welded>: HTTP status code is not handled or not allowed 2026-01-28 13:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-box-footlocker-24wx18dx72hrdall-welded>: HTTP status code is not handled or not allowed 2026-01-28 13:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everlast-task-chair-mid-back-no-tilt-21-31h-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 13:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-w-keyway-climax-rc-062-s-kw>: HTTP status code is not handled or not allowed 2026-01-28 13:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-paddle-perforated-blade-48-in-long>: HTTP status code is not handled or not allowed 2026-01-28 13:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-24>: HTTP status code is not handled or not allowed 2026-01-28 13:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-truck-slat-sides-2-adj-shelves-3600-lbs-cap-24-48-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-28 13:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-24wx24dx76h-red-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 13:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/132c-ice-logger-boot-regular-tan-13>: HTTP status code is not handled or not allowed 2026-01-28 13:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z4-comfort-side-padding-system>: HTTP status code is not handled or not allowed 2026-01-28 13:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-stack-chair-black-ace-series>: HTTP status code is not handled or not allowed 2026-01-28 13:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-poly-bag-rolls-48x60-2-mil-150-rl>: HTTP status code is not handled or not allowed 2026-01-28 13:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-box-footlocker-24wx24dx78hblall-welded>: HTTP status code is not handled or not allowed 2026-01-28 13:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-24wx18dx72h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 13:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-radex-micro-mist-filter-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-silver-epoxy-wire-shelf-36x14>: HTTP status code is not handled or not allowed 2026-01-28 13:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0345r-iron-tuff-low-bib-overall-regular-sage-medium>: HTTP status code is not handled or not allowed 2026-01-28 13:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0440-chillbreaker-coverall-regular-navy-large>: HTTP status code is not handled or not allowed 2026-01-28 13:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-012-s>: HTTP status code is not handled or not allowed 2026-01-28 13:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-14x72-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 13:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-wire-shelf-14x72>: HTTP status code is not handled or not allowed 2026-01-28 13:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 108168 pages (at 95 pages/min), scraped 53941 items (at 35 items/min) 2026-01-28 13:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bus-smoking-shelter-flat-roof-3-side-open-front-w-terracotta-5-gallon-outdoor-ashtray-6-5-x3-8-x7>: HTTP status code is not handled or not allowed 2026-01-28 13:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-bxfootlockervented24x24x76grall-welded>: HTTP status code is not handled or not allowed 2026-01-28 13:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-vented-24wx24dx78hgrall-welded>: HTTP status code is not handled or not allowed 2026-01-28 13:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-couplings-recessed-screw-cc-series-climax-2cc-125-100>: HTTP status code is not handled or not allowed 2026-01-28 13:30:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/132c-ice-logger-boot-regular-tan-8-5>: HTTP status code is not handled or not allowed 2026-01-28 13:30:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-t200-ss-t-link-hood-head-harness-px5>: HTTP status code is not handled or not allowed 2026-01-28 13:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700778-clr-two-sided-pegboard-floor-display-w-studio-base-17-w-x-17-d-x-60-h>: HTTP status code is not handled or not allowed 2026-01-28 13:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-24x30-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 13:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-recessed-screw-climax-tc-112-07-s>: HTTP status code is not handled or not allowed 2026-01-28 13:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slider-casement-window-air-conditioner-8000-btu-115v>: HTTP status code is not handled or not allowed 2026-01-28 13:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-2000-nylon-blast-jacket-xxl>: HTTP status code is not handled or not allowed 2026-01-28 13:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700775-blk-two-sided-pegboard-floor-display-w-adj-studio-base-17-w-x-17-d-x-70-h>: HTTP status code is not handled or not allowed 2026-01-28 13:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 13:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-vision-link-2-bay-battery-charger>: HTTP status code is not handled or not allowed 2026-01-28 13:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-192810-two-sided-sign-holder-nameplate-11-w-x-3-d-x-4-1-4-h>: HTTP status code is not handled or not allowed 2026-01-28 13:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0323-iron-tuff-womans-coat-regular-navy-small>: HTTP status code is not handled or not allowed 2026-01-28 13:30:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers landed on page that is not a product page. 2026-01-28 13:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700001-t-sign-holder-5-w-x-2-7-8-d-x-14-h>: HTTP status code is not handled or not allowed 2026-01-28 13:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-1-composite-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-28 13:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/icd-8-ice-cream-disher-w-plastic-handle-size-8-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z-link-comfort-pad>: HTTP status code is not handled or not allowed 2026-01-28 13:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z-link-padding-frames>: HTTP status code is not handled or not allowed 2026-01-28 13:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-inch-brass-interlocking-stencil-letters-thirty-three-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 13:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-60-s>: HTTP status code is not handled or not allowed 2026-01-28 13:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twelve-inch-brass-interlocking-stencil-gothic-style-numbers-thirteen-piece-kit>: HTTP status code is not handled or not allowed 2026-01-28 13:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-150-150>: HTTP status code is not handled or not allowed 2026-01-28 13:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-3-flow-control-leather-cape>: HTTP status code is not handled or not allowed 2026-01-28 13:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-087-s>: HTTP status code is not handled or not allowed 2026-01-28 13:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0491-non-insulated-softshell-jacket-regular-black-2xl>: HTTP status code is not handled or not allowed 2026-01-28 13:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0491-non-insulated-softshell-jacket-regular-black-large>: HTTP status code is not handled or not allowed 2026-01-28 13:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h50w3-wash-down-hose>: HTTP status code is not handled or not allowed 2026-01-28 13:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwb-5-woven-salad-bowl>: HTTP status code is not handled or not allowed 2026-01-28 13:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-sae-deep-impact-socket-34-drive-black>: HTTP status code is not handled or not allowed 2026-01-28 13:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/01221-6-foot-shock-absorbing-lanyard-rebar-and-snap-hook>: HTTP status code is not handled or not allowed 2026-01-28 13:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ssdb-12-double-boiler-w-cover>: HTTP status code is not handled or not allowed 2026-01-28 13:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-4vs-milling-machine-with-newall-dp700-dro-x-y-axis-powerfeeds-3-hp-230460v>: HTTP status code is not handled or not allowed 2026-01-28 13:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-low-flow-industrial-spray-nozzle-white-brass-adapter>: HTTP status code is not handled or not allowed 2026-01-28 13:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-025>: HTTP status code is not handled or not allowed 2026-01-28 13:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n20s-swivel-hose-adapter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/str-15-steamer-rack-14-3-4d>: HTTP status code is not handled or not allowed 2026-01-28 13:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-x-5-yards-self-adhesive-bandage-non-latex-kelly-green-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 13:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jla-300-10sh-lever-hoist-with-shipyard-hooks-3-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 13:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-237-s>: HTTP status code is not handled or not allowed 2026-01-28 13:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-inch-x-5-yards-self-adhesive-bandage-non-latex-black-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 13:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-093-s>: HTTP status code is not handled or not allowed 2026-01-28 13:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0033-wick-sock-white-small-medium>: HTTP status code is not handled or not allowed 2026-01-28 13:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-radex-3-8-inch-brass-cap>: HTTP status code is not handled or not allowed 2026-01-28 13:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-w-keyway-climax-iscc-125-125skw>: HTTP status code is not handled or not allowed 2026-01-28 13:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-major-appliance-cord-14awg-15a-125v-beige>: HTTP status code is not handled or not allowed 2026-01-28 13:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dcn44-nfpa-label-number-4-5-x-5-whiteblack-5pk>: HTTP status code is not handled or not allowed 2026-01-28 13:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glc-01007-clear-glass-screw-thread-vials-with-black-caps-6-dram-22ml-case-of-72>: HTTP status code is not handled or not allowed 2026-01-28 13:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-3-air-inlet-kit>: HTTP status code is not handled or not allowed 2026-01-28 13:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1022-8-micro-filter-metal-bowl-12-npt-250-psi-40-micron>: HTTP status code is not handled or not allowed 2026-01-28 13:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1018-6-micro-filter-metal-bowl-14-npt-150-psi-40-micron>: HTTP status code is not handled or not allowed 2026-01-28 13:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1450110-airflow-conveyor-chain-ps-8e-40012>: HTTP status code is not handled or not allowed 2026-01-28 13:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-add-on-unit-42-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 13:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imperial-shelving-starter-36x12x88-7-openings-sand>: HTTP status code is not handled or not allowed 2026-01-28 13:30:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/file_additional_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twpo-4-offset-spatulas-4-1-4l-blade-white-polypropylene-handle>: HTTP status code is not handled or not allowed 2026-01-28 13:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 108261 pages (at 93 pages/min), scraped 53974 items (at 33 items/min) 2026-01-28 13:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1303203-western-plow-stands-61353>: HTTP status code is not handled or not allowed 2026-01-28 13:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-blade-for-24in-flex-blade-floor-squeegee-1059>: HTTP status code is not handled or not allowed 2026-01-28 13:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-starter-unit-60-w-x-21-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 13:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-round-platter-led-flush-mount-light-30w-120v-3000k-white>: HTTP status code is not handled or not allowed 2026-01-28 13:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-26120zh-large-spindle-bore-lathe-with-newall-dp700-dro-10-hp-3ph-230460v>: HTTP status code is not handled or not allowed 2026-01-28 13:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-starter-unit-48-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 13:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-150-bo>: HTTP status code is not handled or not allowed 2026-01-28 13:31:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-162>: HTTP status code is not handled or not allowed 2026-01-28 13:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/replacement_shelves_decks/file_additional_shelves>: HTTP status code is not handled or not allowed 2026-01-28 13:31:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/sheet_metal_cutting_forming_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-tier-shelving-starter-unit-solid-galvanized-steel-42w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-starter-unit-54-w-x-18-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 13:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72228-ovation-attacker-flap-disc-t27-5-inch-x-7-8-inch-60-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-28 13:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-add-on-unit-42-w-x-21-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 13:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 13:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-60a-14-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 13:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/sheet_metal_cutting_forming_tools>: HTTP status code is not handled or not allowed 2026-01-28 13:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-tier-shelving-starter-unit-solid-galvanized-steel-36w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-tier-shelving-starter-unit-solid-galvanized-steel-42w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosion-resistant-set-screw-collar-cr-climax-crc-025>: HTTP status code is not handled or not allowed 2026-01-28 13:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-sheet-no-adhesive-75a-18-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-tier-shelving-starter-unit-solid-galvanized-steel-42w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-rewind-hose-reel-for-air-water-14-i-d-25-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 13:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-series-spring-rewind-hose-reel-for-air-water-3-8-i-d-100-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 13:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/room-divider-6-height-9-sections-black>: HTTP status code is not handled or not allowed 2026-01-28 13:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-rewind-hose-reel-for-air-water-14-i-d-50-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 13:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-punch-die-set-18>: HTTP status code is not handled or not allowed 2026-01-28 13:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-strip-no-adhesive-75a-132-thick-x-14-wide-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-w-keyway-climax-iscc-062-062-kw>: HTTP status code is not handled or not allowed 2026-01-28 13:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-hardware-kit-for-caster-installation-for-rubbermaid-trademaster-carts>: HTTP status code is not handled or not allowed 2026-01-28 13:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-efficient-heavy-duty-power-cord-reel-with-a-fluorescent-tube-light-16-ga>: HTTP status code is not handled or not allowed 2026-01-28 13:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-light-arm-w-mounting-kit-90-l-heavy-duty-1-5-square-tubing>: HTTP status code is not handled or not allowed 2026-01-28 13:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-131>: HTTP status code is not handled or not allowed 2026-01-28 13:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-12-cubic-yard-utility-truck-base-for-rubbermaid-utility-truck>: HTTP status code is not handled or not allowed 2026-01-28 13:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-punch-die-set-38>: HTTP status code is not handled or not allowed 2026-01-28 13:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pla-lids-for-fiber-containers-8-8-x-6-9-x-0-8-clear-400-carton>: HTTP status code is not handled or not allowed 2026-01-28 13:31:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5c-lever-type-collet-closer-for-elite-egh-1740-egh-1760-lathe>: HTTP status code is not handled or not allowed 2026-01-28 13:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-strip-with-high-temp-adhesive-75a-18-thick-x-14-wide-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35113-psa-disc-7-inch-dia-80-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 13:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fb-40-heavy-duty-fry-basket-rectangle-yellow-plastic>: HTTP status code is not handled or not allowed 2026-01-28 13:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bm-327k-bar-mat-black>: HTTP status code is not handled or not allowed 2026-01-28 13:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ksp-2-kitchen-knife-sharpener>: HTTP status code is not handled or not allowed 2026-01-28 13:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-168-s>: HTTP status code is not handled or not allowed 2026-01-28 13:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/combination_metalworking_machines>: HTTP status code is not handled or not allowed 2026-01-28 13:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34990-psa-disc-1-inch-dia-50-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 13:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-275-bo>: HTTP status code is not handled or not allowed 2026-01-28 13:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-series-spring-rewind-power-cord-reel-fluorescent-tube-light-50-cord-16-awg>: HTTP status code is not handled or not allowed 2026-01-28 13:31:39 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 13:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-gauge-for-48-40t-ironworker>: HTTP status code is not handled or not allowed 2026-01-28 13:31:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:31:40 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:54 2026-01-28 13:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brn-8p-plastic-brush-w-nylon-bristles-8-l>: HTTP status code is not handled or not allowed 2026-01-28 13:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l100-250wo-30-hand-chain-hoist-with-overload-protection-14-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-28 13:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-24-3-8-x-14-7-8x8-tote-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-bv-4m-three-way-clamping-vise-4-116-jaw-width>: HTTP status code is not handled or not allowed 2026-01-28 13:31:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50117-2a-fiber-disc-4-1-2-inch-x-7-8-inch-50-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 13:31:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-18-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atv-bundle-with-vise-10-riser-6-jaw-width-4-14-throat-depth>: HTTP status code is not handled or not allowed 2026-01-28 13:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84915-da-f-sanding-sheets-9-inch-x-11-inch-daf-180-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 13:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/giant-stackable-storage-bin-12-3-8x19-3-4x7-7-8-black>: HTTP status code is not handled or not allowed 2026-01-28 13:31:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/baskets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-143-bo>: HTTP status code is not handled or not allowed 2026-01-28 13:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-5-drawer-deluxe-flat-file-putty-2>: HTTP status code is not handled or not allowed 2026-01-28 13:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-28 13:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-209-s-c-carbon-shackle-spa-1-1-4-12t-wll>: HTTP status code is not handled or not allowed 2026-01-28 13:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-018>: HTTP status code is not handled or not allowed 2026-01-28 13:31:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 13:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 108353 pages (at 92 pages/min), scraped 54006 items (at 32 items/min) 2026-01-28 13:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-187-bo>: HTTP status code is not handled or not allowed 2026-01-28 13:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-with-acrylic-adhesive-60a-12-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 13:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/010-oring-epdm-14id-x-38od-70-duro-round-black-pkg-100>: HTTP status code is not handled or not allowed 2026-01-28 13:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-7269-bi-fold-door-topbottom-pivot-and-guide-set>: HTTP status code is not handled or not allowed 2026-01-28 13:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-421t-socket-wedge-1-wire-terminator>: HTTP status code is not handled or not allowed 2026-01-28 13:32:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/baskets_organizers/baskets landed on page that is not a product page. 2026-01-28 13:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-cart-poly-green-24l-x-18w-x-40h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 13:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-506-roll-in-t-slot-nuts-steel-for-aluminum-profiles-with-guide-step-m6-1-4>: HTTP status code is not handled or not allowed 2026-01-28 13:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/241-punch-assembly-for-65t-75t-100t-ironworkers>: HTTP status code is not handled or not allowed 2026-01-28 13:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-multi-speed-motor-5-2-5hp-1725-850rpm-215-tefc-460v-60hz-40c-1-0sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 13:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/327-quad-ring-xring-134id-x-218od-70-duro-round-black-pkg-100>: HTTP status code is not handled or not allowed 2026-01-28 13:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-multi-speed-motor-3-1-5hp-1725-850rpm-184-tefc-460v-60hz-40c-1-0sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 13:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-50hz-general-purpose-motor-3hp-2-2kw-2850rpm-ip54-220-380v-40c-1-15sf-c-face>: HTTP status code is not handled or not allowed 2026-01-28 13:32:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-with-high-temp-adhesive-40a-316-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 13:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-with-high-temp-adhesive-60a-18-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-1804-1-slotted-spanner-lock-nuts-steel-with-polyamide-insert-zinc-plated-m35-x-1-5>: HTTP status code is not handled or not allowed 2026-01-28 13:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/160-4mm-standard-length-ball-end-blade>: HTTP status code is not handled or not allowed 2026-01-28 13:32:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 13:32:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=metal-bench-press-110v-bp-10e already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-box-and-pan-brake-3-hp-3-phase-220v-bb-9612h>: HTTP status code is not handled or not allowed 2026-01-28 13:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-in-22-120-grit-scrub-brush-for-concrete-green>: HTTP status code is not handled or not allowed 2026-01-28 13:32:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:32:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elkay-lzstl8wslk-water-refilling-station-bi-level-wfilter-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-28 13:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-70a-116-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-hole-pegboard-w-lochook-assortment-24w-x-916d-x-24h-black-epoxy-48pk>: HTTP status code is not handled or not allowed 2026-01-28 13:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-brake-motor-1-2hp-1140rpm-56-tefc-208-230-460v-60hz-40c-1-15sf-rigid-c>: HTTP status code is not handled or not allowed 2026-01-28 13:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-manual-sheet-metal-shear-14-gauge-mild-steel-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/return-shell-reversible-30w-x-24d-x-29-1-2h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 13:32:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=manually-powered-ring-and-angle-roll-bending-machine-3-rolls-1-4-bends-curves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=metal-bench-press-110v-bp-10e>: HTTP status code is not handled or not allowed 2026-01-28 13:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-explosion-proof-motor-3-4hp-1725rpm-56-epfc-60hz-automatic-1-0sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 13:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 13:32:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=heavy-duty-metal-dust-collector-110v-single-phase-1-5-hp-mdc-1200-hd already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 13:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-explosion-proof-motor-2hp-1800rpm-145tc-epfc-230-460v-60hz-40c-1-15sf-auto-rigid-c>: HTTP status code is not handled or not allowed 2026-01-28 13:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-medium-moving-boxes-18l-x-15w-x-14h-kraft-blue-8-ctn>: HTTP status code is not handled or not allowed 2026-01-28 13:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-6-door-clear-view-locker-digital-lock12-inch-w-x-18-inch-d-x-78-inch-hgray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 13:32:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=manually-powered-ring-and-angle-roll-bending-machine-3-rolls-1-4-bends-curves landed on page that is not a product page. 2026-01-28 13:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/311-carton-sealing-tape-3-x-110-yds-205-mil-clear-24pack>: HTTP status code is not handled or not allowed 2026-01-28 13:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-70a-332-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:32:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/patio_heaters/gas_patio_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smi39-reach-in-large-capacity-laboratory-incubator-38-6-cu-ft-1092-l-115v>: HTTP status code is not handled or not allowed 2026-01-28 13:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=heavy-duty-metal-dust-collector-110v-single-phase-1-5-hp-mdc-1200-hd>: HTTP status code is not handled or not allowed 2026-01-28 13:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/311-carton-sealing-tape-2-x-110-yds-205-mil-clear-6pack>: HTTP status code is not handled or not allowed 2026-01-28 13:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-inside-corner-trim-in-frost-nickel-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-24-x-48-polyurethane-wheels>: HTTP status code is not handled or not allowed 2026-01-28 13:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-24-x-60-polyurethane-wheels>: HTTP status code is not handled or not allowed 2026-01-28 13:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-intensity-infrared-patio-heater-with-transformer-liquid-propane-60000-btu>: HTTP status code is not handled or not allowed 2026-01-28 13:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-70a-38-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-inside-corner-trim-in-adobe-drift-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-wheeler-wagon-truck-flush-deck-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 13:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/patio_heaters/gas_patio_heaters>: HTTP status code is not handled or not allowed 2026-01-28 13:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-chain-hoist-10-foot-li-2-000-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-81kalj>: HTTP status code is not handled or not allowed 2026-01-28 13:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-mixed-merchandise-2-x-55-yds-22-mil-redwhite-18pack>: HTTP status code is not handled or not allowed 2026-01-28 13:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-sheet-with-high-temp-adhesive-75a-116-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 13:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notree-paper-hot-cups-16-oz-natural-1000-carton>: HTTP status code is not handled or not allowed 2026-01-28 13:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ubitba230-circuit-breaker-type-a-2-pole-30a>: HTTP status code is not handled or not allowed 2026-01-28 13:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-wheeler-wagon-truck-lip-edge-36-x-72>: HTTP status code is not handled or not allowed 2026-01-28 13:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x18x39-1>: HTTP status code is not handled or not allowed 2026-01-28 13:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x12x75-8>: HTTP status code is not handled or not allowed 2026-01-28 13:32:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-steel-weather-resistant-covered-laminated-padlocks-no-6121>: HTTP status code is not handled or not allowed 2026-01-28 13:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-welded-wardrobe-cabinet-36-w-x-18-d-x-72-h-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-replacement-cover-rubber-white-for-n1w-n1aw-n1ssw>: HTTP status code is not handled or not allowed 2026-01-28 13:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-industrial-spray-nozzle-safety-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-5-ft-18-inch-w-skatewheel-section-18-inch-oaw-16-wpf>: HTTP status code is not handled or not allowed 2026-01-28 13:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x18x75-3>: HTTP status code is not handled or not allowed 2026-01-28 13:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 108443 pages (at 90 pages/min), scraped 54033 items (at 27 items/min) 2026-01-28 13:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-30-extra-long-bench-plastic-top-7>: HTTP status code is not handled or not allowed 2026-01-28 13:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-5-hatch-net-high-vis-orange-webbing-free-placement-stainless-brackets-snap-hooks>: HTTP status code is not handled or not allowed 2026-01-28 13:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-with-acrylic-adhesive-50a-332-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-hatch-net-high-vis-orange-webbing-free-placement-stainless-brackets-snap-hooks>: HTTP status code is not handled or not allowed 2026-01-28 13:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-5-ft-16-inch-w-1-9-inch-dia-galvanized-rollers-13-inch-between-rail-3-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-28 13:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-5-ft-24-inch-w-1-9-inch-dia-galvanized-rollers-21-inch-between-rail-3-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-28 13:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/355-carton-sealing-tape-2-x-55-yds-35-mil-clear-6pack>: HTTP status code is not handled or not allowed 2026-01-28 13:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-or-hvac-wall-cutout-kit-clear>: HTTP status code is not handled or not allowed 2026-01-28 13:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-0-750-thick-x-12-w-x-12-l>: HTTP status code is not handled or not allowed 2026-01-28 13:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-with-acrylic-adhesive-70a-12-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:33:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 13:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6651-cold-temperature-carton-sealing-tape-2-x-110-yds-17-mil-clear-6pack>: HTTP status code is not handled or not allowed 2026-01-28 13:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-rubber-wall-base-6-in-x-48-in-fawn>: HTTP status code is not handled or not allowed 2026-01-28 13:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-telescopic-display-easel>: HTTP status code is not handled or not allowed 2026-01-28 13:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-menu-poster-holder-brass-24w-20h>: HTTP status code is not handled or not allowed 2026-01-28 13:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-18l-x-14w-x-12h-kraft-20pack>: HTTP status code is not handled or not allowed 2026-01-28 13:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-neoprene-rubber-strip-with-acrylic-adhesive-60a-14-thick-x-12-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-03f-hung-diaphragm-solenoid-valve-2-2-nc-epdm-3-4-nptf-18mm-110vac-31va>: HTTP status code is not handled or not allowed 2026-01-28 13:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireway-husky-tear-drop-pallet-rack-add-on-96x48x144>: HTTP status code is not handled or not allowed 2026-01-28 13:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-1-250-thick-x-24-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 13:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-0-250-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 13:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o53122-comfortbrite-snap-fly-front-overall-fluorescent-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-28 13:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-38-thick-x-36-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:33:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-1-250-thick-x-12-w-x-12-l>: HTTP status code is not handled or not allowed 2026-01-28 13:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-3-000-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 13:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-window-premium-stacking-bin-257901-sold-per-carton>: HTTP status code is not handled or not allowed 2026-01-28 13:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/string--button-file-storage-boxes-24l-x-15w-x-10-12h-white-12pack>: HTTP status code is not handled or not allowed 2026-01-28 13:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-rod-4-000-dia>: HTTP status code is not handled or not allowed 2026-01-28 13:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-air-nozzle-fnpt-3-8-zinc-alum>: HTTP status code is not handled or not allowed 2026-01-28 13:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-6-5-14l-x-2-58w-gray-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 13:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-laminated-shelf-36x24-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/physicianscare-first-aid-plastic-bandages>: HTTP status code is not handled or not allowed 2026-01-28 13:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moisture-safe-cold-packs-12-oz-6l-x-6w-x-1h-white-48pack>: HTTP status code is not handled or not allowed 2026-01-28 13:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ldpe-rod-3-000-dia>: HTTP status code is not handled or not allowed 2026-01-28 13:33:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/flap_specialty_wheels/deburring_surface_conditioning_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-2-000-thick-x-12-w-x-12-l>: HTTP status code is not handled or not allowed 2026-01-28 13:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slatwall-cherry-shelves-3-4-x8-x22-1-2-finished-on-2-sides-and-3-edges>: HTTP status code is not handled or not allowed 2026-01-28 13:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-outdoor-cafe-table-29-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-5xnh-a-med048011-00643>: HTTP status code is not handled or not allowed 2026-01-28 13:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x1x1-t1-wa60kv-bench-wheel-premium-grain>: HTTP status code is not handled or not allowed 2026-01-28 13:33:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-seat-cover-roll-200>: HTTP status code is not handled or not allowed 2026-01-28 13:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-5-14l-x-2-58w-green-100pack>: HTTP status code is not handled or not allowed 2026-01-28 13:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-aluminum-short-emergency-cart-lever-lock-electric-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/follower-plate-for-400-lb>: HTTP status code is not handled or not allowed 2026-01-28 13:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/flap_specialty_wheels/deburring_surface_conditioning_wheels>: HTTP status code is not handled or not allowed 2026-01-28 13:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-electric-height-adjustable-desk-72-w-24-d-white-w-black-base>: HTTP status code is not handled or not allowed 2026-01-28 13:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-shelf-steel-shelving-with-81-akrobins-36x12x75>: HTTP status code is not handled or not allowed 2026-01-28 13:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-gsm-sheet-cast-4-000-thick-x-12-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 13:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j53122-comfortbrite-jacket-fluorescent-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-28 13:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ahf1-refrigerator-freezer-thermometer-nsf-listed>: HTTP status code is not handled or not allowed 2026-01-28 13:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f-style-haz-mat-boxes-for-four-1-gal-container-13-34l-x-9w-x-10-38h-kraft-20pk>: HTTP status code is not handled or not allowed 2026-01-28 13:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-starter-rack-48x24x84-gray-with-3-level-wood-deck-1500lb-cap-per-deck>: HTTP status code is not handled or not allowed 2026-01-28 13:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-tags-white-pkg-1000>: HTTP status code is not handled or not allowed 2026-01-28 13:33:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 13:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 108535 pages (at 92 pages/min), scraped 54071 items (at 38 items/min) 2026-01-28 13:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/910xl-high-yield-black-original-ink-cartridge-825-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 13:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ketron-hpv-bearing-grade-peek-0-250-thick-x-20-670-w-x-39-400-l>: HTTP status code is not handled or not allowed 2026-01-28 13:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-96x36x84-gray-with-3-level-wood-deck-1100lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 13:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-8x1x3-9sfin048011-05135>: HTTP status code is not handled or not allowed 2026-01-28 13:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-basket-truck-24-bu-green-vinyl-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 13:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s61317-tuffenuff-3-pc-suit-gold-detachable-hood-2xl>: HTTP status code is not handled or not allowed 2026-01-28 13:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-5-14l-x-2-58w-blue-100pack>: HTTP status code is not handled or not allowed 2026-01-28 13:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500017985-belt-3-1-2w-x-15-1-2l-crs-grit>: HTTP status code is not handled or not allowed 2026-01-28 13:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tower-drawer-cart>: HTTP status code is not handled or not allowed 2026-01-28 13:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-70a-18-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-wire-truck-40-cu-ft-gray-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 13:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-s-b-4xnh-avfn048011-12952>: HTTP status code is not handled or not allowed 2026-01-28 13:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-50a-38-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 13:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-industrial-access-stairway-ladder-grip-strut>: HTTP status code is not handled or not allowed 2026-01-28 13:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-industrial-access-stairway-ladder-perforated>: HTTP status code is not handled or not allowed 2026-01-28 13:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-wire-deck-starter-4-levels-gray-13>: HTTP status code is not handled or not allowed 2026-01-28 13:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printed-secure-tape-roll-opened-3-x-60-yds-25-mil-blue-24pack>: HTTP status code is not handled or not allowed 2026-01-28 13:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-4-14l-x-2-18w-red-100pack>: HTTP status code is not handled or not allowed 2026-01-28 13:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-8-bu-white-vinyl-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 13:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-6-bu-gray-vinyl-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 13:34:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-hd-wall-bracket-jib-crane-26-ft-span-and-200and-176-rotation-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-loaded-bollard-42-h-powder-coated-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-hd-wall-bracket-jib-crane-14-ft-span-and-200and-176-rotation-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-gift-box-bottoms-8l-x-8w-x-9h-white-50pack>: HTTP status code is not handled or not allowed 2026-01-28 13:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-steel-gantry-crane-12-ft-span-and-20-ft-fixed-height-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-square-brush-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 13:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-hd-free-standing-jib-crane-12-ft-span-and-16-ft-height-under-boom-10000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j22207-iron-eagle-storm-fly-front-jacket-gold-hood-snaps-4xl>: HTTP status code is not handled or not allowed 2026-01-28 13:34:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters landed on page that is not a product page. 2026-01-28 13:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-cas-761-durostone-sheet-0-472-thick-x-48-000-w-x-96-000-l>: HTTP status code is not handled or not allowed 2026-01-28 13:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-e-lfl-tube-avx06064-1-000-id-x-1-375-od-x-10-l>: HTTP status code is not handled or not allowed 2026-01-28 13:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-high-durability-no-buff-finish-unscented-5-gallon-box-1-box-904015>: HTTP status code is not handled or not allowed 2026-01-28 13:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torlon-4203-balls-0-250-dia-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retainer-lip-60-x-4-9706-3-02>: HTTP status code is not handled or not allowed 2026-01-28 13:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-adjustable-4-shelf-unit-60-x-42-x-16-9364-3-03>: HTTP status code is not handled or not allowed 2026-01-28 13:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided16-rail-unit-with-96-qus230-ultra-stack-hang-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-top-machine-table-24-x-36-x-30-swivel-casters-w-brakes-drawer>: HTTP status code is not handled or not allowed 2026-01-28 13:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-syracuse-2-x-2-nail-up-tin-ceiling-tile-in-matte-white-t50-01>: HTTP status code is not handled or not allowed 2026-01-28 13:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/906-st-m18x1-5-gpc-steel-threaded-plug-with-m18-x-1-5-tapered-thread-w-gpc-coating>: HTTP status code is not handled or not allowed 2026-01-28 13:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/906-ni-m22x1-5-a-stainless-threaded-plug-with-m22-x-1-5-tapered-thread>: HTTP status code is not handled or not allowed 2026-01-28 13:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-boxes-3l-x-3w-x-2h-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-28 13:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-16-rail-unit-with-48-qus230-ultra-stack-hang-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 13:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-jamestown-2-x-2-nail-up-tin-ceiling-tile-in-copper-t51-08>: HTTP status code is not handled or not allowed 2026-01-28 13:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-24-inch-dust-mop>: HTTP status code is not handled or not allowed 2026-01-28 13:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballpoint-stick-pen-black-ink-medium-60-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g7-145t-aff-10hp-oil-injected-rotary-screw-71-gal-tank-145psi-208-230-460v-w-dryer>: HTTP status code is not handled or not allowed 2026-01-28 13:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g7-116t-aff-10hp-oil-injected-rotary-screw-71-gal-tank-116psi-208-230-460v-w-dryer>: HTTP status code is not handled or not allowed 2026-01-28 13:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fresh-products-easy-fresh-dispenser-white-12-dispensers-case>: HTTP status code is not handled or not allowed 2026-01-28 13:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-01-7035-6-5-tpi-blade-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-cd-mailers-5-58l-x-5w-x-2-916h-white-50pack>: HTTP status code is not handled or not allowed 2026-01-28 13:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 108630 pages (at 95 pages/min), scraped 54116 items (at 45 items/min) 2026-01-28 13:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-syracuse-2-x-2-nail-up-tin-ceiling-tile-in-penny-vein-t50-05>: HTTP status code is not handled or not allowed 2026-01-28 13:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-clean-baby-wipes-1-ply-baby-fresh-72-wipes-pack-8-packs-carton>: HTTP status code is not handled or not allowed 2026-01-28 13:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-toronto-2-x-2-nail-up-tin-ceiling-tile-in-argento-t59-07>: HTTP status code is not handled or not allowed 2026-01-28 13:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-7-fabric-task-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 13:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54h-nexel-chrome-wire-shelving-add-on-24wx21d>: HTTP status code is not handled or not allowed 2026-01-28 13:35:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020m-sliding-nut-5512705>: HTTP status code is not handled or not allowed 2026-01-28 13:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-saginaw-2-x-2-lay-in-tin-ceiling-tile-in-gloss-white-y53-00>: HTTP status code is not handled or not allowed 2026-01-28 13:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74h-nexel-chrome-wire-shelving-60wx21d>: HTTP status code is not handled or not allowed 2026-01-28 13:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-gallon-plastic-liner-black-1>: HTTP status code is not handled or not allowed 2026-01-28 13:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasonic-table-top-parts-cleaning-system-digital-timer-heat-power-control-1-5-gal-45-khz-115v>: HTTP status code is not handled or not allowed 2026-01-28 13:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clutch-upper-gear-1230r-5234111>: HTTP status code is not handled or not allowed 2026-01-28 13:35:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collomix-mk160hf-heavy-duty-3-blade-paddle-large-batch>: HTTP status code is not handled or not allowed 2026-01-28 13:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bntm2424-24-x-24-exposed-flange-mortise-lock-prep>: HTTP status code is not handled or not allowed 2026-01-28 13:35:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/walls_ceilings/ceiling_tiles landed on page that is not a product page. 2026-01-28 13:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-double-folding-gate-16w-to-18w-and-8h>: HTTP status code is not handled or not allowed 2026-01-28 13:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-brush-for-516-id-tubes-blue-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-28 13:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/after-bite-itch-eraser>: HTTP status code is not handled or not allowed 2026-01-28 13:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4200a-rhs-m35x38ab-5511753>: HTTP status code is not handled or not allowed 2026-01-28 13:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-bearing--rna-4911-1230r-5235191>: HTTP status code is not handled or not allowed 2026-01-28 13:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4200a-trunnion-5508433>: HTTP status code is not handled or not allowed 2026-01-28 13:35:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/urinal_blocks_screens landed on page that is not a product page. 2026-01-28 13:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-mag-pickup-bracket-5517384>: HTTP status code is not handled or not allowed 2026-01-28 13:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inner-metal-wire-basket-w-handle-11-dia-7-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 13:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-bin-and-shelf-cart-w-two-louvered-panel-putty>: HTTP status code is not handled or not allowed 2026-01-28 13:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3500-series-4b-vertical-mailbox-6-doors-recessed-mounted-aluminum-usps-access>: HTTP status code is not handled or not allowed 2026-01-28 13:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-oslash-60-hz-120208240277-primary-volts-50-kva>: HTTP status code is not handled or not allowed 2026-01-28 13:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bitk1616-16-x-16-exposed-flange-knurled-knob>: HTTP status code is not handled or not allowed 2026-01-28 13:35:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-34-element-60-panel-track-heaters>: HTTP status code is not handled or not allowed 2026-01-28 13:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-scc-r-right-end-cap>: HTTP status code is not handled or not allowed 2026-01-28 13:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulldog-5500-engine-driven-welder-kohler-100-199a-60hz-20-25v>: HTTP status code is not handled or not allowed 2026-01-28 13:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3400-screw-set-516x38-5517521>: HTTP status code is not handled or not allowed 2026-01-28 13:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/192-3-screw-cap-14-x-1-for-j-7020m704-5519508>: HTTP status code is not handled or not allowed 2026-01-28 13:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-kccs-r-slotted-end-cap-3-rght>: HTTP status code is not handled or not allowed 2026-01-28 13:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-protector-3-x-3-opening-18-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks>: HTTP status code is not handled or not allowed 2026-01-28 13:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-flat-10mm-5640041>: HTTP status code is not handled or not allowed 2026-01-28 13:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-mil-heavy-duty-polyethylene-boot-covers-clear-lg-50box-5-boxescase>: HTTP status code is not handled or not allowed 2026-01-28 13:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-zone-portable-fridge-freezer>: HTTP status code is not handled or not allowed 2026-01-28 13:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pleated-polypropylene-bouffant-cap-100-latex-free-blue-24-100bag-10-bagscase>: HTTP status code is not handled or not allowed 2026-01-28 13:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-bond-super-glue-10-g-bottle-clear>: HTTP status code is not handled or not allowed 2026-01-28 13:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6200s-phase-change-cooling-vest-orange-s-m>: HTTP status code is not handled or not allowed 2026-01-28 13:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cross-linked-polyethylene-shoe-covers-water-resistant-blue-lg-100bag>: HTTP status code is not handled or not allowed 2026-01-28 13:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vfswdm3615t-e-ip69-5hp-1750rpm-3ph-60hz-184tc-3646m-tefc-f1>: HTTP status code is not handled or not allowed 2026-01-28 13:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-triple-front-door-triple-rear-door-36w-x-37-1-2d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 13:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-1400-universal-size-back-support-black-one-size>: HTTP status code is not handled or not allowed 2026-01-28 13:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-3-drywall-screw-phillips-bugle-head-steel-black-phosphate-sharp-point-pkg-of-5-lbs>: HTTP status code is not handled or not allowed 2026-01-28 13:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-screw-hex-hd-5510258>: HTTP status code is not handled or not allowed 2026-01-28 13:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facial-tissue-cube-box-2-ply-white-85-sheets-box-36-boxes-case>: HTTP status code is not handled or not allowed 2026-01-28 13:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-nylon-hairnet-100-latex-free-black-28-144box-10-boxescase>: HTTP status code is not handled or not allowed 2026-01-28 13:35:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/facial_tissues already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-recycled-facial-tissue-2-ply-85-sheets-box-36-boxes-case>: HTTP status code is not handled or not allowed 2026-01-28 13:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-12-compartment-10>: HTTP status code is not handled or not allowed 2026-01-28 13:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-beard-net-honeycomb-116-hole-100-latex-free-black-18-100bag-10-bagcase>: HTTP status code is not handled or not allowed 2026-01-28 13:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7060-knob-38-5512278>: HTTP status code is not handled or not allowed 2026-01-28 13:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-n-dust-cloths-12-3-5-x-17-yellow-400-case>: HTTP status code is not handled or not allowed 2026-01-28 13:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 108722 pages (at 92 pages/min), scraped 54154 items (at 38 items/min) 2026-01-28 13:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7040-magnetic-switch-3-ph-72-5713001>: HTTP status code is not handled or not allowed 2026-01-28 13:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-drawer-unit-divider-kit-20-compartment-5>: HTTP status code is not handled or not allowed 2026-01-28 13:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410-airug-anti-fatigue-mat-38-thick-4w-x-60l-blackyellow-border>: HTTP status code is not handled or not allowed 2026-01-28 13:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_supplies_dispensers/facial_tissues>: HTTP status code is not handled or not allowed 2026-01-28 13:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-folding-versatile-storage-unassembled-93-1-2w-x-12d-x-23-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 13:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ep-ms1a-c-earpiece-1a-tubeless-listen-only-3-5mm-clear>: HTTP status code is not handled or not allowed 2026-01-28 13:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8205hl-class-2-super-econo-vest-orange-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-28 13:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30k-btu-dual-zone-heat-pump-split-system-with-12k-and-18k-indoor-high-wall-units>: HTTP status code is not handled or not allowed 2026-01-28 13:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/39k-btu-tri-zone-heat-pump-split-system-with-9k-12k-and-18k-indoor-high-wall-units>: HTTP status code is not handled or not allowed 2026-01-28 13:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sms-coverall-elastic-wrists-ankles-zipper-front-single-collar-blue-3xl-25case>: HTTP status code is not handled or not allowed 2026-01-28 13:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/decorative-bollard-cover-stone-finish-6-in-dia-60-in-h>: HTTP status code is not handled or not allowed 2026-01-28 13:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-polyethylene-isolation-gown-with-rear-entry-55l-white-25bag-4-bagcase>: HTTP status code is not handled or not allowed 2026-01-28 13:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nrt4850s-gy-floor-grabber-high-traffic-mat-gray-50-by-48-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 13:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wooden-reception-desk-71wx30dx42h-driftwood>: HTTP status code is not handled or not allowed 2026-01-28 13:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vogue-outdoor-stackable-chair-denim-blue-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 13:36:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-stacking-outdoor-armchair-solid-gray-sling-on-platinum-gray-frame-pk-of-4>: HTTP status code is not handled or not allowed 2026-01-28 13:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-t-bar-shelf-15-wx66-l>: HTTP status code is not handled or not allowed 2026-01-28 13:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/380462-precision-milliohm-meter-220-ac-voltage>: HTTP status code is not handled or not allowed 2026-01-28 13:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbs-1323evs-h-semi-automatic-dual-mitering-bandsaw-3-horse-power-230v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 13:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/382252-earth-ground-resistance-tester-kit-200-ac-voltage>: HTTP status code is not handled or not allowed 2026-01-28 13:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-655-neoprene-elbow-sleeve-w-strap-black-x-large>: HTTP status code is not handled or not allowed 2026-01-28 13:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warn-w-battery-quick-connects-pair>: HTTP status code is not handled or not allowed 2026-01-28 13:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-heavy-duty-3-shelf-rack-24-wx60-hx60-l>: HTTP status code is not handled or not allowed 2026-01-28 13:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proto-jscv14f-black-combo-locking-flex-head-ratcheting-wrench-716-spline>: HTTP status code is not handled or not allowed 2026-01-28 13:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/81-h-kiosk-unit-black>: HTTP status code is not handled or not allowed 2026-01-28 13:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8oz-amber-glass-straight-sided-round-w-70-400-green-thermoset-f217-ptfe-cap-12pk>: HTTP status code is not handled or not allowed 2026-01-28 13:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-18w-x-24l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-1050evs2-230-mill-newall-dp700-dro-x-and-y-axis-powerfeeds-air-powered-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 13:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-5-x-140mm-15-dram-clear-vial-w-24-410-green-pp-hole-cap-ptfe-silicone-septa-72pk>: HTTP status code is not handled or not allowed 2026-01-28 13:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-fitting-hbs-1321w-1321w-08-1>: HTTP status code is not handled or not allowed 2026-01-28 13:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-orange-tilt-and-roll-ladder-with-expanded-tread-tr-6-x-o>: HTTP status code is not handled or not allowed 2026-01-28 13:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t1hd-hss-jobbers-drill-black-bronze-oxide-764-12>: HTTP status code is not handled or not allowed 2026-01-28 13:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-jdp-141720-10603002>: HTTP status code is not handled or not allowed 2026-01-28 13:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6870-2-layer-cold-series-mouth-piece>: HTTP status code is not handled or not allowed 2026-01-28 13:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-corner-guard-with-safety-first-message-24-h-center-24-l-x-12-h-side>: HTTP status code is not handled or not allowed 2026-01-28 13:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-45mm-2-5ml-natural-pp-wisp-153-vial-with-13-425mm-neck-finish-vial-only-1000pk>: HTTP status code is not handled or not allowed 2026-01-28 13:36:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 13:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-ring-5710331>: HTTP status code is not handled or not allowed 2026-01-28 13:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8915-class-e-rain-pants-orange-x-large>: HTTP status code is not handled or not allowed 2026-01-28 13:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-pulley-5784690>: HTTP status code is not handled or not allowed 2026-01-28 13:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-4w-x-8l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-sleeve-wicking-birdseye-t-shirt-w-pocket-hi-vis-orange-xl>: HTTP status code is not handled or not allowed 2026-01-28 13:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x-56mm-5-dram-clear-ps-snap-cap-vial-with-29mm-white-pp-linerless-snap-cap-144pk>: HTTP status code is not handled or not allowed 2026-01-28 13:36:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-24w-x-60l-2-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 13:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-performance-work-wear-6485-multi-band-flames-one-size>: HTTP status code is not handled or not allowed 2026-01-28 13:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallpro-twin-yellow-post-retracting-belt-barrier-13-ft-yellow-authorized-belt>: HTTP status code is not handled or not allowed 2026-01-28 13:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8915-class-e-rain-pants-lime-2-x-large>: HTTP status code is not handled or not allowed 2026-01-28 13:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-xtra-red-post-belt-barrier-3w-x-11-ft-red-authorized-belt>: HTTP status code is not handled or not allowed 2026-01-28 13:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-zip-hoodie-sweatshirt-hi-vis-orange-xl>: HTTP status code is not handled or not allowed 2026-01-28 13:36:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8365-class-3-rain-jacket-orange-medium>: HTTP status code is not handled or not allowed 2026-01-28 13:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breathable-rain-jacket-class-3-hi-vis-yellow-l>: HTTP status code is not handled or not allowed 2026-01-28 13:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/driving-sleeve-jdp-17mf-10706508a1>: HTTP status code is not handled or not allowed 2026-01-28 13:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions>: HTTP status code is not handled or not allowed 2026-01-28 13:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-4000-single-strap-wrist-support-black-large-right>: HTTP status code is not handled or not allowed 2026-01-28 13:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-8d-commercial-grade-battery-box-hm485>: HTTP status code is not handled or not allowed 2026-01-28 13:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-solid-steel-load-wheel-168037-through-168040-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 13:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-tube-6l-1-2-thick-1-3-8>: HTTP status code is not handled or not allowed 2026-01-28 13:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/vehicle_lighting/emergency_vehicle_lights>: HTTP status code is not handled or not allowed 2026-01-28 13:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-max-100-sq-ft-kit-vinyl-argent-bronze-282-28>: HTTP status code is not handled or not allowed 2026-01-28 13:36:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/scissors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/occumitts-support-gloves-1-pair-large-biege>: HTTP status code is not handled or not allowed 2026-01-28 13:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/web-sling-2-ply-uni-link-6-long-4-es-wide>: HTTP status code is not handled or not allowed 2026-01-28 13:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 108818 pages (at 96 pages/min), scraped 54189 items (at 35 items/min) 2026-01-28 13:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-sheet-roll-s2s-1-24870>: HTTP status code is not handled or not allowed 2026-01-28 13:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-16-dia-1-8-shank-3-16-loc-1-1-2-oal-2-flute-solid-carbide-ball-single-end-mill-uncoated>: HTTP status code is not handled or not allowed 2026-01-28 13:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-wall-mount-blueprint-storage-rack-with-12-hangers>: HTTP status code is not handled or not allowed 2026-01-28 13:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-clear-jug-w-38-400-black-phenolic-polycone-cap-4pk>: HTTP status code is not handled or not allowed 2026-01-28 13:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scratch-pads-unruled-4-x-6-white-100sheet-pads-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-printer-permanent-labels-812-x-11-white-100box>: HTTP status code is not handled or not allowed 2026-01-28 13:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/cutting_tools/scissors>: HTTP status code is not handled or not allowed 2026-01-28 13:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-premium-wicking-hoodie-hi-viz-orange-m>: HTTP status code is not handled or not allowed 2026-01-28 13:37:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/frames_posters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-watch-your-step-7x10-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 13:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-mid-length-twill-winter-liner-blue-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-shield-unique-flexible-glove-length-14-5-ssg-10>: HTTP status code is not handled or not allowed 2026-01-28 13:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-2-arm-revers-quick-adj-55-ton-capacity-7-7-8-200-mm-open-5-7-8-150-mm-reach>: HTTP status code is not handled or not allowed 2026-01-28 13:37:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-l-x-30-w-production-bench-plastic-safety-edge-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-l-x-36-w-production-bench-esd-safety-edge-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 13:37:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/name_badges_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/117301-10-sol-vex-unsupported-nitrile-line-37-185-10>: HTTP status code is not handled or not allowed 2026-01-28 13:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/decor_linens/frames_posters>: HTTP status code is not handled or not allowed 2026-01-28 13:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-full-face-tube-liner-blue-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jazz-band-banded-hearingprotector-50-per-cs-6506>: HTTP status code is not handled or not allowed 2026-01-28 13:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-mid-length-twill-w-mouthpiece-navy-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-cotton-high-visibility-t-shirt-orange-large>: HTTP status code is not handled or not allowed 2026-01-28 13:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparkplugs-disp-earplugcorded-2000-per-case-6654>: HTTP status code is not handled or not allowed 2026-01-28 13:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/name_badges_kits>: HTTP status code is not handled or not allowed 2026-01-28 13:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-rh-cos18-116r>: HTTP status code is not handled or not allowed 2026-01-28 13:37:21 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes landed on page that is not a product page. 2026-01-28 13:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-collection-premium-breathable-rain-pants-hi-viz-yellow-medium>: HTTP status code is not handled or not allowed 2026-01-28 13:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-jaw-self-centering-puller-3-ton-capacity-1-2-to-3-7-8-100-open-3-7-8-reach>: HTTP status code is not handled or not allowed 2026-01-28 13:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-do-not-operate-maintenance-tag-english-pkg-qty-100-s297>: HTTP status code is not handled or not allowed 2026-01-28 13:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/springs-26-2464-sou1179030>: HTTP status code is not handled or not allowed 2026-01-28 13:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/406kas6ylw-safety-padlock-yellow-6set>: HTTP status code is not handled or not allowed 2026-01-28 13:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-n95-disposable-respirator-1517>: HTTP status code is not handled or not allowed 2026-01-28 13:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/defender-respirator-cartridge-w-p100-filter-75scp100>: HTTP status code is not handled or not allowed 2026-01-28 13:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-9w-x-10l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kas12blu-safety-padlock-blue-12set>: HTTP status code is not handled or not allowed 2026-01-28 13:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/probes-44-1220-sou1181996>: HTTP status code is not handled or not allowed 2026-01-28 13:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathway-hd-code-compliant-wheelchair-ramp-kit-8-x-48-w-guards-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caps-28-1828-ham990044000>: HTTP status code is not handled or not allowed 2026-01-28 13:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-cs275-19>: HTTP status code is not handled or not allowed 2026-01-28 13:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-nut-cs275-2>: HTTP status code is not handled or not allowed 2026-01-28 13:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/406kas12prp-safety-padlock-purple-12set>: HTTP status code is not handled or not allowed 2026-01-28 13:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-28w-x-40l-3-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 13:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fortress-osha-stair-system-27-5-42-5-h-adj-with-canopy-40-1-2-w-x-99-l-fully-assembled>: HTTP status code is not handled or not allowed 2026-01-28 13:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-composite-blow-gun-with-silent-nozzle-and-with-integrated-1-4-plug-industrial-pofile>: HTTP status code is not handled or not allowed 2026-01-28 13:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manyard-w-locking-snaps6-ft-shock-absor-216wls-6ftyl>: HTTP status code is not handled or not allowed 2026-01-28 13:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-kevlar-tube-sleeve-kvs-2-18th>: HTTP status code is not handled or not allowed 2026-01-28 13:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-stacking-wash-box-23-3-8-x-12-x-4-3-8-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/site-saver-outdoors-ashtray-black>: HTTP status code is not handled or not allowed 2026-01-28 13:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alcohol-free-respiratorcleaning-wipe-f-5000-504>: HTTP status code is not handled or not allowed 2026-01-28 13:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/link-b-ck350-410>: HTTP status code is not handled or not allowed 2026-01-28 13:37:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fire_protection/fire_extinguishers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-8w-x-9l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cross-hd-screw-316x38-jdp-20evs-20evs-t67-3>: HTTP status code is not handled or not allowed 2026-01-28 13:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-270-026-sit-stand-combo-system-with-worksurface-polished-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 13:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-plug-body-with-high-flow-profile-1-4-fnpt-connection-used-with-esi-coupling>: HTTP status code is not handled or not allowed 2026-01-28 13:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-3-8-high-flow-interchange-1-4-mnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 13:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-single-tier-15x15x72-3-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-l-x-3-w-stainless-steel-taping-knife-comfort-grip-handle>: HTTP status code is not handled or not allowed 2026-01-28 13:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-15w-x-9d-x-23h-1-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 13:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fire_protection/fire_extinguishers>: HTTP status code is not handled or not allowed 2026-01-28 13:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elements-34-1483-lin110659sp>: HTTP status code is not handled or not allowed 2026-01-28 13:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 108912 pages (at 94 pages/min), scraped 54225 items (at 36 items/min) 2026-01-28 13:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclonic-water-separator-w-float-drain-3-4-fnpt-connections>: HTTP status code is not handled or not allowed 2026-01-28 13:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-six-tier-12x18x12-18-door-parchment>: HTTP status code is not handled or not allowed 2026-01-28 13:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proto-174-1-5-lb-brass-hammer>: HTTP status code is not handled or not allowed 2026-01-28 13:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motors-68-1301-hosfm115a>: HTTP status code is not handled or not allowed 2026-01-28 13:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-x-connector>: HTTP status code is not handled or not allowed 2026-01-28 13:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-24in-w-steel-safety-angle-rolling-ladder-grip-strut-gray-kdec106242>: HTTP status code is not handled or not allowed 2026-01-28 13:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-peen-hammers-102g>: HTTP status code is not handled or not allowed 2026-01-28 13:38:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camlock-studs-d1-6-7-8-diameter-metric-thread-m16x1-5>: HTTP status code is not handled or not allowed 2026-01-28 13:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-24w-x-54l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-inch-stud-for-c-taper-6-m12x50>: HTTP status code is not handled or not allowed 2026-01-28 13:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-jaw-solid-independent-chuck-semi-steel-body-plain-back-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elements-34-1595-imerpc13-093>: HTTP status code is not handled or not allowed 2026-01-28 13:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-18w-x-30l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 13:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-300-quick-point-snap-off-blades-9-mm-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a30p24g-panel-nema-12-2700x2100-fits-30x24-steelzinc>: HTTP status code is not handled or not allowed 2026-01-28 13:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-hp15a-16b>: HTTP status code is not handled or not allowed 2026-01-28 13:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bissell-big-green-commercial-bg10-upright-deep-cleaner>: HTTP status code is not handled or not allowed 2026-01-28 13:38:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery_clamping_positioning/lathe_chucks_accessories/lathe_chucks landed on page that is not a product page. 2026-01-28 13:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lever-side-plate-assembly-jlh160-10>: HTTP status code is not handled or not allowed 2026-01-28 13:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-parts-bags-with-hang-hole-5w-x-8l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-24w-x-72l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-parts-bags-with-hang-hole-12w-x-15l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 13:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-1-x-00005-0-001mm-digimatic-lite-micrometer-friction-no-spc-output>: HTTP status code is not handled or not allowed 2026-01-28 13:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-24in-w-20in-d-top-step-steel-rolling-ladder-perforated-tread-no-handrail-kdsr004246-d2>: HTTP status code is not handled or not allowed 2026-01-28 13:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-aluminum-rolling-ladder-24in-w-grip-strut-14in-d-top-step-32in-handrails-wlar110245>: HTTP status code is not handled or not allowed 2026-01-28 13:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-mm-od-nylon-tubing-natural-color-100-roll-160-500-psi>: HTTP status code is not handled or not allowed 2026-01-28 13:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-od-polyurethane-tubing-red-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-28 13:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-ink-cabinet-manual-close-door-72-gallon>: HTTP status code is not handled or not allowed 2026-01-28 13:38:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/micrometers_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atpb7021-touch-up-paint-ral7021-black-12-oz-spray-can>: HTTP status code is not handled or not allowed 2026-01-28 13:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pesticide-cabinet-self-close-double-door-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 13:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-hole-22mm-non-metallic-push-button-station>: HTTP status code is not handled or not allowed 2026-01-28 13:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-8w-x-15l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as150ss-hol-sealers8482-hole-seal-for-1-12-in-conduit-250-dia-ss>: HTTP status code is not handled or not allowed 2026-01-28 13:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-18w-x-42l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-21w-x-24l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/measurement_layout_tools/micrometers_accessories>: HTTP status code is not handled or not allowed 2026-01-28 13:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-18w-x-42l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-18w-x-60l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-function-range-voltage-min-hr-timer-8-pin-spdt>: HTTP status code is not handled or not allowed 2026-01-28 13:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-206-soil-pipe-cutters-no-hub-1-12-6-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-246-soil-pipe-cutters-1-12-6-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repeat-cycle-timer-0-60-min-dpdt-120-vac>: HTTP status code is not handled or not allowed 2026-01-28 13:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-static-shielding-bags-8w-x-8l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-28 13:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repair-kit-for-jsg-0750-rpk-0750>: HTTP status code is not handled or not allowed 2026-01-28 13:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-32-od-nylon-tubing-natural-color-100-roll-160-500-psi>: HTTP status code is not handled or not allowed 2026-01-28 13:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-gas-infrared-heater-092120lps-straight-configuration-20-l-45000-btu>: HTTP status code is not handled or not allowed 2026-01-28 13:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-cap-jsm705a-18>: HTTP status code is not handled or not allowed 2026-01-28 13:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-enclosure-opaque-cover-no-knockouts-5-9-in-x-5-9-in-x-8-66-in>: HTTP status code is not handled or not allowed 2026-01-28 13:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taper-pin-6x100-zx-lathes-zx-b31>: HTTP status code is not handled or not allowed 2026-01-28 13:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f44t124gvp-straight-section-type-1-400x400x2400-galvgray>: HTTP status code is not handled or not allowed 2026-01-28 13:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-gas-infrared-heater-093520lpu-u-configuration-20-l-150000-btu>: HTTP status code is not handled or not allowed 2026-01-28 13:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-18w-x-24l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 13:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polypropylene-coverall-open-wrists-ankles-white-large-25-case>: HTTP status code is not handled or not allowed 2026-01-28 13:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-speed-2-button-pendant-station-cable-sleeve-style>: HTTP status code is not handled or not allowed 2026-01-28 13:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c06-310-9-amp-mini-contactor-24v-coil>: HTTP status code is not handled or not allowed 2026-01-28 13:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109005 pages (at 93 pages/min), scraped 54263 items (at 38 items/min) 2026-01-28 13:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-together-t-branch-8-8-8-8-inch-diameter-galvanized-18-gage>: HTTP status code is not handled or not allowed 2026-01-28 13:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/itm-carbide-hole-saw-maintenance-kit>: HTTP status code is not handled or not allowed 2026-01-28 13:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unslotted-steel-pallet-rack-beam-144inl-x-6inh-5702-lb-cap-set-of-2>: HTTP status code is not handled or not allowed 2026-01-28 13:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-clamps-set-of-6>: HTTP status code is not handled or not allowed 2026-01-28 13:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mid-back-white-mesh-swivel-ergonomic-task-office-chair-with-white-frame-and-flip-up-arms>: HTTP status code is not handled or not allowed 2026-01-28 13:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-outlet-tri-tap-adapter-with-covers-gg-03431or-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-fixed-length-first-mate-pole-handle-sw46710>: HTTP status code is not handled or not allowed 2026-01-28 13:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/280-2-1-2-hp-115v-18ft-shutoff-62-gpm-25ft-cord-effluent-pump>: HTTP status code is not handled or not allowed 2026-01-28 13:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylindrical-weights-nist-class-f-4-lbs>: HTTP status code is not handled or not allowed 2026-01-28 13:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-bdb-1340-4716>: HTTP status code is not handled or not allowed 2026-01-28 13:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enriched-lotion-free-n-clean-soap-1600ml-fg402364>: HTTP status code is not handled or not allowed 2026-01-28 13:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dca-23-drill-chuck-arbor-561766>: HTTP status code is not handled or not allowed 2026-01-28 13:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-flat-poly-bags-3w-x-7l-4-mil-pink-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intruder-blue-mirror-lens-with-blue-mirror-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-w-3674ds-b-wardrobe-closet-assembled-36x24x72-black>: HTTP status code is not handled or not allowed 2026-01-28 13:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-half-pallet-skid-bottom-solid-top-48x24>: HTTP status code is not handled or not allowed 2026-01-28 13:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-shaft-13t-ghb-1340-6214>: HTTP status code is not handled or not allowed 2026-01-28 13:39:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/hand_soap_cleaners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabricated-aluminum-cable-hose-protection-bridges-44-x-24-x-4-1-2>: HTTP status code is not handled or not allowed 2026-01-28 13:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-hanford-single-post-with-no-base-e1-economy-mailbox>: HTTP status code is not handled or not allowed 2026-01-28 13:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-36-d-production-workbench-esd-laminate-safety-edge-with-drawers-shelf-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-end-frame-kit-for-20-ponywall-building>: HTTP status code is not handled or not allowed 2026-01-28 13:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serrated-jaw-inserts-ser-c2-2903240>: HTTP status code is not handled or not allowed 2026-01-28 13:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-ghb-1340-6242>: HTTP status code is not handled or not allowed 2026-01-28 13:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1550-strapping-tape-12-x-60-yds-59-mil-clear-12pack>: HTTP status code is not handled or not allowed 2026-01-28 13:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acroprint-ribbon-cartridge-for-atr480-clocks>: HTTP status code is not handled or not allowed 2026-01-28 13:39:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/hand_soap_cleaners landed on page that is not a product page. 2026-01-28 13:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6847-balaclava-face-mask-fire-resistant-black-nfpa-70e-and-nfpa-2112>: HTTP status code is not handled or not allowed 2026-01-28 13:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-warning-poly-bags-4w-x-6l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-foot-x-120-foot-heavy-duty-silver-tarp>: HTTP status code is not handled or not allowed 2026-01-28 13:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-foot-x-30-foot-heavy-duty-white-tarp>: HTTP status code is not handled or not allowed 2026-01-28 13:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-roller-chain-120-1r-1-1-2-pitch-10ft-box>: HTTP status code is not handled or not allowed 2026-01-28 13:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-disc-787c-120-4-1-2-x-7-8-in-die-450e-25-per-inner-100-per-case>: HTTP status code is not handled or not allowed 2026-01-28 13:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-24-x-30-double-shelf-shop-stand-maple-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-disc-787c-tn-quick-change-787c-5-80-25-per-inner-100-per-case>: HTTP status code is not handled or not allowed 2026-01-28 13:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-foot-x-10-foot-camouflage-green-tarp>: HTTP status code is not handled or not allowed 2026-01-28 13:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-6-x-9-1-4-x-5-black>: HTTP status code is not handled or not allowed 2026-01-28 13:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-foot-x-45-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 13:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-foot-x-40-foot-heavy-duty-silver-tarp>: HTTP status code is not handled or not allowed 2026-01-28 13:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-foot-x-30-foot-heavy-duty-silver-tarp>: HTTP status code is not handled or not allowed 2026-01-28 13:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-activation-button-assembly-side-front-for-761218>: HTTP status code is not handled or not allowed 2026-01-28 13:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-skateboard-lockers-holds-8-skateboards-scooters-ska-ss8gen3>: HTTP status code is not handled or not allowed 2026-01-28 13:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-glass-outdoor-dining-table-set-w-4-gray-rattan-stack-chairs>: HTTP status code is not handled or not allowed 2026-01-28 13:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-tarp-repair-tape-2-inch-x-35-foot>: HTTP status code is not handled or not allowed 2026-01-28 13:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airestream-fume-hood-with-vapor-proof-light-switch-72w-x-30d-x-59h>: HTTP status code is not handled or not allowed 2026-01-28 13:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purofort-full-safety-mens-work-boots-size-12-green>: HTTP status code is not handled or not allowed 2026-01-28 13:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purofort-full-safety-mens-work-boots-size-15-green>: HTTP status code is not handled or not allowed 2026-01-28 13:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-plunger-can-1-quart-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 13:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-steel-rolling-ladder-perforated>: HTTP status code is not handled or not allowed 2026-01-28 13:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-decking-52-l-x-48-d-2330-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 13:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40048-1-8-air-jet-15-cfm-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-pmx1-lw-fits-bt-prime-mover-model-pmx-1>: HTTP status code is not handled or not allowed 2026-01-28 13:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109101 pages (at 96 pages/min), scraped 54308 items (at 45 items/min) 2026-01-28 13:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondola-slider-system-with-56-tip-out-white-bins>: HTTP status code is not handled or not allowed 2026-01-28 13:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-driver-120-277v-24v-dc-96w-max>: HTTP status code is not handled or not allowed 2026-01-28 13:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondola-free-standing-slider-system-with-28-variety-bins-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-scoop-flat-bottom>: HTTP status code is not handled or not allowed 2026-01-28 13:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-8310-lw-xl-fits-raymond-model-8310>: HTTP status code is not handled or not allowed 2026-01-28 13:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-recycled-rubber-flooring-1-4-x-4-x-6-rolls-black-rubber-mats>: HTTP status code is not handled or not allowed 2026-01-28 13:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-lock-plunger-jtm-1050-c-46>: HTTP status code is not handled or not allowed 2026-01-28 13:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-water-inlet-line-kit-for-761224-outdoor-drinking-fountains>: HTTP status code is not handled or not allowed 2026-01-28 13:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-tall-menu-and-card-holder>: HTTP status code is not handled or not allowed 2026-01-28 13:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-20w-x-20l-4-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 13:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-carbon-fiber-filament>: HTTP status code is not handled or not allowed 2026-01-28 13:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-anystream-alexandria-hand-held-showerhead-polished-chrome-finish-2-5-gpm>: HTTP status code is not handled or not allowed 2026-01-28 13:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40196-nozzle-rubber>: HTTP status code is not handled or not allowed 2026-01-28 13:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/method-3d-printer>: HTTP status code is not handled or not allowed 2026-01-28 13:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/method-x-asa-filament-black>: HTTP status code is not handled or not allowed 2026-01-28 13:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-5w-x-7l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-end-plate-jsm3330-14>: HTTP status code is not handled or not allowed 2026-01-28 13:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-aluminum-sign-one-way-right-arrow-080mm-thick>: HTTP status code is not handled or not allowed 2026-01-28 13:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip-anti-static-reclosable-poly-bags-6w-x-8l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-mobile-packing-workbench-maple-butcher-block-square-edge-60-x-36>: HTTP status code is not handled or not allowed 2026-01-28 13:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clutch-pin-ghd-20pfjmd-18pfn-2450025>: HTTP status code is not handled or not allowed 2026-01-28 13:40:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/portable_electric_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-athletic-sneakers-steel-toe-boots-size-10m-black>: HTTP status code is not handled or not allowed 2026-01-28 13:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-polishing-18-white-800-grit-deep-cleaning-pad-2-per-case>: HTTP status code is not handled or not allowed 2026-01-28 13:40:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a604810lp-2-door-wfloor-stands-type-12-encl-6006x4806x1006-steelpaint>: HTTP status code is not handled or not allowed 2026-01-28 13:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-guide-bar-holder-3481004>: HTTP status code is not handled or not allowed 2026-01-28 13:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-grade-55-gallon-double-action-drum-pump>: HTTP status code is not handled or not allowed 2026-01-28 13:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanco-full-featured-coverall-7-5-oz-100-fr-cotton-tank-khaki-frc681tn-3xl>: HTTP status code is not handled or not allowed 2026-01-28 13:40:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/storage_totes_tubs/storage_totes_with_lids already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p12cp2-gn-pre-cut-polypropylene-strapping-with-plastic-buckle-1-2-17-green-500-straps>: HTTP status code is not handled or not allowed 2026-01-28 13:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p12cp2-rd-pre-cut-polypropylene-strapping-with-plastic-buckle-1-2-17-red-500-straps>: HTTP status code is not handled or not allowed 2026-01-28 13:40:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/portable_electric_heaters landed on page that is not a product page. 2026-01-28 13:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-socket-head-plug-150-black-steel-1-8>: HTTP status code is not handled or not allowed 2026-01-28 13:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-4w-x-6l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24n24blp-medium-type-1-enclosure-2400x2400x862-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 13:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a30n24clp-medium-type-1-enclosure-3000x2400x1062-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 13:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-men-s-industrial-cruiser-hd-105-black>: HTTP status code is not handled or not allowed 2026-01-28 13:40:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-36-3-drawer-plastic-top-workbench>: HTTP status code is not handled or not allowed 2026-01-28 13:40:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/storage_totes_tubs/storage_totes_with_lids landed on page that is not a product page. 2026-01-28 13:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-30-4-drawer-with-plastic-top-workbench>: HTTP status code is not handled or not allowed 2026-01-28 13:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sierrus-oval-platter-9-12-x-7-14white>: HTTP status code is not handled or not allowed 2026-01-28 13:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-jsm-6196195b-sm-61934>: HTTP status code is not handled or not allowed 2026-01-28 13:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sierrus-dinner-platenarrow-rim-9red>: HTTP status code is not handled or not allowed 2026-01-28 13:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-door-gate-48-w-x-59-h-986581>: HTTP status code is not handled or not allowed 2026-01-28 13:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-workstation-with-upper-compartments-84in-w-x30in-d-x56in-h>: HTTP status code is not handled or not allowed 2026-01-28 13:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-classic-diamond-mat-charcoal-6-x-20>: HTTP status code is not handled or not allowed 2026-01-28 13:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a8n64-small-type-1-enclosure-800-600x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 13:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/650-butoflex-chemical-resistant-butyl-gloves-supported-14-l-size-7-650317>: HTTP status code is not handled or not allowed 2026-01-28 13:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mapa-solo-green-977-disposable-nitrile-gloves-powder-free-100-box-size-7-977017>: HTTP status code is not handled or not allowed 2026-01-28 13:40:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/crackers_chips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilotron-metered-air-fresheners-citrus-scent-7-oz-refill-12-case>: HTTP status code is not handled or not allowed 2026-01-28 13:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24r208hcr-hinged-cover-medium-type-3r-2400x2000x800-galvanizedpaint>: HTTP status code is not handled or not allowed 2026-01-28 13:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exq-pro-extreme-power-workstation-hutch-72w-x-30d-x-26-38h-orange-w-black-trim>: HTTP status code is not handled or not allowed 2026-01-28 13:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oven-grill-cleaner-gallon-bottle-unscented-4-case>: HTTP status code is not handled or not allowed 2026-01-28 13:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-diamond-mat-charcoal-4-x-6>: HTTP status code is not handled or not allowed 2026-01-28 13:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109197 pages (at 96 pages/min), scraped 54352 items (at 44 items/min) 2026-01-28 13:40:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-231ha-2-impactool>: HTTP status code is not handled or not allowed 2026-01-28 13:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ahe16x12x4-pull-box-hinged-cover-1600x1200x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 13:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-2135qxpa-1-2-in-impactool-quiet>: HTTP status code is not handled or not allowed 2026-01-28 13:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-2135qxpa-2-1-2-in-impactool-quiet-2-in-extended-anvil>: HTTP status code is not handled or not allowed 2026-01-28 13:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/crackers_chips>: HTTP status code is not handled or not allowed 2026-01-28 13:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-3445max-air-angle-grinder-4-1-2in-wheel>: HTTP status code is not handled or not allowed 2026-01-28 13:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-horizontal-rail-mirror>: HTTP status code is not handled or not allowed 2026-01-28 13:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-60w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 13:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronically-locking-left-entrance-satin>: HTTP status code is not handled or not allowed 2026-01-28 13:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-jms10scms-104>: HTTP status code is not handled or not allowed 2026-01-28 13:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems>: HTTP status code is not handled or not allowed 2026-01-28 13:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-176-ss-corner-guard-16-ga-counter-sunk-holes-rd-corners-48-x1-5-x1-5h>: HTTP status code is not handled or not allowed 2026-01-28 13:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scotch-vinyl-electrical-color-coding-tape-35-green-3-4-x-66-100-per-case>: HTTP status code is not handled or not allowed 2026-01-28 13:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-ceiling-or-wall-vent-grille-vent-cover-w-2-way-reflexctor-4-x-8>: HTTP status code is not handled or not allowed 2026-01-28 13:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-176-stainless-steel-corner-guard-16-ga-rd-corners-60-lx1-1-2-wx1-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 13:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-safety-walk-slip-resistant-general-purpose-tapes-treads-610-bk-6-inx60-ft1-case>: HTTP status code is not handled or not allowed 2026-01-28 13:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a903636fsda-free-stand-singledual-access-1-door-9006x3606x3606-steelpaint>: HTTP status code is not handled or not allowed 2026-01-28 13:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-grille-brown-floor-vent-grille-vent-cover-2-25-x-10>: HTTP status code is not handled or not allowed 2026-01-28 13:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solarguard-storage-master-building-14w-x-14h-x-28l-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-assembly-part-replacement-for-kerosene-heater>: HTTP status code is not handled or not allowed 2026-01-28 13:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-72w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-line-part-replacement-for-kerosene-heater-3341-0038>: HTTP status code is not handled or not allowed 2026-01-28 13:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cross-piece-1632-6293416>: HTTP status code is not handled or not allowed 2026-01-28 13:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mdl-201-spring-6012296>: HTTP status code is not handled or not allowed 2026-01-28 13:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-add-on-unit-5-tier-48w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-crack-floor-repair-cartridge-9-oz-tube>: HTTP status code is not handled or not allowed 2026-01-28 13:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440106841-roll-314d-1w-x-50-yd-p120>: HTTP status code is not handled or not allowed 2026-01-28 13:41:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/impact_drivers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-commercial-grade-100-solids-epoxy-15-gallon-pail-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-model-201planer-6012168>: HTTP status code is not handled or not allowed 2026-01-28 13:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-black-steel-base-modular-locker>: HTTP status code is not handled or not allowed 2026-01-28 13:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-30w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-48w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-1-w-x-1-8-thick-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supratile-interlocking-edge-7mm-thick-20-12-x-2-12-dark-gray-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090253900-iron-series-vanguard-gasoline-driven-horizontal-air-compressor-16hp-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 13:41:31 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/impact_drivers landed on page that is not a product page. 2026-01-28 13:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/helios-illume-round-flame-tower-heater-with-remote-control-35000-btu-satin-black>: HTTP status code is not handled or not allowed 2026-01-28 13:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-5vx-cogged-v-belt-5vx1250>: HTTP status code is not handled or not allowed 2026-01-28 13:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wkt3-danger-do-not-operate-locked-out-tag-two-part-tags-with-stubs-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-28 13:41:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-quik-mark-sb-inverted-marking-paint-apwa-utility-white>: HTTP status code is not handled or not allowed 2026-01-28 13:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-5-ball-interior-exterior-paint-smoke-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-drying-stand-black>: HTTP status code is not handled or not allowed 2026-01-28 13:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-3vx-cogged-v-belt-3vx400>: HTTP status code is not handled or not allowed 2026-01-28 13:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80076-do-not-enter-sign-high-intensity-prismatic-reflective-sign-aluminum-24w-x-24h>: HTTP status code is not handled or not allowed 2026-01-28 13:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-inlet-dc-1200fs-427028>: HTTP status code is not handled or not allowed 2026-01-28 13:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-commercial-canopy-14w-x-40l-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/locks_lockout_devices/lockout_tagout_devices/lockout_padlocks>: HTTP status code is not handled or not allowed 2026-01-28 13:41:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-lined-poly-mailers-8-12w-x-12l-2-mil-white-25pack>: HTTP status code is not handled or not allowed 2026-01-28 13:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-handrail-barriers-white-436655>: HTTP status code is not handled or not allowed 2026-01-28 13:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-1-4-diameter-6x37-iwrc-bright-wire-rope>: HTTP status code is not handled or not allowed 2026-01-28 13:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/146132-cable-safety-padlocks-keyed-alike-8h-clearance-steel-cable-red-6pack>: HTTP status code is not handled or not allowed 2026-01-28 13:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-30w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:41:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-5-32-diameter-7x19-galvanized-aircraft-cable-2>: HTTP status code is not handled or not allowed 2026-01-28 13:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ska-bkt-universal-spill-kituniversal6-12-gallon-bucket>: HTTP status code is not handled or not allowed 2026-01-28 13:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-giant-commercial-canopy-24w-x-40l-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:41:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 13:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-5-32-diameter-7x19-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 13:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109291 pages (at 94 pages/min), scraped 54389 items (at 37 items/min) 2026-01-28 13:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86537-stop-do-not-operate-tag-2-sided-10pkg-polyester-3w-x-5-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-model-201-planer-6012191>: HTTP status code is not handled or not allowed 2026-01-28 13:41:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-54w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-4-mailboxes-2-parcel-lockers-dark-bronze>: HTTP status code is not handled or not allowed 2026-01-28 13:42:01 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 13:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-track-wheel-10x2-12-1-14-roller>: HTTP status code is not handled or not allowed 2026-01-28 13:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bains-marie-container-35-qtwhite>: HTTP status code is not handled or not allowed 2026-01-28 13:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-30w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 13:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-housing-bracket-2244pro3-402>: HTTP status code is not handled or not allowed 2026-01-28 13:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-do-not-break-down-skids-print-5l-x-3w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 13:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-duralast-wheel-5x2-12-ball>: HTTP status code is not handled or not allowed 2026-01-28 13:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700357yel-pegboard-powerwing-display-16w-x-2025h-yl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 13:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410-350-4-10-inch-pneumatic-wheel-assembly-thread-design-stud>: HTTP status code is not handled or not allowed 2026-01-28 13:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104316-toughstripe-floor-marking-tape-polyester-2w-x-100l-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-1-4-x-11-1-2-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 13:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5cd-d06b-screw-hndl-14-20-x-12-6285910>: HTTP status code is not handled or not allowed 2026-01-28 13:42:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 13:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-42w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-1-2-x-12-1-2-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 13:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-42w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bevel-gear-model-201planer-6012099>: HTTP status code is not handled or not allowed 2026-01-28 13:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-12-l-x-1-w-x-3-16-thick-red>: HTTP status code is not handled or not allowed 2026-01-28 13:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-plastex-wheel-8x2-12-1-roller>: HTTP status code is not handled or not allowed 2026-01-28 13:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polystyrene-bar-48-l-x-2-w-x-1-16-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 13:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-nylon-leveling-mount-w-bolt-nylon-58-11-x-6-bolt-2-dia-x-6-78-h-4000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 13:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-12-foot-power-cord-parpcd00110a-for-jetstream-270-and-hurricane-360-115v-20-amp>: HTTP status code is not handled or not allowed 2026-01-28 13:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-v-groove-wheel-4x1-12-34-roller>: HTTP status code is not handled or not allowed 2026-01-28 13:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-v-groove-wheel-5x2-12-roller>: HTTP status code is not handled or not allowed 2026-01-28 13:42:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700356blu-pegboard-powerwing-display-1675w-x-60h-bl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 13:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700443pnk-pinwheel-pegboard-display-wwheel-base-135w-x-44h-pk-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 13:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scented-stix-watercolor-markers-fine-point-12-colors-216-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regulated-labels-c-e1-x-1-blackwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 13:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-solid-shelf-20-inch-48-inch>: HTTP status code is not handled or not allowed 2026-01-28 13:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-strip-36-l-x-5-w-x-1-32-thick-blue-detectable-60a-high-temp-adhesive-bulk-rs-s60md-71>: HTTP status code is not handled or not allowed 2026-01-28 13:42:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreo-single-serve-packs-2-4-oz-12-packs>: HTTP status code is not handled or not allowed 2026-01-28 13:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700359wht-pegboard-powerwing-display-8w-x-20625h-wh-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 13:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55935-pro-black-matte-adf-welding-helmet>: HTTP status code is not handled or not allowed 2026-01-28 13:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-21x54>: HTTP status code is not handled or not allowed 2026-01-28 13:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polystyrene-bar-24-l-x-2-w-x-1-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 13:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-48-wide-desk-rustic-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/112739-vert-l-shaped-acrylic-sign-hlr-25w-x-35h-10pack>: HTTP status code is not handled or not allowed 2026-01-28 13:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-paper-labels-with-jan-print-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 13:42:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_rolls landed on page that is not a product page. 2026-01-28 13:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crowd-control-stanchion-40-in-stainless-steel-post-red-belt-7-1-2-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 13:42:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700461pnk-pinwheel-pegboard-display-wwheel-base-135w-x-60h-pk-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 13:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-x-2-grooved-clevis-pin-18-8-stainless-steel-clpgs-0312-2000>: HTTP status code is not handled or not allowed 2026-01-28 13:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-elev-screw-27spr27-w-shaper-3735006>: HTTP status code is not handled or not allowed 2026-01-28 13:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-dog-low-profile-2-ch-orange-lidblack-base>: HTTP status code is not handled or not allowed 2026-01-28 13:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-90-degree-angle-72-l-x-1-1-4-w-gray-bulk-pa-pvc-11>: HTTP status code is not handled or not allowed 2026-01-28 13:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-4-1-2-in-dia-64-inch-h-yellow-blue-tape>: HTTP status code is not handled or not allowed 2026-01-28 13:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/machinery_parts_accessories>: HTTP status code is not handled or not allowed 2026-01-28 13:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamondback-ramps-only-for-uhb6050t>: HTTP status code is not handled or not allowed 2026-01-28 13:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5410l-3-5v-portable-diagnostic-set-led-lamp-black>: HTTP status code is not handled or not allowed 2026-01-28 13:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datalogic-65l-usb-cable-for-use-with-datalogic-powerscan-rf>: HTTP status code is not handled or not allowed 2026-01-28 13:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/88in-w-x44in-d-reception-station-w-non-electric-raceway-cherry-counter-gray-panel>: HTTP status code is not handled or not allowed 2026-01-28 13:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-strip-120-l-x-1-4-w-x-1-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 13:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-2-x-2-3-4-x-2-1-2-mailers>: HTTP status code is not handled or not allowed 2026-01-28 13:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109387 pages (at 96 pages/min), scraped 54427 items (at 38 items/min) 2026-01-28 13:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-paper-labels-with-may-print-fluorescent-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 13:42:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-3-4-x-10-3-4-x-4-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 13:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-5-8-short>: HTTP status code is not handled or not allowed 2026-01-28 13:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-plain-redi-seal-envelopes-w-security-tint-4-18w-x-9-12l-white-2500pak>: HTTP status code is not handled or not allowed 2026-01-28 13:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-coverall-knit-cuffs-and-attached-hood-white-red-3x-large-4565-blk-3xl>: HTTP status code is not handled or not allowed 2026-01-28 13:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iowa-hitch-cover-4-1-2-x-3-3-8-15076>: HTTP status code is not handled or not allowed 2026-01-28 13:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-36-1-4w-x-101-1-2h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-28 13:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-coverall-knit-cuffs-attached-hood-blue-medium-4530-blk-m>: HTTP status code is not handled or not allowed 2026-01-28 13:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-tampa-bay-lightning-grill-mat-14250>: HTTP status code is not handled or not allowed 2026-01-28 13:43:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 13:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-bit-tailpipe-cut-off-tool>: HTTP status code is not handled or not allowed 2026-01-28 13:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-12-l-x-12-w-x-1-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 13:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-canopy-16w-x-20l-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moo-tel-calf-nursery-w-doors-26w-x-24l-white>: HTTP status code is not handled or not allowed 2026-01-28 13:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nba-brooklyn-nets-grill-mat-14197>: HTTP status code is not handled or not allowed 2026-01-28 13:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taylor-percussion-hammer-latex-free-red>: HTTP status code is not handled or not allowed 2026-01-28 13:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bi12598-loaded-gear-gx600-crossover-long-range-tactical-backpack-black>: HTTP status code is not handled or not allowed 2026-01-28 13:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermal-transfer-labels-4w-x-1-12l-3-core-white-4pack>: HTTP status code is not handled or not allowed 2026-01-28 13:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-wrench-click-style-1-2-drive-20-250-ft-lb>: HTTP status code is not handled or not allowed 2026-01-28 13:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leveling-foot-threaded-2700-lbs-capacity-40mm-base-dia-41-40-m16-100-d0-uk>: HTTP status code is not handled or not allowed 2026-01-28 13:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-36-1-4w-x-101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 13:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-60-1-4w-x-101-1-2h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-28 13:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-door-enclosed-bulletin-board-walnut-frame-96w-x-48h>: HTTP status code is not handled or not allowed 2026-01-28 13:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-6x10-self-seal-white-padded-mailers-25-packs>: HTTP status code is not handled or not allowed 2026-01-28 13:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neodymium-swiveling-magnetic-hook-65-lbs-pull-black-powdered-coat>: HTTP status code is not handled or not allowed 2026-01-28 13:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-8-25-pk-self-seal-white-stayflat-mailers>: HTTP status code is not handled or not allowed 2026-01-28 13:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-18mm-short>: HTTP status code is not handled or not allowed 2026-01-28 13:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-7-1-4x12-kra-padded-mailer>: HTTP status code is not handled or not allowed 2026-01-28 13:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-side-panel-60l-clearview>: HTTP status code is not handled or not allowed 2026-01-28 13:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd506vp-first-aid-kit-sign-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 13:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-do-not-use-blades-to-print-4l-x-3w-redwhiteblack-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 13:43:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-door-ovation-letter-board-black-w-gray-frame-46-7-8w-x-33-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 13:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hangazcn13x10-gry-gazebo-117-l-x-156-w-x-99-h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:43:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:43:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/retail_signs_sign_holders/letter_boards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-gable-end-12w-70percent-shade>: HTTP status code is not handled or not allowed 2026-01-28 13:43:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd824-steering-wheel-message-cover-vinyl-20-diameter>: HTTP status code is not handled or not allowed 2026-01-28 13:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-x-7-x-17-kra-shopping-bag>: HTTP status code is not handled or not allowed 2026-01-28 13:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-artic-blast-snow-pusher-wear-strip>: HTTP status code is not handled or not allowed 2026-01-28 13:43:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-door-enclosed-recycled-rubber-tackboard-60w-x36h-black-w-silver-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:43:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/file_cabinets/vertical_file_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-table-3-shelves-39-1-4-w-x-26-3-4-d-x-30-3-16-h>: HTTP status code is not handled or not allowed 2026-01-28 13:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x24-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22x25-liter-stak-a-cab-base-cabinet-47w-x-18d-x-18h>: HTTP status code is not handled or not allowed 2026-01-28 13:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangular-inventory-paper-labels-4l-x-3w-black-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 13:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kcc703-padlock-shelf-rack-4-6-padlock-capacity-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shag-style-diamond-trellis-area-rug-5-ft-x-7-ft-charcoal-ivory-polyester>: HTTP status code is not handled or not allowed 2026-01-28 13:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/foam/foam_rolls>: HTTP status code is not handled or not allowed 2026-01-28 13:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mrst813va-notice-sign-wash-hands-before-returning-to-work-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 13:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-budd-wheel-socket-13-16-square-3-4-drive>: HTTP status code is not handled or not allowed 2026-01-28 13:43:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/rugs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/file_cabinets/vertical_file_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 13:43:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-budd-wheel-socket-13-16-square-x-1-1-2-hex-3-4-drive>: HTTP status code is not handled or not allowed 2026-01-28 13:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-6-foot-standard-duty-ratchet-tie-down-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:43:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/retail_signs_sign_holders/letter_boards landed on page that is not a product page. 2026-01-28 13:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-48-l-x-48-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 13:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-12-l-x-2-1-2-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 13:43:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-post-86in-h-leveler-installed-pack-of-four>: HTTP status code is not handled or not allowed 2026-01-28 13:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-emt-conduit-thermo-plastic-channel-mounted-cush-a-claw>: HTTP status code is not handled or not allowed 2026-01-28 13:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp001vp-danger-sign-confined-space-enter-by-permit-only-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 13:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/decor_linens/rugs>: HTTP status code is not handled or not allowed 2026-01-28 13:43:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits landed on page that is not a product page. 2026-01-28 13:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109474 pages (at 87 pages/min), scraped 54454 items (at 27 items/min) 2026-01-28 13:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-dc-6000c-cyclone-style-dust-collector-6000-cfm-10hp-3ph-440v>: HTTP status code is not handled or not allowed 2026-01-28 13:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-impact-socket-set-1-2-drive-6-point-deep-12-piece>: HTTP status code is not handled or not allowed 2026-01-28 13:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-16flexo-pet-general-purpose-sleeving-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-28 13:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:44:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/work-benches/workbenches_worktables/cabinet_pedestal_workbenches/mobile_cabinet_pedestal_workbenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm1800b-3t-18-bandsaw-with-armorglide-5-hp-3-phase-460v>: HTTP status code is not handled or not allowed 2026-01-28 13:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x4-x24-1-5-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveworks-8-mil-heavy-duty-exam-grade-latex-gloves-large-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 13:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-22mm-deep>: HTTP status code is not handled or not allowed 2026-01-28 13:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyboard-tray-in-artisan-gray-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 13:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-4-drive-9mm-deep>: HTTP status code is not handled or not allowed 2026-01-28 13:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/return-desk-48w-x-24d-x-29-half-h-artisan-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bridge-36w-x-24d-x-29-half-h-artisan-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:44:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/work-benches/workbenches_worktables/cabinet_pedestal_workbenches/mobile_cabinet_pedestal_workbenches>: HTTP status code is not handled or not allowed 2026-01-28 13:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-4mp-h265-ai-ip-dome-camera-w-ir--junction-box-28-12mm-motorized-lens-white-housing>: HTTP status code is not handled or not allowed 2026-01-28 13:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-5-16-x-4-1-8-x-13-3-8-10-hardware-bag>: HTTP status code is not handled or not allowed 2026-01-28 13:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-1-8-x-4-1-2-x-13-3-4-12-hardware-bag>: HTTP status code is not handled or not allowed 2026-01-28 13:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-additional-perforated-steel-shelf-level-with-clips-48-w-x-18-d-x-1-5-16-h>: HTTP status code is not handled or not allowed 2026-01-28 13:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-additional-perforated-steel-shelf-level-with-clips-42-w-x-18-d-x-1-5-16-h>: HTTP status code is not handled or not allowed 2026-01-28 13:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-cpvc-sheet-6-l-x-6-w-x-1-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x3-x15-1-5-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-48-l-x-2-w-x-1-16-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:44:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 13:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-600-l-x-36-w-x-0-001-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 13:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-additional-perforated-steel-shelf-level-with-clips-42-w-x-36-d-x-1-5-16-h>: HTTP status code is not handled or not allowed 2026-01-28 13:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-4mp-h265-ip-bullet-camera-w-ir--junction-box-28-12mm-motorized-lens-white-housing>: HTTP status code is not handled or not allowed 2026-01-28 13:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werner-lock-job-bucket-ac50-jb-3>: HTTP status code is not handled or not allowed 2026-01-28 13:44:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_cabinets_pedestals already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-boltless-shelving-w-steel-industrial-shelves-36-w-x-18-d-x-84-h-add-on-5-shelves>: HTTP status code is not handled or not allowed 2026-01-28 13:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trs307ctp-inspection-record-tag-pf-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-28 13:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4x9-3-4-1-5-mil-flat-polypropylene-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-4-w-x-1-2-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 13:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm2000t-10-table-saw-with-armorglide--router-lift-50-rip-5hp-3ph-230v>: HTTP status code is not handled or not allowed 2026-01-28 13:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msmk427va-no-smoking-graphic-sign-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 13:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-safe-electronic-lock-21-11-16w-x-19-13-16d-x-37-11-16h-black>: HTTP status code is not handled or not allowed 2026-01-28 13:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/desk_cabinets_pedestals>: HTTP status code is not handled or not allowed 2026-01-28 13:44:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgnf956vs-think-sign-safety-first-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 13:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-heavy-duty-four-hole-square-flange>: HTTP status code is not handled or not allowed 2026-01-28 13:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duraflex-woven-high-abrasion-sleeve-207-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-28 13:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-lightweight-super-duty-impact-w-6-ext-anvil>: HTTP status code is not handled or not allowed 2026-01-28 13:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cide-bet-ii-aerosol-disinfectant-spray-floral-scent-19-oz-aerosol-spray-12case>: HTTP status code is not handled or not allowed 2026-01-28 13:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11x12-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coxreels-ez-sh-4100-hv-1-2inx100ft-300psi-ez-coil-safety-heavy-duty-spring-retractable-low-pressure>: HTTP status code is not handled or not allowed 2026-01-28 13:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coxreels-ez-tsh-475-hv-1-2inx75ft-300psi-ez-coil-safety-supreme-duty-spring-retractable-low-pressure>: HTTP status code is not handled or not allowed 2026-01-28 13:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x24-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-8-channel-network-video-recorder-with-facial-recognition--smart-analytics-6tb-storage>: HTTP status code is not handled or not allowed 2026-01-28 13:44:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 13:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-cable-climbing-system-38-dia-1x7-strands-galvanized-steel-cable>: HTTP status code is not handled or not allowed 2026-01-28 13:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfp-40vizi4-auto-darkening-welding-helmet-9-13-variable-shade-mo3-black>: HTTP status code is not handled or not allowed 2026-01-28 13:44:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/job_site_work_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matr802vs-notice-sign-no-trespassing-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 13:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-600-l-x-36-w-x-0-003-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 13:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-4-x-532-white-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-8-open-end-static-shielding-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jct-1602-benchtop-sand-rammer-24-cfm-800-bpm-90-psi>: HTTP status code is not handled or not allowed 2026-01-28 13:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fresh-mix-dispenser-fmd-2-blk-set000200>: HTTP status code is not handled or not allowed 2026-01-28 13:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hoist-and-trolley-combo-geared-10-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 13:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-1-w-x-1-4-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 13:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/job_site_work_lights>: HTTP status code is not handled or not allowed 2026-01-28 13:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pycnometer-50ml-no-mercury>: HTTP status code is not handled or not allowed 2026-01-28 13:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-24-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109564 pages (at 90 pages/min), scraped 54486 items (at 32 items/min) 2026-01-28 13:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-rack-bottle-holders-b5522>: HTTP status code is not handled or not allowed 2026-01-28 13:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-n-carry-6-board-system-cb1520kc>: HTTP status code is not handled or not allowed 2026-01-28 13:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5550043-flat-file-4-smooth-cut>: HTTP status code is not handled or not allowed 2026-01-28 13:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psorhb48-pipeline-48-hangrail>: HTTP status code is not handled or not allowed 2026-01-28 13:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-blinkersign-with-8-red-perimeter-flashing-leds-36w-x-6d-x-36h-whitered>: HTTP status code is not handled or not allowed 2026-01-28 13:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5550122-flat-file-12-second-cut>: HTTP status code is not handled or not allowed 2026-01-28 13:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-36-l-x-3-8-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 13:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dax-reflective-decals-green>: HTTP status code is not handled or not allowed 2026-01-28 13:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlh-series-lever-hoist-w-overload-protection-3-4-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 13:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs22-3-semi-automatic-random-side-drive-case-sealer-with-3-tape-head>: HTTP status code is not handled or not allowed 2026-01-28 13:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cw-premium-portable-electric-pressure-washer-4000-psi-15-hp-39-gpm-3-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 13:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-48-x-60-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-pull-type-water-cup-c3250ss>: HTTP status code is not handled or not allowed 2026-01-28 13:45:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lateral-file-without-top-sandstone-modular-furniture-2>: HTTP status code is not handled or not allowed 2026-01-28 13:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-reclosable-poly-bags-3w-x-5l-4-mil-blue-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 13:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-with-partial-window-60-x-61-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saf-t-grip-cutting-boards-cbg121812bl>: HTTP status code is not handled or not allowed 2026-01-28 13:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-12-degree-brix-sugar-scale-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 13:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-flat-poly-bags-18w-x-24l-4-mil-blue-250pack>: HTTP status code is not handled or not allowed 2026-01-28 13:45:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/wall_fans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dn-10030-debris-safety-netting-86-ft-x-150-ft-black-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 13:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-gusseted-poly-bags-23l-x-17w-x-46h-4-mil-blue-100roll>: HTTP status code is not handled or not allowed 2026-01-28 13:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walker-tray-with-two-recessed-cup-holders-gray-510-1083-0300>: HTTP status code is not handled or not allowed 2026-01-28 13:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-30485ep-48w-x-30d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 13:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-rack-containment-tray-three-trays-two-connectors>: HTTP status code is not handled or not allowed 2026-01-28 13:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-inward-swing-partition-door-25-5-8in-w-x-58in-h-almond>: HTTP status code is not handled or not allowed 2026-01-28 13:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-polypropylene-instrument-tray-with-cover-6-x-3-3-4-x-2-1-4>: HTTP status code is not handled or not allowed 2026-01-28 13:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-30607ep-60w-x-30d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 13:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/39-51-degree-baume-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 13:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-87v-industrial-true-rms-multimeter-87-5-1>: HTTP status code is not handled or not allowed 2026-01-28 13:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-38-1-5-x-18-x-9-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:45:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/cooling_fans/wall_fans landed on page that is not a product page. 2026-01-28 13:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-spraystop-high-capacity-polyester-paint-booth-overspray-collector-20-inl>: HTTP status code is not handled or not allowed 2026-01-28 13:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-36728ep-72w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:45:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-add-on-a36488ep-48w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-0-499-accepted>: HTTP status code is not handled or not allowed 2026-01-28 13:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pennsylvania-7600-series-hdhigh-resolution-db-capable-counting-scale-50-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloud-foam-sheets-12w-x-12l-x-1-thick-charcoal-48pack>: HTTP status code is not handled or not allowed 2026-01-28 13:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-ac175-threaded-alligator-clip-set>: HTTP status code is not handled or not allowed 2026-01-28 13:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermostat-snow-sensing-controller-120v-240v-261539>: HTTP status code is not handled or not allowed 2026-01-28 13:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7500-7999-wired-inventory-tag-3-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-28 13:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9500-9999-wired-inventory-tag-3-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-28 13:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dividable-akrodrawer-in-blue-17-5-8-x-5-9-16x-4-5-8>: HTTP status code is not handled or not allowed 2026-01-28 13:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-1-1-4w-14l-endless-poly-roundsling-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500-1999-inventory-tag-2-part-carbonless-stub-style>: HTTP status code is not handled or not allowed 2026-01-28 13:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-esd-safe-vertical-box-dividers-15l-x-5-1332h>: HTTP status code is not handled or not allowed 2026-01-28 13:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-ft-l-lift-out-guard-rails-light-duty>: HTTP status code is not handled or not allowed 2026-01-28 13:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coated-lead-shield-8-1-2-x-3-x-6>: HTTP status code is not handled or not allowed 2026-01-28 13:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-paper-30-lbs-8w-x-8l-kraft-1000-sheets>: HTTP status code is not handled or not allowed 2026-01-28 13:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-18245gz-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 13:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-sheet-96-l-x-54-w-x-3-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 13:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispensing-drop-60ml-2oz-polyethylene-bottles-18mm-closure-12pk>: HTTP status code is not handled or not allowed 2026-01-28 13:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-1-4-x-3-1-8-8-orange-strung-tag>: HTTP status code is not handled or not allowed 2026-01-28 13:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bench-rack-12x36x21-with-27-yellow-drawers>: HTTP status code is not handled or not allowed 2026-01-28 13:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-white-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 13:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-48-l-x-4-w-x-1-2-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 13:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-step-on-receptacle-17-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 13:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-4-x-2-1-8-4-white-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 13:45:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alday-24-7-task-chair>: HTTP status code is not handled or not allowed 2026-01-28 13:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109660 pages (at 96 pages/min), scraped 54521 items (at 35 items/min) 2026-01-28 13:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-72-x-30-adj-height-workbench-w-drawer-black-steel-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 13:45:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24h-double-sided-floor-stand-with-128-drawer-interlocking-storage-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 13:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennant-industrial-sweeper-panel-filters-650065506600-spunbond>: HTTP status code is not handled or not allowed 2026-01-28 13:45:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-96-x-30-adj-height-workbench-w-drawer-riser-black-maple-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 13:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-durac-plus-calibrated-liquid-in-glass-thermometer-20-to-110c-organic-liquid-fill>: HTTP status code is not handled or not allowed 2026-01-28 13:46:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-72-l-x-2-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 13:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-3w-3l-2-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-28 13:46:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/bins/cubby_bins_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 13:46:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/bins/cubby_bins_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collapsible-commercial-garment-rack-with-wheels-chrome-74-5-16l-x-22w-x-66-5-8h>: HTTP status code is not handled or not allowed 2026-01-28 13:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:46:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-rack-12x36x60-with-72-yellow-drawers>: HTTP status code is not handled or not allowed 2026-01-28 13:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-54-1-2-x-11-1-2-x-8-white>: HTTP status code is not handled or not allowed 2026-01-28 13:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/bins/cubby_bins_trays>: HTTP status code is not handled or not allowed 2026-01-28 13:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-piece-rectangle-outdoor-dining-set-gray-with-white-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:46:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plasma-tv-lcd-monitor-flush-wall-mount-bracket-for-13in-24in>: HTTP status code is not handled or not allowed 2026-01-28 13:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tv-cctv-monitor-wall-mount-bracket-for-monitor-9in-14in>: HTTP status code is not handled or not allowed 2026-01-28 13:46:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock landed on page that is not a product page. 2026-01-28 13:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-48-l-x-1-3-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 13:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-32-1-2-x-23-1-2-x-20-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:46:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sm-optimus-combination-emergency-shower-eye-face-wash-w-stainless-steel-bowl-se-1250>: HTTP status code is not handled or not allowed 2026-01-28 13:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-12f-density-wide-range-5-to-215f>: HTTP status code is not handled or not allowed 2026-01-28 13:46:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-finned-strip-240v-t4-35-78l-3450w>: HTTP status code is not handled or not allowed 2026-01-28 13:46:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/bins_totes_containers/bins/cubby_bins_trays landed on page that is not a product page. 2026-01-28 13:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-28 13:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-chair-set-studio-teak-table-top-with-black-chairs>: HTTP status code is not handled or not allowed 2026-01-28 13:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-48-l-x-4-w-x-1-2-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 13:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-t-handle-white-14x16x30>: HTTP status code is not handled or not allowed 2026-01-28 13:46:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-28 13:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-36-l-x-1-1-4-id-x-1-3-4-od-white>: HTTP status code is not handled or not allowed 2026-01-28 13:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xru15pt-x2-36v-brushless-string-trimmer-15in>: HTTP status code is not handled or not allowed 2026-01-28 13:46:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 13:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-round-cocktail-table-with-30-and-42-leg-columns-birchwood-top>: HTTP status code is not handled or not allowed 2026-01-28 13:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-12-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hplc-reservoir-secondary-container-10-liters>: HTTP status code is not handled or not allowed 2026-01-28 13:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-72w-x-24d-x-54h-3-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 13:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-72w-x-24d-x-54h-3-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 13:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/highlighters_markers>: HTTP status code is not handled or not allowed 2026-01-28 13:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-companion-amber-polycarbonate-cabinet-style-vacuum-desiccator-35-liter>: HTTP status code is not handled or not allowed 2026-01-28 13:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stripe-renew-concrete-coating-20-oz-gray-12-cans-case-20-600>: HTTP status code is not handled or not allowed 2026-01-28 13:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x8-4-mil-double-track-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x12-4-mil-double-track-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-36-l-x-1-w-x-3-16-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 13:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-composite-6w-x-6h-king-cedar-alum-composite-horizontal-fence-starter-section-in-ground-ef-ug1216>: HTTP status code is not handled or not allowed 2026-01-28 13:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-30w-x-24d-x-14h-1-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 13:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-calibrated-liquid-in-glass-thermometer-1-to-201c-76mm>: HTTP status code is not handled or not allowed 2026-01-28 13:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/school-milk-coolers-single-access-forced-air-smf-49w-smf49y>: HTTP status code is not handled or not allowed 2026-01-28 13:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n51h15lnr50n-jafline-double-jacket-fire-hose-1-12-x-50-ft-400-psi-red>: HTTP status code is not handled or not allowed 2026-01-28 13:46:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-5-4-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 13:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2xl-mega-roll-hand-sanitizing-wipes-refills-2-rolls-case-2xl-422>: HTTP status code is not handled or not allowed 2026-01-28 13:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-6-w-x-1-3-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 13:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-54w-x-18d-x-54h-3-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 13:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bk-steel-ball-knobs-tapped-254mm-diameter-mm-length-51618>: HTTP status code is not handled or not allowed 2026-01-28 13:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-60w-x-14d-x-14h-1-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 13:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr-polyurethane-gray-grip-gloves-with-hppe-glass-liner-gray-palm-fingers-l-1-dz>: HTTP status code is not handled or not allowed 2026-01-28 13:46:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr-polyurethane-gray-grip-gloves-with-hppe-glass-liner-gray-palm-fingers-m-1-dz>: HTTP status code is not handled or not allowed 2026-01-28 13:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109745 pages (at 85 pages/min), scraped 54548 items (at 27 items/min) 2026-01-28 13:46:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-48w-x-24d-x-34h-2-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 13:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-30-yellow-tissue-paper>: HTTP status code is not handled or not allowed 2026-01-28 13:46:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-1-w-x-1-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 13:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printed-ice-bag-12-x-21-10lb-capacity-1-5-mil-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-1-2-x-11-chipboard-pad-case-1>: HTTP status code is not handled or not allowed 2026-01-28 13:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-72w-x-24d-x-63h-4-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 13:47:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-36-l-x-1-1-2-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 13:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-door-back-bar-refrigerator-bb-g-79w-bb78g>: HTTP status code is not handled or not allowed 2026-01-28 13:47:06 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 13:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-1u-12-vented-component-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3ft-x-5ft-bulldog-174-cotton-us-flag-with-sewn-stripes-embroidered-stars>: HTTP status code is not handled or not allowed 2026-01-28 13:47:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/dunnage_racks landed on page that is not a product page. 2026-01-28 13:47:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-pfa-safety-coated-liquid-in-glass-thermometer-10-to-150c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 13:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-wall-mounted-bloodborne-pathogen-cleanup-kit>: HTTP status code is not handled or not allowed 2026-01-28 13:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-test-tube-basket-9-x-9-x-9-no-lid>: HTTP status code is not handled or not allowed 2026-01-28 13:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-sheet-12-l-x-12-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 13:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-24-l-x-12-w-x-1-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 13:47:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-1060-1130-specific-gravity-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 13:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-70120-gourmet-freeze-dried-meat-buckets-2-buckets-120-servings>: HTTP status code is not handled or not allowed 2026-01-28 13:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-vented-labeled-2-color-ethanol-wm-wash-bottles-500ml-16oz-pe-w-nat-pp-cap-3pk>: HTTP status code is not handled or not allowed 2026-01-28 13:47:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 13:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-separatory-funnel-rack-6-places-fits-500-1000cc-funnels>: HTTP status code is not handled or not allowed 2026-01-28 13:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-8200-r-wide-body-duplex-receptacle-straight-blade-hospital-grade-self-grounding-red>: HTTP status code is not handled or not allowed 2026-01-28 13:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-54w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-galvanized-feed-bunk-with-square-ends-60l-x-34w-x-19h>: HTTP status code is not handled or not allowed 2026-01-28 13:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-wing-clip-for-pegboard-and-slatwall-12l-clear>: HTTP status code is not handled or not allowed 2026-01-28 13:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-loop-ceiling-clip-1l-x-34w-white>: HTTP status code is not handled or not allowed 2026-01-28 13:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-24w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:47:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gez-100es-2rs-spherical-plain-bearing-inch-sealed>: HTTP status code is not handled or not allowed 2026-01-28 13:47:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ap1-20-half-frame-safety-glasses-smoke-lens-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:47:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sv4-class-2-5-pt-breakaway-solid-vest-hi-viz-green-4xl>: HTTP status code is not handled or not allowed 2026-01-28 13:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14in-x-48in-black-epoxy-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-6c-spherical-plain-bearing-metric-maintenance-free>: HTTP status code is not handled or not allowed 2026-01-28 13:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xt1-91-foam-lined-frame-safety-glasses-io-anti-fog-lens-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spirit-display-case-navy-base-satin-fr-white-back-48w-16d-72h>: HTTP status code is not handled or not allowed 2026-01-28 13:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-36w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 13:47:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 13:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-48w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 13:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-labeled-4-color-water-wide-mouth-wash-bottles-500ml-16oz-pe-w-blue-pp-cap-4pk>: HTTP status code is not handled or not allowed 2026-01-28 13:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corn-fill-angle-broom-lacquered-pine-handle-brown-fg637300brn>: HTTP status code is not handled or not allowed 2026-01-28 13:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-section-seat-locker>: HTTP status code is not handled or not allowed 2026-01-28 13:47:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/food_beverage_preparation_appliances/coffee_tea_brewing_equipment/coffee_makers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-cup-euro-style-coffee-maker-cc123>: HTTP status code is not handled or not allowed 2026-01-28 13:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-600-l-x-12-w-x-1-16-thick-black-fabric-reinforced-70a-bulk-rs-nfr70-232>: HTTP status code is not handled or not allowed 2026-01-28 13:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pour-over-fresh-water-airpot-brewer-gbap>: HTTP status code is not handled or not allowed 2026-01-28 13:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-waste-receptacle-with-gray-aluminum-funnel-top26-dia-x-33-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-600-l-x-12-w-x-1-16-thick-black-ultra-strength-60a>: HTTP status code is not handled or not allowed 2026-01-28 13:47:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/blowers/confined_space_blowers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-24w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-channel-electronic-timer-with-memory-and-clock-and-certificate-of-calibration>: HTTP status code is not handled or not allowed 2026-01-28 13:47:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109828 pages (at 83 pages/min), scraped 54577 items (at 29 items/min) 2026-01-28 13:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-72w-x-36d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:47:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/food_beverage_preparation_appliances/coffee_tea_brewing_equipment/coffee_makers landed on page that is not a product page. 2026-01-28 13:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9534-8-inch-axial-ac-metal-com-pax-ial-blower>: HTTP status code is not handled or not allowed 2026-01-28 13:47:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-deep-file-file-mobile-pedestal-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:47:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plano-prolatch-8482-stowaway-174-4-24-adjustable-compartment-box-14-w-x-9-d-x-1-7-8-h-clear>: HTTP status code is not handled or not allowed 2026-01-28 13:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-36w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/fans_blowers/blowers/confined_space_blowers>: HTTP status code is not handled or not allowed 2026-01-28 13:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-tile-top-antifatigue-mat-7-8-thick-24x36-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-24w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:48:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-micro-flea-magnetic-stirring-bar-7-x-2mm-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:48:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-36w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 13:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-underbed-truck-box-24x24x48-1725140>: HTTP status code is not handled or not allowed 2026-01-28 13:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-underbed-truck-box-18x18x36-black-1732305>: HTTP status code is not handled or not allowed 2026-01-28 13:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-48w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 13:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-terrain-gas-power-li-drive-pallet-truck-pallet-jack-4000-lb-cap-2>: HTTP status code is not handled or not allowed 2026-01-28 13:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crossbar-for-1501310-1501311>: HTTP status code is not handled or not allowed 2026-01-28 13:48:16 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 13:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-304-stainless-steel-locker-18w-x-18d-x-78h-double-tier-1-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 13:48:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/splash-shield-2-38-articulating-arms-15-x-24-plexiglass>: HTTP status code is not handled or not allowed 2026-01-28 13:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-60w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-54w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-steel-recycling-container-black-18-dia-x-33-h-1>: HTTP status code is not handled or not allowed 2026-01-28 13:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempered-glass-for-cubbies-10-x-16>: HTTP status code is not handled or not allowed 2026-01-28 13:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-piece-steel-small-ball-valve-lockout-7273>: HTTP status code is not handled or not allowed 2026-01-28 13:48:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/label_tapes landed on page that is not a product page. 2026-01-28 13:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/competitor-ventilated-three-tier-locker-adder-1-wide-12w-x-12d-x-24h-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gate-valve-lockout-6-5-inch-to-10-inch-wheel-7247>: HTTP status code is not handled or not allowed 2026-01-28 13:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lkwobg1617ss-bottom-grid-ss-16316lx141116w>: HTTP status code is not handled or not allowed 2026-01-28 13:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers>: HTTP status code is not handled or not allowed 2026-01-28 13:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-stainless-steel-mortar>: HTTP status code is not handled or not allowed 2026-01-28 13:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/application-tape-labels-66-roll>: HTTP status code is not handled or not allowed 2026-01-28 13:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-720-l-x-12-w-x-3-32-thick-white-food-60a>: HTTP status code is not handled or not allowed 2026-01-28 13:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-12w-x-18d-x-30h-unassembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 13:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-straight-tubing-connectors-for-1-4-tubing-polypropylene-12pk>: HTTP status code is not handled or not allowed 2026-01-28 13:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-highlighter-chisel-tip-pocket-clip-fluorescent-pink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 13:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/140059-screw-driver-t20-8l-x-6w-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 13:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/competitor-ventilated-three-tier-locker-3-wide-12w-x-18d-x-24h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 13:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-18245b-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 13:48:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-sampling-spoon-20ml-067oz-sterile-plastic-individually-wrapped-100pk>: HTTP status code is not handled or not allowed 2026-01-28 13:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-to-1-2-hold-range-2-3-4-in-proj-vinyl-dipped-ss-standard-spring-clip-for-ss-locboard-3-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/141006b-glhl-rope-pull-switch-we-stopsled-4nc-2no-110120v-12npt-die-cast>: HTTP status code is not handled or not allowed 2026-01-28 13:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-bushel-plastic-bulk-box-truck-steel-chassis-base-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-proculture-round-microcentrifuge-floating-bubble-rack-for-05ml-tubes>: HTTP status code is not handled or not allowed 2026-01-28 13:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/203008hf-km-tongue-interlock-switch-hf-act-3nc-1no-12npt-die-cast>: HTTP status code is not handled or not allowed 2026-01-28 13:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcd43909blk-full-motion-tv-wall-mount-for-32-60-monitors-blacks>: HTTP status code is not handled or not allowed 2026-01-28 13:48:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-polypropylene-vortexer-attachment-for-microcentrifuge-tubes-for-15ml-tubes-20-places>: HTTP status code is not handled or not allowed 2026-01-28 13:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-12w-x-12d-x-36h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 13:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/133016-lmr-magnetic-non-contact-switch-8way-2nc-1no-m12>: HTTP status code is not handled or not allowed 2026-01-28 13:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-60-l-x-36-w-x-1-4-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-28 13:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/136019-wmc-coded-non-contact-switch-10m-2nc-1no>: HTTP status code is not handled or not allowed 2026-01-28 13:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-way-connector-chrome>: HTTP status code is not handled or not allowed 2026-01-28 13:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/232004-esl-ss-e-stop-switch-1no-12npt>: HTTP status code is not handled or not allowed 2026-01-28 13:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-esd-square-edge-mobile-production-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 13:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/202002a-klm-guard-locking-switch-std-actstd-release-24v-12npt-die-cast>: HTTP status code is not handled or not allowed 2026-01-28 13:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-15w-x-18d-x-36h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 13:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-maple-safety-edge-mobile-production-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-esd-safety-edge-mobile-production-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-phenolic-swivel-casters-with-brakes-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:48:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/142059b-gls-rope-pull-switch-wled-2nc-2no-110120v-ac-die-cast>: HTTP status code is not handled or not allowed 2026-01-28 13:48:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-36-w-x-3-32-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 13:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-1-2-ton-15-lift-25-4-2-ft-min-115v>: HTTP status code is not handled or not allowed 2026-01-28 13:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 109922 pages (at 94 pages/min), scraped 54605 items (at 28 items/min) 2026-01-28 13:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-double-sided-starter-unit-medium-duty-3>: HTTP status code is not handled or not allowed 2026-01-28 13:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12l-x-12w-x-12d-large-display-cube-clear>: HTTP status code is not handled or not allowed 2026-01-28 13:48:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-single-sided-starter-unit-4>: HTTP status code is not handled or not allowed 2026-01-28 13:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-double-sided-starter-unit-3>: HTTP status code is not handled or not allowed 2026-01-28 13:49:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 13:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 13:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5l-round-tubing-w-1-1-16-dia-chrome>: HTTP status code is not handled or not allowed 2026-01-28 13:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drain-hair-snare-2-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-mini-bellows-plunger>: HTTP status code is not handled or not allowed 2026-01-28 13:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-cl-suture-procedure-cart-with-locking-sliding-door-white-withalmond-beige>: HTTP status code is not handled or not allowed 2026-01-28 13:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers>: HTTP status code is not handled or not allowed 2026-01-28 13:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-1-16-thick-black-high-strength-80a-acrylic-adhesive-bulk-rs-h80-45>: HTTP status code is not handled or not allowed 2026-01-28 13:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-dx-storage-cart-with-security-railed-top-and-sliding-door-white-with-global-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-10-32-3-4-thread-1-2-head-dia-3-16-head-h-ss-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 13:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-12w-x-15d-x-36h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 13:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-12w-x-18d-x-36h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 13:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knurled-thumb-screw-w-shoulder-1-4-20-1-2-thread-1-head-dia-5-8-head-h>: HTTP status code is not handled or not allowed 2026-01-28 13:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/data-logging-sound-level-meter>: HTTP status code is not handled or not allowed 2026-01-28 13:49:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-pvc-type-1-tube-72-l-x-1-id-x-1-1-2-od-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-out-printer-tray-for-heavy-duty-laptop-carts>: HTTP status code is not handled or not allowed 2026-01-28 13:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brazos-series-gray-outdoor-stack-chair-with-flex-comfort-material-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-94g-n5-xenon-strobe-green-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 13:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-shaped-round-tubing-hangrail-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 13:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledmr120a-smd-multi-mode-led-module-and-light-source-red-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 13:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-1746-3-13-mission-sloped-display-7-inch-w-x-13-inch-d-x-10-3-4-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 13:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-anywhere-basket-12-12-8-w>: HTTP status code is not handled or not allowed 2026-01-28 13:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-248ledmy120a-48-mm-led-stacklight-module-yellow-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 13:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-two-bay-19>: HTTP status code is not handled or not allowed 2026-01-28 13:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 13:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fx180n-refrigerant-air-dryer-3-phase-400v-411-cfm-2-npt>: HTTP status code is not handled or not allowed 2026-01-28 13:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-tht-179-494-pk-b-494-color-polyester-labels-1-h-x-1-w-pink-white-3000-roll>: HTTP status code is not handled or not allowed 2026-01-28 13:49:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:49:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:49:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-pack-half-mask-respirator-kit-m-1-each-h05-8721m>: HTTP status code is not handled or not allowed 2026-01-28 13:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shim-ring-m42-o-d-x-30mm-i-d-x-2mm-thick-din-988>: HTTP status code is not handled or not allowed 2026-01-28 13:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cl3504-5-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a0021-ball-bearing-upper-shaft-balancer-2-shields-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 13:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55185-bearing-10-x-22-x-6-dp-groove-ball-2-shields-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 13:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-chrome-ledge-solid-shelves-48-w-x-4-h>: HTTP status code is not handled or not allowed 2026-01-28 13:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cjl3507a-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels>: HTTP status code is not handled or not allowed 2026-01-28 13:49:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 13:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels>: HTTP status code is not handled or not allowed 2026-01-28 13:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30614-o-ring-31-mm-x-34-mm-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 13:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-16-bu-red-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 13:49:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/caulk_sealants/adhesive_caulk_sealants already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-14-bu-red-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 13:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-150465-prop-65-regulatory-sign-smoking-14-x-10-polyester-black-on-white>: HTTP status code is not handled or not allowed 2026-01-28 13:49:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-3300-rpm-115v-oao-1-95-fl-amps>: HTTP status code is not handled or not allowed 2026-01-28 13:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-3300-rpm-115v-oao-2-4-fl-amps>: HTTP status code is not handled or not allowed 2026-01-28 13:49:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:49:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-18-bu-gray-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 13:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-pump-sk-129-169-219-289-110v-60hz-cube-ice-machines>: HTTP status code is not handled or not allowed 2026-01-28 13:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tray-arm-46760-for-built-systems-assembly-tables>: HTTP status code is not handled or not allowed 2026-01-28 13:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/adhesives_sealants_tape/caulk_sealants/adhesive_caulk_sealants>: HTTP status code is not handled or not allowed 2026-01-28 13:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-18-bu-blue-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 13:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/die_cut_labels>: HTTP status code is not handled or not allowed 2026-01-28 13:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3668t-4-1-5-hp-865-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 13:49:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 13:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84-long-aluminum-construction-pipe-safety-railing>: HTTP status code is not handled or not allowed 2026-01-28 13:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4109t-40-hp-3540-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-del3737tm-10-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-foot-outdoor-steel-flat-bench-expanded-metal-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110014 pages (at 92 pages/min), scraped 54637 items (at 32 items/min) 2026-01-28 13:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-inch-v-jaw-dipped-handle-tongue-groove-pliers>: HTTP status code is not handled or not allowed 2026-01-28 13:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-3000-rpm-115v-oao-1-43-fl-amps>: HTTP status code is not handled or not allowed 2026-01-28 13:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fans-motor-1-4-hp-1625-rpm-460v-oao>: HTTP status code is not handled or not allowed 2026-01-28 13:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laptop-backpack-locker-45w-x-18d-x-78h-4-tier-3-wide-711-platinum-assembled>: HTTP status code is not handled or not allowed 2026-01-28 13:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-box-dumper-7>: HTTP status code is not handled or not allowed 2026-01-28 13:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metromax-4-fivetier-stem-caster-cart-solid-bottom-shelf-18-x-36-x-79-516>: HTTP status code is not handled or not allowed 2026-01-28 13:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cem3613t-5-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-single-phase-tefc-motor-5-hp-3530-rpm-208-230v-tefc>: HTTP status code is not handled or not allowed 2026-01-28 13:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/counter-height-industrial-cabinet-36-w-x-24-d-x-45-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 13:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inkjet-brochure-paper-matte-white-8-1-2in-x-11in-150-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-gaylord-pallet-container-with-lid-caster-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-motor-1-4-hp-1075-rpm-115v-teao>: HTTP status code is not handled or not allowed 2026-01-28 13:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-drum-dumper-stationary-3>: HTTP status code is not handled or not allowed 2026-01-28 13:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drum-outdoor-spill-containment-unit-without-drain>: HTTP status code is not handled or not allowed 2026-01-28 13:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-w-center-support-60-inch-w-x-30-inch-d-1-level-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 13:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-wheel-chock-with-handle-safety-chain-fab-10-ergo>: HTTP status code is not handled or not allowed 2026-01-28 13:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-back-executive-breathable-leather-chair-black-2>: HTTP status code is not handled or not allowed 2026-01-28 13:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-cable-lock-72l-no-8418d>: HTTP status code is not handled or not allowed 2026-01-28 13:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cewdm3713t-15-hp-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cewdm3714t-10-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-8mm-tube-x-3-8-swift-fit-universal-thread-6-7-l>: HTTP status code is not handled or not allowed 2026-01-28 13:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-full-width-rod-60-w-x-24-d-x-75-h-red>: HTTP status code is not handled or not allowed 2026-01-28 13:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peakworks-fbh10020b-contractor-series-harness-310-lb-capacity-universal-fit-class-ap>: HTTP status code is not handled or not allowed 2026-01-28 13:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-tee-4mm-tube-1-1-3-l>: HTTP status code is not handled or not allowed 2026-01-28 13:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/farm-duty-milk-pump-motor-1-hp-3450-rpm-208-230v-tenv-l56hcz-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-configured-6x10-partitioned-office-60-h-starter-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-72wx36dx84h-4-levels-add-on-no-decking-1850-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/farm-duty-single-phase-motor-3-4-hp-1725-rpm-230-115v-tefc-k56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:50:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-7-drawers-48-w-x-24-d-x-75-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-tefc-motor-10-hp-3518-rpm-230-460v-tefc-215t-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-polymer-shelf-with-grid-mat-30-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 13:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclaimed-rags-white-turkish-twl-25-lbs-99211>: HTTP status code is not handled or not allowed 2026-01-28 13:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cdp3590-2-00-hp-2500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-10mm-tube-x-3-8-bspp-1-l>: HTTP status code is not handled or not allowed 2026-01-28 13:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bouncer-measuring-cups-5>: HTTP status code is not handled or not allowed 2026-01-28 13:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toolbox-z700-white-jumbo-roll-870-sheets-roll-1-roll-case-70307>: HTTP status code is not handled or not allowed 2026-01-28 13:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-tire-storage-shelving-60-inch-w-x-21-inch-d-x-144-inch-h-5-levels-add-on-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-3-8-tube-x-1-2-nptf-1-1-3-l>: HTTP status code is not handled or not allowed 2026-01-28 13:50:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/agricultural_motors landed on page that is not a product page. 2026-01-28 13:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclaimed-rags-white-fleece-25-lbs-99203>: HTTP status code is not handled or not allowed 2026-01-28 13:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-4-shelves-60-w-x-24-d-x-75-h-red>: HTTP status code is not handled or not allowed 2026-01-28 13:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idnm2333t-15te-hp-5000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-polymer-shelf-with-solid-mat-48-w-x-21-d>: HTTP status code is not handled or not allowed 2026-01-28 13:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-tier-starter-unit-24-w-x-21-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 13:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/display-pockets-with-antimicrobial-protection-8-1-2-x-11-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-96-inch-w-x-30-inch-d-1-level-w-wood-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 13:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-stackable-shelf-ledge-back-24-w-x-2-h>: HTTP status code is not handled or not allowed 2026-01-28 13:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-end-table-24-x-24-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 13:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-coffee-table-with-steel-frame-48-x-24-black>: HTTP status code is not handled or not allowed 2026-01-28 13:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-electronic-lock-with-digital-screen-60-w-x-24-d-x-75-h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-wire-shelving-spill-containment-system-4-shelves-trays-36-w-x-18-d-x-84-h-add-on-black>: HTTP status code is not handled or not allowed 2026-01-28 13:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dividable-grid-container-10-7-8-l-x-8-1-4-w-x-2-1-2-h-red-polyprolylene>: HTTP status code is not handled or not allowed 2026-01-28 13:50:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-8mm-tube-x-1-2-swift-fit-universal-thread-6-7-l>: HTTP status code is not handled or not allowed 2026-01-28 13:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-hc-24-w-x-24-h-x-6-d-4-ctn>: HTTP status code is not handled or not allowed 2026-01-28 13:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warehouse-black-corn-rattan-broom-12-case-6115>: HTTP status code is not handled or not allowed 2026-01-28 13:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-mobile-plastic-square-edge-lab-bench>: HTTP status code is not handled or not allowed 2026-01-28 13:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-1-4-basic-ind-plug-x-3-8-male-nptf-1-4-5-l>: HTTP status code is not handled or not allowed 2026-01-28 13:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110109 pages (at 95 pages/min), scraped 54675 items (at 38 items/min) 2026-01-28 13:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/convection-oven-23-3-4-w-x-26-13-16-d-x-21-1-8-h-208-240v-12-27a-2-4-cuft-cap-manual-ctrl>: HTTP status code is not handled or not allowed 2026-01-28 13:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-reflective-roll-up-vinyl-sign-men-working>: HTTP status code is not handled or not allowed 2026-01-28 13:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-36-reflective-roll-up-vinyl-sign-road-closed-ahead>: HTTP status code is not handled or not allowed 2026-01-28 13:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-sawyer-instrument-table-60-l-x-24-w-x-34-h-on-casters-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/padded-blue-quilted-fabric-appliance-truck-cover>: HTTP status code is not handled or not allowed 2026-01-28 13:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-ez-deck-decking-96-inch-w-x-18-inch-d-x-3-4-inch-h-for-use-w-double-rivets>: HTTP status code is not handled or not allowed 2026-01-28 13:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-add-on-96-w-x-48-d-x-120-h-b2282522n>: HTTP status code is not handled or not allowed 2026-01-28 13:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35mm-ring-binder-photo-storage-pages-5-x-7-clear-side-load-11-1-4-x-8-1-8-50-bx>: HTTP status code is not handled or not allowed 2026-01-28 13:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-lanyard-swivel-hook-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em4100t-15-hp-1175-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radial-steel-wool-floor-pads-grade-0-20>: HTTP status code is not handled or not allowed 2026-01-28 13:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/decontamination-station-116-w-x-30-d-base-cabinets-3-sink-bowls-deck-mounted-faucets>: HTTP status code is not handled or not allowed 2026-01-28 13:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ivt-4-irrigation-tower-with-4-hooks-push-down-handles-aluminum-60-96-h>: HTTP status code is not handled or not allowed 2026-01-28 13:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-ds-20-3hp-3ph-230v-460v-wired-230v-reversing-feature>: HTTP status code is not handled or not allowed 2026-01-28 13:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-108-w-x-48-d-x-120-h-796606n>: HTTP status code is not handled or not allowed 2026-01-28 13:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-15hh-15s-with-byrd-shelix-helical-cutterhead-no-dro>: HTTP status code is not handled or not allowed 2026-01-28 13:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/719-t-tilt-table-mortiser-with-stand>: HTTP status code is not handled or not allowed 2026-01-28 13:51:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charcoal-outdoor-bench-with-backrest-72-l-22-w-31-h>: HTTP status code is not handled or not allowed 2026-01-28 13:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signholder-9-inches-high-by-12-inches-wide-clear-sh912>: HTTP status code is not handled or not allowed 2026-01-28 13:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b30-indoor-outdoor-industrial-vinyl-labels-1-1-8-w-x-100-l-blue-b30c-1125-595-bl>: HTTP status code is not handled or not allowed 2026-01-28 13:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-8mm-tube-x-1-4-swift-fit-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-28 13:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmp21-series-permasleeve-wire-marking-sleeves-1-8-dia-black-wht-m21-125-c-342>: HTTP status code is not handled or not allowed 2026-01-28 13:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-smock-loose-fit-short-sleeve-red-xl-tp23>: HTTP status code is not handled or not allowed 2026-01-28 13:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-flow-knob-adjustment-6mm-tube-x-m5-unf-4-5-l>: HTTP status code is not handled or not allowed 2026-01-28 13:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_tables/outdoor_dining_bar_tables>: HTTP status code is not handled or not allowed 2026-01-28 13:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3660t-8-3-hp-3460-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycling-cube-truck-box-truck-16-bushel>: HTTP status code is not handled or not allowed 2026-01-28 13:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3311t-8-7-5-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trim-fit-knee-boot-women-s-size-9-14-h-pvc-plain-toe-cleated-outsole-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-tear-drop-add-on-120-w-x-42-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 13:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/training-table-flip-top-48l-cherry-finish-top>: HTTP status code is not handled or not allowed 2026-01-28 13:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ewdm3611t-3-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-6mm-tube-x-1-4-swift-fit-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-28 13:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-shipping-tag-pre-wired-4-3-4-x-2-3-8-black-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-guard-reusable-model-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 13:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-baby-changing-table-white-granite-350lb-cap-surface-200-eh-03>: HTTP status code is not handled or not allowed 2026-01-28 13:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejpm2531t-25-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm3558t-2-hp-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bloodborne-pathogen-spill-clean-up-kit-single-use-tray-corrugate-14-piece>: HTTP status code is not handled or not allowed 2026-01-28 13:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-straight-tube-tough-guy-40000-btu-20l>: HTTP status code is not handled or not allowed 2026-01-28 13:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-vacuum-straight-tube-100000-30l>: HTTP status code is not handled or not allowed 2026-01-28 13:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-vacuum-straight-tube-100000-40l>: HTTP status code is not handled or not allowed 2026-01-28 13:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverall-zipper-front-elastic-wrist-and-ankle-stormflap-bound-seam-yellow-5x>: HTTP status code is not handled or not allowed 2026-01-28 13:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverall-zipper-front-elastic-wrist-and-ankle-stormflap-serged-seam-yellow-md>: HTTP status code is not handled or not allowed 2026-01-28 13:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-straight-tube-tough-guy-200000-btu-50l>: HTTP status code is not handled or not allowed 2026-01-28 13:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/espresso-36-oz-ground-coffee>: HTTP status code is not handled or not allowed 2026-01-28 13:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverall-zipper-front-hood-elastic-wrist-and-ankle-stormflap-white-blue-md>: HTTP status code is not handled or not allowed 2026-01-28 13:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-positive-pressure-straight-tube-200000-btu-50l>: HTTP status code is not handled or not allowed 2026-01-28 13:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-men-s-size-10-15-h-plain-toe-chevron-plus-outsole-brick-red>: HTTP status code is not handled or not allowed 2026-01-28 13:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moisture-barrier-bag-emirfi-15-x-20-65mm-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-14in-amber-clear-surface-mount-ultra-thin-led-strobe-light-8892202>: HTTP status code is not handled or not allowed 2026-01-28 13:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s19-2150n-thermostatic-valve-safety-19-5-gpm>: HTTP status code is not handled or not allowed 2026-01-28 13:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-carbon-dioxide-3>: HTTP status code is not handled or not allowed 2026-01-28 13:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversible-insulated-zipper-vest-black-fl-lime-polyurethane-polyester-4xl>: HTTP status code is not handled or not allowed 2026-01-28 13:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ehm2555t-100-hp-1780-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-powered-audio-visual-cart-lockable-cabinet-100ah-battery-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-oil-8>: HTTP status code is not handled or not allowed 2026-01-28 13:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110206 pages (at 97 pages/min), scraped 54715 items (at 40 items/min) 2026-01-28 13:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-stop-plunger-style-spring-loaded-aluminum-painted>: HTTP status code is not handled or not allowed 2026-01-28 13:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-sensitive-pipe-marker-domestic-cold-water-3>: HTTP status code is not handled or not allowed 2026-01-28 13:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brake-bleeder-mitmv6830>: HTTP status code is not handled or not allowed 2026-01-28 13:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pads-pressure-replacement-non-asbestos-2pk-amm9183>: HTTP status code is not handled or not allowed 2026-01-28 13:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-27-shoulder-screw-w-pin-10-24-x-1-2-stainless-steel-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-coverall-front-zipper-serged-seams-open-wrist-ankles-white-3x>: HTTP status code is not handled or not allowed 2026-01-28 13:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-storm-drain-8>: HTTP status code is not handled or not allowed 2026-01-28 13:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemco-le-fume-hood-wexplosion-proof-light-only-60-x-32-x-48>: HTTP status code is not handled or not allowed 2026-01-28 13:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm2534t-30-hp-3510-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp64104tr-4-30-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-hot-water-return-6>: HTTP status code is not handled or not allowed 2026-01-28 13:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2600rc-skirtslack-hanger-heavy-weight-14l-x-12w-plastic-bk-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 13:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-rl1304a277-5-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5in-round-led-interior-dome-light-with-motion-sensor-5625338>: HTTP status code is not handled or not allowed 2026-01-28 13:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-rm3112a-3-4-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-gauge-7-32-crown-1-1-4-sx-staple-5000-qty>: HTTP status code is not handled or not allowed 2026-01-28 13:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-gas-connector-ceramic-heaters>: HTTP status code is not handled or not allowed 2026-01-28 13:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-mag-nutsetter-x-1-3-4-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-mag-nutsetter-x-1-3-4-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/652-bottom-hanger-brentwood-17l-wood-natural-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 13:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vfdl3507m-75-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faux-rattan-with-plank-top-coffee-table-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-calcium-lime-rust-remover-28-oz-bottle-6-bottles-pack-352250>: HTTP status code is not handled or not allowed 2026-01-28 13:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vecp83665t-4-5-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-x-2-welded-pipe-nipple-schedule-40-316-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:52:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-piece-outdoor-patio-set-faux-rattan-dark-gray-with-light-gray-cushions>: HTTP status code is not handled or not allowed 2026-01-28 13:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-chock-wheels-before-loading-or-unloading>: HTTP status code is not handled or not allowed 2026-01-28 13:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-4-seamless-pipe-nipple-schedule-80-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ambidex-disposable-nitrile-industrial-grade-4-mil-textured-l>: HTTP status code is not handled or not allowed 2026-01-28 13:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-beam-trolley-1-2-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-economy-lever-hoist-1-1-2-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 13:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-hood-orange>: HTTP status code is not handled or not allowed 2026-01-28 13:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ambidex-disposable-nitrile-industrial-grade-4-mil-textured-xl>: HTTP status code is not handled or not allowed 2026-01-28 13:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-2-insert-bit-x-1-drywall-indenter-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits>: HTTP status code is not handled or not allowed 2026-01-28 13:52:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-base-panel-36-w-x-38-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-dolly-with-nylon-wheels-for-55-gallon-drums-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transit-bike-shelter-7-30-43-6-l-x-7-5-w-30-bike-capacity-barrel-roof>: HTTP status code is not handled or not allowed 2026-01-28 13:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m3543t-5-75-hp-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-aluminum-sign-caution-floor-load-limit-not-to-exceed>: HTTP status code is not handled or not allowed 2026-01-28 13:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4100-o-36-dg-vertical-panel-channelizer-barricade-w-oversized-handle-orange-diamond-grade-sheets>: HTTP status code is not handled or not allowed 2026-01-28 13:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esp-kit-1-pair-esp-glove-1-pair-goat-protector-class-00-size-8>: HTTP status code is not handled or not allowed 2026-01-28 13:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-warning-respirator-required>: HTTP status code is not handled or not allowed 2026-01-28 13:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories>: HTTP status code is not handled or not allowed 2026-01-28 13:52:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/105g-t12hipb8hip-galvanized-steel-leg-plastic-boards-type-ii-traffic-barricade>: HTTP status code is not handled or not allowed 2026-01-28 13:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4100-bk-park6-compact-valet-stop-here-sign-for-parking-lots-black>: HTTP status code is not handled or not allowed 2026-01-28 13:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-24w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-wwc2-3672-6phfl-mobile-heavy-duty-cabinet-workbench-steel-top-center-shelf>: HTTP status code is not handled or not allowed 2026-01-28 13:52:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-starter-unit-60w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-foot-patio-umbrella-navy-white-cabana-stripe-hardwood-pole-grove>: HTTP status code is not handled or not allowed 2026-01-28 13:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 13:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-foot-patio-umbrella-olefin-navy-hardwood-pole-grove>: HTTP status code is not handled or not allowed 2026-01-28 13:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-foot-patio-umbrella-olefin-hunter-green-hardwood-pole-grove>: HTTP status code is not handled or not allowed 2026-01-28 13:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdnm2334t-20te-hp-4000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 13:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-add-on-unit-42w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 13:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yoke-roller-sealed-1625-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 13:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110304 pages (at 98 pages/min), scraped 54755 items (at 40 items/min) 2026-01-28 13:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jat-211-1-d-handle-composite-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-28 13:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-wound-filter-ff-cartridges-9-34lx4-12od-20-micron>: HTTP status code is not handled or not allowed 2026-01-28 13:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-3-8-ring-terminals-1-0-awg-4-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 13:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-add-on-unit-48w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-crowned-od-2-l-stud-125-w-roller-225-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 13:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4rsb-4-rotary-saw-blade>: HTTP status code is not handled or not allowed 2026-01-28 13:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-3-8-ring-terminals-4-awg-2-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 13:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/listerette-bandage-scissors-5-1-2-l-black>: HTTP status code is not handled or not allowed 2026-01-28 13:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lister-bandage-scissors-7-1-2-l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/babinski-neurological-hammer-8-1-2-black>: HTTP status code is not handled or not allowed 2026-01-28 13:53:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_upright_frames already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-2-awg-2-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 13:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-tier-hanging-chair-table-truck-holds-42-chairs-10-tables>: HTTP status code is not handled or not allowed 2026-01-28 13:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-36-production-workbench-birch-butcher-block-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gsm20-heavy-duty-f-clamp-8>: HTTP status code is not handled or not allowed 2026-01-28 13:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-commercial-45-capable-chest-freezer-wdigital-thermostat-48-cuft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-compartment-box-24-compartments>: HTTP status code is not handled or not allowed 2026-01-28 13:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-reach-freezer-2-doors-54-wx32-2-dx82-5-h-47-cu>: HTTP status code is not handled or not allowed 2026-01-28 13:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hepa-filter-for-portable-air-conditioner-293149>: HTTP status code is not handled or not allowed 2026-01-28 13:53:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/pallet_racks/pallet_rack_components/pallet_rack_upright_frames landed on page that is not a product page. 2026-01-28 13:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sign-14x10-aluminum-forkli-traffic-area>: HTTP status code is not handled or not allowed 2026-01-28 13:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-aluminum-high-voltage>: HTTP status code is not handled or not allowed 2026-01-28 13:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-24w-x-48l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-42075-2-101-pnc-series-pvc-no-calk-shower-drain-w-plastic-strainer>: HTTP status code is not handled or not allowed 2026-01-28 13:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divided-quad-glove-box-dispenser-5-13-16-w-x-4-1-16-d-x-10-1-16-h-white>: HTTP status code is not handled or not allowed 2026-01-28 13:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-lb-sledge-hammer>: HTTP status code is not handled or not allowed 2026-01-28 13:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-276238-2-3-test-ball-plug-17-psi-40-ft>: HTTP status code is not handled or not allowed 2026-01-28 13:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-30204-dark-thread-cutting-oil-speed-threading-32-oz>: HTTP status code is not handled or not allowed 2026-01-28 13:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-aluminum-explosive-gas>: HTTP status code is not handled or not allowed 2026-01-28 13:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-aluminum-dock-board-with-welded-aluminum-curb-60x72-15-000-lb-capacity-987009>: HTTP status code is not handled or not allowed 2026-01-28 13:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-81120-6-round-cover-brass>: HTTP status code is not handled or not allowed 2026-01-28 13:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-water-rubber-jose-50-ft>: HTTP status code is not handled or not allowed 2026-01-28 13:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-trash-container-garbage-can-44-gallon-white>: HTTP status code is not handled or not allowed 2026-01-28 13:53:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-rigid-plastic-no-smoking-or-open-flame>: HTTP status code is not handled or not allowed 2026-01-28 13:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-with-reel-1-0-awg-50-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 13:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-13-mailboxes-1-parcel-locker-postal-grey>: HTTP status code is not handled or not allowed 2026-01-28 13:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mppt-wirebox-l-tr-150-45-60-70-250-60-70-black-abs-plastic>: HTTP status code is not handled or not allowed 2026-01-28 13:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-w-vogue-traditional-accessories-12-unit-1-parcel-locker-dark-bronze>: HTTP status code is not handled or not allowed 2026-01-28 13:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hc-25527-propoxy-triple-play-putty-display-pack-4-oz>: HTTP status code is not handled or not allowed 2026-01-28 13:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-w-vogue-classic-accessories-12-unit-1-parcel-locker-black>: HTTP status code is not handled or not allowed 2026-01-28 13:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-31193-heavy-duty-wax-bowl-ring-with-sleeve-with-brass-bolts-and-nuts>: HTTP status code is not handled or not allowed 2026-01-28 13:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-34094-26-aluminum-water-heater-pan-without-hole-adapter>: HTTP status code is not handled or not allowed 2026-01-28 13:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sign-14x10-rigid-plastic-hard-hat-area>: HTTP status code is not handled or not allowed 2026-01-28 13:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-no-parking-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 13:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/custom-cut-2-layer-drawer-liner-kit-blue-yellow-foam-1-set>: HTTP status code is not handled or not allowed 2026-01-28 13:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-federal-arrow-set-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 13:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-inch-x-7-inch-x-7-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x12x4-1-2-open-top-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:53:44 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 13:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tankless-rotary-screw-compressor-w-dryer-5-hp-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 13:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-24w-x-48l-x-69h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 13:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-21w-x-36l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 13:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goffs-welding-screen-8w-x-8h-green>: HTTP status code is not handled or not allowed 2026-01-28 13:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-saw-blade-adapter>: HTTP status code is not handled or not allowed 2026-01-28 13:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-1-2-inch-x-12-1-2-inch-x-15-inch-doublewall-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:53:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/chain_pole_saws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-gelfoam-gel-u-seatcushion-18w-x-24l-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 13:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-lav-faucet-w-fittings>: HTTP status code is not handled or not allowed 2026-01-28 13:53:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/chain_pole_saws already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-3-tier-esd-24w-x-60l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-with-partial-window-36-14-w-x-77-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110397 pages (at 93 pages/min), scraped 54791 items (at 36 items/min) 2026-01-28 13:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parking-lot-stencil-22x4-fire-lane>: HTTP status code is not handled or not allowed 2026-01-28 13:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-x-18-inch-x-18-inch-heavy-duty-boxes>: HTTP status code is not handled or not allowed 2026-01-28 13:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-60-14-w-x-65-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-no-adhesive-14-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 13:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-30in-heavy-duty-wood-trimmer>: HTTP status code is not handled or not allowed 2026-01-28 13:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-4mm-wide-265mm-id-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 13:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-esd-2-shelf-21w-x-72l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 13:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/chain_pole_saws>: HTTP status code is not handled or not allowed 2026-01-28 13:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-pass-thru-cable-36-14-w-x-76-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-12-letter-m>: HTTP status code is not handled or not allowed 2026-01-28 13:54:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/chain_pole_saws landed on page that is not a product page. 2026-01-28 13:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-high-performance-v2100-rust-preventive-enam-aerosol-lt-bl>: HTTP status code is not handled or not allowed 2026-01-28 13:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x1-2-pan-head-taptite-alternative-thread-rolling-screws-1408RTPB>: HTTP status code is not handled or not allowed 2026-01-28 13:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-m1800-sys-wtr-based-prec-line-invert-mark-pnt-aero-wh>: HTTP status code is not handled or not allowed 2026-01-28 13:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-m1600-sys-slvnt-bas-prec-line-invert-mark-pnt-aero-wh>: HTTP status code is not handled or not allowed 2026-01-28 13:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-1mm-wide-2-5mm-id-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 13:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-18w-x-54l-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 13:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-12w-x-48l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 13:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-electric-office-partition-panel-with-raceway-36-14-w-x-76-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-link-t-link-hard-hat-assembly-tychem-2000-hood-hx5-papr>: HTTP status code is not handled or not allowed 2026-01-28 13:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-m1600-sys-solv-bas-precis-lin-invert-mark-pnt-aero-safe-grn>: HTTP status code is not handled or not allowed 2026-01-28 13:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-flange-sign-fire-hose-1>: HTTP status code is not handled or not allowed 2026-01-28 13:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24x3-4-flat-undercut-head-thread-cutting-screws-type-f-1012FPUB>: HTTP status code is not handled or not allowed 2026-01-28 13:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-link-tychem-4000-shoulder-cape-safety-lens-hx5-backpack-papr>: HTTP status code is not handled or not allowed 2026-01-28 13:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-with-high-temp-adhesive-38-thick-x-2-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-detectable-silicone-o-ring-dash-222-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 13:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-legal-pad-74713-8-12-x-11-34-white-40-sheetspad-12pack>: HTTP status code is not handled or not allowed 2026-01-28 13:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-3-tier-esd-21w-x-30l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 13:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-bar-kit-7-d-x-96-l-white-bar-red-tapes>: HTTP status code is not handled or not allowed 2026-01-28 13:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neenah-paper-astrobrights-colored-card-stock-22091-8-12-x-11-venus-violet-250pack>: HTTP status code is not handled or not allowed 2026-01-28 13:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16x4-indent-hex-washer-head-thread-cutting-screws-type-f-3764FW>: HTTP status code is not handled or not allowed 2026-01-28 13:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extended-life-micro-cellular-polyurethane-foam-with-acrylic-adhesive-38-thick-x-1-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extended-life-micro-cellular-polyurethane-foam-with-acrylic-adhesive-14-thick-x-34-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-tan-36-1-4-x-72>: HTTP status code is not handled or not allowed 2026-01-28 13:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asr1205-trailer-tire-assembly-size-st225-75r15>: HTTP status code is not handled or not allowed 2026-01-28 13:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/entrance-mat-3-8-thick-6-l-x-8-w-black-cleated-backing>: HTTP status code is not handled or not allowed 2026-01-28 13:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-door-keep-closed-at-all-times-plastic>: HTTP status code is not handled or not allowed 2026-01-28 13:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asb1180-lawn-and-garden-tire-assembly-size-15-x-600-6>: HTTP status code is not handled or not allowed 2026-01-28 13:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-dash-430-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 13:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neenah-paper-astrobrights-colored-paper-22533-11-x-17-solar-yellow-500-sheetsream>: HTTP status code is not handled or not allowed 2026-01-28 13:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/entrance-mat-3-8-thick-2-l-x-3-w-black-cleated-backing>: HTTP status code is not handled or not allowed 2026-01-28 13:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easel-pads-self-stick-easel-pads-561vad4pk-25-x-30-yellow-30-sheets-4pack>: HTTP status code is not handled or not allowed 2026-01-28 13:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-dash-364-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 13:54:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-lockout-tags-do-not-operate>: HTTP status code is not handled or not allowed 2026-01-28 13:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x3-4-pan-head-self-tapping-screws-type-a-b-thread-0812ABPPB>: HTTP status code is not handled or not allowed 2026-01-28 13:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lennox-tufted-upholstered-full-size-headboard-in-brown-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 13:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aircat-1-2-mini-vibrotherm-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-28 13:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x1-1-2-flat-head-wood-screws-0924DPFB>: HTTP status code is not handled or not allowed 2026-01-28 13:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tagout-safety-center>: HTTP status code is not handled or not allowed 2026-01-28 13:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-punch-die-set-with-storage-cases-32-piece>: HTTP status code is not handled or not allowed 2026-01-28 13:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-ton-ironworker-3-phase-208-volt-10-brake>: HTTP status code is not handled or not allowed 2026-01-28 13:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tingley-174-pilot-g2-knee-boot-plain-toe-15-h-size-6-black>: HTTP status code is not handled or not allowed 2026-01-28 13:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-28 13:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-queen-size-tufted-upholstered-platform-bed-in-beige>: HTTP status code is not handled or not allowed 2026-01-28 13:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x3-bugle-head-drywall-screws-0848YPG>: HTTP status code is not handled or not allowed 2026-01-28 13:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x3-flat-head-wood-screws-1248DPFB>: HTTP status code is not handled or not allowed 2026-01-28 13:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x2-flat-self-drilling-screws-0832KQF>: HTTP status code is not handled or not allowed 2026-01-28 13:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grit-anti-slip-tape-clear-12-w>: HTTP status code is not handled or not allowed 2026-01-28 13:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/monthly-planner-9-x-11-graphite-2015-aag70260x45>: HTTP status code is not handled or not allowed 2026-01-28 13:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-tilt-cart-48l-x-32w-150-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duraflex-14-month-planner-8-1-2-x-11-black-2015-redcb1262vblk>: HTTP status code is not handled or not allowed 2026-01-28 13:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ton-bottle-jack-4402>: HTTP status code is not handled or not allowed 2026-01-28 13:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x1-1-2-truss-head-machine-screws-1424MPTB>: HTTP status code is not handled or not allowed 2026-01-28 13:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resilient-anti-slip-tape-black-6-w-case-of-50-24-l>: HTTP status code is not handled or not allowed 2026-01-28 13:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-king-tufted-upholstered-platform-bed-black-pocket-spring-mattress>: HTTP status code is not handled or not allowed 2026-01-28 13:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110498 pages (at 101 pages/min), scraped 54827 items (at 36 items/min) 2026-01-28 13:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11111-200-psi-14-lm-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 13:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11111-30-psi-14-lm-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 13:54:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_flags_1/marking_flags_posts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t5430-stamp-replacement-ink-pad-1-x-1-5-8-red-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-dash-226-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 13:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-l-mounting-angle-roof-panel>: HTTP status code is not handled or not allowed 2026-01-28 13:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x1-2-socket-set-screws-flat-point-1408SSF>: HTTP status code is not handled or not allowed 2026-01-28 13:55:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-six-wheel-merchandise-platform-truck-1500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-shrink-bags-48x46x72-4-mil-25-rl>: HTTP status code is not handled or not allowed 2026-01-28 13:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x7-8-button-head-socket-cap-screws-1414CSB>: HTTP status code is not handled or not allowed 2026-01-28 13:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proteam-proguard-20-gal-wet-dry-vacuum-w-front-mount-squeegee-107360>: HTTP status code is not handled or not allowed 2026-01-28 13:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11116-30-inhg-vac-18cbm-with-u-plastic>: HTTP status code is not handled or not allowed 2026-01-28 13:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_flags_1/marking_flags_posts>: HTTP status code is not handled or not allowed 2026-01-28 13:55:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x1-3-4-standard-socket-head-cap-screws-1428CSP>: HTTP status code is not handled or not allowed 2026-01-28 13:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-landscape-panoramicdesk-pad-22-x-17-2015-aag89802>: HTTP status code is not handled or not allowed 2026-01-28 13:55:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges>: HTTP status code is not handled or not allowed 2026-01-28 13:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-nyc-final-exit-forward-le-side-1>: HTTP status code is not handled or not allowed 2026-01-28 13:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-nyc-exit-door-handle-markers-1>: HTTP status code is not handled or not allowed 2026-01-28 13:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-labels-with-trueblock-technology-5-1-2-x-8-1-2-white-500-box-5912>: HTTP status code is not handled or not allowed 2026-01-28 13:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stick-porous-point-pen-medium-0-7mm-assorted-ink-barrel-8-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:55:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-weld-nuts-with-tab-base-11NWS1>: HTTP status code is not handled or not allowed 2026-01-28 13:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges>: HTTP status code is not handled or not allowed 2026-01-28 13:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-u-s-s-flat-washers-62WUSSG>: HTTP status code is not handled or not allowed 2026-01-28 13:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precise-v5rt-retractable-roller-ball-pen-0-5mm-assorted-ink-barrel-7-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:55:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens landed on page that is not a product page. 2026-01-28 13:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-office-partition-panel-48-1-4-w-x-96-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-10000-series-lateral-file-42in-wide-5-drawer-putty>: HTTP status code is not handled or not allowed 2026-01-28 13:55:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:55:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twist-erase-express-mechanical-pencil-0-7-mm-hb-2-5-blk-lead-black-barrel-dozen>: HTTP status code is not handled or not allowed 2026-01-28 13:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-standard-key-lock-pink>: HTTP status code is not handled or not allowed 2026-01-28 13:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twist-erase-express-mechanical-pencil-0-5-mm-hb-2-5-blk-lead-black-barrel-dozen>: HTTP status code is not handled or not allowed 2026-01-28 13:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8x6-toggle-anchors-3796TBCR>: HTTP status code is not handled or not allowed 2026-01-28 13:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-fire-exit-only>: HTTP status code is not handled or not allowed 2026-01-28 13:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6306-open-30mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-28 13:55:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges landed on page that is not a product page. 2026-01-28 13:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pres-a-ply-laser-address-labels-8-1-2-x-11-white-100-box-30605>: HTTP status code is not handled or not allowed 2026-01-28 13:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bathroom-partition-top-hinge-kit-zamak-baked-enamel-hdwt-t100>: HTTP status code is not handled or not allowed 2026-01-28 13:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens>: HTTP status code is not handled or not allowed 2026-01-28 13:55:32 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pencils landed on page that is not a product page. 2026-01-28 13:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84-120-economy-h-beam-adjustable-length-yellow-126-l-x-40-w-x-36-h-415lbs-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-fire-extinguisher-bilingual>: HTTP status code is not handled or not allowed 2026-01-28 13:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-six-drawer-narrow-procedure-cart-tall-height-mini-width-key-lock-hammertone-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-9-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-28 13:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlocking-minit-plastic-barricade-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16x2-1-2-cotter-pin-zinc-18740PC>: HTTP status code is not handled or not allowed 2026-01-28 13:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-peel-laser-address-labels-1-2-x-1-3-4-white-2000-pack-5267>: HTTP status code is not handled or not allowed 2026-01-28 13:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmps5421mc-fmpro-stainless-steel-54-x20-1-4-x43-1-8-21-drawer-chest-roller-cabinet-combo>: HTTP status code is not handled or not allowed 2026-01-28 13:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-pushbutton-e-lock-navy>: HTTP status code is not handled or not allowed 2026-01-28 13:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-r6-open-0375-bore-0875-od>: HTTP status code is not handled or not allowed 2026-01-28 13:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-pocket-special-purpose-literature-rack-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pourover-coffee-brewer-2-warmers-vp17-2-sst>: HTTP status code is not handled or not allowed 2026-01-28 13:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-37-1-2-w-x-22-l-x-42-63-100-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/my-caf-mcp-com-pod-brewer-black>: HTTP status code is not handled or not allowed 2026-01-28 13:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-emergency-crash-cart-6-drawers-36-3-4-w-x-22-l-x-43-h-pink>: HTTP status code is not handled or not allowed 2026-01-28 13:55:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/style-c-mat-stand-yellow-56-l-x-40-w-x-30-h-110lbs-5000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-144-spread-adjustable-lift-yellow-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-size-stacking-bin-23-7-8-x-8-1-4-x-7-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-pipe-drip-diverter-174>: HTTP status code is not handled or not allowed 2026-01-28 13:55:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/frameless_safety_glasses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6314-open-70mm-bore-150mm-od>: HTTP status code is not handled or not allowed 2026-01-28 13:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110588 pages (at 90 pages/min), scraped 54860 items (at 33 items/min) 2026-01-28 13:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6332m-open-160mm-bore-340mm-od>: HTTP status code is not handled or not allowed 2026-01-28 13:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paddle-sign-stop-slowpaddle>: HTTP status code is not handled or not allowed 2026-01-28 13:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saf-t-flag-mesh>: HTTP status code is not handled or not allowed 2026-01-28 13:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61825-s383p-class-2-mesh-vest-hi-vis-orange-contrasting-trim-xl>: HTTP status code is not handled or not allowed 2026-01-28 13:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parking-permit-blue-rearview-001-100>: HTTP status code is not handled or not allowed 2026-01-28 13:56:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/frameless_safety_glasses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-voltage-370-440-oval-run-capacitor-10-mfd-10dv>: HTTP status code is not handled or not allowed 2026-01-28 13:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-x-10-working-length-j-hook-style-9>: HTTP status code is not handled or not allowed 2026-01-28 13:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securit-488b-retractable-key-reel-w-48-kevlar-cord-polycarbonate-case-carabiner-clip>: HTTP status code is not handled or not allowed 2026-01-28 13:56:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/frameless_safety_glasses landed on page that is not a product page. 2026-01-28 13:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6318-2rs-double-sealed-90mm-bore-190mm-od>: HTTP status code is not handled or not allowed 2026-01-28 13:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-only-spill-kit-50-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6311nr-open-wsnap-ring-55mm-bore-120mm-od>: HTTP status code is not handled or not allowed 2026-01-28 13:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-tall-height-36-3-4-w-x-22-d-x-43-3-4-h-brushed-silver>: HTTP status code is not handled or not allowed 2026-01-28 13:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/eye_protection/safety_glasses/frameless_safety_glasses>: HTTP status code is not handled or not allowed 2026-01-28 13:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-tall-height-36-3-4-w-x-22-d-x-43-3-4-h-hammertone-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61815-s383p-class-2-mesh-vest-hi-vis-lime-contrasting-trim-md>: HTTP status code is not handled or not allowed 2026-01-28 13:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-1760-8-2>: HTTP status code is not handled or not allowed 2026-01-28 13:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s373pt-ansi-class-e-lightweight-rain-pants-hi-vis-orange-3x-61522>: HTTP status code is not handled or not allowed 2026-01-28 13:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19296-americana-full-brim-hard-hat-w-accessory-slots-standard-4-pt-suspension-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-isolation-cart-5-drawers-e-lock-30-w-x-22-l-x-37-1-4-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 13:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swf24guu-112-id-round-flange-type-linear-bearing-wresin-retainer-seals-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-lightweight-emergency-cart-6-drawers-key-lock-36-3-4-wx22-lx40-1-2-h-mauve>: HTTP status code is not handled or not allowed 2026-01-28 13:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw4guuaj-14-id-clearance-adjustable-type-linear-bearing-wresin-retainer-seals-steel>: HTTP status code is not handled or not allowed 2026-01-28 13:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-savary-dilator-drying-cart-hepa-filter-23-89-100-wx22-lx51-89-100-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-series-classroom-chair-navy-vented-back-16-3-4-w-x-27-h-1>: HTTP status code is not handled or not allowed 2026-01-28 13:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-emergency-crash-cart-6-drawers-36-3-4-w-x-22-l-x-43-h-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-96-economy-h-beam-adjustable-length-yellow-102-l-x-40-w-x-36-h-400lbs-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1086chqrfgw-window-coverqr-1000x800x600in-type-4x-encl-fiberglass>: HTTP status code is not handled or not allowed 2026-01-28 13:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-frame-72-x-74-yellow-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-spread-basket-lifting-beam-yellow-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-limit-thermostat-spst-open-140f-close-120f>: HTTP status code is not handled or not allowed 2026-01-28 13:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6311-2rsnr-double-sealed-wsnap-ring-55mm-bore-120mm-od>: HTTP status code is not handled or not allowed 2026-01-28 13:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6809-open-45mm-bore-58mm-od>: HTTP status code is not handled or not allowed 2026-01-28 13:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pths242424g4-protek-dh-standard-2409x2362x2402-steelltgray-type-412>: HTTP status code is not handled or not allowed 2026-01-28 13:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotating-light-120vac-red-371l-120r>: HTTP status code is not handled or not allowed 2026-01-28 13:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-3-shelf-container-rack-with-2-solid-shelves-bk18486sz-48w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 13:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a202006lp-wall-mount-type-1213-encl-2000x2000x600-steelpaint>: HTTP status code is not handled or not allowed 2026-01-28 13:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-emergency-crash-cart-md30-emg1-std-width-4-drawers-breakaway-lock-beige>: HTTP status code is not handled or not allowed 2026-01-28 13:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strobe-12-24vdc-pipe-surface-mount-amber-fb2pst-012-024a>: HTTP status code is not handled or not allowed 2026-01-28 13:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-x-1-1-2-iglide-g300-polymer-flange-bearing>: HTTP status code is not handled or not allowed 2026-01-28 13:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-deep-well-storage-plate-2-0ml-pp-round-well-round-bottom-non-sterile-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a36h3008gqrlp-wallmount-type-4x-encl-3625x3025x800-fiberglass>: HTTP status code is not handled or not allowed 2026-01-28 13:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cell-strainer-100-181-m-yellow-individually-wrapped-sterile-50-pk>: HTTP status code is not handled or not allowed 2026-01-28 13:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-shipper-ata-case-919-wheeled-case-38l-x-25w-x-15h-silver>: HTTP status code is not handled or not allowed 2026-01-28 13:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-id-single-flanged-sheet-metal-clip-bearing-m250>: HTTP status code is not handled or not allowed 2026-01-28 13:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drylin-t-polymer-lined-mini-profile-guide-size-9>: HTTP status code is not handled or not allowed 2026-01-28 13:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-braille-sign-men-brown-1>: HTTP status code is not handled or not allowed 2026-01-28 13:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suit-carrying-shipping-case-228-308-32l-x-20w-x-10h-black>: HTTP status code is not handled or not allowed 2026-01-28 13:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-0ml-screw-top-micro-tube-cap-self-standing-grip-band-green-grip-cap-sterile-500pk>: HTTP status code is not handled or not allowed 2026-01-28 13:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enpac-hdpe-spill-containment-cover-for-2-drum-poly-spillpallet-2000-60l-x-39-1-4w-x-433h>: HTTP status code is not handled or not allowed 2026-01-28 13:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warning-post-black-yellow-stripe>: HTTP status code is not handled or not allowed 2026-01-28 13:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/royal-series-fire-blanket-and-cabinet-roller-type-6-by-4-by-68-red-9519s21>: HTTP status code is not handled or not allowed 2026-01-28 13:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyjohn-comfort-inn-ada-portable-restroom-tan>: HTTP status code is not handled or not allowed 2026-01-28 13:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-procedure-cart-6-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-brushed-silver>: HTTP status code is not handled or not allowed 2026-01-28 13:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-4-tier-microwave-cart-24-l-x-18-w-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 13:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-print-shipping-case-p50-304-32l-x-42w-x-6h-black>: HTTP status code is not handled or not allowed 2026-01-28 13:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-column-storage-cabinet-electronic-keypad-lock-60-w-x-28-d-x-81-h-cream>: HTTP status code is not handled or not allowed 2026-01-28 13:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facility-visi-sign-men-4>: HTTP status code is not handled or not allowed 2026-01-28 13:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lopro-series-curtain-42-wide-door-electric-heated-208360-10-kw-obsidian-black>: HTTP status code is not handled or not allowed 2026-01-28 13:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garage-stop-w-reflective-stripe>: HTTP status code is not handled or not allowed 2026-01-28 13:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-print-shipping-case-p50-142-16l-x-19w-x-4h-black>: HTTP status code is not handled or not allowed 2026-01-28 13:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-carbon-steel-insert-for-metal-329-401>: HTTP status code is not handled or not allowed 2026-01-28 13:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110689 pages (at 101 pages/min), scraped 54899 items (at 39 items/min) 2026-01-28 13:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161226-comfort-construction-style-climbing-harness-pass-through-tongue-buckle-s>: HTTP status code is not handled or not allowed 2026-01-28 13:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-occupancy-sign-meeting-room-use-vacant-red>: HTTP status code is not handled or not allowed 2026-01-28 13:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-anesthesia-cart-6-drawers-e-lock-47-5-8-w-x-22-l-x-66-3-4-h-hammertone-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-dolly-atd>: HTTP status code is not handled or not allowed 2026-01-28 13:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-safety-labels-biohazard>: HTTP status code is not handled or not allowed 2026-01-28 13:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-sign-caution-men-working-above-below>: HTTP status code is not handled or not allowed 2026-01-28 13:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-ht-double-column-med-storage-cabinet-keylock-40-1-10-wx29-1-4-dx40-3-4-h-white>: HTTP status code is not handled or not allowed 2026-01-28 13:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pd6002-belt-drive-blower-1-4-hp-1725-rpm-115-230v>: HTTP status code is not handled or not allowed 2026-01-28 13:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m10-hex-drive-tool-9200>: HTTP status code is not handled or not allowed 2026-01-28 13:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515-tank-heavy-duty-shipping-case-tube-with-wheels-14l-x-14w-x-77h-blk>: HTTP status code is not handled or not allowed 2026-01-28 13:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-single-in-finsert-170-006-br>: HTTP status code is not handled or not allowed 2026-01-28 13:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strobe-warning-light-permanent-mount-12-110-volt-blue-lens-3355p-b>: HTTP status code is not handled or not allowed 2026-01-28 13:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lokbolt-as-sleeve-expansion-anchor-flat-head-38-x-6>: HTTP status code is not handled or not allowed 2026-01-28 13:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-trumpet-stainless-steel-marine-horn-power-coated-white-finish-12-volt-1125>: HTTP status code is not handled or not allowed 2026-01-28 13:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precut-rheumatoid-arthritis-resting-splint-1-8-mini-perforated-large>: HTTP status code is not handled or not allowed 2026-01-28 13:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-rhode-island>: HTTP status code is not handled or not allowed 2026-01-28 13:57:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-soft-splinting-material-24-x-36-x-3-16-non-perforated>: HTTP status code is not handled or not allowed 2026-01-28 13:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-machine-labels-danger-disconnect-before-servicing>: HTTP status code is not handled or not allowed 2026-01-28 13:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polly-products-econo-mizer-4-ft-backed-bench-with-arms-cedar-bench-brown-frame>: HTTP status code is not handled or not allowed 2026-01-28 13:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-single-door-cabinet-that-features-3-shelves-30-w-x-18-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-28 13:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-notice-plastic-use-of-cellular-phone-is-prohibited-this-facility>: HTTP status code is not handled or not allowed 2026-01-28 13:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-plastic-adjustable-lever-stainless-steel-14-20-78-stud-177l>: HTTP status code is not handled or not allowed 2026-01-28 13:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-roller-bearing-cup-lm102910>: HTTP status code is not handled or not allowed 2026-01-28 13:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports>: HTTP status code is not handled or not allowed 2026-01-28 13:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-ga-triple-tier-locker-w-keyless-entry-lock-6-compartments-36-wx18-dx75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgs2k-grounding-bar-system-200mm-copper>: HTTP status code is not handled or not allowed 2026-01-28 13:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-lug-style-butterfly-valve-w-viton-seals-and-10-position-handle>: HTTP status code is not handled or not allowed 2026-01-28 13:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-wafer-style-butterfly-valve-w-viton-seals-and-dbl-acting-pneum-actuator>: HTTP status code is not handled or not allowed 2026-01-28 13:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-notice-do-not-talk-to-operator>: HTTP status code is not handled or not allowed 2026-01-28 13:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-condenser-fan-motor-for-nexel-models-243005-243006>: HTTP status code is not handled or not allowed 2026-01-28 13:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-sunshine-resin-dining-arm-chair-green>: HTTP status code is not handled or not allowed 2026-01-28 13:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-medium-charcoal-grill-cover>: HTTP status code is not handled or not allowed 2026-01-28 13:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vrtcl-concrete-pressure-tong-w-grip-teeth-550-lbs-cap-1-3-16-6-5-16-grip-range>: HTTP status code is not handled or not allowed 2026-01-28 13:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-surface-mounted-90-corner-guard-3-4-inch-wing-4-foot-h-clear-taped>: HTTP status code is not handled or not allowed 2026-01-28 13:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-lift-beam-double-fork-single-fixed-hook-30-000lb>: HTTP status code is not handled or not allowed 2026-01-28 13:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-plastic-danger-starts-automatically-keep-hands-clear>: HTTP status code is not handled or not allowed 2026-01-28 13:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-vinyl-warning-hard-hat-required-this-area>: HTTP status code is not handled or not allowed 2026-01-28 13:57:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-rod-14-diameter-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-16in-one-piece-cast-coupler-0091558>: HTTP status code is not handled or not allowed 2026-01-28 13:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-way-l-port-ss-150-flanged-ball-valve-w-da-pneumatic>: HTTP status code is not handled or not allowed 2026-01-28 13:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/step-bumper-hitch-sbh2>: HTTP status code is not handled or not allowed 2026-01-28 13:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-esdanti-static-counter-jacket-electronic-blue-polyesternylon-3xl>: HTTP status code is not handled or not allowed 2026-01-28 13:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-button-front-lab-coat-white-polycombed-cotton-s>: HTTP status code is not handled or not allowed 2026-01-28 13:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-plastic-sheet-14-thick-x-8-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 13:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-32-5-16-v10-swiv-self-lk-hk>: HTTP status code is not handled or not allowed 2026-01-28 13:57:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 13:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-3-4-screw-pin-anchor-shackle>: HTTP status code is not handled or not allowed 2026-01-28 13:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-90-fitting-p1499eg-1-hole-1-slot-electro-galvanized-6-78>: HTTP status code is not handled or not allowed 2026-01-28 13:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-post-base-p2072asqeg-electro-galvanized-sq>: HTTP status code is not handled or not allowed 2026-01-28 13:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-excel-flame-resistant-lab-coat-7-oz-light-blue-cotton-3xl>: HTTP status code is not handled or not allowed 2026-01-28 13:57:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/lab_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-1-14-thick-x-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110784 pages (at 95 pages/min), scraped 54942 items (at 43 items/min) 2026-01-28 13:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melamine-laminated-deck-60-w-x-48-d-x-1-2-thick-1>: HTTP status code is not handled or not allowed 2026-01-28 13:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-1-12-thick-x-8-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-long-sleeve-work-shirt-fluorescent-orange-regular-3xl>: HTTP status code is not handled or not allowed 2026-01-28 13:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x74-chrome-wire-shelving-with-8-hopper-bins-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-white-polycombed-cotton-regular-56>: HTTP status code is not handled or not allowed 2026-01-28 13:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-w-lse-acrylic-adhesive-18-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 13:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-pintle-hook-mount-6-position-w-1225in-shank-pm812>: HTTP status code is not handled or not allowed 2026-01-28 13:58:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/lab_coats landed on page that is not a product page. 2026-01-28 13:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-6hbw30-pallet-trucks-to-00590-00899-71-a>: HTTP status code is not handled or not allowed 2026-01-28 13:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combination-lock-with-long-bolt-green-dial-left-hinged>: HTTP status code is not handled or not allowed 2026-01-28 13:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-short-sleeve-work-shirt-fluorescent-yellowgreen-tall-l>: HTTP status code is not handled or not allowed 2026-01-28 13:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axle-for-pr-series-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 13:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/connector-with-contacts-for-pe-4000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 13:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axle-for-pe-4000-pallet-trucks-cr-128648-002>: HTTP status code is not handled or not allowed 2026-01-28 13:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bhg05xl-box-handler-gloves-1-pair-black-x-large>: HTTP status code is not handled or not allowed 2026-01-28 13:58:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/foam/foam_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x75-steel-shelving-with-10-24-d-hopper-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 13:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x75-steel-shelving-with-24-24-d-hopper-bins-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 13:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-flat-clinch-stapler-40-sheets-metallic-purple-12-case>: HTTP status code is not handled or not allowed 2026-01-28 13:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-for-wp-2000-pallet-trucks-cr-055084-009>: HTTP status code is not handled or not allowed 2026-01-28 13:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disappearing-purple-all-purpose-glue-sticks-purple-clear-60-box>: HTTP status code is not handled or not allowed 2026-01-28 13:58:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjust-a-shelf-school-locker-shelf-black-6-case>: HTTP status code is not handled or not allowed 2026-01-28 13:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-key-control-purple>: HTTP status code is not handled or not allowed 2026-01-28 13:58:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/foam/foam_rolls landed on page that is not a product page. 2026-01-28 13:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-wheel-hub-for-w-40z-b218-45z-c215-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 13:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-slide-effect-174-dock-bumper-w-tilt-bracket-6-1-2-wx13-dx20-h-black>: HTTP status code is not handled or not allowed 2026-01-28 13:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-scoop-for-boxes-black-9-1-2-l-x-7-w-x-5-h-2-capacity-lbs-stack>: HTTP status code is not handled or not allowed 2026-01-28 13:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fuse-for-w-40-xl-w-40-xt-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 13:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-acetal-plastic-bar-14-thick-x-34-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-sorter-with-4-compartments-black>: HTTP status code is not handled or not allowed 2026-01-28 13:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retaining-ring-for-mp-mpb-040-ac-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 13:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcover-10-13-16-clear>: HTTP status code is not handled or not allowed 2026-01-28 13:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slimmate-clipboard-9-3-8-inch-x-13-1-2-inch-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:58:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-push-trolley-2-12-10-22>: HTTP status code is not handled or not allowed 2026-01-28 13:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-38-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 13:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beam-clamp-bc-5-11000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-push-trolley-14-15-539>: HTTP status code is not handled or not allowed 2026-01-28 13:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-18-thick-x-1-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-16-inch-w-x-25-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 13:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-riser-for-6hbe30-pallet-trucks-to-00590-42109-71>: HTTP status code is not handled or not allowed 2026-01-28 13:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-electric-chain-hoist-1-12-10-183>: HTTP status code is not handled or not allowed 2026-01-28 13:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slb-lever-hoists-1650-lb-capacity-10-ft-lift-13-head-room>: HTTP status code is not handled or not allowed 2026-01-28 13:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-tote-white-t183-14l-x-12w-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 13:58:43 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 13:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gt-beam-trolly-4400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 13:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-standard-capacity-xl8-pleated-panel-ext-surface-16-inch-w-x-24-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 13:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-332-thick-x-38-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 13:58:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-chest-w-4-drawers-34-w-x-25-1-4-d-x-27-h-red>: HTTP status code is not handled or not allowed 2026-01-28 13:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-30-quickpick-double-open-bins-red-1>: HTTP status code is not handled or not allowed 2026-01-28 13:58:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:58:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/push_sweepers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27u-linier-server-cabinet-glass-vented-doors-24-depth>: HTTP status code is not handled or not allowed 2026-01-28 13:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-3-thick-x-8-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-npp-40-pallet-trucks-ct-1075063>: HTTP status code is not handled or not allowed 2026-01-28 13:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imperial-galvanized-steel-garage-50952-12-1-16-w-x-19-13-16-d-x-8-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 13:58:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/tool_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-8ft-mobile-cafeteria-stool-unit-with-mdf-core-top-protect-edge-gray-top-gray-stool>: HTTP status code is not handled or not allowed 2026-01-28 13:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110875 pages (at 91 pages/min), scraped 54978 items (at 36 items/min) 2026-01-28 13:58:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5212zz-double-row-angular-contact-bearing-double-shielded-60mm-bore-x-110mm-od-x-36-5mm-w>: HTTP status code is not handled or not allowed 2026-01-28 13:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-motor-trolley-2-15-7>: HTTP status code is not handled or not allowed 2026-01-28 13:58:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock landed on page that is not a product page. 2026-01-28 13:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/push_sweepers>: HTTP status code is not handled or not allowed 2026-01-28 13:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5201zz-double-row-angular-contact-bearing-double-shielded-12mm-bore-x-32mm-od-x-15-9mm-w>: HTTP status code is not handled or not allowed 2026-01-28 13:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-for-mpw060e-a897-pallet-trucks-yl-524140878>: HTTP status code is not handled or not allowed 2026-01-28 13:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shutter-12-guard-mounted-exhaust-fan>: HTTP status code is not handled or not allowed 2026-01-28 13:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infrared-broiler-natural-gas-2-burners>: HTTP status code is not handled or not allowed 2026-01-28 13:59:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/tool_storage/tool_boxes landed on page that is not a product page. 2026-01-28 13:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cook-pants-unhemmed-black-white-check-polyestercotton-twill-42-x-36>: HTTP status code is not handled or not allowed 2026-01-28 13:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-fan-18-diameter-three-phase-240-460v-with-grill>: HTTP status code is not handled or not allowed 2026-01-28 13:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-1-12-thick-x-8-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 13:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-specimen-container-4-oz-red-screwcap-polypropylene-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:59:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-cut-butcher-coat-white-polyestercotton-xl>: HTTP status code is not handled or not allowed 2026-01-28 13:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxtrac-snow-blower-garden-tractor-chains-2-link-4-0-cross-chainpair-1065356>: HTTP status code is not handled or not allowed 2026-01-28 13:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-for-bins-stacking-bin-188013-pkg-of-6-270002>: HTTP status code is not handled or not allowed 2026-01-28 13:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crc-chain-wire-rope-lubricants-16-oz-aerosol-can>: HTTP status code is not handled or not allowed 2026-01-28 13:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cook-pants-white-polyestercotton-36-x-36>: HTTP status code is not handled or not allowed 2026-01-28 13:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-bench-plastic-laminate-top-t-mold-edge-83-x-33>: HTTP status code is not handled or not allowed 2026-01-28 13:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-14-thick-x-1-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 13:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcl-550gc>: HTTP status code is not handled or not allowed 2026-01-28 13:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcl-2200ir>: HTTP status code is not handled or not allowed 2026-01-28 13:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-116-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 13:59:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 13:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repair-kit-vibco-rk-fbs-190>: HTTP status code is not handled or not allowed 2026-01-28 13:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcl-6050sm>: HTTP status code is not handled or not allowed 2026-01-28 13:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-14-step-perforated-cantilever-ladder-42-overhang>: HTTP status code is not handled or not allowed 2026-01-28 13:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcl-7200vb>: HTTP status code is not handled or not allowed 2026-01-28 13:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/towable-forkliftable-extra-heavy-duty-plastic-tilt-truck-2-5-cu-yd-2750-lb-black>: HTTP status code is not handled or not allowed 2026-01-28 13:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-for-pe-3000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 13:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x39-steel-shelving-with-32-6-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-10-button-front-chef-coat-pearl-buttons-white-polyestercotton-m>: HTTP status code is not handled or not allowed 2026-01-28 13:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-univeral-mount-led-red-exit-w-3-face-panels-battery-backup>: HTTP status code is not handled or not allowed 2026-01-28 13:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-bar-height-breakroom-table-black>: HTTP status code is not handled or not allowed 2026-01-28 13:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-pocket-2h-acrylic-oak-wall-display-light-oak>: HTTP status code is not handled or not allowed 2026-01-28 13:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-bookcase-in-dark-cherry-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 13:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eggcrate-grille-panel-aluminum-black-pk5>: HTTP status code is not handled or not allowed 2026-01-28 13:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-for-a-series-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 13:59:33 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 13:59:34 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:55 2026-01-28 13:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proline-ergoline-electric-height-adjustable-workbench-ele6030ppf-l14-60-w-x-30-d-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 13:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelbarrow-ladder-5-steps-aluminum-350-lb-capacity-14-d-top-step-24-w-step>: HTTP status code is not handled or not allowed 2026-01-28 13:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bariatric-sled-base-chair-light-oak-blue-vinyl-3>: HTTP status code is not handled or not allowed 2026-01-28 13:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-plastic-sheet-18-thick-x-12-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 13:59:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-56-6-chest-wader-black-steel-toe-w-cleated-outsole-pvc-size-7>: HTTP status code is not handled or not allowed 2026-01-28 13:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-grinders-buffer-1411w-44m-4p-grinder>: HTTP status code is not handled or not allowed 2026-01-28 13:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-mesh-monitor-stand-with-storage-2-pack-black>: HTTP status code is not handled or not allowed 2026-01-28 13:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-wp2300-nosg-lw-fits-crown-model-wp2300>: HTTP status code is not handled or not allowed 2026-01-28 13:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-rod-58-diameter-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 13:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-clear-fda-silicone-rubber-sheet-no-adhesive-40a-132-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 13:59:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x48x74-chrome-wire-shelving-with-91-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:59:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sample-tube-3ml-external-threads-polypropylene-round-bottom-self-standing-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 13:59:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 13:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-snap-13mm-pe-for-vacuum-and-test-tubes-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 13:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x60x74-chrome-wire-shelving-with-88-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 13:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-tuftex-yellow-jacket-w-attached-hood-pvc-size-small>: HTTP status code is not handled or not allowed 2026-01-28 13:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-24-9-h-nest-stack-shipping-totes-gray>: HTTP status code is not handled or not allowed 2026-01-28 13:59:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/pallet_truck_parts_accessories/pallet_truck_wheel_kits landed on page that is not a product page. 2026-01-28 13:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_risers_stands>: HTTP status code is not handled or not allowed 2026-01-28 13:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 110967 pages (at 92 pages/min), scraped 55012 items (at 34 items/min) 2026-01-28 13:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-16-1-2x14-3-4x7-red>: HTTP status code is not handled or not allowed 2026-01-28 13:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x60x74-chrome-wire-shelving-with-24-6-h-grid-container-red>: HTTP status code is not handled or not allowed 2026-01-28 13:59:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 13:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10163033-8-ft-confined-space-entry-tripod-kit>: HTTP status code is not handled or not allowed 2026-01-28 13:59:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-aluminum-hose-cable-bridge-silver-72-x-2118-x-3916>: HTTP status code is not handled or not allowed 2026-01-28 14:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2hp-3-phase-total-enclosed-canister-dust-collector-ufo-dc1023>: HTTP status code is not handled or not allowed 2026-01-28 14:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-12-piece-needle-file-set-length-6-14-cut-2-no-of-pieces-12>: HTTP status code is not handled or not allowed 2026-01-28 14:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbs-880-horizontal-band-sealer>: HTTP status code is not handled or not allowed 2026-01-28 14:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-bristle-brush-flat-1-1-2>: HTTP status code is not handled or not allowed 2026-01-28 14:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m8-x-1-25-x-22mm-steel-zinc-clear-class-8-8-din-933-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-24-1-4w-x-43-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:00:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/shoe_covers_guards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:00:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 14:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-flex-3-black-steel-toe-pvc-size-5>: HTTP status code is not handled or not allowed 2026-01-28 14:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-white-steel-toe-w-safety-lock-pvc-size-8>: HTTP status code is not handled or not allowed 2026-01-28 14:00:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/exhaust_fan_accessories/dampers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/block-grip-vinyl-floor-mat-2mm-thick-4-x-15-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:00:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-sloped-shelf-portable-bin-cart-black>: HTTP status code is not handled or not allowed 2026-01-28 14:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m10-x-1-5-x-40mm-steel-zinc-clear-class-8-8-din-931-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goodyear-coin-pattern-rubber-floor-mat-3-5mm-thick-3-x-8-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pediatric-medical-bag-purple>: HTTP status code is not handled or not allowed 2026-01-28 14:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-shell-stack-chair-blue-set-of-4>: HTTP status code is not handled or not allowed 2026-01-28 14:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-12-thick-x-18-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 14:00:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/fans_blowers/exhaust_fans/exhaust_fan_accessories/dampers landed on page that is not a product page. 2026-01-28 14:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-office-partition-panel-with-window-60-1-4w-x-72h-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 14:00:23 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/shoe_covers_guards landed on page that is not a product page. 2026-01-28 14:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tach-it-n-36-175-heavy-weight-ul-recognized-cable-tie>: HTTP status code is not handled or not allowed 2026-01-28 14:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-culture-tube-cap-for-16mm-glass-culture-tubes-polypropylene-green-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-132-thick-x-1-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 14:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-holder-use-with-gtr-hd-series-tube-rotators-48-places-for-15ml-microcentrifuge-tubes>: HTTP status code is not handled or not allowed 2026-01-28 14:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-reflective-leggings-quick-closure-ansi-class-e-hi-viz-orange-osfa-oog-ce>: HTTP status code is not handled or not allowed 2026-01-28 14:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-skatewheel-conveyor-24-oaw-90-degree-curve-20-wpf>: HTTP status code is not handled or not allowed 2026-01-28 14:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72in-metal-mesh-bench-with-back-rest-black>: HTTP status code is not handled or not allowed 2026-01-28 14:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-15ml-pediatric-graduated-to-03ml-115mm-sterile-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-30-w-cabinet-avalanche-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 14:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-bin-cabinet-185-blue-hook-on-bins-3-adj-shelves-60w-24d-84h>: HTTP status code is not handled or not allowed 2026-01-28 14:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100g-3-point-hitch-sprayer-pto-7560c-pump-50-12-hose>: HTTP status code is not handled or not allowed 2026-01-28 14:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x13-white-flat-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 14:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guest-chair-with-mesh-back-black>: HTTP status code is not handled or not allowed 2026-01-28 14:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100g-skid-sprayer-55hp-k25-pump-150-38-hose-manual-reel>: HTTP status code is not handled or not allowed 2026-01-28 14:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-full-height-48-w-cabinet-everest-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 14:00:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/149630-toughstripe-max-floor-marking-tape-vinyl-2-wide-100-feet-blk-yelow-stripe>: HTTP status code is not handled or not allowed 2026-01-28 14:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-36-w-cabinet-light-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 14:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freezing-box-3-cardboard-64-place-8x8-format-fits-3ml-4ml-and-5ml-vials-yellow-48-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:00:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wp3403-iv-keystone-1-gang-3-port-wall-plate-ivory>: HTTP status code is not handled or not allowed 2026-01-28 14:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254rvs-with-acu-rite-203-3x-q-dro-x-powerfeed>: HTTP status code is not handled or not allowed 2026-01-28 14:00:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-1050-mill-with-newall-dp700-dro-x-z-powerfeeds already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-freezer-10f-27-58w-30-18d-29-34h-tuc-27f>: HTTP status code is not handled or not allowed 2026-01-28 14:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31-deluxe-triple-brush-push-power-sweeper-132-gal-cap-bg-477>: HTTP status code is not handled or not allowed 2026-01-28 14:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerated-merch-1-section-27w-24-78d-78-58h-gdm-19t>: HTTP status code is not handled or not allowed 2026-01-28 14:00:52 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/ventilated_cabinets landed on page that is not a product page. 2026-01-28 14:00:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/access_doors_panels/drywall_access_doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerator-reach-in-1-section-27w-29-34d-78-38h-t-23g-2>: HTTP status code is not handled or not allowed 2026-01-28 14:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-bar-cooler-2-section-47-78w-24-14d-34-14h-tbb-24gal-48g-s>: HTTP status code is not handled or not allowed 2026-01-28 14:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 111055 pages (at 88 pages/min), scraped 55049 items (at 37 items/min) 2026-01-28 14:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-odor-neutralizer-concentrate-citrus-case-of-four-1-gallon-bottles>: HTTP status code is not handled or not allowed 2026-01-28 14:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-steel-compartment-box-rack-20-x-15-3-4-x-15-with-4-of-32-compartment-boxes>: HTTP status code is not handled or not allowed 2026-01-28 14:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutting-attachment-heavy-duty-victor-style>: HTTP status code is not handled or not allowed 2026-01-28 14:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-counter-high-30-w-cabinet-beige-3>: HTTP status code is not handled or not allowed 2026-01-28 14:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-drawing-paper-9-x-12-white-500-sheets-pad500-sheets-pad-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:01:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/lathes landed on page that is not a product page. 2026-01-28 14:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powershred-99ci-100-jam-proof-cross-cut-shredder>: HTTP status code is not handled or not allowed 2026-01-28 14:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-aquamax-plastic-locker-six-tier-1-wide-12w-x-18d-x-12h-taupe-body-doors>: HTTP status code is not handled or not allowed 2026-01-28 14:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/access_doors_panels/drywall_access_doors>: HTTP status code is not handled or not allowed 2026-01-28 14:01:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=jtm-1050-mill-with-newall-dp700-dro-x-z-powerfeeds landed on page that is not a product page. 2026-01-28 14:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1440vs-with-acu-rite-300s-css-dro>: HTTP status code is not handled or not allowed 2026-01-28 14:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-20mm-half-size-20-place-nylon-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:01:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/culture-tube-12-x-75mm-5ml-polystyrene-with-separate-dual-position-cap-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floral-merch-2-section-54-18w-29-58d-78-58h-gdm-47fc>: HTTP status code is not handled or not allowed 2026-01-28 14:01:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-60ml-extra-long-225mm-9-inches-long-5000-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tong-9-scallop-red>: HTTP status code is not handled or not allowed 2026-01-28 14:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-quick-coupling-european-high-flow-profile-with-1-4-fnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-boxes-8-x-6-x-4>: HTTP status code is not handled or not allowed 2026-01-28 14:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-bar-cooler-3-section-73-18w-24-12d-35-58h-tbb-24-72-s>: HTTP status code is not handled or not allowed 2026-01-28 14:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-front-merch-2-section-39-34w-24-14d-gdm-35sl-rf>: HTTP status code is not handled or not allowed 2026-01-28 14:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/culture-tube-borosilicate-glass-10-x-75mm-4ml1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes>: HTTP status code is not handled or not allowed 2026-01-28 14:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-unf-to-1-16-x-1-16-barbed-bulkhead-adapter-high-density-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 14:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-27-npt-to-1-4-barbed-elbow-black-nylon>: HTTP status code is not handled or not allowed 2026-01-28 14:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-glass-25-x-75mm-90-ground-edges-frosted-1-end-1-side1440-pack->: HTTP status code is not handled or not allowed 2026-01-28 14:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-32-inch-equal-barbed-y-connector-natural-kynar>: HTTP status code is not handled or not allowed 2026-01-28 14:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-mailer-7-x-5-x-3->: HTTP status code is not handled or not allowed 2026-01-28 14:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-30-mobile-plastic-square-edge-work-bench-adjustable-height-1-5-8-top>: HTTP status code is not handled or not allowed 2026-01-28 14:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-measuring-diamond-essentials-class-b-pmp-molded-graduations-tall-form-10ml>: HTTP status code is not handled or not allowed 2026-01-28 14:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-measuring-diamond-essentials-class-a-pmp-molded-graduations-tall-form-250ml>: HTTP status code is not handled or not allowed 2026-01-28 14:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gold-glamour-bubble-mailer-7-x-6-3-4>: HTTP status code is not handled or not allowed 2026-01-28 14:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1851-se-5-1-2-x-1-4-double-cut-egg-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-28 14:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-tissue-paper-18-x-24>: HTTP status code is not handled or not allowed 2026-01-28 14:01:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/paper_stationery/sticky_notes landed on page that is not a product page. 2026-01-28 14:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-with-handle-diamond-essentials-low-form-printed-graduations-pmp-100ml>: HTTP status code is not handled or not allowed 2026-01-28 14:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evs-949-mill-with-3-axis-acu-rite-303-knee-dro-and-x-y-z-axis-jet-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 14:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-triple-wall-corrugated-sheets-48-x-72>: HTTP status code is not handled or not allowed 2026-01-28 14:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-up-sink>: HTTP status code is not handled or not allowed 2026-01-28 14:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-2699-1-inch-trans-flo-gold-aodd-pump-aluminum-with-santoprene-diaphragms-and-fnpt-ports>: HTTP status code is not handled or not allowed 2026-01-28 14:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-stock-picking-ladder-perforated-tread-spl-11-p>: HTTP status code is not handled or not allowed 2026-01-28 14:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-commercial-duty-exhaust-fan-3-phase-1-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-13mm-half-size-36-place-nylon-white>: HTTP status code is not handled or not allowed 2026-01-28 14:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-stock-picking-ladder-expanded-tread-spl-6-x>: HTTP status code is not handled or not allowed 2026-01-28 14:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-literature-mailer-13-x-13-x-3>: HTTP status code is not handled or not allowed 2026-01-28 14:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-dock-board-with-lock-pins-60-w-x-48-l-15-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-stock-picking-ladder-abrasive-tread-spl-11-r>: HTTP status code is not handled or not allowed 2026-01-28 14:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-stock-picking-ladder-serrated-tread-spl-10-g>: HTTP status code is not handled or not allowed 2026-01-28 14:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/howard-restor-a-finish-neutral-8-oz-can-12-case>: HTTP status code is not handled or not allowed 2026-01-28 14:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-self-latch-mobile-counter-high-industrial-cabinet-red>: HTTP status code is not handled or not allowed 2026-01-28 14:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-totally-enclosed-high-pressure-exhaust-fan-3-phase-5-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-60g-self-close-flammable-cabinet-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-butcher-paper-roll-40-lb-60-x-1000>: HTTP status code is not handled or not allowed 2026-01-28 14:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-loading-boxes-56-x-10-x-32>: HTTP status code is not handled or not allowed 2026-01-28 14:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-1-0-x-60mm-din-7985-phillips-drive-pan-head-zinc-finish-steel-machine-screw-pkg-100>: HTTP status code is not handled or not allowed 2026-01-28 14:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-5-step-steel-24w-x-24d-work-platform-ladder>: HTTP status code is not handled or not allowed 2026-01-28 14:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-aluminum-rolling-ladder-24w-grip-tread-21d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 14:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 111151 pages (at 96 pages/min), scraped 55089 items (at 40 items/min) 2026-01-28 14:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-aluminum-wheel-barrow-style-rolling-ladder-24w-plat-grip-strut-tread-wlartr107245c>: HTTP status code is not handled or not allowed 2026-01-28 14:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-1-6-00mm-x-15-9mm-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-28 14:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1851-sf-5l6-1-2-x-1-4-standard-cut-egg-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-28 14:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-paper-sheets-40-lb-18-x-18>: HTTP status code is not handled or not allowed 2026-01-28 14:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inoculation-loop-rigid-1ul-with-needle-with-calibration-certificate-sterile-blue-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/176xl037-standard-timing-belt-xl-3-8-x-17-5-8-t88-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 14:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-standard-vertical-chart-rack-43-3-4h-20-capacity-woodgrain>: HTTP status code is not handled or not allowed 2026-01-28 14:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1848-sf-51-1-4-x-1-8-double-cut-round-nose-tree-bur>: HTTP status code is not handled or not allowed 2026-01-28 14:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-plastic-square-edge-mobile-power-apron-lab-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x36-plastic-safety-edge-mobile-power-apron-lab-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/140xl050-standard-timing-belt-xl-1-2-x-14-t70-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 14:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-diamond-essentials-griffin-style-low-form-printed-graduations-pp-1000ml-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-pipette-tip-01-20ul-certified-universal-low-retention-45mm-natural-sterile-960pk>: HTTP status code is not handled or not allowed 2026-01-28 14:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/202xl075-standard-timing-belt-xl-3-4-x-20-3-16-t101-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 14:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-tray-with-lid-4-liter-red>: HTTP status code is not handled or not allowed 2026-01-28 14:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/980l050-standard-timing-belt-l-1-2-x-98-t261-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 14:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lbc18b-anodized-aluminum-frame-tool-cart-blue-3634-l-x-3914-h-x-2114-w>: HTTP status code is not handled or not allowed 2026-01-28 14:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tpb2w-pegboard-back-panel-blissful-white-48-inch-x-24-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magsnap-360-dual-wire-metal-wristband-medium>: HTTP status code is not handled or not allowed 2026-01-28 14:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/common-point-ground-cord-for-workmat-10-mm-stud-no-resistor-15-ft-cord>: HTTP status code is not handled or not allowed 2026-01-28 14:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1-4-x-47-1-2-h-deluxe-office-partition-panel-with-electric-blue-277561bl>: HTTP status code is not handled or not allowed 2026-01-28 14:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-36-h>: HTTP status code is not handled or not allowed 2026-01-28 14:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-cord-for-floor-mat-10-mm-socket-10ft-cord-no-resistor>: HTTP status code is not handled or not allowed 2026-01-28 14:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-polypropylene-printed-graduations-25ml-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-vanguard-executive-locker-24x18x72-with-legs-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500h100-standard-timing-belt-h-1-x-50-t100-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 14:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-frame-guard-right>: HTTP status code is not handled or not allowed 2026-01-28 14:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/380580nist-battery-powered-milliohm-meter-01-nist-certified>: HTTP status code is not handled or not allowed 2026-01-28 14:02:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/insulation_testers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotationally-molded-plastic-tray-19-1-2x15-1-4x2-1-2-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hospitality-standard-bath-towel-24-x-50-white-60-towels>: HTTP status code is not handled or not allowed 2026-01-28 14:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/407730-digital-sound-level-meter-plastic-4-aaa-batteries>: HTTP status code is not handled or not allowed 2026-01-28 14:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-zone-store-board-max-duty-aluminum-green-on-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buffet-bar-24x41-green>: HTTP status code is not handled or not allowed 2026-01-28 14:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881605-type-k-immersion-probe-type-k-stainless-steel-59l>: HTTP status code is not handled or not allowed 2026-01-28 14:02:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcruiser-vending-cart-4-full-size-pans-6-deep-black>: HTTP status code is not handled or not allowed 2026-01-28 14:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-oneline-guardrail-steel-hdpe-plastic-yellow-120-x-1434>: HTTP status code is not handled or not allowed 2026-01-28 14:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-twoline-guardrail-steel-hdpe-plastic-yellow-120-x-36>: HTTP status code is not handled or not allowed 2026-01-28 14:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25b29hx38mpb-14-pitch-38-plain-bore-29-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuffblok-xl-tube-rack-4-way-polypropylene-orange-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptm-500-ae403-drum-platform-scale-with-lcd-indicator-1100-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 14:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-sump-drain-lockable-valve-2-npt>: HTTP status code is not handled or not allowed 2026-01-28 14:02:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/testing_inspection_instruments/electrical_power_testing/insulation_testers landed on page that is not a product page. 2026-01-28 14:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pt-112-ae403-industrial-platform-scale-with-lcd-indicator-2500-lb-x-0-5-lb>: HTTP status code is not handled or not allowed 2026-01-28 14:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6005-formaldehyde-organic-vapor-cartridge-2-bag>: HTTP status code is not handled or not allowed 2026-01-28 14:02:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves landed on page that is not a product page. 2026-01-28 14:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-explosion-proof-light-photocell-exterior-in-addition-to-interior-light>: HTTP status code is not handled or not allowed 2026-01-28 14:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-personnel-door-36wx80h>: HTTP status code is not handled or not allowed 2026-01-28 14:02:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/chemical_storage_buildings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quicksnap-02ml-8-strip-tubes-with-individually-attached-dome-caps-clear-120-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/funnel-powder-polypropylene-180mm-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-direct-drive-blower-motor-208-230-volts-1075-rpm-4>: HTTP status code is not handled or not allowed 2026-01-28 14:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-plastic-glad-hand-lock-keyed-different>: HTTP status code is not handled or not allowed 2026-01-28 14:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-primer-coat-saltwater-agb8000>: HTTP status code is not handled or not allowed 2026-01-28 14:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sublite-rb416-w-6>: HTTP status code is not handled or not allowed 2026-01-28 14:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-split-capacitor-condenser-fan-motor-208-230-volts-1075-rpm-13>: HTTP status code is not handled or not allowed 2026-01-28 14:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-rain-jacket-ansi-class-3-5xl-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 14:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25b15hx14mpb-14-pitch-14-plain-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/chemical_storage_buildings>: HTTP status code is not handled or not allowed 2026-01-28 14:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs40x1-58-pitch-1-finished-bore-40-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 111250 pages (at 99 pages/min), scraped 55129 items (at 40 items/min) 2026-01-28 14:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-dunnage-cube-24-x-12-x-6-6-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-16251-i-15a-125v-nema-5-15r-decora-plus-single-receptacle-commercial-grade-self-grounding-ivory>: HTTP status code is not handled or not allowed 2026-01-28 14:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-bio-cart-10-hepa-mobile-dust-containment-unit>: HTTP status code is not handled or not allowed 2026-01-28 14:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-full-rated-pool-filter-motor-115-230-volts-3450-rpm-1>: HTTP status code is not handled or not allowed 2026-01-28 14:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-boutique-folding-crib-with-oversized-casters-foam-mattress-white>: HTTP status code is not handled or not allowed 2026-01-28 14:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-with-rfid-for-captrack-ct1-and-ct2-models-half-size-13mm-36-place-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printer-assembly-for-a-p300>: HTTP status code is not handled or not allowed 2026-01-28 14:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/funnel-powder-polypropylene-150mm-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-1-1-white-red-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-condenser-fan-motor-208-230-volts-1075-rpm-1>: HTTP status code is not handled or not allowed 2026-01-28 14:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs40x11516-58-pitch-1-1516-finished-bore-40-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palletized-shipment-3-10-fluorescent-orange-black>: HTTP status code is not handled or not allowed 2026-01-28 14:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-air-over-hydraulic-flr-jack-w-air>: HTTP status code is not handled or not allowed 2026-01-28 14:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-58-x-46-x-96-4-mil-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/02ml-individual-pcr-tube-with-dome-cap-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ton-shorty-hydraulic-bottle-jack>: HTTP status code is not handled or not allowed 2026-01-28 14:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-held-digital-battery-tester-with-printer>: HTTP status code is not handled or not allowed 2026-01-28 14:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-with-handle-polypropylene-molded-graduations-5000ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs23hx50-metric-34-pitch-50mm-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rejected-by-3-5-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-28 14:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-1-ton-capacity-folding-engine-crane>: HTTP status code is not handled or not allowed 2026-01-28 14:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facial-recognition-time-clock-system>: HTTP status code is not handled or not allowed 2026-01-28 14:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cart-for-signs-shadow-boards-up-to-72-h-x-36-w-anodized-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-1-2-l-tube-cleaning-brush-w-1-1-4-dia-nylon-brush-stainless-steel-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-angle-magnetic-mount-forklift-mirror>: HTTP status code is not handled or not allowed 2026-01-28 14:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-split-capacitor-fan-coil-motor-115-volts-1050-rpm-2>: HTTP status code is not handled or not allowed 2026-01-28 14:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/morrill-cast-iron-unit-bearing-fan-motor-5-watts-115-volts-3>: HTTP status code is not handled or not allowed 2026-01-28 14:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazard-class-3-flammable-liquid-4-4-white-red>: HTTP status code is not handled or not allowed 2026-01-28 14:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-chrome-24w-x-54l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs18hx134-34-pitch-1-34-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dont-break-shrink-wrap-3-5-bright-yellow-black>: HTTP status code is not handled or not allowed 2026-01-28 14:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-silver-ep-18w-x-72l-x-63h-4-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-28 14:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-aluminum-camlock-fitting-dust-plug-thread>: HTTP status code is not handled or not allowed 2026-01-28 14:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-polypropylene-camlock-fitting-male-barb-x-female-coupler-thread>: HTTP status code is not handled or not allowed 2026-01-28 14:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-silver-ep-18w-x-36l-x-40h-3-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-chrome-24w-x-42l-x-40h-3-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/to-go-rack-silver-ep-24w-x-72l-x-63h-4-wire-shelves-dividers-ledges>: HTTP status code is not handled or not allowed 2026-01-28 14:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-mr-clip-blue-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 14:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/berber-impressions-hd-custom-logo-mat-6--x-12--68-mil-universal-cleated-sbr>: HTTP status code is not handled or not allowed 2026-01-28 14:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-e-premium-two-tone-poly-filled-winter-insulated-bibs-w-multi-pockets-sm-md>: HTTP status code is not handled or not allowed 2026-01-28 14:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-silver-ep-18w-x-54l-x-72h-4-wire-shelves-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-ansi-lady-short-sleeve-t-shirt-pink-with-lime-side-xl>: HTTP status code is not handled or not allowed 2026-01-28 14:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/do-not-stack-3-5-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-28 14:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs13hx2316-1-14-pitch-2-316-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-tip-out-bin-unit-single-sided-70-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 14:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-tip-out-bin-unit-double-sided-24-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 14:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-class-2-mesh-zipper-safety-vest-orange-s-m>: HTTP status code is not handled or not allowed 2026-01-28 14:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-kit-floor-stands>: HTTP status code is not handled or not allowed 2026-01-28 14:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-inch-slantwall-exhaust-fan-belt-drive-1-hp-21100-cfm-115-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1675-4-50-3-8-id-1-4-mnpt-rekoil-hose>: HTTP status code is not handled or not allowed 2026-01-28 14:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1671-20-20-1-4-id-1-4-mnpt-polyurethane-rekoil-hose>: HTTP status code is not handled or not allowed 2026-01-28 14:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690-12-12-inch-1-4-fnpt-dual-head-air-chuck>: HTTP status code is not handled or not allowed 2026-01-28 14:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/do-not-inventory-date-3-5-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-28 14:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs19hx42-metric-1-pitch-42mm-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100a18hx114-a-plate-1-14-pitch-1-14-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-120a15hx114-a-plate-1-12-pitch-1-14-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pw-csi-tweezer>: HTTP status code is not handled or not allowed 2026-01-28 14:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-mobile-cabinet-36-wx24-dx45-1-2-h-black-2>: HTTP status code is not handled or not allowed 2026-01-28 14:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-dia-black-disc-with-20>: HTTP status code is not handled or not allowed 2026-01-28 14:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csi-kit-professional-bed-bug-detection>: HTTP status code is not handled or not allowed 2026-01-28 14:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fragile-handle-with-care-thank-you-2-3-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-28 14:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melitta-coffee-filters-4-100-count-3-pack-gr>: HTTP status code is not handled or not allowed 2026-01-28 14:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ec2002-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vanilla-cow-tales-box-36-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 14:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-eu2002b-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metro-series-kneespace-credenza-60-w-x-24-d-x-29-1-2-h-mocha>: HTTP status code is not handled or not allowed 2026-01-28 14:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 111351 pages (at 101 pages/min), scraped 55165 items (at 36 items/min) 2026-01-28 14:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/between-series-nested-multipurpose-table-60-l-x-24-w-x-29-h-shaker-cherry>: HTTP status code is not handled or not allowed 2026-01-28 14:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1374-1-30-hp-1-phase-1100-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wd14aa2pz7-1-4-hp-1-phase-1700-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/woodbury-series-high-back-executive-chair-300-lb-capacity-leather-black>: HTTP status code is not handled or not allowed 2026-01-28 14:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-drawer-mobile-multi-drawer-cabinet-48-wx27-dx37-1-2-h-black-1>: HTTP status code is not handled or not allowed 2026-01-28 14:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunkist-wrapped-fruit-gems-soft-candy-2-lb-gr>: HTTP status code is not handled or not allowed 2026-01-28 14:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-16-wx53-d-stainless-steel-rolling-safety-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-28 14:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-chrome-linen-cart-with-solid-bottom-shelf-60-l-x-24-w-x-78-h>: HTTP status code is not handled or not allowed 2026-01-28 14:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cookies-crackers-candy-and-gum-snackstreats-variety-care-package-40-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 14:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensible-portions-garden-veggie-straws-variety-pack-1-oz-30-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 14:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t14c2pcr-1-4-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-diamond-whole-natural-almonds-on-the-go-pouches-0-625-oz-42-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 14:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-mobile-medical-privacy-screen-81-wx69-h-beige-vinyl-panels>: HTTP status code is not handled or not allowed 2026-01-28 14:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-3-tier-microwave-station-kit-24-l-x-18-w-x-36-h>: HTTP status code is not handled or not allowed 2026-01-28 14:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-die-grinder-kit-dcg426m2>: HTTP status code is not handled or not allowed 2026-01-28 14:04:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches/power_drills already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-extra-rolling-safety-ladder-expanded-metal-tread>: HTTP status code is not handled or not allowed 2026-01-28 14:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-16-w-stainless-steel-tilt-roll-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 14:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/princeton-tec-apex-waterproof-led-headlamp-650-lumens-120m-beam-distance-black>: HTTP status code is not handled or not allowed 2026-01-28 14:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-kit-for-653577-246726-heaters>: HTTP status code is not handled or not allowed 2026-01-28 14:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-wd12s1ac-1-2-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-esn1152-1-1-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/03-760-20-recycled-rubber-base-20-lbs-for-trailblazer-xl>: HTTP status code is not handled or not allowed 2026-01-28 14:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-galvanized-wall-master-exhaust-belt-drive-1hp-cast-aluminum-blade>: HTTP status code is not handled or not allowed 2026-01-28 14:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u3p1dc-3-hp-3-phase-3540-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hgx-led-security-lights-2-square-heads-4000k-2700-lumens-black>: HTTP status code is not handled or not allowed 2026-01-28 14:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn67-10-1-h-182-4tc-cast-iron-helical-bevel-speed-reducer-182-4tc-input-flange-10-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 14:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-shelving-drawer-unit-36x18x75-90-drawers-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uberlight-26-flex-led-task-light-with-round-base-black>: HTTP status code is not handled or not allowed 2026-01-28 14:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-volumetric-wide-mouth-globe-glass-class-a-to-contain-tc-astm-e288-200ml-6-box>: HTTP status code is not handled or not allowed 2026-01-28 14:04:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-volumetric-globe-glass-class-a-to-contain-tc-astm-e288-25ml-6-box>: HTTP status code is not handled or not allowed 2026-01-28 14:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-volumetric-globe-glass-class-b-to-contain-tc-astme288-50ml-6-box>: HTTP status code is not handled or not allowed 2026-01-28 14:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ready-built-ii-locker-triple-tier-1-wide-12x18x78-parchment>: HTTP status code is not handled or not allowed 2026-01-28 14:04:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=us-motor-ee446b-3-4-hp-3-phase-3450-rpm already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ready-built-ii-locker-six-tier-3-wide-12x15x78-parchment>: HTTP status code is not handled or not allowed 2026-01-28 14:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-knock-down-antimicrobial-locker-single-tier-1-wide-15x18x78>: HTTP status code is not handled or not allowed 2026-01-28 14:04:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d10p1h-10-hp-3-phase-3505-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-uj5p1gm-5-hp-3-phase-3525-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vxmpdg-microplate-vortex-mixer-digital-120v>: HTTP status code is not handled or not allowed 2026-01-28 14:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d10p2dc-10-hp-3-phase-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:36 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/power_tools/drills_drivers_impact_wrenches landed on page that is not a product page. 2026-01-28 14:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u32p1h-1-5-hp-3-phase-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u10p2dc-10-hp-3-phase-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-rigid-cover-12-bushel-usda-approved-plastic-box-truck>: HTTP status code is not handled or not allowed 2026-01-28 14:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors>: HTTP status code is not handled or not allowed 2026-01-28 14:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-foam-hand-sanitizer-soap-dispenser-800-ml-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:04:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotating-light-120vac-hazardous-location-red-225x-120r>: HTTP status code is not handled or not allowed 2026-01-28 14:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-x10e1b-10-hp-3-phase-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-48-w-x-30-d-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lau-4-blade-condenser-propeller-12-diameter-cw-rotation-2>: HTTP status code is not handled or not allowed 2026-01-28 14:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-2-inch-links-500-feet-trade-size-8-safety-green>: HTTP status code is not handled or not allowed 2026-01-28 14:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-galvanized-steel-blower-wheel-4-17-32-diameter-5-16-bore-2>: HTTP status code is not handled or not allowed 2026-01-28 14:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-yc3p3b-3-hp-3-phase-1175-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-add-on-unit-5-vented-shelves-24x60x64>: HTTP status code is not handled or not allowed 2026-01-28 14:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/boltless_shelving/heavy_duty_boltless_shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:04:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=us-motor-ee446b-3-4-hp-3-phase-3450-rpm landed on page that is not a product page. 2026-01-28 14:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1699-1-hp-1-phase-1625-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rod-2-3-4-90-degree-bend>: HTTP status code is not handled or not allowed 2026-01-28 14:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-x200p2c-200-hp-3-phase-1785-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1874h-1-4-1-8-hp-1-phase-825-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan87-30-1-h-184tc-cast-iron-helical-bevel-speed-reducer-184tc-input-flange-30-1>: HTTP status code is not handled or not allowed 2026-01-28 14:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 111444 pages (at 93 pages/min), scraped 55199 items (at 34 items/min) 2026-01-28 14:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan67-20-1-h-145tc-cast-iron-helical-bevel-speed-reducer-145tc-input-flange-20-1>: HTTP status code is not handled or not allowed 2026-01-28 14:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-5469-1-3-1-9-hp-1-phase-825-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-drop-extender-full-size-49-comp-19-5-8x19-5-8x2-adds-1-5-8-to-rack-height-soft-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-desk-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 14:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-horizontal-6-upright-sections>: HTTP status code is not handled or not allowed 2026-01-28 14:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-hanging-clamps-18-x-24-sheets>: HTTP status code is not handled or not allowed 2026-01-28 14:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camwear-food-pan-cover-full-size-with-handle-polycarbonate-clear-nsf>: HTTP status code is not handled or not allowed 2026-01-28 14:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arg1pv-pharma-vac-performance-series-compact-vaccine-refrigerator-glass-door-1-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-pair-of-replacement-keys-262065ak>: HTTP status code is not handled or not allowed 2026-01-28 14:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-rack-3-upright-3-horizontal>: HTTP status code is not handled or not allowed 2026-01-28 14:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-desk-corner-organizer>: HTTP status code is not handled or not allowed 2026-01-28 14:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beverage-carrier-insulated-plastic-4-3-4-gallon-16-1-2x9x24-1-4-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-for-flat-top-locker-12-x-60-beige>: HTTP status code is not handled or not allowed 2026-01-28 14:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locker-flat-top-15-x-12-beige>: HTTP status code is not handled or not allowed 2026-01-28 14:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cherry-counter-gray-panel-u-shaped-reception-station-3>: HTTP status code is not handled or not allowed 2026-01-28 14:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camwear-food-pan-1-2-size-long-2-1-2-deep-polycarbonate-clear-nsf>: HTTP status code is not handled or not allowed 2026-01-28 14:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-for-flat-top-locker-15-x-72-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-mobile-shelf-plate-kit-18-w-x-54-l-solid-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 14:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-round-6-qt-9-15-16-diameter-x-7-15-16-h-translucent-polypropylene-nsf>: HTTP status code is not handled or not allowed 2026-01-28 14:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-recycling-waste-30-gallon-slate-27-15-30>: HTTP status code is not handled or not allowed 2026-01-28 14:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camcart-food-pan-carrier-front-loading-approximately-cap-60-qt-6-casters-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-shelf-plate-kit-18-w-x-72-l-venteded-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 14:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-door-seal-59-heavy-duty-40-oz-with-wear-pleats-8w-x-9h-20-projection-black>: HTTP status code is not handled or not allowed 2026-01-28 14:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-door-seal-55-heavy-duty-40-oz-8w-x-10h-20-projection-black>: HTTP status code is not handled or not allowed 2026-01-28 14:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-headroom-multiple-spread-li-ing-beam-4000-lb-capacity-6-long>: HTTP status code is not handled or not allowed 2026-01-28 14:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-starter-unit-18-w-x-36-l-x-72-h-4-shelf-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 14:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pizza-dough-box-white-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-28 14:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-composite-5-16-tube-x-1-4-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 14:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-flange-grab-bar-24-w>: HTTP status code is not handled or not allowed 2026-01-28 14:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45degree-plug-in-elbow-3-8-tube-x-3-8-stud>: HTTP status code is not handled or not allowed 2026-01-28 14:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-for-6-and-8-qt-containers-winter-rose-polyethylene-nsf>: HTTP status code is not handled or not allowed 2026-01-28 14:05:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/bulk_containers/plastic_bulk_containers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-female-metal-release-collet-6mm-tube-x-1-8-bspp>: HTTP status code is not handled or not allowed 2026-01-28 14:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meal-delivery-cart-low-profile-2-doors-48-1-2x32-1-2x44-granite-green>: HTTP status code is not handled or not allowed 2026-01-28 14:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-elements-post-kit-for-mobile-unit-21-w-x-78-h-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 14:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-clear-door-storage-cabinet-36x16x84>: HTTP status code is not handled or not allowed 2026-01-28 14:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l110-3-4-inch-bore-diameter-3-16-x-3-32-keyway>: HTTP status code is not handled or not allowed 2026-01-28 14:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l050-1-2-inch-bore-diameter-1-8-x-1-16-keyway>: HTTP status code is not handled or not allowed 2026-01-28 14:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-12mm-stud-x-10mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 14:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forced-air-circulation-incubator-programmable-749-liters-115-volt>: HTTP status code is not handled or not allowed 2026-01-28 14:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/bulk_containers/plastic_bulk_containers>: HTTP status code is not handled or not allowed 2026-01-28 14:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-depth-gage-2-31-64-inch-base-length-0-12-inch-0-300mm-range>: HTTP status code is not handled or not allowed 2026-01-28 14:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-electronic-outside-neck-caliper-0-6-inch-0-150mm-range>: HTTP status code is not handled or not allowed 2026-01-28 14:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-reading-dial-indicator-flat-back-0-1-inch-range>: HTTP status code is not handled or not allowed 2026-01-28 14:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-release-looped-end-mop-w-red-band-large-natural-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 14:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ply-looped-end-mop-w-1-blue-band-x-large-red-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 14:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tower-guard-hose-clamps-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-12-dia-x-175l>: HTTP status code is not handled or not allowed 2026-01-28 14:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weldon-4-backless-picnic-bench-weathered-acorn>: HTTP status code is not handled or not allowed 2026-01-28 14:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/muskoka-adirondack-deck-dining-chair-40-12h-weathered-acorn>: HTTP status code is not handled or not allowed 2026-01-28 14:05:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocala-night-lines-slab-door-wood-36w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 14:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-night-lines-slab-door-wood-36w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:05:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-silver-lines-slab-door-wood-30w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 14:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocala-silver-lines-slab-door-wood-36w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 14:05:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:05:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kissimmee-glazed-light-slab-door-wood--glass-24w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labella-slab-door-wood-32w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 14:05:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-silver-lines-slab-door-wood-28w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 14:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cape-coral-night-lines-slab-door-wood-32w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets>: HTTP status code is not handled or not allowed 2026-01-28 14:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gainesville-night-lines-slab-door-wood-30w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 14:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 14:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 111535 pages (at 91 pages/min), scraped 55230 items (at 31 items/min) 2026-01-28 14:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pensacola-glazed-light-slab-door-wood--glass-28w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 14:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gainesville-gold-lines-slab-door-wood-32w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 14:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 14:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/patio_bar_dining_sets>: HTTP status code is not handled or not allowed 2026-01-28 14:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kissimmee-glazed-light-slab-door-wood--glass-30w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:05:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:05:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-gold-lines-slab-door-wood-30w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 14:06:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:06:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-type-casing-extra-deep-white>: HTTP status code is not handled or not allowed 2026-01-28 14:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-60l-x-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 14:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bison-polywoven-dunnage-air-bags-2-ply-72l-x-36w-pack-of-875>: HTTP status code is not handled or not allowed 2026-01-28 14:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bison-polywoven-dunnage-air-bags-2-ply-84l-x-46-12w-pack-of-580>: HTTP status code is not handled or not allowed 2026-01-28 14:06:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_plates_braces already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polywoven-dunnage-air-bags-8-ply-96l-x-36w-pack-of-165>: HTTP status code is not handled or not allowed 2026-01-28 14:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/espresso-maker-3-cups-stainless-steel-copper>: HTTP status code is not handled or not allowed 2026-01-28 14:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 14:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 14:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polarforce-mens-sweatshirt-small-black>: HTTP status code is not handled or not allowed 2026-01-28 14:06:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/doors_windows/doors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-supplies/doors_windows/doors/interior-doors>: HTTP status code is not handled or not allowed 2026-01-28 14:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-teaspoon-crystal-clear-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 14:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-teaspoon-polystyrene-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 14:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-wrapped-teaspoon-polystyrene-black-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 14:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajm-packaging-corporation-coated-paper-plates-9-dia-white-pack-of-1200>: HTTP status code is not handled or not allowed 2026-01-28 14:06:13 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/fasteners/door_window_hardware/door_plates_braces landed on page that is not a product page. 2026-01-28 14:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deerfield-printed-paper-plates-9-dia-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 14:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-wrapped-knife-polypropylene-white-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 14:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-cold-drink-cups-5-oz-polypropylene-translucent-pack-of-2500>: HTTP status code is not handled or not allowed 2026-01-28 14:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartlock-container-w-3-compartment-9-l-x-9-w-x-3-1-8-h-pack-of-120>: HTTP status code is not handled or not allowed 2026-01-28 14:06:18 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/doors_windows/doors landed on page that is not a product page. 2026-01-28 14:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-poly-paper-container-8-oz-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 14:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-lids-for-bowls-kraft-3-5-8-dia-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 14:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lift-back-lock-tab-cup-lids-for-foam-cups-fits-8-oz-trophy-cups-white-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unwrapped-jumbo-straws-7-3-4-l-translucent-pack-of-12500>: HTTP status code is not handled or not allowed 2026-01-28 14:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mopping-tools-w-aluminum-base-for-18-20-pads-blue-12case>: HTTP status code is not handled or not allowed 2026-01-28 14:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-handle-circular-saw-bare-tool-only-7-14-dia-24v>: HTTP status code is not handled or not allowed 2026-01-28 14:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-burgundy-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-leather-brown-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hwf-10x20-mm-eyepiece-w-10100-micrometer-cross-hair-for-bscope-934-23-mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 14:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-chromatography-refrigerator-26-cuft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 14:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-compartment-drawer-organizer-23w-x-16-516d-x-1-38h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:06:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5354-weatherban-sealant-tape-black>: HTTP status code is not handled or not allowed 2026-01-28 14:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/540-polyurethane-adhesive-sealant-600-ml-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-performance-ironman-adjustable-wraparound-ankle-support-open-heel-universal-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-lace-up-ankle-splint-figure-8-retail-packaging-large>: HTTP status code is not handled or not allowed 2026-01-28 14:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-steel-rollator-w-6-casters-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 14:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k1-basic-wheelchair-w-desk-length-arms-swing-away-footrests-teal-18w-seat>: HTTP status code is not handled or not allowed 2026-01-28 14:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-tread-terry-patient-slippers-bariatric-gray-48-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_full_systems>: HTTP status code is not handled or not allowed 2026-01-28 14:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbon-fiber-rollator-w-compact-seat-16-18w-x-22h-red>: HTTP status code is not handled or not allowed 2026-01-28 14:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knockdown-steel-bedside-commode-350-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bariatric-steel-drop-arm-commode-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-style-clear-specimen-bag-w-pocket-6-x-9-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 14:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-sterile-cotton-balls-medium-1dia-white-130-per-box24-boxes-per-case>: HTTP status code is not handled or not allowed 2026-01-28 14:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-30-40-mmhg-knee-high-xx-large-size-e-regular-black>: HTTP status code is not handled or not allowed 2026-01-28 14:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-15-20-mmhg-thigh-high-x-large-size-d-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-15-20-mmhg-knee-high-3x-large-size-f-regular-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duocare-oral-care-self-care-caddy-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:06:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/bath_body/oral_care already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hopper-truck-steel-20-cu-ft-2000-lb-cap-65-9-16l-x-48w-x-40-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 14:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stock-cart-stainless-steel-1200-lb-capacity-30l-x-18-1-8w-x-35h>: HTTP status code is not handled or not allowed 2026-01-28 14:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk1821-rebuild-kit-for-central-brass-shower-valves>: HTTP status code is not handled or not allowed 2026-01-28 14:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-two-handle-faucet-w-10-spout>: HTTP status code is not handled or not allowed 2026-01-28 14:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-coventry-bun-foot-storage-ottoman-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apartment-size-refrigerator-12-cuft-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 14:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/personal_care_hygiene/bath_body/oral_care>: HTTP status code is not handled or not allowed 2026-01-28 14:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 111629 pages (at 94 pages/min), scraped 55262 items (at 32 items/min) 2026-01-28 14:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-head-connector-for-global-pure-carbon-filter-3-8-in-in-out>: HTTP status code is not handled or not allowed 2026-01-28 14:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-side-panel-for-wood-lockers-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-w-fixed-shelves-assembled-48w-x-24d-x-78h-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-28 14:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-w-fixed-shelves-assembled-48w-x-18d-x-72h-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-wardrobe-cabinet-assembled-36w-x-24d-x-72h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:07:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-pallet-rack-add-on-96-in-w-x-24-in-d-x-144-in-h>: HTTP status code is not handled or not allowed 2026-01-28 14:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-tone-short-sleeve-polo-shirt-w-1-pocket-class-3-polyester-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-28 14:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-job-shirt-w-14-zipper-class-3-polyester-fleece-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quartz-duck-sherpa-lined-heavy-weight-jacket-brown-3xl>: HTTP status code is not handled or not allowed 2026-01-28 14:07:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/lifting_magnets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:07:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_air_handlers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diy-4th-generation-ceiling-cassette-w-25-ft-diy-pro-cable-12000-btu>: HTTP status code is not handled or not allowed 2026-01-28 14:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkliftable-truck-w-2-shelves-3600-lb-cap-53-12l-x-30w-x-58-12h-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/tool_storage/chests_roller_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 14:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7072-cut-resistant-gloves-nitrile-coated-ansi-a4-s-green-12-pairs>: HTTP status code is not handled or not allowed 2026-01-28 14:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7022-cut-resistant-gloves-dsx-coated-ansi-a2-m-lime-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8281bk-hi-vis-performance-long-sleeve-t-shirt-type-r-class-2-4xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 14:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7041-cut-resistant-gloves-nitrile-coated-ansi-a4-xl-lime-144-pairs>: HTTP status code is not handled or not allowed 2026-01-28 14:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7071-cut-resistant-gloves-polyurethane-coated-ansi-a7-m-gray-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:07:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/cranes_hoists/crane_parts_accessories/lifting_magnets landed on page that is not a product page. 2026-01-28 14:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/ductless_air_conditioners/ductless_air_handlers>: HTTP status code is not handled or not allowed 2026-01-28 14:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7024-cut-resistant-gloves-polyurethane-coated-ansi-a2-l-gray-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8216ba-breakaway-mesh-vest-w-id-holder-class-2-2xl3xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 14:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8966-lightweight-cap-style-hard-hat-vented-class-c-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:07:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz174-odin-anti-fog-safety-glasses-clear-lens-kryptek-highlander-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8379-hi-vis-3-in-1-winter-bomber-jacket-5xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-air-impact-wrench-2750-ft-lbs-torque-super-duty-pistol-grip-titanium-hammercase>: HTTP status code is not handled or not allowed 2026-01-28 14:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-air-impact-wrench-500-ft-lbs-torque-super-duty-pistol-grip>: HTTP status code is not handled or not allowed 2026-01-28 14:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-die-grinder-14-collet-burr-27000-rpm-05-hp-front-exhaust-inline>: HTTP status code is not handled or not allowed 2026-01-28 14:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chipping-hammer-58-hex-shank-3-stroke-1900-bpm>: HTTP status code is not handled or not allowed 2026-01-28 14:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-random-orbital-air-sander-332-orbit-vinyl-pad-12000-rpm-02-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-high-torque-12-cordless-impact-wrench-1500-ft-lbs-nut-busting-torque>: HTTP status code is not handled or not allowed 2026-01-28 14:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-1-door-digital-locker-12in-w-x-12in-d-x-78in-h-blue-assembled>: HTTP status code is not handled or not allowed 2026-01-28 14:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-low-chest-freezer-48-cu-ft-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 14:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-for-kf-400hc-kf-405hc>: HTTP status code is not handled or not allowed 2026-01-28 14:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/element-pin-set-for-tish-100-tish-105-tish-200-tish-205>: HTTP status code is not handled or not allowed 2026-01-28 14:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-kf-600f>: HTTP status code is not handled or not allowed 2026-01-28 14:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blade-for-cs-5050cs-6050>: HTTP status code is not handled or not allowed 2026-01-28 14:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-switch-for-tew-auto-sealer>: HTTP status code is not handled or not allowed 2026-01-28 14:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-black-oxide-drill-bit-316-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-no-endcut-bur-double-cut-18-shank-dia-14-len-of-cut>: HTTP status code is not handled or not allowed 2026-01-28 14:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-shaped-bur-double-cut-2l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cone-shaped-bur-for-stainless-steel-3-164l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oval-shaped-bur-double-cut-1-34l-x-18-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cone-shaped-bur-double-cut-1-12l-x-18-shank-dia-38-len-of-cut>: HTTP status code is not handled or not allowed 2026-01-28 14:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-w-endcut-bur-aluma-cut-2-34l-x-14-shank-dia-12-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guidepoint-drywall-zipbit-18-bit-dia-pack-of-16>: HTTP status code is not handled or not allowed 2026-01-28 14:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bur-box-aluma-cut-sb5-sc3-sc5-sd5-sf3-sf5-sg3-sl4-set-of-8>: HTTP status code is not handled or not allowed 2026-01-28 14:07:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-filament-b11-bulb-120v-5w-600-lumens-candelabra-screw-base-2700k-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 14:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/benchblotter-platform-rocker-w-flat-mat-115v-5060-hz-12-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stir-bar-1-x-516-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biomixer-3d-nutating-shaker-w-dimpled-mat-230v-5060-hz-20-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roto-mini-plus-rotator-w-tube-holders-230v-5060-hz-5-70-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-balance-500g-capacity-01g-readability-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/micro-switch-for-ice-dispenser-bin-on-nexel-models-243318-243319>: HTTP status code is not handled or not allowed 2026-01-28 14:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-dispenser-with-ice-machine-bin-air-cooled-420-lbs-production-hour>: HTTP status code is not handled or not allowed 2026-01-28 14:07:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/drinking_fountain_cooler_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 14:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tread-plate-deck-platform-truck-aluminum-6-polyurethane-caster-75l-x-36w-2600-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 111720 pages (at 91 pages/min), scraped 55297 items (at 35 items/min) 2026-01-28 14:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bur-wallet-pouch-wo-logo-double-cut-powerz-sc-5-sc-3-sf-5-sf-3-set-of-4>: HTTP status code is not handled or not allowed 2026-01-28 14:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-personal-self-retracting-lifeline-w-rebar-hook-overhead-anchor-point-72l>: HTTP status code is not handled or not allowed 2026-01-28 14:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-nitrile-exam-gloves-powder-free-xl-black-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 14:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-36l-x-24w-x-48h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 14:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-add-on-48l-x-40w-x-84h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 14:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-28w-x-60h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 14:08:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/drinking_fountain_cooler_filters landed on page that is not a product page. 2026-01-28 14:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-starter-36l-x-18w-x-96h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 14:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-24w-x-96h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 14:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-gard-h1pro-safety-helmet-non-vented-fas-trac-iii-pivot-ratchet-suspension-green>: HTTP status code is not handled or not allowed 2026-01-28 14:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-gard-h1pro-safety-helmet-trivent-fas-trac-iii-pivot-ratchet-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 14:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwikboost-edgepower-portable-power-station-constant-use-bundle>: HTTP status code is not handled or not allowed 2026-01-28 14:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobilecare-drawer-divider-for-23w-drawers-23l-x-18w-x-3h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polytec153-recycling-container-w-riverstone-panels-42-gal-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secure-click-organic-vapor-cartridge-filter-p100-d80921>: HTTP status code is not handled or not allowed 2026-01-28 14:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-neck-scrub-shirt-nonwoven-3xl-dark-green-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 14:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-transfer-switch-400-amp-120-208v-30-nema-3r-cul>: HTTP status code is not handled or not allowed 2026-01-28 14:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-11-5m-8-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:08:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_bulkheads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-dusters-with-super-extender-handle-6-ft-handle-1-handle-4-dusters-4-ctn>: HTTP status code is not handled or not allowed 2026-01-28 14:08:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailgrip-work-athletic-hiker-boots-alloy-toe-size-14w-4-inch-h-coyote-black>: HTTP status code is not handled or not allowed 2026-01-28 14:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailgrip-work-athletic-hiker-boots-alloy-toe-size-11m-4-inch-h-coyote-black>: HTTP status code is not handled or not allowed 2026-01-28 14:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advanced-gel-hand-sanitizer-clean-scent-for-es1-450-ml-refill-clean-scent-6-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-14m-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-premier-casual-chukka-boots-steel-toe-size-7d-4-inch-h-dark-cognac>: HTTP status code is not handled or not allowed 2026-01-28 14:08:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs14hx40-metric-1-12-pitch-40mm-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_bulkheads>: HTTP status code is not handled or not allowed 2026-01-28 14:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-top-birch-butcher-block-square-edge-72-in-w-x-36-in-d-x-1-1-2-in-thick>: HTTP status code is not handled or not allowed 2026-01-28 14:08:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/cleaning_tools/cleaning_cloths_towels/shop_towels_cloth_rags/microfiber_cloths_towels landed on page that is not a product page. 2026-01-28 14:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/novaplus-monitoring-electrode-v2560-3-1-60-inch-x-1-36-inch-3-bag-200-bags-case>: HTTP status code is not handled or not allowed 2026-01-28 14:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-abdominal-perineal-drapes-2065-77-inch-x-160-inch-4-tube-organizer-8-bx-2-bx-cs>: HTTP status code is not handled or not allowed 2026-01-28 14:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs16hx70-metric-1-12-pitch-70mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80btl30h-bushed-tapered-locks-1-pitch-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs20hx38-metric-1-14-pitch-38mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 14:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/attest-log-book-with-50-record-charts-for-steam-sterilizers-use-with-attest-bi-1261-1262>: HTTP status code is not handled or not allowed 2026-01-28 14:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs13hx38-metric-1-pitch-38mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs25x35-metric-1-pitch-35mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-boltless-shelving-48-in-w-x-36-in-d-x-72-in-h-5-shelves-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:08:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-12m-rinsed-black-tower-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-11-5w-rinsed-black-tower-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-standard-caps-flowtubes-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-9w-wintermoss-whitecap-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:08:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 14:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-10-5m-black-red>: HTTP status code is not handled or not allowed 2026-01-28 14:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-15m-wintermoss-whitecap-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:08:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-microcentrifuge-tubes-with-cap-sterile-2-0-ml-clear-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-skylar-sneaker-composite-toe-size-12m-black>: HTTP status code is not handled or not allowed 2026-01-28 14:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 14:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs20hx38-metric-1-12-pitch-38mm-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80a09hx34-a-plate-1-pitch-34-bore-9-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-pipette-tips-for-halo-pipettors-5-ml-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10a19h-metric-a-plate-58-pitch-16mm-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:48 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots landed on page that is not a product page. 2026-01-28 14:08:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-men-s-low-cut-sneaker-composite-toe-size-8-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 14:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-9-5w-navy-aged-indigo>: HTTP status code is not handled or not allowed 2026-01-28 14:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-skylar-sneaker-composite-toe-size-6w-black>: HTTP status code is not handled or not allowed 2026-01-28 14:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40sh25h-qd-bushed-12-pitch-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-8m-navy-aged-indigo>: HTTP status code is not handled or not allowed 2026-01-28 14:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-women-s-low-cut-sneaker-composite-toe-size-9m-black>: HTTP status code is not handled or not allowed 2026-01-28 14:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs18hx48-metric-1-12-pitch-48mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs18hx60-metric-1-12-pitch-60mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes>: HTTP status code is not handled or not allowed 2026-01-28 14:08:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 14:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 111813 pages (at 93 pages/min), scraped 55326 items (at 29 items/min) 2026-01-28 14:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-11-5w-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-tool-for-opening-closing-pcr-strips-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 14:08:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 14:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50a19hx58-a-plate-58-pitch-58-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80sds13h-1-pitch-qd-bushed-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:08:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-t500-500cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:09:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-blucher-sneaker-composite-toe-size-8m-black-gold>: HTTP status code is not handled or not allowed 2026-01-28 14:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-legend-800-800cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-11-5w-black-gum>: HTTP status code is not handled or not allowed 2026-01-28 14:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50sh17h-qd-bushed-58-pitch-17-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-14w-black-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-13m-black-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:09:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 14:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions>: HTTP status code is not handled or not allowed 2026-01-28 14:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-10m-black>: HTTP status code is not handled or not allowed 2026-01-28 14:09:10 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 14:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyberpower-cp585lcd-ups-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-w-steel-toe-and-internal-met-guard-size-12m-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-4m-blue-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-10-x-12-2-mil-red-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:09:14 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 14:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs13hx11516-1-pitch-1-1516-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-w-steel-toe-and-internal-met-guard-size-8w-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs15hx1-34-pitch-1-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-bags-3-x-5-2-mil-white-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:09:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-12-x-5-32-blue-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-amx-ii-medical-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightalarms-pl3-alarm-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-ml2ch-alarm-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-tie-spool-5-32-x-7000-blue->: HTTP status code is not handled or not allowed 2026-01-28 14:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-11w-dark-gray-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 14:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-d-5269-sealed-lead-acid-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10a24h-metric-a-plate-58-pitch-15mm-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-oxford-shoes-steel-toe-14d-black>: HTTP status code is not handled or not allowed 2026-01-28 14:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-twine-1-ply-325-lb-3500>: HTTP status code is not handled or not allowed 2026-01-28 14:09:26 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 14:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-d5-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-14m-black>: HTTP status code is not handled or not allowed 2026-01-28 14:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/napco-gema1016e-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb3315-nanoflex-tr-athletic-work-shoes-composite-toe-size-9w-black>: HTTP status code is not handled or not allowed 2026-01-28 14:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledslc12bz-618-led-security-light-jar-12w-4000-cct-1000-lumens-82-cri-bronze>: HTTP status code is not handled or not allowed 2026-01-28 14:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50sds30h-qd-bushed-58-pitch-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs18hx35-metric-58-pitch-35mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-11-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 14:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/980-electric-hydraulic-pump-with-pendant>: HTTP status code is not handled or not allowed 2026-01-28 14:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs25hx24-metric-12-pitch-24mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4036-conveyor-sheave-36>: HTTP status code is not handled or not allowed 2026-01-28 14:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs22hx38-metric-12-pitch-38mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100sds12h-qd-bushed-1-14-pitch-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-7w-black>: HTTP status code is not handled or not allowed 2026-01-28 14:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p320-junior-wheelchair-replacement-battery-18ah-12v-nb-ajc>: HTTP status code is not handled or not allowed 2026-01-28 14:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bruno-34-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-15w-army-green-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25a18hx14-a-plate-14-pitch-14-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-12m-army-green-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-14m-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 14:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-loop-with-acrylic-adhesive-3-4-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 14:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-mid-cut-shoes-composite-toe-size-6w-black>: HTTP status code is not handled or not allowed 2026-01-28 14:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-hook-with-acrylic-adhesive-4-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 14:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs31x118-34-pitch-1-18-finished-bore-31-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25a19hx14-a-plate-14-pitch-14-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-10-5m-silver-gray-clay-black>: HTTP status code is not handled or not allowed 2026-01-28 14:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25b13hx14mpb-14-pitch-14-plain-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 14:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 111907 pages (at 94 pages/min), scraped 55358 items (at 32 items/min) 2026-01-28 14:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/91811-lid-airtight-silicone-19-size-transparent>: HTTP status code is not handled or not allowed 2026-01-28 14:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elan-1660-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-work-station-with-foldable-keyboard-tray>: HTTP status code is not handled or not allowed 2026-01-28 14:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-for-24-dia-concrete-columns-44w-x-42h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hahn-11-76-lawn-and-garden-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:09:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elan-el7-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-quest-opt-500cc-atv-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 14:10:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/winch-strap-423021-with-flat-hook-30-x-4-gold>: HTTP status code is not handled or not allowed 2026-01-28 14:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-rubber-tarp-tie-2221nr-21-50-pieces-per-box>: HTTP status code is not handled or not allowed 2026-01-28 14:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-u-handle-524l-102-dia-black-14-20-tapped-thread>: HTTP status code is not handled or not allowed 2026-01-28 14:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-lbc-l-bk-drawer-wlock-16w-x-14d-x-3h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gs-gtx7l-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:10:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_shoes landed on page that is not a product page. 2026-01-28 14:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-8w-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-valve-actuator-mp953c1026-411-psi-spring-range-25-psi-max-5-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:10:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats landed on page that is not a product page. 2026-01-28 14:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfortie-casual-work-shoes-steel-toe-size-7-5w-black-white>: HTTP status code is not handled or not allowed 2026-01-28 14:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm-dc-motor-wpmdc1-36-12v-56cb-tenv-tefc-56c-12v-1-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht60-18-364t-f2-gp-tefc-rigid-3-ph-f2-364t-705-fla>: HTTP status code is not handled or not allowed 2026-01-28 14:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb4500-work-high-top-work-sneaker-composite-toe-size-9w-black-holographic-spectrum>: HTTP status code is not handled or not allowed 2026-01-28 14:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-slide-base-w364t>: HTTP status code is not handled or not allowed 2026-01-28 14:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-source-wpz7s-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:10:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daystart-slip-on-work-shoes-steel-toe-size-5-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 14:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usb-2-0-hi-speed-to-ethernet-nic-network-adapter-10-100-mbps>: HTTP status code is not handled or not allowed 2026-01-28 14:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-well-pump-motor-wo10-12-256t-tefc-rigid-3-ph-256t-230-460-796v-10-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-flange-kit-pew400tc-prem-eff-404t-405t-4-6-8-pole>: HTTP status code is not handled or not allowed 2026-01-28 14:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthflex-privacy-screen-5-panel-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 14:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hcf-pacelite-707-electric-scooter-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht200-18-445-7t-gp-tefc-rigid-3-ph-445-7t-230-fla-rb>: HTTP status code is not handled or not allowed 2026-01-28 14:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthflex-privacy-screen-5-panel-vinyl-ice>: HTTP status code is not handled or not allowed 2026-01-28 14:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm-dc-motor-wpmdc12-18-24v-56cb-tenv-tefc-56c-24v-1-2-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:10:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-carton-sealing-tape-3-x-55-yds-blue-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 14:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors>: HTTP status code is not handled or not allowed 2026-01-28 14:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9016x34630-kick-plate-364x34x16-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht100-18-405t-f2-gp-tefc-rigid-3-ph-f2-405t-115-fla-rb>: HTTP status code is not handled or not allowed 2026-01-28 14:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-f8-efi-800cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 14:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-550-lx-544cc-snowmobile-replacement-battery-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-wire-security-partition-slide-door-8w-x-8h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht125-12-445tc-gp-tefc-rigid-c-3-ph-445tc-138-fla>: HTTP status code is not handled or not allowed 2026-01-28 14:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/170-industrial-carton-sealing-tape-3-x-110-yds-tan-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 14:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht10-18-215t-gp-tefc-rigid-3-ph-215t-128-fla>: HTTP status code is not handled or not allowed 2026-01-28 14:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-wire-security-partition-slide-door-10w-x-10h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/three_phase_motors>: HTTP status code is not handled or not allowed 2026-01-28 14:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-16-ga-steel-foot-guards-steel-toe-clip-rubber-strap-5-12w-large-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-zr-800-cc-785cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 14:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-metal-foot-guards-rubber-toe-clip-leather-strap-6w-extra-large-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-formula-stx-lt-581cc-snowmobile-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 14:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-shin-guards-wside-shield-steel-toe-clip-leather-strap-5w-standard-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/water-tank-cap-for-mr-50-steam-vacuum-261577>: HTTP status code is not handled or not allowed 2026-01-28 14:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-red-plastic-tilt-truck-1-cubic-yard-1250-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunkin-decaf-coffee-medium-ground-k-cup-pods-037-oz-capacity-pack-of-22>: HTTP status code is not handled or not allowed 2026-01-28 14:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kontron-kaat-ii-plus-medical-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunkin-milk-chocolate-hot-cocoa-coffee-regular-light-ground-k-cup-pods-037-oz-capacity-pack-of-22>: HTTP status code is not handled or not allowed 2026-01-28 14:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-xl-self-retracting-lifeline-w-steel-carabiner-rebar-lock-hook-9l>: HTTP status code is not handled or not allowed 2026-01-28 14:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenline-636-hand-truck-w-dual-handle-pe-pneumatic-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aed-cabinet-surface-mount-85-db-siren-strobe-alarm-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nihon-kohden-ks-636-medical-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calculating-time-clock-gray-mjr-7000-1167>: HTTP status code is not handled or not allowed 2026-01-28 14:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenline-626d-hand-truck-w-single-loop-handle-mold-on-rubber-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elk-12120-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parks-medical-52-mini-lab-medical-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-commercial-grade-60a-rubber-sheet-3-16-thick-x-3-x-12-length-black>: HTTP status code is not handled or not allowed 2026-01-28 14:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-tech-elevated-deck-stainless-steel-bulk-truck-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112004 pages (at 97 pages/min), scraped 55392 items (at 34 items/min) 2026-01-28 14:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-240-volt-200-amp-fused-indoor-outdoor-smart-switch-transfer-switch>: HTTP status code is not handled or not allowed 2026-01-28 14:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-240-nema-3r-400-amps-smart-switch-service-rated>: HTTP status code is not handled or not allowed 2026-01-28 14:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built-ii153-2-tier-2-doors-locker-12w-x-18d-x-84h-black-assembled>: HTTP status code is not handled or not allowed 2026-01-28 14:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb-hrl9-12-sealed-lead-acid-replacement-battery-9ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orange-post-safety-barrier-11-ft-orange-belt-w-roller-base>: HTTP status code is not handled or not allowed 2026-01-28 14:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-ft-50-amp-generator-cord-with-nema-14-50-male-and-locking-female>: HTTP status code is not handled or not allowed 2026-01-28 14:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built-ii-2-tier-2-doors-locker-12w-x-12d-x-82h-light-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 14:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built-ii-2-tier-2-doors-locker-12w-x-15d-x-83h-light-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 14:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built153-2-tier-6-doors-locker-36w-x-12d-x-78h-light-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 14:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-waterfall-deck-shelving-5-shelves-48w-x-18d-x-84h-midnight-ebony>: HTTP status code is not handled or not allowed 2026-01-28 14:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-post-safety-barrier-15-ft-fluorescent-yellow-belt-w-roller-base>: HTTP status code is not handled or not allowed 2026-01-28 14:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-level-drum-alarm-polypropylene-threaded-plug-5-working-depth-w-feed-pipe-1>: HTTP status code is not handled or not allowed 2026-01-28 14:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-metal-shelving-8-shelves-500-lb-cap-36w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vent-cap-male-thread-15-1>: HTTP status code is not handled or not allowed 2026-01-28 14:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-waterfall-deck-shelving-5-shelves-72w-x-36d-x-84h-midnight-ebony>: HTTP status code is not handled or not allowed 2026-01-28 14:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-eye-level-digital-scale-w-digital-height-rod-automatic-bmi>: HTTP status code is not handled or not allowed 2026-01-28 14:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-metal-shelving-6-shelves-400-lb-cap-48w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powered-drum-truck-f89484-standard-chime-hook-12-wheels>: HTTP status code is not handled or not allowed 2026-01-28 14:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-end-panel-for-locker-18w-x-18d-x-72h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-slope-top-for-locker-12w-x-15d-x-5h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kydz-building-table-lego-compatible-without-tubs>: HTTP status code is not handled or not allowed 2026-01-28 14:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jasco-rb4100-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm50-151-56c-aluminum-worm-gear-reducer-50mm-151-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mk-es17-12s-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-heavy-duty-double-entry-work-platform-24w-steps-dep5-2472>: HTTP status code is not handled or not allowed 2026-01-28 14:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm90-opf-output-flange-for-calm-series-90mm-aluminum-worm-gear-reducer>: HTTP status code is not handled or not allowed 2026-01-28 14:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jerry-can-w-spout-adapter-blue-10-liter-3023>: HTTP status code is not handled or not allowed 2026-01-28 14:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-flo-pup62-portable-utility-pump>: HTTP status code is not handled or not allowed 2026-01-28 14:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-12-serrated-seal-direct-heat-sealer-foot-operated>: HTTP status code is not handled or not allowed 2026-01-28 14:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zeus-pc7-12f2-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-transformer-tray-09603-48-x-48-56-gallon-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 14:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-in-x-12-in-aluminum-door-louver>: HTTP status code is not handled or not allowed 2026-01-28 14:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mt-dt-751400-7-5-x-14-dump-truck-tarp-industrial-grade>: HTTP status code is not handled or not allowed 2026-01-28 14:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mt-dt-751600-7-5-x-16-dump-truck-tarp-industrial-grade>: HTTP status code is not handled or not allowed 2026-01-28 14:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-e-track-tie-down-strap-4400-lb-capacity-2-x-12>: HTTP status code is not handled or not allowed 2026-01-28 14:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shockstrap-tie-downs-ratchet-strap-6000-lb-capacity-9l-x-2w-black>: HTTP status code is not handled or not allowed 2026-01-28 14:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-stand-alone-shelving-5-shelves-375-lb-cap-48w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-in-aluminum-flanged-motorized-damper>: HTTP status code is not handled or not allowed 2026-01-28 14:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-in-x-18-in-steel-door-louver>: HTTP status code is not handled or not allowed 2026-01-28 14:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-stand-alone-shelving-5-shelves-500-lb-cap-36w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-hook-loop-cam-tie-down-strap-1500-lb-capacity-1-x-4-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 14:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-stand-alone-shelving-6-shelves-500-lb-cap-36w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-stand-alone-shelving-5-shelves-500-lb-cap-48w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/national-nb4-10-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-strap-slip-on-hook-adapter>: HTTP status code is not handled or not allowed 2026-01-28 14:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-sonic-ps-12350-ps12350-12v-35ah-emergency-light>: HTTP status code is not handled or not allowed 2026-01-28 14:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firstpower-fp665-sealed-lead-acid-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-reel-electricians-cart-24x48-2-drawers-RC-2448-5PYTL2DR>: HTTP status code is not handled or not allowed 2026-01-28 14:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bg-series-gear-adjustable-magazine-rack-plastic-1258w-14d-22316h>: HTTP status code is not handled or not allowed 2026-01-28 14:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiamm-12fghl48-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-manual-chain-hoist-14-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 14:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exair-soft-grip-safety-air-gun-wadjustbale-super-air-nozzle-and-chip-shield-14-fnpt-ss-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 14:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-black-malleable-90-degree-elbow-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 14:11:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/galvanized_malleable_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al642ul2ada-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-in-3-in-galvanized-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 14:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-2-1-2-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 14:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n247236-5-equipment-stands-5-shelf-shelving-unit-24w-x-72h-x-36l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 14:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-in-3-1-2-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 14:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-3-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 14:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest---jennings-3p-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-close-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 14:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-security-pc4050c-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-305-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws1236-wall-mount-shelf-12w-x-12h-x-36l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 14:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-brackets-for-universal-pictogram-signs-showers-wo-insulation-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 14:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n243030-2-shelving-unit-2-shelf-24w-x-30h-x-30l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 14:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112098 pages (at 94 pages/min), scraped 55420 items (at 28 items/min) 2026-01-28 14:11:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/galvanized_malleable_pipe_fittings landed on page that is not a product page. 2026-01-28 14:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paris-medical-security-paper-tamper-resistant-advance-watermarked-11l-x-850w-500-pk-bl>: HTTP status code is not handled or not allowed 2026-01-28 14:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/98724c-evaporator-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-knee-elbow-bandages-water-proof-latex-free-4l-x-113w-8-pk-foam-beige>: HTTP status code is not handled or not allowed 2026-01-28 14:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/submersible-utility-pump-fs750-115v-80-gpm-at-5>: HTTP status code is not handled or not allowed 2026-01-28 14:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/submersible-effluent-pump-ws50m20-115v-105-gpm-at-5>: HTTP status code is not handled or not allowed 2026-01-28 14:11:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/black_malleable_pipe_fittings already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carboy-w-stopcock-autoclavable-pp-10-liter-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 14:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shepard-meyra-967-wheelchair-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditions-7-piece-outdoor-dining-set>: HTTP status code is not handled or not allowed 2026-01-28 14:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-wide-mouth-hdpe-125ml-capacity-clear-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 14:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-wide-mouth-pp-500ml-capacity-clear-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 14:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laboratory-drench-shower-ceiling-mount-stainless-steel-pipe-20-gpm>: HTTP status code is not handled or not allowed 2026-01-28 14:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desiccator-vacuum-white-base-polypropylenepolycarbonate-12-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31308-tapered-roller-bearing-metric-40mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-xterra-g-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-pipette-stand-plastic-12-places-blue-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-cords-heavy-duty-13-32-inch-x-40-inch-10-pack-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_fittings/pipe_clamps_fittings/black_malleable_pipe_fittings>: HTTP status code is not handled or not allowed 2026-01-28 14:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hsm14584-classic-2252hs-high-security-cross-cut-shredder-with-auto-oiler-white>: HTTP status code is not handled or not allowed 2026-01-28 14:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-9-column-opening-lime-w-round-insert-436758>: HTTP status code is not handled or not allowed 2026-01-28 14:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62142rs-deep-groove-ball-bearing-double-sealed-70mm-bore-125mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reagent-bottle-narrow-mouth-pp-125ml-capacity-clear-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 14:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/production-booster-463t72gy-72w-x-36h-3-shelves-office-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/production-booster-452t72bk-72w-x-24h-2-shelves-black>: HTTP status code is not handled or not allowed 2026-01-28 14:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60202rs-deep-groove-ball-bearing-double-sealed-100mm-bore-150mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-bolted-pallet-rack-starter-108w-x-42d-x-144h>: HTTP status code is not handled or not allowed 2026-01-28 14:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/production-booster-454t60bk-60w-x-14h-1-shelf-black>: HTTP status code is not handled or not allowed 2026-01-28 14:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pacesaver-scout-rf-425-wheelchair-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-vibrator-s-25-ball-anodized-aluminum-body>: HTTP status code is not handled or not allowed 2026-01-28 14:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-piston-vibrator-f-85-cast-iron-body>: HTTP status code is not handled or not allowed 2026-01-28 14:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63152rs-deep-groove-ball-bearing-double-sealed-75mm-bore-160mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6206-deep-groove-ball-bearing-open-30mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-1a-aluminum-step-ladder-10-ft-dxl201010>: HTTP status code is not handled or not allowed 2026-01-28 14:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62012rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-12mm-bore-32mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-54l-x-21w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6005zznr-deep-groove-ball-bearing-double-shielded-snap-ring-25mm-bore-47mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanical-pencil-nonrefillable-07mm-clear-barrel-dozen>: HTTP status code is not handled or not allowed 2026-01-28 14:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-24l-x-18w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brite-liner-highlighter-with-pocket-clip-chisel-tip-green-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 14:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-24l-x-24w-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440196933-cloth-belt-341d-2w-x-60l-p120-grit>: HTTP status code is not handled or not allowed 2026-01-28 14:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-54l-x-21w-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-54l-x-18w-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/john-deere-756-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelhorse-420-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zebra-m301-mechanical-pencil-leaderaser-refillable-05mm-blacksilver>: HTTP status code is not handled or not allowed 2026-01-28 14:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolens-stg125-lawn-and-garden-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-60l-x-18w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/columbia-mtd-760-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-5-drawer-service-cart-locking-top-black>: HTTP status code is not handled or not allowed 2026-01-28 14:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/service-cart-locking-top-and-locking-drawer-black>: HTTP status code is not handled or not allowed 2026-01-28 14:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplicity-5212-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplicity-6008-lawn-and-garden-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/medical_supply_carts/procedure_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-lse182-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uniball-signo-207-gel-pen-refill-07mm-blue-ink-2pack>: HTTP status code is not handled or not allowed 2026-01-28 14:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60060002155-266x-8-1-2w-x-11l-m3-grit>: HTTP status code is not handled or not allowed 2026-01-28 14:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9682101-bench-grinder-wwheel-guards-dust-collection-ports-10-wheel-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energel-retractable-pen-refill-07mm-black-ink>: HTTP status code is not handled or not allowed 2026-01-28 14:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-2v-1504-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8564-210-flex-shaft-grinder-series-1-universal>: HTTP status code is not handled or not allowed 2026-01-28 14:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-45-series-1-34-x-1-34-four-t-slotted-extrusion-profile-238-316l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 14:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energel-liquid-gel-refill-07mm-needle-tip-black-ink>: HTTP status code is not handled or not allowed 2026-01-28 14:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toro-titan-mx5480-lawn-and-garden-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bl1850-2-18v-lxt-lithium-ion-battery-50-ah-2pk>: HTTP status code is not handled or not allowed 2026-01-28 14:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/medical_supply_carts/procedure_carts>: HTTP status code is not handled or not allowed 2026-01-28 14:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lopro-wireless-solar-powered-truckcab-led-light-amber-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 14:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pen-style-permanent-marker-fine-point-assorted-ink-12set>: HTTP status code is not handled or not allowed 2026-01-28 14:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jimnie-gel-rollerball-pen-medium-07mm-black-ink-20pack-4-bonus-pens>: HTTP status code is not handled or not allowed 2026-01-28 14:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ton-single-acting-cylinder-h0203-3-stroke>: HTTP status code is not handled or not allowed 2026-01-28 14:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-xr3-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sd-t60-air-sample-tube-60>: HTTP status code is not handled or not allowed 2026-01-28 14:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sumostance-extension-ladder-w-hyperlite-cable-hooks-claw-v-bar-24-type-iaa>: HTTP status code is not handled or not allowed 2026-01-28 14:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/egc-hdvmh-multi-high-cdhorn-strobe-95-177cd-ceiling-mount-white>: HTTP status code is not handled or not allowed 2026-01-28 14:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112197 pages (at 99 pages/min), scraped 55445 items (at 25 items/min) 2026-01-28 14:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-ess-i-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperlite-extension-ladder-w-cable-hooks-claw-v-bar-16-type-iaa-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/johnlite-2920-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-hi-density-rounded-foam-mini-roller-cover-10-pack-6-case-4foamq-10>: HTTP status code is not handled or not allowed 2026-01-28 14:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/overhaul-articulated-extendable-ladder-aluminum-4-type-iaa-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-4c2-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-center-bc645-6v-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kordcarry-strap-k175-150l-cord-163-cord-capacity-30pk>: HTTP status code is not handled or not allowed 2026-01-28 14:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-reflector-light-with-porcelain-socket-sl302b3-silver-3pk>: HTTP status code is not handled or not allowed 2026-01-28 14:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-srg-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-sla1212-12v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-e11-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/king-kombo-professional-combination-ladder-4-type-iaa-3-step-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-swinging-doors-pair-48-inch-w-x-36-inch-h-marine-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-finished-end-panel-18-inch-d-x-87-inch-h-champagne>: HTTP status code is not handled or not allowed 2026-01-28 14:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-strip-curtain-roll-standard-grade-smooth-116-thickness-24w-x-60h-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-elm10-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unikor-vt1207-12v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pe15-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-bulk-storage-rack-galvanized-metal-shelf-12-inch-l-x-48-inch-w>: HTTP status code is not handled or not allowed 2026-01-28 14:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-bulk-storage-rack-upright-96-inch-h-x-48-inch-d-8-489-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laboratory-safety-spill-kit-35-gallons-3500-035>: HTTP status code is not handled or not allowed 2026-01-28 14:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kung-long-wp46c-6v-45ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-electric-air-compressor-75-hp-80-gal-cap-3-phase-230v-660-lb-wt>: HTTP status code is not handled or not allowed 2026-01-28 14:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maintenance-pro153-9-drawer-roller-cabinet-53-12w-x-25d-x-41h-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astral-square-umbrella-w-centerpost-196w-x-196d-x-114h-mediterranean-blue-tweed>: HTTP status code is not handled or not allowed 2026-01-28 14:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-lever-privacy-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 14:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-cylindrical-lockset-lever-storeroom-brushed-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qt-max-two-stage-air-compressor-vertical-5-hp-80-gallon-capacity-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-rack-placard-label-holder-4-x-100-ft-rollred-797067>: HTTP status code is not handled or not allowed 2026-01-28 14:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/151597-112-x-112-tslotted-profile-97-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 14:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-channel-class-c-10l-white>: HTTP status code is not handled or not allowed 2026-01-28 14:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-panel-class-a-4w-x-12h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tabloid-heavy-duty-view-binder-slant-ring-1-1-2inch-capacity-11-x-17-white>: HTTP status code is not handled or not allowed 2026-01-28 14:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/102097-1-x-2-tslotted-profile-97-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 14:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-double-door-panel-class-c-4w-x-8h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-2sc6g20-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12361-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technacell-zgid-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm010l-l-fg-10-ner-food-grade-hoist-with-motorized-trolley-1-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:13:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/medical_supply_carts/medical_storage_carts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-jacket-collared-knit-cuff-light-blue-x-large>: HTTP status code is not handled or not allowed 2026-01-28 14:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12-255-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-maroon-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-light-blue-x-small>: HTTP status code is not handled or not allowed 2026-01-28 14:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600-watt-pure-sine-power-inverter-with-cables-pwri60012s>: HTTP status code is not handled or not allowed 2026-01-28 14:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3793-double-end-fastener>: HTTP status code is not handled or not allowed 2026-01-28 14:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2561-45-degree-support-12l>: HTTP status code is not handled or not allowed 2026-01-28 14:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2602-acrylic-panel-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-pin-punch-set-steel-4l-116-516-punch-dia-redsilver>: HTTP status code is not handled or not allowed 2026-01-28 14:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-elm-6v-45ah-alarm-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/special_purpose_carts_trucks/medical_supply_carts/medical_storage_carts>: HTTP status code is not handled or not allowed 2026-01-28 14:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-caddx-networx-nx-8e-12v-75ah-alarm-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dhl-pickupdhl-no-pickup-sign-double-sided-plastic-10-x-14-yellowred>: HTTP status code is not handled or not allowed 2026-01-28 14:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2334-deluxe-flange-mount-caster-swivel-wbrake>: HTTP status code is not handled or not allowed 2026-01-28 14:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/this-is-a-non-smoking-vehicle-safety-sign-adhesive-vinyl-3-x-7-whitered-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 14:13:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/calipers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp003hd-10-ner-electric-hoist-push-trolley-14-ton-10-lift-539-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 14:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-120699-emergency-light-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 14:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-all-models-250cc-atv-replacement-battery-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6104-ball-end-hex-driver-6mm>: HTTP status code is not handled or not allowed 2026-01-28 14:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-rx-50-50cc-motorcycle-replacement-battery-1968-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-back-in-or-pull-out-on-green-light-only-sign-aluminum-24-x-12-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 14:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner010sd-15-ner-dual-speed-electric-chain-hoist-1-ton-15-lift-2845-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm030c-l-20-ner-electric-hoist-motor-trolley-3-ton-20-lift-17-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 14:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cr3-edge-personal-srl-single-leg-galvanized-cable-aluminium-snap-hook-8l>: HTTP status code is not handled or not allowed 2026-01-28 14:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/measurement_layout_tools/calipers>: HTTP status code is not handled or not allowed 2026-01-28 14:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ducati-gtl-350cc-motorcycle-replacement-battery-1974-1977-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 14:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9800-system-340-voc-dtm-urethane-mastic-alumi-non-9815419>: HTTP status code is not handled or not allowed 2026-01-28 14:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112294 pages (at 97 pages/min), scraped 55476 items (at 31 items/min) 2026-01-28 14:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9800-system-340-voc-dtm-urethane-mastic-safety-blue-9825419>: HTTP status code is not handled or not allowed 2026-01-28 14:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm005l-l-10-ner-electric-hoist-motor-trolley-12-ton-10-lift-15-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm025s-l-10-ner-electric-hoist-motor-trolley-2-12-ton-10-lift-22-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolphin-scooter-ride-on-toys-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sner010s-20-sner-electric-hoist-hook-suspension-1-ton-20-lift-14-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/option-roll-poly-drum-on-enhanced-456-series-includes-extra-wheels-end-stop>: HTTP status code is not handled or not allowed 2026-01-28 14:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp010l-fg-10-ner-food-grade-hoist-with-push-trolley-1-ton-capacity-208v>: HTTP status code is not handled or not allowed 2026-01-28 14:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-mobile-instrument-table-20-x-20-undershelf-304-grade>: HTTP status code is not handled or not allowed 2026-01-28 14:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snerm005l-l-10-sner-electric-hoist-motor-trolley-12-ton-10-lift-7-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gt-tsunami-electric-scooter-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-10-foam-wheel-global-industrial-153-portable-power-station-812541>: HTTP status code is not handled or not allowed 2026-01-28 14:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60090002100-roll-211k-2w-x-50-yd-180>: HTTP status code is not handled or not allowed 2026-01-28 14:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-channel-variable-pipettor-71211108-10-100ul-volume-range>: HTTP status code is not handled or not allowed 2026-01-28 14:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-tek-polykor-seamless-knit-blended-cr-gloves-silicone-coated-ansi-a7-xl-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaker-fixing-clip-18900030-50ml-for-round-flasks-use-w-sk-o180-sk-o331>: HTTP status code is not handled or not allowed 2026-01-28 14:14:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cover-rc-rb50-for-round-base-magnetic-cups-rb50-204-dia-315-hole>: HTTP status code is not handled or not allowed 2026-01-28 14:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kbp-pic-a-watt-unit-heater-4-kw-277v-1-phase>: HTTP status code is not handled or not allowed 2026-01-28 14:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-channel-variable-pipettor-71211114-100-1000ul-volume-range>: HTTP status code is not handled or not allowed 2026-01-28 14:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-laboratory-upgrade-kit-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/07684-round-6-magnetic-parts-tray>: HTTP status code is not handled or not allowed 2026-01-28 14:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispensmate-plus-bottletop-dispensers-73110002-45mm-thread-1-10ml>: HTTP status code is not handled or not allowed 2026-01-28 14:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lance-pch-125-125cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-safety-knee-boots-steel-toe-size-7-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:14:22 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs landed on page that is not a product page. 2026-01-28 14:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-paper-8-1-2-inch-x-11-inch-20-lb-white-5000-sheets-carton>: HTTP status code is not handled or not allowed 2026-01-28 14:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-tape-individual-dots-with-adhesive-34l-x-34w-white-pack-of-1028>: HTTP status code is not handled or not allowed 2026-01-28 14:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-slatwall-panel-maple-veneer-without-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 14:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-safety-knee-boots-steel-toe-size-6-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 14:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600a-food-wrapping-machine-115v-26l-x-2212w-x-9h>: HTTP status code is not handled or not allowed 2026-01-28 14:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80b-beater-paddle-for-m802-l800-l800d-80-qt-mixer>: HTTP status code is not handled or not allowed 2026-01-28 14:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodpro-purofort-multi-grip-safety-boots-cleated-outsole-steel-toe-size-15-15h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-xcp-knee-boots-chevron-outsole-steel-toe-size-14-16h-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-pedestal-table-with-crisp-linen-top-round-black-base-bistro-height>: HTTP status code is not handled or not allowed 2026-01-28 14:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermal-register-cash-roll-3-inch-x-225-ft-white-24-rolls-carton>: HTTP status code is not handled or not allowed 2026-01-28 14:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Extra-Wide-Bed-Sensor-Pad-20-x-30-45-Day-10130>: HTTP status code is not handled or not allowed 2026-01-28 14:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guldmann-lifting-platform-lp5-stairlift-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/allied-healthcare-products-138-schuco-vac-portable-dc-aspirator-medical-battery-7ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cotton-tip-applicator-3-in-10-bag>: HTTP status code is not handled or not allowed 2026-01-28 14:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-customizable-print-on-divider-85x11-5-tabs-5-sets-white-white>: HTTP status code is not handled or not allowed 2026-01-28 14:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/para-systems-ub12180-40648-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-essentials-economy-insertable-tab-divider-85x11-5-tabs-buff-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-shelf-bin-11w-x-14d-x-7h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-shelf-bin-6w-x-18d-x-7h-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worksaver-insertable-divider-value-pack-print-on-5-tabs-24-sets-buff>: HTTP status code is not handled or not allowed 2026-01-28 14:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-chair-with-reverse-braking-casters-polyurethane-black>: HTTP status code is not handled or not allowed 2026-01-28 14:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medi-man-rehab-products-patient-lift-5000-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-magnet-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airborne-life-support-systems-infant-transport-incubator-20h-medical-battery-26ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sack-o-phones-10-personal-headsets-foam-ear-cushions-in-a-carry-bag-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-entry-changing-station-19-7-8w-x-7-1-4d-x-18-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 14:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-swivel-connector-all-units-jk-sc>: HTTP status code is not handled or not allowed 2026-01-28 14:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-4vs-1-mill3-axis-newall-dp700-dro-powerfeeds-power-draw-bar>: HTTP status code is not handled or not allowed 2026-01-28 14:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1050-millacu-rite-200s-dropowerfeeds-power-draw-bar>: HTTP status code is not handled or not allowed 2026-01-28 14:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womans-insulated-softshell-jacket-regular-black-small>: HTTP status code is not handled or not allowed 2026-01-28 14:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p320-junior-power-chair-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/950-divi-padded-divider-for-950-case>: HTTP status code is not handled or not allowed 2026-01-28 14:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-hanger-w-hex-nut-and-bolt-stainless-steel-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-nestable-shelf-bin-8-3-8w-x-17-7-8d-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 14:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-super-size-8-1-4w-x-23-7-8d-x-7h>: HTTP status code is not handled or not allowed 2026-01-28 14:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-rung-short-body-ladder-jack-ac10-14-02>: HTTP status code is not handled or not allowed 2026-01-28 14:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-liquid-tight-connector-alloy-steel-1-12-size-5-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-person-stage-28-inch-w-x-12-ft-l-2712>: HTTP status code is not handled or not allowed 2026-01-28 14:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112388 pages (at 94 pages/min), scraped 55508 items (at 32 items/min) 2026-01-28 14:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-ft-type-1aa-fiberglass-manhole-ladder-m7112-1>: HTTP status code is not handled or not allowed 2026-01-28 14:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-cargo-pocket-work-pants-plc2-navy-9-oz-size-52-x-36u>: HTTP status code is not handled or not allowed 2026-01-28 14:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-nipple-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lr-threaded-conduit-body-w-cover-and-gasket-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conical-plastic-anchor-4-6-and-8-sizes-red-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conical-plastic-anchor-12-14-and-16-sizes-green-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuflex-spartus-recycled-rubber-tile-rpsplr913-interlock-27l-x-27w-x-38-thickness-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 14:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nonvulcanized-recycled-rubber-tile-110npocr-square-12l-x-12w-x-38-thickness-crimson>: HTTP status code is not handled or not allowed 2026-01-28 14:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chauffeur-mobility-viva-power-645-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-ultra-sc40u-sc44u-wheelchair-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-cargo-pocket-work-pants-plc2-navy-9-oz-size-40-x-36u>: HTTP status code is not handled or not allowed 2026-01-28 14:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-no-thread-connector-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insect-control-air-curtain-36-inch-w-door-120v-3-4hp-1-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-air-curtain-96-inch-w-door-480v-electric-3-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dwa-dck296m2-20v-max-xr-li-ion-brushless-premium-hammer-drill-impact-driver-combo-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dwa-dcg412p2-20v-max-cordless-lithium-ion-angle-grinder-kit-50-ah>: HTTP status code is not handled or not allowed 2026-01-28 14:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/customer-entry-air-curtain-72-inch-w-door-208v-electric-3-ph-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swireaw15120-replacement-emitter-for-15kw-120v-saw-xl-series-scombi-hos>: HTTP status code is not handled or not allowed 2026-01-28 14:15:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=dwa-dcs380p1-20v-max-lithium-ion-reciprocating-saw-kit-50-ah already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-9k-98-98-22-us-5-pc-pliers-screwdriver-insulated-tool-set-1000v>: HTTP status code is not handled or not allowed 2026-01-28 14:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conical-anchor-kit-w-square-pan-head-screw-8-size-201-pieces>: HTTP status code is not handled or not allowed 2026-01-28 14:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-on-strap-carbon-steel-14-gauge-26-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-bnh007tuglp4-universal-ground-single-35mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-precision-bearing-7008cydup4-universal-ground-duplex-40mm-bore-68mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-rope-polypropylene-316-x-600-size>: HTTP status code is not handled or not allowed 2026-01-28 14:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zipr-mobility-zipr3-3-wheel-leisure-travel-scooter-wheelchair-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-grip-anchor-kit-w-combo-pan-head-screw-8-size-201-pieces>: HTTP status code is not handled or not allowed 2026-01-28 14:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5502-moisture-wicking-short-sleeve-safety-tshirt-with-chest-pocket-orange-large>: HTTP status code is not handled or not allowed 2026-01-28 14:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5502-moisture-wicking-short-sleeve-safety-tshirt-with-chest-pocket-orange-medium>: HTTP status code is not handled or not allowed 2026-01-28 14:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelchairs-of-kansas-prairie-cruiser-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7001-class-3-pullover-fleece-sweatshirt-with-black-bottom-lime-medium>: HTTP status code is not handled or not allowed 2026-01-28 14:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=dwa-dcs380p1-20v-max-lithium-ion-reciprocating-saw-kit-50-ah>: HTTP status code is not handled or not allowed 2026-01-28 14:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-mount-2-threaded-studs-200-inch-dia-75-inch-h-3-8-16-thread>: HTTP status code is not handled or not allowed 2026-01-28 14:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-on-strap-carbon-steel-14-gauge-18-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-mount-2-threaded-studs-100-inch-dia-50-inch-h-1-4-20-thread>: HTTP status code is not handled or not allowed 2026-01-28 14:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2005-standard-class-3-two-tone-mesh-zipper-safety-vest-lime-xl>: HTTP status code is not handled or not allowed 2026-01-28 14:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightalarms-ce15aa-save-leads-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-quest-500-4x4-xt-500cc-atv-replacement-battery-2002-2004-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-10-32-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-6-step-steel-roll-ladder-14-d-top-hndrl-lck-orange-063014go>: HTTP status code is not handled or not allowed 2026-01-28 14:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-square-pan-head-carbon-steel-12-x-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perf-24-w-7-step-steel-roll-ladder-14-d-top-stp-hndrl-orange-fsh726po>: HTTP status code is not handled or not allowed 2026-01-28 14:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-in-knockout-seal-carbon-steel-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallpro-300-black-wall-mount-retracting-barrier-10-yellowblack-out-of-service-belt>: HTTP status code is not handled or not allowed 2026-01-28 14:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lighting-lightning-tl930110-emergency-light-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-grade-5-carbon-steel-14-20-x-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallpro-450-yellow-wall-mount-retracting-barrier-30-yellowblack-authorized-access-only-belt>: HTTP status code is not handled or not allowed 2026-01-28 14:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-combo-pan-head-carbon-steel-14-x-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-silencer-5500b90012-npt-female-thread>: HTTP status code is not handled or not allowed 2026-01-28 14:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-outlander-max-400-efi-xt-400cc-atv-replacement-battery-2011-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-john-deere-utililty-tractor-iged1064-ride-on-toys-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inventory-cone-grey-3-sided-with-dry-erase-decal>: HTTP status code is not handled or not allowed 2026-01-28 14:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-trident-bellman-cart-3599bk-080-gry-stainless-gray-carpet-black-bumper-8-semi-pneumatic>: HTTP status code is not handled or not allowed 2026-01-28 14:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-combo-pan-head-carbon-steel-8-x-34-size-tuff-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-stapler-20-sheet-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 14:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-square-carbon-steel-8-x-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/binder-clips-medium-1-1-4-width-5-8-capacity-black-silver-12-box>: HTTP status code is not handled or not allowed 2026-01-28 14:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs175101r-cast-iron-right-angle-worm-gear-reducer-101-ratio>: HTTP status code is not handled or not allowed 2026-01-28 14:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs13351r-cast-iron-right-angle-worm-gear-reducer-51-ratio>: HTTP status code is not handled or not allowed 2026-01-28 14:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-phillips-brass-10-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-case-ih-lil-tractor-trailer-iged1112-ride-on-toys-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flags-value-pack-1-2-wide-assorted-colors-280-flags-pack-free-48-arrow-flags>: HTTP status code is not handled or not allowed 2026-01-28 14:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-gaucho-rockin-igod0024-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hello-my-name-is-name-badge-labels-2-11-32-x-3-3-8-blue-100-labels-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/employees-personnel-record-jacket-9-1-2-x-11-3-4-manila-100-jackets-box>: HTTP status code is not handled or not allowed 2026-01-28 14:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-no-1-non-skid-paper-clips-silver-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanger-bolt-38-x-3-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-heavy-duty-staples-1-4-leg-length-100-per-strip-5000-box>: HTTP status code is not handled or not allowed 2026-01-28 14:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-prong-fasteners-2-sheet-capacity-2-3-4l-base-50-box>: HTTP status code is not handled or not allowed 2026-01-28 14:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-paper-clips-silver-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-phillips-carbon-steel-8-x-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112485 pages (at 97 pages/min), scraped 55535 items (at 27 items/min) 2026-01-28 14:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flags-1-wide-yellow-50-flags-dispenser-2-dispensers-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-touring-flt-series-1340cc-motorcycle-battery-1980-1996-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-lag-screw-carbon-steel-38-x-4-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/web-sling-lifting-kit-for-2100185-roof-top-counterweight-anchor-system>: HTTP status code is not handled or not allowed 2026-01-28 14:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-stapler-20-sheet-210-staple-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 14:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/automatic-opaque-label-counter-for-up-to-6-w-x-13-diameter-3-to-3-core-rolls>: HTTP status code is not handled or not allowed 2026-01-28 14:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-stapler-120-sheet-capacity-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hercules-sachs-limbo-ml-50cc-motorcycle-replacement-battery-1995-1997-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-desk-stapler-20-sheet-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 14:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impulse-20-electric-stapler-20-sheet-210-staple-capacity-putty>: HTTP status code is not handled or not allowed 2026-01-28 14:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-e-fr-overall-snap-fly-front-fluorescent-orangered-4xl>: HTTP status code is not handled or not allowed 2026-01-28 14:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-office-case-13l-x-11w-x-2-1-2h-smooth-silver>: HTTP status code is not handled or not allowed 2026-01-28 14:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-gl1800hp-gold-wing-audio-comfort-1800cc-motorcycle-battery-2006-2017-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-stainless-steel-12-13-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-container-placard-label-holder-estb6-8-x-10-white>: HTTP status code is not handled or not allowed 2026-01-28 14:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb97-1236-5x-36-inch-w-x-12-inch-d-x-97-inch-h-5-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versatwin-toilet-tissue-disp-oceans-black-pearl-r3690tbk>: HTTP status code is not handled or not allowed 2026-01-28 14:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-silicon-bronze-38-16-x-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-xlh1200-1200cc-motorcycle-replacement-battery-1988-2003-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb85-1848-5x-48-inch-w-x-18-inch-d-x-85-inch-h-5-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab85-2448-7x-48-inch-w-x-24-inch-d-x-85-inch-h-7-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-dia-x-16-ga-galvanized-roller-42072-20-gp-for-20-oaw-omni-conveyors-abec-bearings>: HTTP status code is not handled or not allowed 2026-01-28 14:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pr-48-two-tone-waterproof-rain-coat-ansi-class-3-lime-black-size-3x>: HTTP status code is not handled or not allowed 2026-01-28 14:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb85-1842-5-42-inch-w-x-18-inch-d-x-85-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-washer-spring-steel-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-174-plastic-c-fold-multi-fold-paper-towel-dispenser-350-c-fold-540-multi-fold-smoke-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-funnel-ef-8-83b-8-with-83mm-cap-adapter-red-lid>: HTTP status code is not handled or not allowed 2026-01-28 14:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-washer-spring-steel-6-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-spark-900cc-personal-watercraft-replacement-battery-2014-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diversey-glance-glass-multi-surface-clean-orig-32oz-btl-12cs-dvo04705>: HTTP status code is not handled or not allowed 2026-01-28 14:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala174-exofit-nex-x300-comfort-positioning-safety-harness-backhip-d-ring-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucfl206-20-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-31-75-mm>: HTTP status code is not handled or not allowed 2026-01-28 14:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-wire-shelf-cover-48w-x-18d-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-key-for-1585>: HTTP status code is not handled or not allowed 2026-01-28 14:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-sblf206-20g-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-31-75-mm>: HTTP status code is not handled or not allowed 2026-01-28 14:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-hcflu211-32-flange-mount-bearing-2-bolt-flange-eccentric-locking-collar-bore-50-8-mm>: HTTP status code is not handled or not allowed 2026-01-28 14:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-braille-sign-all-gender-restroom-with-3-symbols-6w-x-9h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jt750-st-750cc-personal-watercraft-battery-1994-1995-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-track-connector-with-hardware-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 14:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucfl209-27-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-42-8625-mm>: HTTP status code is not handled or not allowed 2026-01-28 14:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22324exw33c3-120mm-bore-260mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rad2go-rocket-racer-bike-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/whizbang-capn-billys-electric-scooter-electric-scooter-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-disconnect-disposal-safety-can-w-ss-fittings-for-38-tubing-5-gal-cap-white>: HTTP status code is not handled or not allowed 2026-01-28 14:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23124ex1w33c3-120mm-bore-200mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pacesaver-eclipseatlas-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zapino-zappy-pro-flex-500-electric-scooter-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permobil-c500-corpus-and-jr-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu221myc3-105mm-bore-190mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu309mc3-45mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu212-60mm-bore-110mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8091-noncertified-long-sleeve-tshirt-orange-l>: HTTP status code is not handled or not allowed 2026-01-28 14:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8091-noncertified-long-sleeve-tshirt-lime-xl>: HTTP status code is not handled or not allowed 2026-01-28 14:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-add-on-oak73-1236-5-36-inch-w-x-12-inch-d-x-73-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-alarm-for-global-industrial-utility-vehicle-615162>: HTTP status code is not handled or not allowed 2026-01-28 14:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-in-lead-free-brass-union-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 14:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-closed-starter-csk85-1836-7-36-inch-w-x-18-inch-d-x-85-inch-h-7-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-closed-add-on-cak85-2448-8-48-inch-w-x-24-inch-d-x-85-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-roof-for-global-industrial-utility-vehicle-615162>: HTTP status code is not handled or not allowed 2026-01-28 14:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-lead-free-brass-cap-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 14:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-esd-wire-shelving-unit-starter-60w-x-12d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-304-stainless-steel-coupling-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 14:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-esd-wire-shelving-unit-starter-48w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-starter-72w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-add-on-cat75-1236-8-36-inch-w-x-12-inch-d-x-75-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-in-lead-free-brass-90-degree-elbow-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 14:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112579 pages (at 94 pages/min), scraped 55563 items (at 28 items/min) 2026-01-28 14:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-closed-add-on-cat99-1236-8x-36-inch-w-x-12-inch-d-x-99-inch-h-8-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:16:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories landed on page that is not a product page. 2026-01-28 14:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/carts-trucks/cart_truck_accessories/vehicle_tugger_accessories>: HTTP status code is not handled or not allowed 2026-01-28 14:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-48w-x-12d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 14:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-bolt-open-starter-ost75-1248-5x-48-inch-w-x-12-inch-d-x-75-inch-h-5-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-30w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss63012rs-deep-groove-ball-bearing-stainless-steel-double-sealed-od-37mm-bore-12mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 14:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss60022rs-deep-groove-ball-bearing-stainless-steel-double-sealed-od-32mm-bore-15mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 14:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-add-on-42w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-starter-36w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/correction-tape-1-5-in-x-236-in-white-tape-clear-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 14:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-summit-500-f-496cc-snowmobile-replacement-battery-2001-2002-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 14:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-iq-turbo-lxt-750cc-snowmobile-replacement-battery-2011-2012-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-add-on-72w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-design-stamp-star-design-5-8-diameter-red>: HTTP status code is not handled or not allowed 2026-01-28 14:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-renegade-backcountry-600-ho-600cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rs-vector-mountain-973cc-snowmobile-replacement-battery-2005-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mx-z-adrenaline-800r-800cc-snowmobile-battery-2008-2009-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-stainless-steel-wire-shelving-unit-add-on-72w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-add-on-36w-x-12d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-two-pocket-insertable-dividers-assorted-8-tabs-set>: HTTP status code is not handled or not allowed 2026-01-28 14:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-backcountry-x-e-tec-600cc-snowmobile-battery-2011-2014-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-36w-x-12d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-bearcat-wt-550cc-snowmobile-replacement-battery-1995-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-30w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120lb-cable-ties-natural-16-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-18-x-12-x-3-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/literature-mailers-17-x-11-x-2-1-2-200lb-test-ect-32-white-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-formula-z-583-583cc-snowmobile-replacement-battery-1998-1999-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 14:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-9-x-6-x-2-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-60w-x-30d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-gtx-600-ho-sdi-594cc-snowmobile-replacement-battery-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-gtx-ltd-800-ho-ptek-800cc-snowmobile-replacement-battery-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-corrugated-boxes-10-x-10-x-2-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-boxes-11-1-4-x-8-3-4-x-8-200lb-test-ect-32-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-literature-mailers-10-x-10-x-5-200lb-test-ect32-kraft-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-expedition-tuv-600-h-o-sdi-594cc-snowmobile-battery-2007-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-voltage-thermostat-industrial-series-spst-cool-only-wire-leads-kto110>: HTTP status code is not handled or not allowed 2026-01-28 14:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-bst-ph-bar-storage-truck-84-l-phenolic-wheels-5600-lb>: HTTP status code is not handled or not allowed 2026-01-28 14:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8551-containment-berm-collapsible-10-x-30-copolymer-2000>: HTTP status code is not handled or not allowed 2026-01-28 14:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-turbolite15343-personal-fall-limiters-steel-rebar-carabiner-6l>: HTTP status code is not handled or not allowed 2026-01-28 14:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-renegade-600-ho-sdi-600cc-snowmobile-replacement-battery-2004-2013-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-round-base-for-652299y-292237>: HTTP status code is not handled or not allowed 2026-01-28 14:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8713-containment-berm-rapid-rise-12-x-50-copolymer-2000>: HTTP status code is not handled or not allowed 2026-01-28 14:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42w-square-pedestal-table-with-crisp-linen-top-round-black-base>: HTTP status code is not handled or not allowed 2026-01-28 14:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-frame-with-masonry-stud-steelcraft-hinge-location-left-hand-36w-x-80h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-cheetah-530-l-c-530cc-snowmobile-replacement-battery-1986-1988-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hollow-steel-half-glass-door-cylindrical-prep-hollow-hinge-16-ga-36w-x-84h>: HTTP status code is not handled or not allowed 2026-01-28 14:17:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toggle-switch-30-amp-600v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 14:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/87-in-h-heavy-duty-patio-heater-cover-hvd-sgtcv-s-for-36-in-square-glass-tube-silver>: HTTP status code is not handled or not allowed 2026-01-28 14:17:42 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-200-trade-continuous-rim-diamond-blade-7-dia-x-316t-x-1-center-hole-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25dtp-4-two-channel-pole-2-duplex-receptacles-8-removable-communications-105l>: HTTP status code is not handled or not allowed 2026-01-28 14:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-600-ho-sdi-renegade-renegade-x-600cc-snowmobile-battery-2004-2013-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g3048r-rectangular-receptacle-cover-gray-4-12l>: HTTP status code is not handled or not allowed 2026-01-28 14:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-expedition-600-h-o-sdi-593cc-snowmobile-replacement-battery-2005-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-glide-3-1-2-inch-144152335>: HTTP status code is not handled or not allowed 2026-01-28 14:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bg-3-1-gallon-bucket-grid-509373000>: HTTP status code is not handled or not allowed 2026-01-28 14:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-rs90lt-rs-vector-ltx-900cc-snowmobile-replacement-battery-2008-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mx-z-tnt-e-tec-600-ho-600cc-snowmobile-replacement-battery-2011-2018-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions>: HTTP status code is not handled or not allowed 2026-01-28 14:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-30x21x74-nexelon-finish-331450N>: HTTP status code is not handled or not allowed 2026-01-28 14:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions>: HTTP status code is not handled or not allowed 2026-01-28 14:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plunger-can-1-quart-nonmetalic-red-14018>: HTTP status code is not handled or not allowed 2026-01-28 14:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3337-00001-solar-powered-led-strobe-lights-red-bulb>: HTTP status code is not handled or not allowed 2026-01-28 14:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-kf-150ps-portable-direct-heat-sealer-with-1-16-seal>: HTTP status code is not handled or not allowed 2026-01-28 14:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-3-inventory-rectangle-labels-in-5-fluorescent-colors-5000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112676 pages (at 97 pages/min), scraped 55593 items (at 30 items/min) 2026-01-28 14:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4008-double-sided-foam-tape-2-x-5-yds-1-8-thick-natural->: HTTP status code is not handled or not allowed 2026-01-28 14:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sky-ares-3-piece-outdoor-bar-set-23-5-8-w-x-42-1-2-h-table-white>: HTTP status code is not handled or not allowed 2026-01-28 14:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4004-double-sided-foam-tape-1-x-5-yds-1-4-thick-natural->: HTTP status code is not handled or not allowed 2026-01-28 14:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y563-254thtna7036-20hp-575v-1800rpm-3ph-256tc-tenv>: HTTP status code is not handled or not allowed 2026-01-28 14:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y546-254thtl5776-75hp-230-460v-1200rpm-3ph-254tc-tenv>: HTTP status code is not handled or not allowed 2026-01-28 14:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-eye-cup-6-vial>: HTTP status code is not handled or not allowed 2026-01-28 14:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-367di-butterfly-valve-with-buna-seals--10-position-handle-2-lug>: HTTP status code is not handled or not allowed 2026-01-28 14:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifugal-pump-motor-j064-15hp-208-230-460v-3600rpm-3ph-56j-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 14:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-argos-84-slotted-back-panel-ws-hap84-ws25-stealth>: HTTP status code is not handled or not allowed 2026-01-28 14:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-335ss-butterfly-valve-with-epdm-seals--10-position-handle-6-wafer>: HTTP status code is not handled or not allowed 2026-01-28 14:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cpr-lifeshield-plus>: HTTP status code is not handled or not allowed 2026-01-28 14:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifesaver-cpr-mask-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hg648-1-3hp-115-208-230v-1725rpm-1ph-tenv-48-fr>: HTTP status code is not handled or not allowed 2026-01-28 14:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-argos-full-shelf-ws-6442-ws56-desert-sand>: HTTP status code is not handled or not allowed 2026-01-28 14:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/argoscabinet-gun-storage-cabinet-awc84h24r10p-1-24-rifles-10-pistols-w-2-half-shelves-42x15x84-battleship-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y285-145thtn17034-2hp-230-460v-1800rpm-3ph-145tc-tenv>: HTTP status code is not handled or not allowed 2026-01-28 14:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y556-56h17t5312-1hp-575v-1800rpm-3ph-56c-tenv>: HTTP status code is not handled or not allowed 2026-01-28 14:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shimadzu-mobile-x-ray-wflnc-125-medical-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-n-carry-jnc1224-jump-starter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/118595-hall-door-monitor-wall-mounted-2-boxes-2-sensors-4-lights-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 14:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sign-with-wheeled-sign-base-r1-6-state-law-yield-to-pedestrians-12w-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 14:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g575-056b17f5306-2hp-1-1-2hp-1800rpm-115-208-230v-1ph-56hc-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 14:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rg200w-range-gas-4-burners-241-cu-ft-spark-start-white-24-x-20-x-43>: HTTP status code is not handled or not allowed 2026-01-28 14:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro24g-slide-in-range-gas-4-burners-255-cu-ft-spark-start-24-x-23-14-x-36>: HTTP status code is not handled or not allowed 2026-01-28 14:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medical-industries-zappy-3-ez-medical-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperpure-pe-rt-tubing-34id-x-78od-x-300-coil-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-component-strip-heater-240v-500w-17-34l>: HTTP status code is not handled or not allowed 2026-01-28 14:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-25jtf-commercial-microwave-oven-heavy-duty-2100w-ss-20-18w-x-18-12h-x-13-14d>: HTTP status code is not handled or not allowed 2026-01-28 14:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/see-a-360-degree-steel-full-dome-mirror-indoor-24-diameter-pvs24-360>: HTTP status code is not handled or not allowed 2026-01-28 14:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnyway-swg12280-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperpure-pe-rt-tubing-1-12id-x-1-58od-x-100-coil-white>: HTTP status code is not handled or not allowed 2026-01-28 14:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cortina-plastx-type-ii-fold-flat-barricade-diamond-grade-sheeting-24l-x-8w-panel-orangewhite>: HTTP status code is not handled or not allowed 2026-01-28 14:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leoch-lp12-4-0l-sealed-lead-acid-replacement-battery-4-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-hg711-5kh32hn5620t-1-3hp-1725rpm-115v-1ph-48y-fr-open>: HTTP status code is not handled or not allowed 2026-01-28 14:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fan-motor-p195-1hp-1075-rpm-200-230-460-v-1-ph-48z-fr-open>: HTTP status code is not handled or not allowed 2026-01-28 14:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-h164-5kh32jn3128-1-3hp-1725rpm-115v-1ph-48z-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 14:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-hg161-5kh32fn3083x-1-4hp-1725rpm-115v-1ph-48z-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 14:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rockford-rp-100-4-grease-interceptor-621-lbs-capacity-100-gpm-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/origin-or-12220hr-nb-sealed-lead-acid-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-traffic-cone-mount-retracting-belt-barrier-30-caution-do-not-enter-belt>: HTTP status code is not handled or not allowed 2026-01-28 14:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-treadmill-mat-fitness-equipment-mat-black-3-16-x-4-x-7-5>: HTTP status code is not handled or not allowed 2026-01-28 14:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bk20gb512-plugmold-125v-15a-5l>: HTTP status code is not handled or not allowed 2026-01-28 14:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wst1-3048-36-pb-48w-x-30d-fixed-height-welded-steel-workbench-pegboard-panel>: HTTP status code is not handled or not allowed 2026-01-28 14:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-starter-54w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j60b0b-90-rackmount-125v-15a-20l-6-outlets>: HTTP status code is not handled or not allowed 2026-01-28 14:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-pro-pvc-ceiling-tile-74500-waterproof-washable-2l-x-4w-white>: HTTP status code is not handled or not allowed 2026-01-28 14:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelon-blue-wire-shelving-unit-starter-36w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-black-epoxy-wire-shelving-unit-add-on-60w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironguard-steel-faced-dock-bumper-22-6040-13-w-x-5-1-4-d-x-20-h>: HTTP status code is not handled or not allowed 2026-01-28 14:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-19608-3-outlet-8-extension-cord-right-angle-plug>: HTTP status code is not handled or not allowed 2026-01-28 14:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-25603-3-appliance-cord-beige>: HTTP status code is not handled or not allowed 2026-01-28 14:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-24712-12-household-extension-cord-white>: HTTP status code is not handled or not allowed 2026-01-28 14:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-24720-20-household-extension-cord-white>: HTTP status code is not handled or not allowed 2026-01-28 14:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-36750-50-portable-hand-lamp-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-27306-dryer-cord-6-4-wire-30-amp>: HTTP status code is not handled or not allowed 2026-01-28 14:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crunchy-granola-bar-peanut-butter-15-oz-18box>: HTTP status code is not handled or not allowed 2026-01-28 14:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-black-epoxy-wire-shelving-unit-starter-60w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/batterymart-sla-1-2-sealed-lead-acid-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironguard-laminated-dock-bumper-24-1103-13-w-x-4-1-2-d-x-24-h>: HTTP status code is not handled or not allowed 2026-01-28 14:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironguard-laminated-dock-bumper-24-2988-16-w-x-8-d-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 14:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1082209-25mm-black-ultrasharp-snap-off-blades-pkg-qty-20>: HTTP status code is not handled or not allowed 2026-01-28 14:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mercury-topaz-848641-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-gallon-1-door-self-close-compac-acid-cabinet-23-1-4w-x-18d-x-35h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminating-pouches-5-mil-2-5-8-x-3-7-8-id-w-clip-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-gal-2-door-self-close-undercounter-acid-corrosive-cabinet-35w-x-22d-x-35h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub121000-45978-sealed-lead-acid-battery-100ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-60w-x-30d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 14:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-security-power864-option-2-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fortress-scientific-760v-gp24-wheelchair-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-excel-fwd-capt-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112775 pages (at 99 pages/min), scraped 55623 items (at 30 items/min) 2026-01-28 14:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-security-caddx-networx-nx-6-alarm-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-39005100-38-male-pipe-x-12-female-pipe-swivel>: HTTP status code is not handled or not allowed 2026-01-28 14:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fortress-1000fs-voyager-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-rascal-320-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-7035m-journeyman-3-d-full-body-harness-3-d-rings-size-medium>: HTTP status code is not handled or not allowed 2026-01-28 14:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medine-industries-gemini-1-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-gc-421-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-39004200-14-male-pipe-x-14-female-pipe-swivel>: HTTP status code is not handled or not allowed 2026-01-28 14:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-60w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-8246-heavyweight-6-shock-absorbing-lanyard-single-leg-with-2-snap-hooks>: HTTP status code is not handled or not allowed 2026-01-28 14:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adapter-39004375-12-male-pipe-x-12-female-pipe-swivel>: HTTP status code is not handled or not allowed 2026-01-28 14:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-alante-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permobil-entra-miniflex-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-folding-roller-container-shelf-truck-3-shelves-34x18x59-987535>: HTTP status code is not handled or not allowed 2026-01-28 14:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amigo-mobility-rt-junior-wheelchair-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/werner-3-type-1aa-fiberglass-podium-ladder-w-casters-375-lb-cap-pd7303-4c>: HTTP status code is not handled or not allowed 2026-01-28 14:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12in-haf-agricultural-fan-4072-cfm-120v>: HTTP status code is not handled or not allowed 2026-01-28 14:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ev-rider-breeze-iii-gt-s-wheelchair-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 14:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-tub-lugnbt9-9-bushel-41-1-4-l-x-29-1-2-w-x-19-h-off-white>: HTTP status code is not handled or not allowed 2026-01-28 14:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-fixed-hub-fan-blade-12-inch-dia-25-pitch-cw-5-16-inch-bore-2-inch-blade-depth-5-blade>: HTTP status code is not handled or not allowed 2026-01-28 14:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelterlogic-22706-sport-pop-up-canopy-slant-leg-cover-12-ft-x-12ft-purple>: HTTP status code is not handled or not allowed 2026-01-28 14:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelterlogic-95370-peak-style-shelter-14-x-ft-24-x-ft-12-ft-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horace-small-sent-uni-upgrad-secur-short-slv-shirt-white-ssxxl-sp46>: HTTP status code is not handled or not allowed 2026-01-28 14:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-four-wing-fan-blade-galvanized-steel-props-60-inch-dia-cw-40-pitch>: HTTP status code is not handled or not allowed 2026-01-28 14:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-mini-phantom-wheelchair-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjusted-semilor-fr-1200-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-07012-1-1-4-in-wrot-copper-cap-copper>: HTTP status code is not handled or not allowed 2026-01-28 14:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-poly-z-brite-wire-shelving-unit-add-on-60w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/03089-2-in-abs-vent-street-elbow-spigot-x-hub>: HTTP status code is not handled or not allowed 2026-01-28 14:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-40306-1-8-in-wrot-copper-tee-copper>: HTTP status code is not handled or not allowed 2026-01-28 14:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dfl-f-60x24-drainable-blade-fixed-louver-with-flange-60wx24h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acl-f-24x42-combination-louver-damper-with-flange-24wx42h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-galvanized-steel-solid-shelving-unit-add-on-24w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-avenger-3-wheel-scooter-wheelchair-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-go-go-sc40lr-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tnr-pp-universal-rolling-sign-holder>: HTTP status code is not handled or not allowed 2026-01-28 14:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-galvanized-steel-solid-shelving-unit-add-on-72w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-solid-shelving-unit-starter-48w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-2-shelf-vented-plastic-mat-shelving-unit-starter-48w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-6-117p-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-3-shelf-vented-plastic-mat-shelving-unit-starter-48w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pe1012rf1-emergency-light-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3gb3di-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-5-3-4-inch-dia-cw-3450-rpm-1-2-inch-bore-2-1-16-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 14:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-5-3-4-inch-dia-cw-3450-rpm-1-2-inch-bore-4-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 14:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-5-1-4-inch-dia-ccw-3450-rpm-1-2-inch-bore-2-15-16-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 14:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjustment-pipe-cutter-18-1-18-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power174-surge-protected-power-strip-6-outlets-15a-1200-joules-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 14:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-2iq12s20-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-pallet-rack-upright-frame-48ind-x-120inh>: HTTP status code is not handled or not allowed 2026-01-28 14:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/startsystem-aed-case-and-oxygen-system-life-02-101>: HTTP status code is not handled or not allowed 2026-01-28 14:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-labeling-tape-07w-black-on-green>: HTTP status code is not handled or not allowed 2026-01-28 14:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-48-in-w-x-36-in-d-x-96-in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-tze-labeling-tape-1w-red-on-white>: HTTP status code is not handled or not allowed 2026-01-28 14:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-hd-boltless-shelving-add-on-36-in-w-x-12-in-d-x-84-in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shark-wash-down-duty-5018ep3ess56cfl-05-hp-1800-rpm-208-230-460-volts-tefc-3-ph>: HTTP status code is not handled or not allowed 2026-01-28 14:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-60-in-w-x-36-in-d-x-60-in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-60-in-w-x-36-in-d-x-96-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travel-luggage-case-roller-for-travel-essential-black>: HTTP status code is not handled or not allowed 2026-01-28 14:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-px12090-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-yellow-magnetic-arrows-20-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-red-magnetic-arrows-20-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-96in-w-x-36in-d-x-96in-h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-cmfre100-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-td2mf50id-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:19:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_filters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/828gfitcal-floor-box-gfi-receptacle-cover-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 14:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-48-in-w-x-24-in-d-x-84-in-h>: HTTP status code is not handled or not allowed 2026-01-28 14:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedcell-kit-with-x-small-columns-for-96w-x-42d-bay-white>: HTTP status code is not handled or not allowed 2026-01-28 14:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112872 pages (at 97 pages/min), scraped 55652 items (at 29 items/min) 2026-01-28 14:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cs-1307-1-club-series-undermount-small-bar-prep-sink>: HTTP status code is not handled or not allowed 2026-01-28 14:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rackable-extruded-plastic-pallet-05000180-24x24-two-way-entry-1000-lb-fork-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:19:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/reach_in_refrigerators already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bumper-guard-type-bb-164-1-12-1-12-black-yellow-60-6820>: HTTP status code is not handled or not allowed 2026-01-28 14:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bh2760vc-brute-breaker-hammer-tool-only>: HTTP status code is not handled or not allowed 2026-01-28 14:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-bookcase-assembled-36w-x-18d-x-36h-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-sonic-s-12220f2-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/monitor_filters>: HTTP status code is not handled or not allowed 2026-01-28 14:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-80-f-evergreen-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-28 14:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carpenter-watchman-713524-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-88-f-red-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-28 14:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/openzone-landin-duck-drake-3-mode-flip-switch-decoy-battery-1-3ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awsw-partition-70x7-f-charcoal-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awsw-partition-70x7-f-slate>: HTTP status code is not handled or not allowed 2026-01-28 14:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifugal-blower-abc-101-1-phase-033-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:20:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/appliances/refrigerators_freezers/refrigerators/reach_in_refrigerators landed on page that is not a product page. 2026-01-28 14:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-3300-lb-96inwx48indx96inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 14:20:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regenerative-blower-ab-802-3-phase-2-stage-6-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-igmc0010us-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-extra-hd-boltless-shelving-add-on-36inw-x-12ind-x-60inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 14:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/four-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-24ind-x-60inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 14:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mongoose-mtnal24v450-electric-bicycle-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-outlander-650-efi-650cc-atv-replacement-battery-2011-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awrd-partition-80x84-f-latte>: HTTP status code is not handled or not allowed 2026-01-28 14:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versifoot-partition-leg>: HTTP status code is not handled or not allowed 2026-01-28 14:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-ytm225-tri-moto-225cc-atv-replacement-battery-1983-1986-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers>: HTTP status code is not handled or not allowed 2026-01-28 14:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awsw-partition-80x7-p-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awsw-partition-70x7-p-green>: HTTP status code is not handled or not allowed 2026-01-28 14:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wine-bottle-rack78-bottle-48-x-14-x-54-797147>: HTTP status code is not handled or not allowed 2026-01-28 14:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-2-72est-single-unit-track-assembly-kit-2-tracks-72>: HTTP status code is not handled or not allowed 2026-01-28 14:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/match-mate-rookie-tennis-ball-machine-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-2-132est-single-unit-track-assembly-kit-2-tracks-132>: HTTP status code is not handled or not allowed 2026-01-28 14:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvtrk-2-216est-single-unit-track-assembly-kit-2-tracks-216>: HTTP status code is not handled or not allowed 2026-01-28 14:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loading-dock-containment-netting-4-feet-x-26-feet-OHDB426>: HTTP status code is not handled or not allowed 2026-01-28 14:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-cub-cadet-tractor-with-trailer-ride-on-toys-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-48-in-w-x-48-in-d-x-96-in-h-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 14:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mtd243630-2k195-machine-table-with-2-shelves-and-a-drawer-36w-x-24d-x-30h>: HTTP status code is not handled or not allowed 2026-01-28 14:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imported-slotted-angle-plates-webbed-end-ground-finish-6-inch-x-5-inch-x-4-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imported-slotted-angle-plates-open-end-ground-finish-8-inch-x-6-inch-x-5-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-twin-leg-hot-work-self-retracting-lifeline-web--steel-rebar-lock-hook-6l>: HTTP status code is not handled or not allowed 2026-01-28 14:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-nano-lok-twin-leg-arc-flash-self-retracting-lifeline-web--rebar-lock-hook-8l>: HTTP status code is not handled or not allowed 2026-01-28 14:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protecta174-self-retracting-lifeline-web--steel-swivel-snap-hook-6l>: HTTP status code is not handled or not allowed 2026-01-28 14:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-dog-pitbull-1750cc-motorcycle-replacement-battery-1998-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/megasole-anti-fatigue-insole-mens-1213>: HTTP status code is not handled or not allowed 2026-01-28 14:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/megasole-anti-fatigue-insole-mens-1415>: HTTP status code is not handled or not allowed 2026-01-28 14:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motobecane-target-50cc-motorcycle-replacement-battery-1942-1984-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husaberg-fs450e-450cc-motorcycle-replacement-battery-2004-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-cb600-sf-hornet-600cc-motorcycle-replacement-battery-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kc60hd-safety-spring-door-closer-satin-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-baseboard-heater-4cb2407bw-750w-240v-48l-white>: HTTP status code is not handled or not allowed 2026-01-28 14:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-workbench-48-x-24-open-base-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 14:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-series-replacement-grille-wg-white>: HTTP status code is not handled or not allowed 2026-01-28 14:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-3-station-with-plumbing-skirt--electronic-faucet-72l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-28 14:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-hand-sink-1-station-with-electronic-faucet-wall-mount-19-38l-x-17w-x-5d-sink>: HTTP status code is not handled or not allowed 2026-01-28 14:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-wire-shelf-computer-workstation-with-slide-out-keyboard-shelf-30-w-x-18-d-x-79-h-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-vx-cruiser-vx1100am-deluxe-1052cc-watercraft-battery-2009-2014-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-welded-workbench-60-x-36-adj-height-louvered-panel-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 14:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-3-station-with-electronic-faucet-floor-mount-60l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-28 14:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-low-rider-fxdl-1690cc-motorcycle-battery-2014-2017-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/118080008-wash-bottle-ldpe-250ml-isopropanol-4-pk-yellow-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-workbench-48-x-24-adj-height-lower-shelf-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 14:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/369400000-sterileware-sampling-spoon-polystyrene-1-4-teaspoon-200-box-white>: HTTP status code is not handled or not allowed 2026-01-28 14:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-deep-door-with-176-blue-bins-16-ga-all-welded-cabinet-48-w-x-24-d-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-1-station-with-electronic-faucet-6h-backsplash-40l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-28 14:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-5007-class-3-hi-viz-moisture-wicking-birdseye-short-sleeve-t-shirt-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-28 14:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-5007-class-3-hi-viz-moisture-wicking-birdseye-short-sleeve-t-shirt-lime-5xl>: HTTP status code is not handled or not allowed 2026-01-28 14:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/voyager-gt-overboots-with-heels-cleated-outsole-l-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explorer153-insulated-overboots-threaded-outsole-3xl-13h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-36-x-24-1-drawer-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 14:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 112968 pages (at 96 pages/min), scraped 55679 items (at 27 items/min) 2026-01-28 14:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/navigator-5153-gt-insulated-overboots-cleated-outsole-4xl-15h-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rascal-rascalmwd-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-layflat-bags-on-a-roll-6-mil-38-72-45-bags-per-roll>: HTTP status code is not handled or not allowed 2026-01-28 14:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-pms-sport-110-110cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/die-stock-handle-for-2-1-2inch-diameter-round-die>: HTTP status code is not handled or not allowed 2026-01-28 14:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-stp-stl-safet-roll-lad-wt-actu-stp-24-perf-stp-wa083214p>: HTTP status code is not handled or not allowed 2026-01-28 14:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-stp-stl-safet-stair-slp-roll-lad-wt-actu-24-perf-stp-wa-sw53214p>: HTTP status code is not handled or not allowed 2026-01-28 14:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/razor-e100-sweetpea-electric-scooter-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-stp-stl-safet-stair-slp-roll-lad-wt-actu-24-serr-stp-wa-sw73214g>: HTTP status code is not handled or not allowed 2026-01-28 14:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ym18n34b-commercial-kuhl-heat-pump-windowwall-ac-17500-btu-cool-15500-btu-heat>: HTTP status code is not handled or not allowed 2026-01-28 14:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/board-container-placard-label-holder-ipx-1-4-holes-blank-5-1-2-x-7-7-8>: HTTP status code is not handled or not allowed 2026-01-28 14:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-pronto-m50-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-smax-155cc-scooter-and-moped-replacement-battery-2015-2018-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kn-4sorp-blk-sorting-panel-30-x-48-black>: HTTP status code is not handled or not allowed 2026-01-28 14:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-dolliesset-of-42000-lb-capacity-per-set-987628>: HTTP status code is not handled or not allowed 2026-01-28 14:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/signal-mirror-w-lanyard-1-case-dx1502m>: HTTP status code is not handled or not allowed 2026-01-28 14:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-oal-straight-steel-roller-conveyor-19-roller-dia-36-bf-3-axle-center>: HTTP status code is not handled or not allowed 2026-01-28 14:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-ultra-x-sc40x--sc44x-mobility-scooter-battery-14ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-denali-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 14:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peugeot-speedfighter-100cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shoprider-dasher-4gk8-mobility-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 14:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-48w-x-36d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-60w-x-36d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-24w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-power-panel-tray-41l-x-14w-x-7d>: HTTP status code is not handled or not allowed 2026-01-28 14:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tagups-holder-1-14h-x-5l>: HTTP status code is not handled or not allowed 2026-01-28 14:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-72w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-ceiling-kit-10-to-24w>: HTTP status code is not handled or not allowed 2026-01-28 14:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-skandic-tundra-300f-277cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-tie-tag-attachment-black>: HTTP status code is not handled or not allowed 2026-01-28 14:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wobbler-3l-flexible-aluminum-2-pads>: HTTP status code is not handled or not allowed 2026-01-28 14:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-wood-hanger-for-ladies-suitskirt-standard-hook-walnut-w-brass-hardware-100case>: HTTP status code is not handled or not allowed 2026-01-28 14:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-36w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-truck-gwk-pe4000xl-lw-fits-crown-model-pe-4000>: HTTP status code is not handled or not allowed 2026-01-28 14:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clip-strip-12-station-wsuction-cup-wheader-34-14l-white>: HTTP status code is not handled or not allowed 2026-01-28 14:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-turbo-iq-lxt-snowmobile-replacement-battery-2011-2014-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-440-f-436cc-snowmobile-replacement-battery-1998-2001-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 14:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-truck-gwk-wp2000-lw-fits-crown-model-wp-2000>: HTTP status code is not handled or not allowed 2026-01-28 14:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ventilated-locker-vsl-121872-a-02-single-tier-no-legs-1-wide-12x18x72-welded-med-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-legend-700-697cc-snowmobile-replacement-battery-2002-2003-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 14:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/VTT-1896-96-W-x-18-D-T-430-18ga-Stainless-Steel-Workbench-w-Galvanized-Legs>: HTTP status code is not handled or not allowed 2026-01-28 14:21:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/cube_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-30w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vets-3630-37-x-30-18-ga-equipment-stand-galvanized-base>: HTTP status code is not handled or not allowed 2026-01-28 14:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-54w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stabilizer-lock-keyed-differently-stbl-kd>: HTTP status code is not handled or not allowed 2026-01-28 14:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-3l260-v-belt-3-8-x-26>: HTTP status code is not handled or not allowed 2026-01-28 14:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ba-fans-black-jack-portable-fan-72-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-wheel-adjustable-sheet-and-panel-truck-60-x-36-deck-size-3600-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-54w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-60w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/cube_storage>: HTTP status code is not handled or not allowed 2026-01-28 14:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a15-4l170-v-belt-1-2-x-17>: HTTP status code is not handled or not allowed 2026-01-28 14:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-heavy-duty-electric-powered-tugger-w-pin-hitch-3000-lb-pull-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-36w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-adjustable-literature-organizer-36-compartment>: HTTP status code is not handled or not allowed 2026-01-28 14:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-steel-platform-truck-w-scale-10012l-x-24w-3600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-top-dome-receptacles-15-gallon-black-9639bl>: HTTP status code is not handled or not allowed 2026-01-28 14:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-base-for-4994-black>: HTTP status code is not handled or not allowed 2026-01-28 14:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-24w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireworks-4-tier-3-cup-dispensers-w-1-lid-organizer-2-side-panels-c8504wfd>: HTTP status code is not handled or not allowed 2026-01-28 14:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-24w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-lockset-storeroom-grade-2-au-handle-sfic-core-less-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 14:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8283bk-lightweight-performance-hi-vis-t-shirt-class-2-black-bottom-l-lime>: HTTP status code is not handled or not allowed 2026-01-28 14:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b89-5l920-v-belt-5-8-x-92>: HTTP status code is not handled or not allowed 2026-01-28 14:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b95-5l980-v-belt-5-8-x-98>: HTTP status code is not handled or not allowed 2026-01-28 14:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-36w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b102-v-belt-5-8-x-105>: HTTP status code is not handled or not allowed 2026-01-28 14:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 113065 pages (at 97 pages/min), scraped 55709 items (at 30 items/min) 2026-01-28 14:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000-arborist-kit-ht107-150-scfm>: HTTP status code is not handled or not allowed 2026-01-28 14:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-54w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advance-transformer-electronic-ballast-icf2s13h1ldk-120-277v-13-watts-B842440RS>: HTTP status code is not handled or not allowed 2026-01-28 14:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8945f-x-universal-bump-cap-insert-extra-venting-charcoal-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-54w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-different-1-1-2-plastic-steel-red-24-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supply-068-5-gal-mixed-lamp-recycling-pail>: HTTP status code is not handled or not allowed 2026-01-28 14:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-vhecp4106t-3-phase-20-hp-230-460-volts-3540-rpm-60-hz-tefc-256hp>: HTTP status code is not handled or not allowed 2026-01-28 14:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-36w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rackguard-4-w-x-2-11-16-d-x-23-1-2-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/222-glass-vina-stemless-red-wine-1675-oz-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-40x-1000x-all-metal-all-optical-glass-lens-student-biological-field-microscope-w-led-light>: HTTP status code is not handled or not allowed 2026-01-28 14:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-40x-1000x-monocular-led-microscope-with-usb-camera-slide-preparation-kit-experiment-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-40x-1000x-dual-top-bottom-led-portable-compound-microscope>: HTTP status code is not handled or not allowed 2026-01-28 14:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp83771t-4-3-ph-10-hp-460-v-3500-rpm-tefc-215t-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/97085-glass-county-fair-drinking-jar-165-oz-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb-ramp-for-65-diameter-turntable-55-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 14:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-linea-l-desk-white>: HTTP status code is not handled or not allowed 2026-01-28 14:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp83661t-4-3-ph-3-hp-460-v-1755-rpm-tefc-182tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-20-hp-1765-rpm-3-ph-256t-opsb>: HTTP status code is not handled or not allowed 2026-01-28 14:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-vem3611t-5-3-hp-1760-rpm-182tc-frame-c-face-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 14:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-72w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-48w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-54w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-em4406t-5-1785-hp-150-rpm-445t-frame-foot-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 14:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-em4410t-5-1785-hp-125-rpm-444t-frame-foot-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 14:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triangular-umbrella-stand-black>: HTTP status code is not handled or not allowed 2026-01-28 14:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ken-forging-tb110-e-e-hdg-turnbuckle-assembly-eye-eye-1-8-x-19-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 14:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-20-hp-1765-rpm-3-ph-256t-open>: HTTP status code is not handled or not allowed 2026-01-28 14:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-54w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-60-hp-1775-rpm-3-ph-364t-opsb>: HTTP status code is not handled or not allowed 2026-01-28 14:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-42wx24dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-54w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolution-deluxe-6151-cap-style-hard-hat-hdpe-shell-6-pt-polyester-suspension-ratchet-adj-green>: HTTP status code is not handled or not allowed 2026-01-28 14:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kilimanjaro-full-brim-hard-hat-hdpe-shell-4-pt-nylon-webbing-cradle-ratchet-adjustment-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brake-motor-ebm3311t-3-phase-208-230-460-volts-75-hp-1770-rpm-open-213t-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-dom-cap-style-dome-hard-hat-hdpe-shell-6-pt-suspension-rachet-adjustment-red>: HTTP status code is not handled or not allowed 2026-01-28 14:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-cesswdm3550t-3-ph-15-hp-3500-rpm-208-230-460-v-tenv-143tc-fr>: HTTP status code is not handled or not allowed 2026-01-28 14:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-wheelbarrow-garden-cart-wheel-w-universal-hub-408ttrib32-480-400-8-5-8bb>: HTTP status code is not handled or not allowed 2026-01-28 14:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8000242b-8-peg-hook-ball-tip-bright-silver-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-42wx24dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t123m-rotating-literature-display-w-24-clear-pockets-round-base-black>: HTTP status code is not handled or not allowed 2026-01-28 14:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vornado-miniature-vortexer-green-cup-head>: HTTP status code is not handled or not allowed 2026-01-28 14:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybex-erlenmeyer-flask-2000ml>: HTTP status code is not handled or not allowed 2026-01-28 14:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-storage-box-push-button-767-c-with-wall-mount-14-x-6>: HTTP status code is not handled or not allowed 2026-01-28 14:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dedicated-platform-holds-4-standard-micro-plates>: HTTP status code is not handled or not allowed 2026-01-28 14:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotor-hematocrit-for-z216-series-24-x-capillary>: HTTP status code is not handled or not allowed 2026-01-28 14:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7440-keyed-alike-lockout-padlock-1-12-inch-non-conductive-shackle-red-06755>: HTTP status code is not handled or not allowed 2026-01-28 14:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-36wx14dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3a-ssmach-rod-end-machined-304-stainless-3-8-16-x-3-1-2>: HTTP status code is not handled or not allowed 2026-01-28 14:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-ehm4110t-5-3-ph-40-hp-575-v-1775-rpm-tefc-324t-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3219t-g-3-ph-75-hp-208-230-460-v-3600-rpm-odp-184t-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-48wx24dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-54w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-vapor-steam-cleaner-1650w-115v-60hz>: HTTP status code is not handled or not allowed 2026-01-28 14:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-24w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-safe-wmc-4-231208-ws23-4-tier-12-w-x-8-d-x-23-h-8-pistol-cap-key-lock-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-safe-wmc-4-231208-ws25-4-tier-12-w-x-8-d-x-23-h-8-pistol-cap-key-lock-stealth>: HTTP status code is not handled or not allowed 2026-01-28 14:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-safe-wmc-6-331208-ws25-6-tier-12-w-x-8-d-x-23-h-12-pistol-cap-key-lock-stealth>: HTTP status code is not handled or not allowed 2026-01-28 14:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-48w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-72wx14dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-phase-motor-el3606t-3-hp-115-230-volts-3450-rpm-tefc-182t-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-step-steel-roll-ladd-rear-exit-gate-24-30-plat-serr-rwsr114242-xr>: HTTP status code is not handled or not allowed 2026-01-28 14:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-90-x-125-x-35mm>: HTTP status code is not handled or not allowed 2026-01-28 14:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-phase-motor-el3515t-2-hp-115-208-230-volts-3450-rpm-tefc-145t-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-025-hp-1140-rpm-3-ph-48-tenv>: HTTP status code is not handled or not allowed 2026-01-28 14:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-magnet-motor-cspm3558t-3-ph-230-460-v-2-hp-1800-rpm-tefc-145tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-30-x-47-x-23mm>: HTTP status code is not handled or not allowed 2026-01-28 14:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-48wx18dx60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 113168 pages (at 103 pages/min), scraped 55743 items (at 34 items/min) 2026-01-28 14:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sided-mobile-maintenance-cart-st-2448-6py-pb-pegboard-panel-3600-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-72w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-bnf-gloves-15-gauge-nylon-nitrile-coated-palm-fingertips-w-dots-gray-black-l>: HTTP status code is not handled or not allowed 2026-01-28 14:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-54w-x-14d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/predator-gloves-impact-2-cutpro-arx-aramid-shell-hpt-palm-coated-yellow-gray-m>: HTTP status code is not handled or not allowed 2026-01-28 14:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blower-and-mounting-kit-for-dc-intergral-hp-motor-cat-no-ending-in-p-fvb3210-210-motor-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-gloves-nitrile-cut-a5-impact-1-abrasion-4-puncture-3-yellow-red-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-54w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-acting-cylinder-base-25-ton>: HTTP status code is not handled or not allowed 2026-01-28 14:23:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/gloves_sleeves/cut_resistant_gloves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ed-401-electric-knife-sharpener-removable-guides-115v>: HTTP status code is not handled or not allowed 2026-01-28 14:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-72w-x-14d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coupler-flush-face-set-3-8-18-nptf>: HTTP status code is not handled or not allowed 2026-01-28 14:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-rb6-f-window-entry-awning-6-4-1-2-w-x-3-2-1-4-d-x-3-9-1-4-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 14:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-cylinder-for-cabinet-42000>: HTTP status code is not handled or not allowed 2026-01-28 14:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-39-1403-odp-39-284-6uc-tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1610-x-1-1-2-1-1-2-x-23-1610-series-tapered-locking-steel-bushing-1-1-2-bore>: HTTP status code is not handled or not allowed 2026-01-28 14:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-48w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-x-42mm-42mm-x-6-e-series-quick-detach-steel-bushing-42mm-bore>: HTTP status code is not handled or not allowed 2026-01-28 14:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/gloves_sleeves/cut_resistant_gloves>: HTTP status code is not handled or not allowed 2026-01-28 14:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-contact-infrared-laser-thermometer-4-and-to-932-and->: HTTP status code is not handled or not allowed 2026-01-28 14:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foldi-go-rechargeable-led-task-lamp-white>: HTTP status code is not handled or not allowed 2026-01-28 14:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-54w-x-18d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-42w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alarm-clock-black>: HTTP status code is not handled or not allowed 2026-01-28 14:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-72w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-24w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rubber-band-84-circumference-34-wide-1-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:23:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/task_lighting/magnifier_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-slatted-steel-trash-can-with-ashtray-lid-access-door-36-gallon-black>: HTTP status code is not handled or not allowed 2026-01-28 14:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-wire-buckle-regular-duty-1000case>: HTTP status code is not handled or not allowed 2026-01-28 14:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collapsible-bottle-carrier-bc-8-8-bottle-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-54w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bp5158-cooks-fork-with-curved-tines>: HTTP status code is not handled or not allowed 2026-01-28 14:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4688m-hamburger-turner-6-x-5-wood>: HTTP status code is not handled or not allowed 2026-01-28 14:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knives-heavy-medium-weight-polystyrene-100-box-white>: HTTP status code is not handled or not allowed 2026-01-28 14:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spoons-heavy-medium-weight-plastic-shatter-resistant-1000-carton-white>: HTTP status code is not handled or not allowed 2026-01-28 14:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/indoor_lighting_fixtures/task_lighting/magnifier_lights>: HTTP status code is not handled or not allowed 2026-01-28 14:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-hot-cocoa-mix-dutch-chocolate-125-oz-24-box>: HTTP status code is not handled or not allowed 2026-01-28 14:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beverage-napkins-1-ply-9-1-2-x-9-1-2-4000-carton-white>: HTTP status code is not handled or not allowed 2026-01-28 14:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-5l-pipette-mla-micro-dtipper-silver>: HTTP status code is not handled or not allowed 2026-01-28 14:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-boot-pair-yellow-yj5eb-125-y>: HTTP status code is not handled or not allowed 2026-01-28 14:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-10ml-wobblenot-serological-pipet-paperplastic-bag-sterile-200-pa>: HTTP status code is not handled or not allowed 2026-01-28 14:23:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/fall_protection/harnesses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rocacrylic-3800-acrylic-enamel-paint-5-gallon-pail-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 14:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3386-arm-band-idbadge-holder-one-size-red>: HTTP status code is not handled or not allowed 2026-01-28 14:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-312-x-412-x-58-black-rubber-elliptical-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/web-winch-bottom-mount-standard-portable-with-2-set-screws>: HTTP status code is not handled or not allowed 2026-01-28 14:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-round-cafe-table-42dia-columbian-walnut-topsilver-base>: HTTP status code is not handled or not allowed 2026-01-28 14:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/controls-merz-w105-7-aa-reversing-switch-spring-returned-3-pole-16a-4-hole-front-mount>: HTTP status code is not handled or not allowed 2026-01-28 14:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-e-a-cam-strap-assembly-with-spring-actuated-fitting-20>: HTTP status code is not handled or not allowed 2026-01-28 14:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-4-x-6-x-58-black-rubber-obround-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-manway-gasket-1212-x-1612-x-1-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/fall_protection/harnesses>: HTTP status code is not handled or not allowed 2026-01-28 14:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-standard-anvil-attachment-12-drive>: HTTP status code is not handled or not allowed 2026-01-28 14:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-8-extended-anvil-attachment-12-drive>: HTTP status code is not handled or not allowed 2026-01-28 14:23:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/backpack_vacuums already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-topoge-series-180-manway-gasket-10-x-14-x-112-black-rubber-elliptical-5>: HTTP status code is not handled or not allowed 2026-01-28 14:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-h5229x6-3-8-inch-tube-od>: HTTP status code is not handled or not allowed 2026-01-28 14:23:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-medium-scrub-brush-set-for-vortex-9-multi-surface-scrubber-9w-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 14:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-hood-open-face-xl-white>: HTTP status code is not handled or not allowed 2026-01-28 14:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennsco-metal-dividers-for-30-drawer-cabinets-package-of-30>: HTTP status code is not handled or not allowed 2026-01-28 14:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-heated-vest-battery-for-300-hv100-5v-black>: HTTP status code is not handled or not allowed 2026-01-28 14:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-metro-corrosionresistant-shelving-components-60x24-shelf-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 113261 pages (at 93 pages/min), scraped 55775 items (at 32 items/min) 2026-01-28 14:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-portfolio-self-adhesive-vinyl-floor-tile-12-x-12-ash-grey-wood-9-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ma517-auxiliary-lens-05x-working-distance-150mm>: HTTP status code is not handled or not allowed 2026-01-28 14:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twin-series-clamp-for-tubing-tsct100-1-inch-id>: HTTP status code is not handled or not allowed 2026-01-28 14:23:58 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/vacuums/backpack_vacuums landed on page that is not a product page. 2026-01-28 14:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-sterling-self-adhesive-vinyl-floor-tile-12-x-12-blackwhite-45-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/heaters/gas_heaters_furnaces/portable_gas_oil_kerosene_heaters>: HTTP status code is not handled or not allowed 2026-01-28 14:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thru-wall-sump-strainer-sw3002003-3-inch-npt-male-thd-2-inch-npt-port-49-gpm>: HTTP status code is not handled or not allowed 2026-01-28 14:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h21-series-hydraulic-pump-h2136173-2-4-bolt-2500-max-pressure-1-inch-keyed-1-4-kw-shaft>: HTTP status code is not handled or not allowed 2026-01-28 14:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relius-solutions-134-butcher-block-maple-top-by-john-boos-120x36-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 14:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9oz-30-sateen-cotton-jacket-navy-3xl>: HTTP status code is not handled or not allowed 2026-01-28 14:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-bushing-h3109x20x16-1-1-4-inch-x-1-inch-npt-male-to-female>: HTTP status code is not handled or not allowed 2026-01-28 14:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bott-steel-bin-strip-4w>: HTTP status code is not handled or not allowed 2026-01-28 14:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9oz-30-sateen-cotton-jacket-royal-blue-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bott-steel-toolboard-louvered-panels-20x18>: HTTP status code is not handled or not allowed 2026-01-28 14:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-brute-tote-27-7-8-x17-3-8-x10-11-16-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economical-polymer-utility-carts-28wx17d-shelf-2-shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-street-elbow-h3359x16-1-inch-x-1-inch-male-to-female>: HTTP status code is not handled or not allowed 2026-01-28 14:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-bolt-flange-adapter-kit-b432020u1-1-4-inch-adapter-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wearwell-24seven-anti-fatigue-mat-cutting-fluid-resistant-rubber-solid-tile-non-slip-coating-3x3>: HTTP status code is not handled or not allowed 2026-01-28 14:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-whiffle-typical-14-double-48-electric-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-kit-for-two-sided-mobile-bin-racks-with-louvered-panels>: HTTP status code is not handled or not allowed 2026-01-28 14:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-foam-mattress-7028x21-for-7028-7030-9200-bassinets-12w-x-25-3-4l>: HTTP status code is not handled or not allowed 2026-01-28 14:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4h-shelf-back-ledge-for-open-wire-shelving-72>: HTTP status code is not handled or not allowed 2026-01-28 14:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-cocoa-mix-regular-1-oz-50-box>: HTTP status code is not handled or not allowed 2026-01-28 14:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-40w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl47-5-1-145tc-helical-inline-speed-reducer-145tc-input-flange-5-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 14:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-sensing-spreader-valve-hv515ls-spreader-valve-5-15-gpm-76-lpm-3000-psi-210-bar>: HTTP status code is not handled or not allowed 2026-01-28 14:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-air-valve-bav015-1-4-inch-5-port-3-position-detented-4-way-air-valve>: HTTP status code is not handled or not allowed 2026-01-28 14:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-full-zip-hooded-sweater-reflective-4xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-31l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl147-60-1-254-6tchelical-inline-speed-reducer254-6tc-input-flange60-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 14:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-36100cw-crash-wrap-36w-x-100l-5mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-athletic-performance-t-shirt-flame-resistant-6-25-oz-5xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:24:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-711w-preservation-tape-1w-x-108l-10mil-white>: HTTP status code is not handled or not allowed 2026-01-28 14:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971900-horizontal-storage-shed>: HTTP status code is not handled or not allowed 2026-01-28 14:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-long-sleeve-shirt-tear-and-rip-resistant-4xl-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-locker-24w-x-22d-x-72h-w-top-shelf-relay-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-locker-24w-x-18d-x-72h-w-top-shelf-foot-locker-relay-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-locker-24x22x72-w-top-shelf-security-box-foot-locker-relay-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:24:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-full-zip-hooded-sweater-reflective-s-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-monitor-printer-stand-w-smart-device-slot>: HTTP status code is not handled or not allowed 2026-01-28 14:24:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:24:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-athletic-performance-t-shirt-flame-resistant-6-oz-l-tall-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sit-stand-mobile-laptop-workstation-glass>: HTTP status code is not handled or not allowed 2026-01-28 14:24:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desktop-curved-copy-holder>: HTTP status code is not handled or not allowed 2026-01-28 14:24:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts landed on page that is not a product page. 2026-01-28 14:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/underbed-truck-bx-black-steel-standard-6-2-cu-ft-536-5-02>: HTTP status code is not handled or not allowed 2026-01-28 14:24:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purp-truck-chest-alum-compact-size-6-0-cu-ft-cap-644-0-01>: HTTP status code is not handled or not allowed 2026-01-28 14:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-box-dec-1-20a-c2-series-20a-6-outlets-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 14:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-36w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 14:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 14:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-28w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:24:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/segmented-narcoticts-cabinet-182180>: HTTP status code is not handled or not allowed 2026-01-28 14:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/shirts>: HTTP status code is not handled or not allowed 2026-01-28 14:24:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-42w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-solid-shelving-add-on-189994>: HTTP status code is not handled or not allowed 2026-01-28 14:24:47 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/truck_boxes_utility_boxes landed on page that is not a product page. 2026-01-28 14:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-protection-cage-single-panel-3-x-3-t-rex3x3-one-side-only>: HTTP status code is not handled or not allowed 2026-01-28 14:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-40w-x-28l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:24:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-modified-lock-n-stock-folding-ladder-ls32410>: HTTP status code is not handled or not allowed 2026-01-28 14:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5464000-72x18x74-add-on-shelving>: HTTP status code is not handled or not allowed 2026-01-28 14:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/md-vertical-unit-heater-v347s01-247000-btu-4820-cfm-115v>: HTTP status code is not handled or not allowed 2026-01-28 14:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5652700-sase-shlvg-36x24x74-add-on>: HTTP status code is not handled or not allowed 2026-01-28 14:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5462400-36x24x74-add-on-shelving>: HTTP status code is not handled or not allowed 2026-01-28 14:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:24:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4785300-security-truck-standard>: HTTP status code is not handled or not allowed 2026-01-28 14:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 113350 pages (at 89 pages/min), scraped 55796 items (at 21 items/min) 2026-01-28 14:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5696900-36x18x63-starter-shelving-uni>: HTTP status code is not handled or not allowed 2026-01-28 14:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jerry-can-replacement-spout-nozzle-black-3102>: HTTP status code is not handled or not allowed 2026-01-28 14:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-33w-x-31l-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/le9025123qb2-25ft-123-sjow-cable-cord-reel-w-20a-quad-box>: HTTP status code is not handled or not allowed 2026-01-28 14:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xp65led-explosion-proof-led-tubular-inspection-light>: HTTP status code is not handled or not allowed 2026-01-28 14:25:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-40w-x-29l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-outlet-tri-tap-rubber-adapter-gg-03418beb-beige>: HTTP status code is not handled or not allowed 2026-01-28 14:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewiston-e1-econmailbox-post-fluted-base-ball-finial-support-brace-mounting-plate-bronze>: HTTP status code is not handled or not allowed 2026-01-28 14:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-single-wall-corrugated-box-26-x-20-x-8-200lb-test-ect-32-kraft-15-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:25:04 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 14:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewiston-e1-economy-mailbox-post-fluted-base-black-solar-lamp-bronze>: HTTP status code is not handled or not allowed 2026-01-28 14:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-non-locking-stucco-column-mailbox-in-slate-gray-color-column-only>: HTTP status code is not handled or not allowed 2026-01-28 14:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-42w-x-31l-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-46w-x-36l-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-piece-magnetic-screwdriver-bit-setlong-reach>: HTTP status code is not handled or not allowed 2026-01-28 14:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-inch-drive-deep-impact-socket-7-8-inch-6-point>: HTTP status code is not handled or not allowed 2026-01-28 14:25:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 14:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-54w-x-28l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-46w-x-33l-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copper-mechanical-split-bolt-connection-for-2-conductors-range-of-equal-run-and-tap-16-str-8-str>: HTTP status code is not handled or not allowed 2026-01-28 14:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-34w-x-30l-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/613-piece-master-technician-maintenance-set>: HTTP status code is not handled or not allowed 2026-01-28 14:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-52w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-34w-x-33l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-stucco-locking-column-mailbox-in-sandstone-w-decorative-fleur-de-lis-door-in-bronze>: HTTP status code is not handled or not allowed 2026-01-28 14:25:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-48w-x-36l-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-chenille-stems-6mm-x-12-inchl-assorted-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:25:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j108-oh-needle-bearing-drawn-cup-caged-oil-hole-bore-15875mm>: HTTP status code is not handled or not allowed 2026-01-28 14:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hk1412-needle-bearing-drawn-cup-caged-metric-bore-13995mm>: HTTP status code is not handled or not allowed 2026-01-28 14:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-test-counterfeit-detector-black-1-each>: HTTP status code is not handled or not allowed 2026-01-28 14:25:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-50w-x-28l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washable-markers-classpack-8-assorted-colors-200-box>: HTTP status code is not handled or not allowed 2026-01-28 14:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-coin-wrapper-sprtcw10-5-dimes-capacity-1000-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vem31107-5hp-3600rpm-56c-frame-3ph-230-460v-odp-c-face-footless-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 14:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-38w-x-unhemmed-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vem31120-15hp-3600rpm-56c-frame-3ph-230-460v-odp-c-face-footless-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 14:25:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em31155-2hp-3600rpm-56-frame-3ph-230-460v-odp-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 14:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:25:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-34w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/artista-ii-washable-tempera-paint-nontoxic-16-oz-green>: HTTP status code is not handled or not allowed 2026-01-28 14:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/around-the-home-picture-words-flash-cards-english-spanish-96-cards-box>: HTTP status code is not handled or not allowed 2026-01-28 14:25:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kbsf-3-freezer-reach-in-72-cu-ft-bottom-mounted-compressor-3-doors-115v>: HTTP status code is not handled or not allowed 2026-01-28 14:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psm-60-spiralmixer-102qt-capacity-twinmotor-2speed-2-3-4hp-208v>: HTTP status code is not handled or not allowed 2026-01-28 14:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-52w-x-33l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-50w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:25:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 14:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kleenex-ultra-soft-hand-towels-pop-up-box-white-70box-18-boxescarton-kcc-11268>: HTTP status code is not handled or not allowed 2026-01-28 14:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-36w-x-34l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elkay-lvrcgrntl8wsk-ezh20-bi-level-bottle-station-vandal-resistant-filtered-stainless-green-spec>: HTTP status code is not handled or not allowed 2026-01-28 14:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-30w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elkay-ezstl8wsvrlk-ezh20-bi-level-water-bottle-filling-station-8-gph-light-gray-vr-bubbler>: HTTP status code is not handled or not allowed 2026-01-28 14:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-33w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-50w-x-33l-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-52w-x-31l-green>: HTTP status code is not handled or not allowed 2026-01-28 14:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-8-foot-10-1-2-inch-long-x-3-4-inch-wide-18-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 14:25:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-13-foot-2-inch-long-x-1-inch-wide-8-12-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 14:25:46 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-back-executive-chair-llr62620-bonded-leather-black>: HTTP status code is not handled or not allowed 2026-01-28 14:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-tackboard-for-66-hutch-llr69915-laminated-black>: HTTP status code is not handled or not allowed 2026-01-28 14:25:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10223-wide-fillet-knife-high-carbon-steel-stamped-white-handle-8-l>: HTTP status code is not handled or not allowed 2026-01-28 14:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-kingportable-reel-rack-24-28-dia-coilsprecuation-blue-798017>: HTTP status code is not handled or not allowed 2026-01-28 14:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-31w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weld-curtain-w-hardware-6w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 14:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17433-frosting-spatula-6-1-2-high-carbon-steel-white-handle-6-5-l>: HTTP status code is not handled or not allowed 2026-01-28 14:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/83101-knife-guard-narrow-black-handle-6-1-8-l>: HTTP status code is not handled or not allowed 2026-01-28 14:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-single-tier-locker-3-wide-12w-x-15d-x-60h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 14:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-starter-1-wide-12w-x-18d-x-24h-unassembled-black>: HTTP status code is not handled or not allowed 2026-01-28 14:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-single-tier-locker-3-wide-12w-x-12d-x-60h-assembled-black>: HTTP status code is not handled or not allowed 2026-01-28 14:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r11i-tas-135-4603-rotary-screw-air-compressor-3-phase-460-volts-15hp-80-gal>: HTTP status code is not handled or not allowed 2026-01-28 14:25:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 14:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 113440 pages (at 90 pages/min), scraped 55811 items (at 15 items/min) 2026-01-28 14:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nesting-wire-baskets-price-each-for-qty-3>: HTTP status code is not handled or not allowed 2026-01-28 14:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xleratoreco-174-hand-dryer-graphite-110-120v-xl-gr-eco-110-120>: HTTP status code is not handled or not allowed 2026-01-28 14:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-56w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jd-es-shutter-fan-20-inch-indoor-outdoor-115v1ph-3-speed-aluminum-shutters-9ft-cord>: HTTP status code is not handled or not allowed 2026-01-28 14:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-8-compartment-hanging-garment-dispenser-locker-gray-w-cam-locks>: HTTP status code is not handled or not allowed 2026-01-28 14:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3l290k-v-belt-kevlar-3-8-x-29>: HTTP status code is not handled or not allowed 2026-01-28 14:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coverall-with-leg-zippers-58-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-28w-x-unhemmed-red>: HTTP status code is not handled or not allowed 2026-01-28 14:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-door-jamb-weatherstrip-kit-01073-silver-36-inch-x-84-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/backer-rod-for-gaps-and-joints-71506-gray-5-8-inch-x-20-foot>: HTTP status code is not handled or not allowed 2026-01-28 14:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-50w-x-unhemmed-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/srmp-0404-steel-insert-antivibration-rubber-pad-4-x-4-x-3-4>: HTTP status code is not handled or not allowed 2026-01-28 14:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-climate-epdm-weatherstrip-p-strip-02576-white-17-foot>: HTTP status code is not handled or not allowed 2026-01-28 14:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-38w-x-unhemmed-red>: HTTP status code is not handled or not allowed 2026-01-28 14:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-door-sweep-05587-white-36-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:26:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en-10-hd-hdg-drop-forged-eye-nut-1-8-style-b-c1030-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 14:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shrink-and-seal-indoor-window-kit-04184-crystal-clear-42-inch-x-62-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-42w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wp100h-oil-only-pads-15-w-x-19-l-100-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-44w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-56w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-46w-x-32l-red>: HTTP status code is not handled or not allowed 2026-01-28 14:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-54-inch-w-x-14-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 14:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinsser-b-i-n-shellac-base-primer-spray-white-13-oz-can-1008>: HTTP status code is not handled or not allowed 2026-01-28 14:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl4082-plus-barrier-set-15-yellow-caution-banner>: HTTP status code is not handled or not allowed 2026-01-28 14:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shredder-oil-16oz-pint-bottles-12-case>: HTTP status code is not handled or not allowed 2026-01-28 14:26:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls landed on page that is not a product page. 2026-01-28 14:26:20 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd3-06-24acdc-safety-controller-ext-manual-reset-24vac-dc-safety-cat-3-cen>: HTTP status code is not handled or not allowed 2026-01-28 14:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-72-inch-w-x-21-inch-d-x-54-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 14:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/assy-es-s2442-ramp-trim-kit-fits-24-x-42-mat>: HTTP status code is not handled or not allowed 2026-01-28 14:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-air-conditioner-kpac2412-2-2-ton-23500-btu>: HTTP status code is not handled or not allowed 2026-01-28 14:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-48w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 14:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-44w-x-33l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-46w-x-34l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-60w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lotus-sit-stands-workstation-32-3-4-x-24-1-4-x-22-1-2-black>: HTTP status code is not handled or not allowed 2026-01-28 14:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/pants_shorts_overalls>: HTTP status code is not handled or not allowed 2026-01-28 14:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-24w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 14:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/start-right-interior-drywall-primer-5-gallon-134034>: HTTP status code is not handled or not allowed 2026-01-28 14:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-remote-start-terminals-reset-button-250-500v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 14:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/woodsman-100-acrylic-latex-deck-siding-fence-wood-stain-cedar-gallon-149307>: HTTP status code is not handled or not allowed 2026-01-28 14:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-oil-base-dtm-enamel-gloss-finish-almond-gallon-802637>: HTTP status code is not handled or not allowed 2026-01-28 14:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc-horizontal-knob-65504-marked-with-degrees-f-for-pc-t155-and-t167-series-thermostats>: HTTP status code is not handled or not allowed 2026-01-28 14:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-remote-start-reset-button-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 14:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-remote-start-reset-button-24-60v-2-3-3-1a>: HTTP status code is not handled or not allowed 2026-01-28 14:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manitowoc-ice-iy-0504a-indigo-series-ice-maker-cube-style-air-cooled-self-contained-condenser>: HTTP status code is not handled or not allowed 2026-01-28 14:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-separate-coil-voltage-start-stop-250-500v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 14:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-plastic-shelf-bin-8-3-8w-x-23-5-8d-x-8h-red>: HTTP status code is not handled or not allowed 2026-01-28 14:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/osha-kit-rolling-ladders-16-step-20-d-platform-grcal05ec-d2>: HTTP status code is not handled or not allowed 2026-01-28 14:26:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-remote-start-reset-button-24-60v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 14:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-plastic-box-truck-12-bushel-yellow-272517-5-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-fabric-dbl-slide-patio-door-hf88156-resincoated-ballistic-nyl-88l-x-156w>: HTTP status code is not handled or not allowed 2026-01-28 14:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-mech-van-pack-mid-roof-ford-trans-148-wb-600-8213l>: HTTP status code is not handled or not allowed 2026-01-28 14:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500140-safe-bucket-250lb-load-rated-hook-and-loop-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 14:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-ladder-back-bar-ht-set-gray-nebula-laminate-table-black-vinyl-chair>: HTTP status code is not handled or not allowed 2026-01-28 14:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-1605-2rs-sealed-light-duty-03125-inch-bore-09062-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 14:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-fcc-1-speedyfoam-coil-cleaner-concentrate-non-acidic-alkaline-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 14:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70214x2x75bk-switchboard-mat-roll>: HTTP status code is not handled or not allowed 2026-01-28 14:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-angular-contact-bearings-5207-2rs-2-rubber-seals-medium-duty-35mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving>: HTTP status code is not handled or not allowed 2026-01-28 14:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-r12-2rs-sealed-light-duty-075-inch-bore-1625-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 14:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6211-open-medium-duty-55mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-rubber-speed-bump-yellow-stripes-72-inches>: HTTP status code is not handled or not allowed 2026-01-28 14:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 113534 pages (at 94 pages/min), scraped 55841 items (at 30 items/min) 2026-01-28 14:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6209-2rs-2-rubber-seals-medium-duty-45mm-bore-85mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6008-open-light-duty-40mm-bore-68mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6304-open-heavy-duty-20mm-bore-52mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-remote-start-reset-button-100-250v-5-7-7-6a>: HTTP status code is not handled or not allowed 2026-01-28 14:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-angular-contact-bearings-5208-zz-2-metal-shields-medium-duty-40mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 14:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-r6-2rs-sealed-light-duty-0375-inch-bore-0875-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 14:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-26a-3ph-remote-start-reset-button-24-60v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 14:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/201099-button-socket-cap-screw-1-4-20-x-3-4-steel-black-oxide-ft-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:27:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/mailboxes_drop_boxes/residential_mailboxes_components already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-remote-start-terminals-start-stop-250-500v-24-29a>: HTTP status code is not handled or not allowed 2026-01-28 14:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m11p-no-smoking-area-sign-no-smoking-4-x-12-whitered>: HTTP status code is not handled or not allowed 2026-01-28 14:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/314300-heavy-hex-nut-1-8-medium-carbon-steel-plain-unc-astm-a194-pkg-of-40>: HTTP status code is not handled or not allowed 2026-01-28 14:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/329410-hex-jam-nut-3-8-24-low-carbon-steel-unf-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-separate-coil-voltage-start-stop-100-250v-25-33a>: HTTP status code is not handled or not allowed 2026-01-28 14:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e30c-ss-extension-spring-375-od-x-0348-wire-dia-175-l-163-lbs-in-302-ss>: HTTP status code is not handled or not allowed 2026-01-28 14:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-maintenance-tarp-28432-5l-x-5w->: HTTP status code is not handled or not allowed 2026-01-28 14:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/track-mat-10l-x-3w-28342>: HTTP status code is not handled or not allowed 2026-01-28 14:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/mailboxes_drop_boxes/residential_mailboxes_components>: HTTP status code is not handled or not allowed 2026-01-28 14:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jl22042o-voltage-marker-277480-volts-1-18-x-4-12-orangeblack>: HTTP status code is not handled or not allowed 2026-01-28 14:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tma1h-traffic-sign-van-accessible-6-x-12-whiteblue>: HTTP status code is not handled or not allowed 2026-01-28 14:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d643pb-osha-sign-danger-confined-space-authorized-personnel-only-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 14:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w149ap-osha-sign-warning-pinch-points-3-x-5-orangeblack>: HTTP status code is not handled or not allowed 2026-01-28 14:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/travira-60-square-dining-table-tekwood-vintage>: HTTP status code is not handled or not allowed 2026-01-28 14:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n206rb-osha-sign-notice-hard-hat-safety-glasses-required-10-x-14-whiteblueblack>: HTTP status code is not handled or not allowed 2026-01-28 14:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-oscillating-pedestal-fan-24-diameter-1-2hp>: HTTP status code is not handled or not allowed 2026-01-28 14:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-3ph-remote-start-terminals-reset-button-250-500v-50-60a>: HTTP status code is not handled or not allowed 2026-01-28 14:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c359p-osha-sign-caution-low-overhead-clearance-7-x-10-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 14:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carafe-50-liter-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-1ph-direct-online-reset-button-100-250v-57-67a>: HTTP status code is not handled or not allowed 2026-01-28 14:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8019-heavy-duty-adjustable-work-table-w-drawer>: HTTP status code is not handled or not allowed 2026-01-28 14:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/areca-palm-with-bamboo-vase-silk-plant>: HTTP status code is not handled or not allowed 2026-01-28 14:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-119499-zirconia-alumina-2-x-36-60-grit>: HTTP status code is not handled or not allowed 2026-01-28 14:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boston-fern-with-wicker-basket-silk-plant>: HTTP status code is not handled or not allowed 2026-01-28 14:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-1901-aluminum-oxide-2-x-72-120-grit>: HTTP status code is not handled or not allowed 2026-01-28 14:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-keypad-depository-safe-15-5-16w-x-13-1-2d-x-19h>: HTTP status code is not handled or not allowed 2026-01-28 14:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-307822-ceramic-3-4-x-12-50-grit>: HTTP status code is not handled or not allowed 2026-01-28 14:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/director-2-wire-surveillance-kit-kenwood-hyt-relm-radios>: HTTP status code is not handled or not allowed 2026-01-28 14:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-72041-aluminum-oxide-3-8-x-13-40-grit>: HTTP status code is not handled or not allowed 2026-01-28 14:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-inpass-1-inch-npt-coalescing-filter-178-cfm-8-000-hr-0-01-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 14:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-1-1-2-inch-npt-coalescing-filter-430-cfm-8-000-hr-0-01-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 14:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-edge-1-x-32-625-labeling-strip-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 14:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olympia-i2v-l-7420-two-handle-bathroom-widespread-faucet-with-pop-up-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-800-lb-capacity-work-platform-with-36-w-x-48-l-platform>: HTTP status code is not handled or not allowed 2026-01-28 14:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-knob-passage-handle-set>: HTTP status code is not handled or not allowed 2026-01-28 14:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-motegi-2mt260-single-lever-pull-down-kitchen-faucet-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-plated-victorian-style-keyed-mortise-entry-lock-set>: HTTP status code is not handled or not allowed 2026-01-28 14:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neo-type-carbon-band-saw-coil-100-long-05w-14-tpi-025-thick>: HTTP status code is not handled or not allowed 2026-01-28 14:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diemaster-2-bi-metal-bandsaw-coil-100-long-05w-14-tpi-025-thick-B981859>: HTTP status code is not handled or not allowed 2026-01-28 14:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nord-lock-1103-wedge-locking-washer-316-stainless-steel-m12-pkg-of-200>: HTTP status code is not handled or not allowed 2026-01-28 14:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nord-lock-1588-wedge-locking-washer-254-smo-stainless-steel-3-4-pkg-of-3>: HTTP status code is not handled or not allowed 2026-01-28 14:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-mod-3mo180-bn-single-lever-bathroom-faucet-with-pop-up-pvd-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 14:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chase-doors-airgard-174-973-flexible-black-swinging-door-9-w-x-10-h-with-impact-plates>: HTTP status code is not handled or not allowed 2026-01-28 14:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collapsible-solid-wall-bulk-container-with-lid-casters-39-1-4-l-x-31-1-2-w-x-29-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-osha-stairway-stair36o-5-42>: HTTP status code is not handled or not allowed 2026-01-28 14:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stst24113-24-inch-series-2000-tool-box-with-2-3-tray>: HTTP status code is not handled or not allowed 2026-01-28 14:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-shelving-36-inch-x-24-inch-600-lb-capacity-brushed-silver>: HTTP status code is not handled or not allowed 2026-01-28 14:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-949-bi-material-adjustable-wrench-10-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 14:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84-028-bi-material-diagonal-cutting-pliers-7-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 14:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-104-fatmax-wrecking-bar-36-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 14:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-16-unit-first-aid-kit-25-person-ansi-compliant-class-a-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 14:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aqua-shield-on-demand-stainless-union-circulator-for-single-pipe-systems>: HTTP status code is not handled or not allowed 2026-01-28 14:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/136-osha-stairway-stair36o-16-136>: HTTP status code is not handled or not allowed 2026-01-28 14:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-563-fatmax-compound-action-aviation-snips-straight>: HTTP status code is not handled or not allowed 2026-01-28 14:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-4-open-grid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 14:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-36-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-3-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-storage-cabinet-double-door-horizontal-16-cylinder-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/121-osha-stairway-stair36o-14-121>: HTTP status code is not handled or not allowed 2026-01-28 14:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-4-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyless-rigid-coupling-c600e262-steel-2625d-x-5826d-258l-shaft>: HTTP status code is not handled or not allowed 2026-01-28 14:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compressor-l800067-model-lpv8060-single-stage-compressor-pump-2-cylinder-25-5-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-bronze-bearing-pbpsbr062-press-steel-housing-selfalign-58-bore>: HTTP status code is not handled or not allowed 2026-01-28 14:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 113635 pages (at 101 pages/min), scraped 55872 items (at 31 items/min) 2026-01-28 14:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-891-6-mil-lower-collection-replacement-bag-for-50-786-50-760-dust-collectors>: HTTP status code is not handled or not allowed 2026-01-28 14:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-18-inch-d-x-74-inch-h-2000-lbs-cap-3-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-4-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 14:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-sided-self-supporting-tank-hs-1800-135-dia-x-46h-1800-gallon-cap-green>: HTTP status code is not handled or not allowed 2026-01-28 14:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28mm-locking-assembly-c405-series-c405m28x55-metric-m6-x-35>: HTTP status code is not handled or not allowed 2026-01-28 14:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-sided-self-supporting-tank-ls-4000-216-dia-x-33h-4000-gallon-cap-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-ball-bearing-pbpsbl062-selfaligning-pressed-steel-housing-58-bore>: HTTP status code is not handled or not allowed 2026-01-28 14:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-al4l-lefthand-type-d-214l-thread-fits-12-shaft>: HTTP status code is not handled or not allowed 2026-01-28 14:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-coupling-mrc204h90-steel-20mm-5pk>: HTTP status code is not handled or not allowed 2026-01-28 14:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-36-inch-w-x-24-inch-d-x-86-inch-h-2000-lbs-cap-5-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-48-inch-w-x-21-inch-d-x-86-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-54-inch-w-x-21-inch-d-1000-lbs-cap-removable-open-grid-mat-polymer-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-60-inch-w-x-24-inch-d-1000-lbs-cap-removable-solid-shelf-mat-polymer-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-water-bladder-tank-bt-2000pw-174l-x-126w-x-22h-2000-gallon-cap-powder-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-18-inch-d-x-62-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:28:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/bins_totes_containers/liquid_storage_tanks/folding_tanks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-frame-pvc-decontamination-pool-alfdp-44-48l-x-12w-x-34h-110-gallon-cap-red>: HTTP status code is not handled or not allowed 2026-01-28 14:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sws-plus-030-micro-precision-wire-strippers-03mm-solid-stranded-wires>: HTTP status code is not handled or not allowed 2026-01-28 14:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-tapping-screw-10-x-1-12-flange-hex-head-pkg-of-140-itw-teks174-21332>: HTTP status code is not handled or not allowed 2026-01-28 14:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-5-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-16-wire-stripper-10-5-awg-conductor-or-solar-cables>: HTTP status code is not handled or not allowed 2026-01-28 14:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cb101002-head-flushing-with-hose-and-nozzle-30-x-30>: HTTP status code is not handled or not allowed 2026-01-28 14:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-54-inch-w-x-21-inch-d-x-50-inch-h-2000-lbs-cap-4-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 14:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-60-x-18-x-63-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-28 14:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-72-x-18-x-74-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-28 14:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nondrainage-angle-frame-k5-single-leaf-aluminum-42l-x-42w>: HTTP status code is not handled or not allowed 2026-01-28 14:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/bins_totes_containers/liquid_storage_tanks/folding_tanks>: HTTP status code is not handled or not allowed 2026-01-28 14:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10010041-225-w-x-25-l-dt-z-select-4000d-paper-label-perf>: HTTP status code is not handled or not allowed 2026-01-28 14:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-24-inch-d-x-62-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-steel-closed-shelving-4-shelves24d-x-60w-x-72h>: HTTP status code is not handled or not allowed 2026-01-28 14:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oscillating-wallmount-fan-3-speed-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-inch-air-circulator-fan-3-speed-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basket-truck>: HTTP status code is not handled or not allowed 2026-01-28 14:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21x19x1-1-2-shelf>: HTTP status code is not handled or not allowed 2026-01-28 14:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-modular-fr-lubricator-wend-ports-c70352w-gauge-metal-bowl-wsight-manual>: HTTP status code is not handled or not allowed 2026-01-28 14:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-72w-desk-72w-x-36d-x-29-1-2h-gray-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-right-curved-desk-extension-47w-x-28d-x-29-1-2h-sea-salt>: HTTP status code is not handled or not allowed 2026-01-28 14:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-left-hand-bridge-48w-x-24d-x-29-1-2h-mocha>: HTTP status code is not handled or not allowed 2026-01-28 14:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-tx2101-10-hp-341-cfm-175-max-psi>: HTTP status code is not handled or not allowed 2026-01-28 14:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/florence-4b-horizontal-mailbox-140075pla-38-1316-h-30-mailboxes-1-parcel-front-load-usps>: HTTP status code is not handled or not allowed 2026-01-28 14:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/approach-ramp-48>: HTTP status code is not handled or not allowed 2026-01-28 14:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replace-vinyl-liner-ylw-12-bu>: HTTP status code is not handled or not allowed 2026-01-28 14:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-deck-48-d-x-34-w>: HTTP status code is not handled or not allowed 2026-01-28 14:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-deck-42-d-x-34-w>: HTTP status code is not handled or not allowed 2026-01-28 14:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb4016-9-m-sublite-athletic-work-shoe-steel-toe-men-s-size-9>: HTTP status code is not handled or not allowed 2026-01-28 14:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensi-wrap-self-adherent-bandage-rolls-3w-x-5-yards-light-blue-24-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-sling-large>: HTTP status code is not handled or not allowed 2026-01-28 14:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sae-heavy-duty-magnetic-power-nut-driver-10584x-1-4-drive-3-8-tip-1-3-4-long>: HTTP status code is not handled or not allowed 2026-01-28 14:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-head-stethoscope-50-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-coated-barrier-isolation-gowns-large-white-50-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mega-straight-shelf-mobile-single-48w-x-15d-x-42h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-28 14:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cervical-collar-3-high-large-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combine-pads-sterile-1pouch-8w-x-7-12l-240-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubbie-lid-13-1-2l-x-8-5-8w-x-1-4-h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubbie-lid-13-1-2l-x-8-5-8w-x-1-4h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubbie-tote-tray-13-1-2l-x-8-5-8w-x-5-1-4h-green>: HTTP status code is not handled or not allowed 2026-01-28 14:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-tray13-1-2l-x-11w-x-3h-almond>: HTTP status code is not handled or not allowed 2026-01-28 14:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm098h-traffic-sign-no-standing-anytime-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 14:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-tray13-1-2l-x-11w-x-3h-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprague-rappaport-stethoscopes-black-20-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynaride-s2-wheelchair-detachable-full-arm-elevating-legrest-18w-seat>: HTTP status code is not handled or not allowed 2026-01-28 14:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tm500k-traffic-sign-advance-turn-arrow-left-15-x-21-white>: HTTP status code is not handled or not allowed 2026-01-28 14:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms305h-traffic-sign-reserved-parking-arizona-18-x-12-white>: HTTP status code is not handled or not allowed 2026-01-28 14:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynaride-s2-wheelchair-detachable-desk-arm-foot-rest-16w-seat>: HTTP status code is not handled or not allowed 2026-01-28 14:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-tms324h-traffic-sign-reserved-parking-new-jersey-12-x-10-white>: HTTP status code is not handled or not allowed 2026-01-28 14:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18l-braided-non-absorbable-silk-sutures-c6-needle-black-size-4-to-0-12-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-30x48-mold-on-rubber-wheels-lip-edge>: HTTP status code is not handled or not allowed 2026-01-28 14:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-adjustable-warming-rack-stainless-steel-abr-48>: HTTP status code is not handled or not allowed 2026-01-28 14:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-crutches-for-youth-single-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indirect-fired-forced-air-heater-hs2000id-205000-btu>: HTTP status code is not handled or not allowed 2026-01-28 14:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 113732 pages (at 97 pages/min), scraped 55900 items (at 28 items/min) 2026-01-28 14:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-l552-10-in-type-2-5hp-left-tilt-w-52-in-fence-system>: HTTP status code is not handled or not allowed 2026-01-28 14:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-flammable-material-storage-refrigerator-abt-fr-3004-30-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-enzyme-manual-defrost-freezer-20c-abt-3020mp-30-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-berm-foam-wall-12-feet-x-30-feet-24-mil-pvc-black-green>: HTTP status code is not handled or not allowed 2026-01-28 14:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/massage-ball-8-cm-3-2-yellow-1-each>: HTTP status code is not handled or not allowed 2026-01-28 14:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-door-louver-800a11824b-inverted-y-blades-50-free-area-18-x-24-bronze>: HTTP status code is not handled or not allowed 2026-01-28 14:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rt207448-3-aluminum-retractable-shelving-48w-x-20d-x-73h>: HTTP status code is not handled or not allowed 2026-01-28 14:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-quick-mount-barricade-18l-blk-neon-yellow-retractable-belt-modified-mount>: HTTP status code is not handled or not allowed 2026-01-28 14:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-functional-elbow-joint>: HTTP status code is not handled or not allowed 2026-01-28 14:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clutch-gear-impact-resistant-mechanics-glove-w-suregrip-palm-patch-ansi-a2-3xl>: HTTP status code is not handled or not allowed 2026-01-28 14:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-table-30-with-two-chairs-silvermocha>: HTTP status code is not handled or not allowed 2026-01-28 14:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-chairs-natural-table-w-navy-poly-chairs>: HTTP status code is not handled or not allowed 2026-01-28 14:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-stan-the-classic-skeleton-on-roller-stand>: HTTP status code is not handled or not allowed 2026-01-28 14:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-hip-joint-with-removable-muscles-7-part>: HTTP status code is not handled or not allowed 2026-01-28 14:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indication-sign-uss4793-glow-fire-extinguisher-4w-x-13h>: HTTP status code is not handled or not allowed 2026-01-28 14:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gel-mouse-pad-w-wrist-rest-ccs23718-11-x-9-black>: HTTP status code is not handled or not allowed 2026-01-28 14:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mc-spartan-2-way-smart-manifold-with-60-inch-high-pressure-hoses-standard-fittings>: HTTP status code is not handled or not allowed 2026-01-28 14:29:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/cube_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct-usa-crew-armless-chair-floor-mount-midnight-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-door-viewer-kit-u-11187r>: HTTP status code is not handled or not allowed 2026-01-28 14:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/store-n-go-usb-flash-drive-ver95507-8-gb-storage-capcity-red>: HTTP status code is not handled or not allowed 2026-01-28 14:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/39x18x63-trolley-2-perfo-panels-each-side>: HTTP status code is not handled or not allowed 2026-01-28 14:29:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77302-emery-cloth-shop-rolls-grit-180-1-x-10-yards>: HTTP status code is not handled or not allowed 2026-01-28 14:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shell-type-needle-roller-bearing-metric-heavy-duty-12mm-bore-19mm-od-12mm-width>: HTTP status code is not handled or not allowed 2026-01-28 14:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-three-quarter-smooth-leather-cognac-7eee>: HTTP status code is not handled or not allowed 2026-01-28 14:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shell-type-needle-roller-bearing-inch-12-bore-1116-od-625-width>: HTTP status code is not handled or not allowed 2026-01-28 14:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/cube_storage>: HTTP status code is not handled or not allowed 2026-01-28 14:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inner-ring-for-shell-type-needle-roller-bearing-metric-25mm-bore-30mm-od-205mm-width>: HTTP status code is not handled or not allowed 2026-01-28 14:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24220-black-oxide-drill-bit-135-5-16-x-4-1-2>: HTTP status code is not handled or not allowed 2026-01-28 14:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss316-66004x03-12x38-class-150-hex-bushing-stainless-steel-316>: HTTP status code is not handled or not allowed 2026-01-28 14:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26220-cobalt-drill-bit-135-5-16-x-4-1-2>: HTTP status code is not handled or not allowed 2026-01-28 14:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/computers_electronics/computer_tablet_accessories/data_storage_media>: HTTP status code is not handled or not allowed 2026-01-28 14:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-waterproof-leather-brown-12w>: HTTP status code is not handled or not allowed 2026-01-28 14:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-slip-on-boat-shoe-smooth-leather-cognac-7eee>: HTTP status code is not handled or not allowed 2026-01-28 14:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-ultraknit-flexweave-black-10-5m>: HTTP status code is not handled or not allowed 2026-01-28 14:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-hi-low-upholstered-mat-platform-table-84l-x-48w-x-19-27h>: HTTP status code is not handled or not allowed 2026-01-28 14:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lube-band-saw-lubricant-68014-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 14:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slim-frame-with-hinged-connection-50-sfp402h-cl-sa-48-x-24-satin-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 14:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h14716-0000-polyethylene-18-liter-large-industrial-drum-funnel-1pk>: HTTP status code is not handled or not allowed 2026-01-28 14:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-swivel-sign-frame-50-1130sv-s-sa-7-x-11-for-7-posts-satin>: HTTP status code is not handled or not allowed 2026-01-28 14:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hbb-separated-combustion-unit-heater-stainless-steel-exchanger-200000-btu>: HTTP status code is not handled or not allowed 2026-01-28 14:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uy3558-2a-maintenance-free-quiet-locker-double-tier-15x15x36-6-doors-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 14:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crane-scale-lhs3000-3300-lb-capacity-0-4-lb-readability>: HTTP status code is not handled or not allowed 2026-01-28 14:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmb-temperature-calibration-kit-10700010636>: HTTP status code is not handled or not allowed 2026-01-28 14:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-lockout-pouch-premier-electrical-device-assortment-3-zen-padlocks-red>: HTTP status code is not handled or not allowed 2026-01-28 14:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-a1106-anodized-aluminum-safety-padlock-1-1-2-inchw-1-1-2-inchtall-shackle-keyed-alike-silver>: HTTP status code is not handled or not allowed 2026-01-28 14:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1226-5a-premium-locker-five-tier-12x12x12-5-doors-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 14:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3558-2hv-a-heavy-duty-ventilated-locker-double-tier-15x15x36-6-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-starter-unit-54w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1282-2mr-black-tie-locker-double-tier-12x18x36-2-doors-unassembled-black-red>: HTTP status code is not handled or not allowed 2026-01-28 14:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-solid-door-wardrobe-cabinet-36wx18dx72h-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 14:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-starter-unit-30w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-add-on-unit-60w-x-30d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubix-modular-locker-padlockable-12x12x12-plain-door-midnight-ebony>: HTTP status code is not handled or not allowed 2026-01-28 14:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-add-on-unit-24w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mill-favorite-roll-on-cant-hook-t-019-030-0267-hardwood-handle-30>: HTTP status code is not handled or not allowed 2026-01-28 14:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indexing-plunger-mini-w-hidden-lock-zinc-5-0-18-0n-pressure-m10-1-thread-6-7mm-pin>: HTTP status code is not handled or not allowed 2026-01-28 14:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indexing-plunger-long-knob-wo-rest-black-4-0-12-0n-pressure-m8-1-thread-4-6mm-pin>: HTTP status code is not handled or not allowed 2026-01-28 14:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indexing-plunger-mini-w-hidden-lock-lock-out-zinc-5-0-18-0n-pressure-m10-1-thread-7-7mm-pin>: HTTP status code is not handled or not allowed 2026-01-28 14:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indexing-plunger-w-knob-zinc-5-0-24-0n-pressure-m8-1-25-thread-5-5mm-pin>: HTTP status code is not handled or not allowed 2026-01-28 14:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/np-two-piece-biocooler-fits-box-18-inch-l-x-18-inch-w-x-18-inch-h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-storagemaster-rolling-work-bench-1000-lbs-steel-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-storagemaster-mechanics-chest-8-drawer-1000-lbs-steel-red>: HTTP status code is not handled or not allowed 2026-01-28 14:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-staple-2-length-7-16-crown-galvanized-steel-pkg-of-10000>: HTTP status code is not handled or not allowed 2026-01-28 14:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-r-b-wire-front-load-wire-laundry-cart-double-pole-rack-2-25-bushel-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 113828 pages (at 96 pages/min), scraped 55931 items (at 31 items/min) 2026-01-28 14:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gauge-straight-finish-nail-2-length-304-stainless-steel-pkg-of-25000-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-28 14:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-antimicrobial-laundry-cart-w-double-pole-rack>: HTTP status code is not handled or not allowed 2026-01-28 14:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-6-bushel-ups-fedex-able-antimicrobial-basket-all-swivel-casters-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-6-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 14:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-case-qf920gr-watertight-4-pistol-capacity-20-1-8-x16-1-8-x10-1-8-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-8-bushel-ups-fedex-able-vinyl-basket-all-swivel-casters-red>: HTTP status code is not handled or not allowed 2026-01-28 14:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-stainless-cutting-wheel-dw8425-type-27-5-diameter-12200-rpm-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-10-bushel-ups-fedex-able-antimicrobial-basket-all-swivel-casters-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-esd-rubber-matting-mt3672-36x72x0080-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tt-esd-rubber-matting-mt3660-36x60x0080-royal-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-1-compartment-clear-hair-net-beard-cover-shoe-cover-arm-protector-dispenser-no-hole>: HTTP status code is not handled or not allowed 2026-01-28 14:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-16-bushel-ups-fedex-able-vinyl-basket-all-swivel-casters-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-grille-bath-fan-pb370-2-120v-1-ph-370-cfm-no-light-6-duct>: HTTP status code is not handled or not allowed 2026-01-28 14:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-roller-seat-w-tool-tray-300-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-window-60-1-4w-x-72h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-roof-ventilator-direct-drive-upblast-5ddu085ay-1-25-hp-115v-1-ph-420-cfm-odp>: HTTP status code is not handled or not allowed 2026-01-28 14:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blower-wheel-10-3-4-dia-x-1-7-8w-for-garland-g02952-01p>: HTTP status code is not handled or not allowed 2026-01-28 14:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-fuse-250v-1a-for-hobart-fe-023-08>: HTTP status code is not handled or not allowed 2026-01-28 14:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-top-connector-global-industrial-153-gantry-cranes-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 14:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coated-bulb-230-240v-50-60w-for-hatco-023005800>: HTTP status code is not handled or not allowed 2026-01-28 14:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contactor-3-pole-40-50a-120v-for-market-forge-10-5944>: HTTP status code is not handled or not allowed 2026-01-28 14:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-upg-sel-cp0660-6v-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pf-pulsar-carpet-extractor-15-gallon-100-psi>: HTTP status code is not handled or not allowed 2026-01-28 14:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x2x3-round-end-65-gallon-poly-stock-tank>: HTTP status code is not handled or not allowed 2026-01-28 14:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hn-height-adjustable-t-arms-for-volt-series-task-chairs-black>: HTTP status code is not handled or not allowed 2026-01-28 14:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-with-partial-window-60-1-4-w-x-73-1-2-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poopy-doo-diaper-disposal-bag-dispenser-400-bag-capacity-pd-dsp-06-wh>: HTTP status code is not handled or not allowed 2026-01-28 14:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ce-8-inch-high-level-cleaning-pipe-brush-w-safety-locking-black>: HTTP status code is not handled or not allowed 2026-01-28 14:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cha-anesthesia-cart-w-compact-height-autolock-green>: HTTP status code is not handled or not allowed 2026-01-28 14:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-strip-door-sd14-8-10x6-10w-x-6h-8-amber-tint-pvc>: HTTP status code is not handled or not allowed 2026-01-28 14:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/run-capacitor-40-mfd-440v-oval>: HTTP status code is not handled or not allowed 2026-01-28 14:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-2-v-groove-iron-wheel-with-roller-bearing-for-1-2-axle-800-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/run-capacitor-70-plus-5-mfd-440v-round>: HTTP status code is not handled or not allowed 2026-01-28 14:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/turbo-multi-cap-capacitor-up-to-67-5-mfd-440v>: HTTP status code is not handled or not allowed 2026-01-28 14:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-kensington-bench-wo-back-vertical-slat-black>: HTTP status code is not handled or not allowed 2026-01-28 14:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-power-patrol-sec1050-12v-4-5ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-series-11-1-2height-3w-10-durastan-wheel-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-28 14:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blower-motor-1050-rpm-230v-3-4-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-height-adjustable-laptop-workstation>: HTTP status code is not handled or not allowed 2026-01-28 14:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-6-step-tilt-roll-ladder-expanded-metal-tr6x>: HTTP status code is not handled or not allowed 2026-01-28 14:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-2-step-tilt-roll-ladder-perforated-hl2nsp>: HTTP status code is not handled or not allowed 2026-01-28 14:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-5-step-tilt-roll-ladder-serrated-grating-tr5g>: HTTP status code is not handled or not allowed 2026-01-28 14:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contactor-40-amp-240v-2-pole>: HTTP status code is not handled or not allowed 2026-01-28 14:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800071-wht-1-opaque-plastic-hook-50-pack-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-potter-electric-bt40-12v-4-5ah-alarm-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-office-60w-4-person-l-desk-open-office>: HTTP status code is not handled or not allowed 2026-01-28 14:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/142715-vertical-top-load-acrylic-sign-holder-8-5-x-11-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-hand-soap-with-skin-conditioner-1-gallon-4-case-gjo02105ct>: HTTP status code is not handled or not allowed 2026-01-28 14:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lnr-xt-250-waste-oil-heater-250000-btu>: HTTP status code is not handled or not allowed 2026-01-28 14:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/199608-adhesive-back-c-channel-nameplate-8-5-x-2-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 14:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/532ff-floor-mount-scrub-sink-with-faucet>: HTTP status code is not handled or not allowed 2026-01-28 14:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-aerial-srl-kit-h212002-r410020-a210400-in-back-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/605l-05-model-605l-with-flow-rate-of-05-gpm>: HTTP status code is not handled or not allowed 2026-01-28 14:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/532f0-floor-mount-scrub-sink-with-one-0875-hole-only>: HTTP status code is not handled or not allowed 2026-01-28 14:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/525fl-wall-mount-sink-with-faucet>: HTTP status code is not handled or not allowed 2026-01-28 14:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-proform-f3-climbing-harness-w-quick-connect-legs-m-l>: HTTP status code is not handled or not allowed 2026-01-28 14:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56f1-05-model-56f1-with-flow-rate-of-05-gpm>: HTTP status code is not handled or not allowed 2026-01-28 14:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-roofing-bag-kit-50-feet-harness-qc>: HTTP status code is not handled or not allowed 2026-01-28 14:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-litefit-plus-positioning-harness-w-tongue-buckle-legs-back-hip-d-rings-s>: HTTP status code is not handled or not allowed 2026-01-28 14:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/225596-96-slot-mascara-cosmetic-tray-for-pegboard-slatwall-10-25-x-2-25-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 14:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-metal-locker-70018-open-access-24w-x-18d-x-72h-blue-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-anchor-extension-6-feet-l-o-ring-snaphook-1-4-inch-vinyl-coated-cable>: HTTP status code is not handled or not allowed 2026-01-28 14:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 113928 pages (at 100 pages/min), scraped 55970 items (at 39 items/min) 2026-01-28 14:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-12-gauge-heavy-duty-36-w-x-24-d-x-36-h-counter-high-cabinet-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700508-blu-revolving-pegboard-countertop-display-unit-8-x-20-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701464-pnk-4-sided-interlocking-pegboard-floor-display-14-x-60-pink-opaque>: HTTP status code is not handled or not allowed 2026-01-28 14:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700451-blu-three-sided-spinning-pegboard-w-wheels-16-x-60-blue-opaque>: HTTP status code is not handled or not allowed 2026-01-28 14:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701465-clr-4-sided-interlocking-pegboard-floor-display-w-wheels-14-x-60-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-108l-royal-series-8-center-wall-mount-pre-rinse-base-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 14:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701202-2-5-attached-back-0-148-diameter-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600073-wht-1-5-high-gridwall-extrusion-6-long-white>: HTTP status code is not handled or not allowed 2026-01-28 14:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700220-gre-12-pegboard-revolving-countertop-display-4-sided-green>: HTTP status code is not handled or not allowed 2026-01-28 14:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-arec-x-digital-ceramic-hot-plate-stirrer-115v-60hz>: HTTP status code is not handled or not allowed 2026-01-28 14:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zl-universal-rescue-ready-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyn-1-tier-3-doors-locker-45-inch-w-x-18-inch-d-x-78-inch-h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keystock-12-mm-x-8-mm-x-305-mm-c45k-plain-undersize-din-6880>: HTTP status code is not handled or not allowed 2026-01-28 14:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/703388-wht-4-sided-interlocking-pegboard-display-w-wheels-8-x-40-white-solid>: HTTP status code is not handled or not allowed 2026-01-28 14:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-precision-combination-squares-w-12-inch-blade-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 14:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-10x16-2-wall-3-lgts-3-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-blue-poly-tarp-mt1012-5-mil-10l-x-12w>: HTTP status code is not handled or not allowed 2026-01-28 14:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-blue-poly-tarp-mt1020-5-mil-10l-x-20w>: HTTP status code is not handled or not allowed 2026-01-28 14:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-plastic-folding-chair-800-lbs-capcity>: HTTP status code is not handled or not allowed 2026-01-28 14:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-4-tool-combo-kit-w-saws-21-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 14:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-m-scotch-373-plus-machine-length-carton-sealing-tape-3-inch-x-1000-yds-2-5-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-hammer-dust-extraction-dwh050k-hole-cleaning>: HTTP status code is not handled or not allowed 2026-01-28 14:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-s721-non-ansi-female-vest-61913-pink-2x-large>: HTTP status code is not handled or not allowed 2026-01-28 14:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-3-tier-3-door-locker-15-in-w-x-15-in-d-x-24-in-h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-m-xtract-5-inch-pneumatic-random-orbital-sander-central-vacuum-3-16-inch-orbit-12000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 14:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flex-30-flex-portable-isolator-glove-bag-30w-x-20h-x-26d>: HTTP status code is not handled or not allowed 2026-01-28 14:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-plastic-barrier-chain-in-a-pail-1-1-2-inch-x-300-feet-l-turquoise>: HTTP status code is not handled or not allowed 2026-01-28 14:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-plastic-barrier-chain-in-a-pail-1-1-2-inch-x-300-feet-l-crimson>: HTTP status code is not handled or not allowed 2026-01-28 14:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-aluminum-rolling-ladder-16inw-ribbed-tread-21ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-28 14:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-1-2-inch-medium-duty-reflective-stanchion-kit-w-2-inch-x-50-feet-l-chain-yellow-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-esd-component-shipping-and-storage-box-3l-x-1-7-16w-x-1-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 14:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-aluminum-rolling-ladder-24inw-grip-tread-21ind-top-step-w-o-handrails>: HTTP status code is not handled or not allowed 2026-01-28 14:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circuit-board-shipping-and-storage-box-w-foam-13-1-2l-x-10-7-8w-x-2-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 14:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-3-inch-heavy-duty-ground-pole-kit-w-2-inch-x-50-feet-l-chain-yellow-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-aluminum-rolling-ladder-24inw-ribbed-tread-28ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-28 14:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-28-inch-reflective-traffic-cone-kit-w-2-inch-x-50-feet-l-chain-traffic-blue-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-36-inch-reflective-traffic-cone-kit-w-2-inch-x-50-feet-l-chain-safety-green-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-swivel-plate-caster-204456944-brk4-polyurethane-with-brake-4dia-275-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-117320008-ldpe-1000ml-capacity-isopropanol-4-pk-yellow-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 14:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-116200500-ldpe-500ml-capacity-6-pk-natural-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 14:31:39 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 14:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mason-jars-109160000-polypropylene-4-liters-2-pk-clear-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 14:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-cap-vials-175750015-styrene-polyethylene-55ml-144-pk-clear-w-white-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:31:40 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:56 2026-01-28 14:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-putty-orange-soft-1-pound>: HTTP status code is not handled or not allowed 2026-01-28 14:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-exercise-putty-red-soft-1-pound>: HTTP status code is not handled or not allowed 2026-01-28 14:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-gable-vent-louver-gvve24x24f-24w-x-24h>: HTTP status code is not handled or not allowed 2026-01-28 14:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-exercise-putty-blue-firm-2-ounce>: HTTP status code is not handled or not allowed 2026-01-28 14:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bd-urn-finial-fin06x13ur-634od-x-13h-x-61516>: HTTP status code is not handled or not allowed 2026-01-28 14:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odessa-capital-cap08x02x05od-838w-x-218d-x-514h>: HTTP status code is not handled or not allowed 2026-01-28 14:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-5-tools-4-x-5-lb-putties-medium-yellow-red-green-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-wood-locker-34365-four-tier-3-wide-12w-x-15d-x-18h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-designer-wood-locker-23364-triple-tier-3-wide-15x24x24-maple-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-unit-storage-shelving-chrome-48w-x-18d-x-86h-14-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-unit-storage-shelving-chrome-72w-x-18d-x-74h-14-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-toolboard-single-sided-louvered-panel-20w-4-panel-add-on>: HTTP status code is not handled or not allowed 2026-01-28 14:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-toolboard-double-sided-louvered-panel-20w-6-panel-starter>: HTTP status code is not handled or not allowed 2026-01-28 14:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14001108-angled-peg-hook-for-perfo-panels-4-long-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 14:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gc22ss-gas-cooktop-2-sealed-burners-stainless-steel-cast-iron-grates>: HTTP status code is not handled or not allowed 2026-01-28 14:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-progressive-starter-pack-tan-4-additional-buttons>: HTTP status code is not handled or not allowed 2026-01-28 14:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-band-hand-exerciser-additional-latex-free-bands-only-green-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-band-hand-exerciser-additional-latex-free-bands-only-red-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-green-moderate-10-3773>: HTTP status code is not handled or not allowed 2026-01-28 14:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/com-pax-ial-blower-with-15-duct-canister-9536-15-8-dia-1-4hp-12v-dc-816-cfm>: HTTP status code is not handled or not allowed 2026-01-28 14:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114027 pages (at 99 pages/min), scraped 56007 items (at 37 items/min) 2026-01-28 14:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-skate-board-rom-exerciser-board-only-with-figure-8-pattern>: HTTP status code is not handled or not allowed 2026-01-28 14:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-tape-fsk-facing-tape-1525cw-natural-aluminum-3-7-8-x-150>: HTTP status code is not handled or not allowed 2026-01-28 14:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loaded-gear-vx-200-tactical-right-hand-vest-bi12332-od-green>: HTTP status code is not handled or not allowed 2026-01-28 14:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loaded-gear-cx-400-elbow-and-knee-pads-bi12250-black>: HTTP status code is not handled or not allowed 2026-01-28 14:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-lb-6-span-501-series-steel-wall-mounted-jib-crane-cantilever-design-with-trolley>: HTTP status code is not handled or not allowed 2026-01-28 14:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-lb-cap-8-span-8-hub-500-series-free-standing-workstation-jib-crane>: HTTP status code is not handled or not allowed 2026-01-28 14:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-modular-drawer-cabinet-14-drawers-lock-no-dividers-36-w-x-24-d-x-57-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-stp-steel-safe-roll-lad-wgt-act-lock-24-w-exp-stp-org-wa113214x-o>: HTTP status code is not handled or not allowed 2026-01-28 14:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodeck-smooth-solid-7-8in-thick-18-x-18-charcoal-case-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12684-or-single-horizontal-right-hand-no-hub-o-ring-type-water-closet-carrier>: HTTP status code is not handled or not allowed 2026-01-28 14:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-oil-only-medium-weight-32-x-150-white-1bag>: HTTP status code is not handled or not allowed 2026-01-28 14:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-1f515520-1-power-adapter-cord-with-5-15p-male-plug-to-5-15-20r-female-connector>: HTTP status code is not handled or not allowed 2026-01-28 14:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-x-3-8in-acrylic-mini-roller-covers-2-pack-12-case-6cr038qd>: HTTP status code is not handled or not allowed 2026-01-28 14:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50913-hood-or-wall-mount-pipette-storage-bin-w-magnet-mount-5-w-x-27-h-x-10-d>: HTTP status code is not handled or not allowed 2026-01-28 14:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-part-reeved-cross-parallel-mount-assembly-model-33337902>: HTTP status code is not handled or not allowed 2026-01-28 14:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-trolley-bumper-kit-1-2-3-ton-model-33337905>: HTTP status code is not handled or not allowed 2026-01-28 14:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3350e-v-blk-versa-upholstered-esd-vinyl-stool-aluminum-base-black>: HTTP status code is not handled or not allowed 2026-01-28 14:32:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/shop_presses already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/901001-x-1-ton-single-leverage-press-platen-type>: HTTP status code is not handled or not allowed 2026-01-28 14:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/903006-pedestal-3-pedestal-onlyfor-no-3-press>: HTTP status code is not handled or not allowed 2026-01-28 14:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-24-24-pocket-badge-rack>: HTTP status code is not handled or not allowed 2026-01-28 14:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41304-swipe-cards-51-100>: HTTP status code is not handled or not allowed 2026-01-28 14:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lawn-garden-tire-410-350-6-2-ply-stud>: HTTP status code is not handled or not allowed 2026-01-28 14:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-174-black-trash-bags-40-to-45-gallon-1-0-mil-100-case>: HTTP status code is not handled or not allowed 2026-01-28 14:32:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-nylon-mesh-8-3-8-dia-x-18-l-1000-micron-steel-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 14:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-polyester-multifilament-4-1-8-x-14-200-micron-steel-ring-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 14:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polyester-felt-7-1-8-x-16-1-2-1-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 14:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polyester-felt-7-1-8-x-32-100-micron-plastic-sure-seal-ring-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 14:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-bag-filter-poly-p-felt-7-3-50-dia-x-32-l-25-micron-plastic-sure-seal-ring-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 14:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8a-x-1-2-tri-wing-sheet-metal-screw-pan-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8a-x-1-1-2-tri-wing-sheet-metal-screw-pan-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-balldriver-l-wrench-10910>: HTTP status code is not handled or not allowed 2026-01-28 14:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12ab-x-2-1-2-security-sheet-metal-screw-flat-torx-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 14:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-3-4-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:32:24 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/machining/machinery/metal_cutting_forming_machines/shop_presses landed on page that is not a product page. 2026-01-28 14:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-3-8-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_bags/general_purpose_trash_bags_liners>: HTTP status code is not handled or not allowed 2026-01-28 14:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-hex-t-handle-13307>: HTTP status code is not handled or not allowed 2026-01-28 14:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rectangle-activity-table-30w-x-60l-x-15-to-24h-classic-oak>: HTTP status code is not handled or not allowed 2026-01-28 14:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-electric-stationary-compressor-153120h2ms230-15hp-120-gal-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 14:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-window-36-1-4w-x-43-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-raceway-48-1-4w-x-46h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-conditioner-weatherseal-2-14-2-14-42>: HTTP status code is not handled or not allowed 2026-01-28 14:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-manual-roll-out-drain-away-green>: HTTP status code is not handled or not allowed 2026-01-28 14:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-1-1-2-one-way-machine-screw-round-head-18-8-stainless-steel-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 14:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tamperproof-phillips-pin-head-bit>: HTTP status code is not handled or not allowed 2026-01-28 14:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tamperproof-phillips-pin-head-bit>: HTTP status code is not handled or not allowed 2026-01-28 14:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-modern-cherry-60-overhead-tall>: HTTP status code is not handled or not allowed 2026-01-28 14:32:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-wheel-type-83-244d-3-inch-x-1-inch-x-1-4-inch-80-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 14:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-42w-x-14d-x-14h-1-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducing-sleeve-1-8-x-1-4>: HTTP status code is not handled or not allowed 2026-01-28 14:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-36w-x-18d-x-14h-1-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-alto-attix-19-aluminum-floor-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 14:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0555111-3-4-ball-valve>: HTTP status code is not handled or not allowed 2026-01-28 14:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-42w-x-18d-x-54h-3-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-6mm-tube-x-1-4-metal-release-collet-flow-out-knob-adjustment>: HTTP status code is not handled or not allowed 2026-01-28 14:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-seal-square-18inches-x-18inches>: HTTP status code is not handled or not allowed 2026-01-28 14:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-circular-seal-12inches-diameter>: HTTP status code is not handled or not allowed 2026-01-28 14:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs>: HTTP status code is not handled or not allowed 2026-01-28 14:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50700n-reducer-8mm-stud-x-4mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 14:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultraspill-bermlow-profile>: HTTP status code is not handled or not allowed 2026-01-28 14:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-48w-x-24d-x-63h-4-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-wall-style-specimen-trans-bag-prnt-bio-6w-9l>: HTTP status code is not handled or not allowed 2026-01-28 14:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a160-female-connector-with-50mm-socket-contacts-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transport-bag-tamper-evident-6w-6l>: HTTP status code is not handled or not allowed 2026-01-28 14:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-telemodul-40-c-controller-100-2000-rpm-100-240v>: HTTP status code is not handled or not allowed 2026-01-28 14:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-189340gz-24w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 14:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-189303gz-42w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 14:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rt-basic-magnetic-stirrer-8-66-diameter-top-plate-5l-capacity-100-240v>: HTTP status code is not handled or not allowed 2026-01-28 14:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baby-wipes-tub-white-80-tub-12-case>: HTTP status code is not handled or not allowed 2026-01-28 14:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amber-bag-seal-top-reclosable-2-1-2w-9l>: HTTP status code is not handled or not allowed 2026-01-28 14:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-2-mil-pull-tite-double-drawstring-bag-8w-12l>: HTTP status code is not handled or not allowed 2026-01-28 14:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114124 pages (at 97 pages/min), scraped 56033 items (at 26 items/min) 2026-01-28 14:32:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/candy_gum already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dum-dum-lollipop-variety-360-pieces-gr>: HTTP status code is not handled or not allowed 2026-01-28 14:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189251gz-42w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 14:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-platform-kit-12-x-18-x-18>: HTTP status code is not handled or not allowed 2026-01-28 14:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-48-d-x-96-h-starter-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 14:33:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:33:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-calculator-ti84plus-usb-cable-3-1-3-x-7-1-2-x-9-10-black>: HTTP status code is not handled or not allowed 2026-01-28 14:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dimpled-mat-for-88880019-and-88880021>: HTTP status code is not handled or not allowed 2026-01-28 14:33:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300ml-erlenmeyer-flask-clamp-30155-for-use-with-maxq-shaker-platforms>: HTTP status code is not handled or not allowed 2026-01-28 14:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-platform-kit-12-x-36-x-72>: HTTP status code is not handled or not allowed 2026-01-28 14:33:07 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/food_beverages/snacks_candies/candy_gum landed on page that is not a product page. 2026-01-28 14:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-12-w-x-18-d-x-78-h-725-hallowell-gray-single-tier-1-wide-knock-down>: HTTP status code is not handled or not allowed 2026-01-28 14:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-value-max-locker-12-w-x-18-d-x-78-h-725-hallowell-gray-double-tier-1-wide-knock-down>: HTTP status code is not handled or not allowed 2026-01-28 14:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prang-400-crayons-made-with-soy-24-colorsbox>: HTTP status code is not handled or not allowed 2026-01-28 14:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sharpie-2083-peel-off-china-markers-yellow-dozen>: HTTP status code is not handled or not allowed 2026-01-28 14:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-sized-cap-for-large-column-sentry-4-carton>: HTTP status code is not handled or not allowed 2026-01-28 14:33:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 14:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calcium-lime-rust-remover-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 14:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks>: HTTP status code is not handled or not allowed 2026-01-28 14:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-hi-tech-metal-bin-shelving-36-w-x-18-d-x-87-h-725-hallowell-gray-add-on-unit-24-bins>: HTTP status code is not handled or not allowed 2026-01-28 14:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-120-h-add-on-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 14:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-200004544-4-x-1-1-4-polyolefin-3-8-delrin-bushing-black>: HTTP status code is not handled or not allowed 2026-01-28 14:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/avery-6692-laser-cddvd-labels-matte-white-30pack>: HTTP status code is not handled or not allowed 2026-01-28 14:33:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 14:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221395-pad-rubber-foot-for-waring-products>: HTTP status code is not handled or not allowed 2026-01-28 14:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locator-4-cryogenic-rack-and-box-system-with-level-monitor-111-liters>: HTTP status code is not handled or not allowed 2026-01-28 14:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/westcott-19016-kleencut-shears-leftright-hand-6-black>: HTTP status code is not handled or not allowed 2026-01-28 14:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/endust-for-electronics-end11421-large-sized-microfiber-towels-two-pack15-x-15unscentedblue>: HTTP status code is not handled or not allowed 2026-01-28 14:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunx-ct91664-spf30-sunscreen-single-dose-pouch-100-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261654-orifice-1-4-18-mpt-28>: HTTP status code is not handled or not allowed 2026-01-28 14:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-5-step-24-alum-rolling-ladder-10-top-step-spring-load-a5sh30>: HTTP status code is not handled or not allowed 2026-01-28 14:33:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/decor_linens/classroom_decorations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-pedestal-filefile-mocha>: HTTP status code is not handled or not allowed 2026-01-28 14:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kimberly-clark-1980-scott-scottfold-towels9-25-x-12-25white175-towelspack>: HTTP status code is not handled or not allowed 2026-01-28 14:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-12-gun-steel-security-cabinet-black>: HTTP status code is not handled or not allowed 2026-01-28 14:33:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx340-double-lock-folder-knife>: HTTP status code is not handled or not allowed 2026-01-28 14:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-84-h-starter-3-shelf-levels-steel-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 14:33:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/knives_blades/folding_knives already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:33:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/industrial_commercial_portable_air_conditioners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-wire-container-40x32x34-1-2-3000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wyoming-state-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-28 14:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-1120-21-inch-x-17-inch-cast-iron-bottom-broiler-grate>: HTTP status code is not handled or not allowed 2026-01-28 14:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arizona-state-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-28 14:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/decor_linens/classroom_decorations>: HTTP status code is not handled or not allowed 2026-01-28 14:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441625-model-b-50-60-coil-kit24-vac>: HTTP status code is not handled or not allowed 2026-01-28 14:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-72-w-x-48-d-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-96-h-starter-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:33:35 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/utility_racks/bulk_storage_racks landed on page that is not a product page. 2026-01-28 14:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-20-foot-fertilizer-solution-suction-discharge-hose-assembly-w-c-x-e-aluminum-cam>: HTTP status code is not handled or not allowed 2026-01-28 14:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/hand_saws_cutting_tools_scrapers/knives_blades/folding_knives>: HTTP status code is not handled or not allowed 2026-01-28 14:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-24-d-x-84-h-starter-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:33:38 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/air_conditioners_chillers/industrial_commercial_portable_air_conditioners landed on page that is not a product page. 2026-01-28 14:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ton-low-profile-jack-f-767>: HTTP status code is not handled or not allowed 2026-01-28 14:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-96-h-add-on-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet-5-drawers-63-compart-bright-blueindividual-lock>: HTTP status code is not handled or not allowed 2026-01-28 14:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264772-conversion-kit-1-8-inch-fpt-to-3-16-inch-cct>: HTTP status code is not handled or not allowed 2026-01-28 14:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-mobile-cabinet-8-drawers-90-compart-bright-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-28 14:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561559-deck-mount-faucet>: HTTP status code is not handled or not allowed 2026-01-28 14:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-exercise-cord-with-attachments-7-cord-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-loop-10-long-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expander-3-piece-set-red-green-blue-10-0056>: HTTP status code is not handled or not allowed 2026-01-28 14:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-57022-caution-stripe-tape-2w-x-108-ft-roll>: HTTP status code is not handled or not allowed 2026-01-28 14:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet-8-drawer-117-compart-bright-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-28 14:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-general-purpose-primary-wire-230202-0045-18-gauge-45-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ah21s-stainless-steel-utility-cart-handle-21w>: HTTP status code is not handled or not allowed 2026-01-28 14:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-12-drawer-177-compart-light-gray-individual-lock>: HTTP status code is not handled or not allowed 2026-01-28 14:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-28-14w-drawer-cabinet-4-drawer29-compart-bright-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 14:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-covered-handles-for-exercise-band-tubing-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/163204-fryer-screen-11-x-14-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 14:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-inch-exhaust-shutter>: HTTP status code is not handled or not allowed 2026-01-28 14:33:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-restaurant-lunchroom-bar-height-table-72-x-30-x-42-h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 14:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crimpable-side-terminal-battery-connectors-100653-2001-4-gauge-3-8>: HTTP status code is not handled or not allowed 2026-01-28 14:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114210 pages (at 86 pages/min), scraped 56052 items (at 19 items/min) 2026-01-28 14:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-tubing-with-handles-green-18>: HTTP status code is not handled or not allowed 2026-01-28 14:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a123-portable-dissolved-oxygen-meter-3-meter-cable-kit-stara1236>: HTTP status code is not handled or not allowed 2026-01-28 14:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-cable-tie-tool-502902-001-120-175-lb-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 14:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-pre-cut-exercise-band-xx-light-tan-48-l-strips-box-of-40>: HTTP status code is not handled or not allowed 2026-01-28 14:34:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardian-terminal-solderless-kits-164905-001-65-piece-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 14:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-dual-post-insulator-terminal-protectors-5713-005r-5-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_ties_wraps>: HTTP status code is not handled or not allowed 2026-01-28 14:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-guard-174-25-mil-temporary-surface-protection-36in-x-180ft>: HTTP status code is not handled or not allowed 2026-01-28 14:34:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/cash_handling_equipment/cash_handling_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/31046-10-upright-broom-soft-stiff-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-2537-slimline-base-single-pin-standard-fluorescent-lampholder>: HTTP status code is not handled or not allowed 2026-01-28 14:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321547-o-ring-3-8-inch-id-x-1-16-inch-width>: HTTP status code is not handled or not allowed 2026-01-28 14:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321539-o-ring-1-3-8-inch-id-x-1-8-inch-width-for-hubbell-the-electric-heater-co>: HTTP status code is not handled or not allowed 2026-01-28 14:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-yellow-25-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 14:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wiring_devices/wire_clips_clamps>: HTTP status code is not handled or not allowed 2026-01-28 14:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-soft-sole-boot-cover-m-white>: HTTP status code is not handled or not allowed 2026-01-28 14:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-red-25-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 14:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-1495-af-sentinel-mark-ll-regency-exposed-anti-scald-balanced-pressure-shower>: HTTP status code is not handled or not allowed 2026-01-28 14:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/foodservice/retail_fixtures_displays_equipment/cash_handling_equipment/cash_handling_accessories>: HTTP status code is not handled or not allowed 2026-01-28 14:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/huot-toolscoot-hsk-63a-cnc-holders>: HTTP status code is not handled or not allowed 2026-01-28 14:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321326-gasket1-3-16-inch-x-5-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342003-element-assembly-208v-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 14:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-surface-mount-double-tissue-dispenser-non-controlled-delivery>: HTTP status code is not handled or not allowed 2026-01-28 14:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-stand-24w-x-32d-x-30h-4-cylinder-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011134-nozzle-foamer-w-disconnect>: HTTP status code is not handled or not allowed 2026-01-28 14:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5551303-ust-detail-brush-soft-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigpro174-purofort-full-safety-boots-steel-toe-12h-size-6-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-resistant-wall-panel-marinite-i-fire-block-in-steel-shell-28-x-75>: HTTP status code is not handled or not allowed 2026-01-28 14:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barnstead-full-size-pretreatment-and-scale-eliminator-cartridge-d8921-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261384-union-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 14:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barnstead-ultrapure-and-oxygen-removal-cartridge-d8809-full-size-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53515-stainless-steel-flex-rod-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2171108-base-stir-bar-butter-warmer-for-server-products>: HTTP status code is not handled or not allowed 2026-01-28 14:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-trimline-surface-mounted-ada-dryer-115v-ss>: HTTP status code is not handled or not allowed 2026-01-28 14:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eatdr05s1p-industrial-12-reversible-air-drill-6-cfm-14-inlet>: HTTP status code is not handled or not allowed 2026-01-28 14:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/640066-32-oz-hand-scoop-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/es07v080v1-75hp-two-stage-piston-compressor-80-gallon-vertical-175-psi-1-phase-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-production-workbench-plastic-laminate-safety-edge-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-48w-x-12d-white>: HTTP status code is not handled or not allowed 2026-01-28 14:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-open-43>: HTTP status code is not handled or not allowed 2026-01-28 14:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-36-d-production-workbench-shop-top-square-edge-with-drawers-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-30w-x-14d-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-42w-x-24d-white>: HTTP status code is not handled or not allowed 2026-01-28 14:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-unslotted-beam-pair-144-l-6669-lbs-cap-pr>: HTTP status code is not handled or not allowed 2026-01-28 14:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powered-24-w-x-10-l-belt-conveyor-with-6-h-side-rails>: HTTP status code is not handled or not allowed 2026-01-28 14:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62507-lobby-dustpan-w-broom-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681361-blower-motor-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 14:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-with-ss-thimble-kevlar-tail-716-dia-x-100l>: HTTP status code is not handled or not allowed 2026-01-28 14:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-with-ss-thimble-kevlar-tail-12-dia-x-50l>: HTTP status code is not handled or not allowed 2026-01-28 14:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1292203-filter-grease-20-inch-x-25-inch-aluminum-hr>: HTTP status code is not handled or not allowed 2026-01-28 14:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6959md3-5-metal-detectable-mini-bench-scraper-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-asphalt-installation-blue-cover-black-tapes>: HTTP status code is not handled or not allowed 2026-01-28 14:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-sheet-mover-truck-with-carpet-padded-steel-deck-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-hopper-front-security-bulk-truck-48-cu>: HTTP status code is not handled or not allowed 2026-01-28 14:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polyester-filter-20-w-x-24-h-x-2-d>: HTTP status code is not handled or not allowed 2026-01-28 14:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubbie-storage-organizer-12-sections-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 14:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearance-lettering-non-reflective-black-letter>: HTTP status code is not handled or not allowed 2026-01-28 14:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-48w-x-30d-black>: HTTP status code is not handled or not allowed 2026-01-28 14:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-cleaner-16-outflow-surface-x-14-plug>: HTTP status code is not handled or not allowed 2026-01-28 14:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44-h-x-48-w-so-nylon-column-protector-yellow-cover-white-tapes>: HTTP status code is not handled or not allowed 2026-01-28 14:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-36x18x69-1200-pound-capacity-with-brakes-1>: HTTP status code is not handled or not allowed 2026-01-28 14:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-2-sjoow-black-100-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-60x18x80-1200-pound-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 14:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-3-sjoow-black-250-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-ventilated-all-around-cabinet-36-x-24-x-36>: HTTP status code is not handled or not allowed 2026-01-28 14:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-fuming-brazing-rod-with-flux-18-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-36-d-production-workbench-shop-top-square-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29593-59-basic-aluminum-handle-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114308 pages (at 98 pages/min), scraped 56082 items (at 30 items/min) 2026-01-28 14:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8490-ultra-track-berm-4-by-6-pvc>: HTTP status code is not handled or not allowed 2026-01-28 14:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-with-stainless-steel-thimble-12-dia-x-100l>: HTTP status code is not handled or not allowed 2026-01-28 14:34:57 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/janitorial_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69607-8-bench-scraper-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69604-8-bench-scraper-red>: HTTP status code is not handled or not allowed 2026-01-28 14:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stronghold-extra-wide-metal-bin-compartment-cabinet-77-x-36-x-72>: HTTP status code is not handled or not allowed 2026-01-28 14:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56899-1-5-gallon-bucket-lid-black>: HTTP status code is not handled or not allowed 2026-01-28 14:35:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/compartment_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-access-door-12-x-12>: HTTP status code is not handled or not allowed 2026-01-28 14:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium34-28-23-collapsible-inside-34l-x-28w-x-23>: HTTP status code is not handled or not allowed 2026-01-28 14:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62502-lobby-dustpan-w-broom-green>: HTTP status code is not handled or not allowed 2026-01-28 14:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-snow-ice-melting-heated-walkway-mat-3-x-15-120-volts>: HTTP status code is not handled or not allowed 2026-01-28 14:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-sign-exit-exit-please-do-not-enter-7-x-11-with-adapter>: HTTP status code is not handled or not allowed 2026-01-28 14:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/janitorial_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 14:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-apex153-500-portable-evaporative-cooler-13-gallon-cap-120v-800-cfm-14-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29002-food-hoe-green>: HTTP status code is not handled or not allowed 2026-01-28 14:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281619-leveler-non-skid>: HTTP status code is not handled or not allowed 2026-01-28 14:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-unit-black-yellow-15-black-yellow-belt>: HTTP status code is not handled or not allowed 2026-01-28 14:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/cabinets/compartment_cabinets>: HTTP status code is not handled or not allowed 2026-01-28 14:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-tropez-entree-dome-high-temp-7-3-4d-12-cs-onyx-dx9407b03>: HTTP status code is not handled or not allowed 2026-01-28 14:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1166-fiberglass-sleeving-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nugget-ice-machine-340lb>: HTTP status code is not handled or not allowed 2026-01-28 14:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40102-2-stainless-steel-handle-mounted-scraper-pink>: HTTP status code is not handled or not allowed 2026-01-28 14:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storability-15-wire-basket-with-lock-on-brackets>: HTTP status code is not handled or not allowed 2026-01-28 14:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-1258-2-inch-broiler-burner-valve-knob-off-low-high>: HTTP status code is not handled or not allowed 2026-01-28 14:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/student-desk-with-open-front-metal-book-box>: HTTP status code is not handled or not allowed 2026-01-28 14:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-handle-chest-floor-weight-pulley-system-with-single-weight-stack-5-x-2-2-lb-weights>: HTTP status code is not handled or not allowed 2026-01-28 14:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forkli-able-shipping-container-with-lid-51-x-19-1>: HTTP status code is not handled or not allowed 2026-01-28 14:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-ss-nsf-wall-shelf-12>: HTTP status code is not handled or not allowed 2026-01-28 14:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-outdoor-quartz-electric-infrared-heater-och-57-208vce-208v-3000w-with-cord-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-climbing-peak-safety-helmet-type-1-4-point-ratchet-suspension-hi-viz-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-weight-1-lb-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-sectional-stackbin-unit-37-w-8-d-x-4-1-2-h-blue-8-compartments>: HTTP status code is not handled or not allowed 2026-01-28 14:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strapping-dispenser-poly-strapping-300-seals-tools-1>: HTTP status code is not handled or not allowed 2026-01-28 14:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-wire-black-powder-coat-fence-1>: HTTP status code is not handled or not allowed 2026-01-28 14:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-high-section-bases-for-37-w-x-20-1-2-d-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-compartment-sectional-unit-37-w-x-20-d-x-53-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rl-360-6-dual-ramp-portable-bariatric-wheelchair-scale-1000-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 14:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rl-mps-20-mechanical-physician-scale-440-lb-x-4-oz>: HTTP status code is not handled or not allowed 2026-01-28 14:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1211117-leveler-non-skid-3-8-16-thd>: HTTP status code is not handled or not allowed 2026-01-28 14:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-quart-tribute-pan-helper-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-safety-bib-overall-4xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261672-press-in-needle11-16>: HTTP status code is not handled or not allowed 2026-01-28 14:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-oxford-insulated-pull-on-safety-pants-xs-black>: HTTP status code is not handled or not allowed 2026-01-28 14:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-1090-lever-waste-drain-body-bushing>: HTTP status code is not handled or not allowed 2026-01-28 14:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-ball-tee-for-15-tubing-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 14:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-top-bin-level-kit-for-22-cuber-or-gem0650-gem0956-on-iod-200-or-250>: HTTP status code is not handled or not allowed 2026-01-28 14:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-safety-bib-overall-s-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:35:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-insulated-safety-bib-overall-5xl-black>: HTTP status code is not handled or not allowed 2026-01-28 14:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-steel-flange-and-steel-insert-for-2-tubing-w-polished-brass-canopy>: HTTP status code is not handled or not allowed 2026-01-28 14:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmj04008-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 14:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-11-1-8-w-x-23-5-8-d-x-4-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 14:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-cube-ice-maker-approx523-lb-production-full-size-cube>: HTTP status code is not handled or not allowed 2026-01-28 14:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-30l-x-21w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 14:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cube-ice-maker-undercounter-air-cooled-approx-238-lb-production-full-size-cubes-full-size-cube>: HTTP status code is not handled or not allowed 2026-01-28 14:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-bib-overall-xl-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freeman-15-coil-sidingfencing-nailer>: HTTP status code is not handled or not allowed 2026-01-28 14:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-in-ceiling-mount-fan-8402-cfm>: HTTP status code is not handled or not allowed 2026-01-28 14:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-protection-circuit-breaker-lockout-abs-red>: HTTP status code is not handled or not allowed 2026-01-28 14:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-1121-2-inch-dial-kit-off-1-10>: HTTP status code is not handled or not allowed 2026-01-28 14:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-5-inch-1-piece-utility-tong-3>: HTTP status code is not handled or not allowed 2026-01-28 14:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/tool_storage/jobsite_boxes_storage>: HTTP status code is not handled or not allowed 2026-01-28 14:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-flush-cross-fitting-for-15-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-bib-overall-2xl-black>: HTTP status code is not handled or not allowed 2026-01-28 14:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/516-x-2-34-stud-wedge-anchor-steel-zinc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263834-cap-end-round-tubing>: HTTP status code is not handled or not allowed 2026-01-28 14:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-7-stud-wedge-anchor-steel-hot-dip-galvanized-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 14:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-bib-overall-xs-black>: HTTP status code is not handled or not allowed 2026-01-28 14:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-l-bin-rail-workstation-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00870-little-bucket-of-safe-tie>: HTTP status code is not handled or not allowed 2026-01-28 14:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114403 pages (at 95 pages/min), scraped 56109 items (at 27 items/min) 2026-01-28 14:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl0900302-t5ho-fluorescent-grow-light-kit-24w-6400k-nanotech-reflector-2-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl0900173-t5ho-fluorescent-grow-lighting-kit-39w-6400k-3-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-adjustable-one-piece-seal-med-blue-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901154-funnel-brew-plst-smk-w-bypas-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 14:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-security-laminated-padlocks-with-master-keyed-system-7lf>: HTTP status code is not handled or not allowed 2026-01-28 14:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-security-laminated-padlocks-with-master-keyed-system-3lf>: HTTP status code is not handled or not allowed 2026-01-28 14:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyed-padlock-15-16-shackle-keyed-different-with-master-keyed-system-1>: HTTP status code is not handled or not allowed 2026-01-28 14:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-file-folders-13-cut-second-position-one-ply-top-tab-legal-manila-100box>: HTTP status code is not handled or not allowed 2026-01-28 14:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/165lb-weighing-scale>: HTTP status code is not handled or not allowed 2026-01-28 14:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/performance-spray-gun-rebuild-kit-26840>: HTTP status code is not handled or not allowed 2026-01-28 14:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-42-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 14:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-5-drawer-hang-on-red-4>: HTTP status code is not handled or not allowed 2026-01-28 14:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-708636d>: HTTP status code is not handled or not allowed 2026-01-28 14:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-grip-blind-rivet-1-8-x-1-3-dome-head-039-187-grip-range-aluminum-steel-500-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jointers-powermatic1791241>: HTTP status code is not handled or not allowed 2026-01-28 14:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dumbells-pair-14-008>: HTTP status code is not handled or not allowed 2026-01-28 14:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cct-48-cruiser-bench-counting-scale-100-lb-x-0-005-lb>: HTTP status code is not handled or not allowed 2026-01-28 14:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-accordion-expanding-file-6-pockets-15-tab-leather-like-redrope-letter-red>: HTTP status code is not handled or not allowed 2026-01-28 14:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262117-junction-box>: HTTP status code is not handled or not allowed 2026-01-28 14:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53-cut-a-way-rescue-tube-red-with-guard-in-white-10-204-red>: HTTP status code is not handled or not allowed 2026-01-28 14:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-fleece-lined-safety-jacket-5xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 14:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-poly-oxford-3-in-1-waterproof-parka-jacket-m-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500-watt-24-volt-pure-sine-inverter>: HTTP status code is not handled or not allowed 2026-01-28 14:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011279-hinge-set-for-glasspro>: HTTP status code is not handled or not allowed 2026-01-28 14:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-strapping-5-8-x-033-x-3500-black-16-x-6-core>: HTTP status code is not handled or not allowed 2026-01-28 14:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-recycled-interior-file-folders-13-cut-top-tab-letter-manila-100box>: HTTP status code is not handled or not allowed 2026-01-28 14:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-splash-rescue-tube-navywhite-10-213-nvywhi>: HTTP status code is not handled or not allowed 2026-01-28 14:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-add-on-30-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 14:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-3-12-accordion-expansion-file-pockets-13-tab-lgl-manilaredrope-10box>: HTTP status code is not handled or not allowed 2026-01-28 14:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-690160>: HTTP status code is not handled or not allowed 2026-01-28 14:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxygen-cylinder-bag-10-109>: HTTP status code is not handled or not allowed 2026-01-28 14:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342019-heating-element-69v-300w-for-american-permanent-ware>: HTTP status code is not handled or not allowed 2026-01-28 14:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pillows-yellow-10-011-yel>: HTTP status code is not handled or not allowed 2026-01-28 14:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-hargrave-20302>: HTTP status code is not handled or not allowed 2026-01-28 14:36:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-580mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 14:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vermiculite-coated-fiberglass-welding-blanket-6w-x-8h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1661240-relay-mercury-208-240v>: HTTP status code is not handled or not allowed 2026-01-28 14:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jam-nut-uni5589-m12x1-25-ch-19-sp7-for-iso-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 14:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-columbian-41416>: HTTP status code is not handled or not allowed 2026-01-28 14:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2941065-rod-torque-7-16hex-end-revers-for-anthony-international-california>: HTTP status code is not handled or not allowed 2026-01-28 14:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/416-2-4-composite-adjustable-spreader-lifting-beam-2-ton-capacity-4-hook-spread>: HTTP status code is not handled or not allowed 2026-01-28 14:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8001025-warmer-control-for-alto-shaam>: HTTP status code is not handled or not allowed 2026-01-28 14:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-48-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 14:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/folders_filing/folders/file_folders>: HTTP status code is not handled or not allowed 2026-01-28 14:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-tapered-carpet-66l-x-18w-x-16h-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-tapered-carpet-72l-x-18w-x-24h-red>: HTTP status code is not handled or not allowed 2026-01-28 14:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wilton-21306>: HTTP status code is not handled or not allowed 2026-01-28 14:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-set-carpet-96l-x-36w-8h-16h-24h-two-guard-rails-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-48-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 14:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-r-class-2-heavy-duty-engineer-vest-orange-3xl-sv55-2zod-3x>: HTTP status code is not handled or not allowed 2026-01-28 14:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-60-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 14:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14awg-2c-solid-fire-alarm-cable-plenum-fplr-1000-ft-spool-red>: HTTP status code is not handled or not allowed 2026-01-28 14:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-desiccant-dehumidifier-dd300-12-4-amps-1-4-kw-69-pints>: HTTP status code is not handled or not allowed 2026-01-28 14:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cheesecloth-individual-retail-package-4-sq-yards-per-bag-1>: HTTP status code is not handled or not allowed 2026-01-28 14:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-chrome-wire-shelf-cart-48x24-2-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171433-strainer-floor-sink-dome>: HTTP status code is not handled or not allowed 2026-01-28 14:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rwg52s-kamori-leather-gloves-w-aramid-liner-cut-a4-1-pair-white-s>: HTTP status code is not handled or not allowed 2026-01-28 14:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rwg52m-kamori-leather-gloves-w-aramid-liner-cut-a4-1-pair-white-m>: HTTP status code is not handled or not allowed 2026-01-28 14:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-89978-02-02-knob-adj-18-tube-x-18-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 14:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012072-knob-indicator-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 14:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cep001-r-custom-molded-earplugs-nrr-26db-red-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-125mm-bore-x-170mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 14:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-and-cold-pack-small-4-x-6>: HTTP status code is not handled or not allowed 2026-01-28 14:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114497 pages (at 94 pages/min), scraped 56141 items (at 32 items/min) 2026-01-28 14:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sleeve-18-heat-resistant>: HTTP status code is not handled or not allowed 2026-01-28 14:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-solid-galvanized-shelf-cart-36x18-3-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-80mm-bore-x-100mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 14:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-80mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 14:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-89222-02-04-18-tube-x-14-swift-fit-univ-thread-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 14:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-55901-6-m5-screw-adj-flow-out-6mm-tube-x-m5-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 14:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-85958-53-02-knob-adj-532-tube-x-18-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 14:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reusable-blue-vinyl-cold-pack-slim-3-x-11>: HTTP status code is not handled or not allowed 2026-01-28 14:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saf-t-grip-cutting-board-12x18x1-2-purple>: HTTP status code is not handled or not allowed 2026-01-28 14:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-extra-shelving-36x12x96-with-5-shelves-wire-deck-2>: HTTP status code is not handled or not allowed 2026-01-28 14:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-single-acting-magnetic-cylinder-20mm-bore-x-10mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 14:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-safety-parka-jacket-3xlt-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009590-bracket-kit-lid-hinge-rt-lt-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 14:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-89222-53-04-532-tube-x-14-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 14:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-48x48x84-gray-with-3-shelves-laminated-deck-1200-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 14:37:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/english-ice-cap-reusable-ice-bag-6-diameter-case-of-12>: HTTP status code is not handled or not allowed 2026-01-28 14:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-55925-5-18-knob-adj-5mm-tube-x-18-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 14:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-overall-4xl-blackfluorescent-yellow-green>: HTTP status code is not handled or not allowed 2026-01-28 14:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-record-storage-rack-gray-72-wx-48-d-x-84-h-with-polyethylene-file-boxes>: HTTP status code is not handled or not allowed 2026-01-28 14:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-level-wide-span-rack-48w-x-36d-no-deck-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-85978-08-08-knob-adj-12-tube-x-12-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 14:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-and-cold-pack-x-large-12-x-15>: HTTP status code is not handled or not allowed 2026-01-28 14:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-55901-10-38-screw-adj-10mm-tube-x-38-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 14:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-gallon-reclosable-bag-with-white-block-for-content-identification-155-x-13-27-mil>: HTTP status code is not handled or not allowed 2026-01-28 14:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/wire_shelving/poly_zbrite_wire_shelves>: HTTP status code is not handled or not allowed 2026-01-28 14:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281181-stud-mount-leg1-4-20-1-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 14:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-25mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 14:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-electric-75-1-2-cable-cutter-2>: HTTP status code is not handled or not allowed 2026-01-28 14:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-density-silverware-bags-flat-packed-with-flip-top-closure-10-x-325-05-mil-lldpe>: HTTP status code is not handled or not allowed 2026-01-28 14:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-copper-prep-tool-1-2>: HTTP status code is not handled or not allowed 2026-01-28 14:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-48-w-x-18-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 14:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-and-cold-pack-half-size-5-x-10-24-case>: HTTP status code is not handled or not allowed 2026-01-28 14:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-125mm-bore-x-700mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 14:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-expandable-add-on-rack-36x12x84-gray-with-3-level-wood-deck-1500lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 14:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-12-inch-id-x-2-18-inch-od-x-0093-inch-steel-arbor-spacer-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boots-cleated-outsole-plain-toe-mens-size-15-15h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261789-burner-jet9-16-brass-for-randell>: HTTP status code is not handled or not allowed 2026-01-28 14:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0030-inch-plastic-color-coded-shim-5-inch-x-20-inch-flat-sheet-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1111298-tee-swivel-ez-install-chrome-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 14:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-220mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 14:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150-piece-0020-inch-0031-inch-and-0125-inch-arbor-shim-assortment-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-dual-access-fiberglass-step-ladder>: HTTP status code is not handled or not allowed 2026-01-28 14:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1831222-sprocket-1-2-8-pack-vct-2010-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 14:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-type-i-safety-can-2-gallon-funnel-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-heavy-duty-shelving-48x18x72-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bulk-rack-shelf-wood-deck-48x18-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 14:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finish-thompson-ss-centrifugal-pump-3-impeller-tefc-motor-1>: HTTP status code is not handled or not allowed 2026-01-28 14:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-piece-rectangular-keystock-assortment-zinc-plated-12-inch-length>: HTTP status code is not handled or not allowed 2026-01-28 14:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-elbow-55110-12-12-12mm-tube-x-12-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 14:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finish-thompson-40-econo-pump-tube-ss-shaft>: HTTP status code is not handled or not allowed 2026-01-28 14:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70024-6-7-x-6-7-mobile-skylight-protection-system-polyester-galvanized-steel-black>: HTTP status code is not handled or not allowed 2026-01-28 14:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disc-pad-holder-915-5-inch-x-1-8-inch-x-3-8-inch-m14-20-internal>: HTTP status code is not handled or not allowed 2026-01-28 14:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/58-inch-square-keystock-plain-finish-12-inch-length>: HTTP status code is not handled or not allowed 2026-01-28 14:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48in-rectangular-metal-mesh-picnic-table-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-85210-04-02-14-tube-x-18-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 14:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-record-storage-with-boxes-1>: HTTP status code is not handled or not allowed 2026-01-28 14:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-extra-shelving-48x24x60-gray-with-4-shelves-1200-lb-cap-per-shelf>: HTTP status code is not handled or not allowed 2026-01-28 14:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-36-wx18-dx85-h-open-clip-style-6-shelf>: HTTP status code is not handled or not allowed 2026-01-28 14:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thru-wall-package-drop-vault-plus-dvwm0062sa-w-bottom-hold-rear-access-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114595 pages (at 98 pages/min), scraped 56180 items (at 39 items/min) 2026-01-28 14:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-1ph-1725rpm-c6k17fk21ll>: HTTP status code is not handled or not allowed 2026-01-28 14:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50066-p-plastic-barrier-chain-in-a-pail-hdpe-2-x160-8-51mm-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50007-500-plastic-barrier-chain-hdpe-2-x500-8-51mm-gold>: HTTP status code is not handled or not allowed 2026-01-28 14:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-elbow-85130-02-18-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 14:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-mount-in-ground-post-for-weekend-away-mail-protector-dvjr0060-dvcs0070-dvjr0060pi-sand>: HTTP status code is not handled or not allowed 2026-01-28 14:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221216-container-assembly-plastic-ns-for-waring-products>: HTTP status code is not handled or not allowed 2026-01-28 14:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-1441-neoprene-wiper-strip-96-inch-x-1-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421400-handle-wood-60-inch-w-nylon-tip-for-carlisle-foodservice-products>: HTTP status code is not handled or not allowed 2026-01-28 14:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30020-100-plastic-barrier-chain-alternating-colors-1-5-x100-6-38mm-black-white>: HTTP status code is not handled or not allowed 2026-01-28 14:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suspended-cushioned-telescoping-support-for-16-12-20l-booms>: HTTP status code is not handled or not allowed 2026-01-28 14:38:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/job_site_work_lights already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261056-machine-screw-bx-100-ss1-4-20-x3-4phl-rd-ms18-8>: HTTP status code is not handled or not allowed 2026-01-28 14:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x18x63-stainless-steel-solid-shelving>: HTTP status code is not handled or not allowed 2026-01-28 14:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x18x86-stainless-steel-solid-shelving>: HTTP status code is not handled or not allowed 2026-01-28 14:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antiseptic-spray-for-smartcompliance-cabinets-4-oz-capacity-bottle>: HTTP status code is not handled or not allowed 2026-01-28 14:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conductive-bin-accessory-bin-divider-6>: HTTP status code is not handled or not allowed 2026-01-28 14:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartcompliance-gauze-pad-sterile-12-ply-3-x-3-5-dual-padspack>: HTTP status code is not handled or not allowed 2026-01-28 14:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b48hl-shieldedlined-hose-clamp-2-916-inch-3-12-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-aquatic-exercise-kit-jogger-belt-ankle-cuffs-hand-bars-large-red>: HTTP status code is not handled or not allowed 2026-01-28 14:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-kickboard-with-2-hand-holes-red>: HTTP status code is not handled or not allowed 2026-01-28 14:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-6mm-machine-screw-phillips-pan-head-304-stainless-steel-din-7985-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartcompliance-nitrile-lightweight-gloves-one-size-2-pairsbox>: HTTP status code is not handled or not allowed 2026-01-28 14:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/jobsite_portable_lighting/job_site_work_lights>: HTTP status code is not handled or not allowed 2026-01-28 14:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8-x-1-25-x-16mm-button-head-socket-cap-screw-304-stainless-steel-din-7380-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melamine-laminated-deck-48-wx18-dx1-2-thick>: HTTP status code is not handled or not allowed 2026-01-28 14:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m4-x-0-7-x-25mm-machine-screw-phillips-flat-head-304-stainless-steel-din-965-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-fashion-mat-seven-eighths-3x5-cocoa-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b24hsp-300-series-ss-hose-clamp-1-116-inch-2-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superscrape-mat-4x8>: HTTP status code is not handled or not allowed 2026-01-28 14:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx12-d-x85-h-closed-clip-style-5-shelf-add-on>: HTTP status code is not handled or not allowed 2026-01-28 14:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-x-0-8-x-35mm-socket-head-cap-screw-304-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b24hs-all-ss-worm-gear-hose-clamp-1-116-inch-2-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m10-x-1-5-x-90mm-hex-head-cap-screw-304-stainless-steel-din-931-933-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 14:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-5xl-regular-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-upper-tape-head-carton-sealing-head-pullback-spring-for-412560>: HTTP status code is not handled or not allowed 2026-01-28 14:38:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tex-gold-fp-kinesiology-tape-2-x-5-5-yds-red-6-rolls>: HTTP status code is not handled or not allowed 2026-01-28 14:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tex-gold-fp-kinesiology-tape-2-x-5-5-yds-blue-6-rolls>: HTTP status code is not handled or not allowed 2026-01-28 14:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-145-tefc-1ph-3450rpm-c145c34fk2hh>: HTTP status code is not handled or not allowed 2026-01-28 14:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfy-spring-loaded-goniometer-knee-orthosis-pediatric-large-with-cover>: HTTP status code is not handled or not allowed 2026-01-28 14:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-m-long-tall-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-lid-32-gallon-round-trash-container-2>: HTTP status code is not handled or not allowed 2026-01-28 14:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-1100-10-1-4-inch-door-latch-with-strike-offset-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-pro-right-angle-drill-attachment-3-32-1-2-chuck-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:38:40 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/patient_support_immobilization/splints_supports landed on page that is not a product page. 2026-01-28 14:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-rubbermaid-brute-10-gallon-trash-container-2>: HTTP status code is not handled or not allowed 2026-01-28 14:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6121216-screw-sm-th-ss-100>: HTTP status code is not handled or not allowed 2026-01-28 14:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-conex-translucent-plastic-cold-cups-12-oz>: HTTP status code is not handled or not allowed 2026-01-28 14:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-unicoil-hose-bender-for-34-inch-id-109-inch-max-od-hose>: HTTP status code is not handled or not allowed 2026-01-28 14:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-x-1-inch-x-0002-inch-red-plastic-color-coded-slotted-shim-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 14:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50mm-x-50mm-x-1mm-stainless-steel-metric-slotted-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-strapping-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/efficiencies-mobile-file-file-pedestal-15-w-x-19-88-d-x-28-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-2-inch-x-0045-inch-yellow-sof-shoeelastomer-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-cup-company-plastic-souffle-portion-cups-2oz-translucent-250bag>: HTTP status code is not handled or not allowed 2026-01-28 14:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-bookcase-two-shelf-34-1-2-w-x-12-5-8-d-x-29-h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 14:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/size-c-4-inch-x-4-inch-stainless-steel-slotted-shim-80-piece-shop-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:38:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-tote-basket-white-18-1-4-l-x-17-w-x-7-3-16-h-plain-steel-price-each-for-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 14:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114688 pages (at 93 pages/min), scraped 56217 items (at 37 items/min) 2026-01-28 14:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-143-tefc-1ph-1740rpm-c143c17fb3kk>: HTTP status code is not handled or not allowed 2026-01-28 14:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012024-sight-glass-assembly>: HTTP status code is not handled or not allowed 2026-01-28 14:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-8-reversible-pistol-grip-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-truck-gwk-mpb045vg-lw-fits-yale-model-mpb-045-vg>: HTTP status code is not handled or not allowed 2026-01-28 14:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wiss-wkar2-auto-retracting-safety-utility-knife>: HTTP status code is not handled or not allowed 2026-01-28 14:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-extension-storage-rack>: HTTP status code is not handled or not allowed 2026-01-28 14:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9175-14w-led-s14-frost-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 14:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 14:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-partition-flexible-eleven-panel-4>: HTTP status code is not handled or not allowed 2026-01-28 14:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ph-benchtop-meter-standard-ross-kit-vstar12>: HTTP status code is not handled or not allowed 2026-01-28 14:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9834-5w-a19-led-220-bean-spread-medium-base-5000k>: HTTP status code is not handled or not allowed 2026-01-28 14:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171535-filter-water-system-cfs02-for-cuno-inc>: HTTP status code is not handled or not allowed 2026-01-28 14:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9638-165w-led-br40-reflector-103-beam-spread-medium-base-2700k-dimmable>: HTTP status code is not handled or not allowed 2026-01-28 14:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50mm-x-50mm-x-05mm-stainless-steel-metric-slotted-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6221424-screw-mach-th-ss-100>: HTTP status code is not handled or not allowed 2026-01-28 14:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-3-inch-x-0005-inch-stainless-steel-slotted-shim-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 14:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9171-14w-led-s14-ceramic-green-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 14:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/size-b-3-inch-x-3-inch-stainless-steel-slotted-shim-260-piece-full-assortment>: HTTP status code is not handled or not allowed 2026-01-28 14:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-clear-7>: HTTP status code is not handled or not allowed 2026-01-28 14:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-14th-zip-fleece-sweatshirt-4xl-regular-black>: HTTP status code is not handled or not allowed 2026-01-28 14:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9176-08w-led-t6-indicator-bulb-candelabra-base-frost-2700k>: HTTP status code is not handled or not allowed 2026-01-28 14:39:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/015mm-steel-shim-stock-150mm-x-25m-roll>: HTTP status code is not handled or not allowed 2026-01-28 14:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-wire-display-spinner-2-tier-chrome-black>: HTTP status code is not handled or not allowed 2026-01-28 14:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-321-stainless-steel-tool-wrap-width-10-inch-length-50-thickness-0002-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0026-inch-diameter-stainless-steel-wire-1-pound-coil>: HTTP status code is not handled or not allowed 2026-01-28 14:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wave-spring-302-stainless-steel-0305-od-0243-id-00066-thick-03-h-usa-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-id-x-1-12-inch-od-steel-arbor-shim-assortment>: HTTP status code is not handled or not allowed 2026-01-28 14:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-cellular-phone-display-48l-x-25w-x-35h-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-double-air-actuated-valve-pilot-spring-centered-pressure-center-g1-8-ports>: HTTP status code is not handled or not allowed 2026-01-28 14:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-hand-lever-actuated-valve-pressure-center-g1-8-ports>: HTTP status code is not handled or not allowed 2026-01-28 14:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/partitions_dividers/room_dividers>: HTTP status code is not handled or not allowed 2026-01-28 14:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011631-gasket-drawer-7-1-2-inch-x-29-5-8-inch-for-continental-refrigerator>: HTTP status code is not handled or not allowed 2026-01-28 14:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-armor-2000-construction-harness-quick-connect-buckle-xl>: HTTP status code is not handled or not allowed 2026-01-28 14:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/johnson-professionals-choice-25-power-tape>: HTTP status code is not handled or not allowed 2026-01-28 14:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twin-glazed-porcelain-socket-w-flange-bushing-cap-and-9-in-leads>: HTTP status code is not handled or not allowed 2026-01-28 14:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8015070-fuse-30a-600v>: HTTP status code is not handled or not allowed 2026-01-28 14:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-carabiner-1-2>: HTTP status code is not handled or not allowed 2026-01-28 14:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-dock-board-with-steel-curbs-14>: HTTP status code is not handled or not allowed 2026-01-28 14:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extension-wand-18-gallon-wet-dry-squeegee-vacuum>: HTTP status code is not handled or not allowed 2026-01-28 14:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-normally-closed-single-air-actuated-valve-pilot-spr-return-g1-8-ports>: HTTP status code is not handled or not allowed 2026-01-28 14:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-2120-sandpaper-120-grit-fits-22-44-model-sanders>: HTTP status code is not handled or not allowed 2026-01-28 14:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331758-lidfood-pan-w-hndl-full-clear-for-carter-hoffmann>: HTTP status code is not handled or not allowed 2026-01-28 14:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x8-personal-safety-cubicle-3-6-between-partitions>: HTTP status code is not handled or not allowed 2026-01-28 14:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cewsge-led-wet-location-exit-sign-single-face-green-w-nickel-cadmium-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-horizontallamp-support-clip>: HTTP status code is not handled or not allowed 2026-01-28 14:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evhc12i-led-high-lumen-emergency-unit-white-326-lumens-for-high-mounts-self-diagnostics>: HTTP status code is not handled or not allowed 2026-01-28 14:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-frame-for-8-ft-high-door-or-room-divider>: HTTP status code is not handled or not allowed 2026-01-28 14:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-plastic-lever-lock-10-gallon-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 14:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-canopy-kit-chrome-finish>: HTTP status code is not handled or not allowed 2026-01-28 14:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481062-caster-stem-5-inch-1-2-13x1-inch-w-brk-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 14:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-ft-high-dry-erase-overlay>: HTTP status code is not handled or not allowed 2026-01-28 14:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-display-tower-5-ft-9-inch-high-fabric-sand>: HTTP status code is not handled or not allowed 2026-01-28 14:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06060-1-2-x-2-5-16-x-3-plastic-horseshoe-shim-solid-22s-150pc>: HTTP status code is not handled or not allowed 2026-01-28 14:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264072-shredder-disc-1-2-inch-for-uniworld-foodservice>: HTTP status code is not handled or not allowed 2026-01-28 14:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-90-degree-elbow-adapter-38-tube-od-x-38-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 14:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/active-seating-pivot-chair-black-seat-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxford-72-rectangular-picnic-table-with-2-seats-surface-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 14:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-plug-for-6mm-tube-od>: HTTP status code is not handled or not allowed 2026-01-28 14:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tilt-out-storage-bin-9-compartments-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optio-sauce-pot-3904-8-depth-21-gauge>: HTTP status code is not handled or not allowed 2026-01-28 14:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-pro-bleeding-control-kit-fabric-case>: HTTP status code is not handled or not allowed 2026-01-28 14:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-to-connect-tube-fitting-nylon-plastic-bulkhead-straight-connector-8mm-tube-od>: HTTP status code is not handled or not allowed 2026-01-28 14:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-flat-washer-uss-5-16-i-d-055-072-thick-steel-yellow-zinc-grade-8-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-syringe-filter-0-22um-30mm-bulk-packed-non-sterile-100-case>: HTTP status code is not handled or not allowed 2026-01-28 14:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-1-2-thick-mat-24-wide-black-yellow-border>: HTTP status code is not handled or not allowed 2026-01-28 14:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114786 pages (at 98 pages/min), scraped 56250 items (at 33 items/min) 2026-01-28 14:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-12x15x60-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2541033-shelf-19-3-4-inch-x-19-3-4-inch-for-glasspro>: HTTP status code is not handled or not allowed 2026-01-28 14:39:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/metric_three_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-chairs-sky-blue-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 14:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-double-tier-12x15x36-2-door-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-plastic-condiment-dispenser-w-standard-lid-4743-01-brown-pint-insert-size>: HTTP status code is not handled or not allowed 2026-01-28 14:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-round-table-with-2-imme-armless-barstools-light-gray-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 14:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-moonbeam-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 14:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/304-stainless-steel-sanitary-sight-glass-for-3-tube>: HTTP status code is not handled or not allowed 2026-01-28 14:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014170-hood-filter-type6-stainless-steel-25x20>: HTTP status code is not handled or not allowed 2026-01-28 14:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-24-x-73>: HTTP status code is not handled or not allowed 2026-01-28 14:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardner-bender-46-314uvbfz-xtreme-cable-ties-14-in-black-50lb-100pk>: HTTP status code is not handled or not allowed 2026-01-28 14:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50ml-centrifuge-tube-snap-pop-lid-self-standing-resealable-bag-sterile-500-case>: HTTP status code is not handled or not allowed 2026-01-28 14:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-hp-single-phase-energy-efficient-spa-motor>: HTTP status code is not handled or not allowed 2026-01-28 14:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/metric_three_phase_motors>: HTTP status code is not handled or not allowed 2026-01-28 14:40:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-kondi-keeper-dispenser-insert-4801>: HTTP status code is not handled or not allowed 2026-01-28 14:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-level-boltless-wood-deck-1>: HTTP status code is not handled or not allowed 2026-01-28 14:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-spoon-46995-21-long-18-gauge>: HTTP status code is not handled or not allowed 2026-01-28 14:40:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iec-metric-motor-160m-ip55-3ph-c160t17fz1cc>: HTTP status code is not handled or not allowed 2026-01-28 14:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-dripcut-sugar-packet-holders-wr-1009-chrome-plated-w-o-handles>: HTTP status code is not handled or not allowed 2026-01-28 14:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7000r3-high-speed-pro-random-case-sealer-w-taping-head-top-bottom-belt-drive-3w-tape>: HTTP status code is not handled or not allowed 2026-01-28 14:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-red-4>: HTTP status code is not handled or not allowed 2026-01-28 14:40:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-8-drawer-standard-width-cabinet-gray-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 14:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/322175-strip-curtain-clear-flex-40-inch-x-84-inch-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:40:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-in-coat-towel-rack-shelf-silver>: HTTP status code is not handled or not allowed 2026-01-28 14:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-round-please-wait-here-floor-sign>: HTTP status code is not handled or not allowed 2026-01-28 14:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-barstools-white-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 14:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-lb-capacity-walk-behind-broadcast-spreader>: HTTP status code is not handled or not allowed 2026-01-28 14:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341028-urn-heater240v-3000w-for-seco-products>: HTTP status code is not handled or not allowed 2026-01-28 14:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/distribution-container-with-hinged-lid-22x15-1-4x17-1-4>: HTTP status code is not handled or not allowed 2026-01-28 14:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-film-for-square-elevator-buttons-5-h-x-4-w-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-chairs-navy-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 14:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j-series-pallet-jack-truck-48l-x-27w-5500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1331066-filter-oil-15-3-4-inch-dia-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321501-gh-1440zx-large-spindle-bore-lathe-w-acu-rite-200s-dro-collet-closer-7-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suzuki-vanvan-200-200cc-motorcycle-replacement-battery-2017>: HTTP status code is not handled or not allowed 2026-01-28 14:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-chairs-light-gray-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 14:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-chairs-coral-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 14:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-best-value-wire-shelving-unit-36-w-x-24-d-x-74-h-600-lb-shelf-cap-chrome>: HTTP status code is not handled or not allowed 2026-01-28 14:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-96x48x96-with-3-levels-wood-deck-800lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-lid-10>: HTTP status code is not handled or not allowed 2026-01-28 14:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-lid-15>: HTTP status code is not handled or not allowed 2026-01-28 14:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g11-15-hp-rotary-screw-compressor-120-gal-horizontal-125-psig-3-phase-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 14:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-white-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 14:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-dripcut-cheese-shakers-260-round-perforated-s-s-top-4-oz>: HTTP status code is not handled or not allowed 2026-01-28 14:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-back-diamond-stacking-chair-with-arm-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:40:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1171528-splash-guard-sink-rh-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-4vs-mill-200s-3q-acu-x-y-knee-powerfeed>: HTTP status code is not handled or not allowed 2026-01-28 14:40:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=690214-jtm-1050-milling-machine-w-acu-rite-200s-dro-x-y-axis-powerfeeds-3-hp already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-back-diamond-stacking-chair-with-arm-black-caressoft>: HTTP status code is not handled or not allowed 2026-01-28 14:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leather-sled-base-side-chair-with-arms>: HTTP status code is not handled or not allowed 2026-01-28 14:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690082-jtm-1-vertical-milling-machine-2-hp-230v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 14:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arkadia-32-quart-stock-pot-7308-6-gauge-11-1-2-depth>: HTTP status code is not handled or not allowed 2026-01-28 14:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-d-workstation-fan>: HTTP status code is not handled or not allowed 2026-01-28 14:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breathable-mesh-guest-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 14:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-containment-sump-with-plastic-deck-1>: HTTP status code is not handled or not allowed 2026-01-28 14:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-workmate-stand-ahwh2436>: HTTP status code is not handled or not allowed 2026-01-28 14:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/577004-j-41002-2w-x-42l-bench-belt-8-disc-sander-3-4-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjust-stepmate-stand-stainless-steel-ahwl2424ss>: HTTP status code is not handled or not allowed 2026-01-28 14:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjust-stepmate-stand-stainless-steel-ahwl2436ss>: HTTP status code is not handled or not allowed 2026-01-28 14:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-5-slip-on-floor-savers-gray-8-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-butcher-meat-saw-25-inches>: HTTP status code is not handled or not allowed 2026-01-28 14:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=690214-jtm-1050-milling-machine-w-acu-rite-200s-dro-x-y-axis-powerfeeds-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:40:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-duty-rigid-plate-caster-4-rubber-wheel-240-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-barstools-black-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 14:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-step-stand-2-step-welded-ssa2>: HTTP status code is not handled or not allowed 2026-01-28 14:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690183-jtm-4vs-milling-machine-w-x-axis-powerfeed-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-adjust-boltless-shelf-truck-with-laminate-shelves-6>: HTTP status code is not handled or not allowed 2026-01-28 14:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-netting-wreinforced-grommets-6-x-20-green-pn-30055>: HTTP status code is not handled or not allowed 2026-01-28 14:40:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261121049-bluefire-quick-change-cloth-disc-2-inch-dia-80-grit-zirconia-alumina-type-iii>: HTTP status code is not handled or not allowed 2026-01-28 14:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-adjust-boltless-shelf-truck-with-laminate-shelves-16>: HTTP status code is not handled or not allowed 2026-01-28 14:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014108-hood-filter-type6-alum-16x20-w-btm-bracket>: HTTP status code is not handled or not allowed 2026-01-28 14:40:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tap-holder-w-clutch-1-8-inch-no-0-6-m3-m3-15-at5506>: HTTP status code is not handled or not allowed 2026-01-28 14:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114881 pages (at 95 pages/min), scraped 56274 items (at 24 items/min) 2026-01-28 14:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kyorene-pro-cut-resistant-gloves-hct-micro-foam-nitrile-coated-ansi-a9-2xl-gray-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-hp-cone-wheel-horizontal-grinder>: HTTP status code is not handled or not allowed 2026-01-28 14:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-water-resistant-key-lock-storage-cabinet-44-h-10-cu-ft-putty-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:40:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/conversation_sets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:40:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-insulated-disconnect-m-12-10-awg-0250tab-yellow-4-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-wall-bin-stackable-4>: HTTP status code is not handled or not allowed 2026-01-28 14:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261749-kason-10535l00004-latch-for-cres-cor>: HTTP status code is not handled or not allowed 2026-01-28 14:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/short-ball-toggle-spst-6a-125v-o-f-leads>: HTTP status code is not handled or not allowed 2026-01-28 14:41:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-heated-executive-chair-high-back-19-12-23h-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 14:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wiregard-174-blue-gb-2-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-resistant-gloves-hct-nano-foam-nitrile-coated-ansi-a5-xs-green-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:41:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m12-fuel153-cordless-compact-impact-wrench-kit-brushless-38-torque-12v>: HTTP status code is not handled or not allowed 2026-01-28 14:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-dc-parallel-9rpm-603d>: HTTP status code is not handled or not allowed 2026-01-28 14:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261138675-bluefire-quick-change-cloth-disc-3-inch-dia-24-grit-zirconia-alumina-type-iii>: HTTP status code is not handled or not allowed 2026-01-28 14:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/outdoor_chair_table_sets/conversation_sets>: HTTP status code is not handled or not allowed 2026-01-28 14:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-819wp-extreme-thermal-waterproof-winter-work-gloves-2xl-black>: HTTP status code is not handled or not allowed 2026-01-28 14:41:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/lounge_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/291813-3-flag-room-id-system-8-l-aluminum-flags-1-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-12-belt-sander>: HTTP status code is not handled or not allowed 2026-01-28 14:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-heavy-duty-reel-rack-starter-unit-with-four-pairs-of-reel-rod-holders-72-x-26-x-96-textured-safety-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3457-tubular-steel-burner-23-1-4-inch-x-6-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1631017-bowl-6-qt-stainless-steel-for-kitchen-aid>: HTTP status code is not handled or not allowed 2026-01-28 14:41:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6ft-fiberglass-leansafe-ladder-w-plastic-tool-tray-375-lb-capacity-l7306>: HTTP status code is not handled or not allowed 2026-01-28 14:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264080-kason-10056005005-strike-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 14:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/item-pf39030001-charlie-pendant-control-station>: HTTP status code is not handled or not allowed 2026-01-28 14:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-oyster-king-1853>: HTTP status code is not handled or not allowed 2026-01-28 14:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1751090-rack-paper-support-for-magikitchen-products>: HTTP status code is not handled or not allowed 2026-01-28 14:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kyorene-pro-cut-resistant-gloves-hct-micro-foam-nitrile-coated-ansi-a4-m-gray-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/lounge_chairs>: HTTP status code is not handled or not allowed 2026-01-28 14:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcs50-arctic-radwear-cooling-wrap-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341029-urn-heater208v-4000w>: HTTP status code is not handled or not allowed 2026-01-28 14:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/avervision-u70-plus-usb-flexarm-document-camera>: HTTP status code is not handled or not allowed 2026-01-28 14:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adesso-480p-usb-webcam-with-built-in-microphone>: HTTP status code is not handled or not allowed 2026-01-28 14:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/check-holders-2536-36-long-brushed-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 14:41:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drafting-table-36-long-24-wide-36-high-1-piece-top-large-drawer>: HTTP status code is not handled or not allowed 2026-01-28 14:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series-full-height-single-pedestal-office-desk-72w-x-36d-x-29-12h-pinnacle>: HTTP status code is not handled or not allowed 2026-01-28 14:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-4-centerset-gooseneck-faucet-lead-freez812b1>: HTTP status code is not handled or not allowed 2026-01-28 14:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-72-table-with-6-imme-armless-barstools-light-gray-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 14:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/132-volume-safety-blow-gun-1-4-npt>: HTTP status code is not handled or not allowed 2026-01-28 14:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/95135-dispenser-hot-fudge-fsp-for-server-products>: HTTP status code is not handled or not allowed 2026-01-28 14:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb1199-full-mortise-five-knuckle-ball-bearing-heavy-weight-hinge-45-x-45-us32d>: HTTP status code is not handled or not allowed 2026-01-28 14:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-angled-ladder-l65>: HTTP status code is not handled or not allowed 2026-01-28 14:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al-eggcrate-return-grille-12-cubed-core-10-x-22-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/border-fill-23-3-4-x-23-3-4-pvc-lay-in-tile-in-galvanized-steel-pl5930>: HTTP status code is not handled or not allowed 2026-01-28 14:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ruck153-multipurpose-stacking-chair-textured-silver-framepinnacle-seat>: HTTP status code is not handled or not allowed 2026-01-28 14:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-1097-21-inch-cast-iron-burner-assembly>: HTTP status code is not handled or not allowed 2026-01-28 14:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elbow-module-cem>: HTTP status code is not handled or not allowed 2026-01-28 14:41:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-pro2-body-massager>: HTTP status code is not handled or not allowed 2026-01-28 14:41:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/fasteners/door_window_hardware/exit_devices already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/721s-press-on-weatherstripping-48-x-96-black>: HTTP status code is not handled or not allowed 2026-01-28 14:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3955-key-blank-5-pin>: HTTP status code is not handled or not allowed 2026-01-28 14:41:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-w-x-8-d-x-4-1-2-h-stackbin-hopper-front-container-black>: HTTP status code is not handled or not allowed 2026-01-28 14:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-174-gdm-41sl-54-hc-ld-refrigerated-merchandiser-47-13-w-x-21-d-x-54-13-h>: HTTP status code is not handled or not allowed 2026-01-28 14:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9x12-flat-ship-lite-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 14:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-stainless-steel-lug-cart-capacity-3-lug>: HTTP status code is not handled or not allowed 2026-01-28 14:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x4-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 14:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-in-gravity-flow-roller-track-96dx6w>: HTTP status code is not handled or not allowed 2026-01-28 14:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ups-550va-desktop-battery-backup-system-with-10-outlets-5-battery-backup-5-surge>: HTTP status code is not handled or not allowed 2026-01-28 14:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/fasteners/door_window_hardware/exit_devices>: HTTP status code is not handled or not allowed 2026-01-28 14:41:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locbin-wall-storage-3-235bws-w-rails-large-blue-8-pc>: HTTP status code is not handled or not allowed 2026-01-28 14:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toilet-seat-cover-100-sheets-pack-30-packs-case>: HTTP status code is not handled or not allowed 2026-01-28 14:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locbin-wall-storage-3-240yws-w-rails-large-yellow-8-pc>: HTTP status code is not handled or not allowed 2026-01-28 14:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-diamond-show-case-pass-through-merchandiser>: HTTP status code is not handled or not allowed 2026-01-28 14:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-18-dia-round-medical-hamper>: HTTP status code is not handled or not allowed 2026-01-28 14:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp231-tough-mark-strip>: HTTP status code is not handled or not allowed 2026-01-28 14:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blickman-allen-two-shelf-utility-cart-20l-x-16w-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eyewear-protection-safety-glasses-black-frame-smoke-lens>: HTTP status code is not handled or not allowed 2026-01-28 14:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1041129-organizer-4-lid-w-straw-hldr>: HTTP status code is not handled or not allowed 2026-01-28 14:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10194875-harness-back-hip-d-rings-quick-connect-leg-straps-super-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 14:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010785-motor-1-3-hp-for-stero-dishwashers>: HTTP status code is not handled or not allowed 2026-01-28 14:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-72in-w-x-36in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kd-20-bushel-blue-vinyl-basket-bulk-truck>: HTTP status code is not handled or not allowed 2026-01-28 14:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72in-w-x-24in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 114977 pages (at 96 pages/min), scraped 56300 items (at 26 items/min) 2026-01-28 14:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-single-sided-upright-7>: HTTP status code is not handled or not allowed 2026-01-28 14:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10194872-harness-back-hip-d-rings-quick-connect-leg-straps-extra-small>: HTTP status code is not handled or not allowed 2026-01-28 14:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-2>: HTTP status code is not handled or not allowed 2026-01-28 14:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-on-card-holders-6-1-2-x-1-13-16>: HTTP status code is not handled or not allowed 2026-01-28 14:41:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261247-worm-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 14:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10195151-construction-harness-back-hip-d-rings-tongue-buckle-leg-straps-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:42:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x12x6-long-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 14:42:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441562-ignition-module-24-120>: HTTP status code is not handled or not allowed 2026-01-28 14:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-wide-boltless-shelving-starter-2700-lb-cap-96in-w-x-48in-d-x-60in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:42:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881037-solenoid-coilevr-3-3-8-inch-sae>: HTTP status code is not handled or not allowed 2026-01-28 14:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10197201-harness-back-d-ring-tongue-buckle-leg-straps-super-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 14:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10194863-harness-back-chest-hip-d-rings-quick-connect-leg-straps-extra-small>: HTTP status code is not handled or not allowed 2026-01-28 14:42:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/consumer_transformers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:42:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weblok-assembly-867025-4-synthetic-to-attachment-3-4-18750-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weblok-assembly-867020-2-synthetic-to-attachment-5-8-12500-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012179-thermostat-for-star-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 14:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-eye-rigging-hook-without-latch-6000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-wide-boltless-shelving-starter-48in-w-x-48in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:42:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/floor_mats/entrance_mats landed on page that is not a product page. 2026-01-28 14:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bassick-prism-stainless-steel-total-lock-swivel-caster-phenolic-5-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010983-heating-element-240v-1725w-68-1-2-inch-for-hatco-corp>: HTTP status code is not handled or not allowed 2026-01-28 14:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-24-x-24-blue-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-steel-utility-cart-2-shelves-36x18>: HTTP status code is not handled or not allowed 2026-01-28 14:42:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/transformers_uninterrupted_power_supplies/consumer_transformers>: HTTP status code is not handled or not allowed 2026-01-28 14:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tungsten-electrode-1-8-1-5-lanthinated-tungsten-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-pro-100450-victor-style-cga-510-acetylene-regulator-450-series>: HTTP status code is not handled or not allowed 2026-01-28 14:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/541179-oven-control-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 14:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-ft-vacuum-hose-solution-line-assembly-for-portable-carpet-extractors-2540ac-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012575-drive-chain-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 14:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-36in-w-x-24in-d-x-72in-h-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t66842io-premium-wax-ribbon-80mm-x-450m-awr-8-12-rolls-case>: HTTP status code is not handled or not allowed 2026-01-28 14:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lxt-174-cordless-9-paddle-switch-cut-off-angle-grinder-kit-5-0ah-18v-x2-li-ion>: HTTP status code is not handled or not allowed 2026-01-28 14:42:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-x2150-2-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 14:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-liner-15-gallon-rubbermaid-marshal-waste-receptacles>: HTTP status code is not handled or not allowed 2026-01-28 14:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-supreme-v-2-x-100-black>: HTTP status code is not handled or not allowed 2026-01-28 14:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-can-recycling-lid-rubbermaid-recycling-container-green>: HTTP status code is not handled or not allowed 2026-01-28 14:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-swing-door-18-x-18-x-18-black>: HTTP status code is not handled or not allowed 2026-01-28 14:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-swing-door-18-x-18-x-18-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x12-orange-packing-list-enclosed-envelopes-pl434>: HTTP status code is not handled or not allowed 2026-01-28 14:42:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/salt_spreaders already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:42:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cta-cap-torque-tester-100inlb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-hi-vis-rain-bib-overall-ansi-class-e-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durastripe-supreme-v-6-x-100-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xtreme-48-oz-blender-variable-speed-dial-control-bpa-free-copolyester>: HTTP status code is not handled or not allowed 2026-01-28 14:42:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv08b-lg09-8-cal-cm2-arc-flash-kit-w-fr-coverall-w-balaclava-lg-glove-size-09>: HTTP status code is not handled or not allowed 2026-01-28 14:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x2150-2-mil-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 14:42:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-6-carving-nylon-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-30-x-36-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-24ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/outdoor_tools_power_equipment/spreaders_sprayers/salt_spreaders>: HTTP status code is not handled or not allowed 2026-01-28 14:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-ventilation-fan-12-in-diameter>: HTTP status code is not handled or not allowed 2026-01-28 14:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-18-x-24-x-18-dark-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-pres-cntr-spr-cntred-g1-4-24v-dc-2w-coil-black>: HTTP status code is not handled or not allowed 2026-01-28 14:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-pres-cntr-spr-cntred-g1-8-24v-dc-2w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 14:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-36-x-36-red-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-starter-60inw-x-24ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2041-bitrex-fit-test-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prime-flame-resistant-long-pants-m-gray-df2-cm-762-plp-rg-md>: HTTP status code is not handled or not allowed 2026-01-28 14:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scott-center-pull-towels-8x15-white-500-roll-4-carton>: HTTP status code is not handled or not allowed 2026-01-28 14:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-60inw-x-36ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-rubber-voltage-glove-kit-black-size-11-kitgc211>: HTTP status code is not handled or not allowed 2026-01-28 14:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-inch-fnpt-nsf-brass-check-valve-buna-s-rubber-poppet>: HTTP status code is not handled or not allowed 2026-01-28 14:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-closed-cntr-1-2-nptf-24v-dc-2w-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 14:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-96inw-x-36ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-steel-decking-96x24x72-starter>: HTTP status code is not handled or not allowed 2026-01-28 14:42:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-24-x-60-x-18-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 14:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-all-purpose-gloves-waterproof-winter-plus-small>: HTTP status code is not handled or not allowed 2026-01-28 14:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-steel-decking-96x48x96-starter>: HTTP status code is not handled or not allowed 2026-01-28 14:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 115073 pages (at 96 pages/min), scraped 56330 items (at 30 items/min) 2026-01-28 14:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1529-temperature-control-with-22-inch-capillary-185-to-365-f>: HTTP status code is not handled or not allowed 2026-01-28 14:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-42inw-x-15ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:42:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-0-arcguard-rubber-voltage-glove-kit-red-size-12-kitgc012r>: HTTP status code is not handled or not allowed 2026-01-28 14:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-titanium-non-stick-bent-scissors>: HTTP status code is not handled or not allowed 2026-01-28 14:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-steel-decking-60x24x96-add-on>: HTTP status code is not handled or not allowed 2026-01-28 14:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2cv11-lg10-12-cal-cm2-ultrasoft-arc-flash-kit-with-fr-coverall-lg-glove-size-10>: HTTP status code is not handled or not allowed 2026-01-28 14:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit2sc11xl10-12-cal-arc-flash-kit-w-short-coat-bib-overall-in-ultrasoft-xl-sz-10>: HTTP status code is not handled or not allowed 2026-01-28 14:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit4sc40ng2x-40-cal-compliance-arc-flash-kit-short-coat-bib-overall-2xl-no-gloves>: HTTP status code is not handled or not allowed 2026-01-28 14:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-60x36x72-starter>: HTTP status code is not handled or not allowed 2026-01-28 14:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271185-hp-ofg-ofe-323-drainpan-24-x-44-incl-lip-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 14:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comet-pro-line-disinfectant-bathroom-cleaner-1-gal-bottle>: HTTP status code is not handled or not allowed 2026-01-28 14:43:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-3-awg-thhn-black-white-green-aluminum-mc>: HTTP status code is not handled or not allowed 2026-01-28 14:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-19-cu-gpt-primary-auto-wire-red>: HTTP status code is not handled or not allowed 2026-01-28 14:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-60-dark-yellow-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-hi-vis-work-shirt-type-r-class-3-3xl-fluorescent-yellow-shrtv3c33xlrg>: HTTP status code is not handled or not allowed 2026-01-28 14:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-g-1-4-double-solenoid-valve-pilot-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/st-drawer-layout-4-compartments-5-h>: HTTP status code is not handled or not allowed 2026-01-28 14:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thhn-8-gauge-building-wire-stranded-type-green>: HTTP status code is not handled or not allowed 2026-01-28 14:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosure-kit-slide-door-14-x-48-x-18-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-liners-12-x-72-white-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-round-24-led-clear-backup-light-w-grommet-plug>: HTTP status code is not handled or not allowed 2026-01-28 14:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-led-hidden-strobes-w-2-in-line-flashers-15-foot-cable>: HTTP status code is not handled or not allowed 2026-01-28 14:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-42inw-x-30ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clam-shell-12v-utility-light-35-watts>: HTTP status code is not handled or not allowed 2026-01-28 14:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-round-stainless-steel-light-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 14:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-electrical-motor-control-parctlj24000-for-jetstream-240>: HTTP status code is not handled or not allowed 2026-01-28 14:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-1-2-npt-double-solenoid-valve-pilot-24v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-1-8-nptf-110v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-24ind-x-60inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:43:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-2-inch-1-2-3-4-shank-10000-lbs-packaged>: HTTP status code is not handled or not allowed 2026-01-28 14:43:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-ext-pilot-g-1-8-220v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-round-1-led-red-marker-light-w-grommet-plug>: HTTP status code is not handled or not allowed 2026-01-28 14:43:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ws20-waveseal-360-constant-tension-hose-clamp-103-156-dia-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:43:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461033-thermostat-w-dialsp-3-16-x-12-1-4-60-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 14:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circuit-1-receptacle-package-of-4>: HTTP status code is not handled or not allowed 2026-01-28 14:43:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-single-solenoid-valve-ext-pilot-1-4-nptf-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:43:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-60inw-x-48ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:43:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-14037-mlb-boston-red-sox-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-28 14:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-single-solenoid-valve-ext-pilot-1-8-nptf-220v-ac-5va-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:43:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-15524-nfl-seattle-seahawks-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-28 14:43:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrawedge-wedge-anchor-3-8-16-x-6-1-2-304-stainless-steel-pkg-of-50-616090>: HTTP status code is not handled or not allowed 2026-01-28 14:43:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-48ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/color-coded-display-pan-12-in-w-x-18-in-l-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:43:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8002715-circuit-breaker-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 14:43:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelving-96x24x45-adjustable>: HTTP status code is not handled or not allowed 2026-01-28 14:43:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-shelving-36x16x72-adjustable>: HTTP status code is not handled or not allowed 2026-01-28 14:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m18andno8482-cordless-1-2in-compact-impact-wrench-w-pin-detent-bare-tool>: HTTP status code is not handled or not allowed 2026-01-28 14:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-x-5-x-2-corrugated-mailers>: HTTP status code is not handled or not allowed 2026-01-28 14:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m12andno8482-cordless-3-8in-square-drive-impact-wrench-w-ring-bare-tool-2451-20>: HTTP status code is not handled or not allowed 2026-01-28 14:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-control-2-0-long-underwear-2xl-desert-sand>: HTTP status code is not handled or not allowed 2026-01-28 14:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-60inw-x-48ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-vlv-ext-pilot-pres-cntr-spr-cntred-1-4-npt-24v-dc-3w-coil-led>: HTTP status code is not handled or not allowed 2026-01-28 14:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-16-1-2-x-18-x-11-beige>: HTTP status code is not handled or not allowed 2026-01-28 14:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/popcorn-portion-packs-8-oz-popper>: HTTP status code is not handled or not allowed 2026-01-28 14:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-48ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-leader-line-wye-430-2521511-2-1-2-nh-x-1-1-2-npsh-brass-2-piece>: HTTP status code is not handled or not allowed 2026-01-28 14:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrawedge-wedge-anchor-7-8-9-x-6-steel-hot-dip-galvanized-pkg-of-5-158400>: HTTP status code is not handled or not allowed 2026-01-28 14:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prime-long-sleeve-flame-resistant-t-shirt-2xl-gray-df2-cm-762-pls-rg-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-sided-floor-rack-with-bins-13>: HTTP status code is not handled or not allowed 2026-01-28 14:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-task-chair-with-perforated-back-sky-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-in-x24-in-aluminum-frame-vinyl-tackboard-stone>: HTTP status code is not handled or not allowed 2026-01-28 14:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-adapter-363-2521561-2-1-2-nh-x-1-1-2-npt-brass>: HTTP status code is not handled or not allowed 2026-01-28 14:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 115169 pages (at 96 pages/min), scraped 56364 items (at 34 items/min) 2026-01-28 14:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-hose-reel-cover-138-2-26-x-7-1-2-10-oz-red-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 14:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamper-cap-10-oz-vinyl-10-bushel-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-performance-utility-pants-44-x-30-navy-pnt9su44x30>: HTTP status code is not handled or not allowed 2026-01-28 14:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-drawcord-nylon-green-straight>: HTTP status code is not handled or not allowed 2026-01-28 14:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-ext-pilot-g-1-4-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-14-3-4-d-x-7-h-stacking-bin-1>: HTTP status code is not handled or not allowed 2026-01-28 14:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/282280-dial-assembly-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 14:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24w-14-step-steel-rolling-ladder-21d-top-step-wcal-osha-handrail-ca>: HTTP status code is not handled or not allowed 2026-01-28 14:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264588-nut-thermocouple-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 14:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardner-bender-battery-tester-d-c-aaa-aa-9v>: HTTP status code is not handled or not allowed 2026-01-28 14:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-replacement-carrierbdp-208-230v-1075rpm-12hp>: HTTP status code is not handled or not allowed 2026-01-28 14:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gardner-bender-repl-leads-gmt-12a-gmt-18a>: HTTP status code is not handled or not allowed 2026-01-28 14:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-36inw-x-12ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-d-shelving-poly-z-c-o-9>: HTTP status code is not handled or not allowed 2026-01-28 14:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-60inw-x-48ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012112-block-porcelain-for-vulcan-hart>: HTTP status code is not handled or not allowed 2026-01-28 14:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-open-1-8-nptf-single-solenoid-valve-pilot-spr-return-24v-dc-3w-coil-blk-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-cal-dupont-nomex-kevlar-bib-overalls-2xl-caramel-c45kdqe2xl32>: HTTP status code is not handled or not allowed 2026-01-28 14:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-single-pedal-valve-floor-mounted>: HTTP status code is not handled or not allowed 2026-01-28 14:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-swivel-base-faucet-with-swing-nozzle-1-2-ips-ee-male-inlets-w-adj-flange>: HTTP status code is not handled or not allowed 2026-01-28 14:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx18-dx73-h-open-clip-style-5-shelf>: HTTP status code is not handled or not allowed 2026-01-28 14:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-2-closed-1-2-nptf-single-solenoid-valve-pilot-spr-return-220v-ac-5va-coil-led-conn>: HTTP status code is not handled or not allowed 2026-01-28 14:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx18-dx73-h-open-clip-style-6-shelf>: HTTP status code is not handled or not allowed 2026-01-28 14:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-centerset-lavatory-with-pop-up>: HTTP status code is not handled or not allowed 2026-01-28 14:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-96inw-x-36ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freshen-aire-scented-mini-air-mover-with-ionizer-1-8-hp-3-speeds-4-positions-p-150n>: HTTP status code is not handled or not allowed 2026-01-28 14:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jrs-28w-1-3-8-dia-gal-steel-roller-for-30-roller-conveyors>: HTTP status code is not handled or not allowed 2026-01-28 14:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-36ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-work-shirt-s-navy-tcg01160213>: HTTP status code is not handled or not allowed 2026-01-28 14:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibc-spout-with-female-2-bsp-npt-threaded-connector->: HTTP status code is not handled or not allowed 2026-01-28 14:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-48inw-x-36ind-x-72inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-g-1-8-24v-dc-2w-coil-led-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanchion-kit-3-orange-4pk-30-of-2-HD-chain-w-c-hooks-incl-3-pole-16-base-41-height>: HTTP status code is not handled or not allowed 2026-01-28 14:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-weekly-appointment-book-black-8-x-11-2015-aagg52000>: HTTP status code is not handled or not allowed 2026-01-28 14:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-2-double-solenoid-valve-pilot-g-1-8-110v-ac-5va-coil-black-connection>: HTTP status code is not handled or not allowed 2026-01-28 14:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-58-indoor-blower-208-230v-1075rpm-14hp>: HTTP status code is not handled or not allowed 2026-01-28 14:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rheem-ruud-replacement-1075rpm-115v-34hp>: HTTP status code is not handled or not allowed 2026-01-28 14:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-welded-combination-cabinet-36w-x-24d-x-72h-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 14:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-locker-single-tier-12x15x72-1-door-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 14:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tecumseh-replacement-1500rpm-230v-ccwse>: HTTP status code is not handled or not allowed 2026-01-28 14:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-welded-deluxe-storage-cabinet36w-x-24d-x-78-3-4-h-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 14:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-long-sleeve-fr-t-shirt-l-desert-sand-df2-cm-446ls-ds-lg>: HTTP status code is not handled or not allowed 2026-01-28 14:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-utility-shirt-s-tan-df2-324ls-kh-sm>: HTTP status code is not handled or not allowed 2026-01-28 14:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-48ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-48ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-dbl-solenoid-valve-pilot-spring-cntred-closed-cntr-g1-4-12v-dc-3w-coil-black-conn>: HTTP status code is not handled or not allowed 2026-01-28 14:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kitchen-pegboard-pack-storage-organization-kit-blue-32-x-32-x-6>: HTTP status code is not handled or not allowed 2026-01-28 14:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-starter-72inw-x-36ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-3-4-security-machine-screw-button-torx-head-steel-zinc-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-24ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010518-window-kit-inner-right-for-southbend-range>: HTTP status code is not handled or not allowed 2026-01-28 14:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-heavy-duty-boltless-shelving-add-on-72inw-x-30ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-bin-1-in-3-in-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pegboard-standard-tool-storage-kit-blue-red-48-x-32-x-9>: HTTP status code is not handled or not allowed 2026-01-28 14:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-x-2-security-machine-screw-flat-spanner-head-18-8-stainless-steel-ft-unf-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-2-1-2-security-machine-screw-flat-hex-socket-head-alloy-steel-black-oxide-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-starter-72inw-x-30ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holders-2-in-6-in-clear-slot-aluminum-ex-trusion>: HTTP status code is not handled or not allowed 2026-01-28 14:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-36inw-x-12ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-steel-floor-hugger-dolly-840-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-steel-shelving-18-ga-48-wx24-dx97-h-closed-clip-5-shelves-starter>: HTTP status code is not handled or not allowed 2026-01-28 14:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spice-womens-safety-work-boots-steel-toe-7h-size-7w-auburn>: HTTP status code is not handled or not allowed 2026-01-28 14:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-dolly-with-carpeted-ends-deck-30-x-18-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 115268 pages (at 99 pages/min), scraped 56400 items (at 36 items/min) 2026-01-28 14:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spice-womens-safety-work-boots-steel-toe-7h-size-9-auburn>: HTTP status code is not handled or not allowed 2026-01-28 14:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spice-womens-safety-work-boots-steel-toe-7h-size-9-jet-black>: HTTP status code is not handled or not allowed 2026-01-28 14:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-5-8-security-machine-screw-button-hex-socket-head-alloy-steel-black-oxide-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dial-tire-gauge-0-to-15-psi-s-931>: HTTP status code is not handled or not allowed 2026-01-28 14:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starbucks-pike-place-ground-coffee-032-oz-pouch-pack-of-76>: HTTP status code is not handled or not allowed 2026-01-28 14:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-2-security-machine-screw-flat-torx-plus-head-steel-black-oxide-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-120w-x-36d-x-144h-3320-lbs-cap-per-level-add-on-unit>: HTTP status code is not handled or not allowed 2026-01-28 14:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-660-1-light-pendant-warehouse-green-16w-x-8-125h>: HTTP status code is not handled or not allowed 2026-01-28 14:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-swivel-threaded-stem-caster-4-polyolefin-wheel-with-brake>: HTTP status code is not handled or not allowed 2026-01-28 14:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pizza-pan-19-dia-11-16-deep-car-pan-solid>: HTTP status code is not handled or not allowed 2026-01-28 14:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14ab-x-3-4-security-sheet-metal-screw-button-torx-head-302hq-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2901041-tray-drip-w-grid-4-1-8-inch-blk-for-bar-maid-coproration>: HTTP status code is not handled or not allowed 2026-01-28 14:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-unit-12v-54w-lead-calcium12w-heads>: HTTP status code is not handled or not allowed 2026-01-28 14:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-108w-x-48d-x-144h-4040-lbs-cap-per-level-add-on-unit>: HTTP status code is not handled or not allowed 2026-01-28 14:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010576-radiant-support-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 14:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1831-dupont-1-light-mini-pendant-satin-white-brushed-nickel-6w-x-42h>: HTTP status code is not handled or not allowed 2026-01-28 14:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-aluminum-male-short-shank-coupling>: HTTP status code is not handled or not allowed 2026-01-28 14:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-king-sk3000-pallet-rack-120w-x-48d-x-120h-3320-lbs-cap-per-level-add-on-unit>: HTTP status code is not handled or not allowed 2026-01-28 14:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6690-cooling-arm-sleeves-blue-2xl-12186>: HTTP status code is not handled or not allowed 2026-01-28 14:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dagr-safety-glasses-matte-black-clear-lens-52400>: HTTP status code is not handled or not allowed 2026-01-28 14:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dagr-af-safety-glasses-matte-black-anti-fog-smoke-lens-52433>: HTTP status code is not handled or not allowed 2026-01-28 14:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-4-step-aluminum-folding-step-ladder-330-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/750va-ups-smart-online-rack-tower-puresine-6-outlet>: HTTP status code is not handled or not allowed 2026-01-28 14:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-plate-caster-8-mold-on-rubber-wheel-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-lcd-10-30-flat-screen-vesa-mount-global-workbenches>: HTTP status code is not handled or not allowed 2026-01-28 14:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009359-bushing-hinge-for-moffat>: HTTP status code is not handled or not allowed 2026-01-28 14:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-sweatshirt-detachable-hood-zipper-closure-2-pockets-fl-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-28 14:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-dc-polypropylene-cam-and-groove-dust-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-1-2-security-machine-screw-button-hex-socket-head-302hq-18-8-ss-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duct-yellow-8-inch-dia-25-ft-long-strap>: HTTP status code is not handled or not allowed 2026-01-28 14:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-eagle-174-jacket-green-inner-cuffs-storm-fly-front-hood-snaps-small>: HTTP status code is not handled or not allowed 2026-01-28 14:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77-152-1-light-ceiling-flush-mount-satin-aluminum-6w-x-7-25h>: HTTP status code is not handled or not allowed 2026-01-28 14:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-carbon-steel-center-punch-preformed-band-it-clamp-with-5-8-inch-band>: HTTP status code is not handled or not allowed 2026-01-28 14:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulsar-knee-boot-composite-safety-toe-chevron-plus-174-15-h-blk-gray-size-12>: HTTP status code is not handled or not allowed 2026-01-28 14:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-85w-bourbon-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-1-1-4-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-10w-vegan-blackout>: HTTP status code is not handled or not allowed 2026-01-28 14:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spac-trac-4-unit-storage-shelving-poly-z-brite-48x24x74>: HTTP status code is not handled or not allowed 2026-01-28 14:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-95-bourbon-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-seat-46-adjustable-round-table-diamond-80-wide-63-deep-red>: HTTP status code is not handled or not allowed 2026-01-28 14:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-3-station-with-knee-valve-operatestraight-legs-72l-x20wx8d>: HTTP status code is not handled or not allowed 2026-01-28 14:45:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-705-porch-wall-white-globe-brushed-nickel-5-5w-x-8-5h>: HTTP status code is not handled or not allowed 2026-01-28 14:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281935-faceplate-assembly-2-x-4-bk-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 14:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnesium-circular-saw-5007mg-7-1-4-15-amp-led-light-case>: HTTP status code is not handled or not allowed 2026-01-28 14:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-compressor-25-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badger-neoprene-boots-steel-toe-upper-rubber-sole-steel-shank-15-h-blk-size-12>: HTTP status code is not handled or not allowed 2026-01-28 14:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barrel-grip-jig-saw-4351fct-tool-less-led-light-800-2800-spm-var-speed-orbital>: HTTP status code is not handled or not allowed 2026-01-28 14:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppe-safety-kit-erb-safety-18531-white>: HTTP status code is not handled or not allowed 2026-01-28 14:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/200-mm-exp-pipe-brush-40-mm-diameter-9-989-048-0>: HTTP status code is not handled or not allowed 2026-01-28 14:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valence-womens-safety-work-boots-steel-toe-7h-size-7w-vegan-midnight-black>: HTTP status code is not handled or not allowed 2026-01-28 14:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300-mm-exp-pipe-brush-50-mm-diameter-9-989-052-0>: HTTP status code is not handled or not allowed 2026-01-28 14:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 14:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-non-ansi-vest-61321-lime>: HTTP status code is not handled or not allowed 2026-01-28 14:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-t-shirt-long-sleeve-1-pocket-fl-lime-small>: HTTP status code is not handled or not allowed 2026-01-28 14:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-623-1-light-wall-mount-industrial-style-frosted-old-bronze-5-5w-x-11h>: HTTP status code is not handled or not allowed 2026-01-28 14:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441747-sensor-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 14:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bridgeport-weather-resistant-folding-stackable-picnic-table-72-x-36-top-taupe>: HTTP status code is not handled or not allowed 2026-01-28 14:45:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/floor_machine_hardware_parts already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-2-economy-mesh-vest-61653-lime>: HTTP status code is not handled or not allowed 2026-01-28 14:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-025-2-light-ceiling-flush-mount-clear-ribbed-swirl-polished-brass-13-25w-x-5-5h>: HTTP status code is not handled or not allowed 2026-01-28 14:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disc-scrub-brush-for-b-300-sweeper-scrubber-regular-6-680-338-0>: HTTP status code is not handled or not allowed 2026-01-28 14:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-post-27-1-2-h-and-base-plate-package-black>: HTTP status code is not handled or not allowed 2026-01-28 14:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-divider-16-w-x-15-d-x-7-h-hook-on-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 14:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glc-01196-16oz-clear-boston-round-bottle-with-28-400-black-phenolic-cap-case-of-12>: HTTP status code is not handled or not allowed 2026-01-28 14:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661061-o-ring-7-8-inch-od-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 14:45:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valence-womens-safety-work-boots-steel-toe-7h-size-12-vegan-midnight-black>: HTTP status code is not handled or not allowed 2026-01-28 14:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machinery-roller-dolly-rigid-plates-adjustable-connector-bar-4400-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/235292-8oz-240ml-translucent-hdpe-storage-containers-with-snap-on-lids-case-of-100>: HTTP status code is not handled or not allowed 2026-01-28 14:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/floor_machines_vacuums/floor_machine_replacement_parts/floor_machine_hardware_parts>: HTTP status code is not handled or not allowed 2026-01-28 14:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011599-kason-11808fm0000-led-light-fixture-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 14:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-row-spacer-w-hardware-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 14:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-cleaning-ribbed-mat-3x4-green-1>: HTTP status code is not handled or not allowed 2026-01-28 14:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 115364 pages (at 96 pages/min), scraped 56425 items (at 25 items/min) 2026-01-28 14:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-t-shank-gp-drills-118-2-13-16-inch-diameter-x-17-25-64-inch-oal-number-5-mt>: HTTP status code is not handled or not allowed 2026-01-28 14:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paulson-a-tac-wildland-firefighter-goggles-nose-shield-silicone-strap-polycarbonate-lens>: HTTP status code is not handled or not allowed 2026-01-28 14:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-cleaning-ribbed-4-foot-wide-cut-length-mat-charcoal-1>: HTTP status code is not handled or not allowed 2026-01-28 14:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/foot_protection/safety_toe_work_boots>: HTTP status code is not handled or not allowed 2026-01-28 14:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009937-o-ring-saniserve-door>: HTTP status code is not handled or not allowed 2026-01-28 14:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009938-saniserve-stator-rod>: HTTP status code is not handled or not allowed 2026-01-28 14:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011082-brush-kit-taylor-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 14:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-48inw-x-24ind-x-84inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-30-18-gauge-stainless-steel-workbench>: HTTP status code is not handled or not allowed 2026-01-28 14:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-milk-cooler-18-5-cu-ft-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/881308-refrigeration-hard-startkit>: HTTP status code is not handled or not allowed 2026-01-28 14:46:07 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-high-legal-starter-empty-black>: HTTP status code is not handled or not allowed 2026-01-28 14:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-mat-20538-nfl-los-angeles-rams-3-1-4-x-24-x-1>: HTTP status code is not handled or not allowed 2026-01-28 14:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4956-cove-neck-1-light-outdoor-hang-clear-seeded-textured-black-7w-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 14:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-h-drawer-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 14:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-3-drawer-workbench-pedestal-w-built-base>: HTTP status code is not handled or not allowed 2026-01-28 14:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-12-x-16-super-8-oz-tarp-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010994-switch-pressure-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 14:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-air-5-hp-80-gallon-two-stage-single-phase-stationary-air-compressor>: HTTP status code is not handled or not allowed 2026-01-28 14:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adder-unit-legal-31-inch-38-3-4-inch-92-1-2-inch-8-opening-black>: HTTP status code is not handled or not allowed 2026-01-28 14:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-48inw-x-12ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-36inw-x-18ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-635-1-light-wall-lantern-piper-lantern-w-clear-seed-glass-textured-black-5w-x-10-625h>: HTTP status code is not handled or not allowed 2026-01-28 14:46:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/foodservice/bar_restaurant_equipment/bartending_supplies/bar_mats_shelf_liners landed on page that is not a product page. 2026-01-28 14:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bus-smoking-shelter-flat-roof-with-three-sided-open-front-6-5-w-x-3-8-d-x-7-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-male-x-1-4-male-coupling-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 14:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ego-st1502sa-580cfm-blower-kit-5-0ah-battery-210w-charger>: HTTP status code is not handled or not allowed 2026-01-28 14:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-flow-brass-6-ball-1-4-x-1-4-female-coupler-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-gray-extreme-stripping-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-28 14:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-copper-press-x-press-w-90-176-long-turn-elbow>: HTTP status code is not handled or not allowed 2026-01-28 14:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-297-4-light-vanity-wall-polished-chrome-24w-x-4-75h>: HTTP status code is not handled or not allowed 2026-01-28 14:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-1267-ballerina-5-light-vanity-wall-champagne-washed-linen-36w-x-7-625h>: HTTP status code is not handled or not allowed 2026-01-28 14:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qp-pro-two-stage-air-compressor-15-hp-120-gallon-horizontal-230v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 14:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-ultra-drain-circular-seal-42-diameter>: HTTP status code is not handled or not allowed 2026-01-28 14:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-1122-center-ceramic-radiant-5-inch-x-6-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-ratio-led-floodlight-6800l-52w-40k-wide-dist-knuckle-mt-120-277v>: HTTP status code is not handled or not allowed 2026-01-28 14:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dehumidifier-military-storage-11-pints-a-day-dehumidification-with-drain-outlet-spp6a>: HTTP status code is not handled or not allowed 2026-01-28 14:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-dolly-ed-26-1830-3hr-30-x-18-carpeted-ends-3-hard-wheels-1000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000-series-safe-t-alert-back-up-alarm-102db-12-24-volts-wire-leads>: HTTP status code is not handled or not allowed 2026-01-28 14:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-led-bullet-flood-light-20w-3000k-wide-dist-120v-dark-bronze>: HTTP status code is not handled or not allowed 2026-01-28 14:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342277-wire-heater-45-ohm-100>: HTTP status code is not handled or not allowed 2026-01-28 14:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camlok-cy-hinged-universal-plate-clamp-450-2200-lbs-0-3-4jaw>: HTTP status code is not handled or not allowed 2026-01-28 14:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-app-connector-6-wire-gauge-50-amp-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-app-connector-4-0-wire-gauge-350-amp-red>: HTTP status code is not handled or not allowed 2026-01-28 14:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-cantilever-heavy-duty-shelf-18-wx36-l>: HTTP status code is not handled or not allowed 2026-01-28 14:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271210-assembly-1-timer-display-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 14:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-plain-trolley-4-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 14:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-mold-on-wheel-e-825-rc-5-dia-2w-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-geared-trolley-2-ton-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 14:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009796-hp-triangular-filter-bar-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 14:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-6-step-steel-rolling-ladder-10-d-top-step-kdsr106246>: HTTP status code is not handled or not allowed 2026-01-28 14:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-conductor-grounded-temp-flex-35-illuminated-plug-300v-3>: HTTP status code is not handled or not allowed 2026-01-28 14:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-36inw-x-18ind-x-60inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-steel-bound-platform-truck-e-lq-3060-8poe-30-x-60-8-wheels-2500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62-1123-2-inch-front-flange-dial-thermometer-with-240-inch-capillary>: HTTP status code is not handled or not allowed 2026-01-28 14:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m12-cordless-compact-lithium-ion-battery>: HTTP status code is not handled or not allowed 2026-01-28 14:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-series-lever-dolly-e-60-rt-boxed-60-handle-mold-on-rubber-wheels-3500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031245-high-limit-manual-reset-400f-20-inch-cap-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 14:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-style-b-j-hook>: HTTP status code is not handled or not allowed 2026-01-28 14:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-with-epoxy-phenolic-lining-closed-head-2>: HTTP status code is not handled or not allowed 2026-01-28 14:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-wall-container-mesh-23-3-4-x15-3-4-x12-1-4>: HTTP status code is not handled or not allowed 2026-01-28 14:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-with-removable-bins-16>: HTTP status code is not handled or not allowed 2026-01-28 14:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-with-removable-bins-21>: HTTP status code is not handled or not allowed 2026-01-28 14:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safe-cell-phone-safe-48-w-x-30-d-x-71-h-digital-lock-black>: HTTP status code is not handled or not allowed 2026-01-28 14:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-96-economy-lift-beam-adjustable-length-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 115460 pages (at 96 pages/min), scraped 56455 items (at 30 items/min) 2026-01-28 14:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/royal-186-1-hl3>: HTTP status code is not handled or not allowed 2026-01-28 14:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-pharma-vaccine-glass-door-refrigerator-72-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-bracket-for-1-2-3-gallon-sharps-containers>: HTTP status code is not handled or not allowed 2026-01-28 14:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-4-shelf-mobile-rack-cabinet-with-locking-panels-woodgrain>: HTTP status code is not handled or not allowed 2026-01-28 14:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f32-25wt8-835-es-env-25w-fluorescent-w-medium-bi-pin-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-28 14:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-safety-view-locker-double-tier-12x15x36-6-doors-unassembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-add-on-36inw-x-18ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-add-on-48inw-x-12ind-x-96inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 14:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20t4-g9-cl-20w-halogen-w-double-loop-base>: HTTP status code is not handled or not allowed 2026-01-28 14:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-to-medium-duty-service-door-double-panel-black-6ft-x-8ft>: HTTP status code is not handled or not allowed 2026-01-28 14:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50t4-g9-cl-50w-halogen-w-double-loop-base>: HTTP status code is not handled or not allowed 2026-01-28 14:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2631034-thermometer-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 14:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-washout-bags-open-top-flat-bottom-3300-lbs-pp-with-plastic-liner-40-x-40-x-24-pkg-qty-1>: HTTP status code is not handled or not allowed 2026-01-28 14:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-fibc-bulk-bags-open-top-flat-bottom-2205-lbs-pp-35-x-35-x-38-pkg-qty-5>: HTTP status code is not handled or not allowed 2026-01-28 14:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-wall-corrugated-sheets-24l-x-24w-kraft-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 14:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/156-keys-lock-box-with-combination-lock-11-w-x-3-1-4-d-x-14-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-key-depository-safe-0-27-cubic-feet-9-w-x-6-d-x-12-h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-seal-kit-for-rol-lift-5500-capacity-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 14:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-triple-wall-corrugated-boxes-16l-x-16w-x-16h-kraft-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 14:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500par56q-nsp-500w-sealed-beam-w-mogul-end-prong-base>: HTTP status code is not handled or not allowed 2026-01-28 14:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-foot-rest-flexline-workstation>: HTTP status code is not handled or not allowed 2026-01-28 14:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispense-rite-surface-mount-gravity-feed-cup-dispenser-32-oz>: HTTP status code is not handled or not allowed 2026-01-28 14:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3900lp-250-ntep-approved-bench-scale-with-sbi-110-lcd-indicator-250-lb-x-0-05-lb>: HTTP status code is not handled or not allowed 2026-01-28 14:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-deluxe-literature-mailers-18l-x-12w-x-6h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 14:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-line-single-track-seal-top-bag-with-hang-hole-2in-x-8in-2-mil-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 14:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-row-universal-low-rise-bleacher-9ft-l-sgl-footboard>: HTTP status code is not handled or not allowed 2026-01-28 14:47:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250r40-hr-250w-reflectors-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 14:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-gauge-heavy-duty-36-w-x-24-d-x-78-h-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 14:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/splined-shaft-1-3-4-dia-x-1-18-pilot-for-model-3700>: HTTP status code is not handled or not allowed 2026-01-28 14:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pink-anti-static-seal-top-bag-2in-x-3in-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 14:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266243-hinge-cam-lift-1-1-8-inch-19-5-8>: HTTP status code is not handled or not allowed 2026-01-28 14:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-17-12l-x-14-34w-x-12-12h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 14:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1831172-board-isolator-a-c-line-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 14:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-composite-rib-corrugated-rubber-floor-mats-1-8-thick-x-3-x-4-roll>: HTTP status code is not handled or not allowed 2026-01-28 14:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461665-dc-thermostat-for-accu-temp>: HTTP status code is not handled or not allowed 2026-01-28 14:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/halogen_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 14:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/461687-thermostat>: HTTP status code is not handled or not allowed 2026-01-28 14:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-ups-cs-500-bk500blk>: HTTP status code is not handled or not allowed 2026-01-28 14:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-30-d-mobile-workbench-maple-butcher-block-square-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-bk04004193-rs-pro-series-41w-x-24d-x-39h-9-drawer-black-roller-cabinet-with-lift-latch>: HTTP status code is not handled or not allowed 2026-01-28 14:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8402352-thermistor-cabinet-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 14:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-5-c-hv-indexing-fixture>: HTTP status code is not handled or not allowed 2026-01-28 14:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-30-collet-capacity-5-c-collet-rack>: HTTP status code is not handled or not allowed 2026-01-28 14:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009830-door-sweep-32in-ics>: HTTP status code is not handled or not allowed 2026-01-28 14:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-socket-1-2-drive-17mm-80-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 14:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f21t5-830-env-21w-fluorescent-w-minature-bi-pin-base-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 14:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-ss05041244-rs-pro-series-40-3-8-w-x-23-3-8-d-x-1-1-2-h-stainless-steel-top-worksurface>: HTTP status code is not handled or not allowed 2026-01-28 14:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-bl02041062-pro-ii-series-40-1-2-w-x-24-1-4-d-x-21-3-8-h-6-drawer-blue-tool-chest>: HTTP status code is not handled or not allowed 2026-01-28 14:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-bk04054012-pro-ii-series-54w-x-24d-x-39h-10-drawer-black-roller-cabinet-with-lift-latch>: HTTP status code is not handled or not allowed 2026-01-28 14:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-desk-with-3-drawers-60-x-24-cherry>: HTTP status code is not handled or not allowed 2026-01-28 14:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rover-jump-over-natural-pbark-450n>: HTTP status code is not handled or not allowed 2026-01-28 14:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-av-black-j15blk>: HTTP status code is not handled or not allowed 2026-01-28 14:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-pump-high-volume-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 14:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-wall-corrugated-boxes-w-hand-holes-20l-x-18w-x-12h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-follower-full-comp-inch-cry28vuu-double-sealed-1-34-od>: HTTP status code is not handled or not allowed 2026-01-28 14:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purell-orig-instnt-hand-sani-port-24425-oz>: HTTP status code is not handled or not allowed 2026-01-28 14:47:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15t2-27-15w-compact-fluorescent-w-medium-base-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 14:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-ton-ironworker-3-phase-208v-w-hydraulic-accessory-pack-iw55-3p208-ac500>: HTTP status code is not handled or not allowed 2026-01-28 14:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65-ton-ironworker-1-phase-230v-iw65-1p230>: HTTP status code is not handled or not allowed 2026-01-28 14:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-dawn-dishwash-liquid-btl-838-oz>: HTTP status code is not handled or not allowed 2026-01-28 14:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfd9w-835-9w-compact-fluorescent-w-g23-2-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-28 14:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-pedal-siphon-system-201714yw>: HTTP status code is not handled or not allowed 2026-01-28 14:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siphon-delivery-system-deluxe-w-foot-pedal-safety-switch-101804-a>: HTTP status code is not handled or not allowed 2026-01-28 14:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-dty-scour-pad-6x9-gre-20>: HTTP status code is not handled or not allowed 2026-01-28 14:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 115558 pages (at 98 pages/min), scraped 56489 items (at 34 items/min) 2026-01-28 14:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-collector-cartridge-for-use-w-400-600-cfm-dc-495114>: HTTP status code is not handled or not allowed 2026-01-28 14:47:56 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/compact_fluorescent_light_bulbs landed on page that is not a product page. 2026-01-28 14:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e14-0-074w-miniatures-w-mini-screw-base>: HTTP status code is not handled or not allowed 2026-01-28 14:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15t7-n-15w-incandescent-w-intermediate-base>: HTTP status code is not handled or not allowed 2026-01-28 14:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25t8-dc-25w-incandescent-w-dc-bay-base>: HTTP status code is not handled or not allowed 2026-01-28 14:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-deluxe-thermoplastic-coated-32-gallon-perforated-receptacle-w-dome-lid-base-green>: HTTP status code is not handled or not allowed 2026-01-28 14:47:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-153-deluxe-thermoplastic-32-gallon-mesh-recycling-receptacle-w-rain-bonnet-lid-base-bl>: HTTP status code is not handled or not allowed 2026-01-28 14:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ind-qlty-steel-wool-hand-pad-1-med-126>: HTTP status code is not handled or not allowed 2026-01-28 14:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-48-w-le-handed-return-table-mahogany-sg8030>: HTTP status code is not handled or not allowed 2026-01-28 14:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/press-fit-drywall-access-panel-lock-8wx8h-pfp88l>: HTTP status code is not handled or not allowed 2026-01-28 14:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rechargeable-sensor-pump-liquid-soap-dispenser-brushed>: HTTP status code is not handled or not allowed 2026-01-28 14:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beam-clamp-stainless-steel-1-ton>: HTTP status code is not handled or not allowed 2026-01-28 14:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-without-lid-9>: HTTP status code is not handled or not allowed 2026-01-28 14:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-rod-5-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:48:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-pin-compact-fluorescent-light-bulb-gx23-2-base-5000k-13w-daylight-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/specialty_light_bulbs>: HTTP status code is not handled or not allowed 2026-01-28 14:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/loom-clamps-plated-steel-2>: HTTP status code is not handled or not allowed 2026-01-28 14:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-flammable-cabinet-with-manual-close-double-door-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 14:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acr1151-mid-sized-pharmaceutical-all-refrigerator-11-cu-ft-115v>: HTTP status code is not handled or not allowed 2026-01-28 14:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-strip-door-curtain-12-w-x-7-h>: HTTP status code is not handled or not allowed 2026-01-28 14:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-vertical-bike-rack-with-4-mounts>: HTTP status code is not handled or not allowed 2026-01-28 14:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15f10-w-15w-incandescent-w-candelabra-base>: HTTP status code is not handled or not allowed 2026-01-28 14:48:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/overhead_infrared_heaters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/cable_management/cable_clamps_clips_hardware>: HTTP status code is not handled or not allowed 2026-01-28 14:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-3-8-thick-x-3-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 14:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-thick-x-3-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 14:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010494-thermostat-gs>: HTTP status code is not handled or not allowed 2026-01-28 14:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1ns-long-sleeve-pullover-hoodie-with-uv-protection-2xl-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 14:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/521013-gas-cock>: HTTP status code is not handled or not allowed 2026-01-28 14:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-1-4-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 14:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1383-tf-20w-incandescent-w-sc-bay-base>: HTTP status code is not handled or not allowed 2026-01-28 14:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-pole-expands-from-4-ft-to-11-ft-used-to-pull-and-replace-product-gates-91233>: HTTP status code is not handled or not allowed 2026-01-28 14:48:27 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/hvac/heaters/electric_heaters/overhead_infrared_heaters landed on page that is not a product page. 2026-01-28 14:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009338-pilot-burner-nat>: HTTP status code is not handled or not allowed 2026-01-28 14:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plt-fluorescent-bulb-gx24q4-base-42w-3200-lumens-2700k-warm-white-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 14:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-3-4-thick-x-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 14:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh327-non-vented-cap-style-hard-hat-4-point-adjustable-ratchet-suspension-white>: HTTP status code is not handled or not allowed 2026-01-28 14:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25b9-1-2-25w-incandescent-w-european-base>: HTTP status code is not handled or not allowed 2026-01-28 14:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ca7-10w-incandescent-w-candelabra-base>: HTTP status code is not handled or not allowed 2026-01-28 14:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-vs-electric-chain-hoist-1-8-ton-10-foot-lift-10-60-fpm-115-1-60-2-step-control>: HTTP status code is not handled or not allowed 2026-01-28 14:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/918-series-airtight-watertight-case-w-foam-918-1007-16-7-8-l-x-12-7-8-w-x-9-5-16-h-graphite>: HTTP status code is not handled or not allowed 2026-01-28 14:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-1-thick-x-1-1-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 14:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/923-series-airtight-watertight-case-with-foam-923-1001-18-5-8-l-x-14-3-8-w-x-6-5-16-h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-leak-diverter-15-x-15>: HTTP status code is not handled or not allowed 2026-01-28 14:48:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fleet-safet-kit-w-2-3-4lb-fire-extinguishers>: HTTP status code is not handled or not allowed 2026-01-28 14:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-7-16-dia-6x26-extra-improved-plow-steel-galvanized-wire-rope-independent-wire-rope-center>: HTTP status code is not handled or not allowed 2026-01-28 14:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-in-universal-dustie-1>: HTTP status code is not handled or not allowed 2026-01-28 14:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-in-cutbuddie-tuck-pointing-1>: HTTP status code is not handled or not allowed 2026-01-28 14:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-8-thick-x-4-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 14:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gojo-fast-wipes-hand-cleaning-towels-60pack>: HTTP status code is not handled or not allowed 2026-01-28 14:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-rod-2-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drainage-mat-chemical-resistant-6>: HTTP status code is not handled or not allowed 2026-01-28 14:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-steel-container-drop-gate-green-2>: HTTP status code is not handled or not allowed 2026-01-28 14:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 14:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-thick-x-1-1-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 14:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009507-orifice-1-4-18-mpt-56>: HTTP status code is not handled or not allowed 2026-01-28 14:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-steel-container-green-12>: HTTP status code is not handled or not allowed 2026-01-28 14:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-party-cold-drink-cups-12-oz-clear-50bag>: HTTP status code is not handled or not allowed 2026-01-28 14:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-g16-clear-globe-light-bulb-e26-base-5w-350-lumens-2700k-warm-white-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 14:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a15-appliance-clear-light-bulb-e12-base-6w-450-lumens-30k-warm-white-pk-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-plastic-rod-3-8-diameter-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 115654 pages (at 96 pages/min), scraped 56525 items (at 36 items/min) 2026-01-28 14:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-plates-9-inches-white-round-mediumweight-3-compartment-125pack>: HTTP status code is not handled or not allowed 2026-01-28 14:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-760-1w-v-style-high-flow-steel-plug-1-4-mnpt-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-linestra-vanity-replacement-light-bulb-s14s-base-5w-420-lumens-27k-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 14:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-775w-a-style-aro-coupler-1-4-fnpt->: HTTP status code is not handled or not allowed 2026-01-28 14:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-mobile-wire-bin-rack-36x24x69>: HTTP status code is not handled or not allowed 2026-01-28 14:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-plastic-sheet-1-32-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-28 14:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-plastic-bar-3-8-thick-x-2-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 14:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chair-mat-for-carpet-or-hard-floors-46x48-rectangle-black-straight-edge>: HTTP status code is not handled or not allowed 2026-01-28 14:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-t8-tubular-filament-light-bulb-e26-base-5w-430-lumens-2200k-amber-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-stainless-square-edge-mobile-power-apron-production-bench-tan-32313638>: HTTP status code is not handled or not allowed 2026-01-28 14:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x36-shop-top-safety-edge-mobile-power-apron-production-bench-tan-32313656>: HTTP status code is not handled or not allowed 2026-01-28 14:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-skfl5-chemical-sorbent-spill-kit5-gallon-capacity-3-kitscase>: HTTP status code is not handled or not allowed 2026-01-28 14:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x24-maple-square-edge-power-apron-production-bench-tan-32313675>: HTTP status code is not handled or not allowed 2026-01-28 14:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-w-polypropylene-push-broom-with-stiff-center-and-fine-border-bristles-and-60-inch-l-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1547-72-inch-sjtow-appliance-power-cord-14-gauge-wire>: HTTP status code is not handled or not allowed 2026-01-28 14:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0423rblk3xl-womens-softshell-quilted-jacket-black-3xl>: HTTP status code is not handled or not allowed 2026-01-28 14:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par16-recessed-spotlight-bulb-e26-base-7w-550-lumens-50k-super-white-pk-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nsf-fabricated-3-compart-sink-24l-x-24w-bowl-812h-splash-24l-left-right-drainboards-16-ga>: HTTP status code is not handled or not allowed 2026-01-28 14:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010354-drain-valve-1-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-speed-squeegygray-epdm-rubber-with-straight-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-10-step-steel-rolling-ladder-10-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 14:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-maple-safety-edge-mobile-power-apron-production-bench-blue-32313744>: HTTP status code is not handled or not allowed 2026-01-28 14:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-retrofit-square-recessed-downlight-fixture-11w-750-lumens-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 14:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1308-high-temperature-wire-8-gauge-stranded-sf2-black-50-roll>: HTTP status code is not handled or not allowed 2026-01-28 14:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suspension-trauma-strap>: HTTP status code is not handled or not allowed 2026-01-28 14:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-193-b>: HTTP status code is not handled or not allowed 2026-01-28 14:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-218-b>: HTTP status code is not handled or not allowed 2026-01-28 14:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-24-adjustable-height-5-8-steel-work-platform>: HTTP status code is not handled or not allowed 2026-01-28 14:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suture-transport-cart-18-bins-22-diameter-star-base-31-41-height>: HTTP status code is not handled or not allowed 2026-01-28 14:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-h3-bottoming-chamfer-hss-tmx-hand-tap-ground-rh-4-flutes>: HTTP status code is not handled or not allowed 2026-01-28 14:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-16-inch-12-h4-bottoming-chamfer-hss-tmx-hand-tap-ground-rh-4-flutes>: HTTP status code is not handled or not allowed 2026-01-28 14:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-forklift-pocket-lifter-3000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-metric-hss-tm-x-hand-taps-set-of-3-m4-0-x-0-70-taper-plug-and-bottoming-chamfer>: HTTP status code is not handled or not allowed 2026-01-28 14:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x36-esd-square-edge-power-apron-production-bench-blue-32313830>: HTTP status code is not handled or not allowed 2026-01-28 14:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-ageia0163-mens-6-internal-met-guard-work-boot-brown-size-9-w>: HTTP status code is not handled or not allowed 2026-01-28 14:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-series-chair-caster-with-hard-rubber-wheel-stem-type-c>: HTTP status code is not handled or not allowed 2026-01-28 14:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-series-chair-caster-with-hard-rubber-wheel-stem-type-c>: HTTP status code is not handled or not allowed 2026-01-28 14:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96x30-shop-top-square-edge-power-apron-production-bench-blue-32313842>: HTTP status code is not handled or not allowed 2026-01-28 14:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m16-x-2-0-d7-plug-chamfer-iso-metric-hss-tm-x-hand-tap-ground-rh-4-flutes>: HTTP status code is not handled or not allowed 2026-01-28 14:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/florsheimfe690-mens-quick-release-6-metatarsal-work-boot-black-size-75-d-medium>: HTTP status code is not handled or not allowed 2026-01-28 14:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-regressed-downlight-fixture-18w-1360-lumens-4-12dia-white>: HTTP status code is not handled or not allowed 2026-01-28 14:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-swivel-plate-caster-6-mold-on-rubber-wheel-with-brake>: HTTP status code is not handled or not allowed 2026-01-28 14:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-012-b>: HTTP status code is not handled or not allowed 2026-01-28 14:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m24-x-1-5-d5-plug-chamfer-iso-metric-hss-tm-x-hand-tap-ground-rh-4-flutes>: HTTP status code is not handled or not allowed 2026-01-28 14:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-9-piece-cabinet-set-142w-x-21-14d-wall-x-80h-red>: HTTP status code is not handled or not allowed 2026-01-28 14:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51-1398-type-inch-k-inch-ts-safety-magnet-head-and-gas-carrier-natural-gas-liquid-propane>: HTTP status code is not handled or not allowed 2026-01-28 14:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq20073-20-hp-oil-less-scroll-compressor-tankless-116-psi-3-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m22x1-0-hss-iso-metric-tmx-round-adjustable-die-fine-thread-2-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 14:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-3-piece-cabinet-set-83w-x-21d-x-80h-silver>: HTTP status code is not handled or not allowed 2026-01-28 14:49:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561427-ball-valve-1-2-inch-for-frymaster>: HTTP status code is not handled or not allowed 2026-01-28 14:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/std151362hp-10-hp-oil-less-scroll-compressor-80-gal-horizontal-145-psi-1-phase-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5641011-valve-pressure-relief-for-broaster>: HTTP status code is not handled or not allowed 2026-01-28 14:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1321-junction-box-light-fixture-glass-globe>: HTTP status code is not handled or not allowed 2026-01-28 14:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-containment-sump-stack-module>: HTTP status code is not handled or not allowed 2026-01-28 14:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearkat-bk119-safety-glasses-bk1-indooroutdoor-clear-mirror-lens>: HTTP status code is not handled or not allowed 2026-01-28 14:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011692-pilot-kit-lp-lh-off-burner-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 14:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-132w-sunbrella-1a-wheat-fabric>: HTTP status code is not handled or not allowed 2026-01-28 14:49:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-081-z>: HTTP status code is not handled or not allowed 2026-01-28 14:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piloted-solenoid-valve-5-port-2-pos-sngl-solenoid-1-8-npt-24vdc-cv-078>: HTTP status code is not handled or not allowed 2026-01-28 14:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grove-patio-umbrella-with-wood-pole-90w-sunbrella-2a-linen-sesame-fabric>: HTTP status code is not handled or not allowed 2026-01-28 14:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/581032-solenoid-valve1-inch-110-120v>: HTTP status code is not handled or not allowed 2026-01-28 14:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-deck-60-wx24-d-4>: HTTP status code is not handled or not allowed 2026-01-28 14:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-48rbmag3-c-storage-cabinet-all-welded-48-wx24-dx78-h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 14:49:50 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/storage/cabinets/garage_cabinets landed on page that is not a product page. 2026-01-28 14:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solid-galvanized-shelf-60x18>: HTTP status code is not handled or not allowed 2026-01-28 14:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-vertical-file-letter-size-2-drawer-desert-putty-15w-x-26-1-2d-x-29h>: HTTP status code is not handled or not allowed 2026-01-28 14:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-vertical-file-legal-size-2-drawer-light-gray-18w-x-26-1-2d-x-29h>: HTTP status code is not handled or not allowed 2026-01-28 14:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-367213-n-bookcase-all-welded-36-wx13-dx72-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 14:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/outdoor_furniture/umbrellas_awnings_shades/outdoor_umbrellas_bases/umbrellas>: HTTP status code is not handled or not allowed 2026-01-28 14:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-1053-thermostat-kit-type-bjwa-kit-temperature-250-550-f-48-inch-capillary>: HTTP status code is not handled or not allowed 2026-01-28 14:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 115748 pages (at 94 pages/min), scraped 56549 items (at 24 items/min) 2026-01-28 14:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dental-lab-chair-with-vinyl-seat-and-mesh-backrest-black>: HTTP status code is not handled or not allowed 2026-01-28 14:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/newport-patio-umbrella-w-silver-pole-108w-sunbrella-1a-spectrum-dove-fabric>: HTTP status code is not handled or not allowed 2026-01-28 14:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-decorative-vanity-light-fixture-30w-1950-lumens-23l-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 14:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-faces-2-for-the-standard-qla-24-x-36-x-4-mm-white-message-board>: HTTP status code is not handled or not allowed 2026-01-28 14:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linkit-450-series-portable-dirt-and-aggregate-conveyor-10l-x-18w>: HTTP status code is not handled or not allowed 2026-01-28 14:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-fiberglass-step-ladder-w-plastic-tool-tray-2>: HTTP status code is not handled or not allowed 2026-01-28 14:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-station-black-3-15-x-16>: HTTP status code is not handled or not allowed 2026-01-28 14:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-coupling-gscc-112-112-kw>: HTTP status code is not handled or not allowed 2026-01-28 14:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-fiberglass-step-ladder-w-plastic-tool-tray-2>: HTTP status code is not handled or not allowed 2026-01-28 14:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-hss-6-flute-chatterless-countersink-set-90-1-4-3-4>: HTTP status code is not handled or not allowed 2026-01-28 14:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-1116-1-2-inch-npt-x-1-2-inch-npt-natural-gas-solenoid-valve-25v>: HTTP status code is not handled or not allowed 2026-01-28 14:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-frame-table-recycled-plastic-6-ft-green>: HTTP status code is not handled or not allowed 2026-01-28 14:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-30123-20-to-15-20-amp-generator-locking-adapter-with-nema-l5-20p-to-5-15-20r-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contour-bench-recycled-plastic-6-ft-cedar>: HTTP status code is not handled or not allowed 2026-01-28 14:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-p515l530-15-to-30-amp-locking-generator-adapter-with-nema-5-15p-to-l5-30r-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-pl530l1430-30-to-30-amp-generator-locking-adapter-with-nema-l5-30p-to-l14-30r-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bus-box-lid-22-l-x-16-1-2-w-x-3-4-h-for-use-with-fsb-20155r-polypropylene-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-safety-view-locker-five-tier-12x15x12-15-doors-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 14:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-press-1-3-4-ton-pneumatic-arbor-press-w-6-bore-x-2-stroke-cylinder-mounted>: HTTP status code is not handled or not allowed 2026-01-28 14:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rbmag2-l-grn-storage-cabinet-all-welded-36-wx18-dx78-h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-28 14:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euro-truck-with-3-wire-sides-wood-deck-60-x-30-2400-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rvz53fr-type-r-class-3-flame-resistant-vest-m-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 14:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-pullover-hoodie-lgt>: HTTP status code is not handled or not allowed 2026-01-28 14:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-24-h-x-12-d-v-bank-merv-13-air-filter-4v-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 14:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-hose-braid-w-male-npt-nipple-2-5-x-18>: HTTP status code is not handled or not allowed 2026-01-28 14:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-24-w-perf-step-w-cal-osha-handrail-cal-wa-sw113214p>: HTTP status code is not handled or not allowed 2026-01-28 14:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-36rb-c-storage-cabinet-all-welded-36-wx18-dx72-h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 14:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gauze-bandages-single-roll-3-x5yds-12-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superconductor-counter-height-refrigerator-32-cu-ft-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 14:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-junior-bandages-3-8-x-1-5-100-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24-w-steel-safety-angle-rolling-ladder-w-handrails-perforated-tread-w-cal-osha-handrail-cal-sw932p>: HTTP status code is not handled or not allowed 2026-01-28 14:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-24-wx89-d-stainless-steel-rolling-safety-ladder-serrated-grating-w-cal-osha-handrail-cal-ss113221g>: HTTP status code is not handled or not allowed 2026-01-28 14:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-extra-heavy-duty-steel-rolling-safety-ladder-heavy-duty-serrated-grating-w-cal-osha-handrail-cal-ml083221g>: HTTP status code is not handled or not allowed 2026-01-28 14:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-24-wx77-d-stainless-steel-rolling-safety-ladder-perforated-tread-w-cal-osha-handrail-cal-ss093221p>: HTTP status code is not handled or not allowed 2026-01-28 14:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zoneaire-select-packaged-terminal-air-conditioner-with-electric-heat-9300-btu-cool-208230v>: HTTP status code is not handled or not allowed 2026-01-28 14:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/finger-splint-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 14:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-20-h-x-1-d-ring-panel-merv-6-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 14:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-steel-safety-stairway-slope-rolling-ladder-weight-actuated-lock-24-expan-step-w-cal-osha-handrail-cal-wa-sw113214x>: HTTP status code is not handled or not allowed 2026-01-28 14:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-hose-braid-w-male-npt-nipple-2x10-5>: HTTP status code is not handled or not allowed 2026-01-28 14:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1200105-pro-line-temporary-horizontal-lifeline-60l-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 14:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/backstroke-flags-white>: HTTP status code is not handled or not allowed 2026-01-28 14:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-washing-machine-18-cuft-capacity-115-v-white>: HTTP status code is not handled or not allowed 2026-01-28 14:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-w-x-16-h-x-1-d-pleated-merv-13-leed-compliant-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 14:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-6-step-steel-rolling-ladder-14-d-top-step-lock-type-a-w-cal-osha-handrail-cal-fsh626g>: HTTP status code is not handled or not allowed 2026-01-28 14:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-w-x-25-h-x-2-d-pleated-merv-11-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 14:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-steel-transport-wheelchair-with-swing-away-footrest-17-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-12-h-x-2-d-pleated-merv-11-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 14:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-magnetic-dry-erase-glass-marker-board-48w-x-36h-white-surface>: HTTP status code is not handled or not allowed 2026-01-28 14:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/med-aire-bariatric-heavy-duty-low-air-loss-mattress-replacement-system-54-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-walking-forearm-crutches-adult>: HTTP status code is not handled or not allowed 2026-01-28 14:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-gym-towel-20x40>: HTTP status code is not handled or not allowed 2026-01-28 14:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-copper-fitting-with-90-short-radius-street-elbow-ftg-x-c-78-od-x-34-id-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-13-step-steel-rolling-ladder-14-d-top-step-w-handrail-lock-step-orange-w-cal-osha-handrail-cal-fs134014g-o>: HTTP status code is not handled or not allowed 2026-01-28 14:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-wheelchair-oxygen-inche-inch-cylinder-holder-with-iv-pole>: HTTP status code is not handled or not allowed 2026-01-28 14:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheelchair-seat-belt-velco-type-closure-60-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/envy174-foaming-disinfectant-cleaner-lavender-scent-19-oz-aerosol-spray-12case>: HTTP status code is not handled or not allowed 2026-01-28 14:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-steel-stock-picking-ladder-expanded-tread-w-cal-osha-handrail-cal-spl-8-nx>: HTTP status code is not handled or not allowed 2026-01-28 14:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-double-tier-12x18x36-without-legs-6-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-sloping-top-36-w-x-18-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-copper-fitting-with-90-long-radius-elbow-c-x-c-38-od-x-14-id-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-hip-high-chair-with-comfortable-padded-seat>: HTTP status code is not handled or not allowed 2026-01-28 14:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-fold-portable-wheelchair-scooter-ramp-w-carry-handle-4-foot-30-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8518001-adjustable-offset-upper-mast-450-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 14:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dmr-digital-handheld-radio-4-watts-uhf-400-470-mhz-ip65-approved-1000-channels>: HTTP status code is not handled or not allowed 2026-01-28 14:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-set-urethane-for-nobles-tennant-9015735>: HTTP status code is not handled or not allowed 2026-01-28 14:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bariatric-battery-powered-lift-with-six-point-cradle>: HTTP status code is not handled or not allowed 2026-01-28 14:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-wash-fountain-circular-110-24-vac>: HTTP status code is not handled or not allowed 2026-01-28 14:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stationary-chest-1>: HTTP status code is not handled or not allowed 2026-01-28 14:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-22w-x-82h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 14:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-magnetic-roll-stock-100l-x-2-12h-x-003-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 14:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1818-1-2-6in-oal-hss-heavy-duty-sand-blasted-118-point-carbide-tipped-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-heavy-duty-magnetic-roll-stock-600l-x-2w-x-006-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 14:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-pilaster-w-shoe-10w-x-82h-satin>: HTTP status code is not handled or not allowed 2026-01-28 14:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 115846 pages (at 98 pages/min), scraped 56574 items (at 25 items/min) 2026-01-28 14:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152031-10-poly-web-sling-eye-and-eye-2560-3200-6400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suma174-pan-clean-premium-pot--pan-detergent-floral-scent-25-l-bottle-2case>: HTTP status code is not handled or not allowed 2026-01-28 14:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-inch-racetrack-conference-table-in-espresso-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 14:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-rear-a-for-betco-e1268600fimap-405498>: HTTP status code is not handled or not allowed 2026-01-28 14:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152069-8-poly-web-sling-endless-4900-6200-12400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-series-cover-arm-p-a-bracket-antigue-brass>: HTTP status code is not handled or not allowed 2026-01-28 14:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-inch-flush-bridge-in-espresso-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 14:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-watch-out-forkli-trucks-rigid-plastic-10-h-x-14-w>: HTTP status code is not handled or not allowed 2026-01-28 14:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152026-2-poly-web-sling-eye-and-eye-2560-3200-6400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flanged-lacing-bar-1903-1-100-00>: HTTP status code is not handled or not allowed 2026-01-28 14:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b152004-8-quad-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-28 14:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1823-7-16-heavy-duty-steam-oxide-power-wood-bits-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-1-door-digital-locker-12inwx15indx66inh-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-tier-1-door-digital-locker-12inwx15indx66inh-tan-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1821-3-16-6-5-8-oal-hss-h-d-sand-blasted-118-pt-carbide-tipped-sds-plus-2-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-2-door-digital-locker-12inwx15indx78inh-tan-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x48-slatwall-panel-without-inserts-ca>: HTTP status code is not handled or not allowed 2026-01-28 14:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-danger-high-voltage-keep-out-rigid-plastic-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-28 14:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-double-long-scissor-lift-table-foot-operated-6000-lb-cap-216l-x-48w-230460v>: HTTP status code is not handled or not allowed 2026-01-28 14:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1872-5-00mm-hss-heavy-duty-black-gold-135-hss-heavy-duty-parabolic-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din6335-tp-star-knob-50197-m10-x-15-10nj03k>: HTTP status code is not handled or not allowed 2026-01-28 14:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-056>: HTTP status code is not handled or not allowed 2026-01-28 14:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-6w-x-82h-folkstone-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-vac-motor-td-for-alto-clarke-45019a>: HTTP status code is not handled or not allowed 2026-01-28 14:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152054-6-poly-web-sling-endless-2500-3200-6400-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 14:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-low-profile-scissor-lift-table-hand-operated-1100-lb-cap-55l-x-40w-115v>: HTTP status code is not handled or not allowed 2026-01-28 14:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1878-7-16-hss-heavy-duty-black-gold-135-split-point-3-flatted-shank-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1878-27-64-hss-heavy-duty-black-gold-135-split-point-3-flatted-shank-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-skirt-for-nobles-tennant-1011376>: HTTP status code is not handled or not allowed 2026-01-28 14:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-wrap-anti-static-24in-x-500ft-x-3-16in>: HTTP status code is not handled or not allowed 2026-01-28 14:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-double-tier-3-wide-12-3-4w-x-18d-x-36-1-2h-tan-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-resistant-staryarn-polyurethane-latex-glove-l-1-pair-gsp-19yl>: HTTP status code is not handled or not allowed 2026-01-28 14:51:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-012>: HTTP status code is not handled or not allowed 2026-01-28 14:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-sided-frame-18x60-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 14:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-industry-standard-clamping-couplings-climax-2miscc-09-09-s>: HTTP status code is not handled or not allowed 2026-01-28 14:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steamclean-microfiber-cloth-set-for-sg-4-4-2-863-171-0>: HTTP status code is not handled or not allowed 2026-01-28 14:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cluster-box-unit-16-a-size-doors-type-iii-green-usps-access>: HTTP status code is not handled or not allowed 2026-01-28 14:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-vacuum-bag-for-bissell-2038340-2037857-2038342-nilfisk-advance-56648423>: HTTP status code is not handled or not allowed 2026-01-28 14:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lightweight-long-sleeve-flame-resistant-safety-shirt-3xl-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-partition-panel-wo-brackets-5912w-azure>: HTTP status code is not handled or not allowed 2026-01-28 14:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-dividers-letter-size-literature-sorter-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-compartment-steel-literature-sorter-18-h-black>: HTTP status code is not handled or not allowed 2026-01-28 14:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-industry-standard-clamping-couplings-climax-2miscc-40-40-s>: HTTP status code is not handled or not allowed 2026-01-28 14:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/polymer_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 14:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-137-137>: HTTP status code is not handled or not allowed 2026-01-28 14:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18mm-aluminum-die-cast-rubber-grip-auto-lock-utility-knife>: HTTP status code is not handled or not allowed 2026-01-28 14:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150asp-3-32-hss-heavy-duty-steam-oxide-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150asp-tn-43-hss-heavy-duty-tin-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150asp-tn-44-hss-heavy-duty-tin-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150asp-tn-7-32-hss-heavy-duty-tin-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 14:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pfsf-ds-drain-shelf-for-pfsf-series>: HTTP status code is not handled or not allowed 2026-01-28 14:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-panel-wo-brackets-5912w-canyon-zephyr>: HTTP status code is not handled or not allowed 2026-01-28 14:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51083-thor-safety-glasses-black-frameinoutdoor-lens>: HTTP status code is not handled or not allowed 2026-01-28 14:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-300-s>: HTTP status code is not handled or not allowed 2026-01-28 14:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-012>: HTTP status code is not handled or not allowed 2026-01-28 14:51:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-025-z>: HTTP status code is not handled or not allowed 2026-01-28 14:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-hi-vis-safety-vest-class-2-s-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psm-w-well-steak-markers>: HTTP status code is not handled or not allowed 2026-01-28 14:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-thermohose-1095-heater-duct-16-dia-x-25l-x-4-pitch-white>: HTTP status code is not handled or not allowed 2026-01-28 14:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-shovel-14-in-blade-white>: HTTP status code is not handled or not allowed 2026-01-28 14:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scp-15-sauce-cup-1-1-2-oz-stainless-steel-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-ceiling-panel-kit-belt-x-plain-end-12-dia-x-8l-x-6-pitch-white>: HTTP status code is not handled or not allowed 2026-01-28 14:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-2ze57-lw-fits-dayton-model-2ze57>: HTTP status code is not handled or not allowed 2026-01-28 14:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-10-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 14:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w632-beverage-server-32-oz-stainless-steel-5-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 14:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/canadian-freedom-series-slotted-protective-hat-black-with-red-maple-leaf>: HTTP status code is not handled or not allowed 2026-01-28 14:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-w-keyway-climax-2iscc150-150skw>: HTTP status code is not handled or not allowed 2026-01-28 14:51:55 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/light_bulbs_lamps/led_bulbs landed on page that is not a product page. 2026-01-28 14:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 115945 pages (at 99 pages/min), scraped 56605 items (at 31 items/min) 2026-01-28 14:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-175-175>: HTTP status code is not handled or not allowed 2026-01-28 14:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-gel-clog-remover-bleach-scent-80-oz-bottle-6carton>: HTTP status code is not handled or not allowed 2026-01-28 14:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/psw-16y-wide-mouth-squeeze-bottles-16-oz>: HTTP status code is not handled or not allowed 2026-01-28 14:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-tec-edge-personal-fall-limiter-single-leg-36cs-swivel-snap-hook-8l>: HTTP status code is not handled or not allowed 2026-01-28 14:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-inch-portable-orange-delineator-post-2-ea-3-high-reflective>: HTTP status code is not handled or not allowed 2026-01-28 14:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-cap-vented-4-point-fas-trac-iii-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-081-a>: HTTP status code is not handled or not allowed 2026-01-28 14:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-makrofol-de1-1-g-g-pc-film-0-010-x-24-x-48-100-sheet-case>: HTTP status code is not handled or not allowed 2026-01-28 14:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppr-2y-free-flow-pourers-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-scoop-82-oz-purple>: HTTP status code is not handled or not allowed 2026-01-28 14:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wipe-dispenser-holder-holds-4-12-dia-bottle-5w-x-5-18d-x-5-38h-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-rod-0-750-dia-x-48-000-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-box-holder-9-12w-x-8-18d-x-9-38h-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crystal-clear-duct-tape-1-88-x-27-yards>: HTTP status code is not handled or not allowed 2026-01-28 14:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-inch-w-church-chair-with-book-rack-fabric-burgundy-hercules-series>: HTTP status code is not handled or not allowed 2026-01-28 14:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-193>: HTTP status code is not handled or not allowed 2026-01-28 14:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-fep-sheet-0-375-thick-12-x-12>: HTTP status code is not handled or not allowed 2026-01-28 14:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppm-4c-metal-pourer>: HTTP status code is not handled or not allowed 2026-01-28 14:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-press-fit-fluid-level-sight-glass-w-o-indicator-fits-28mm-1-10-bore-rd2-a>: HTTP status code is not handled or not allowed 2026-01-28 14:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-087-s>: HTTP status code is not handled or not allowed 2026-01-28 14:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-uno-pressure-gauge-1-4-npt-dry-0-4000-psi-lower-mount-501d-uno-204q>: HTTP status code is not handled or not allowed 2026-01-28 14:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartair-ductless-mini-split-ac-heater-wi-fi-control-18000-btu-13-installation-kit-white>: HTTP status code is not handled or not allowed 2026-01-28 14:52:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-uno-pressure-gauge-1-4-npt-dry-0-400-psi-lower-mount-501d-uno-254i>: HTTP status code is not handled or not allowed 2026-01-28 14:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rfm-3k-fluted-ramekins-3-oz-melamine-black>: HTTP status code is not handled or not allowed 2026-01-28 14:52:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-rod-3-500-dia-x-48-000-inch>: HTTP status code is not handled or not allowed 2026-01-28 14:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-couplings-recessed-screw-climax-cc-050-037>: HTTP status code is not handled or not allowed 2026-01-28 14:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62986-aware-wear-hi-vis-zipper-sweatshirt-class-3-hi-vis-lime-black-l>: HTTP status code is not handled or not allowed 2026-01-28 14:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-x-22-x-22-20-18-16-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 14:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-0-375-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 14:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/integra-office-chair-with-adj-arms-high-back-articulating-tilt-18-23h-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 14:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 14:52:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-industry-standard-clamping-couplings-climax-2miscc-14-14-s>: HTTP status code is not handled or not allowed 2026-01-28 14:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges>: HTTP status code is not handled or not allowed 2026-01-28 14:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptp-12c-pebbled-tumblers-12-oz-1213h>: HTTP status code is not handled or not allowed 2026-01-28 14:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-controlled-room-temperature-cabinet-solid-door-10-5-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 14:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-duty-locker-24wx24dx90h-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 14:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-24wx18dx76h-blue-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 14:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-table-30-wide-top-splash-at-rear-only-84-long-16-gauge-type-430-ss-top-5-backsplash>: HTTP status code is not handled or not allowed 2026-01-28 14:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-rigid-flex-steel-hose-8-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-reducer-10-8-10-dia-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/restroom_partitions_stalls/plastic_laminate_bathroom_partitions>: HTTP status code is not handled or not allowed 2026-01-28 14:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-4005-single-strap-wrist-brace-support-left-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 14:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-paper-phenolic-sheet-0-250-thick-36-x-48>: HTTP status code is not handled or not allowed 2026-01-28 14:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/step-down-clamp-on-adaptor-sda-series-climax-sda-137>: HTTP status code is not handled or not allowed 2026-01-28 14:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-waterproof-window-door-trim-sealant-5-5-oz-white-7079818886>: HTTP status code is not handled or not allowed 2026-01-28 14:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-coupling-4-set-screws-2-90-rc4h-series-climax-rc-037-s-4h90>: HTTP status code is not handled or not allowed 2026-01-28 14:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-kitchen-100-silicone-sealant-9-8-oz-white-7079808656>: HTTP status code is not handled or not allowed 2026-01-28 14:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-paper-phenolic-sheet-0-062-thick-48-x-96>: HTTP status code is not handled or not allowed 2026-01-28 14:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atch-811-table-card-holder-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 14:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-14-x-14-white-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 14:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-squids-3791-connecting-bar-lock-collar-w-tool-attachment-point-7-lb-cap-34-silver>: HTTP status code is not handled or not allowed 2026-01-28 14:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-1-250-thick-12-x-48>: HTTP status code is not handled or not allowed 2026-01-28 14:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-elbow-60-degree-1-5-clr-8-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-topline-speed-burnish-pad-3200-20-in-5-case>: HTTP status code is not handled or not allowed 2026-01-28 14:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cbwt-1830-cutting-board-18l-30w-1-2h-white>: HTTP status code is not handled or not allowed 2026-01-28 14:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-clamp-with-pin-12-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nova-lounge-chair-vinyl-seat-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arborpants-chainsaw-pants-weljeap1m32-medium-32-l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-couplings-recessed-screw-w-keyway-cc-series-climax-2cc-100-100-kw>: HTTP status code is not handled or not allowed 2026-01-28 14:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-coupling-4-set-screws-2-90-rc4h-series-climax-rc-062-skw4h90>: HTTP status code is not handled or not allowed 2026-01-28 14:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-star153-anti-fatigue-mat-1116-thick-2w-x-3l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alrk-20-cv-cover-for-alrk-20-and-alrk-20bk>: HTTP status code is not handled or not allowed 2026-01-28 14:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0386r-iron-tuff-enhanced-visibility-high-bib-overall-regular-navy-5xl>: HTTP status code is not handled or not allowed 2026-01-28 14:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsfk-21-basting-fork-21l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116042 pages (at 97 pages/min), scraped 56637 items (at 32 items/min) 2026-01-28 14:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intek-series153-gas-engine-vertical-shaft-11-12-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axhh-24-extra-heavy-aluminum-stock-pot>: HTTP status code is not handled or not allowed 2026-01-28 14:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-truck-slat-sides-2-adj-shelves-3600-lbs-cap-30-48-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-28 14:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-grate-guard-high-flow-no-overflows-18l-x-36w-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 14:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-vision-link-jaw-mount-t-link>: HTTP status code is not handled or not allowed 2026-01-28 14:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-7002-eco-recycled-pu-coated-gloves-2xl-green-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 14:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-resistant-rubber-lip-set-for-kira-b50-transparent>: HTTP status code is not handled or not allowed 2026-01-28 14:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/raised-platform-bo-trucks-lower-shelf-3-mesh-sides-18-32-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-28 14:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelfsecurity-boxvented24wx21dx78hgyall-welded>: HTTP status code is not handled or not allowed 2026-01-28 14:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/albp-1218-aluminum-bake-pan-w-drop-hand>: HTTP status code is not handled or not allowed 2026-01-28 14:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-recessed-screw-climax-tc-075-16>: HTTP status code is not handled or not allowed 2026-01-28 14:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-24wx18dx72h-red-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 14:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slimline-rectangular-trash-can-lid-with-can-document-cutout-1623-gal-cap-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vanguard-series-gas-engine-electric-start-horizontal-shaft-14-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-temperature-shield>: HTTP status code is not handled or not allowed 2026-01-28 14:53:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=jtm-4vs-1-mill-with-3-axis-acu-rite-g-2-millpwr-cnc already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:53:10 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-21x42-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 14:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ts200-015-electric-chain-hoist-2-ton-capacity-15-lift-328-fpm-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-oxidizing-gases-rigid-plastic-placard>: HTTP status code is not handled or not allowed 2026-01-28 14:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0344r-iron-tuff-minus-50-suit-regular-navy-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-36x24>: HTTP status code is not handled or not allowed 2026-01-28 14:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-wire-shelf-24x42>: HTTP status code is not handled or not allowed 2026-01-28 14:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-lift-standard-scissor-lift-table-hand-operated-2000-lb-capacity-72l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 14:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-outdoor-caf-armless-stacking-chair-steel-mesh-gray-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=jtm-4vs-1-mill-with-3-axis-acu-rite-g-2-millpwr-cnc>: HTTP status code is not handled or not allowed 2026-01-28 14:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/cell_phone_box_lockers>: HTTP status code is not handled or not allowed 2026-01-28 14:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organic-waste-trash-cart-w-casters-64-gallon-organic-green-acg64-00lim>: HTTP status code is not handled or not allowed 2026-01-28 14:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-profile-papr-hood-optimair-tl-20-pack-white>: HTTP status code is not handled or not allowed 2026-01-28 14:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-42>: HTTP status code is not handled or not allowed 2026-01-28 14:53:24 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-meat-grinder-1-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 14:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0033-11-oxford-table-fork>: HTTP status code is not handled or not allowed 2026-01-28 14:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-800074-clr-4-clr-glass-filled-nylon-hook-0-287-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-255010-stackable-letter-trays-3-5-8-w-x-1-1-2-d-x-2-h>: HTTP status code is not handled or not allowed 2026-01-28 14:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0342r-iron-tuff-jackoat-regular-navy-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-192812-two-sided-sign-holder-nameplate-8-1-2-w-x-3-d-x-5-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 14:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-metric-deep-impact-socket-14mm-drive-black>: HTTP status code is not handled or not allowed 2026-01-28 14:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolex-toilet-bowl-urinal-cleaner-quart-bottle-12-bottles-case-1038799>: HTTP status code is not handled or not allowed 2026-01-28 14:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-push-to-talk-button>: HTTP status code is not handled or not allowed 2026-01-28 14:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coveralls>: HTTP status code is not handled or not allowed 2026-01-28 14:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coastal-breeze-low-splash-deodorizer-urinal-screen-12-screens-case-48260>: HTTP status code is not handled or not allowed 2026-01-28 14:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/personnel-locker-double-tier-74x24x78-6-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-drum-spill-containment-pallet>: HTTP status code is not handled or not allowed 2026-01-28 14:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-soft-face-sledge-hammer-6-lb-head-36l-unbreakable-steel-core-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-gallon-half-round-rubbermaid-waste-receptacle-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/preference-white-high-capacity-roll-towel-1000ft-roll-6-rolls-case-26100>: HTTP status code is not handled or not allowed 2026-01-28 14:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-top-folding-table-48-x-20-x-29-inch-beige>: HTTP status code is not handled or not allowed 2026-01-28 14:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ut-16ht-utility-tong-coiled-spring-coiled-spring-16l-extra-heavyweight-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-09-s>: HTTP status code is not handled or not allowed 2026-01-28 14:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700085-c-channel-11-3-4-w-x-1-4-d-x-1-1-4-h>: HTTP status code is not handled or not allowed 2026-01-28 14:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-brass-sledge-hammer-25-lb-head-12-steel-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safe-t-gard-black-1-2-fold-seat-cover-dispenser-57748>: HTTP status code is not handled or not allowed 2026-01-28 14:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-inch-brass-interlocking-stencil-letters-and-numbers-forty-five-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 14:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-sledge-hammer-4-lb-head-24l-unbreakable-steel-core-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:53:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-clear-plastic-protective-shield-mobile-computer-pc-cart-695436>: HTTP status code is not handled or not allowed 2026-01-28 14:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-metric-standard-impact-socket-32mm-drive-black>: HTTP status code is not handled or not allowed 2026-01-28 14:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-sided-street-sign-silver-23-2-5-l-x-27-9-16-w-x-45-11-16-h>: HTTP status code is not handled or not allowed 2026-01-28 14:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700775-clr-two-sided-pegboard-floor-display-w-adj-studio-base-17-w-x-17-d-x-70-h>: HTTP status code is not handled or not allowed 2026-01-28 14:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-t150-clamping-band>: HTTP status code is not handled or not allowed 2026-01-28 14:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-193-s>: HTTP status code is not handled or not allowed 2026-01-28 14:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700913-bowl-for-pegboard-slatwall-12-w-x-13-1-4-d-x-7-1-2-h>: HTTP status code is not handled or not allowed 2026-01-28 14:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-height-breakroom-table-72-lx36-wx42-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcp-30-malt-cup-30-oz-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-28 14:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z3-hard-hat-adapter-clips>: HTTP status code is not handled or not allowed 2026-01-28 14:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0358r-iron-tuff-siberian-jacket-tall-navy-xl>: HTTP status code is not handled or not allowed 2026-01-28 14:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rackable-plastic-pallet-blue-48-x-40-open-deck-fda-grade-6-runner-fork-cap-4400-lbs>: HTTP status code is not handled or not allowed 2026-01-28 14:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0490-insulated-softshell-jacket-regular-black-charcoal-xl>: HTTP status code is not handled or not allowed 2026-01-28 14:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-inch-x-5-yards-self-adhesive-bandage-non-latex-kelly-green>: HTTP status code is not handled or not allowed 2026-01-28 14:53:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-manual-chain-hoist-w-overload-protection-1-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-28 14:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116133 pages (at 91 pages/min), scraped 56661 items (at 24 items/min) 2026-01-28 14:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-137-06-s>: HTTP status code is not handled or not allowed 2026-01-28 14:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sanding-belt-aluminum-oxide-80-grit-48l-x-2w-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 14:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pf-32-funnel-32d>: HTTP status code is not handled or not allowed 2026-01-28 14:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bug-x-3012656-insect-repellent-30-deet-8oz-pump-spray-bottle-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msb-12-coarse-mesh-12-diameter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tray-top-shelf-plastic-utility-cart-1>: HTTP status code is not handled or not allowed 2026-01-28 14:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-5-yards-self-adhesive-bandage-non-latex-dark-blue-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-28 14:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-zlink-tear-off-lens-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 14:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bivvy-84-inch-by-36-inch-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-way-adjustbale-ergonomic-chair-with-arms-black>: HTTP status code is not handled or not allowed 2026-01-28 14:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/protective_clothing_workwear/coats_jackets/cold_weather_jackets_coats>: HTTP status code is not handled or not allowed 2026-01-28 14:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cks-13-cake-stand>: HTTP status code is not handled or not allowed 2026-01-28 14:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n24s-quick-disconnect-hose-adapter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 14:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-plastic-top-pedestal-workbench-w-4-drawers-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 14:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/icop-8-disher-w-single-piece-handle-size-8-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-125-100-s>: HTTP status code is not handled or not allowed 2026-01-28 14:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accesory-kit-for-mega-brute-waste-collector-black-fg9w71l90000>: HTTP status code is not handled or not allowed 2026-01-28 14:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-metric-standard-impact-socket-22mm-drive-black>: HTTP status code is not handled or not allowed 2026-01-28 14:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-px4-charger-kit>: HTTP status code is not handled or not allowed 2026-01-28 14:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handle-kit-for-mega-brute-waste-collector-red-fg9w71l4red->: HTTP status code is not handled or not allowed 2026-01-28 14:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0302-stretch-liner-black-one-size>: HTTP status code is not handled or not allowed 2026-01-28 14:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utph-12r-utility-tong-heat-resistant-heat-resistant-12l-red>: HTTP status code is not handled or not allowed 2026-01-28 14:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hms10r-hazardous-materials-systems-label-10-12-x-10-12-redyellowwhiteblue>: HTTP status code is not handled or not allowed 2026-01-28 14:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z4-weld-visor-assembly>: HTTP status code is not handled or not allowed 2026-01-28 14:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-outdoor-powr-center-extension-cord-12awg-15a-125v-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1640zx-large-spindle-bore-lathe-7-12-hp-3ph-230460v>: HTTP status code is not handled or not allowed 2026-01-28 14:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-treading-alloy-dies-1-1-4>: HTTP status code is not handled or not allowed 2026-01-28 14:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-inch-x-5-yards-self-adhesive-bandage-non-latex-yellow-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-28 14:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-393-bo>: HTTP status code is not handled or not allowed 2026-01-28 14:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-by-24-stage-package-24-inches-height-red-carpet-black-shirred-pleat-skirting>: HTTP status code is not handled or not allowed 2026-01-28 14:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1102-deluxe-filterregulatorlubricator-metal-bowl-12-npt-250-psi-40-micron>: HTTP status code is not handled or not allowed 2026-01-28 14:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-106>: HTTP status code is not handled or not allowed 2026-01-28 14:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-horizontal-brace-set-28>: HTTP status code is not handled or not allowed 2026-01-28 14:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-1146-mini-low-pressure-regulator-14-npt-250-psi-gauge-not-included>: HTTP status code is not handled or not allowed 2026-01-28 14:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-104c-cone-tops-for-g-104>: HTTP status code is not handled or not allowed 2026-01-28 14:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-bp-22413cnc-157-2-axis-programmable-hydraulic-press-brake-3ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 14:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1145-2-mini-heavy-duty-regulator-18-npt-250-psi-gauge-not-included>: HTTP status code is not handled or not allowed 2026-01-28 14:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-starter-unit-36-w-x-18-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 14:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utph-16y-utility-tong-heat-resistant-heat-resistant-16l-yellow>: HTTP status code is not handled or not allowed 2026-01-28 14:54:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/machining/machinery/lathes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1308110-universal-nylon-markers-b2036>: HTTP status code is not handled or not allowed 2026-01-28 14:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-add-on-unit-54-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 14:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-109-square-shakers-w-mushroom-tops>: HTTP status code is not handled or not allowed 2026-01-28 14:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ew-37hd-manually-operated-english-wheel-37-throat-depth>: HTTP status code is not handled or not allowed 2026-01-28 14:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wpm-10cd-maestro-modern-pepper-mill>: HTTP status code is not handled or not allowed 2026-01-28 14:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wpm-12-wooden-pepper-mill>: HTTP status code is not handled or not allowed 2026-01-28 14:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1455110-hi-way-conveyor-chain-p-34066>: HTTP status code is not handled or not allowed 2026-01-28 14:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-tier-shelving-starter-unit-solid-galvanized-steel-72w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-bb-12010h-nc-heavy-duty-hydraulic-box-pan-brake-10l-5-hp-3ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 14:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-156-s>: HTTP status code is not handled or not allowed 2026-01-28 14:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-add-on-unit-42-w-x-18-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 14:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-12-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/machining/machinery/lathes>: HTTP status code is not handled or not allowed 2026-01-28 14:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-tier-shelving-starter-unit-solid-galvanized-steel-42w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 14:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/23181-cut-off-wheel-type-1-saitech-6-inch-x-045-inch-x-5-8-inch-ceramic-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 14:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-add-on-unit-solid-galvanized-steel-54w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 14:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-60a-38-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 14:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-ton-deluxe-hydraulic-ironworker-w-powerlink-5-tooling-stations-3ph-460-v>: HTTP status code is not handled or not allowed 2026-01-28 14:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9240020-universal-spinner>: HTTP status code is not handled or not allowed 2026-01-28 14:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pds-5-plastic-dough-scraper-12-pieces-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-starter-unit-solid-galvanized-steel-42w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 14:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-ton-hydraulic-ironworker-w-powerlink-4-tooling-stations-3ph-380-v>: HTTP status code is not handled or not allowed 2026-01-28 14:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0005-01-dots-teaspoon>: HTTP status code is not handled or not allowed 2026-01-28 14:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-task-chair-fabric-seat-white-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cord-spring-rewind-reels-single-industrial-receptacle-75-cord-12-awg>: HTTP status code is not handled or not allowed 2026-01-28 14:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-replacement-liner-10-bushel-red>: HTTP status code is not handled or not allowed 2026-01-28 14:54:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/57901-sanding-belt-1a-x-4-inch-x-24-inch-36-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 14:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pla-lids-for-fiber-bento-box-containers-5-compartment-12-1x9-8x0-8-300-carton>: HTTP status code is not handled or not allowed 2026-01-28 14:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5c-lever-type-collet-closer-for-elite-e-1340vs-e-1440vs-lathe>: HTTP status code is not handled or not allowed 2026-01-28 14:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116227 pages (at 94 pages/min), scraped 56687 items (at 26 items/min) 2026-01-28 14:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acp-083-layer-cake-pan>: HTTP status code is not handled or not allowed 2026-01-28 14:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60511-sanding-belt-1a-x-2-inch-x-48-inch-100-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 14:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-pocket-poly-portfolios-red-set-of-24>: HTTP status code is not handled or not allowed 2026-01-28 14:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-safety-striped-document-frame-assorted-6-x-9-16-box>: HTTP status code is not handled or not allowed 2026-01-28 14:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-double-wide-climax-d2c-100>: HTTP status code is not handled or not allowed 2026-01-28 14:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-28 14:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/composition-notebook-wide-ruled-black-marble-12-set>: HTTP status code is not handled or not allowed 2026-01-28 14:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-429-galvanized-clip-fist-grip-1-1-8>: HTTP status code is not handled or not allowed 2026-01-28 14:55:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-series-spring-rewind-static-discharge-cord-reel-75-cord-ezsd75>: HTTP status code is not handled or not allowed 2026-01-28 14:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apzs-12-pizza-screen>: HTTP status code is not handled or not allowed 2026-01-28 14:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-with-acrylic-adhesive-60a-14-thick-x-36-w-x-10-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 14:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/84258-water-proof-sanding-sheets-9-inch-x-11-inch-500-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-28 14:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-25-1-4x18-white-2>: HTTP status code is not handled or not allowed 2026-01-28 14:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-rewind-static-discharge-cable-reel-75-stainless-steel-cable>: HTTP status code is not handled or not allowed 2026-01-28 14:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-row-universal-low-rise-aluminum-bleacher-7-1-2-wide-double-footboard>: HTTP status code is not handled or not allowed 2026-01-28 14:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-curtain-electric-heat-42-inch-with-ecm-motor-wing-e100-ec-208-230v-3ph>: HTTP status code is not handled or not allowed 2026-01-28 14:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-209-galvanized-carbon-shackle-spa-3-16-1-3t-wll>: HTTP status code is not handled or not allowed 2026-01-28 14:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-with-acrylic-adhesive-50a-14-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 14:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-056>: HTTP status code is not handled or not allowed 2026-01-28 14:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_strips>: HTTP status code is not handled or not allowed 2026-01-28 14:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-24-3-8-x-14-7-8x8-tote-green>: HTTP status code is not handled or not allowed 2026-01-28 14:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-piece-round-water-hyacinth-baskets-natural>: HTTP status code is not handled or not allowed 2026-01-28 14:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-row-national-rep-aluminum-bleacher-with-guard-rail-27-wide>: HTTP status code is not handled or not allowed 2026-01-28 14:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-set-screw-collar-l-climax-lc-050>: HTTP status code is not handled or not allowed 2026-01-28 14:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-100-100>: HTTP status code is not handled or not allowed 2026-01-28 14:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50161-3a-fiber-disc-4-1-2-inch-x-7-8-inch-60-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 14:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-all-purpose-scale-7998-lb-x-002-lb>: HTTP status code is not handled or not allowed 2026-01-28 14:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50146-3a-fiber-disc-4-1-2-inch-x-7-8-inch-100-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 14:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-clamping-collar-climax-m1c-16>: HTTP status code is not handled or not allowed 2026-01-28 14:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-320cn-s-c-carbon-hook-eye-w-latch-15t-wll>: HTTP status code is not handled or not allowed 2026-01-28 14:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-1337-g100-chain-connecting-link-lok-a-loy-1-4-4300-lbs-wll>: HTTP status code is not handled or not allowed 2026-01-28 14:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-no-adhesive-60a-18-thick-x-2-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-264-pad-eye--1-1-2>: HTTP status code is not handled or not allowed 2026-01-28 14:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ck-58-clamping-kit-w-tray-for-58-t-slot-pack-of-52>: HTTP status code is not handled or not allowed 2026-01-28 14:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-tear-drop-beam-pair-48-l-3>: HTTP status code is not handled or not allowed 2026-01-28 14:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-411-galvanized-thimble-standard-1-8-wire>: HTTP status code is not handled or not allowed 2026-01-28 14:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flood-coolant-system-for-230460v-3-phase-milling-machines>: HTTP status code is not handled or not allowed 2026-01-28 14:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-without-decking-72x18x72-starter>: HTTP status code is not handled or not allowed 2026-01-28 14:55:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-ventilation-fan-12-inch-with-32-feet-flexible-ducting>: HTTP status code is not handled or not allowed 2026-01-28 14:55:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-strip-no-adhesive-50a-116-thick-x-6-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-gray-96-wx-48-d-x-60-h-with-polyethylene-file-boxes>: HTTP status code is not handled or not allowed 2026-01-28 14:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fo-605-tip-out-bin-drawer-carts-5-drawers-25-lb-cap-4-1316l-x-23-1116w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 14:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-lift-platform-for-20-bushel-dandux-plastic-box-trucks>: HTTP status code is not handled or not allowed 2026-01-28 14:55:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/single_phase_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wn-751-clevis-fork-joints-steel-w-snap-on-spring-pin-zinc-pltd-1-4-x-28l-1-7-16-oal>: HTTP status code is not handled or not allowed 2026-01-28 14:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-with-high-temp-adhesive-50a-116-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-6505-closet-door-roller-back-12-inch-offset-78-inch-nylon-wheelpack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 14:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-wheel-belt-grinder-2-w-x-48-l-single-phase-110v-bg-248-2>: HTTP status code is not handled or not allowed 2026-01-28 14:55:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 14:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-forged-head-stake-black>: HTTP status code is not handled or not allowed 2026-01-28 14:55:42 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 14:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/static-conductive-air-hose-assembly-34-id-x-50l-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-forged-head-stake-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/static-conductive-air-hose-assembly-38-id-x-50l-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/general_purpose_electric_motors/single_phase_motors>: HTTP status code is not handled or not allowed 2026-01-28 14:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-motor-1hp-1200rpm-145t-tefc-575v-60hz-cont-40c-1-15sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 14:55:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-15x18x72-3-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-60a-116-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:55:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38412-14-hollow-shaft-nut-driver>: HTTP status code is not handled or not allowed 2026-01-28 14:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tracking-trailer>: HTTP status code is not handled or not allowed 2026-01-28 14:55:52 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=manually-operated-box-and-pan-finger-brake-2-l-16-gauge already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-dc-motor-general-purpose-1-3hp-1750rpm-56c-tefc-180v-40c-rigid-c-nema>: HTTP status code is not handled or not allowed 2026-01-28 14:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-tarp-system-with-mesh-tarp-7-ft-x-18-ft-dtr7018>: HTTP status code is not handled or not allowed 2026-01-28 14:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116317 pages (at 90 pages/min), scraped 56716 items (at 29 items/min) 2026-01-28 14:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-grinder-6-w-x-79-l-3-phase-220v-bg-679>: HTTP status code is not handled or not allowed 2026-01-28 14:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pem-aluminum-meeting-stile-w-nylon-insert-84-l-x-1-3-8-w-clear-anodized-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 14:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silver-grommet-cover>: HTTP status code is not handled or not allowed 2026-01-28 14:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-positioner-single-phase-110v-wp-750>: HTTP status code is not handled or not allowed 2026-01-28 14:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 14:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prime-small-moving-boxes-24l-x-12w-x-10h-kraft-blue-8-ctn>: HTTP status code is not handled or not allowed 2026-01-28 14:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=manually-operated-box-and-pan-finger-brake-2-l-16-gauge>: HTTP status code is not handled or not allowed 2026-01-28 14:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironworker-3-hp-3-phase-220v-sw-503>: HTTP status code is not handled or not allowed 2026-01-28 14:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-70a-332-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-20x20x10-without-roof-3-sides>: HTTP status code is not handled or not allowed 2026-01-28 14:56:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=foot-operated-corner-notcher-16-gauge-mild-steel-capacity-3-l-blade already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manually-operated-corner-notcher-16-gauge-mild-steel-capacity-6-l-blade>: HTTP status code is not handled or not allowed 2026-01-28 14:56:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/searchResult?q=manually-operated-non-mitering-pipe-notcher-for-1-1-2-2-schedule-40-pipe already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-lip-deck-30-x-40-pneumatic-wheels-3000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-kw-ceiling-electric-forced-air-heater-18084-btu-240v>: HTTP status code is not handled or not allowed 2026-01-28 14:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gre-868-screw-anchor-expander-assy-14-20-868>: HTTP status code is not handled or not allowed 2026-01-28 14:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-vent-free-radiant-heater-20000-btu>: HTTP status code is not handled or not allowed 2026-01-28 14:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-70a-38-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 14:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-partition-security-room-20x15x8-without-roof-2-sides-w-window>: HTTP status code is not handled or not allowed 2026-01-28 14:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-intensity-infrared-patio-heater-with-transformer-liquid-propane-40000-btu-120v>: HTTP status code is not handled or not allowed 2026-01-28 14:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-7kalj>: HTTP status code is not handled or not allowed 2026-01-28 14:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-chain-hoist-10-foot-li-10-000-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:56:16 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/conduit_fishing_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-j-trim-in-natural-oak-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:56:17 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/searchResult?q=foot-operated-corner-notcher-16-gauge-mild-steel-capacity-3-l-blade landed on page that is not a product page. 2026-01-28 14:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/searchResult?q=manually-operated-non-mitering-pipe-notcher-for-1-1-2-2-schedule-40-pipe>: HTTP status code is not handled or not allowed 2026-01-28 14:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-l-trim-in-prado-granite-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-platform-truck-24-x-36-mold-on-rubber-wheels-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ited240-classified-circuit-breaker-type-qd-replacement-for-square-d-type-qo-2-pole-40a>: HTTP status code is not handled or not allowed 2026-01-28 14:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/94-l-l-trim-in-natural-oak-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-upper-shelf-dividers-pack-of-6-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-steel-weather-resistant-covered-laminated-padlocks-no-6127lh>: HTTP status code is not handled or not allowed 2026-01-28 14:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-high-security-steel-solid-body-padlocks-no-7040ka>: HTTP status code is not handled or not allowed 2026-01-28 14:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-443le>: HTTP status code is not handled or not allowed 2026-01-28 14:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sdx1-716-c45-steel-black-oxide-quick-detach-bushing-1-716-inch-bore>: HTTP status code is not handled or not allowed 2026-01-28 14:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/conduit_fishing_tools>: HTTP status code is not handled or not allowed 2026-01-28 14:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-jumbo-wardrobe-cabinet-48-w-x-24-d-x-78-h-sand>: HTTP status code is not handled or not allowed 2026-01-28 14:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x12x75-14>: HTTP status code is not handled or not allowed 2026-01-28 14:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-36x12x75-22>: HTTP status code is not handled or not allowed 2026-01-28 14:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-part-carbonless-inventory-tag-pre-wired-8500-8999-8-6-14l-x-3-18w-500pack>: HTTP status code is not handled or not allowed 2026-01-28 14:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mid-size-brass-spray-nozzle-safety-orange>: HTTP status code is not handled or not allowed 2026-01-28 14:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-15-inch-w-skatewheel-curve-15-inch-oaw-90-degree>: HTTP status code is not handled or not allowed 2026-01-28 14:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-lift-wall-rack>: HTTP status code is not handled or not allowed 2026-01-28 14:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinnacle-plus-10-series-rubber-wall-base-1-coil-4-in-x-125-in-x-60-ft-black-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinnacle-plus-90-series-rubber-wall-base-1-coil-4-in-x-125-in-x-60-ft-black-brown>: HTTP status code is not handled or not allowed 2026-01-28 14:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-framed-letter-board-message-center-60w-36h>: HTTP status code is not handled or not allowed 2026-01-28 14:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1900-weather-fashions-moccasin-rubber-overshoes-black-lg>: HTTP status code is not handled or not allowed 2026-01-28 14:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/display-style-black-chalk-board-18w-12h>: HTTP status code is not handled or not allowed 2026-01-28 14:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-double-tier-12x12x36-6-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-02f-direct-acting-solenoid-valve-2-2-nc-nbr-seal-3-8-nptf-3-mm-24v-dc>: HTTP status code is not handled or not allowed 2026-01-28 14:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-hot-melt-tape-3-x-1000-yds-25-mil-clear-4pack>: HTTP status code is not handled or not allowed 2026-01-28 14:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-310-nipple-3-16-hose-barb-industrial-interchange-1-4>: HTTP status code is not handled or not allowed 2026-01-28 14:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-0-375-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 14:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-door-aluminum-framed-enclosed-bulletin-board-black-pc-72w-48h>: HTTP status code is not handled or not allowed 2026-01-28 14:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinnacle-rubber-wall-base-4-in-x-125-in-x-48-in-slate>: HTTP status code is not handled or not allowed 2026-01-28 14:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o53129-comfortbrite-snap-fly-front-overall-fluorescent-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-door-aluminum-framed-letter-board-sliding-door-48w-36h>: HTTP status code is not handled or not allowed 2026-01-28 14:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-70a-18-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o53107-35mm-industrial-work-snap-fly-front-overall-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ketron-peek-sheet-q-0-500-thick-x-24-w-x-24-l>: HTTP status code is not handled or not allowed 2026-01-28 14:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ketron-peek-sheet-q-0-500-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 14:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-pre-wired-5-34l-x-2-78w-orange-100pack>: HTTP status code is not handled or not allowed 2026-01-28 14:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-raised-circular-stair-tread-square-nose-204375-x-36-black>: HTTP status code is not handled or not allowed 2026-01-28 14:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-1-2-34l-x-1-38w-light-blue-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 14:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-circle-tag-pre-wired-2-dia-black-100pack>: HTTP status code is not handled or not allowed 2026-01-28 14:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-60a-132-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 14:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silencer-plus-band-saw-blade-1-inch-w-035-thick-gauge-5-8-tpi-333-258158>: HTTP status code is not handled or not allowed 2026-01-28 14:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j56107-durascrim-storm-fly-front-hooded-jacket-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-fog-arc-shield-with-chin-guard-light-green-welfs20cparc10>: HTTP status code is not handled or not allowed 2026-01-28 14:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-in-line-vac-only-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 14:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1730s16-osha-stairway-30width-16-stairs>: HTTP status code is not handled or not allowed 2026-01-28 14:56:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-white-plastic-box-12-1-2-gallon-18x26x9>: HTTP status code is not handled or not allowed 2026-01-28 14:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116410 pages (at 93 pages/min), scraped 56740 items (at 24 items/min) 2026-01-28 14:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-5-4-34l-x-2-38w-fluorescent-green-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 14:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-5-8-t29-z3-xl-60-grit-flap-discs>: HTTP status code is not handled or not allowed 2026-01-28 14:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-clear-lid-18x26>: HTTP status code is not handled or not allowed 2026-01-28 14:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-1-500-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 14:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn615-3-ball-plungers-steel-internal-hexagon-standard-spring-0-12-plunger-dia-0-55-l>: HTTP status code is not handled or not allowed 2026-01-28 14:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-shelf-bench-rack-with-32-bins-8-wide-33x12x21-2>: HTTP status code is not handled or not allowed 2026-01-28 14:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-shelf-bench-rack-with-64-bins-4-wide-33x12x61>: HTTP status code is not handled or not allowed 2026-01-28 14:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-4-34l-x-2-38w-green-100pack>: HTTP status code is not handled or not allowed 2026-01-28 14:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/sanding_discs/flap_sanding_discs>: HTTP status code is not handled or not allowed 2026-01-28 14:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tyvek174-shipping-tag-6-14l-x-3-18w-green-100pack>: HTTP status code is not handled or not allowed 2026-01-28 14:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j56207-durascrim-storm-fly-front-jacket-yellow-hood-snaps-lg>: HTTP status code is not handled or not allowed 2026-01-28 14:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-shelf-steel-shelving-with-24-akrobins-36x12x39>: HTTP status code is not handled or not allowed 2026-01-28 14:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lan-station-utility-drawer-african-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 14:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/woodruff-key-5-16-w-x-1-outer-dia-alloy-steel-plain-key-no-1008-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-28 14:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-electric-height-adjustable-desk-60-w-24-d-walnut-w-gray-base>: HTTP status code is not handled or not allowed 2026-01-28 14:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-aluminum-junior-short-medical-bedside-cart-key-lock-fairway-green>: HTTP status code is not handled or not allowed 2026-01-28 14:57:09 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-aluminum-tall-anesthesia-cart-push-button-lock-dark-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j22208-iron-eagle-storm-fly-front-jacket-green-hood-snaps-3xl>: HTTP status code is not handled or not allowed 2026-01-28 14:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s75522-class-3-long-sleeve-tshirt-fluorescent-yellowgreen-sm>: HTTP status code is not handled or not allowed 2026-01-28 14:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-wired-7-5-34l-x-2-78w-pink-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 14:57:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/bin_shelving/steel_bin_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/902xl-high-yield-black-original-ink-cartridge-825-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 14:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evacuation-kit-for-jdi-lp4>: HTTP status code is not handled or not allowed 2026-01-28 14:57:15 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylatron-gs-sheet-extruded-0-500-thick-x-12-w-x-12-l>: HTTP status code is not handled or not allowed 2026-01-28 14:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440200891-341d-1dia-x-1w-36-grit-100-case>: HTTP status code is not handled or not allowed 2026-01-28 14:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500064490-belt-1-4w-x-18l-med-grit>: HTTP status code is not handled or not allowed 2026-01-28 14:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-nema-4x-thermostat-model-tf115001>: HTTP status code is not handled or not allowed 2026-01-28 14:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamper-bag-blue-vinyl-standard-pocket>: HTTP status code is not handled or not allowed 2026-01-28 14:57:19 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 14:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamper-bag-red-vinyl-standard-pocket>: HTTP status code is not handled or not allowed 2026-01-28 14:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-2475-tube-acg-00007-0-125-id-x-250-od-x-50-l>: HTTP status code is not handled or not allowed 2026-01-28 14:57:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/surface_grinding_wheels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/bin_shelving/steel_bin_shelving>: HTTP status code is not handled or not allowed 2026-01-28 14:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-8-bu-blue-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 14:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbr-rubber-roll-no-adhesive-60a-18-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:57:25 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/ink_toner/inkjet_ink_cartridges landed on page that is not a product page. 2026-01-28 14:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-60x48x84-gray-with-3-levels-no-deck-1000-lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 14:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-12-8l-x-4w-light-blue-500pack>: HTTP status code is not handled or not allowed 2026-01-28 14:57:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-18-bu-canvas-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 14:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-18-bu-blue-vinyl-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 14:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scotch-brite-roloc-sl-surface-cond-disc-2-med>: HTTP status code is not handled or not allowed 2026-01-28 14:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/abrasives/grinding_cutoff_wheels/surface_grinding_wheels>: HTTP status code is not handled or not allowed 2026-01-28 14:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-12-bu-canvas-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 14:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j22201-iron-eagle-storm-fly-front-jacket-blue-hood-snaps-lg>: HTTP status code is not handled or not allowed 2026-01-28 14:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-72x24x84-gray-with-3-level-wire-deck-750lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 14:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-machine-table-16-x-30-x-24>: HTTP status code is not handled or not allowed 2026-01-28 14:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-tag-pre-strung-12-8l-x-4w-white-500pack>: HTTP status code is not handled or not allowed 2026-01-28 14:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-oil-and-chips-accessory-kit-for-tecnoil-100-mpi-for-oil-and-chips>: HTTP status code is not handled or not allowed 2026-01-28 14:57:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:57:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 14:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o53129-comfortbrite-snap-fly-front-overall-fluorescent-orange-md>: HTTP status code is not handled or not allowed 2026-01-28 14:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c56207-durascrim-coat-yellow-48-2-patch-pockets-hood-snaps-xl>: HTTP status code is not handled or not allowed 2026-01-28 14:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-storage-locker-1-adjustable-center-shelf-24-x-60>: HTTP status code is not handled or not allowed 2026-01-28 14:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-strength-neoprene-rubber-strip-with-acrylic-adhesive-40a-14-thick-x-1-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 14:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arrow-pneumatics-ar-40-a-non-cycling-refrigerated-air-dryer-40-cfm-1-ph-115-230v>: HTTP status code is not handled or not allowed 2026-01-28 14:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-glass-dry-erase-board-36-x-24-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j22207-iron-eagle-storm-fly-front-jacket-gold-hood-snaps-2xl>: HTTP status code is not handled or not allowed 2026-01-28 14:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets>: HTTP status code is not handled or not allowed 2026-01-28 14:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-his-sheet-0-093-thick-x-48-000-w-x-96-000-l>: HTTP status code is not handled or not allowed 2026-01-28 14:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl4596-plus-barrier-set-x5-danger-high-voltage-keep-outred>: HTTP status code is not handled or not allowed 2026-01-28 14:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl4121-plus-wall-mount-system-yellowblack-diagonal-stripe>: HTTP status code is not handled or not allowed 2026-01-28 14:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-reversible-whiteboard-96-x-48-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-steel-gantry-crane-12-ft-span-and-9-ft-12-ft-adjustable-height-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-with-laminated-deck-60x36-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 14:57:51 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls landed on page that is not a product page. 2026-01-28 14:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-tuck-folding-cartons-2-12l-x-1-34w-x-4h-white-500pack>: HTTP status code is not handled or not allowed 2026-01-28 14:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx18-dx73-h-closed-clip-style-5-shelf-starter>: HTTP status code is not handled or not allowed 2026-01-28 14:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmpn4204-y-cable-charging-adapter>: HTTP status code is not handled or not allowed 2026-01-28 14:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-white-starboard-sheet-0-250-thick-x-54-000-w-x-96-000-l>: HTTP status code is not handled or not allowed 2026-01-28 14:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116499 pages (at 89 pages/min), scraped 56763 items (at 23 items/min) 2026-01-28 14:57:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/corrugated_boxes_cartons/corrugated_boxes/retail_boxes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-7-ga-workbench-with-drawers>: HTTP status code is not handled or not allowed 2026-01-28 14:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-tuck-folding-cartons-3l-x-3w-x-10h-kraft-250pack>: HTTP status code is not handled or not allowed 2026-01-28 14:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-tuck-folding-cartons-3l-x-2-12w-x-4h-kraft-500pack>: HTTP status code is not handled or not allowed 2026-01-28 14:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-4-shelf-unit-60-x-60-x-13-1-2-9376-3-03>: HTTP status code is not handled or not allowed 2026-01-28 14:57:59 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-4-shelf-unit-60-x-42-x-13-1-2-9374-3-03>: HTTP status code is not handled or not allowed 2026-01-28 14:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-adjustable-4-shelf-unit-60-x-52-x-16-9365-3-03>: HTTP status code is not handled or not allowed 2026-01-28 14:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deo-3-deodorant-concentrate-fruity-sweet-275-gallon-tote>: HTTP status code is not handled or not allowed 2026-01-28 14:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-truck-60x18x69-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bound-wood-deck-truck-48x24-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swisher-rc14544cp4k-14-5-hp-44in-deck-rough-cut-trailmower-with-kawasaki-engine>: HTTP status code is not handled or not allowed 2026-01-28 14:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hang-stack-bins-w-two-12-rails-six-bins-4-1-8w-x-7-3-8d-x-3h-ivory>: HTTP status code is not handled or not allowed 2026-01-28 14:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-boxes-2l-x-2w-x-2h-white-255pack>: HTTP status code is not handled or not allowed 2026-01-28 14:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-niagara-2-x-2-nail-up-tin-ceiling-tile-in-clear-t54-04>: HTTP status code is not handled or not allowed 2026-01-28 14:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/vehicle-fleet-maintenance/towing_cargo_management/van_storage_equipment/van_shelving>: HTTP status code is not handled or not allowed 2026-01-28 14:58:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/packaging/corrugated_boxes_cartons/corrugated_boxes/retail_boxes landed on page that is not a product page. 2026-01-28 14:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-boxes-3l-x-3w-x-3h-white-100pack>: HTTP status code is not handled or not allowed 2026-01-28 14:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-top-machine-table-24-x-48-x-30-swivel-casters-w-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-membrane-filter-0-22-um-25-mm-diameter-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sign-yield-080mm-thick>: HTTP status code is not handled or not allowed 2026-01-28 14:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ramp-for-4-x-4-ntep-pallet-scale-40-l-x48-w-x-4-3-16-h-10-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 14:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-freedom-dust-mop>: HTTP status code is not handled or not allowed 2026-01-28 14:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-jamestown-2-x-2-nail-up-tin-ceiling-tile-in-clear-t51-04>: HTTP status code is not handled or not allowed 2026-01-28 14:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/362423098s-clip-s3-basic-rack-unit-98-h-x-36-w-x-24-d-6xms230-shelves-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 14:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixed-cellulose-ester0-80-um-47-mm-diameter-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-tuck-folding-cartons-1-12l-x-1-12w-x-2-14h-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 14:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-workbench-w-open-base-36-x-84>: HTTP status code is not handled or not allowed 2026-01-28 14:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/products-crossover-truck-box-27x71x23-silver>: HTTP status code is not handled or not allowed 2026-01-28 14:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tjv-350a-commercial-storage-tank-jacketed-custom>: HTTP status code is not handled or not allowed 2026-01-28 14:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-storage-cabinet-easy-assembly-48x24x78-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 14:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-oil-100-cst-1-gal-bottle-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-oil-100-cst-5-gal-pail-clear>: HTTP status code is not handled or not allowed 2026-01-28 14:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-90-2306-filter>: HTTP status code is not handled or not allowed 2026-01-28 14:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54h-nexel-chrome-wire-shelving-36wx21d>: HTTP status code is not handled or not allowed 2026-01-28 14:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-dual-surface-scrub-brush-handle>: HTTP status code is not handled or not allowed 2026-01-28 14:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-48-superior-tin-crown-molding-in-gloss-white-194-00>: HTTP status code is not handled or not allowed 2026-01-28 14:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-inverter-variable-speed-air-handler-4-5-ton-r410a-48-000-60-000-btu-208-230v-1ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 14:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-8-oz-cotton-deck-mop>: HTTP status code is not handled or not allowed 2026-01-28 14:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-with-36-shelf-bins-13-shelves-36x12x75-4>: HTTP status code is not handled or not allowed 2026-01-28 14:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-with-18-shelf-bins-7-shelves-36x18x39-1>: HTTP status code is not handled or not allowed 2026-01-28 14:58:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63h-nexel-chrome-wire-shelving-add-on-24wx21d>: HTTP status code is not handled or not allowed 2026-01-28 14:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disinfectant-multi-purpose-cleaner-lemon-scent-32-oz-spray-bottle-8-case>: HTTP status code is not handled or not allowed 2026-01-28 14:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-32-4604-2-phillips-1-insert-bit-contractor-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-basic-roller-mop-refill>: HTTP status code is not handled or not allowed 2026-01-28 14:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-24-x-40-rectangular-outdoor-aluminum-cocktail-table-glacier-white>: HTTP status code is not handled or not allowed 2026-01-28 14:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-10-inch-nitty-gritty-roller-mop-refill>: HTTP status code is not handled or not allowed 2026-01-28 14:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-shaft-crimping-tool-with-punch>: HTTP status code is not handled or not allowed 2026-01-28 14:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-single-folding-gate-6w-to-7w-and-8h>: HTTP status code is not handled or not allowed 2026-01-28 14:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-surface-cleaner-disinfectant-concentrated-pine-scent-14-oz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 14:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fresh-products-wave-3d-urinal-deodorizer-screen-blue-cotton-blossom-10-box-60-screens-ct>: HTTP status code is not handled or not allowed 2026-01-28 14:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-aluminum-rolling-ladder-24-w-ribbed-step-30-handrails>: HTTP status code is not handled or not allowed 2026-01-28 14:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/sockets_bits/power_drill_driver_bits>: HTTP status code is not handled or not allowed 2026-01-28 14:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-60wx14dx63h>: HTTP status code is not handled or not allowed 2026-01-28 14:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-dunnage-rack-36x20x12>: HTTP status code is not handled or not allowed 2026-01-28 14:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-add-on-72wx14dx74h>: HTTP status code is not handled or not allowed 2026-01-28 14:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-36-wx18-dx73-h-closed-clip-style-5-shelf-add-on>: HTTP status code is not handled or not allowed 2026-01-28 14:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spin-grit-brush-w-quick-connect-for-1316-1-id-tubes-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-28 14:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/essential-green-certified-foam-skin-cleanser-neutral-1-000-ml-bottle>: HTTP status code is not handled or not allowed 2026-01-28 14:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-carbon-steel-utility-blades-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 14:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/free-and-gentle-laundry-detergent-32-loads-46-oz-bottle-6-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 14:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-kit-48-w-workbench-with-36-w-pegboard-mounting-rail-gray>: HTTP status code is not handled or not allowed 2026-01-28 14:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-type-iii-barricade-hip-sheeting-1-sided-right-orientation-96l>: HTTP status code is not handled or not allowed 2026-01-28 14:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/free-and-clear-liquid-laundry-detergent-unscented-150-oz-bottle-4-case>: HTTP status code is not handled or not allowed 2026-01-28 14:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tire-rack-3-tier-add-on-60x18x72>: HTTP status code is not handled or not allowed 2026-01-28 14:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4c-horizontal-mailbox-41h-double-column-15-mb1-1-pl5-door-front-load-bronze-usps>: HTTP status code is not handled or not allowed 2026-01-28 14:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-brush-w-quick-connect-for-916-id-tubes-blue-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 14:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-casing-flexible-shaft-for-14-38-id-tubes-25l>: HTTP status code is not handled or not allowed 2026-01-28 14:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-hypoallergenic-foaming-hand-wash-honeysuckle-1-2-l-bottle-3-case>: HTTP status code is not handled or not allowed 2026-01-28 14:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-qt-sauce-pot-the-point-two-five-line-w-cover>: HTTP status code is not handled or not allowed 2026-01-28 14:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-for-optima-20-qt-stock-pot>: HTTP status code is not handled or not allowed 2026-01-28 14:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-truck-36x18x69-1200-lb-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-28 14:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retaining-ring-1230r-5235871>: HTTP status code is not handled or not allowed 2026-01-28 14:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-bearing-ta1015z-1230r-5235931>: HTTP status code is not handled or not allowed 2026-01-28 14:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-16-barbed-hose-nipple-1>: HTTP status code is not handled or not allowed 2026-01-28 14:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-dunnage-rack-60-w-x-18-d-2>: HTTP status code is not handled or not allowed 2026-01-28 14:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116595 pages (at 96 pages/min), scraped 56785 items (at 22 items/min) 2026-01-28 14:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-dunnage-rack-30-w-x-24-d-2>: HTTP status code is not handled or not allowed 2026-01-28 14:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-comfort-cross-over-style-positioning-climbing-harness-1140199-s>: HTTP status code is not handled or not allowed 2026-01-28 14:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-surface-cleaner-concentrated-lemon-fresh-scent-14-oz-bottle-12case>: HTTP status code is not handled or not allowed 2026-01-28 14:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/497-diamond-plate-diamond-plate-ergonomic-mat-48-x-75-x-5-8-black>: HTTP status code is not handled or not allowed 2026-01-28 14:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnum-pro-curve153-400-welding-gun-with-connector-15l-cable>: HTTP status code is not handled or not allowed 2026-01-28 14:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-mini-integral-fil-reg-with-gauge>: HTTP status code is not handled or not allowed 2026-01-28 14:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabric-softener-sheets-fresh-scent-120-sheets-box-6-boxes-case>: HTTP status code is not handled or not allowed 2026-01-28 14:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-recycled-paper-towel-rolls-2-ply-11-x-5-4-156-towels-rl-24-rl-ct>: HTTP status code is not handled or not allowed 2026-01-28 14:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3400-bearing-bushing-5517511>: HTTP status code is not handled or not allowed 2026-01-28 14:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inline-nipple-filter>: HTTP status code is not handled or not allowed 2026-01-28 14:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-with-self-close-double-door-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 14:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-motor-cfswdm3542-5e-ip69-75-hp-1760-rpm-3-ph-60-hz-56-c-3522m-tenv-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/overhead-door-track-protector-36-high>: HTTP status code is not handled or not allowed 2026-01-28 14:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bollard-with-removable-rubber-cap-underground-36x5-1-2>: HTTP status code is not handled or not allowed 2026-01-28 14:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-standard-particulate-filter-w-poly-bowl>: HTTP status code is not handled or not allowed 2026-01-28 14:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-2000sf-high-performance-back-support-black-large>: HTTP status code is not handled or not allowed 2026-01-28 14:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-commercial-beverage-merchandiser-refrigerator>: HTTP status code is not handled or not allowed 2026-01-28 14:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-30x27x60-14>: HTTP status code is not handled or not allowed 2026-01-28 14:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vfswdnm3558t-e-ip69-2hp-1750rpm-3ph-60hz-145tc-3546m-tenv-f1>: HTTP status code is not handled or not allowed 2026-01-28 14:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/408-achilles153-anti-fatigue-mat-58-thick-4w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-straight-grab-bar-satin-stainless-steel-36-w-x-1-1-2-dia>: HTTP status code is not handled or not allowed 2026-01-28 14:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wool-soap-pad-4-pads-box-24-boxes-case>: HTTP status code is not handled or not allowed 2026-01-28 14:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-single-front-door-full-height-rear-panel-24w-x-30d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 14:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410-airug-anti-fatigue-mat-38-thick-2w-x-up-to-60l-black>: HTTP status code is not handled or not allowed 2026-01-28 14:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-reclassifier-muffler>: HTTP status code is not handled or not allowed 2026-01-28 14:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-double-front-door-double-rear-door-36w-x-37-1-2d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 14:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-mini-regulator-with-gauge-nylon>: HTTP status code is not handled or not allowed 2026-01-28 14:59:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_shelves_rods already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 14:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-recycled-paper-towel-rolls-2-ply-11-x-5-4-140-towels-rl-24-rl-ct>: HTTP status code is not handled or not allowed 2026-01-28 14:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worm-table-tilt-20-disc-sndr-itm60-5644961>: HTTP status code is not handled or not allowed 2026-01-28 14:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eccotemp-fvi12-ng-liquid-propane-indoor-forced-vent-tankless-water-heater>: HTTP status code is not handled or not allowed 2026-01-28 14:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-beard-cover-100-latex-free-white-21-100bag-10-bagcase>: HTTP status code is not handled or not allowed 2026-01-28 14:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6500-wrist-sweatband-black-one-size>: HTTP status code is not handled or not allowed 2026-01-28 14:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retaining-ring-5629241>: HTTP status code is not handled or not allowed 2026-01-28 14:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-woods-sportsmen-insect-repellent-1-oz-spray-bottle>: HTTP status code is not handled or not allowed 2026-01-28 14:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-recycled-paper-towel-rolls-2-ply-11-x-5-4-156-towels-rl-8-rl-pk>: HTTP status code is not handled or not allowed 2026-01-28 14:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-335-slip-resistant-rubber-cap-knee-pad-black-cap-one-size>: HTTP status code is not handled or not allowed 2026-01-28 14:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-screw-516x12-ref-162-5714261>: HTTP status code is not handled or not allowed 2026-01-28 14:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/lockers/locker_accessories/locker_shelves_rods>: HTTP status code is not handled or not allowed 2026-01-28 14:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6990-hand-style-warming-packs>: HTTP status code is not handled or not allowed 2026-01-28 14:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rough-n-ready-big-and-tall-stack-chair-charcoal-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 14:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-frame-safety-glasses-anti-fog-smoke-lens-blue-frame>: HTTP status code is not handled or not allowed 2026-01-28 14:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ramatuelle-73-stackable-bar-stool-rouge-bossa-nova-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 14:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32oz-natural-hdpe-wide-mouth-round-bottle-with-53-400-white-pp-cap-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 14:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-24x24-stainless-steel-table>: HTTP status code is not handled or not allowed 2026-01-28 14:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermal-print-time-card-B1410253>: HTTP status code is not handled or not allowed 2026-01-28 14:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3115-wrist-lanyard-black-s-m>: HTTP status code is not handled or not allowed 2026-01-28 14:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-h-wall-mount-unit-w-vesa-mount-black>: HTTP status code is not handled or not allowed 2026-01-28 14:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-pan-hd-phillips-m5x8mm-5712561>: HTTP status code is not handled or not allowed 2026-01-28 14:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vogue-outdoor-stackable-armchair-black-pack-of-16>: HTTP status code is not handled or not allowed 2026-01-28 14:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cannes-outdoor-stackable-dining-chair-charcoal-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 14:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-seal-kit-for-manual-pallet-jack-truck-bt-129883-fits-bt-models>: HTTP status code is not handled or not allowed 2026-01-28 14:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cannes-outdoor-stackable-dining-chair-mineral-blue-pack-of-18>: HTTP status code is not handled or not allowed 2026-01-28 14:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-janitor-cart-blue-with-cleaner-deodorizer-2-gallons>: HTTP status code is not handled or not allowed 2026-01-28 14:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16oz-natural-hdpe-narrow-mouth-lab-style-bottle-w-28-415-natural-pp-linerless-cap-48pk>: HTTP status code is not handled or not allowed 2026-01-28 14:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-cabinet-workbench-shop-top>: HTTP status code is not handled or not allowed 2026-01-28 14:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dv25-dualrange-ac-voltage-detector-wflashlight-24-to-1000vac-100-to-1000vac>: HTTP status code is not handled or not allowed 2026-01-28 14:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-5oz-clear-french-square-with-20-400-white-polypropylene-pulp-vinyl-lined-cap-48pk>: HTTP status code is not handled or not allowed 2026-01-28 14:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ex505k-heavy-duty-industrial-multimeter-kit-orangegreen-case-included-ac-capable>: HTTP status code is not handled or not allowed 2026-01-28 14:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proto-jscvt-9s-9-piece-polish-combo-reversible-ratcheting-wrench-set-12-point>: HTTP status code is not handled or not allowed 2026-01-28 14:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proto-jscv24f-black-combo-locking-flex-head-ratcheting-wrench-34-spline>: HTTP status code is not handled or not allowed 2026-01-28 14:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-jtm-1050evs2-230-mill-3-axis-newall-dp700-dro-knee-x-y-axis-powerfeed-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 14:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8oz-clear-straight-sided-round-with-70-400-green-thermoset-f217-ptfe-lined-cap-24pk>: HTTP status code is not handled or not allowed 2026-01-28 14:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t1hd-hss-jobbers-drill-black-bronze-oxide-18-12>: HTTP status code is not handled or not allowed 2026-01-28 14:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-18-1-4-x-24-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-28 14:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t9fhd-hss-reduced-shank-drill-black-bronze-oxide-58>: HTTP status code is not handled or not allowed 2026-01-28 14:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-window-premium-stacking-bin-238048-sold-per-carton>: HTTP status code is not handled or not allowed 2026-01-28 14:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retainer-5782841>: HTTP status code is not handled or not allowed 2026-01-28 14:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t2c-cobalt-jobbers-drill-bronze-oxide-16-12>: HTTP status code is not handled or not allowed 2026-01-28 14:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-10w-x-14l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 14:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/135oz-natural-hdpe-heavyweight-handled-round-jug-w-38-439-neck-finish-jug-only-28pk>: HTTP status code is not handled or not allowed 2026-01-28 14:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116695 pages (at 100 pages/min), scraped 56815 items (at 30 items/min) 2026-01-28 14:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/128oz-amber-jug-w-38-400-black-phenolic-pulp-aluminum-foil-cap-6pk>: HTTP status code is not handled or not allowed 2026-01-28 14:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-solid-wallshelf-12-wx24-l-18-ga>: HTTP status code is not handled or not allowed 2026-01-28 14:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ep-6300-72-economy-floor-unit-with-locking-casters-slide-cutter-72>: HTTP status code is not handled or not allowed 2026-01-28 14:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8915-class-e-rain-pants-orange-medium>: HTTP status code is not handled or not allowed 2026-01-28 15:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-cord-pad-6-x-6-x-1>: HTTP status code is not handled or not allowed 2026-01-28 15:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-hex-38-16-9056991>: HTTP status code is not handled or not allowed 2026-01-28 15:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-bib-pants-hi-viz-yellow-small>: HTTP status code is not handled or not allowed 2026-01-28 15:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-300-black-post-retracting-belt-barrier-16-ft-blue-belt>: HTTP status code is not handled or not allowed 2026-01-28 15:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-32mm-2ml-clear-borosilicate-screw-thread-vial-with-8-425-neck-finish-2000pk>: HTTP status code is not handled or not allowed 2026-01-28 15:00:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-twin-red-post-retracting-belt-barrier-ada-compliant-11-ft-red-authorized-belt>: HTTP status code is not handled or not allowed 2026-01-28 15:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-300-red-post-retracting-belt-barrier-16-ft-redwhite-belt>: HTTP status code is not handled or not allowed 2026-01-28 15:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-4010-double-strap-wrist-support-tan-medium-right>: HTTP status code is not handled or not allowed 2026-01-28 15:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-cover-10-gauge-vinyl-for-24-x-72-x-74-unit-zipper-closure-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-4010-double-strap-wrist-support-tan-large-left>: HTTP status code is not handled or not allowed 2026-01-28 15:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-rack-guard-with-rubber-bumper-5-5-wx3-75-dx36-h>: HTTP status code is not handled or not allowed 2026-01-28 15:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-8w-x-20l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-flame-resistant-pull-over-hoodie-navy-medium>: HTTP status code is not handled or not allowed 2026-01-28 15:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-bomber-jacket-class-3-hi-vis-yellow-w-black-bottom-m>: HTTP status code is not handled or not allowed 2026-01-28 15:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-bib-pants-hi-viz-yellow-large>: HTTP status code is not handled or not allowed 2026-01-28 15:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-collection-premium-breathable-rain-pants-hi-viz-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/managers-desk-shell-dark-cherry-office-furniture-groupings-1>: HTTP status code is not handled or not allowed 2026-01-28 15:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/crowd_control/retractable_belt_barriers/belt_stanchions>: HTTP status code is not handled or not allowed 2026-01-28 15:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-parka-hi-viz-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-28 15:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2500cc-safety-coated-clear-jug-w-38-439-neck-finish-jug-only-6pk>: HTTP status code is not handled or not allowed 2026-01-28 15:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-economy-full-strip-stapler-12-sheet-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 15:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-10w-x-18l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7ml-gen-purp-ldpe-transfer-pipets-standard-155mm-500-box-10-boxes-unit-5000pk>: HTTP status code is not handled or not allowed 2026-01-28 15:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/generac-7171-10-9-kw-120-240v-1-phase-air-cooled-standby-generator-ng-lp-aluminum-enclosure>: HTTP status code is not handled or not allowed 2026-01-28 15:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brake-spring-12t1t2t-1et-3c-33>: HTTP status code is not handled or not allowed 2026-01-28 15:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-height-adjustable-sit-stand-desk-full-width-keyboard>: HTTP status code is not handled or not allowed 2026-01-28 15:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inventory-control-cone-with-dry-erase-decal-hot-pink>: HTTP status code is not handled or not allowed 2026-01-28 15:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switch-cover-4200a-b335>: HTTP status code is not handled or not allowed 2026-01-28 15:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-14w-x-18l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inventory-control-cone-white>: HTTP status code is not handled or not allowed 2026-01-28 15:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-tube-6l-2-thick-5-5-8>: HTTP status code is not handled or not allowed 2026-01-28 15:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-16w-x-48l-2-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 15:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2ml-amber-glass-standard-opening-crimp-top-vial-w-11mm-neck-finish-vial-only-1000pk>: HTTP status code is not handled or not allowed 2026-01-28 15:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-11w-x-14l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-tube-6l-3-8-thick-1-5-8>: HTTP status code is not handled or not allowed 2026-01-28 15:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-max-100-sq-ft-kit-vinyl-copper-fantasy-282-11>: HTTP status code is not handled or not allowed 2026-01-28 15:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/molded-rubber-cable-protector-black>: HTTP status code is not handled or not allowed 2026-01-28 15:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dewalt-dwh303dh-onboard-dust-extractor-system-1-20v-max-sds-rotary-hammers-dch273p2-dch273b>: HTTP status code is not handled or not allowed 2026-01-28 15:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-ag4s-59>: HTTP status code is not handled or not allowed 2026-01-28 15:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insul-lock-self-seal-6l-1-thick-1-5-8>: HTTP status code is not handled or not allowed 2026-01-28 15:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-hanging-clamps-for-blueprint-storage-rack-set-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46in-square-outdoor-steel-picnic-table-expanded-metal-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/occumitts-my-way-beige-small>: HTTP status code is not handled or not allowed 2026-01-28 15:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-bracket-7015-16-7>: HTTP status code is not handled or not allowed 2026-01-28 15:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-6-5-8-w-x23-5-8-d-x-6-h-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onoff-valve-jdp-20evs-20evs-c51>: HTTP status code is not handled or not allowed 2026-01-28 15:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumper-storage-rack-steel-20-w-x-18-d-x-81-h>: HTTP status code is not handled or not allowed 2026-01-28 15:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-26w-x-42l-4-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 15:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kas3ylw-safety-padlock-1-12h-shackle-yellow-3set>: HTTP status code is not handled or not allowed 2026-01-28 15:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-wheels-must-be-chocked-before-loading-10x14-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/distribution-container-with-hinged-lid-24-1-2x15x13-3-4-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-standard-wicking-t-shirt-with-pocket-ansi-hi-viz-orange-5xl>: HTTP status code is not handled or not allowed 2026-01-28 15:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s31ltblk-safety-padlock-1-38w-x-3h-shackle-black>: HTTP status code is not handled or not allowed 2026-01-28 15:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ninja-x-15-guage-blk-nylon-spandex-shell-blk-bi-n9674m>: HTTP status code is not handled or not allowed 2026-01-28 15:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-l-x-30-w-production-bench-maple-square-edge-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-printer-permanent-labels-1-x-4-white-100-sheets-2000box>: HTTP status code is not handled or not allowed 2026-01-28 15:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-35mm-pvc-polyester-49-coat-yellow-200cm>: HTTP status code is not handled or not allowed 2026-01-28 15:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/not-an-exit-10x14-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/internal-extractor-sets-with-counterstays-1-2-12-mm-to-4-3-8-110-mm>: HTTP status code is not handled or not allowed 2026-01-28 15:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-l-x30-w-production-bench-esd-safety-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-tie-hat-with-elastic-rear-band-black-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miracool-bandana-assorted-colors-24-pack-w-header-card>: HTTP status code is not handled or not allowed 2026-01-28 15:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl-smart-fit-reusable-earplug-25nrr-w-case-smf-30>: HTTP status code is not handled or not allowed 2026-01-28 15:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kared-safety-padlock-1-12h-shackle-red>: HTTP status code is not handled or not allowed 2026-01-28 15:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speed-collection-premium-breathable-rain-pants-hi-viz-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-28 15:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-joint-extractor-1-7-8-46-mm-opening-11-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-adjustable-height-barstool-rounded-back-vinyl-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-building-and-engraving-set>: HTTP status code is not handled or not allowed 2026-01-28 15:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-rope-hoist-dual-speed-hoist-and-trolley-3-ton-33-lift-460v>: HTTP status code is not handled or not allowed 2026-01-28 15:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pathway-hd-code-compliant-wheelchair-ramp-kit-28-x-48-w-guards-3-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21579-half-mask-respirator-large-f-organic-v-5303>: HTTP status code is not handled or not allowed 2026-01-28 15:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116795 pages (at 100 pages/min), scraped 56839 items (at 24 items/min) 2026-01-28 15:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kaltred-safety-padlock-3h-shackle-red>: HTTP status code is not handled or not allowed 2026-01-28 15:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-15w-x-20l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 15:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-flap-disc-577f-t27-giant-4-1-2-in-x-5-8-11-40-yf-weight-10-per-case>: HTTP status code is not handled or not allowed 2026-01-28 15:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grates-24-1119-sta2f-y7141>: HTTP status code is not handled or not allowed 2026-01-28 15:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coupling-cs275-67>: HTTP status code is not handled or not allowed 2026-01-28 15:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-static-shielding-bags-5w-x-5l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-28 15:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-6391-respirator-6391>: HTTP status code is not handled or not allowed 2026-01-28 15:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-1-4-aro-210-interchange-with-3-8-mnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 15:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-609-195-vertical-lift-for-patient-room-black>: HTTP status code is not handled or not allowed 2026-01-28 15:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-hbs56s-385-1>: HTTP status code is not handled or not allowed 2026-01-28 15:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/316-ss-class-150-blind-flange-3>: HTTP status code is not handled or not allowed 2026-01-28 15:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grates-24-1035-garg6214>: HTTP status code is not handled or not allowed 2026-01-28 15:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/304-ss-class-150-threaded-flange-5-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 15:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/timers-42-2069-isgde7-35>: HTTP status code is not handled or not allowed 2026-01-28 15:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-8-dirt-tamper-bolted-steel-handle>: HTTP status code is not handled or not allowed 2026-01-28 15:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-plug-body-with-high-flow-profile-1-4-mnpt-connection-used-with-esi-coupling>: HTTP status code is not handled or not allowed 2026-01-28 15:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-s1436gz-green-wire-shelf-36-wx14-d>: HTTP status code is not handled or not allowed 2026-01-28 15:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/time-card-totaling-payroll-time-recorder-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-s1448gz-green-wire-shelf-48-wx14-d>: HTTP status code is not handled or not allowed 2026-01-28 15:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switchs-42-1836-man2007939>: HTTP status code is not handled or not allowed 2026-01-28 15:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-cover-ghb-1340-ghb1340-4103>: HTTP status code is not handled or not allowed 2026-01-28 15:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-six-tier-12x15x12-6-door-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-24in-w-steel-safety-angle-rolling-ladder-perforated-tread-gray-kdec107246>: HTTP status code is not handled or not allowed 2026-01-28 15:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-18w-x-20l-6-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 15:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-24in-w-tilt-roll-ladder-perforated-tread-kdtf106246>: HTTP status code is not handled or not allowed 2026-01-28 15:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-24in-w-steel-safety-angle-rolling-ladder-perforated-tread-safety-yellow-kdec112246-y>: HTTP status code is not handled or not allowed 2026-01-28 15:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-skin-hammers-170g>: HTTP status code is not handled or not allowed 2026-01-28 15:01:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clutch-dog-431430450-j1010-47>: HTTP status code is not handled or not allowed 2026-01-28 15:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-socket-cap-screw-m8x50-ghb1340-85>: HTTP status code is not handled or not allowed 2026-01-28 15:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-21w-x-54l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cartridges-76-1163-eveev979902>: HTTP status code is not handled or not allowed 2026-01-28 15:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-box-cover-white-j-5710111>: HTTP status code is not handled or not allowed 2026-01-28 15:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pry-bar-p-11>: HTTP status code is not handled or not allowed 2026-01-28 15:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-10w-x-20l-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 15:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-single-tier-15x18x72-1-door-assembled-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 15:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-step-steel-caged-walk-through-fixed-access-ladder-gray-wlfc1221>: HTTP status code is not handled or not allowed 2026-01-28 15:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o--ring-127x43-jbj2-6>: HTTP status code is not handled or not allowed 2026-01-28 15:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/packaging/envelopes_mailers/shipping_envelopes>: HTTP status code is not handled or not allowed 2026-01-28 15:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lamps-38-1673-henbl01-018>: HTTP status code is not handled or not allowed 2026-01-28 15:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-921b-heavy-duty-utility-blades-bulk-400-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-100-mini-razor-blade-scraper-with-1-blade>: HTTP status code is not handled or not allowed 2026-01-28 15:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-nexelon-24w-x-60l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reception-chair-antimicrobial-pu-black>: HTTP status code is not handled or not allowed 2026-01-28 15:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a20p16al-panel-nema-12-1700x1300-fits-20x16-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 15:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-seal-reclosable-poly-bags-12w-x-12l-3-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 15:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-2w-x-10l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bissell-biggreen-commercial-bg25-manual-sweeper>: HTTP status code is not handled or not allowed 2026-01-28 15:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-38w-x-36d-x-70h-3-mil-clear-50pack>: HTTP status code is not handled or not allowed 2026-01-28 15:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-20w-x-16d-x-42h-3-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 15:01:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/diagonal_cutting_pliers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-21w-x-30l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-21w-x-60l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-l-x-30-w-stainless-steel-crossbraced-leg-table-with-galvanized-understructure>: HTTP status code is not handled or not allowed 2026-01-28 15:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-poly-z-brite-18w-x-24l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/production-stool-black-vinyl-17-21>: HTTP status code is not handled or not allowed 2026-01-28 15:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atpw60hgp-touch-up-paint-white-powder-12-oz-spray-can>: HTTP status code is not handled or not allowed 2026-01-28 15:01:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/tongue_groove_pliers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-pin-4x30-jhs1100-58>: HTTP status code is not handled or not allowed 2026-01-28 15:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-5w-x-15l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-circle-base-protractor-w-1-deg-graduations>: HTTP status code is not handled or not allowed 2026-01-28 15:01:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/measurement_layout_tools/calipers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-bevel-protractor-6-blade>: HTTP status code is not handled or not allowed 2026-01-28 15:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-inch-roller-lacer-900-mm>: HTTP status code is not handled or not allowed 2026-01-28 15:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-easy-access-18-bushel-plastic-box-truck-with-attached-cargo-netting>: HTTP status code is not handled or not allowed 2026-01-28 15:01:41 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/diagonal_cutting_pliers landed on page that is not a product page. 2026-01-28 15:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-18w-x-42l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a84pm40-lg-multi-door-encl-7200x3375-fits-84x-1-bay-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 15:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-18w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-od-polyurethane-tubing-black-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-28 15:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/hand_tools_1/pliers/tongue_groove_pliers>: HTTP status code is not handled or not allowed 2026-01-28 15:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-od-nylon-tubing-black-color-100-roll-160-500-psi>: HTTP status code is not handled or not allowed 2026-01-28 15:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22mm-non-metallic-non-illuminated-turn-to-release-maintained-square-mushroom-button-red>: HTTP status code is not handled or not allowed 2026-01-28 15:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-six-tier-12x15x12-18-door-unassembled-1>: HTTP status code is not handled or not allowed 2026-01-28 15:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-step-steel-caged-walk-through-fixed-access-ladder-gray-wlfc1227>: HTTP status code is not handled or not allowed 2026-01-28 15:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/measurement_layout_tools/calipers>: HTTP status code is not handled or not allowed 2026-01-28 15:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dark-thread-cutting-oil-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repeat-cycle-timer-0-60-min-dpdt-24-vac-vdc>: HTTP status code is not handled or not allowed 2026-01-28 15:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repeat-cycle-timer-0-6-min-dpdt-120-vac>: HTTP status code is not handled or not allowed 2026-01-28 15:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-ring-jsm4140-14>: HTTP status code is not handled or not allowed 2026-01-28 15:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-plastic-step-stand-20-w-x-28-1-2-d-x-33-1-2-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/890msr-filament-tape-34-x-60-yds-8-mil-clear-12pack>: HTTP status code is not handled or not allowed 2026-01-28 15:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116894 pages (at 99 pages/min), scraped 56860 items (at 21 items/min) 2026-01-28 15:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cwkn-concept8482-wing-knob-non-locking>: HTTP status code is not handled or not allowed 2026-01-28 15:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-threading-metal-cases-38605>: HTTP status code is not handled or not allowed 2026-01-28 15:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-21w-x-36l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a121236rt-wire-trough-type-3r-1200x1200x3600-galvpaint>: HTTP status code is not handled or not allowed 2026-01-28 15:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spd-lever-ghd-2020pf-2401075>: HTTP status code is not handled or not allowed 2026-01-28 15:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-chain-kit-1800css70-for-straight-configuration-infrared-heaters-70-l>: HTTP status code is not handled or not allowed 2026-01-28 15:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hndl-hd-stock-3268219>: HTTP status code is not handled or not allowed 2026-01-28 15:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hub-pinion-operating-3301006>: HTTP status code is not handled or not allowed 2026-01-28 15:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a16p14-panel-junction-box-1475x1288-fits-16x14-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 15:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-24w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-corner-bumper-guard-b-plus-edge-39-inches-long-by-2inches-wide-blk-ylw-60-6889>: HTTP status code is not handled or not allowed 2026-01-28 15:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/center-punches-p-1291>: HTTP status code is not handled or not allowed 2026-01-28 15:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24n24mpp-panel-2100x2250-fits-24x24-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 15:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polypropylene-coverall-elastic-wrists-ankles-hood-boots-white-large-25-case>: HTTP status code is not handled or not allowed 2026-01-28 15:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-multiplier-2200-ft-lbs-19-19-32-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 15:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-wire-container-48x40x36-1-2-4000-lb-capacity-1>: HTTP status code is not handled or not allowed 2026-01-28 15:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-link-with-studs-1820701>: HTTP status code is not handled or not allowed 2026-01-28 15:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-luggage-rack-without-back>: HTTP status code is not handled or not allowed 2026-01-28 15:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-add-on-w-steel-decking-96-w-x-36-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 15:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-with-hang-hole-5w-x-8l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-30t-ghb-1340-4237>: HTTP status code is not handled or not allowed 2026-01-28 15:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x-large-back-support-belt>: HTTP status code is not handled or not allowed 2026-01-28 15:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/salerno-series-high-back-light-blue-mesh-office-chair>: HTTP status code is not handled or not allowed 2026-01-28 15:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-piece-black-chrome-reversible-combination-ratcheting-wrench-set-spline>: HTTP status code is not handled or not allowed 2026-01-28 15:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/163-sjtw-15ft-heavy-duty-extension-cord-gg-13715-lighted-end>: HTTP status code is not handled or not allowed 2026-01-28 15:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-ii-eyewear-3-0-ir-filter-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/163-sjtw-8ft-heavy-duty-extension-cord-gg-13708-lighted-end>: HTTP status code is not handled or not allowed 2026-01-28 15:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-ii-eyewear-gray-anti-fog-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/804-20-lrg-elbow-pad-multilayer-memory-foam-pad-pull-on-protects-from-cumulative-trauma>: HTTP status code is not handled or not allowed 2026-01-28 15:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unprinted-open-end-static-shielding-bags-8w-x-12l-28-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 15:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/163-sjtw-15ft-heavy-duty-extension-cord-gg-13715bk-black>: HTTP status code is not handled or not allowed 2026-01-28 15:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powr-flite-stainless-steel-wet-dry-vacuum-20-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylindrical-weights-nist-class-f-5-lbs>: HTTP status code is not handled or not allowed 2026-01-28 15:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intruder-eyewear-clear-2-0-lens-with-clear-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/turbotoe-steel-toe-cap-overshoe-xl-12-13-flexible-pliable-pvc-antislip-sole-waterproof>: HTTP status code is not handled or not allowed 2026-01-28 15:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guide-plate-assy-1360-2900440>: HTTP status code is not handled or not allowed 2026-01-28 15:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-vinyl-braided-rope-59in-with-ends-for-portable-gold-post>: HTTP status code is not handled or not allowed 2026-01-28 15:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taco-006-series-flanged-cast-iron-circulator-115v-ifc>: HTTP status code is not handled or not allowed 2026-01-28 15:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-aah-36rbmag3-p-storage-cabinet-assembled-36x24x78-putty>: HTTP status code is not handled or not allowed 2026-01-28 15:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-gravity-flow-roller-track-36-dx9-w-1>: HTTP status code is not handled or not allowed 2026-01-28 15:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-replacement-fan-guard-for-washdown-fans>: HTTP status code is not handled or not allowed 2026-01-28 15:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v2-readers-eyewear-clear-2-5-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solid-steel-shelf-48-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 15:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weld-bttn-vbs-14081610-6150>: HTTP status code is not handled or not allowed 2026-01-28 15:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-sway-braces-48-wide-units>: HTTP status code is not handled or not allowed 2026-01-28 15:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-eyewear-gray-lens-frame-combination>: HTTP status code is not handled or not allowed 2026-01-28 15:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewiston-equine-mailbox-w-cast-aluminum-address-plates-horsehead-finial-fluted-base-white>: HTTP status code is not handled or not allowed 2026-01-28 15:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goop-hand-cleaner-creme-4-5-lb-can-6>: HTTP status code is not handled or not allowed 2026-01-28 15:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-foot-x-7-foot-heavy-duty-industrial-drain-tarp>: HTTP status code is not handled or not allowed 2026-01-28 15:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-hanford-single-post-only-with-fluted-base>: HTTP status code is not handled or not allowed 2026-01-28 15:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-stop-ghd-20pfjmd-18pf-2450031>: HTTP status code is not handled or not allowed 2026-01-28 15:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hon-310-series-4-drawer-vertical-file-26-d-legal-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-bca-364213-b-bookcase-assembled-36x13x42-black>: HTTP status code is not handled or not allowed 2026-01-28 15:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-piece-assy-c-2-2901120>: HTTP status code is not handled or not allowed 2026-01-28 15:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-foot-x-10-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 15:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-hanford-triple-post-only-with-support-brace-with-ornate-base>: HTTP status code is not handled or not allowed 2026-01-28 15:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-packaging-workbench-esd-square-edge-72-x-30>: HTTP status code is not handled or not allowed 2026-01-28 15:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-traffic-cones-28-h-14-x-14-base-7-lbs-pvc-safety-green-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offices-to-go-2-shelf-bookcase-in-walnut-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 15:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-roller-chain-16b-1-1-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-28 15:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offices-to-go-desk-shell-71x36-walnut>: HTTP status code is not handled or not allowed 2026-01-28 15:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-inch-premium-white-ball-bungie-package-of-50>: HTTP status code is not handled or not allowed 2026-01-28 15:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6802z-trapper-hat-zippered-black-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cando-hand-held-massage-gun>: HTTP status code is not handled or not allowed 2026-01-28 15:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1550-strapping-tape-12-x-60-yds-59-mil-clear-72pack>: HTTP status code is not handled or not allowed 2026-01-28 15:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-foot-x-30-foot-forest-green-tarp>: HTTP status code is not handled or not allowed 2026-01-28 15:02:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-foot-x-20-foot-super-heavy-duty-brown-tarp>: HTTP status code is not handled or not allowed 2026-01-28 15:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6893z-balaclava-face-mask-with-bump-cap-insert-black>: HTTP status code is not handled or not allowed 2026-01-28 15:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/047-wfm-2026-20u-wall-mount-open-fixed-rack>: HTTP status code is not handled or not allowed 2026-01-28 15:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-nickel-plated-roller-chain-60-1np-3-4-pitch-offset-link>: HTTP status code is not handled or not allowed 2026-01-28 15:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 116992 pages (at 98 pages/min), scraped 56889 items (at 29 items/min) 2026-01-28 15:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-foot-x-20-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 15:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-foot-x-10-foot-heavy-duty-white-tarp>: HTTP status code is not handled or not allowed 2026-01-28 15:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-24-x-24-standard-shop-stand-maple-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-x-30-drawer-shelf-shop-stand-maple-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-x-36-standard-shop-stand-shop-top-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-and-strip-xt-pro-disc-t27-4-1-2-x-7-8-in-s-xcs-10-per-case>: HTTP status code is not handled or not allowed 2026-01-28 15:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/011-017-cat-5e-rj45-shielded-modular-plugs-8p-8c-50-micro-inches-gold-plated>: HTTP status code is not handled or not allowed 2026-01-28 15:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-225m-325m-25m-24t-ghbbdb-1340a-5718>: HTTP status code is not handled or not allowed 2026-01-28 15:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smooth-paper-clips-wire-jumbo-silver-100box>: HTTP status code is not handled or not allowed 2026-01-28 15:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-stop-1050evs-sb1>: HTTP status code is not handled or not allowed 2026-01-28 15:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-binder-clips-steel-wire-14-capacity-12-wide-blacksilver-144pack>: HTTP status code is not handled or not allowed 2026-01-28 15:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bin-6-x-9-1-4-x-5-green>: HTTP status code is not handled or not allowed 2026-01-28 15:03:05 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/basic_supplies/pens_pencils_markers/pens landed on page that is not a product page. 2026-01-28 15:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-conditioning-disc-tr-2-x-nh-a-crs-aad-1000-per-case>: HTTP status code is not handled or not allowed 2026-01-28 15:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-ht125-60-scfm-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 15:03:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/air_tools_accessories/air_excavation_tools already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-double-roller-chain-80-2r-1-pitch-offset-link>: HTTP status code is not handled or not allowed 2026-01-28 15:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-foot-x-100-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 15:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locknut-jtm-4vs-la-048>: HTTP status code is not handled or not allowed 2026-01-28 15:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purofort-thermo-full-safety-mens-work-boots-size-6-green>: HTTP status code is not handled or not allowed 2026-01-28 15:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puncture-resistant-insole-size-xl-fits-mens-11-12>: HTTP status code is not handled or not allowed 2026-01-28 15:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-9w-x-12l-6-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 15:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-wheel-kit-for-manual-pallet-jack-gwk-272746-ck-fits-wesco-model-272746>: HTTP status code is not handled or not allowed 2026-01-28 15:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/raptor-led-spot-light-gooseneck-arm-22-26v-dc-30-degree-beam>: HTTP status code is not handled or not allowed 2026-01-28 15:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-to-back-bars-lateral-files-2>: HTTP status code is not handled or not allowed 2026-01-28 15:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/air_tools_accessories/air_excavation_tools>: HTTP status code is not handled or not allowed 2026-01-28 15:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-crate-with-1-polyethylene-foam-lining-two-way-entry-36-l-x-24-w-x-30-h>: HTTP status code is not handled or not allowed 2026-01-28 15:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/throttle-valve-cap-jet-0t-y31002060>: HTTP status code is not handled or not allowed 2026-01-28 15:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scroll-mount-address-post-no-base-with-horsehead-finial>: HTTP status code is not handled or not allowed 2026-01-28 15:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/halux-universal-led-treatment-light-n50-1-p-fx-double-arm-clamp>: HTTP status code is not handled or not allowed 2026-01-28 15:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-lr0655-lw-fits-lift-rite-big-joe-model-lr0655>: HTTP status code is not handled or not allowed 2026-01-28 15:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-df25-lw-fits-noble-lift-model-df25>: HTTP status code is not handled or not allowed 2026-01-28 15:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-l50mp-lw-fits-lift-rite-model-l50-mini>: HTTP status code is not handled or not allowed 2026-01-28 15:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/05800su-fc22t5sp830-22w-fluorescent-t5-circline-bulb-2gx13-warm-white>: HTTP status code is not handled or not allowed 2026-01-28 15:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packing-gland-jsg1046-08>: HTTP status code is not handled or not allowed 2026-01-28 15:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-single-stream-satin-black-satin-brass-41-gal-waste-w-2042>: HTTP status code is not handled or not allowed 2026-01-28 15:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-polypropylene-bags-6-14l-x-6-14w-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedpress-52-ultimate-steel-safety-ruler>: HTTP status code is not handled or not allowed 2026-01-28 15:03:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_containers/indoor_trash_cans/metal_indoor_trash_cans already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-diamond-grip-rubber-runner-mats-2mm-x-4-x-20-rubber-flooring-rolls-black>: HTTP status code is not handled or not allowed 2026-01-28 15:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-diamond-grip-rubber-runner-mats-2mm-x-4-x-6-rubber-flooring-rolls-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-pastry-bags-12-x-19>: HTTP status code is not handled or not allowed 2026-01-28 15:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11605-hose-rubber>: HTTP status code is not handled or not allowed 2026-01-28 15:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sketch-pla-filament-white>: HTTP status code is not handled or not allowed 2026-01-28 15:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-qt-ss-mixing-bowl-95-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-mesh-strainer-7-1-4-med>: HTTP status code is not handled or not allowed 2026-01-28 15:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-1791078k-pm1300tx-bk-dust-collector>: HTTP status code is not handled or not allowed 2026-01-28 15:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-anystream-alexandria-wall-mount-showerhead-polished-chrome-finish-2-gpm>: HTTP status code is not handled or not allowed 2026-01-28 15:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/janitorial-facility-maintenance/trash_recycling/trash_recycling_containers/indoor_trash_cans/metal_indoor_trash_cans>: HTTP status code is not handled or not allowed 2026-01-28 15:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wypall-x80-towels-12-1-2-x-16-13-16-blue-160-towels-bx-one-box-carton>: HTTP status code is not handled or not allowed 2026-01-28 15:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-packing-workbench-plastic-square-edge-72-x-36>: HTTP status code is not handled or not allowed 2026-01-28 15:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-drive-roto-grip-straddle-legs-90-max-lift-height-1000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/level-up-32-pro-sit-stand-desktop-workstation-black>: HTTP status code is not handled or not allowed 2026-01-28 15:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-conductor-unshielded-communication-control-cable-9-conductor-22-awg-7-30-tc-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e1pb-push-button-encl-1pb-x-305mm-350x325x275-in>: HTTP status code is not handled or not allowed 2026-01-28 15:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ed1pbm1-push-button-encl-1pb-x-225mm>: HTTP status code is not handled or not allowed 2026-01-28 15:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-polypropylene-bags-7l-x-5w-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lx5-non-powered-laptop-cart-no-drawers-35-lbs-weight-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equip-deck-mount-electronic-sensor-faucet-cast-spout-w-wide-base>: HTTP status code is not handled or not allowed 2026-01-28 15:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-slip-on-shoes-size-9m-white>: HTTP status code is not handled or not allowed 2026-01-28 15:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vamonitor-syspend-monitor-and-keyboard-arm-2122x25x2563-alumgray>: HTTP status code is not handled or not allowed 2026-01-28 15:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10oz-piston-pump-for-70mm-5-6-7-15-30-and-55>: HTTP status code is not handled or not allowed 2026-01-28 15:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-s-brass-44in-replacement-hose>: HTTP status code is not handled or not allowed 2026-01-28 15:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-mobile-electronic-packing-workbench-esd-square-edge-60-x-36>: HTTP status code is not handled or not allowed 2026-01-28 15:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-anti-static-spanish-style-broom-base-only-11inw-black-c24147>: HTTP status code is not handled or not allowed 2026-01-28 15:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a36r2412hcr-hinged-cover-medium-type-3r-3600x2400x1200-galvanizedpaint>: HTTP status code is not handled or not allowed 2026-01-28 15:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-sided-pvc-dot-gloves-x-large-1-pair-9366xl>: HTTP status code is not handled or not allowed 2026-01-28 15:03:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutlery-keeper-combo-set-white>: HTTP status code is not handled or not allowed 2026-01-28 15:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silent-air-industrial-plus-10-hp-3-phase-80-gal-vertical-compressor-58-cfm-dryer-bundle>: HTTP status code is not handled or not allowed 2026-01-28 15:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p12cp2-bk-pre-cut-polypropylene-strapping-with-plastic-buckle-1-2-17-black-500-straps>: HTTP status code is not handled or not allowed 2026-01-28 15:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-channel-cable-guard-general-purpose>: HTTP status code is not handled or not allowed 2026-01-28 15:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-cabinet-with-legs-self-close-door-90-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 117089 pages (at 97 pages/min), scraped 56915 items (at 26 items/min) 2026-01-28 15:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peoples-paper-picker-pin>: HTTP status code is not handled or not allowed 2026-01-28 15:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rebuild-kit-rbk-ag45s>: HTTP status code is not handled or not allowed 2026-01-28 15:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/downrod-8-wh-color-for-cp48d-cp56d-cp60d-with-lead-wire-and-safety-cable>: HTTP status code is not handled or not allowed 2026-01-28 15:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cool-barrier-bubble-pallet-covers-48w-x-40d-x-60h-1875-mil-silver-5pack>: HTTP status code is not handled or not allowed 2026-01-28 15:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valve-stem-jsm7572-05>: HTTP status code is not handled or not allowed 2026-01-28 15:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-tapeless-seal-aluminum-foam-silver-black-spn>: HTTP status code is not handled or not allowed 2026-01-28 15:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-6w-x-6l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/wire_cable/electrical_wire_cable>: HTTP status code is not handled or not allowed 2026-01-28 15:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-loaded-dust-barrier-secure-poles-anodized-aluminum-red-kt20>: HTTP status code is not handled or not allowed 2026-01-28 15:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-6w-x-8l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 15:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ase48x48x12nk-pull-box-screw-cover-4800x4800x1200-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 15:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-spoke-drum-wrench>: HTTP status code is not handled or not allowed 2026-01-28 15:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wf100lp-weatherflo-type-3r-drive-encl-w2-10in-fan-6700x3600x1600-alumpaint>: HTTP status code is not handled or not allowed 2026-01-28 15:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifetime-8ft-x7ft-6in-storage-building-with-win-dows>: HTTP status code is not handled or not allowed 2026-01-28 15:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd16128w-concept-wall-mount-enclwindow-1600x1200x800-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 15:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-umbrella-w-tilt-mechanism-olefin-fabric-8-1-2-w-royal-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-316-cast-reducing-coupling-2-12-x-1-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 15:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trilites-994-disposable-tri-polymer-glove-powder-free-purple-100-box-medium-994957>: HTTP status code is not handled or not allowed 2026-01-28 15:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a664gsc-galvanized-box-screw-cover-600x600x400-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 15:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-jsm-704-sm-70438>: HTTP status code is not handled or not allowed 2026-01-28 15:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-98x19-70109npn>: HTTP status code is not handled or not allowed 2026-01-28 15:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-4x158-jsm5430-24>: HTTP status code is not handled or not allowed 2026-01-28 15:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1614chs-continuous-hinge-wclamps-type-12-1750x1494-in-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 15:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-6290329>: HTTP status code is not handled or not allowed 2026-01-28 15:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-304-cast-welding-spud-1-14-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 15:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nl52-stanzoil-neoprene-gloves-14-l-medium-weight-1-pair-size-8-337428>: HTTP status code is not handled or not allowed 2026-01-28 15:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fae-6003-first-aid-tape-1-2x-5-yd-and-conforming-gauze-bandage-roll-2-1-per-box>: HTTP status code is not handled or not allowed 2026-01-28 15:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ase30x24x10nk-pull-box-screw-cover-3000x2400x1000-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 15:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-diamond-mat-med-gray-3-x-12>: HTTP status code is not handled or not allowed 2026-01-28 15:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-med-brown-3-x-5>: HTTP status code is not handled or not allowed 2026-01-28 15:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cursor-hf2-112>: HTTP status code is not handled or not allowed 2026-01-28 15:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evidence-recycled-perf-5x8-jr-legal-rule-pads-margin-white-50-sheets-dozen>: HTTP status code is not handled or not allowed 2026-01-28 15:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fae-6104-refill-elastic-wrap-bandage-3-x-5-yd-1-per-box>: HTTP status code is not handled or not allowed 2026-01-28 15:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-side-locker-3-drawers-4-shelves-24w-x-30d-x-60-78h-blue-with-black-handles>: HTTP status code is not handled or not allowed 2026-01-28 15:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chute-dumpster-wash-citrus-scent-gallon-bottle-4-case>: HTTP status code is not handled or not allowed 2026-01-28 15:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trash-container-garbage-can-44-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dx-top-chest-roller-cabinet-combo-41w-x-25d-x-64h-matte-black-with-black-trim>: HTTP status code is not handled or not allowed 2026-01-28 15:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-tap-ds-6295641>: HTTP status code is not handled or not allowed 2026-01-28 15:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-90-175-register-vent-boot-w-adj-hangers-for-hvac-duct-work-10-x-10-x-10>: HTTP status code is not handled or not allowed 2026-01-28 15:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-dolly-44-gal-black>: HTTP status code is not handled or not allowed 2026-01-28 15:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-printer-15-lbs-weight-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-end-plate-ag4s-19>: HTTP status code is not handled or not allowed 2026-01-28 15:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-tubing-end-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-horizontal-rail-satin>: HTTP status code is not handled or not allowed 2026-01-28 15:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gasket-jsg-0470-829041>: HTTP status code is not handled or not allowed 2026-01-28 15:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/royale-business-notebooks-hardcover-96-sheets-10-1-2-x-8>: HTTP status code is not handled or not allowed 2026-01-28 15:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-breather-valve-with-m18-x-1-5-thread-881-m18x1-5-200-ms-m>: HTTP status code is not handled or not allowed 2026-01-28 15:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-6x6x20-1632-6293356>: HTTP status code is not handled or not allowed 2026-01-28 15:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-48w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-bookcase-34-1-2-w-x-13-d-x-72-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-34-reduction-union-fitting>: HTTP status code is not handled or not allowed 2026-01-28 15:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-60w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warning-label-54a-6296150>: HTTP status code is not handled or not allowed 2026-01-28 15:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worm-60-a-jointer-6296023>: HTTP status code is not handled or not allowed 2026-01-28 15:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scotch-r-general-purpose-masking-tape-234-natural-48mm-x-55m-24-per-case>: HTTP status code is not handled or not allowed 2026-01-28 15:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grease-fitting-6290317>: HTTP status code is not handled or not allowed 2026-01-28 15:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-series-370-disc-horn-12volt-345hz>: HTTP status code is not handled or not allowed 2026-01-28 15:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-repair-kits-fittings-crimping-tool-full-color-labeldescription-chart-316-14-hose-id>: HTTP status code is not handled or not allowed 2026-01-28 15:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-industrial-paper-wiper-12-1316-x-16-38-blue-90-wipespack-5-packscase>: HTTP status code is not handled or not allowed 2026-01-28 15:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-12-union-fitting>: HTTP status code is not handled or not allowed 2026-01-28 15:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a1008chs-continuous-hinge-wclamps-type-12-1150x894-in-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 15:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/id-label-jbos-5-jbos5-95>: HTTP status code is not handled or not allowed 2026-01-28 15:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-s2142b-black-epoxy-wire-shelf-42-w-x-21-d-with-clips>: HTTP status code is not handled or not allowed 2026-01-28 15:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-lp-10-thermaflex-flexible-hvac-duct-5-diameter>: HTTP status code is not handled or not allowed 2026-01-28 15:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-inches-heavy-duty-collapsible-safety-cone-with-led-weighted-base-1187>: HTTP status code is not handled or not allowed 2026-01-28 15:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vhdpost-post-mount-adptr-500x400x400-steelpaint>: HTTP status code is not handled or not allowed 2026-01-28 15:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrabarrier-ultra-24-ft-long-6-in-high>: HTTP status code is not handled or not allowed 2026-01-28 15:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dewalt-12v-green-beam-line-laser>: HTTP status code is not handled or not allowed 2026-01-28 15:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ng-to-lp-conversion-kit-for-modine-high-efficiency-150000-btu-gas-fired-unit-heater>: HTTP status code is not handled or not allowed 2026-01-28 15:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 117188 pages (at 99 pages/min), scraped 56946 items (at 31 items/min) 2026-01-28 15:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modine-47000-btu-steam-or-hot-water-unit-heater-with-explosion-proof-motor>: HTTP status code is not handled or not allowed 2026-01-28 15:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/movers-dolly-29-x-18-5-swivel-casters-1200-lbs-capacity-986593>: HTTP status code is not handled or not allowed 2026-01-28 15:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-ellipse-double-recycling-station-for-cans-bottles-44-gal-cap-whiteblack>: HTTP status code is not handled or not allowed 2026-01-28 15:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-petg-tube-12-l-x-1-1-4-id-x-1-1-2-od-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-computer-station-with-monitor-arm-36w-x-24d-x-33-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorultra-job-on-pallet-2-layer-epoxy-system-5000-sq-ft-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440106999-roll-314d-1-1-2w-x-50-yd-p240>: HTTP status code is not handled or not allowed 2026-01-28 15:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/majestic-greenhouse-20w-x-60l-drop-down-w-film>: HTTP status code is not handled or not allowed 2026-01-28 15:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x48-solar-star-greenhouse-w-poly-ends-and-drop-down-sides-prop-heater>: HTTP status code is not handled or not allowed 2026-01-28 15:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-b-v-belt-b85>: HTTP status code is not handled or not allowed 2026-01-28 15:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-b-v-belt-b43>: HTTP status code is not handled or not allowed 2026-01-28 15:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x72-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides-gas-heater>: HTTP status code is not handled or not allowed 2026-01-28 15:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motorola-multi-unit-charger-rdx>: HTTP status code is not handled or not allowed 2026-01-28 15:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-temp-highcap-3-ph-highact-h3-safetyelectrictanklesswaterheater-120a-480v>: HTTP status code is not handled or not allowed 2026-01-28 15:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-hex-38-x-1-34-6295445>: HTTP status code is not handled or not allowed 2026-01-28 15:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090253546-elite-iron-series-two-stage-vertical-air-compressor-10hp-120-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pllt2-danger-equipment-locked-out-tag-two-part-tags-with-stubs-polyester-25pack>: HTTP status code is not handled or not allowed 2026-01-28 15:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-a-v-belt-a52>: HTTP status code is not handled or not allowed 2026-01-28 15:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-film-36-l-x-40-w-x-0-01-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/auger-style-earth-anchor-1-2-x-15-x-4>: HTTP status code is not handled or not allowed 2026-01-28 15:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-quad-recycling-station-for-organics-paper-92-gallon-cap-whitegrayblack>: HTTP status code is not handled or not allowed 2026-01-28 15:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-a-v-belt-a56>: HTTP status code is not handled or not allowed 2026-01-28 15:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-15hp-1ph-115230v-31a-81>: HTTP status code is not handled or not allowed 2026-01-28 15:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-add-on-unit-5-tier-36w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-commercial-canopy-14w-x-30l-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-triple-recycling-station-for-organics-68-gallon-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 15:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-208-planer-6292674>: HTTP status code is not handled or not allowed 2026-01-28 15:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/105886-lockout-padlock-keyed-alike-1-12-plastic-covered-steel-red-3pack>: HTTP status code is not handled or not allowed 2026-01-28 15:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-36w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090250039-kohler-gasoline-driven-horizontal-air-compressor-14hp-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:05:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/spill_kits_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-fragile-handle-with-care-print-5l-x-3w-redwhite-roll-of-500-scl502r>: HTTP status code is not handled or not allowed 2026-01-28 15:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-5vx-cogged-v-belt-5vx630>: HTTP status code is not handled or not allowed 2026-01-28 15:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-5vx-cogged-v-belt-5vx1320>: HTTP status code is not handled or not allowed 2026-01-28 15:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-dry-hanger-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-48-w-x-1-4-thick-yellow-ps-cact-82>: HTTP status code is not handled or not allowed 2026-01-28 15:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durable-slant-easy-insert-ring-view-binders-4-large-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 15:05:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/spill_kits_stations already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-commercial-canopy-18w-x-60l-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-4-w-x-3-16-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 15:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-lined-poly-mailers-9-12w-x-14-12l-330-mil-white-50pack>: HTTP status code is not handled or not allowed 2026-01-28 15:05:33 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/spill_kits_stations landed on page that is not a product page. 2026-01-28 15:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-96-l-x-48-w-x-1-4-thick-yellow-ps-cacc-12>: HTTP status code is not handled or not allowed 2026-01-28 15:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hndl-model-201planer-6012189>: HTTP status code is not handled or not allowed 2026-01-28 15:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/146130-cable-safety-padlocks-keyed-alike-4-316h-clearance-steel-cable-blue-6pack>: HTTP status code is not handled or not allowed 2026-01-28 15:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86522-danger-hands-off-do-not-operate-tag-2-sided-10pkg-polyester-3w-x-5-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:05:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-48-half-slotted-container-inner>: HTTP status code is not handled or not allowed 2026-01-28 15:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/spill_control_supplies/chemical_sorbents_spill_kits/spill_kits_stations>: HTTP status code is not handled or not allowed 2026-01-28 15:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/opticlean-20-compartment-cup-rack-w-1-open-extendercarlisle-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sparta-large-nylon-replacement-blade-9-x-6-12>: HTTP status code is not handled or not allowed 2026-01-28 15:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-u-channel-24-l-x-1-2-w-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-strip-120-l-x-1-w-x-3-16-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 15:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-30w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-hi-lo-light-duty-3-18x4-18-swivel-5x1-38-poly-tech-ball-400lb>: HTTP status code is not handled or not allowed 2026-01-28 15:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indicator-pja-c41-15-planer-6284750>: HTTP status code is not handled or not allowed 2026-01-28 15:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags>: HTTP status code is not handled or not allowed 2026-01-28 15:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-screw-m5x72mm-tpfa2-e0924>: HTTP status code is not handled or not allowed 2026-01-28 15:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-14-x-7-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 15:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-curve-bus-box-20-15-7grey>: HTTP status code is not handled or not allowed 2026-01-28 15:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-model-201planer-6012136>: HTTP status code is not handled or not allowed 2026-01-28 15:05:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storplus-lock-tight-lid-26-18-1-932white>: HTTP status code is not handled or not allowed 2026-01-28 15:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104314-toughstripe-floor-marking-tape-polyester-2w-x-100l-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:05:54 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-detent-6mm-model-201-planer-6012209>: HTTP status code is not handled or not allowed 2026-01-28 15:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-cutterhd-12-jointer-mdl-1285-6292595>: HTTP status code is not handled or not allowed 2026-01-28 15:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 117279 pages (at 91 pages/min), scraped 56975 items (at 29 items/min) 2026-01-28 15:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-14-x-14-doublewall-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 15:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/225530-cosmetic-tray-w24-slots-1025w-x-25h-x-3d-clr-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 15:05:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-plastex-wheel-6x1-12-58-roller>: HTTP status code is not handled or not allowed 2026-01-28 15:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-aqualite-wheel-6x2-34-plain>: HTTP status code is not handled or not allowed 2026-01-28 15:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700277blk-pegboard-floor-stand-135w-x-60h-bk-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 15:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51346-lockout-padlock-keyed-differently-1-12-plasticsteel-yellow-6pack>: HTTP status code is not handled or not allowed 2026-01-28 15:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252805-revolving-brochure-hlr-w8-pockets-4w-x-7h-clr-1pack>: HTTP status code is not handled or not allowed 2026-01-28 15:06:02 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/rubber/rubber_sheets landed on page that is not a product page. 2026-01-28 15:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clt2-danger-equipment-locked-out-tag-two-part-tags-with-stubs-hd-polyester-25pack>: HTTP status code is not handled or not allowed 2026-01-28 15:06:03 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_lockout_identification_tags landed on page that is not a product page. 2026-01-28 15:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redi-seal-envelopes-10w-x-13l-kraft-500pack>: HTTP status code is not handled or not allowed 2026-01-28 15:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/socket-hd-cap-screw-m6x10px12lg201-6012138>: HTTP status code is not handled or not allowed 2026-01-28 15:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10a-2-bushing-29d-x-23d-x-93-6289135>: HTTP status code is not handled or not allowed 2026-01-28 15:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-hi-heat-plastex-wheel-4x1-14-12-plain>: HTTP status code is not handled or not allowed 2026-01-28 15:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-mailers-5-10-12w-x-16l-kraft-70pack>: HTTP status code is not handled or not allowed 2026-01-28 15:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-12-l-x-12-w-x-1-32-thick-blue-detectable-60a>: HTTP status code is not handled or not allowed 2026-01-28 15:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-ss-2836-18-6095190>: HTTP status code is not handled or not allowed 2026-01-28 15:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-x-16-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 15:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700277wht-pegboard-floor-stand-135w-x-60h-wh-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 15:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-plastex-wheel-3-14-x-2-34-roller>: HTTP status code is not handled or not allowed 2026-01-28 15:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-24-x-12-doublewall-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 15:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-caution-moisture-sensitive-print-4l-x-4w-bluewhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-needle-roller-ball-stick-liquid-pen-assorted-ink-fine-8-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelon-wire-shelving-starter-unit-1-dunnage-shelf-48w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-suites-deskready-keyboard-drawer>: HTTP status code is not handled or not allowed 2026-01-28 15:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-scrw-m8-x-125p-x-30lgmodel201plnr-6012096>: HTTP status code is not handled or not allowed 2026-01-28 15:06:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700357pnk-pegboard-powerwing-display-16w-x-2025h-pk-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 15:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-glass-handle-with-care-print-4l-x-1-12w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-21x36>: HTTP status code is not handled or not allowed 2026-01-28 15:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-rectangular-tube-24-l-x-1-3-8-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-sheet-12-l-x-12-w-x-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 15:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-10-x-5-insulated-container>: HTTP status code is not handled or not allowed 2026-01-28 15:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-light-duty-non-lighted-warning-whip-white>: HTTP status code is not handled or not allowed 2026-01-28 15:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700024-curve-hook-for-gridwall-05w-x-225h-metal-20pack>: HTTP status code is not handled or not allowed 2026-01-28 15:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-32-x-1-cotter-pin-300-series-stainless-steel-asme-18-8-1-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-28 15:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600086-cchannel-6h-clr-5-pc>: HTTP status code is not handled or not allowed 2026-01-28 15:06:30 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock landed on page that is not a product page. 2026-01-28 15:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crowd-control-stanchion-40-in-stainless-steel-post-red-belt-10-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 15:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-90-degree-angle-36-l-x-2-w-gray-bulk-pa-pvc-33>: HTTP status code is not handled or not allowed 2026-01-28 15:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-dia-round-number-paper-labels-with-7-print-dark-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerback-rubber-duct-5-ft-heavy-duty-single-1-14-ch>: HTTP status code is not handled or not allowed 2026-01-28 15:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-blade-retainer-3598046>: HTTP status code is not handled or not allowed 2026-01-28 15:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-strip-120-l-x-1-w-x-1-4-thick-black-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 15:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-dog-3-ch-cable-protector-black-lidblack-base>: HTTP status code is not handled or not allowed 2026-01-28 15:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/decal-american-flag-3119080>: HTTP status code is not handled or not allowed 2026-01-28 15:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x2-flat-free-sawtooth-tread-2-375-centered-hub-1-2-ball-bearings>: HTTP status code is not handled or not allowed 2026-01-28 15:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700432clr-hshaped-pegboard-display-32w-x-60h-clr-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 15:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-90-degree-angle-36-l-x-1-1-4-w-gray-bulk-pa-pvc-29>: HTTP status code is not handled or not allowed 2026-01-28 15:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-paper-labels-with-dec-print-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600059-cchannel-15h-clr-10-pc>: HTTP status code is not handled or not allowed 2026-01-28 15:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-number-paper-labels-with-6-print-fluorescent-orange-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/88in-w-x44in-d-reception-station-with-non-electric-raceway-gray-counter-blue-panel>: HTTP status code is not handled or not allowed 2026-01-28 15:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrench-27-wd-shaper-3868025>: HTTP status code is not handled or not allowed 2026-01-28 15:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnh-3048-6py-ah-with-hardboard-top-30-x-48-adj-height>: HTTP status code is not handled or not allowed 2026-01-28 15:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-12-dia-round-removable-paper-labels-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnh-2460-6py-with-hardboard-top-24-x-60-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 15:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-2-1-2-x-1-mailers>: HTTP status code is not handled or not allowed 2026-01-28 15:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80in-w-x-80in-d-reception-station-with-electric-raceway-cherry-counter-gray-panel>: HTTP status code is not handled or not allowed 2026-01-28 15:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knob-indexing-6430052>: HTTP status code is not handled or not allowed 2026-01-28 15:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-paper-labels-with-ok-to-ship-print-blue-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85a-3-screw-6289174>: HTTP status code is not handled or not allowed 2026-01-28 15:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-outdoor-in-ground-steel-flat-bench-perforated-metal-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:06:48 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/blood_pressure_monitors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-paper-labels-with-qc-rejected-print-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ohio-state-hitch-cover-4-1-2-x-3-3-8-15049>: HTTP status code is not handled or not allowed 2026-01-28 15:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-coverall-knit-cuffs-attached-hood-blue-4x-large-4530-blk-4xl>: HTTP status code is not handled or not allowed 2026-01-28 15:06:51 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-letter-paper-labels-with-r-print-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nhl-pittsburgh-penguins-grill-mat-14247>: HTTP status code is not handled or not allowed 2026-01-28 15:06:53 [py.warnings] (PID: 133) WARNING: /var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/extensions/bq_feedstorage.py:33: ScrapyDeprecationWarning: scrapy.extensions.feedexport.build_storage() is deprecated, call the builder directly. 2026-01-28 15:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taylor-percussion-hammer-with-256-cps-tuning-fork>: HTTP status code is not handled or not allowed 2026-01-28 15:06:54 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (1000 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:57 2026-01-28 15:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-non-electric-office-partition-panel-with-raceway-36-1-4w-x-101-1-2h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-28 15:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 117374 pages (at 95 pages/min), scraped 57000 items (at 25 items/min) 2026-01-28 15:06:56 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/floor_mats/grill_mats already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carport-concrete-anchor>: HTTP status code is not handled or not allowed 2026-01-28 15:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/medical_devices_instruments/blood_pressure_monitors>: HTTP status code is not handled or not allowed 2026-01-28 15:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-1-1-2-w-x-1-2-thick-blue-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 15:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/000-4x8-self-seal-white-bubble-mailers>: HTTP status code is not handled or not allowed 2026-01-28 15:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/grill_mats>: HTTP status code is not handled or not allowed 2026-01-28 15:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stud-remover-6mm-1-2-drive>: HTTP status code is not handled or not allowed 2026-01-28 15:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ax12616-keypad-security-safe-1214w-x-8d-x-8h-036-cubic-ft>: HTTP status code is not handled or not allowed 2026-01-28 15:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd506va-first-aid-kit-sign-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 15:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msmk919vs-no-smoking-graphic-sign-10w-x-14h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 15:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-3-4-x-12-1-4-25-pk-self-seal-white-stayflat-mailers>: HTTP status code is not handled or not allowed 2026-01-28 15:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/floor_mats/grill_mats>: HTTP status code is not handled or not allowed 2026-01-28 15:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgsh904va-safety-first-sign-report-all-accidents-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 15:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-thermal-labels-4w-x-4l-3-core-white-4pack>: HTTP status code is not handled or not allowed 2026-01-28 15:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-30w-zippered-end-panel-white>: HTTP status code is not handled or not allowed 2026-01-28 15:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-outdoor-in-ground-steel-flat-bench-expanded-metal-green>: HTTP status code is not handled or not allowed 2026-01-28 15:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-gable-end-16w-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-door-ovation-letter-board-burgundy-w-gray-frame-24-1-8w-x-33-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 15:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-100-gauge-pvc-shrink-tubing>: HTTP status code is not handled or not allowed 2026-01-28 15:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-outdoor-in-ground-steel-bench-with-backrest-expanded-metal-black>: HTTP status code is not handled or not allowed 2026-01-28 15:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd225-110-vac-plug-lockout-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:07:14 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-11-16-deep>: HTTP status code is not handled or not allowed 2026-01-28 15:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-cod-print-3l-x-2w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-4-drive-7-16-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 15:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-door-enclosed-fabric-tackboard-gray-fabric-silver-frame-96w-x-48h>: HTTP status code is not handled or not allowed 2026-01-28 15:07:19 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-60-l-x-4-w-x-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 15:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-table-adjustable-height-locking-drawer-2-shelves-36-1-8-w-x-24-1-8-d-x-24-1-8-h>: HTTP status code is not handled or not allowed 2026-01-28 15:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-barrier-set-red-double-sided-danger>: HTTP status code is not handled or not allowed 2026-01-28 15:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-stak-a-cab-combo-acid-flammable-cabinet-w-self-closing-31w-x-14-1-2d-x-17h>: HTTP status code is not handled or not allowed 2026-01-28 15:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd477-trailer-lock-glad-hand-lockout-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:07:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/material-handling/winches_accessories/winches_ratchet_pullers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-4-drive-deep-6-point-5-16>: HTTP status code is not handled or not allowed 2026-01-28 15:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mvhr830vs-notice-sign-wheels-must-be-chocked-before-loading-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 15:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8flexo-pet-general-purpose-sleeving-dia-100-red>: HTTP status code is not handled or not allowed 2026-01-28 15:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-t-general-clamping-tube-pipe-hydraulic-hose>: HTTP status code is not handled or not allowed 2026-01-28 15:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-gallon-jumbo-stacking-flammable-cabinet-self-closing-30w-x-18-1-2d-x-32-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 15:07:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/desks_workstations/office_computer_desks landed on page that is not a product page. 2026-01-28 15:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-24-l-x-1-2-w-x-3-8-thick-gray-oil-filled>: HTTP status code is not handled or not allowed 2026-01-28 15:07:29 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/task_desk_chairs/task_office_chairs landed on page that is not a product page. 2026-01-28 15:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-bit-set-fractional-3-8-drive-7-pieces>: HTTP status code is not handled or not allowed 2026-01-28 15:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-p-general-clamp-assembly-for-tube-pipe-hydraulic-hose>: HTTP status code is not handled or not allowed 2026-01-28 15:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrestling-marial-arts-roll-mats-24-x-6-x-1-5-8-royal-111r-ry>: HTTP status code is not handled or not allowed 2026-01-28 15:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msmk243vp-danger-sign-flammable-material-no-smoking-or-open-flames-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:07:34 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/material-handling/winches_accessories/winches_ratchet_pullers landed on page that is not a product page. 2026-01-28 15:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm2415bt-24-bandsaw-with-armorglide-5-hp-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-shelf-with-new-electric-outlet-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marque-curved-ada-compliant-reception-station-62-12w-x-25d-x-33h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 15:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-tube-od-zinc-plated-anti-vibration-cush-a-clamp>: HTTP status code is not handled or not allowed 2026-01-28 15:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-strapping-3-4-inches-w-x-0-point-030-inches-x-100-feet>: HTTP status code is not handled or not allowed 2026-01-28 15:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-14mm-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 15:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-tube-od-zinc-plated-anti-vibration-cush-a-clamp>: HTTP status code is not handled or not allowed 2026-01-28 15:07:41 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wire-security-truck-48x24x70-with-dolly-base-1600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7447-pro-hand-pad-6-x-9-in-20-padsbox-3-boxescase>: HTTP status code is not handled or not allowed 2026-01-28 15:07:43 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-ibc-spill-pallet-plus-with-no-drain>: HTTP status code is not handled or not allowed 2026-01-28 15:07:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-120-l-x-36-w-x-0-001-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-dolly-with-t-handle-load-retainers-open-deck-40-x-48-lr>: HTTP status code is not handled or not allowed 2026-01-28 15:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-indoor-led-message-sign-nema-12-full-color-4120rgb>: HTTP status code is not handled or not allowed 2026-01-28 15:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tl-50-deluxe-tool-lock-setting-stand-upright-horizontal-50-taper-up-40-and-50-taper-flat>: HTTP status code is not handled or not allowed 2026-01-28 15:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mt4-heavy-duty-live-centres-2860lb-capacity-60-centre-angle-1-1-2-centre-diameter>: HTTP status code is not handled or not allowed 2026-01-28 15:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/msmk423va-no-smoking-sign-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 15:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-4x3x13-1-5-mil-gusseted-polypropylene-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 15:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-swivel-socket>: HTTP status code is not handled or not allowed 2026-01-28 15:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-fabric-heat-shrink-197-diameter-dia-25-black>: HTTP status code is not handled or not allowed 2026-01-28 15:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd931vs-emergency-sign-safety-shower-graphic-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 15:07:54 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 15:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_film_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-single-swivel-socket-member-2>: HTTP status code is not handled or not allowed 2026-01-28 15:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 117465 pages (at 91 pages/min), scraped 57025 items (at 25 items/min) 2026-01-28 15:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-12-dri-shieldtm-moisture-barrier-bags>: HTTP status code is not handled or not allowed 2026-01-28 15:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp006vp-danger-sign-confined-space-do-not-enter-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-flange-3>: HTTP status code is not handled or not allowed 2026-01-28 15:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durawrap-1050-ballistic-nylon-wrap-w-velcro-closure-4-dia-25-black>: HTTP status code is not handled or not allowed 2026-01-28 15:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-7-8-6-point-deep>: HTTP status code is not handled or not allowed 2026-01-28 15:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd928vp-emergency-sign-eye-wash-station-keep-area-clear-graphic-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermashield-aluminized-fiberglass-tube-38-dia-300-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-13-16-x-8-5-16-x-2-1-2-lewisbins-divider-box-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cortech-usa-86484sb-5-chair-razorback-slate-blue-5-pack-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x12-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 15:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/138840-safepace-100-ev-11-radar-feedback-sign-your-speed-hip-white-face-23-x-29>: HTTP status code is not handled or not allowed 2026-01-28 15:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-rectangular-tube-36-l-x-3-4-w-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-rectangular-tube-72-l-x-3-4-w-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firex-smoke-alarm-hardwired-with-10-years-backup-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdd715-steering-wheel-message-cover-vinyl-16-diameter>: HTTP status code is not handled or not allowed 2026-01-28 15:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g15l-150-ff-20hp-oil-injected-rotary-screw-floor-mount-150psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 15:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-straight-coupling-1>: HTTP status code is not handled or not allowed 2026-01-28 15:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32x32-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 15:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g18-175-ap-25hp-oil-injected-rotary-screw-132-gal-tank-mnt-175psi-3ph-208-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 15:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-type-needle-roller-bearing-metric-taf81516-8mm-bore-15mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-48-l-x-2-1-2-w-x-1-16-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mchl168vp-danger-sign-oxygen-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1flexo-pet-general-purpose-sleeving-dia-65-red>: HTTP status code is not handled or not allowed 2026-01-28 15:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcrt101vp-danger-sign-construction-area-keep-out-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fvp-economy-round-container-dolly-black>: HTTP status code is not handled or not allowed 2026-01-28 15:08:17 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mvhr626va-caution-sign-driver-must-chock-wheels-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 15:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insultherm-resin-coated-fiberglass-sleeve-25-dia-200-black>: HTTP status code is not handled or not allowed 2026-01-28 15:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coxreels-ez-tsh-350-hv-3-8inx50ft-300psi-ez-coil-safety-supreme-duty-spring-retractable-low-pressure>: HTTP status code is not handled or not allowed 2026-01-28 15:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mecr606vs-caution-sign-low-overhead-clearance-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 15:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mecr622vs-caution-sign-low-headroom-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 15:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polyester-film-300-l-x-36-w-x-0-007-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49-1-4-x-41-1-4-x-4-heavy-duty-gaylord-lids-423015>: HTTP status code is not handled or not allowed 2026-01-28 15:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bandit-ratchet-lever-hoist-6-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-24-l-x-1-w-x-3-32-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upsable-bubble-wrap-roll-48-x-300-x-316-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerated-truck-edge-of-dock-leveler-72-usable-w-94-overall-w-30-000-lb-986650>: HTTP status code is not handled or not allowed 2026-01-28 15:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerated-truck-edge-of-dock-leveler-78-usable-w-100-overall-w-20-000-lb-986645>: HTTP status code is not handled or not allowed 2026-01-28 15:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-36-l-x-2-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 15:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-7-open-end-static-shielding-bags>: HTTP status code is not handled or not allowed 2026-01-28 15:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hoist-and-trolley-combo-standard-1-ton-capacity-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-48-l-x-24-w-x-1-4-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 15:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upsable-perforated-bubble-wrap-rolls-12-x-188-x-516-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hoist-and-trolley-combo-geared-5-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7x9-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 15:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-bubble-wrap-roll-24-x-250-x-12-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n407-replacement-needles-14-piece-4mm-x-7-needles>: HTTP status code is not handled or not allowed 2026-01-28 15:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-with-partial-window-36-x-42-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-tester-heavy-duty-6-12v-6026>: HTTP status code is not handled or not allowed 2026-01-28 15:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permit-control-station-with-group-lock-box-wall-mounted-red-s3500>: HTTP status code is not handled or not allowed 2026-01-28 15:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-office-desk-with-double-pedestal-drawer-unit-60w-x-30d-x-29h-noble-oak>: HTTP status code is not handled or not allowed 2026-01-28 15:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-port-cap-gl45-red-pbt-screw-cap-stainless-steel-ports-sterile>: HTTP status code is not handled or not allowed 2026-01-28 15:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cut-n-carry-white-cb182412wh>: HTTP status code is not handled or not allowed 2026-01-28 15:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dimension-beverage-center-cabinets-c2903bk>: HTTP status code is not handled or not allowed 2026-01-28 15:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuff-cut-cutting-boards-tc182412>: HTTP status code is not handled or not allowed 2026-01-28 15:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hae-portable-electric-hot-water-pressure-washer-2500-psi-28-gpm-38-hose-480v>: HTTP status code is not handled or not allowed 2026-01-28 15:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rsb-p-bi-metal-pallet-reciprocating-blade-8x3-4x0-035-10t-10-tube>: HTTP status code is not handled or not allowed 2026-01-28 15:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-910-ssbv-replacement-12-ss-ball-assembly>: HTTP status code is not handled or not allowed 2026-01-28 15:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-227-lifesaver-emergency-shower>: HTTP status code is not handled or not allowed 2026-01-28 15:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gun-safe-electronic-lock-1-hr-fire-rating-23x20x59-12-gun-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 15:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20x30-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 15:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-48-l-x-24-w-x-3-8-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 15:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35387-one-touch-stainless-steel-liquid-dispenser-round-4-oz-white-glass>: HTTP status code is not handled or not allowed 2026-01-28 15:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uv-air-treatment-system-with-12-bulbs-7000-sq-ft-aluminum-120v-48w>: HTTP status code is not handled or not allowed 2026-01-28 15:08:45 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-blind-hole-gun-12-angled-tip>: HTTP status code is not handled or not allowed 2026-01-28 15:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-2-panel-corner-room-divider-24-x-42-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-1-w-x-1-8-thick-clear-scratch-and-uv-resistant>: HTTP status code is not handled or not allowed 2026-01-28 15:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-24-x-42-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-gunslinger-air-gun-holder>: HTTP status code is not handled or not allowed 2026-01-28 15:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gas-spring-flat-panel-monitor-arm-with-vesa-mounting-plate-black>: HTTP status code is not handled or not allowed 2026-01-28 15:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-sheet-48-l-x-48-w-x-1-2-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 15:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-24-l-x-2-w-x-1-thick-black-mds-filled>: HTTP status code is not handled or not allowed 2026-01-28 15:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-entrance-mat-waffle-pattern-3-8-thick-3-x-4-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 15:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-3-panel-corner-room-divider-24-x-42-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-24-x-72-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-12-l-x-4-w-x-1-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 117561 pages (at 96 pages/min), scraped 57044 items (at 19 items/min) 2026-01-28 15:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-sheet-12-l-x-12-w-x-1-thick-black-mds-filled>: HTTP status code is not handled or not allowed 2026-01-28 15:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40626-2x-3x-fishing-vest-mesh-tan-2x-large-3x-large>: HTTP status code is not handled or not allowed 2026-01-28 15:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-mini-vacuum-attachment-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-26-kra-mailing-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 15:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-x-48-kra-tubes-with-caps-case>: HTTP status code is not handled or not allowed 2026-01-28 15:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em-95150-eifs-stucco-mesh-45-oz-79-x-150>: HTTP status code is not handled or not allowed 2026-01-28 15:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-5-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 15:09:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-add-on-a36726ep-72w-x-36d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-100-percent-isopropyl-alcohol-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 15:09:03 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-with-shoe-20in-w-x-82in-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-tube-72-l-x-1-3-16-id-x-1-9-16-od-white>: HTTP status code is not handled or not allowed 2026-01-28 15:09:05 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-with-shoe-6in-w-x-82in-h-almond>: HTTP status code is not handled or not allowed 2026-01-28 15:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-stack-rack-48-w-x-42-d-x-36-h-1>: HTTP status code is not handled or not allowed 2026-01-28 15:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-place-plastic-freezer-storage-boxes-opaque-black-5pk>: HTTP status code is not handled or not allowed 2026-01-28 15:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-truck-2-shelves-1-1-2-retaining-lips-3600-lbs-mesh-sides-24-x-60-deck>: HTTP status code is not handled or not allowed 2026-01-28 15:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-grade-tissue-paper-11-lbs-20w-x-30l-metallic-copper-200-sheets>: HTTP status code is not handled or not allowed 2026-01-28 15:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-96-l-x-7-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 15:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-wired-rejected>: HTTP status code is not handled or not allowed 2026-01-28 15:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-tl40-test-lead-set-slimflex-1000v-2a-1-pair-cat-iii-300-v-3-a-rating-ul-listed>: HTTP status code is not handled or not allowed 2026-01-28 15:09:12 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock landed on page that is not a product page. 2026-01-28 15:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-t5-1000-voltage-continuity-current-tester-voltage-to-1000-v-current-to-100-a>: HTTP status code is not handled or not allowed 2026-01-28 15:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_rod_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garage-jack-2-ton-passenger-cars-and-vans-dk20q>: HTTP status code is not handled or not allowed 2026-01-28 15:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelving-add-on-a30488ep-48w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-e-pak-950-5-pocket-paint-booth-exhaust-final-filter-20-in-x-20-in-x-15-in>: HTTP status code is not handled or not allowed 2026-01-28 15:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-hydraulic-jack-25-10-ton-25-2>: HTTP status code is not handled or not allowed 2026-01-28 15:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-cu-yd-gray-medium-duty-hopper-986662>: HTTP status code is not handled or not allowed 2026-01-28 15:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-2ac-90-1000v-voltalert-ac-non-contact-voltage-tester-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronze-acrylic-desiccator-cabinet-021-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 15:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-12-l-x-1-1-2-w-x-1-4-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 15:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-static-foam-shippers-12w-x-12l-x-2-34d-pinkwhite-24pack>: HTTP status code is not handled or not allowed 2026-01-28 15:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-faucet-elkay-lk940ha08t4s>: HTTP status code is not handled or not allowed 2026-01-28 15:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8500-8999-inventory-tag-2-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-28 15:09:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/autoclavable-polypropylene-carboy-with-spigot-20-liters-53-gallons>: HTTP status code is not handled or not allowed 2026-01-28 15:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-c195-so-case-zippered-carrying-case-w-storage-compartments>: HTTP status code is not handled or not allowed 2026-01-28 15:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-chrome-wire-linen-cart-with-nylon-cover-4-shelves-60-l-x-24-w-x-80-h>: HTTP status code is not handled or not allowed 2026-01-28 15:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-block-incubator-liquid-in-glass-thermometer-0-to-80c-100mm-immersion>: HTTP status code is not handled or not allowed 2026-01-28 15:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dividable-akrodrawer-in-blue-11-5-8-x-3-1-4-x-4-5-8>: HTTP status code is not handled or not allowed 2026-01-28 15:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-esd-safe-divider-box-16-12l-x-10-2932w-x-6h>: HTTP status code is not handled or not allowed 2026-01-28 15:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbis-stakpak-modular-straight-wall-container-16l-x-15w-x-7-12h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silhouette-banquet-stacking-chair-fabric-blue-9350-series>: HTTP status code is not handled or not allowed 2026-01-28 15:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-paper-30-lbs-12w-x-12l-kraft-1000-sheets>: HTTP status code is not handled or not allowed 2026-01-28 15:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-2w-6l-1-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-28 15:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-36-l-x-2-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 15:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/science-lab-table-black-laminate-top-ash-wood-frame-24wx60lx30h>: HTTP status code is not handled or not allowed 2026-01-28 15:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-cs120-2e-20-amp-120-277-volt-toggle-single-pole-ac-quiet-switch-black>: HTTP status code is not handled or not allowed 2026-01-28 15:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbis-heavy-duty-fixed-wall-bulkpak-48l-x-45w-x-19-516h-2000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-thermometer-hygrometer-panel-mount-0-50c-20-99-percent-humidity-range>: HTTP status code is not handled or not allowed 2026-01-28 15:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-24305gz-30w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-1-4-x-2-5-8-6-gray-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-28 15:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-2w-6l-endless-poly-roundsling-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-height-arm-for-specialized-drums>: HTTP status code is not handled or not allowed 2026-01-28 15:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yuasa-yix30l-bs-battery-30-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-28 15:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-2w-16l-endless-poly-roundsling-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-rack-24x36x60-with-96-blue-drawers>: HTTP status code is not handled or not allowed 2026-01-28 15:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-21246gz-24w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-21608gz-60w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-6l-2-ply-endless-poly-flat-web-sling>: HTTP status code is not handled or not allowed 2026-01-28 15:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-48-x-30-adj-height-workbench-w-drawer-black-shop-top-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 15:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-rack-24x36x60-with-64-blue-drawers>: HTTP status code is not handled or not allowed 2026-01-28 15:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/step-on-receptacle-7-5-gallon-ss>: HTTP status code is not handled or not allowed 2026-01-28 15:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bench-rack-12x36x21-with-19-gray-drawers>: HTTP status code is not handled or not allowed 2026-01-28 15:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flaskup-polypropylene-flask-holders-for-50ml-round-bottom-flasks-3pk>: HTTP status code is not handled or not allowed 2026-01-28 15:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-steel-pegboard-18-x-19-tan-796623tn>: HTTP status code is not handled or not allowed 2026-01-28 15:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-72-x-30-adj-height-workbench-w-drawer-black-shop-top-safety-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 15:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-8l-1-ply-endless-poly-flat-web-sling>: HTTP status code is not handled or not allowed 2026-01-28 15:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-14246gz-24w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-dual-zone-electronic-verification-thermometer-50-70c-58-158f-10-50c-14-122f>: HTTP status code is not handled or not allowed 2026-01-28 15:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-21488gz-48w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4-x-2-7-8-7-red-fluorescent-tag>: HTTP status code is not handled or not allowed 2026-01-28 15:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-48-x-36-adj-height-workbench-w-drawer-riser-black-maple-safety-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 15:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-3w-20l-1-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-28 15:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-double-safe-pfa-coated-liquid-in-glass-thermometer-20-150c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 15:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-6l-1-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-28 15:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-8l-1-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-28 15:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghs-labeled-safety-vented-distilled-water-wash-bottles-1000ml-32oz-pe-w-blue-pp-cap-2pk>: HTTP status code is not handled or not allowed 2026-01-28 15:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-4w-10l-1-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-28 15:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-durac-maximum-registering-autoclave-bi-metal-thermometer-20-to-150c-0-to-300f>: HTTP status code is not handled or not allowed 2026-01-28 15:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlocking-storage-cabinet-11-3-4w-11-3-8d-x-11h-14-gray-drawers>: HTTP status code is not handled or not allowed 2026-01-28 15:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-blood-bank-verification-thermometer-20-to-70f>: HTTP status code is not handled or not allowed 2026-01-28 15:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-plastic-bin-16-1-4l-x-11-3-4w-x-22h-light-pink>: HTTP status code is not handled or not allowed 2026-01-28 15:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-frio-temp-incubator-verification-thermometer-60-to-120f>: HTTP status code is not handled or not allowed 2026-01-28 15:09:55 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:09:56 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 117655 pages (at 94 pages/min), scraped 57054 items (at 10 items/min) 2026-01-28 15:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-rack-24x36x60-with-144-red-drawers>: HTTP status code is not handled or not allowed 2026-01-28 15:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/composite-luggage-rack-chestnut-finish-straight-legs>: HTTP status code is not handled or not allowed 2026-01-28 15:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-2-1-4-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 15:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-rack-24x36x60-with-88-red-drawers>: HTTP status code is not handled or not allowed 2026-01-28 15:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-57-x-18-x-7-3-4-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlocking-storage-cabinet-11-3-4w-11-3-8d-x-11h-16-blue-drawers>: HTTP status code is not handled or not allowed 2026-01-28 15:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/variable-speed-electric-chain-hoist-500-lb-capacity-986828>: HTTP status code is not handled or not allowed 2026-01-28 15:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-astm-like-liquid-in-glass-thermometer-113c-softening-point-bitumen-wide-range>: HTTP status code is not handled or not allowed 2026-01-28 15:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-arm-chair-gray-with-silver-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tv-cctv-monitor-wall-mount-bracket-for-monitor-14in-21in>: HTTP status code is not handled or not allowed 2026-01-28 15:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d433pb-osha-sign-danger-electrical-equipment-authorized-personnel-10-by-14-red-black-white>: HTTP status code is not handled or not allowed 2026-01-28 15:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sw6gwuu-dble-wide-closed-linear-bearing-wresin-retainer-and-seals-38id-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-bistro-table-4-barstool-set-designer-white-table-top-with-navy-stools>: HTTP status code is not handled or not allowed 2026-01-28 15:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-aluminum-step-box-24-x-28-x-18>: HTTP status code is not handled or not allowed 2026-01-28 15:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-chair-set-espresso-table-top-with-navy-chairs>: HTTP status code is not handled or not allowed 2026-01-28 15:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-x-5-1-2-w-flag-packing-list-enclosed-panel-face>: HTTP status code is not handled or not allowed 2026-01-28 15:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-bistro-table-4-barstool-set-espresso-table-top-with-navy-stools>: HTTP status code is not handled or not allowed 2026-01-28 15:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-t-handle-white-14x16x36>: HTTP status code is not handled or not allowed 2026-01-28 15:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-marker-oil-based-fine-green-ink>: HTTP status code is not handled or not allowed 2026-01-28 15:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-316ss-immersion-1-9250-imm-lg1500w-120v-t-stat>: HTTP status code is not handled or not allowed 2026-01-28 15:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-marker-oil-based-medium-silver-ink>: HTTP status code is not handled or not allowed 2026-01-28 15:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individually-calibrated-9-21-degree-api-astm-2h-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 15:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempco-brasscopper-immersion-2-110d-5000w-480v>: HTTP status code is not handled or not allowed 2026-01-28 15:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-indoor-outdoor-stackable-chair-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spruce-general-use-spray-paint-16-oz-gloss-white-12-cans-case-98-2>: HTTP status code is not handled or not allowed 2026-01-28 15:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reception-lounge-chair-leather-black-hercules-roman-series>: HTTP status code is not handled or not allowed 2026-01-28 15:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-diamond-tread-aluminum-underbody-box-w-t-handle-black-18x18x24>: HTTP status code is not handled or not allowed 2026-01-28 15:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individually-calibrated-1-11-degree-api-astm-1h-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 15:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leather-reception-sofa-black-hercules-imperial-series>: HTTP status code is not handled or not allowed 2026-01-28 15:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplehuman-174-wall-mount-grocery-bag-holder>: HTTP status code is not handled or not allowed 2026-01-28 15:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-round-cocktail-table-with-30-and-42-leg-columns-birchwood-top>: HTTP status code is not handled or not allowed 2026-01-28 15:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-enamel-16-oz-dove-gray-6-cans-case-16-112>: HTTP status code is not handled or not allowed 2026-01-28 15:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-water-refrigerant-line-liquid-in-glass-straight-thermometer-5-to-120c-brass-well>: HTTP status code is not handled or not allowed 2026-01-28 15:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-72w-x-24d-x-34h-2-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 15:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-enamel-16-oz-safety-blue-6-cans-case-16-129>: HTTP status code is not handled or not allowed 2026-01-28 15:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-basket-4-x-32-for-cleanware-pipette-rinsing-system>: HTTP status code is not handled or not allowed 2026-01-28 15:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lattice-top-6w-x-6h-oxford-grey-alum-composite-horizontal-fence-starter-section-in-ground-ef-lg1206>: HTTP status code is not handled or not allowed 2026-01-28 15:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-30w-x-24d-x-34h-2-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 15:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-wall-freestanding-cabinet-35w-x-18d-x-84-1-4h-2-steel-doors-5-adj-shelves-model-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/estate-6w-x-6h-black-rose-aluminum-composite-horizontal-fence-adder-section-in-ground-ef-eg1226>: HTTP status code is not handled or not allowed 2026-01-28 15:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-well-horizontal-coolers-dw-frosty-brew-95w-dw94-b-29>: HTTP status code is not handled or not allowed 2026-01-28 15:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-594ml-powder-funnel-with-24-40-tapered-stem>: HTTP status code is not handled or not allowed 2026-01-28 15:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-12-2-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 15:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flo-pac-dust-mop-48-x-5-natural>: HTTP status code is not handled or not allowed 2026-01-28 15:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n51h15lnb50n-jafline-double-jacket-fire-hose-1-12-x-50-ft-400-psi-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tpi-exhaust-fan-10-in-with-shutter-3-speed>: HTTP status code is not handled or not allowed 2026-01-28 15:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-pfa-safety-coated-liquid-in-glass-thermometer-20-to-110c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 15:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn76-phenolic-mushroom-knob-tapped-33mm-diameter-29mm-length-m8x125>: HTTP status code is not handled or not allowed 2026-01-28 15:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/itm-3-12-22-sds-max-hollow-hammer-core-bit>: HTTP status code is not handled or not allowed 2026-01-28 15:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-black-ep-18-w-x-60-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 15:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-13-4-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 15:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-imhoff-cone-and-separatory-funnel-rack-85-x-26-x-29>: HTTP status code is not handled or not allowed 2026-01-28 15:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solid-door-back-bar-refrigerator-23-base-bb-48w-bb48y>: HTTP status code is not handled or not allowed 2026-01-28 15:10:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-post-safety-barrier-75ft-red-belt>: HTTP status code is not handled or not allowed 2026-01-28 15:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-26ml-micro-funnels-12pk>: HTTP status code is not handled or not allowed 2026-01-28 15:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-freezer-verification-thermometer-30-to-1c>: HTTP status code is not handled or not allowed 2026-01-28 15:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-newsprint-roll>: HTTP status code is not handled or not allowed 2026-01-28 15:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-48-4post-lan-rack>: HTTP status code is not handled or not allowed 2026-01-28 15:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en5631-technopolymer-thandle-wthreaded-stud-mm-diameter-80mm-length-m10x15>: HTTP status code is not handled or not allowed 2026-01-28 15:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-6-w-x-3-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 15:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-2-with-brakes-nexelon-18-w-x-60-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 15:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-24-l-x-24-w-x-5-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 15:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-pocket-liquid-in-glass-thermometer-10-to-110c-0-to-220f-window-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 15:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-blood-bank-verification-thermometer-5-20c>: HTTP status code is not handled or not allowed 2026-01-28 15:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-50-basis-weight-kra-paper>: HTTP status code is not handled or not allowed 2026-01-28 15:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-12-l-x-12-w-x-1-thick-black-bulk-ps-acb-1941>: HTTP status code is not handled or not allowed 2026-01-28 15:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-horizon-solid-half-solid-doors-52w-hrps2-1s>: HTTP status code is not handled or not allowed 2026-01-28 15:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pusher-tensioner-for-3-8-3-4-steel-strapping-s-246>: HTTP status code is not handled or not allowed 2026-01-28 15:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-75-basis-weight-kra-paper>: HTTP status code is not handled or not allowed 2026-01-28 15:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-pfa-safety-coated-liquid-in-glass-thermometer-0-to-230f-76mm-immersion>: HTTP status code is not handled or not allowed 2026-01-28 15:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-nexelon-21-w-x-48-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 15:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealless-combination-tool-for-5-8-steel-strapping-mul-16-58>: HTTP status code is not handled or not allowed 2026-01-28 15:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-165ml-two-piece-buchner-funnel>: HTTP status code is not handled or not allowed 2026-01-28 15:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-36w-x-14d-x-14h-1-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 15:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-sealless-combination-tool-for-1-2-high-tensile-steel-strapping-mul-20-12>: HTTP status code is not handled or not allowed 2026-01-28 15:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-1lb-paper-bag-30lb-kraft-brown-3-1-2-x-6-7-8-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:10:47 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-triple-fan-panel>: HTTP status code is not handled or not allowed 2026-01-28 15:10:49 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_machines/time_clock_systems already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-defibrillatoraed-surfacemounted-wall-cabinet-without-alarm>: HTTP status code is not handled or not allowed 2026-01-28 15:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-72w-x-18d-x-14h-1-shelf-add-on-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 15:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-8-drawer-2-cabinets-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-36w-x-18d-x-54h-3-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 15:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cpr-mask-in-clam-shell-case>: HTTP status code is not handled or not allowed 2026-01-28 15:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-aed-responder-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-protective-product-sj6506-hemisphere-0-375-w-x-0-150-l-clear-pkg-of-5000>: HTTP status code is not handled or not allowed 2026-01-28 15:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-book-bottle-5-liters-125-gallons-3-7-16-x-9-1-2-x-14>: HTTP status code is not handled or not allowed 2026-01-28 15:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 117750 pages (at 95 pages/min), scraped 57062 items (at 8 items/min) 2026-01-28 15:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-resiliant-rollstock-sj5816-9-x-36-yds-black-1-16-thick-70006459898>: HTTP status code is not handled or not allowed 2026-01-28 15:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-surface-mounted-ceiling-heater-480v-3000w-6826-btu>: HTTP status code is not handled or not allowed 2026-01-28 15:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-mover-6-phenolic-cstr-2-fixed-2-swivel-3-standard-uprights>: HTTP status code is not handled or not allowed 2026-01-28 15:10:57 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers landed on page that is not a product page. 2026-01-28 15:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-voltage-digital-7-day-programmable-thermostat-p711-1-stage-heat-1-cool-24-vac>: HTTP status code is not handled or not allowed 2026-01-28 15:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/office_machines/time_clock_systems>: HTTP status code is not handled or not allowed 2026-01-28 15:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-lift-3-cstr-16-x-32-lift-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17065-10239-btu-forced-air-cabinet-unit-heater-480v>: HTTP status code is not handled or not allowed 2026-01-28 15:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-folded-chair-table-truck>: HTTP status code is not handled or not allowed 2026-01-28 15:11:01 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-72w-x-30d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-round-table-mover-5-phenolic-casters-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 15:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-5-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 15:11:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-or-vertical-discharge-fan-forced-suspended-unit-heater-3300w-277v>: HTTP status code is not handled or not allowed 2026-01-28 15:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-or-vertical-discharge-fan-forced-suspended-unit-heater-7500w-277v>: HTTP status code is not handled or not allowed 2026-01-28 15:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-5252-w-narrow-body-duplex-receptacle-straight-blade-industrial-grade-white>: HTTP status code is not handled or not allowed 2026-01-28 15:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mk01-120-powdered-milk-bucket-120-servings>: HTTP status code is not handled or not allowed 2026-01-28 15:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-float-ball-for-energy-free-waterers-red-8l-x-8w-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poxygrid-aluminum-microliter-pipettor-rack-for-gilson-pipetman-with-extended-base>: HTTP status code is not handled or not allowed 2026-01-28 15:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-4-w-x-1-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 15:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-section-wood-hanging-locker-245wx15dx48h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/lab_equipment_instruments/laboratory_thermometers_hydrometers>: HTTP status code is not handled or not allowed 2026-01-28 15:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulkhead-fitting-and-plug-for-use-with-behlen-poly-stock-tanks>: HTTP status code is not handled or not allowed 2026-01-28 15:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-48-l-x-24-w-x-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 15:11:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-sign-frame-wwedge-base-and-adjustable-stem-4l-x-11w-black>: HTTP status code is not handled or not allowed 2026-01-28 15:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radiant-ceiling-panel-375w-120-240v>: HTTP status code is not handled or not allowed 2026-01-28 15:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-watt-commercial-ceiling-heater-14-3-16-l-208v>: HTTP status code is not handled or not allowed 2026-01-28 15:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-17es-2rs-spherical-plain-bearing-metric-sealed>: HTTP status code is not handled or not allowed 2026-01-28 15:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-chair-carton-of-two>: HTTP status code is not handled or not allowed 2026-01-28 15:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10240-5120-btu-fan-forced-wall-heaters-with-summer-fan-switch-240-208v-2>: HTTP status code is not handled or not allowed 2026-01-28 15:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-high-corner-shelf>: HTTP status code is not handled or not allowed 2026-01-28 15:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-shelf>: HTTP status code is not handled or not allowed 2026-01-28 15:11:21 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prevention-security-cabinet-48w-30d-84h-single-door-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 15:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-storage-36h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-48w-x-36d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-center-with-drawers>: HTTP status code is not handled or not allowed 2026-01-28 15:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gez-500es-2rs-spherical-plain-bearing-inch-sealed>: HTTP status code is not handled or not allowed 2026-01-28 15:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-30w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-bar-36-l-x-4-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 15:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-check-valves-3-32-bore-5-16-to-1-4-taper-ldpe-12pk>: HTTP status code is not handled or not allowed 2026-01-28 15:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-general-purpose-polyethylene-tray-without-faucet-12-x-16-x-3>: HTTP status code is not handled or not allowed 2026-01-28 15:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-48w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-steel-guard-rail-42-h-x-120-l>: HTTP status code is not handled or not allowed 2026-01-28 15:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-140es-2rs-spherical-plain-bearing-metric-sealed>: HTTP status code is not handled or not allowed 2026-01-28 15:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-15c-spherical-plain-bearing-metric-maintenance-free>: HTTP status code is not handled or not allowed 2026-01-28 15:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saturn-spinbar-teflon-magnetic-stirring-bar-40mm-white>: HTTP status code is not handled or not allowed 2026-01-28 15:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-waste-receptacle-with-bronze-aluminum-ash-n-trash-top24-dia-x-33-sand>: HTTP status code is not handled or not allowed 2026-01-28 15:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-12-l-x-1-1-2-w-x-1-1-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 15:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-48w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-assembly-5>: HTTP status code is not handled or not allowed 2026-01-28 15:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-multi-ring-lochook>: HTTP status code is not handled or not allowed 2026-01-28 15:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-60w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-elliptical-egg-shaped-magnetic-stirring-bar-159-x-635mm-white>: HTTP status code is not handled or not allowed 2026-01-28 15:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000-li-ion-battery-for-tk-2300-3300-2302-3302>: HTTP status code is not handled or not allowed 2026-01-28 15:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-muff-headset-w-in-line-ptt>: HTTP status code is not handled or not allowed 2026-01-28 15:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9520-46m-12-inch-axial-dc-plastic-blower-system-w-12-inch-mvp-9546-blower>: HTTP status code is not handled or not allowed 2026-01-28 15:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-12-inch-lambs-wool-bonnet>: HTTP status code is not handled or not allowed 2026-01-28 15:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9520-03m-8-inch-heavy-duty-explosion-proof-ex-blower-system-w-8-inch-mvp-9503-blower>: HTTP status code is not handled or not allowed 2026-01-28 15:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-30w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-comvac-vacuum>: HTTP status code is not handled or not allowed 2026-01-28 15:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-4-w-x-3-16-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 15:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-stand-with-27-to-42-height-range-1760-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-20-super-heavy-duty-brown-tarp-8-oz-269906>: HTTP status code is not handled or not allowed 2026-01-28 15:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-multipurpose-polypropylene-tray-with-handles-12-3-4-x-10-1-2-x-4-1-4>: HTTP status code is not handled or not allowed 2026-01-28 15:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/accu-height-fork-height-level-indicator-986872>: HTTP status code is not handled or not allowed 2026-01-28 15:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-24-l-x-1-1-4-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 15:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-48w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-rectangular-amber-clear-low-profile-strobe-lght-12v-6-leds-8891902>: HTTP status code is not handled or not allowed 2026-01-28 15:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9550-15ex-12-inch-diameter-statically-conductive-ducting-15-length>: HTTP status code is not handled or not allowed 2026-01-28 15:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-face-out-w-disc-at-end-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-amber-flood-light-12-24vdc-54-leds-1492111>: HTTP status code is not handled or not allowed 2026-01-28 15:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-36-l-x-1-4-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 15:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-24w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-knife-bracket-shiny-black>: HTTP status code is not handled or not allowed 2026-01-28 15:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-square-clear-flood-light-24-24vdc-9-leds-1492119>: HTTP status code is not handled or not allowed 2026-01-28 15:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transparent-pvc-covers-letter-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-plastic-binding-combs-letter-size-55-sheet-capacity-3-8-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-white-video-book-shelf>: HTTP status code is not handled or not allowed 2026-01-28 15:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-sbr-roll-720-l-x-16-w-x-1-4-thick-black-75a>: HTTP status code is not handled or not allowed 2026-01-28 15:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-720-l-x-12-w-x-3-32-thick-black-60a>: HTTP status code is not handled or not allowed 2026-01-28 15:11:53 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-304-stainless-steel-locker-12w-x-18d-x-78h-six-tier-1-wide-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 15:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-60w-x-36d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 117845 pages (at 95 pages/min), scraped 57074 items (at 12 items/min) 2026-01-28 15:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-48w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-elliptical-egg-shaped-magnetic-stirring-bar-318-x-159mm-white>: HTTP status code is not handled or not allowed 2026-01-28 15:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-aluminum-topside-truck-box-18x16x90-1721565>: HTTP status code is not handled or not allowed 2026-01-28 15:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-grid-hook-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-bar-24-l-x-1-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 15:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durable-visifix-flip-business-card-rotary-file>: HTTP status code is not handled or not allowed 2026-01-28 15:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-24-l-x-12-w-x-3-16-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 15:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-underbed-truck-box-24x24x24-gray-1735130>: HTTP status code is not handled or not allowed 2026-01-28 15:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-bar-24-l-x-4-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 15:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/medical-lab/laboratory_heating_cooling/laboratory_hotplates_stirrers>: HTTP status code is not handled or not allowed 2026-01-28 15:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grit-surface-aluminum-stair-tread-9-d-42-w-glued-down-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 15:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cable-truck-step-perforated-step-12-inch-wx12-inch-h-5231212>: HTTP status code is not handled or not allowed 2026-01-28 15:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-square-clear-flood-light-12-24vdc-5-leds-1492117>: HTTP status code is not handled or not allowed 2026-01-28 15:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/480-600v-clamp-on-breaker-lockout-cleat-7257>: HTTP status code is not handled or not allowed 2026-01-28 15:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-19-7-8-x-36-x-17-1-2-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-4-way-rack-satin-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sample-thief-475ml-41-1-2-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/competitor-ventilated-three-tier-locker-starter-1-wide-12w-x-12d-x-24h-unassembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 15:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-36-l-x-2-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 15:12:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/hvac/roof_pipe_heating_cables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-diaper-pin-rod>: HTTP status code is not handled or not allowed 2026-01-28 15:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-cleaner-lubricating-spray>: HTTP status code is not handled or not allowed 2026-01-28 15:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-21605b-60w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/180016-seu-td-1-relay-std-screw-terminals-110v>: HTTP status code is not handled or not allowed 2026-01-28 15:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/height-adjustable-cafe-table-pneumatic-32-round-white>: HTTP status code is not handled or not allowed 2026-01-28 15:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-maple-safety-edge-packaging-bench-with-caster-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-480-l-x-36-w-x-1-2-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 15:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cuso4db-h-nd-led-outdoor-emer-light-w-heater-4000k-nicad-batt-wet-loc-dk-bronze>: HTTP status code is not handled or not allowed 2026-01-28 15:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-4-person-wall-locker-starter-45w-x-18d-x-13h-unassembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 15:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-240-l-x-36-w-x-1-16-thick-red-food-70a-high-temp-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 15:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/hvac/roof_pipe_heating_cables>: HTTP status code is not handled or not allowed 2026-01-28 15:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-w-push-trolley-1-2-ton-20-lift-25-4-2-ft-min-460v>: HTTP status code is not handled or not allowed 2026-01-28 15:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/134007-rmc-coded-non-contact-switch-wled-10m-2nc-1no>: HTTP status code is not handled or not allowed 2026-01-28 15:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-sheet-12-l-x-12-w-x-3-32-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-28 15:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-sheet-36-l-x-12-w-x-1-32-thick-black-high-strength-90a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 15:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/143002-glm-rope-pull-switch-2nc-1no-12npt>: HTTP status code is not handled or not allowed 2026-01-28 15:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-15w-x-15d-x-36h-unassembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-stainless-steel-square-edge-mobile-production-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-maple-safety-edge-mobile-production-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/competitor-ventilated-three-tier-locker-3-wide-12w-x-12d-x-24h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 15:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/404201-rfid-coded-non-contact-switch-lp-replacement-act-master>: HTTP status code is not handled or not allowed 2026-01-28 15:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-five-tier-locker-3-wide-12w-x-15d-x-12h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 15:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-1-8-ton-10-lift-56-9-3-ft-min-115v>: HTTP status code is not handled or not allowed 2026-01-28 15:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/144022a-gls-ss-rope-pull-switch-we-stopsled-std-act-2nc-2no-ss>: HTTP status code is not handled or not allowed 2026-01-28 15:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-single-tier-locker-2-wide-12w-x-12d-x-60h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 15:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-dia-round-folding-rack-rectangular-tubing-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 15:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/144004-gls-ss-rope-pull-switch-2nc-2no-12npt-ss>: HTTP status code is not handled or not allowed 2026-01-28 15:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-single-tier-locker-2-wide-12w-x-15d-x-72h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 15:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-1-8-ton-15-lift-56-9-3-ft-min-460v>: HTTP status code is not handled or not allowed 2026-01-28 15:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-polypropylene-sterilizing-tray-19-x-10-1-2-x-5>: HTTP status code is not handled or not allowed 2026-01-28 15:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-thin-line-tap-in-shelf-bracket-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-w-push-trolley-1-ton-15-lift-23-3-8-ft-min-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/SVTR-1872-18-W-x-72-D-T-430-18-ga-Stainless-Steel-Workbench-with-a-15-backsplash>: HTTP status code is not handled or not allowed 2026-01-28 15:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eq-dual-speed-electric-chain-hoist-w-push-trolley-1-ton-10-lift-23-3-8-ft-min-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-36-w-x-3-32-thick-black-high-strength-90a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 15:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/max-attach-polymagnet-rare-earth-disc-0-75-dia-x-0-06-thick>: HTTP status code is not handled or not allowed 2026-01-28 15:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-double-sided-starter-unit-1>: HTTP status code is not handled or not allowed 2026-01-28 15:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-12-l-x-12-w-x-3-8-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-28 15:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-hook-and-loop-wrist-stap-09078-with-6-ft-coil-cord-black>: HTTP status code is not handled or not allowed 2026-01-28 15:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-12-l-x-12-w-x-1-2-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-28 15:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stopper-tubing-sizer>: HTTP status code is not handled or not allowed 2026-01-28 15:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-knife-bracket-satin-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-faucet-supply-line-3-8-od-x-3-8-od-x-12>: HTTP status code is not handled or not allowed 2026-01-28 15:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-w-shoulder-10-32-3-8-thread-1-2-head-dia-stainless-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 15:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-w-shoulder-4-40-1-4-thread-3-8-head-dia-steel-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 15:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-bellows-plunger>: HTTP status code is not handled or not allowed 2026-01-28 15:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-z2-8482-42465-dissipative-3-layer-vinyl-mat-kit-24-d-x-48-w-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-1-16-thick-black-high-strength-90a-bulk-rs-h90-14>: HTTP status code is not handled or not allowed 2026-01-28 15:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-z2-8482-42550-dissipative-3-layer-vinyl-mat-16-d-x-24-w-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-w-shoulder-m4-x-0-7-9mm-thread-11-1mm-head-dia-stainless-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 15:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-head-thumb-screw-10-32-1-1-4-thread-1-4-head-dia-1-2-head-h-ss-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 15:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-style-double-bar-rack-topper-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-center-shelf-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-heavy-weight-single-slot-w-1-2-slots-on-1-centers-satin-zinc>: HTTP status code is not handled or not allowed 2026-01-28 15:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-head-t-knob-thumb-screw-5-16-18-1-14-thread-1-77-head-dia-94-head-h-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 15:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recessed-toilet-seat-cover-dispenser-500-seat-covers-584-000000>: HTTP status code is not handled or not allowed 2026-01-28 15:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-96x48-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 15:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-1709-3-tier-iron-condiment-display-with-clear-bins-12-inch-w-x-18-inch-d-x-22-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-2050-java-jacket-dispenser-5-3-4-inch-w-x-12-inch-d-x-3-3-4-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 117941 pages (at 96 pages/min), scraped 57092 items (at 18 items/min) 2026-01-28 15:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-shower-curtain-rod-stainless-steel-9539-036000>: HTTP status code is not handled or not allowed 2026-01-28 15:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-94dv2a-n5-division-2-xenon-strobe-amber-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 15:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-two-bay-13>: HTTP status code is not handled or not allowed 2026-01-28 15:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-three-bay-3>: HTTP status code is not handled or not allowed 2026-01-28 15:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-1440-l-x-36-w-x-3-8-thick-black-high-strength-90a>: HTTP status code is not handled or not allowed 2026-01-28 15:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-95b-n5-xenon-strobe-with-horn-blue-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 15:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-netting-one-bay-17>: HTTP status code is not handled or not allowed 2026-01-28 15:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-led-dock-light-16w-with-40-arm>: HTTP status code is not handled or not allowed 2026-01-28 15:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-anywhere-basket-12-6-6-w>: HTTP status code is not handled or not allowed 2026-01-28 15:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/osc-300-oil-water-separator-635-cfm-10-ppm-3-4-npt-outlet-organoclay>: HTTP status code is not handled or not allowed 2026-01-28 15:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/osc-625-oil-water-separator-1323-cfm-10-ppm-3-4-npt-outlet-organoclay>: HTTP status code is not handled or not allowed 2026-01-28 15:13:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4403t-60-hp-1185-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-protector-organizer-17-x-21-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:13:04 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/66000-lab-x-series-extra-wide-blood-drawing-chair-with-padded-arms>: HTTP status code is not handled or not allowed 2026-01-28 15:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-csswdm3541-75-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55433-inner-housing-elite-machined-for-56-in-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 15:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aigner-wr-1212-clear-label-holder-wire-shelf-1-1-4-h-x-12-w-with-paper-insert-12-pc>: HTTP status code is not handled or not allowed 2026-01-28 15:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/support-ring-m24-o-d-x-17mm-i-d-x-1-50mm-thick-spring-steel-din-988>: HTTP status code is not handled or not allowed 2026-01-28 15:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-m-118-494-or-b-494-color-polyester-labels-0-375-h-x-1-w-orange-white-240-roll>: HTTP status code is not handled or not allowed 2026-01-28 15:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dixon-ticonderoga-yellow-pencil-woodcase-2-5-black-lead-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-nyl-red-38st-kd6pk-safekey-lockout-padlock-nylon-1-5-steel-shackle-key-different>: HTTP status code is not handled or not allowed 2026-01-28 15:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30652-o-ring-9-mm-x-15-mm-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 15:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-chrome-divider-solid-shelves-24-d-x-8-h>: HTTP status code is not handled or not allowed 2026-01-28 15:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-10-bu-red-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 15:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_tube_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screen-cloth-1-1-2-x-25-yds>: HTTP status code is not handled or not allowed 2026-01-28 15:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/rubber/rubber_rolls>: HTTP status code is not handled or not allowed 2026-01-28 15:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-j20-260-2595-153-vinyl-label-3-35-h-x-2-17-w-340-roll-white>: HTTP status code is not handled or not allowed 2026-01-28 15:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-odp-motor-5-hp-1755-rpm-208-230-460v-odp>: HTTP status code is not handled or not allowed 2026-01-28 15:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-24-bu-navy-blue-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 15:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms90-b2020-90-shade-cloth-shade-tarp-20-x-20>: HTTP status code is not handled or not allowed 2026-01-28 15:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smokers-pole-silver-metallic-4-dia-x-42-5-h>: HTTP status code is not handled or not allowed 2026-01-28 15:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-18-bu-navy-blue-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 15:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-8-thick-4-w-corrugated-rubber-runner-custom-cut>: HTTP status code is not handled or not allowed 2026-01-28 15:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marble-plus-plumbers-putty-3-lb>: HTTP status code is not handled or not allowed 2026-01-28 15:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purpose-primer-cleaner-clear-1-pt>: HTTP status code is not handled or not allowed 2026-01-28 15:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-test-plugs-6>: HTTP status code is not handled or not allowed 2026-01-28 15:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-self-adjusting-steel-pipe-wrench>: HTTP status code is not handled or not allowed 2026-01-28 15:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-lightweight-aluminum-tinner-snips>: HTTP status code is not handled or not allowed 2026-01-28 15:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banner-safety-protects-people-quality-protects-jobs-3-x-10>: HTTP status code is not handled or not allowed 2026-01-28 15:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banner-watch-forkli-s-3-x-10>: HTTP status code is not handled or not allowed 2026-01-28 15:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp2332t-10-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banner-the-safe-way-is-the-only-way-3-x-5>: HTTP status code is not handled or not allowed 2026-01-28 15:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bead-breaking-wedge-51136>: HTTP status code is not handled or not allowed 2026-01-28 15:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-10-bu-black-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 15:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-motor-1-5-hp-1075-rpm-115v-oao-42y-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fans-motor-1-2-hp-825-rpm-208-230v-teao-48y-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-52b-n5-40wh-rotating-beacon-blue-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 15:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-foot-outdoor-steel-bench-with-backrest-perforated-metal-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledsy240a-smd-steady-led-module-and-light-source-yellow-240v-ac>: HTTP status code is not handled or not allowed 2026-01-28 15:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/removable-repositionable-tape-9425-case-1-2-x-72-yds-10-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/generac-rg04845jnac-48kw-120-240-3-phase-liquid-cooled-protector-qs-generator-ng-lp-alum-encl>: HTTP status code is not handled or not allowed 2026-01-28 15:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4111t-25-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-coated-tape-9579-1-x-36-yds-12-7-mil-white>: HTTP status code is not handled or not allowed 2026-01-28 15:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1010546-flip-out-bin-mobile-parts-cart-single-sided-with-40-bins>: HTTP status code is not handled or not allowed 2026-01-28 15:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-single-phase-tefc-motor-3-hp-3450-rpm-208-230v-tefc>: HTTP status code is not handled or not allowed 2026-01-28 15:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1010500-bin-compartment-case-1-sided-11-locking-bins-15-1-2-l-x-16-w-x-2-3-4-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-condenser-fans-motor-1-2-hp-1075-rpm-208-230v-teao>: HTTP status code is not handled or not allowed 2026-01-28 15:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-permanent-adhesive-backing-clear-matte-package-qty-12>: HTTP status code is not handled or not allowed 2026-01-28 15:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-counterbalanced-cart-5>: HTTP status code is not handled or not allowed 2026-01-28 15:13:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelf_liners already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-x-24-clear-snap-on-package-qty-6>: HTTP status code is not handled or not allowed 2026-01-28 15:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-x-12-clear-snap-on-package-qty-12>: HTTP status code is not handled or not allowed 2026-01-28 15:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidguard-2-lift-off-welded-wire-panel-4-w-x-8-h-panel>: HTTP status code is not handled or not allowed 2026-01-28 15:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ebm3546t-1-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4104t-30-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4104t-4-30-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s90-series-manual-chain-hoist-1-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freeman-professional-fine-wire-stapler>: HTTP status code is not handled or not allowed 2026-01-28 15:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ssc-series-electric-chain-hoist-2-ton-20-ft-lift-230v-460v>: HTTP status code is not handled or not allowed 2026-01-28 15:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-vellum-bristol-color-cover-8-1-2in-x-11in-67lb-goldenrod-250-sheets-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-tefc-motor-2-hp-1760-rpm-230-460v-tefc>: HTTP status code is not handled or not allowed 2026-01-28 15:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-96wx48dx84h-4-levels-starter-no-decking-620-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-drum-dumper-portable-4>: HTTP status code is not handled or not allowed 2026-01-28 15:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/shelving_accessories/shelf_liners>: HTTP status code is not handled or not allowed 2026-01-28 15:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ceswdm3714t-10-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/counter-height-industrial-cabinet-36-w-x-24-d-x-45-h-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-plus-photo-paper-4in-x-6in-white-100-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-unit-heater-motor-1-6-hp-1075-rpm-115v-teao>: HTTP status code is not handled or not allowed 2026-01-28 15:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bold-digital-printing-paper-white-11in-x-17in-24-lb-500-sheets-ream>: HTTP status code is not handled or not allowed 2026-01-28 15:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brute-ii-r410a-manifold-hose>: HTTP status code is not handled or not allowed 2026-01-28 15:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-valve-flow-screw-adjustment-1-4-tube-x-1-4-universal-thread-3-4-l>: HTTP status code is not handled or not allowed 2026-01-28 15:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transformer-cooling-fan-motor-1-3-hp-1075-rpm-115-200-230v-teao>: HTTP status code is not handled or not allowed 2026-01-28 15:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-filler-11-x-8-1-2-white-plain-paper>: HTTP status code is not handled or not allowed 2026-01-28 15:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/matte-presentation-paper-bright-white-13in-x-19in-100-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118038 pages (at 97 pages/min), scraped 57105 items (at 13 items/min) 2026-01-28 15:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/auger-drive-motor-1-hp-1725-rpm-115-230v-tefc>: HTTP status code is not handled or not allowed 2026-01-28 15:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-classic-full-size-housekeeping-cart-1>: HTTP status code is not handled or not allowed 2026-01-28 15:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-48-inch-w-x-18-inch-d-x-84-inch-h-7-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-shelving-42-inch-w-x-30-inch-d-x-84-inch-h-4-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-indus-wrk-shirt-lng-slv-chocolate-brwn-lng-l-sp14>: HTTP status code is not handled or not allowed 2026-01-28 15:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-48-inch-d-x-84-inch-h-3-levels-starter-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 15:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-72wx30dx84h-4-levels-add-on-no-decking-1000-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-deck-30-x36>: HTTP status code is not handled or not allowed 2026-01-28 15:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/length-divider-442199-442200-price-per-pkg-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-36-inch-w-x-18-inch-d-x-84-inch-h-7-levels-starter-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cd3425-0-25-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toolbox-t700-white-jumbo-roll-870-sheets-roll-1-roll-case-78300>: HTTP status code is not handled or not allowed 2026-01-28 15:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-48-inch-w-x-48-inch-d-x-84-inch-h-3-levels-starter-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 15:14:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-jsm3111-75-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-keyless-entry-lock-36-w-x-24-d-x-78-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-aluminum-foil-rolls-1>: HTTP status code is not handled or not allowed 2026-01-28 15:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-polymer-shelf-with-solid-mat-24-w-x-21-d>: HTTP status code is not handled or not allowed 2026-01-28 15:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-broom-cabinet-60-w-x-24-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-heavyweight-vinyl-sheet-protector-clear-11-x-8-1-2-50-bx>: HTTP status code is not handled or not allowed 2026-01-28 15:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-18-quick-connect-wet-dry-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-tire-storage-shelving-60-inch-w-x-21-inch-d-x-84-inch-h-3-levels-add-on-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-4-shelves-60-w-x-24-d-x-75-h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-4-shelves-48-w-x-24-d-x-75-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-jml1512t-10-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-series-clear-lid-for-qus236-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 15:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-36-inch-d-1-level-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 15:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-jm3457-33-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-y-1-4-tube-1-3-7-l>: HTTP status code is not handled or not allowed 2026-01-28 15:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-canvas-functional-cargo-pant-black-wp80-38x34-wp80bk3834>: HTTP status code is not handled or not allowed 2026-01-28 15:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-16-w-x-20-h-x-4-d-6-ctn>: HTTP status code is not handled or not allowed 2026-01-28 15:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-24-inch-d-x-84-inch-h-3-levels-add-on-w-o-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 15:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-48-inch-w-x-18-inch-d-x-84-inch-h-3-levels-add-on-w-wood-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 15:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-3-8-l-x-11-w-x-3-h-ultra-series-stack-and-hang-bin-ivory-polyethylene-3-slots>: HTTP status code is not handled or not allowed 2026-01-28 15:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-acid-brush-144-case-27244>: HTTP status code is not handled or not allowed 2026-01-28 15:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maximatic-9-sponge-mop-refill-12-case-94223>: HTTP status code is not handled or not allowed 2026-01-28 15:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-wire-shelving-spill-containment-system-4-shelves-trays-36-w-x-18-d-x-84-h-starter-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxiplus-microfiber-polishing-cloths-yellow-180-case-6068-180>: HTTP status code is not handled or not allowed 2026-01-28 15:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combi-oven-41-3-8-w-x-52-3-8-d-x-40-9-16-h-208-240v-90-9a-10-shelves-manual-controls>: HTTP status code is not handled or not allowed 2026-01-28 15:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-particle-board-decking-60-inch-w-x-24-inch-d-x-5-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-piece-super-stacker-cribbing-set-15253>: HTTP status code is not handled or not allowed 2026-01-28 15:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pyramid-surface-cribbing-6-7-12-15236>: HTTP status code is not handled or not allowed 2026-01-28 15:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-8mm-tube-x-3-8-swift-fit-universal-thread-7-8-l>: HTTP status code is not handled or not allowed 2026-01-28 15:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-it-jack-plate-27-24-2-14503>: HTTP status code is not handled or not allowed 2026-01-28 15:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-particle-board-decking-42-inch-w-x-30-inch-d-x-5-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-particle-board-decking-42-inch-w-x-15-inch-d-x-5-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-run-tee-1-8-tube-x-1-4-swift-fit-universal-thread-2-3-l>: HTTP status code is not handled or not allowed 2026-01-28 15:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l3605t-50-2-hp-1425-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-ball-valve-male-x-female-1-8-nptf-1-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 15:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/step-stool-7764-hr-24-x-36-double-step-and-handrails-mri-safe>: HTTP status code is not handled or not allowed 2026-01-28 15:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-high-speed-floor-pads-natural-24>: HTTP status code is not handled or not allowed 2026-01-28 15:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-external-crescent-ring-stamped-carbon-spring-steel-phosphate>: HTTP status code is not handled or not allowed 2026-01-28 15:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-floor-pads-black-21>: HTTP status code is not handled or not allowed 2026-01-28 15:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xactasaw-deluxe-5hp-1ph-50-rip>: HTTP status code is not handled or not allowed 2026-01-28 15:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-knob-adjustment-1-2-tube-x-3-8-swift-fit-universal-thread-1-2-7-l>: HTTP status code is not handled or not allowed 2026-01-28 15:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basket-for-xtra-st1400h>: HTTP status code is not handled or not allowed 2026-01-28 15:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iv-stand-tru-loc-153-black-74-110-h-8-hook>: HTTP status code is not handled or not allowed 2026-01-28 15:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-flow-knob-adjustment-5mm-tube-x-1-8-universal-thread-5-6-l>: HTTP status code is not handled or not allowed 2026-01-28 15:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-pf-43-1hp-1ph-115v-4-speed-4-wheel>: HTTP status code is not handled or not allowed 2026-01-28 15:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-station-pedestal-lodi-scrub-sink-with-eyewash-and-digital-timer-knee-action-control>: HTTP status code is not handled or not allowed 2026-01-28 15:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1524t-5-2-2-hp-1725-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lx-20181b9118r-extreme-heavy-metal-cutting-saw-blade-18tpi-9-x-1-x-042-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104341-toughstripe-floor-marking-tape-polyester-3-inches-wide-by-100-feet-long-white>: HTTP status code is not handled or not allowed 2026-01-28 15:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-crew-shirt-long-sleeve-regular-m-charcoal-royal-blue-sy10>: HTTP status code is not handled or not allowed 2026-01-28 15:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-men-s-size-6-15-h-composite-safety-toe-chevron-plus-sole-red>: HTTP status code is not handled or not allowed 2026-01-28 15:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charcoal-outdoor-chair-18-w-23-d-35-h>: HTTP status code is not handled or not allowed 2026-01-28 15:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-fdl3501m-33-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blended-duck-zip-front-hooded-jacket-regular-xl-brown-duck-jd20>: HTTP status code is not handled or not allowed 2026-01-28 15:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3582t-1-hp-1155-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-shop-coat-long-sleeve-regular-50-navy-kt30>: HTTP status code is not handled or not allowed 2026-01-28 15:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-knee-boot-men-s-size-9-15-h-steel-toe-cleated-outsole-white>: HTTP status code is not handled or not allowed 2026-01-28 15:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71583-24-inch-commercial-wall-fan-oscillating-1-4-hp-4400-cfm>: HTTP status code is not handled or not allowed 2026-01-28 15:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-overhead-cabinet-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 15:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-cylinder-flow-screw-1-2-tube-x-1-2-universal-thread-1-3-8-l>: HTTP status code is not handled or not allowed 2026-01-28 15:14:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foxhill-all-weather-commercial-grade-aluminum-lounge-chair-with-sunbrella-sling-fabric>: HTTP status code is not handled or not allowed 2026-01-28 15:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrowcade-barricade-sign-stand-45-h-with-2-panel-2-sheetings-1>: HTTP status code is not handled or not allowed 2026-01-28 15:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycling-cube-truck-box-truck-12-bushel>: HTTP status code is not handled or not allowed 2026-01-28 15:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-bin-holder-steel-light-green-proform>: HTTP status code is not handled or not allowed 2026-01-28 15:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-inline-filter-1-4-tube-mtl-fkm-2-4-7-l>: HTTP status code is not handled or not allowed 2026-01-28 15:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulletin-bar-self-sealing-cork-aluminum-frame-36-wide-49534>: HTTP status code is not handled or not allowed 2026-01-28 15:14:56 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118133 pages (at 95 pages/min), scraped 57121 items (at 16 items/min) 2026-01-28 15:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/giant-push-pin-150-length-12-pack-assorted-92902>: HTTP status code is not handled or not allowed 2026-01-28 15:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-eco-elite-4-wx6-l-grey-ash>: HTTP status code is not handled or not allowed 2026-01-28 15:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64221-pneumatic-quick-disconnect-lockout>: HTTP status code is not handled or not allowed 2026-01-28 15:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basket-7-1-2-w-x-17-2-8-d-x-5-h-steel-light-green-proform>: HTTP status code is not handled or not allowed 2026-01-28 15:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmp21-series-self-laminating-polyester-labels-1-2-black-white-m21-500-461>: HTTP status code is not handled or not allowed 2026-01-28 15:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-lightweight-knee-boot-men-s-size-7-15-h-plain-toe-cleated-outsole-black>: HTTP status code is not handled or not allowed 2026-01-28 15:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-eco-elite-fashion-4-wide-5-up-to-60-chestnut-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-lightweight-knee-boot-men-s-size-8-15-h-plain-toe-cleated-outsole-black>: HTTP status code is not handled or not allowed 2026-01-28 15:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-screw-adjustment-1-8-tube-x-10-32-swift-fit-universal-thread-1-l>: HTTP status code is not handled or not allowed 2026-01-28 15:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-4-white-corrugated-boxes-200lb-test-ect-32>: HTTP status code is not handled or not allowed 2026-01-28 15:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/presto-p4-floor-level-pallet-loader-2500-lb-cap-foot-control-52-x-48>: HTTP status code is not handled or not allowed 2026-01-28 15:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp84314t-4-60-hp-1780-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultragravel-bag-roll-form-green-continuous-roll-11-x-250-yards>: HTTP status code is not handled or not allowed 2026-01-28 15:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2513t-8-15-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bleeding-control-kit-texas-mandate-fabric-red-13-pieces>: HTTP status code is not handled or not allowed 2026-01-28 15:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-3-plastic-bandages-100-box>: HTTP status code is not handled or not allowed 2026-01-28 15:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-u-tube-175000-btu-40l>: HTTP status code is not handled or not allowed 2026-01-28 15:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g2-pvc-overshoe-size-large-17-h-cleated-outsole-black-with-red-sole>: HTTP status code is not handled or not allowed 2026-01-28 15:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverallzipper-fronthoodelastic-wrist-and-ankleserged-seamstormflapyellowlg>: HTTP status code is not handled or not allowed 2026-01-28 15:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-positive-pressure-u-tube-100000-btu-30l>: HTTP status code is not handled or not allowed 2026-01-28 15:15:09 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/safety/safety_signs_tags/safety_labels landed on page that is not a product page. 2026-01-28 15:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2276t-7-5-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-strap-kit-for-led-modular-light-bar-ford-f-150-2015-3034400>: HTTP status code is not handled or not allowed 2026-01-28 15:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2524t-15-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-filter-packs-classic-roast-1-4-oz-pack-40-carton>: HTTP status code is not handled or not allowed 2026-01-28 15:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metalout-bag-3-mm-18-x-24-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-knee-boot-men-s-size-5-15-h-steel-toe-cleated-outsole-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taster-s-choice-stick-pack-house-blend-06-oz-480-carton>: HTTP status code is not handled or not allowed 2026-01-28 15:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-shoe-covers-medium-ankle-height-blue-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-14in-red-surface-mount-ultra-thin-led-strobe-light-8892203>: HTTP status code is not handled or not allowed 2026-01-28 15:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35mm-economy-rainsuits-yellow-35mm-pvc-on-polyester-lg>: HTTP status code is not handled or not allowed 2026-01-28 15:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ectm4110t-40airover-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-safe-stumpy-pour-spout-lid-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-safe-premium-hand-pump-purple>: HTTP status code is not handled or not allowed 2026-01-28 15:15:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rain-jacket-size-men-s-extra-small-attached-hood-green>: HTTP status code is not handled or not allowed 2026-01-28 15:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-engine-support-bar-otc4324>: HTTP status code is not handled or not allowed 2026-01-28 15:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truck-cone-kit-amm8113277c>: HTTP status code is not handled or not allowed 2026-01-28 15:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-black-front-pullover-hi-visibility-t-shirt-lime-polyester-4xl>: HTTP status code is not handled or not allowed 2026-01-28 15:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyweight-insulated-hoodie-black-polyester-cotton-l>: HTTP status code is not handled or not allowed 2026-01-28 15:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quicksnapuniversal-slot-adaptor-fits-29mm-to-33mm-slotted-safety-caps-black>: HTTP status code is not handled or not allowed 2026-01-28 15:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visor-bracket-for-safety-cap-mount-vb-10-black>: HTTP status code is not handled or not allowed 2026-01-28 15:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xenonsafety-glasses-sg-14c-af-clear-afpc-lens-black-framered-tips>: HTTP status code is not handled or not allowed 2026-01-28 15:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-led-directional-warning-light-bar-8894037>: HTTP status code is not handled or not allowed 2026-01-28 15:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-storm-sewer-8>: HTTP status code is not handled or not allowed 2026-01-28 15:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-coverall-zipper-front-elastic-wrist-ankle-stormflap-white-lg>: HTTP status code is not handled or not allowed 2026-01-28 15:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tops-horizontal-ruled-easel-pad-50-sheet-15-lb-ruled-27-x-34-2-carton-white-paper>: HTTP status code is not handled or not allowed 2026-01-28 15:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/plumbing_parts_accessories/pipe_hose_tubing_accessories/pipe_markers>: HTTP status code is not handled or not allowed 2026-01-28 15:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-mounts-for-flood-and-spot-lights-1492106>: HTTP status code is not handled or not allowed 2026-01-28 15:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500rc-suit-hanger-heavy-weight-wmetal-clips-17l-plastic-cl-pkg-qty-100>: HTTP status code is not handled or not allowed 2026-01-28 15:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1875in-red-round-dot-bolt-on-reflectors-5623316>: HTTP status code is not handled or not allowed 2026-01-28 15:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-mag-bit-holder-1pc-stainless-w-c-ring-x-4-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pants-black-polyurethane-on-75-denier-ripstop-polyester-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-tables-60-x-30-walnut>: HTTP status code is not handled or not allowed 2026-01-28 15:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evx-s24-two-way-radio-2-watt-analog-3-watt-digital-256-channel-uhf-403-470-mhz-black>: HTTP status code is not handled or not allowed 2026-01-28 15:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-to-3-1-2-33-degree-paper-tape-framing-nailer>: HTTP status code is not handled or not allowed 2026-01-28 15:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-mag-bit-holder-1pc-stainless-steel-w-c-ring-x-2-3-8>: HTTP status code is not handled or not allowed 2026-01-28 15:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-rm3154a-1-5-hp-1735-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/km1-hanger-economy-intimate-apparel-10l-plastic-cl-pkg-qty-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6212b-skirtslack-hanger-pinch-grip-wsoft-pads-12l-plastic-bk-pkg-qty-200>: HTTP status code is not handled or not allowed 2026-01-28 15:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-16-mag-nutsetter-x-6-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 15:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-aluminum-narrow-aisle-platform-truck-1322-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fellowes-9-in-neutron-rotary-trimmer>: HTTP status code is not handled or not allowed 2026-01-28 15:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-line-voltage-thermostat-infrared-tube-heaters>: HTTP status code is not handled or not allowed 2026-01-28 15:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2610pclh-skirtslack-hanger-infant-super-heavy-weight-wlong-hook-and-plastic-clipsplastic-bk>: HTTP status code is not handled or not allowed 2026-01-28 15:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-16-mag-nutsetter-x-1-3-4-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 15:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15300-visitor-arrivaldeparture-chime-battery-operated-2-34w-x-2d-x-4-14h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-device-desktop-ac-charging-station-for-tablets-laptops-and-e-readers>: HTTP status code is not handled or not allowed 2026-01-28 15:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1-4-x-131-smooth-shank-21-degree-plastic-collated-stick-framing-nails-coated-finish-4000-qty>: HTTP status code is not handled or not allowed 2026-01-28 15:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vem3545-1-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-magnetic-whiteboard-48-w-x-48-h-steel-surface-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-trailer-coupler-lock-fits-most-389dat>: HTTP status code is not handled or not allowed 2026-01-28 15:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tray-fast-food-14x18-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pick-shelving-5-level-single-straight-78-h-x-50-w-x-24-d-add-on>: HTTP status code is not handled or not allowed 2026-01-28 15:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electrical-rated-gloves-black-11-unlined-smooth-finish-beaded-class-0-8>: HTTP status code is not handled or not allowed 2026-01-28 15:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tray-camtread-9-round-black>: HTTP status code is not handled or not allowed 2026-01-28 15:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-venm3581t-1-hp-1745-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-2-power-bit-x-2-extra-hard-s2-modified-steel-black-manganese-phosphate>: HTTP status code is not handled or not allowed 2026-01-28 15:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-x-close-welded-pipe-nipple-schedule-40-316-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/split-cowhide-drivers-premium-grade-keystone-thumb-gray-s>: HTTP status code is not handled or not allowed 2026-01-28 15:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-wiring-electrical-switch-761219>: HTTP status code is not handled or not allowed 2026-01-28 15:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-714-razor-blade8-scraper-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-aluminum-sign-caution-confined-space-use-lockout-entry-procedures>: HTTP status code is not handled or not allowed 2026-01-28 15:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-container-solid-wall-48x40x31-short-side-runners-green-1500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118229 pages (at 96 pages/min), scraped 57134 items (at 13 items/min) 2026-01-28 15:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pure-740c-cross-cut-shredder-25-27-sheet-38-3-gallon-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 15:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-base-panel-24-w-x-38-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-chain-hoist-with-overload-protection-1-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peapod-mini-8-15-locking-bike-shelter-21-10-l-x-7-5-w-15-bike-capacity-barrel-roof>: HTTP status code is not handled or not allowed 2026-01-28 15:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vecp82394t-4-15-hp-3510-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gtek-maxiflex-ii-black-microfoam-nitrile-coated-palm-full-finger-l>: HTTP status code is not handled or not allowed 2026-01-28 15:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-danger-keep-off>: HTTP status code is not handled or not allowed 2026-01-28 15:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-15-insert-bit-x-1-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 15:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gtek-maxicool-ultra-light-weight-blue-foam-nitrile-dip-white-s>: HTTP status code is not handled or not allowed 2026-01-28 15:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m3607t-1-5-hp-1165-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xconcrete-st-car-stop-installation-hardware-for-concrete-installation>: HTTP status code is not handled or not allowed 2026-01-28 15:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2004-w-hiplr-6-all-plastic-crowd-control-barricade-w-rubber-feet-interlocking-white>: HTTP status code is not handled or not allowed 2026-01-28 15:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esp-kit-1-pair-esp-glove-1-pair-cow-protector-class-2-size-11>: HTTP status code is not handled or not allowed 2026-01-28 15:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/111-t12-c8-eg-all-plastic-maintenance-free-type-ii-traffic-barricade-white-foldable>: HTTP status code is not handled or not allowed 2026-01-28 15:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-tamper-20-power-bit-x-2-3-4-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 15:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m3534-33-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-turbo-rim-diamond-blade-for-smooth-cuts-0087segment-thick>: HTTP status code is not handled or not allowed 2026-01-28 15:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-bevel-slide-miter-saw-8-12-blade-dia-18h>: HTTP status code is not handled or not allowed 2026-01-28 15:16:08 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esp-kit-1-pair-esp-glove-1-pair-cow-protector-class-1-size-10>: HTTP status code is not handled or not allowed 2026-01-28 15:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-36w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esp-kit-1-pair-esp-glove-1-pair-goat-protector-class-0-size-12>: HTTP status code is not handled or not allowed 2026-01-28 15:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mig-tig-welders-gloves-top-grain-goatskin-wing-thumb-4-length-leather-m>: HTTP status code is not handled or not allowed 2026-01-28 15:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-starter-unit-48w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-15-power-bit-x-2-gunmetal-bronze-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-36-2x-to-4-5x-magniview>: HTTP status code is not handled or not allowed 2026-01-28 15:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-6-dia-round-floor-drain-wscrews-brass>: HTTP status code is not handled or not allowed 2026-01-28 15:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-add-on-unit-60w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-10-x-10-square-floor-drain-wscrews-nickel>: HTTP status code is not handled or not allowed 2026-01-28 15:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/furniture_parts_accessories/partition_accessories>: HTTP status code is not handled or not allowed 2026-01-28 15:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-enamel-gloss-white-32-oz-pail-1-case-31000-4>: HTTP status code is not handled or not allowed 2026-01-28 15:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vnm3541-75-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anual-label-dispenser-for-up-to-10w-labels-table-or-wall-mount>: HTTP status code is not handled or not allowed 2026-01-28 15:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-foot-patio-umbrella-olefin-royal-blue-bronze-pole-venture>: HTTP status code is not handled or not allowed 2026-01-28 15:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdm3584t-1-5te-hp-6000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mh-2d-2448-hdfl-48-w-mobile-bench-cabinets-heavy-duty-drawer-hardboard-top-2-doors>: HTTP status code is not handled or not allowed 2026-01-28 15:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-foot-patio-umbrella-olefin-sunset-hardwood-pole-grove>: HTTP status code is not handled or not allowed 2026-01-28 15:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-thermostatic-controller-ght2002j-5-20-15-amps-max-20-amp-plug>: HTTP status code is not handled or not allowed 2026-01-28 15:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-starter-unit-60w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refill-for-60-gallon-spillpack-spill-kit-universal-1460-rf>: HTTP status code is not handled or not allowed 2026-01-28 15:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-eccentric-stud-1-1-4-l-stud-075-w-roller-125-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ip65-blue-smart-battery-charger-with-bluetooth-12v-15a-1-120v-nema-abs-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-starter-unit-48w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-1-3-4-l-stud-1-w-roller-175-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-notice-employees-only-3>: HTTP status code is not handled or not allowed 2026-01-28 15:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-latch-container-lid-black-lid1915-bk>: HTTP status code is not handled or not allowed 2026-01-28 15:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-eccentric-stud-1-3-4-l-stud-1-w-roller-1875-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-14w-x-54l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-heavy-sealed-hex-head-2-l-stud-125-w-roller-2-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cam-follower-sealed-hex-head-eccentric-stud-2-l-stud-125-w-roller-2-roller-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-sediment-melt-blown-cartridges-2-12odx9-78l-50-micron>: HTTP status code is not handled or not allowed 2026-01-28 15:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1234089-trigger-x-adjustable-rope-positioning-lanyard-10-foot-long-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 15:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-14w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-series-f-clamp-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-filters-9-34x4-12-mixed-bed-di>: HTTP status code is not handled or not allowed 2026-01-28 15:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-4-awg-5-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 15:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-21w-x-42l-x-60h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:16:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-esd-2-shelf-24w-x-72l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-174-luxury-foam-hand-soap-1250ml-refill-6-refills-case>: HTTP status code is not handled or not allowed 2026-01-28 15:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2400s-12c-regular-duty-f-clamp-copper-12>: HTTP status code is not handled or not allowed 2026-01-28 15:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-24w-x-36l-x-80h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/660s-18-light-duty-f-clamp-18>: HTTP status code is not handled or not allowed 2026-01-28 15:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazardous-waste-paper-labels-notice-this-container-has-been-triple-rinsed>: HTTP status code is not handled or not allowed 2026-01-28 15:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dura-kap-industrial-pant-black-38x32-pt20>: HTTP status code is not handled or not allowed 2026-01-28 15:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-cart-esd-2-shelf-24w-x-54l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-heavy-duty-mobile-work-platform-36-x-60-platform>: HTTP status code is not handled or not allowed 2026-01-28 15:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexbollard-52h-x-7-14w-w99h-signpost-asphalt-redwhite-xl-b528-a-redwhite>: HTTP status code is not handled or not allowed 2026-01-28 15:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexbollard-52h-x-7-14w-w99h-signpost-concrete-blackwhite-xl-b528-c-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 15:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexbollard-52h-adhesive-anchoring-to-concrete-blackwhite-b52-d-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 15:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/building_safety_signs>: HTTP status code is not handled or not allowed 2026-01-28 15:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-cream-dipping-cabinet-w-sneeze-guard-cover-39-w>: HTTP status code is not handled or not allowed 2026-01-28 15:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/garage-storage-locker-wm634-wall-mount-with-sliding-door-6-w-x-3-d-x-4-h-machine-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rare-earth-tube-316-ss-1-x-16>: HTTP status code is not handled or not allowed 2026-01-28 15:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/temperature-sensor-for-bmv-702-712-black-copper-wire>: HTTP status code is not handled or not allowed 2026-01-28 15:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xl-adhesive-mounting-fastener-kit-re-d>: HTTP status code is not handled or not allowed 2026-01-28 15:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-18w-x-36l-x-80h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-heavy-duty-mobile-work-platform-handrails-36-x-48-platform>: HTTP status code is not handled or not allowed 2026-01-28 15:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surgical-protective-wear-organizer-10-1-8-w-x-3-15-16-d-x-20-3-8-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-aluminum-dock-board-with-welded-aluminum-curb-60x30-10-000-lb-capacity-986997>: HTTP status code is not handled or not allowed 2026-01-28 15:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-stacking-chair-fabric-black>: HTTP status code is not handled or not allowed 2026-01-28 15:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-aluminum-dock-board-with-welded-aluminum-curb-60x60-10-000-lb-capacity-987000>: HTTP status code is not handled or not allowed 2026-01-28 15:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118324 pages (at 95 pages/min), scraped 57149 items (at 15 items/min) 2026-01-28 15:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-24w-x-72l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-273968-air-max-pro-hv-test-pump>: HTTP status code is not handled or not allowed 2026-01-28 15:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-653-ratchet-lever-hoist-1-1-2-ton-cap-10ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-10x7-rigid-plastic-ear-protection-required>: HTTP status code is not handled or not allowed 2026-01-28 15:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-trash-container-garbage-can-lid-32-gallon-white>: HTTP status code is not handled or not allowed 2026-01-28 15:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-inch-x-4-inch-x-4-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 15:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-vinyl-no-smoking-matches-or-open-flames>: HTTP status code is not handled or not allowed 2026-01-28 15:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-14w-x-60l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-72367-3-or-4-pvc-adjustable-general-purpose-pipe-fit-drain-w-8-cast-chrome-grate-and-rd-top>: HTTP status code is not handled or not allowed 2026-01-28 15:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-10x7-rigid-plastic-electrical-hazard>: HTTP status code is not handled or not allowed 2026-01-28 15:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-glove-box-dispenser-16-15-16-w-x-4-3-4-d-x-10-3-16-h-clear-petg-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11115-qc-disc-type-s-2-aluminum-oxide-medium>: HTTP status code is not handled or not allowed 2026-01-28 15:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46633-satin-disc-wheel-1-8-mandrel-1-1-2-aluminum-oxide-coarse>: HTTP status code is not handled or not allowed 2026-01-28 15:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-w-vogue-classic-accessories-8-unit-2-parcel-lockers-sandstone>: HTTP status code is not handled or not allowed 2026-01-28 15:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-sign-14x10-vinyl-safety-glasses-required-beyond-this-point>: HTTP status code is not handled or not allowed 2026-01-28 15:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-21w-x-72l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quad-divided-glove-box-dispenser-5-5-16-w-x-5-5-16-d-x-9-h>: HTTP status code is not handled or not allowed 2026-01-28 15:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-wear-isolation-bundle-15-15-16-w-x-3-15-16-d-x-10-1-8-h-transparent>: HTTP status code is not handled or not allowed 2026-01-28 15:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-120-vac-transformer-metal-end-bells>: HTTP status code is not handled or not allowed 2026-01-28 15:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/space-saver-protective-wear-organizer-25-1-8-w-x-4-d-x-30-3-4-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-federal-stop-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 15:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-corrugated-bin-dividers>: HTTP status code is not handled or not allowed 2026-01-28 15:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11508-coated-psa-disc-stick-on-12-aluminum-oxide-medium>: HTTP status code is not handled or not allowed 2026-01-28 15:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x9x4-1-2-open-top-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-28 15:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10129-flap-wheel-mandrel-2-x-1-x-1-4-aluminum-oxide-very-fine>: HTTP status code is not handled or not allowed 2026-01-28 15:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sign-14x10-aluminum-hot>: HTTP status code is not handled or not allowed 2026-01-28 15:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hollow-core-extension-pole-6-feet-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-gallon-sharps-container-w-split-rotor-lid-color-red>: HTTP status code is not handled or not allowed 2026-01-28 15:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-display-tower-6-ft-5-inch-fabric-color-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-1-4-inch-x-8-3-4-inch-x-12-inch-white-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 15:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r8860-16-braided-ss-lav-snk-sup-3-8comp-x-1-2fip-x-16>: HTTP status code is not handled or not allowed 2026-01-28 15:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-office-partition-panel-with-partial-window-36-14-w-x-60-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:17:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/plumbing/faucets/bathroom_sink_faucets already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-cart-esd-2-shelf-18w-x-24l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/82457-psa-disc-5-dia-120-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 15:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sided-stock-curtain-package-w-hardware-12w-24w-x-12h-white-clear-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/training-panel-leg-folding-table-18in-x-60in-black-granite-top>: HTTP status code is not handled or not allowed 2026-01-28 15:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-12-number-2>: HTTP status code is not handled or not allowed 2026-01-28 15:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-pg-484-06-adj-adjustable-pallet-guard-48w-x-40d-x-6h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-36w-x-36l-x-60h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-sc-5811-rcp-commander-service-sink-faucet-cross-handles>: HTTP status code is not handled or not allowed 2026-01-28 15:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-no-adhesive-12-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 15:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-44-gal-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-18w-x-48l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-15in-stakcut-trimmer>: HTTP status code is not handled or not allowed 2026-01-28 15:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-12-letter-e>: HTTP status code is not handled or not allowed 2026-01-28 15:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-18w-x-42l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/plumbing/faucets/bathroom_sink_faucets>: HTTP status code is not handled or not allowed 2026-01-28 15:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-18w-x-36l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-20-gal-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-with-partial-window-36-14-w-x-64-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-tubing-116id-x-18od-x-100-ft>: HTTP status code is not handled or not allowed 2026-01-28 15:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyurethane-tubing-for-drinking-water-38id-x-12od-x-50-ft>: HTTP status code is not handled or not allowed 2026-01-28 15:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-activator-for-9100-system-immersion-activator-340-g-l-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 15:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/noaa-weather-alert-radio-white>: HTTP status code is not handled or not allowed 2026-01-28 15:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-wpartial-window-60-14-w-x-61-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-2-5mm-wide-7mm-id-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 15:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-24w-x-30l-x-69h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hp-everyday-adhesive-matte-polypropylene-c0f19a-36-x-75-white-2pack>: HTTP status code is not handled or not allowed 2026-01-28 15:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-ole-com-cv740-sys-100-voc-dtm-alkyd-ena-rust-prev-mnt-pnt-sfty-rd>: HTTP status code is not handled or not allowed 2026-01-28 15:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-office-partition-panel-48-14-w-x-76-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-shot-8300w-portable-generator-electric-start-black>: HTTP status code is not handled or not allowed 2026-01-28 15:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-electric-office-partition-panel-with-raceway-48-14-w-x-64-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-sanitary-gasket-for-34-tube>: HTTP status code is not handled or not allowed 2026-01-28 15:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neenah-paper-classic-laid-stationery-writing-paper-6511-8-12-x-11-avon-white-500-sheetsream>: HTTP status code is not handled or not allowed 2026-01-28 15:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/platinum-paper-npl1124-24-lbs-8-12-x-11-white-10-reamscarton>: HTTP status code is not handled or not allowed 2026-01-28 15:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7500-series-450-voc-dtm-alkyd-enamel-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 15:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hx5-flow-meter-battery-battery-charger>: HTTP status code is not handled or not allowed 2026-01-28 15:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-wpartial-window-raceway-60-14-w-x-47-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-36-letter-t>: HTTP status code is not handled or not allowed 2026-01-28 15:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-36-letter-w>: HTTP status code is not handled or not allowed 2026-01-28 15:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-4-letter-set-a-z>: HTTP status code is not handled or not allowed 2026-01-28 15:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-wpartial-window-pass-thru-cable-48-14wx47-12h-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-foam-with-high-temp-adhesive-12-thick-x-2-wide-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 15:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-exit-with-le-arrow-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 15:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-5600-sys-100-voc-acryl-urethane-flr-paint-silver-gry-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 15:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24x1-2-flat-undercut-head-thread-cutting-screws-type-f-1208FPU>: HTTP status code is not handled or not allowed 2026-01-28 15:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-spreader-50-lbs-20-inch-l-x-17-inch-w-x-34-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-9100-system-340voc-dtm-epoxy-mastic-safety-green>: HTTP status code is not handled or not allowed 2026-01-28 15:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-face-epdm-flange-gasket-for-3-pipe-116-thick-class-150>: HTTP status code is not handled or not allowed 2026-01-28 15:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-m2-height-adjustable-petri-dish-holder-for-rk-10a-rack>: HTTP status code is not handled or not allowed 2026-01-28 15:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-tan-36-1-4-x-60>: HTTP status code is not handled or not allowed 2026-01-28 15:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-arrow-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 15:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-12-confined-space-vent-fan-rotomold-plastic-2700-cfm-1-hp>: HTTP status code is not handled or not allowed 2026-01-28 15:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-1-5mm-wide-27mm-id-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asb1089-lawn-and-garden-tire-assembly-size-20-x-800-8>: HTTP status code is not handled or not allowed 2026-01-28 15:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/entrance-mat-3-8-thick-6-l-x-10-w-gray-smooth-backing>: HTTP status code is not handled or not allowed 2026-01-28 15:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-concrete-patching-kit-2-gal-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118421 pages (at 97 pages/min), scraped 57159 items (at 10 items/min) 2026-01-28 15:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-diamond-brite-drum-fan-direct-drive-115v-1-2hp-1ph>: HTTP status code is not handled or not allowed 2026-01-28 15:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brighton-queen-tufted-upholstered-platform-bed-dark-gray-with-pocket-spring-mattress>: HTTP status code is not handled or not allowed 2026-01-28 15:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-115-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 15:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-dash-227-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-do-not-close>: HTTP status code is not handled or not allowed 2026-01-28 15:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/house-of-doolittleteachers-planner-50907-11-x-8-12-bluewhite-1-each>: HTTP status code is not handled or not allowed 2026-01-28 15:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-variable-speed-wet-sharpener-w-accessories>: HTTP status code is not handled or not allowed 2026-01-28 15:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/internally-lubricated-buna-n-o-ring-dash-214-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 15:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-tufted-upholstered-twin-size-headboard-in-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brown-viton-o-ring-dash-214-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 15:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-punch-die-set-with-storage-case-12-piece>: HTTP status code is not handled or not allowed 2026-01-28 15:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-18x1-1-4-wafer-head-self-drill-screws-0820KWAF>: HTTP status code is not handled or not allowed 2026-01-28 15:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-full-size-tufted-upholstered-platform-bed-in-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-rubber-overboots-mens-black-size-810-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-rubber-overboots-mens-black-size-57-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-this-tag-lock-to-be-removed-only-by-the-person-shown-on-back>: HTTP status code is not handled or not allowed 2026-01-28 15:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2545k10v-value-200v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 15:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-monthly-planner-refill-3-1-2-x-6-1-8-2015-2016-aag7090610>: HTTP status code is not handled or not allowed 2026-01-28 15:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x1-flat-self-drilling-screws-1016KQF>: HTTP status code is not handled or not allowed 2026-01-28 15:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-weekly-monthly-appointment-book-black-8-1-4-x-10-7-8-2015-aag70950g05>: HTTP status code is not handled or not allowed 2026-01-28 15:18:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-twin-tufted-upholstered-platform-bed-beige-with-memory-foam-mattress>: HTTP status code is not handled or not allowed 2026-01-28 15:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trans-eng-oil-press-tester>: HTTP status code is not handled or not allowed 2026-01-28 15:18:12 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-1-5mm-wide-8mm-id-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 15:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-ton-aluminum-jack-stand-and-service-jack-pack-6603asjpk>: HTTP status code is not handled or not allowed 2026-01-28 15:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-flex-type-hex-lock-nut-50NXL>: HTTP status code is not handled or not allowed 2026-01-28 15:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-activated-carbon-filter-105-cfm>: HTTP status code is not handled or not allowed 2026-01-28 15:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecbg-led-m6-led-integrated-exitunit-combo-white-wgreen-letters>: HTTP status code is not handled or not allowed 2026-01-28 15:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2545k10-premium-230v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 15:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2475n5-premium-230v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 15:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2475n75-premium-200v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 15:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x3-phillips-bugle-head-exterior-wood-deck-screws-18-8-stainless-steel-1048DPG188>: HTTP status code is not handled or not allowed 2026-01-28 15:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-floor-standing-combination-belt-disc-sander>: HTTP status code is not handled or not allowed 2026-01-28 15:18:20 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards landed on page that is not a product page. 2026-01-28 15:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20x5-8-pan-head-machine-screws-1410MSPN>: HTTP status code is not handled or not allowed 2026-01-28 15:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/beds_mattresses/beds_headboards>: HTTP status code is not handled or not allowed 2026-01-28 15:18:22 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamp_pads already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printed-barricade-tape-caution-wet-paint-2>: HTTP status code is not handled or not allowed 2026-01-28 15:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hlb-100b-the-baby-bidet-bathtub-nursing-weaning-seat>: HTTP status code is not handled or not allowed 2026-01-28 15:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ventless-dual-fuel-gas-stove-25000-btu-t-stat-control-black>: HTTP status code is not handled or not allowed 2026-01-28 15:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-line-message-stamp-posted-1-1-2-x-9-16-red>: HTTP status code is not handled or not allowed 2026-01-28 15:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11112-60-psikpa-14-cbm-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fg500-66-delineator-post-ground-mount-white>: HTTP status code is not handled or not allowed 2026-01-28 15:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m10-1-5x12-metric-socket-set-screws-cup-point-M10012SSC>: HTTP status code is not handled or not allowed 2026-01-28 15:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-dolly>: HTTP status code is not handled or not allowed 2026-01-28 15:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-lspp2b-o3x-ls-wick-b-eye-polo-org-3x>: HTTP status code is not handled or not allowed 2026-01-28 15:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-fuel-ventless-gas-fireplace-w-mantel-32000-btu-remote-control-nutmeg>: HTTP status code is not handled or not allowed 2026-01-28 15:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11112-160-psi-14-cbm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-dash-229-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-sspp2b-yl-ss-wick-b-eye-polo-ylw-l>: HTTP status code is not handled or not allowed 2026-01-28 15:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-4-11110-200-psikpa-14-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/stamp_pads>: HTTP status code is not handled or not allowed 2026-01-28 15:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-shelving-72-wx24-dx72-h>: HTTP status code is not handled or not allowed 2026-01-28 15:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11111-3000-psi-14-lm-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 15:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-tray-w-vinyl-mat-for-30-wx27-d-modular-drawer-cabinet-black>: HTTP status code is not handled or not allowed 2026-01-28 15:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bakery-boxes-14in-x-10in-x-4in-white-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-tier-mobile-chair-cart>: HTTP status code is not handled or not allowed 2026-01-28 15:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kold-locker-indoor-freezer-minus-10-degrees-f-with-floor-1hp-lh-door-72-inches-w-x-72-inches-d-x-91-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 15:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-led-digital-crane-scale-w-remote-6-000-lb-x-1-lb>: HTTP status code is not handled or not allowed 2026-01-28 15:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-foam-with-acrylic-adhesive-132-thick-x-12w-x-10l>: HTTP status code is not handled or not allowed 2026-01-28 15:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-2-11116-100-psi-14-cbm-with-u-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-foam-with-acrylic-adhesive-132-thick-x-316w-x-10l>: HTTP status code is not handled or not allowed 2026-01-28 15:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800-lumen-rechargeable-led-work-light>: HTTP status code is not handled or not allowed 2026-01-28 15:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kold-locker-indoor-cooler-plus-35-degrees-f-with-floor-115v-60-1-rh-door-72-inches-w-x-72-inches-d-x-91-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 15:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pencils-hb-2-black-lead-yellow-barrel-72-box>: HTTP status code is not handled or not allowed 2026-01-28 15:18:40 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-foam-with-acrylic-adhesive-14-thick-x-1-12w-x-10l>: HTTP status code is not handled or not allowed 2026-01-28 15:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-square-nuts-50NQRG>: HTTP status code is not handled or not allowed 2026-01-28 15:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pd-25-8-auto-handy-automatic-feed-drain-cleaning-spinner-w-25-x-1-4-cable>: HTTP status code is not handled or not allowed 2026-01-28 15:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energel-rtx-retractable-gel-pen-0-7mm-pink-ink-white-pink-barrel>: HTTP status code is not handled or not allowed 2026-01-28 15:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x1-5-8-bugle-head-drywall-screws-0626HPG>: HTTP status code is not handled or not allowed 2026-01-28 15:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medical-labels-for-allergy-warnings-1-x-3-white-500-roll-40562>: HTTP status code is not handled or not allowed 2026-01-28 15:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11110-30-inhg100-psi-14-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-eyewash-drench-hose-unit-w-hand-truck-15-gal>: HTTP status code is not handled or not allowed 2026-01-28 15:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-labels-with-trueblock-technology-5-1-2-x-8-1-2-white-50-pack-8126>: HTTP status code is not handled or not allowed 2026-01-28 15:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-foam-with-high-temp-adhesive-116-thick-x-1w-x-6l>: HTTP status code is not handled or not allowed 2026-01-28 15:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-foam-cord-964-dia-x-25l>: HTTP status code is not handled or not allowed 2026-01-28 15:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8x1-1-4-fender-washers-3720WFG>: HTTP status code is not handled or not allowed 2026-01-28 15:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-8000-series-receding-drawer-front-lateral-file-4-drawer-putty>: HTTP status code is not handled or not allowed 2026-01-28 15:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyed-selector-22mm-metal-1-key-code-i-cam-p9m-sci0c01>: HTTP status code is not handled or not allowed 2026-01-28 15:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/tools/testing_inspection_instruments/pressure_vacuum_gauges/dial_pressure_vacuum_gauges>: HTTP status code is not handled or not allowed 2026-01-28 15:18:50 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-supplies/building_construction_tape/marking_warning_tape already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-1000-series-lateral-file-30in-wide-2-drawer-putty>: HTTP status code is not handled or not allowed 2026-01-28 15:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-25in-deep-vertical-file-cabinet-4-drawer-letter-size-black>: HTTP status code is not handled or not allowed 2026-01-28 15:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x1-2-round-spacers-370810RS303>: HTTP status code is not handled or not allowed 2026-01-28 15:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-pre-sharpened-woodcase-pencil-hb-2-black-lead-yellow-barrel-72-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-window-tan-48-1-4-w-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 15:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kodiak-animal-resistant-waste-receptacle-63-w-x-27-d-x-33-h-green>: HTTP status code is not handled or not allowed 2026-01-28 15:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118515 pages (at 94 pages/min), scraped 57169 items (at 10 items/min) 2026-01-28 15:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-40x3-4-standard-socket-head-cap-screws-0512CSP>: HTTP status code is not handled or not allowed 2026-01-28 15:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6003nr-open-wsnap-ring-17mm-bore-35mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-reinforced-water-activated-kraft-tape-3-x-375-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-split-lock-washers-medium-31WS316>: HTTP status code is not handled or not allowed 2026-01-28 15:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-only-heavy-weight-sorbent-pads-White>: HTTP status code is not handled or not allowed 2026-01-28 15:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-rectangular-desk-pad-with-anti-slip-backing-29-x-59>: HTTP status code is not handled or not allowed 2026-01-28 15:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-standard-key-lock-purple>: HTTP status code is not handled or not allowed 2026-01-28 15:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-laser-inkjet-file-folder-labels-white-red-border-1500-box-5066>: HTTP status code is not handled or not allowed 2026-01-28 15:19:00 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-supplies/building_construction_tape/marking_warning_tape landed on page that is not a product page. 2026-01-28 15:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4x1-1-4-split-drive-anchors-1420ADSPR>: HTTP status code is not handled or not allowed 2026-01-28 15:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/print-to-the-edge-easy-peel-labels-with-trueblock-1-1-2-x-1-1-2-white-600-pk-22805>: HTTP status code is not handled or not allowed 2026-01-28 15:19:02 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/color_coding_labels already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6003-open-17mm-bore-35mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6205-2rsnr-double-sealed-wsnap-ring-25mm-bore-52mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-nylon-insert-hex-lock-nut-08NSB>: HTTP status code is not handled or not allowed 2026-01-28 15:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-125-internal-retaining-ring-212RIBP>: HTTP status code is not handled or not allowed 2026-01-28 15:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-fire-door-do-not-block>: HTTP status code is not handled or not allowed 2026-01-28 15:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-a18608b-60w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-12-working-length-j-hook-style-c>: HTTP status code is not handled or not allowed 2026-01-28 15:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oscillating-tower-fan-37-inch-height-w-remote-fa1-0069-06>: HTTP status code is not handled or not allowed 2026-01-28 15:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6010zznr-double-shielded-wsnap-ring-50mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-case-of-fire-do-not-use-elevator>: HTTP status code is not handled or not allowed 2026-01-28 15:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tpi-30-high-velocity-air-circulator-w-yoke-mount-direct-drive-1-hp-480v-3-ph>: HTTP status code is not handled or not allowed 2026-01-28 15:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-six-drawer-narrow-procedure-cart-tall-height-mini-width-key-lock-hammertone-green>: HTTP status code is not handled or not allowed 2026-01-28 15:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/labels_label_makers/labels/color_coding_labels>: HTTP status code is not handled or not allowed 2026-01-28 15:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-clearview-stock-truck-48x30-4-adjustable-2-fixed-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-pocket-verticle-literature-rack-black>: HTTP status code is not handled or not allowed 2026-01-28 15:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-line-do-not-cross-barricade-tape-polyethylene-yellow-tapeblack-print-3-x-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-full-brimmed-ranger-hat-polyester-meshoxford-orange-lxl>: HTTP status code is not handled or not allowed 2026-01-28 15:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-grid-panel-poly-green-24-x-72>: HTTP status code is not handled or not allowed 2026-01-28 15:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suredry-10-scope-cabinet-w-dri-scope-aid-e-lock-30-w-x-24-d-x-93-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dra-ing-stool-fabric-black>: HTTP status code is not handled or not allowed 2026-01-28 15:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmp2705rc-rd-fmpro-27-w-x-20-d-x-42-1-2-h-5-drawer-red-roller-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 15:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-tall-height-36-3-4-w-x-22-d-x-43-3-4-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hunter-trak-8482-modern-commercial-ceiling-fan-w-light-kit-96-24887-cfm-fesh-white>: HTTP status code is not handled or not allowed 2026-01-28 15:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hunter-trak-8482-modern-commercial-ceiling-fan-96-24887-cfm-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 15:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-emergency-crash-cart-6-drawers-36-3-4-w-x-26-l-x-43-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 15:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barrel-bucket-lifter-yellow-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-size-stacking-bin-23-7-8-x-8-1-4-x-7-red>: HTTP status code is not handled or not allowed 2026-01-28 15:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s163-ansi-class-3-long-raincoat-hi-vis-orange-lg-62036>: HTTP status code is not handled or not allowed 2026-01-28 15:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibc-tote-lift-beam-yellow-5000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-voltage-370-440-roundrun-capacitor-125-mfd-125dvr>: HTTP status code is not handled or not allowed 2026-01-28 15:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-four-digit-3257-1>: HTTP status code is not handled or not allowed 2026-01-28 15:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-nylon-lycra-glove-nitrile-coated-34-874fy-l>: HTTP status code is not handled or not allowed 2026-01-28 15:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octanet-safety-glasses-camo-frame-hi-res-mirror-lens-15340>: HTTP status code is not handled or not allowed 2026-01-28 15:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6916-open-80mm-bore-110mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8388-hi-vis-class-3-2-thermal-jacket-type-r-class-lime-3xl-25537>: HTTP status code is not handled or not allowed 2026-01-28 15:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19390-americana-full-brim-hard-hat-w-accy-slots-standard-4-pt-suspension-hi-viz-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-corrosive-2>: HTTP status code is not handled or not allowed 2026-01-28 15:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6466-thermal-jacket-black-2xl-41116>: HTTP status code is not handled or not allowed 2026-01-28 15:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazmat-spill-kit-20-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6319zz-double-shielded-95mm-bore-200mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-only-boom-10-x-5-294-gallon-capacity-4pack>: HTTP status code is not handled or not allowed 2026-01-28 15:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6907-2rs-double-sealed-35mm-bore-55mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-16012-open-60mm-bore-95mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3109fx-double-locking-single-carabiner-w-swivel-25-lbs-capacity-19809>: HTTP status code is not handled or not allowed 2026-01-28 15:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suredry-14-scope-drying-cabinet-w-e-lock-36-w-x-24-d-x-93-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trex-6300tc-one-piece-ice-traction-device-w-tungsten-carbide-studs-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-lightweight-aluminium-crash-cart-5-drawers-30-w-x-22-l-x-37-1-4-h-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8918bk-class-e-hi-vis-rain-overalls-lime-2xl-25016>: HTTP status code is not handled or not allowed 2026-01-28 15:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleanmax-zoom-paper-vacuum-bag-for-zm-200-zm-400-zm-600-jan-cmzoom-23>: HTTP status code is not handled or not allowed 2026-01-28 15:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-built-in-ada-undercounter-refrigerator-solid-door-right-hinged>: HTTP status code is not handled or not allowed 2026-01-28 15:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/183027-drawer-divider-for-omnimed-183025-medium-omni-drawers>: HTTP status code is not handled or not allowed 2026-01-28 15:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6310zznr-double-shielded-wsnap-ring-50mm-bore-110mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/special-on-tripper-for-7000-1800-series>: HTTP status code is not handled or not allowed 2026-01-28 15:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-twin-hoist-lift-beam-yellow-10000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/208-277v-2000w-spst-conduit-mounting-with-swivel>: HTTP status code is not handled or not allowed 2026-01-28 15:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-min-twist-timer-w-metal-wallplate>: HTTP status code is not handled or not allowed 2026-01-28 15:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-skid-additive-course-16-oz-jar-12-case-1-case-cp-sg180-220>: HTTP status code is not handled or not allowed 2026-01-28 15:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/208-277v-1500w-spst-flush-mounting>: HTTP status code is not handled or not allowed 2026-01-28 15:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6919zz-double-shielded-95mm-bore-130mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-basket-lifting-beam-yellow-10000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gkey3mmdb-3mm-double-bit-key-plastic>: HTTP status code is not handled or not allowed 2026-01-28 15:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-x-10-working-length-j-hook-style-b>: HTTP status code is not handled or not allowed 2026-01-28 15:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-tall-height-36-3-4-w-x-22-d-x-43-3-4-h-purple>: HTTP status code is not handled or not allowed 2026-01-28 15:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelf-platform-p1824b-24w-x-18d>: HTTP status code is not handled or not allowed 2026-01-28 15:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-dia-x-22-76-l-adjustable-length-roll-lifting-beam-yellow-18-lx40-wx86-h-200lbs-6000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6018nr-open-wsnap-ring-90mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-3-shelf-container-rack-bk18245n-24w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/q104-sequencer-15sh2-style>: HTTP status code is not handled or not allowed 2026-01-28 15:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flashing-led-light-hazardous-location-24vac-dc-amber-225xl-024a>: HTTP status code is not handled or not allowed 2026-01-28 15:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cmfk-mounting-foot-kit-qty-4-fits-concept-enc-steelzinc>: HTTP status code is not handled or not allowed 2026-01-28 15:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-isolation-cart-6-drawers-30-w-x-22-l-x-43-3-4-h-hammertone-red>: HTTP status code is not handled or not allowed 2026-01-28 15:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-well-tissue-culture-plate-round-bottom-with-lid-individual-sterile-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a16h12alp-wall-mount-type-4-encl-1600x1200x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 15:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118613 pages (at 98 pages/min), scraped 57183 items (at 14 items/min) 2026-01-28 15:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-crank-operated-mechanical-post-lift-table-30-x-48-cast-iron-wheels>: HTTP status code is not handled or not allowed 2026-01-28 15:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uu5040sp-swingout-panel-fits-513x412mm-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 15:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strobe-pipe-mount-120vac-clear-lp3p-120c>: HTTP status code is not handled or not allowed 2026-01-28 15:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horn-120vac-resonating-55-120-1>: HTTP status code is not handled or not allowed 2026-01-28 15:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-latch-container-with-lid-21-lx15-7-8-x7-3-4-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-trash-water-pump-with-g-force-6919>: HTTP status code is not handled or not allowed 2026-01-28 15:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-water-pump-with-hose-kit-6917>: HTTP status code is not handled or not allowed 2026-01-28 15:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slurry-vacuum-system-h0904>: HTTP status code is not handled or not allowed 2026-01-28 15:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tankless-electric-water-heater-16-kw-480v-proseries-xtp-xtp016480>: HTTP status code is not handled or not allowed 2026-01-28 15:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-column-medical-storage-cart-glass-door-22-1-2-w-x-27-d-x-75-3-4-h-hammertone-green>: HTTP status code is not handled or not allowed 2026-01-28 15:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-column-storage-cabinet-electronic-keypad-lock-60-w-x-28-d-x-81-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-diesel-fuel-transfer-pump-kit-12-volts-10-gpm>: HTTP status code is not handled or not allowed 2026-01-28 15:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boss-full-pedestal-file-file-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 15:20:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/peninsulas already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-x-1-2-iglide-g300-polymer-sleeve-bearing>: HTTP status code is not handled or not allowed 2026-01-28 15:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stand-578172>: HTTP status code is not handled or not allowed 2026-01-28 15:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drylin-t-polymer-lined-profile-guide-size-20>: HTTP status code is not handled or not allowed 2026-01-28 15:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-plastic-2-shelf-flat-black-service-utility-cart-38-x-17-1-2-5-rubber-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-plastic-3-tray-black-shelf-service-utility-cart-44-x-25-1-2-5-rubber-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-north-carolina-spanish>: HTTP status code is not handled or not allowed 2026-01-28 15:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uvp-174-double-sided-menu-board-18-w-x-24-h>: HTTP status code is not handled or not allowed 2026-01-28 15:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipet-storage-rack-4-compartments-abs-plastic-magnetized-white>: HTTP status code is not handled or not allowed 2026-01-28 15:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-foam-lined-855-28-fl-30l-x-22w-x-14h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-isolation-cart-3-drawers-standard-key-lock-37-1-2-wx22-lx42-63-100-h-hammertone-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-circulation-fan-vk42-3-w-solid-housing-mount-1-2-hp-13970-cfm-230-460v>: HTTP status code is not handled or not allowed 2026-01-28 15:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facility-flange-sign-emergency-eye-wash>: HTTP status code is not handled or not allowed 2026-01-28 15:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyjohn-bravo-hand-washing-station>: HTTP status code is not handled or not allowed 2026-01-28 15:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/desks_workstations/desk_components_accessories/peninsulas>: HTTP status code is not handled or not allowed 2026-01-28 15:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/please-keep-safe-distance-12-round>: HTTP status code is not handled or not allowed 2026-01-28 15:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-in-1-convertible-hand-truck-with-solid-rubber-wheels-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-column-storage-cabinet-electronic-keypad-lock-60-w-x-28-d-x-81-h-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:20:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/conference_training_chairs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-back-end-stops-workbench-top-96-w-x-30-d-x-3-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppe-required-sign>: HTTP status code is not handled or not allowed 2026-01-28 15:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyjohn-pjn3-portable-restroom-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-procedure-cart-6-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 15:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000ml-filter-system-pes-filter-material-0-10-181-m-90mm-sterile-polystyrene-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facility-visi-sign-men-3>: HTTP status code is not handled or not allowed 2026-01-28 15:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/300cm-178-tissue-culture-flask-plug-seal-cap-sterile-18-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boltless-heavy-duty-die-rack-96-w-x-36-d-x-96-h-5-shelves-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:20:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250ml-bottle-top-filter-pes-filter-material-0-45-181-m-75mm-sterile-24-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flask-cap-plug-seal-fits-12-5cm-178-25ml-sterile-green-5-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boltless-heavy-duty-die-rack-60-w-x-24-d-x-96-h-5-shelves-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em3736f-condenser-fan-1-4-hp-1075-rpm-460v-totally-enclosed>: HTTP status code is not handled or not allowed 2026-01-28 15:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drum-in-line-spillpal-w-grate>: HTTP status code is not handled or not allowed 2026-01-28 15:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/engraved-sign-office-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:20:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office/seating/task_desk_chairs_1/guest_chairs/conference_training_chairs landed on page that is not a product page. 2026-01-28 15:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-gallon-poly-overpack>: HTTP status code is not handled or not allowed 2026-01-28 15:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250ml-centrifuge-bottles-polycarbonate-knurled-seal-cap-non-sterile-4-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-cart-standard-width-tall-cabinet-6-drawers-41-2-5-wx22-lx64-1-10-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/selftapping-concrete-screw-hex-head-304-stainless-steel-14-x-114>: HTTP status code is not handled or not allowed 2026-01-28 15:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/architectural-sign-use-other-door>: HTTP status code is not handled or not allowed 2026-01-28 15:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-rugged-travel-case-foam-filled-808-carry-case-27l-x-24w-x-15-3-4h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/safety/safety_signs_tags/social_distancing_signs>: HTTP status code is not handled or not allowed 2026-01-28 15:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-warning-light-permanent-mount-12-100-volt-amber-lens-3930-a>: HTTP status code is not handled or not allowed 2026-01-28 15:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/275-omni-telescoping-case-trade-show-case-46l-x-42w-x-8h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberwire-14-inch-hdpe-sleeve-w-velcro-closure-cut-level-5-1-pair-sfv-15y>: HTTP status code is not handled or not allowed 2026-01-28 15:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-height-double-column-med-storage-cabinet-keylock-40-1-10-wx29-1-4-dx40-3-4-h-purple>: HTTP status code is not handled or not allowed 2026-01-28 15:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suredry-high-volume-16-scope-cabinet-dri-scope-aid-key-lock-44-wx24-dx93-h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triggerfoam-pro-expanding-polyurethane-foam-20>: HTTP status code is not handled or not allowed 2026-01-28 15:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suredry-high-vol-16-scope-cabinet-driscope-aid-key-lock-44-wx24-dx93-h-hammertone-black>: HTTP status code is not handled or not allowed 2026-01-28 15:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13460-dynisher-finishing-tool-versatility-kit-1hp-right-angle-2800-rpm-rear-exhaust>: HTTP status code is not handled or not allowed 2026-01-28 15:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m3-05-flush-press-insert-brass-240-m3-br>: HTTP status code is not handled or not allowed 2026-01-28 15:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cutting-edge-half-v-plow-1-2-x-6-x-46-13-16>: HTTP status code is not handled or not allowed 2026-01-28 15:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-braille-sign-entrance-black>: HTTP status code is not handled or not allowed 2026-01-28 15:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-braille-sign-entrance-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-rubber-snow-deflector-super-duty-with-mounting-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-flanged-press-insert-stainless-260-006-cr>: HTTP status code is not handled or not allowed 2026-01-28 15:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40-straight-ultrasonic-insert-flanged-fl-440-hi>: HTTP status code is not handled or not allowed 2026-01-28 15:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airsoft-multiple-use-earplug-uncorded-436710>: HTTP status code is not handled or not allowed 2026-01-28 15:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a644phcw-polyproencl-wwindow-612x412x438in>: HTTP status code is not handled or not allowed 2026-01-28 15:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-danger-moving-machinery>: HTTP status code is not handled or not allowed 2026-01-28 15:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-ga-extra-heavy-duty-4-tier-locker-12-compartments-72-w-x-24-d-x-75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a36h3010sslp-continuous-hinge-wclamps-type-4x-3600x3000x1000in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-28 15:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-plastic-adjustable-lever-steel-38-16-tapped-307l>: HTTP status code is not handled or not allowed 2026-01-28 15:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-roller-bearing-cup-15245>: HTTP status code is not handled or not allowed 2026-01-28 15:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-plastic-adjustable-lever-steel-12-13-tapped-362l>: HTTP status code is not handled or not allowed 2026-01-28 15:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-rack-protector-contour-fits-3-inch-wide>: HTTP status code is not handled or not allowed 2026-01-28 15:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a36h3012ss6lp3pt-continuous-hinge-w3point-ltch-type-4x-3600x3000x1200inss-type-316l>: HTTP status code is not handled or not allowed 2026-01-28 15:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-surface-mounted-corner-guard-90-degrees-corner-1-1-2-inch-wings-4-ft-height-sage-grn-undrilled>: HTTP status code is not handled or not allowed 2026-01-28 15:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-lad-saf-20-ft-swaged-stainless-steel-cable-3-8-dia-1-7-strand-6105020>: HTTP status code is not handled or not allowed 2026-01-28 15:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-roller-bearing-cup-hm88510>: HTTP status code is not handled or not allowed 2026-01-28 15:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/115vac-nema-4-electric-actuator-1000-in-lbs-torque>: HTTP status code is not handled or not allowed 2026-01-28 15:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118706 pages (at 93 pages/min), scraped 57195 items (at 12 items/min) 2026-01-28 15:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-surface-mounted-corner-guard-135-degrees-corner-1-1-2-inch-wing-4-ft-h-soft-peach-drilled>: HTTP status code is not handled or not allowed 2026-01-28 15:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-vertical-offset-charcoal-smoker-cover-45-x-18-x-52>: HTTP status code is not handled or not allowed 2026-01-28 15:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-cantilever-rack-single-sided-starter-md-48w-x-33d-x-6h-w-lip>: HTTP status code is not handled or not allowed 2026-01-28 15:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c20c24ss-consolet-sloped-cover-type-12-2000x2400x1309in>: HTTP status code is not handled or not allowed 2026-01-28 15:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerpoint-hoist-ring-180-pivot-17-630-lb-load-capacity-1-5-6-unc-bolt-1-15-16-dim-a>: HTTP status code is not handled or not allowed 2026-01-28 15:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-132-thick-x-4-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hawk-lapel-microphone-ep1301>: HTTP status code is not handled or not allowed 2026-01-28 15:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-132-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-vinyl-eye-wash-fountain>: HTTP status code is not handled or not allowed 2026-01-28 15:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bosh-6-a-top-handle-jigsaw>: HTTP status code is not handled or not allowed 2026-01-28 15:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-plastic-first-aid>: HTTP status code is not handled or not allowed 2026-01-28 15:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nickel-plated-brass-non-drip-coupling-1-body-size-red-color-ring-nbr-seals>: HTTP status code is not handled or not allowed 2026-01-28 15:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-ss-split-body-ansi-150-flanged-ball-valve-w-sr-pneumatic>: HTTP status code is not handled or not allowed 2026-01-28 15:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-232-dn10-ball-poppet-type-robust-screw-to-connect-nipple-1-27-50-l>: HTTP status code is not handled or not allowed 2026-01-28 15:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-lock-solid-aluminum-rectangular-padlock-red-no-a1306red>: HTTP status code is not handled or not allowed 2026-01-28 15:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-grabs-for-cast-iron-pipe-2-500-lb-capacity-13-2-pipe-outside-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-pc-ss-npt-ball-valve-w-nema-4-115vac>: HTTP status code is not handled or not allowed 2026-01-28 15:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/restricted-area-aluminum-maintenance-personnel-only>: HTTP status code is not handled or not allowed 2026-01-28 15:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-lift-beam-double-fork-single-swivel-hook-20-000lb>: HTTP status code is not handled or not allowed 2026-01-28 15:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/restricted-area-plastic-no-parking>: HTTP status code is not handled or not allowed 2026-01-28 15:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-plastic-sheet-116-thick-x-16-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-esdanti-static-tech-coat-electronic-blue-polyesternylon-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-esdanti-static-tech-coat-electronic-blue-polyesternylon-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-sheet-18-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esdanti-static-operations-coverall-navy-polyesternylon-regular-s>: HTTP status code is not handled or not allowed 2026-01-28 15:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-strength-neoprene-rubber-sheet-no-adhesive-70a-332-thick-x-18-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-top-retainer-nut-for-channels-p1008teg-electro-galvanized-38-16>: HTTP status code is not handled or not allowed 2026-01-28 15:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-reel-lifter-10000-lbs-capacity-yellow-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4in-basic-fixed-flat-ball-mount-black-1803100cr>: HTTP status code is not handled or not allowed 2026-01-28 15:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-action-back-coverall-navyyellow-polyestercotton-regular-46>: HTTP status code is not handled or not allowed 2026-01-28 15:21:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jumbo-roll-bath-tissue-white-1000-roll-12-rolls-case>: HTTP status code is not handled or not allowed 2026-01-28 15:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-and-cable-replacement-for-5422010-breakaway-switch-5422012>: HTTP status code is not handled or not allowed 2026-01-28 15:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-19-pegboard-panel-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 15:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-light-12-flush-mount-large-alabaster-mushroom-old-bronze>: HTTP status code is not handled or not allowed 2026-01-28 15:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-18-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-light-13-semi-flush-alabaster-glass-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 15:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-cone-for-8300-8400-8500-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frost-paper-cup-dispenser-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-15-hp-1200-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-lab-coat-light-blue-polycombed-cotton-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/empire-3-light-21-vanity-w-alabaster-glass-bell-shades-old-bronze>: HTTP status code is not handled or not allowed 2026-01-28 15:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-wp-2300-pallet-trucks-cr-813015-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-long-sleeve-work-shirt-fluorescent-yellowgreen-tall-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-motor-cover-for-mp-mpb-040-ac-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-industrial-short-sleeve-work-shirt-navy-polycotton-regular-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-b-60-80-z-pallet-trucks-hy-2039298>: HTTP status code is not handled or not allowed 2026-01-28 15:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-2hp-1800rpm-f2-mount>: HTTP status code is not handled or not allowed 2026-01-28 15:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-10hp-1200rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-4-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-stac-a-shelf-wire-locker-shelf-pink-7-case>: HTTP status code is not handled or not allowed 2026-01-28 15:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-grid-panel-poly-green-36-x-72>: HTTP status code is not handled or not allowed 2026-01-28 15:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-1-14-thick-x-48-wide-x-120-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combo-lock-for-horizontal-latch-box-locker-purple-dial-rh>: HTTP status code is not handled or not allowed 2026-01-28 15:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-32-6-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-hand-held-stapler-black-chrome-36-case>: HTTP status code is not handled or not allowed 2026-01-28 15:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-w-x-36-d-square-edge-birch-butcher-block-work-bench-fixed-height-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-15-giant-stacking-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 15:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-lh-shackle-gold-dial>: HTTP status code is not handled or not allowed 2026-01-28 15:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-lh-shackle-green-dial>: HTTP status code is not handled or not allowed 2026-01-28 15:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jam-nut-for-pe-3000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-3-thick-x-6-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-36h-round-counter-height-pedestal-table-river-cherry-top-round-silver-base>: HTTP status code is not handled or not allowed 2026-01-28 15:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-102xm-walkie-pallet-truck-ra-939-353-047-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-8-giant-stacking-bins-ivory>: HTTP status code is not handled or not allowed 2026-01-28 15:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-glue-stics-white-application-127-oz-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b8-174-powercrown-153-premium-staples-3-8-9mm-5000-pk-20-case>: HTTP status code is not handled or not allowed 2026-01-28 15:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-3-thick-x-16-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-11-cable-drive-manual-wallboard-lift-150-capacity-lbs>: HTTP status code is not handled or not allowed 2026-01-28 15:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballkissen-plus-wedge-15-x-16-dark-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-bar-w-lse-acrylic-adhesive-18-thick-x-4-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bowl-sqr-base-16-7oz-slate-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-w-40-xl-w-40-xt-pallet-trucks-hy-3005911-a>: HTTP status code is not handled or not allowed 2026-01-28 15:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-332-thick-x-4-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-stadium-series-trash-container-w-dome-top-55-gallon-blue-261596bl>: HTTP status code is not handled or not allowed 2026-01-28 15:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-duty-mixer-200-quarts-cap-air-motor-33-hp-gear-drive-4-impeller-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-116-thick-x-1-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 15:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-electric-chain-hoist-18-15-559>: HTTP status code is not handled or not allowed 2026-01-28 15:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-1-12-10-18>: HTTP status code is not handled or not allowed 2026-01-28 15:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118803 pages (at 97 pages/min), scraped 57213 items (at 18 items/min) 2026-01-28 15:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-1-12-15-18>: HTTP status code is not handled or not allowed 2026-01-28 15:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-3-hole-punch-9-32-inch-punch-size-with-12-sheet-capacity-purple>: HTTP status code is not handled or not allowed 2026-01-28 15:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-motor-trolley-14-20-36>: HTTP status code is not handled or not allowed 2026-01-28 15:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcover-10-5-8-amber>: HTTP status code is not handled or not allowed 2026-01-28 15:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-cover-for-w-40z-45z-b218-pallet-trucks-hy-1537410>: HTTP status code is not handled or not allowed 2026-01-28 15:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-15-inch-w-x-20-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 15:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-electric-chain-hoist-hook-suspension-2-12-20-22>: HTTP status code is not handled or not allowed 2026-01-28 15:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-for-wp-2300-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptfe-plastic-rod-38-diameter-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 15:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tumbler-dm-16oz-ruby-red>: HTTP status code is not handled or not allowed 2026-01-28 15:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-heavy-duty-led-flood-light-50w-4-8-tripod>: HTTP status code is not handled or not allowed 2026-01-28 15:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tumbler-dm-8oz-ruby-red>: HTTP status code is not handled or not allowed 2026-01-28 15:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tumbler-lt-12oz-spanish-green>: HTTP status code is not handled or not allowed 2026-01-28 15:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-dw-nrwrm-8-1-4-white>: HTTP status code is not handled or not allowed 2026-01-28 15:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ed-dual-speed-electric-chain-hoist-1050-lbs-10-226>: HTTP status code is not handled or not allowed 2026-01-28 15:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcover-9-1-2-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rail-pack-of-2-r15-15l>: HTTP status code is not handled or not allowed 2026-01-28 15:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-rubber-strip-no-adhesive-60a-132-thick-x-38-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 15:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-7hbw30-pallet-trucks-to-00590-42306-71-xl-a>: HTTP status code is not handled or not allowed 2026-01-28 15:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-series-tool-chest-w-4-drawers-26-w-x-12-d-x-17-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcover-versa-10-5-8-antique-parchment>: HTTP status code is not handled or not allowed 2026-01-28 15:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cup-mug-black>: HTTP status code is not handled or not allowed 2026-01-28 15:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pivot-block-for-wp-2300-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kl-lever-hoists-6600-lb-capacity-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-tire-for-wpt45-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-116-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-18-quickpick-double-open-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 15:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-flat-clinch-staples-for-max-hd-11ufl-3-8-leg-length-1000-box>: HTTP status code is not handled or not allowed 2026-01-28 15:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-14-inch-w-x-20-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 15:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x75-steel-shelving-with-15-magnum-giant-hopper-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 15:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-hook-suspension-14-10-14>: HTTP status code is not handled or not allowed 2026-01-28 15:22:18 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-13-high-capacity-extended-surface-multi-pleat-green-12-inch-w-x-24-inch-h-x-4-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 15:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15u-linier-fixed-wall-mount-cabinet-vented-door>: HTTP status code is not handled or not allowed 2026-01-28 15:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygienic-wall-bracket-single-hook-module-white-polypropylene-polyamide>: HTTP status code is not handled or not allowed 2026-01-28 15:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30w-smart-solar-led-street-light-with-integrated-lithium-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-salvage-drum-20-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-salvage-drum-95-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solar-powered-garden-led-light-white-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 15:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-10ft-mobile-cafeteria-fixed-bench-unit-with-mdf-core-top-protect-edge-walnut>: HTTP status code is not handled or not allowed 2026-01-28 15:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reverse-button-for-smx-45-walkie-pallet-truck>: HTTP status code is not handled or not allowed 2026-01-28 15:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-sheet-2-12-thick-x-8-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 15:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solar-power-ai-smart-1600-lumens-cree-led-parking-light>: HTTP status code is not handled or not allowed 2026-01-28 15:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-12-thick-x-8-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-rectangular-picnic-table-w-seat-cushions-expanded-metal-black>: HTTP status code is not handled or not allowed 2026-01-28 15:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-ring-for-w-40-xl-w-40-xt-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/building-materials/composites/composite_sheet_stock>: HTTP status code is not handled or not allowed 2026-01-28 15:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-elec-hoist-push-trolley-1-15-2845>: HTTP status code is not handled or not allowed 2026-01-28 15:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5208-2ns-double-row-angular-contact-bearing-double-sealed-40mm-bore-x-80mm-od-x-30-2mm-w>: HTTP status code is not handled or not allowed 2026-01-28 15:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-hook-suspension-3-10-35>: HTTP status code is not handled or not allowed 2026-01-28 15:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-specimen-container-with-pour-spout-6-5-oz-thermometer-strip-polypropylene-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5210-2ns-double-row-angular-contact-bearing-double-sealed-50mm-bore-x-90mm-od-x-30-2mm-w>: HTTP status code is not handled or not allowed 2026-01-28 15:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-container-32-oz-960ml-polystyrene-snap-lid-white-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3800-series-single-truck-bus-v-bar-tire-chains-pair-0382955>: HTTP status code is not handled or not allowed 2026-01-28 15:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-lid-for-6-5-oz-specimen-containers-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8000cd-stainless-steel-automatic-professional-dental-steam-cleaner-4-3l-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switch-for-wp-2000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baggy-chef-pants-black-white-check-polyestercotton-m>: HTTP status code is not handled or not allowed 2026-01-28 15:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-77-4-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 15:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-iii-mod-tile-comfort-18-corner-blk>: HTTP status code is not handled or not allowed 2026-01-28 15:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxtrac-snow-blower-garden-tractor-tire-chains-2-link-spacing-pair-1093956>: HTTP status code is not handled or not allowed 2026-01-28 15:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crc-3-36-multi-purpose-lubricant-corrosion-inhibitor-16-oz-aerosol-can>: HTTP status code is not handled or not allowed 2026-01-28 15:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crc-screwloose-super-penetrants-11-oz-aerosol-can>: HTTP status code is not handled or not allowed 2026-01-28 15:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-38-thick-x-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 15:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-weighing-dish-70mm-2-0g-80ml-smooth-wall-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-77-4-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 15:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-container-86-oz-2580ml-polyethylene-snap-lid-natural-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-tite-rite-container-90ml-3-oz-polypropylene-53mm-opening-screwcap-300-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-55-4-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 15:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-6hbw30-pallet-trucks-to-00590-00899-71>: HTTP status code is not handled or not allowed 2026-01-28 15:22:44 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/storage/shelving/bin_shelving/wire_bin_shelving already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-type-gs-grooved-toe-plate-for-liftkar-sal-stair-climbing-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-mpw-060len-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smsr-at-107-1-deflection-open-spring-mount-isolator-w-mounting-bolt>: HTTP status code is not handled or not allowed 2026-01-28 15:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcl-7000is-2150ir>: HTTP status code is not handled or not allowed 2026-01-28 15:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-20-12-oz-flame-retardant-canvas-floor-runner>: HTTP status code is not handled or not allowed 2026-01-28 15:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-wedger-6-sec>: HTTP status code is not handled or not allowed 2026-01-28 15:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/royal-basket-trucks-174-linen-cart-19-5-cu-ft-29-l-x-29-w-x-47-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econo-long-haul-truck-spill-kit-oil-only-absorbs-up-to-25-gallons>: HTTP status code is not handled or not allowed 2026-01-28 15:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-3-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-a14546b-54w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-button-front-chef-coat-thermometer-pocket-cloth-buttons-white-polycotton-3xl>: HTTP status code is not handled or not allowed 2026-01-28 15:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-3-thick-x-32-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-2wx3h-acrylic-oak-wall-display-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 15:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/storage/shelving/bin_shelving/wire_bin_shelving>: HTTP status code is not handled or not allowed 2026-01-28 15:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-piston-for-newer-pth50-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118897 pages (at 94 pages/min), scraped 57223 items (at 10 items/min) 2026-01-28 15:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-pocket-chart-holder-medium-oak>: HTTP status code is not handled or not allowed 2026-01-28 15:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eggcrate-return-grille-surface-mount-6-x-6-white-pk2>: HTTP status code is not handled or not allowed 2026-01-28 15:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wo-pockets-navy-polyestercombed-cotton-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-12-thick-x-5-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 15:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stratus-1-2-perforated-plastic-panel-ceiling-t-grid-pk5>: HTTP status code is not handled or not allowed 2026-01-28 15:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-plastic-bar-12-thick-x-6-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 15:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-motor-cover-for-w-40-xl-w-40-xt-pallet-trucks-hy-2308663>: HTTP status code is not handled or not allowed 2026-01-28 15:23:00 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-storage-bin-52w-32-12d-46h-ss-finish>: HTTP status code is not handled or not allowed 2026-01-28 15:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-royal-blue-polyestercombed-cotton-s>: HTTP status code is not handled or not allowed 2026-01-28 15:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-flaker-ice-machine-2030-ppd-water-cooled>: HTTP status code is not handled or not allowed 2026-01-28 15:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stand-for-dm-200-series>: HTTP status code is not handled or not allowed 2026-01-28 15:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-inch-snow-blower-steel-auger-rubber-paddle-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-38-thick-x-2-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 15:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-10-button-front-chef-coat-pearl-buttons-white-polyester-5xl>: HTTP status code is not handled or not allowed 2026-01-28 15:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-piece-interlocking-multi-purpose-storage-compartment-organizer-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:23:06 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-wheel-kit-for-manual-pallet-jack-gwk-hpt25-ck-fits-toyota-model-hpt25>: HTTP status code is not handled or not allowed 2026-01-28 15:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-w-lse-acrylic-adhesive-132-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 15:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-wheel-kit-for-manual-pallet-jack-gwk-ep55ii-ck-fits-ep-model-ep55ii>: HTTP status code is not handled or not allowed 2026-01-28 15:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-34-thick-x-2-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 15:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-tuftex-yellow-3-piece-suit-pvc-size-medium>: HTTP status code is not handled or not allowed 2026-01-28 15:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-dc-control-bc154-dc-scr-control-115-230v-1-50-2-hp-nema-4x>: HTTP status code is not handled or not allowed 2026-01-28 15:23:11 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/composites/composite_rod_stock landed on page that is not a product page. 2026-01-28 15:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sanitex-green-bib-overall-plain-front-pvc-on-polyester-size-4x>: HTTP status code is not handled or not allowed 2026-01-28 15:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-cafeteria-table-w-stools-and-benches-60-inch-octagon-gray-top-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:23:13 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-truck-with-30-4-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 15:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x48x74-chrome-wire-shelving-with-66-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-116-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office-school-supply/basic_supplies/desk_accessories/desk_organizers_letter_trays>: HTTP status code is not handled or not allowed 2026-01-28 15:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-mannequin-hands-by-side-left-knee-bent-gloss-finish-black>: HTTP status code is not handled or not allowed 2026-01-28 15:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-5-1-2x10-7-8x5-red>: HTTP status code is not handled or not allowed 2026-01-28 15:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-air-resin-bar-stool-white>: HTTP status code is not handled or not allowed 2026-01-28 15:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pedestal-post-cd-premium-fan-292654>: HTTP status code is not handled or not allowed 2026-01-28 15:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-16-x-5-euro-fix-solid-container-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sitex-yellow-jacket-w-attached-hood-pvc-size-4x>: HTTP status code is not handled or not allowed 2026-01-28 15:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-cap-style-vented-hard-hat-matte-black-graphite-pattern-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 15:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x60x74-chrome-wire-shelving-with-88-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-4-1-8x5-3-8x3-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-tuftex-yellow-bib-overall-plain-front-pvc-size-3x>: HTTP status code is not handled or not allowed 2026-01-28 15:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20in-replacement-pad-drive-poly-scrub-brush>: HTTP status code is not handled or not allowed 2026-01-28 15:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-register-stand-wslatwall-front-adj-rear-storage-72w-x-22d-x-42h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-register-stand-wslatwall-front-adj-rear-storage-72w-x-22d-x-42h-maple>: HTTP status code is not handled or not allowed 2026-01-28 15:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x60x74-chrome-wire-shelving-with-88-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sanitex-green-bib-overall-plain-front-pvc-on-polyester-size-small>: HTTP status code is not handled or not allowed 2026-01-28 15:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-edge-personal-fall-limiter-8-stainles-steel-cable-twin-leg-snap-hook-63162-00e>: HTTP status code is not handled or not allowed 2026-01-28 15:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-upper-plastic-form-on-faux-crystal-base-white>: HTTP status code is not handled or not allowed 2026-01-28 15:23:28 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/building-materials/plastics/plastic_bar_stock landed on page that is not a product page. 2026-01-28 15:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x48x74-chrome-wire-shelving-with-24-8-h-grid-container-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-12-thick-x-2-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 15:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-caster-for-pl-pipe-rack-system-3-diameter>: HTTP status code is not handled or not allowed 2026-01-28 15:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-plastic-bar-w-lse-acrylic-adhesive-14-thick-x-4-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 15:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-aluminum-hose-cable-bridge-yellow-48-x-718-x-1116>: HTTP status code is not handled or not allowed 2026-01-28 15:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-webtex-yellow-w-hood-snaps-pvc-size-large>: HTTP status code is not handled or not allowed 2026-01-28 15:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/variable-speed-control-3-amp>: HTTP status code is not handled or not allowed 2026-01-28 15:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-14-abrasive-chop-saw>: HTTP status code is not handled or not allowed 2026-01-28 15:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-aluminum-hose-cable-bridge-yellow-36-x-278-x-716>: HTTP status code is not handled or not allowed 2026-01-28 15:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-dock-shelter-10-w-x-10-h-with-36-projection>: HTTP status code is not handled or not allowed 2026-01-28 15:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-chuck-key-48-66-3240>: HTTP status code is not handled or not allowed 2026-01-28 15:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-stack-chair-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 15:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-vented-cap-style-hard-hat-hi-vis-green-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 15:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-vented-full-brim-hard-hat-matte-black-graphite-pattern-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 15:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-diamond-5-12-needle-file-round-pattern-grit-220-fine>: HTTP status code is not handled or not allowed 2026-01-28 15:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-xr7-hard-hat-with-6-point-ratchet-black-graph>: HTTP status code is not handled or not allowed 2026-01-28 15:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-bar-12-thick-x-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 15:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leadhead-auto-darkening-welding-helmet-manual-98x87mm-fire-metal>: HTTP status code is not handled or not allowed 2026-01-28 15:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-economy-black-steel-toe-steel-mid-sole-pvc-size-6>: HTTP status code is not handled or not allowed 2026-01-28 15:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-9v-alkaline-batteries-12-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabric-mesh-bulletin-board-48-x-36-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-box-for-100-slides-cork-lined-red>: HTTP status code is not handled or not allowed 2026-01-28 15:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freezing-box-3-cardboard-64-place-8x8-format-fits-3ml-4ml-and-5ml-cryoclear-vials-white>: HTTP status code is not handled or not allowed 2026-01-28 15:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energy-abs-w-pack-6-ft>: HTTP status code is not handled or not allowed 2026-01-28 15:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/louvered-wall-panel-without-bins-36x19-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 15:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armor-lock-interlocking-rubber-mat-38-thick-2-x-2-black-8-tiles>: HTTP status code is not handled or not allowed 2026-01-28 15:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-loaded-roll-up-bug-screen-door-with-11-oz-mesh-panels-8-x-9>: HTTP status code is not handled or not allowed 2026-01-28 15:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-4-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 15:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m12-x-1-25-x-65mm-steel-zinc-clear-class-8-8-din-960-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 15:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-mixed-flow-in-line-fan-520-cfm>: HTTP status code is not handled or not allowed 2026-01-28 15:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-24-1-4w-x-61-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-deluxe-office-partition-panel-48-1-4w-x-73-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-cap-screw-m8-x-1-25-x-75mm-steel-zinc-yellow-class-10-9-din-931-pkg-of-50-aar08075>: HTTP status code is not handled or not allowed 2026-01-28 15:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-culture-tube-cap-for-20mm-glass-culture-tubes-polypropylene-blue-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-nut-m14-x-1-5-steel-zinc-clear-class-8-8-din-934-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 15:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-janitorial-cabinet-cabinet-assembled-36x18x72-gray-269903gy>: HTTP status code is not handled or not allowed 2026-01-28 15:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-office-partition-panel-with-window-48-1-4w-x-72h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microscope-slides-glass-25x75mm-45-beveled-edges-clipped-corners-green-frosted-144-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/built-in-cylinder-key-lock-dead-bolt-keyed-diff-2-user-keys-and-control-key>: HTTP status code is not handled or not allowed 2026-01-28 15:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-starter-switch-for-5hp-motors-dc103swm44>: HTTP status code is not handled or not allowed 2026-01-28 15:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-handle-641244-641265>: HTTP status code is not handled or not allowed 2026-01-28 15:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-flat-shelf-portable-bin-cart-black>: HTTP status code is not handled or not allowed 2026-01-28 15:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-quilted-thermal-bib-rain-pants-ansi-isea-class-e-lime-black-l-lqbbip-ce-l>: HTTP status code is not handled or not allowed 2026-01-28 15:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-holder-use-with-gtr-ha-series-tube-rotators-12-place-for-15ml-microcentrifuge-tubes-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 118993 pages (at 96 pages/min), scraped 57229 items (at 6 items/min) 2026-01-28 15:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-116-thick-x-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 15:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-pharmacy-safe-mrx2000e-single-door-w-digital-lock-14-w-x-10-3-4-d-x-60-h-white>: HTTP status code is not handled or not allowed 2026-01-28 15:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-full-height-36-w-cabinet-everest-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 15:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-oz-reversible-zip-up-hooded-sweatshirt-ansi-class-3-lime-navy-2x-lnrvdwzhsw-c3-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwikool-14-in-condenser-flanges-dcr-24-for-kib2411-kib2421-kib3021>: HTTP status code is not handled or not allowed 2026-01-28 15:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/americana-full-brim-with-4-point-mega-ratchet-suspension-hi-viz-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-piece-raincoat-35-mil-pvcpolyester-snap-closure-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 15:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-counter-high-36-w-cabinet-everest-blue-3>: HTTP status code is not handled or not allowed 2026-01-28 15:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-132-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 15:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-crane-1000-lbs-capacity-12-span-12-height>: HTTP status code is not handled or not allowed 2026-01-28 15:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-counter-high-48-w-cabinet-everest-blue-3>: HTTP status code is not handled or not allowed 2026-01-28 15:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i675-americana-vent-slide-lock-suspension>: HTTP status code is not handled or not allowed 2026-01-28 15:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-inch-dial-1-4-inch-npt-bottom-0-30-psi-furnished-in-drawn-steel-case>: HTTP status code is not handled or not allowed 2026-01-28 15:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as4e3-americana-vent-full-brim-sun-shield>: HTTP status code is not handled or not allowed 2026-01-28 15:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-acetal-plastic-bar-18-thick-x-34-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 15:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/turbo-shrub-spray-gun>: HTTP status code is not handled or not allowed 2026-01-28 15:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-bin-cabinet-185-red-hook-on-bins-3-adj-shelves-60w-24d-84h>: HTTP status code is not handled or not allowed 2026-01-28 15:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-inch-variangle-thermometer-3-1-2-inch-stem-30-240f>: HTTP status code is not handled or not allowed 2026-01-28 15:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-vari-angle-thermometer-3-1-2-inch-stem-50-300f>: HTTP status code is not handled or not allowed 2026-01-28 15:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-universal-fits-most-12mm-13mm-and-16mm-tubes-gray-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-high-post-chrome-leveler-post-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pump-for-model-8600ap-70-100-psi-82db-noise-level>: HTTP status code is not handled or not allowed 2026-01-28 15:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-1340vs-with-newall-dp700-dro-with-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 15:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifuge-tube-15ml-polypropylene-molded-graduations-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-wood-science-lab-table-24-x-54-x-36-whiteboard-top>: HTTP status code is not handled or not allowed 2026-01-28 15:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-pentrating-roof-mount-166-od-and-30-long-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1440-3-lathe-with-newall-dp500-dro-and-taper-attachment>: HTTP status code is not handled or not allowed 2026-01-28 15:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-cap-for-wg-8-alexis-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254vs-with-acu-rite-203-3x-q-dro-x-powerfeed-air-power-drawbar>: HTTP status code is not handled or not allowed 2026-01-28 15:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-cap-for-wg-6-white>: HTTP status code is not handled or not allowed 2026-01-28 15:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-150ml-narrow-stem-large-bulb-155mm-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-pro-undercounter-refrigerator-33-38f-27-58w-30-18d-tuc-27d-2-lp>: HTTP status code is not handled or not allowed 2026-01-28 15:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4in-single-round-powder-coated-steel-light-box-w-knockouts>: HTTP status code is not handled or not allowed 2026-01-28 15:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4in-triple-round-polished-stainless-steel-light-box-w-knockouts>: HTTP status code is not handled or not allowed 2026-01-28 15:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-120-day-undated-horizontal-erasable-wall-planner-36x24-white-blue-pm23928>: HTTP status code is not handled or not allowed 2026-01-28 15:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-60-day-undated-horizontal-erasable-wall-planner-36x24-white-blue-pm23328>: HTTP status code is not handled or not allowed 2026-01-28 15:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1254vs-with-x-y-z-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 15:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-sky-31-square-resin-dining-table-black>: HTTP status code is not handled or not allowed 2026-01-28 15:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-sky-24-square-resin-folding-bar-table-black>: HTTP status code is not handled or not allowed 2026-01-28 15:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/irrigation-12-barb-coupling>: HTTP status code is not handled or not allowed 2026-01-28 15:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-and-a-half-in-blue-low-side-gauge-49052>: HTTP status code is not handled or not allowed 2026-01-28 15:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerator-reach-in-1-section-24-78w-23-38d-63-18h-t-12g>: HTTP status code is not handled or not allowed 2026-01-28 15:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60in-yellow-plus-ii-quarter-in-hose-with-sealright-22060>: HTTP status code is not handled or not allowed 2026-01-28 15:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-diamond-fixed-volume-100ul-lavender>: HTTP status code is not handled or not allowed 2026-01-28 15:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-bench-high-36-w-cabinet-beige-4>: HTTP status code is not handled or not allowed 2026-01-28 15:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-230ml-extra-long-300mm-12-inches-long-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gouging-torch-with-7-cable-1000-amp>: HTTP status code is not handled or not allowed 2026-01-28 15:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-camwear-spoon-white>: HTTP status code is not handled or not allowed 2026-01-28 15:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-eye-bolt-seb-u-100>: HTTP status code is not handled or not allowed 2026-01-28 15:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ante-brush-belt-for-push-sweeper-ref7-rp9019>: HTTP status code is not handled or not allowed 2026-01-28 15:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jmd-45g-hpf-geared-head-sq-col-mill-drill-power-downfeed-dp700-dro-x-axis-powerfeed>: HTTP status code is not handled or not allowed 2026-01-28 15:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freezer-merch-2-section-47-18w-29-78d-78-58h-gdm-43f>: HTTP status code is not handled or not allowed 2026-01-28 15:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerated-chef-base-72-38l-72-38w-32-18d-20-38h-trcb-72>: HTTP status code is not handled or not allowed 2026-01-28 15:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jwds-1020-benchtop-drum-sander>: HTTP status code is not handled or not allowed 2026-01-28 15:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-camwear-perforated-spoon-red>: HTTP status code is not handled or not allowed 2026-01-28 15:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-with-handle-diamond-essentials-low-form-printed-graduations-pmp-250ml>: HTTP status code is not handled or not allowed 2026-01-28 15:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/351156-jmd-45vspft-var-speed-geared-head-square-column-mill-drill-power-downfeed-dp500>: HTTP status code is not handled or not allowed 2026-01-28 15:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24in-heavy-duty-exhaust-fan-with-integrated-shutter-if24-4100-cfm>: HTTP status code is not handled or not allowed 2026-01-28 15:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-pail-lid-press-closer-987172>: HTTP status code is not handled or not allowed 2026-01-28 15:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerator-reach-in-1-section-27w-29-34d-78-38h-ts-23-1-g-1>: HTTP status code is not handled or not allowed 2026-01-28 15:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jps-10-10-proshop-1-75hp-1ph-115v-52-fence-system-steel-wing-w-riving-knife>: HTTP status code is not handled or not allowed 2026-01-28 15:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-corrugated-boxes-7-x-7-x-14>: HTTP status code is not handled or not allowed 2026-01-28 15:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-three-corner-polypropylene-graduated-1000ml-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-mailer-12-x-4-x-4>: HTTP status code is not handled or not allowed 2026-01-28 15:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2913-insulated-handle>: HTTP status code is not handled or not allowed 2026-01-28 15:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-stand-reinforced-polypropylene-32mm-12-place-white>: HTTP status code is not handled or not allowed 2026-01-28 15:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3000-0000-right-hand-swivel-stem-repair-kit-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-sheets-20-x-16>: HTTP status code is not handled or not allowed 2026-01-28 15:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-2-axis-newall-dp700-dro-and-servo-x-y-axis-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 15:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-diamond-essentials-griffin-style-low-form-printed-graduations-pp-100ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-industrial-footwear-traction-aid-with-14-tungsten-carbide-spikes-small>: HTTP status code is not handled or not allowed 2026-01-28 15:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-double-wall-corrugated-sheets-30-x-40>: HTTP status code is not handled or not allowed 2026-01-28 15:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-3-axis-acu-rite-300-knee-dro-and-x-y-axis-jet-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 15:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-3-axis-acu-rite-millpwr-cnc>: HTTP status code is not handled or not allowed 2026-01-28 15:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerator-reach-in-2-section-54-18w-29-34d-78-38h-ts-49g>: HTTP status code is not handled or not allowed 2026-01-28 15:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/refrigerator-reach-in-3-section-78-18w-29-12d-79-18h-ts-72>: HTTP status code is not handled or not allowed 2026-01-28 15:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glassplate-chiller-36-34w-26-58d-33-38h-t-36-gc>: HTTP status code is not handled or not allowed 2026-01-28 15:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-bookfolds-7-1-2-x-5-1-2-x-2->: HTTP status code is not handled or not allowed 2026-01-28 15:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-mailer-7-1-8-x-5-x-3>: HTTP status code is not handled or not allowed 2026-01-28 15:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-full-brim-hard-hat-non-vented-4-pt-ratchet-suspension-red>: HTTP status code is not handled or not allowed 2026-01-28 15:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inch-barbed-straight-coupler-white-nylon>: HTTP status code is not handled or not allowed 2026-01-28 15:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-tube-rack-20mm-half-size-20-place-nylon-red>: HTTP status code is not handled or not allowed 2026-01-28 15:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evs-949-mill-3-axis-acu-rite-203-knee-dro-x-y-axis-jet-powerfeeds-usa-pwrd-drw-br>: HTTP status code is not handled or not allowed 2026-01-28 15:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-mobile-plastic-safety-edge-work-bench-adjustable-height-1-5-8-top>: HTTP status code is not handled or not allowed 2026-01-28 15:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-nitrile-coated-gloves-gray-black-medium-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-plastic-liner-square-20-gal-receptacles>: HTTP status code is not handled or not allowed 2026-01-28 15:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/egh-1740-with-acu-rite-203-dro>: HTTP status code is not handled or not allowed 2026-01-28 15:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wireless-microtube-rack-with-handles-for-15ml-and-20ml-microcentrifuge-tubes-96-place-red>: HTTP status code is not handled or not allowed 2026-01-28 15:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etm-949-mill-with-x-y-z-axis-jet-powerfeeds>: HTTP status code is not handled or not allowed 2026-01-28 15:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-stand-reinforced-polypropylene-16mm-31-place-red>: HTTP status code is not handled or not allowed 2026-01-28 15:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-400v-climbing-style-hard-hat-industrial-6-pt-suspension-vented-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/display-rectangular-cover-18x26-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-front-brim-hard-hat-non-vented-4-pt-ratchet-suspension-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-4000-series-plastic-laminate-w-t-molding-72-w-x-30-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-12x18-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1852-sl-6-5-8-x-1-4-double-cut-included-angle-bur>: HTTP status code is not handled or not allowed 2026-01-28 15:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/market-tray-12x30-green>: HTTP status code is not handled or not allowed 2026-01-28 15:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 119091 pages (at 98 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melamine-dry-erase-whiteboard-4-x-8-double-sided-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 15:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-large-wide-mouth-with-handle-round-hdpe-bottle-100mm-pp-screw-cap-4-liters-10-gallons>: HTTP status code is not handled or not allowed 2026-01-28 15:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-narrow-mouth-polypropylene-attached-polypropylene-screw-cap-60ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-3512-series-esd-w-t-molding-60-w-x-36-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evs-949-mill-3-axis-acu-rite-303-knee-dro-x-y-z-axis-jet-pwrfds-usa-pwred-drw-br>: HTTP status code is not handled or not allowed 2026-01-28 15:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madarin-red-tissue-paper-20-x-30>: HTTP status code is not handled or not allowed 2026-01-28 15:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1847-sc-2-1-4-x-5-16-double-cut-cylindrical-ball-nose-bur>: HTTP status code is not handled or not allowed 2026-01-28 15:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackbin-3505-series-hardboard-over-stainless-60-w-x-36-d-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-roller-and-portable-power-unit-3-phase-230-volt>: HTTP status code is not handled or not allowed 2026-01-28 15:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-li-platform-dandux-6-bushel-canvas-vinyl-bulk-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4295-98-1-inch-self-priming-centrifugal-pump-stainless-steel-viton-seal-1-2hp-odp-1-phase-motor>: HTTP status code is not handled or not allowed 2026-01-28 15:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-power-unit-3-phase-230-volt>: HTTP status code is not handled or not allowed 2026-01-28 15:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-ton-bender-and-portable-power-unit-1-phase-230-volt>: HTTP status code is not handled or not allowed 2026-01-28 15:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-corrugated-mailer-6-x-4-x-1->: HTTP status code is not handled or not allowed 2026-01-28 15:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-stock-picking-ladder-expanded-tread-spl-9-14x>: HTTP status code is not handled or not allowed 2026-01-28 15:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1846-sb-6-15-88mm-x-25-4mm-double-cut-cylindrical-bur-w-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 15:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-industrial-duty-exhaust-fan-1-phase-3-4-hp>: HTTP status code is not handled or not allowed 2026-01-28 15:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1848-sf-41-1-8-x-1-8-standard-cut-round-nose-tree-bur>: HTTP status code is not handled or not allowed 2026-01-28 15:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-corrugated-sheets-24-x-12>: HTTP status code is not handled or not allowed 2026-01-28 15:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camrack-base-rack-7-1-2-inch-inside-stack-height-navy-blue-nsf>: HTTP status code is not handled or not allowed 2026-01-28 15:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kraft-literature-mailer-11-1-8-x-8-3-4-x-3>: HTTP status code is not handled or not allowed 2026-01-28 15:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/artificial-christmas-tree-6-5-ft-greenland-tree-multi-led-lights>: HTTP status code is not handled or not allowed 2026-01-28 15:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-45g-manual-close-acid-corrosive-cabinet-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-stock-picking-ladder-serrated-tread-spl-9-g>: HTTP status code is not handled or not allowed 2026-01-28 15:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-60g-self-close-hazardous-waste-drum-storage-cabinet-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-15ml-polypropylene-yellow-stand-up-zipbag-mg-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-4-cylinder-vertical-lp-oxygen-cabinet-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 15:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-60g-self-closehazardous-waste-drum-storage-cabinet-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1853-sd-51-1-4-x-1-8-double-cut-ball-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-28 15:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-security-truck-poly-z-brite-with-brakes-2-shelves-24-w-x-48-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 15:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-draining-tray-100-place-for-up-to-200-slides-abs-blue-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-boxes-21-x-15-x-15>: HTTP status code is not handled or not allowed 2026-01-28 15:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-deluxe-literature-mailer-12-x-10-x-4->: HTTP status code is not handled or not allowed 2026-01-28 15:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-front-smoking-shelter-freestanding-10-ft-4-inch-w-x-7-ft-d-x-7-ft-11-inch-h-aluminum-roof>: HTTP status code is not handled or not allowed 2026-01-28 15:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8-x-1-25-x-45mm-machine-screw-phillips-pan-head-class-4-8-steel-zinc-50-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-narrow-mouth-ldpe-attached-polypropylene-screw-cap-125ml-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-60g-manual-close-paint-ink-cabinet-red>: HTTP status code is not handled or not allowed 2026-01-28 15:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-aluminum-rolling-ladder-24w-grip-tread-28d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 15:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-36x18x72-flammable-spill-containment-cabinet-white>: HTTP status code is not handled or not allowed 2026-01-28 15:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1851-se-1-1-4-x-1-4-standard-cut-egg-shaped-bur>: HTTP status code is not handled or not allowed 2026-01-28 15:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-shutters-60-exhaust-fans>: HTTP status code is not handled or not allowed 2026-01-28 15:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fantech-centrifugal-4-duct-fan-molded-housing-122>: HTTP status code is not handled or not allowed 2026-01-28 15:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-aluminum-wheel-barrow-style-rolling-ladder-24w-plat-grip-strut-tread-wlartr106245c>: HTTP status code is not handled or not allowed 2026-01-28 15:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-aluminum-wheel-barrow-style-rolling-ladder-16w-plat-grip-strut-tread-wlartr106165c>: HTTP status code is not handled or not allowed 2026-01-28 15:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-molded-ring-binder-side-open-medium-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-40-roll-ultimat-rubber-dark-blue-ur-4840db>: HTTP status code is not handled or not allowed 2026-01-28 15:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-40-roll-terra-stat-esd-floor-mat-fm-4840>: HTTP status code is not handled or not allowed 2026-01-28 15:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-pmp-tpx-molded-graduations-1000ml>: HTTP status code is not handled or not allowed 2026-01-28 15:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-48-mat-ultimat-light-blue-um-3048lb>: HTTP status code is not handled or not allowed 2026-01-28 15:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1845-sa-2-7-94mm-x-19-1mm-double-cut-cylindrical-bur-w-o-end-cut>: HTTP status code is not handled or not allowed 2026-01-28 15:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-pmp-tpx-printed-graduations-1000ml>: HTTP status code is not handled or not allowed 2026-01-28 15:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-tefc-aluminum-propeller-fan-w-low-stand-3-phase-5-hp-1>: HTTP status code is not handled or not allowed 2026-01-28 15:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-steel-propeller-fan-w-low-stand-3-phase-1-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 15:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-mat-ultimat-clean-room-white-cm-2436>: HTTP status code is not handled or not allowed 2026-01-28 15:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bird-flite-wide-w-bond-bird-spikes-10-ft-bp-f210>: HTTP status code is not handled or not allowed 2026-01-28 15:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-tip-1000-10000ul-1-10ml-natural-for-use-with-diamond-advance-pipettors-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1852-sl-3l6-3-8-x-1-4-double-cut-included-angle-bur>: HTTP status code is not handled or not allowed 2026-01-28 15:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x36-phenolic-square-edge-mobile-power-apron-lab-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-blue-compound-gauge-r-22-r-404a-r-410a-3-18>: HTTP status code is not handled or not allowed 2026-01-28 15:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/188xl025-standard-timing-belt-xl-1-4-x-18-13-16-t94-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 15:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cle-line-1852-sl-6-5-8-x-1-4-standard-cut-included-angle-bur>: HTTP status code is not handled or not allowed 2026-01-28 15:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pop-up-ball-transfer-platform-19-w-x-32-l>: HTTP status code is not handled or not allowed 2026-01-28 15:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-design-tilter>: HTTP status code is not handled or not allowed 2026-01-28 15:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-eye-wind-powered-bird-deterrent-kit-red-ee-1wr>: HTTP status code is not handled or not allowed 2026-01-28 15:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-jacket-3-pack-plus-2-hoses-ball-valve-ends-60>: HTTP status code is not handled or not allowed 2026-01-28 15:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-pmp-tpx-molded-graduations-100ml>: HTTP status code is not handled or not allowed 2026-01-28 15:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-drum-tipper-upender>: HTTP status code is not handled or not allowed 2026-01-28 15:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machinery-skates-steerable-8-rollers-nylon>: HTTP status code is not handled or not allowed 2026-01-28 15:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-1-4-x-65-1-2-h-deluxe-office-partition-with-pass-thru-cable-gray-277550gy>: HTTP status code is not handled or not allowed 2026-01-28 15:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-filler-synthetic-rubber-with-adapter-red>: HTTP status code is not handled or not allowed 2026-01-28 15:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-jib-crane-low-ceiling-600-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-wire-adjustable-wrist-strap-w-7-mm-snaps-6ft-coil-cord>: HTTP status code is not handled or not allowed 2026-01-28 15:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jewel-premium-metal-dual-wire-wrist-strap-w-4-mm-snaps-medium>: HTTP status code is not handled or not allowed 2026-01-28 15:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/270l075-standard-timing-belt-l-3-4-x-27-t72-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 15:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supco-pressure-switch-90-psi-open-120-psi-closed>: HTTP status code is not handled or not allowed 2026-01-28 15:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-pmp-tpx-printed-graduations-25ml-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-tip-1-200ul-certified-universal-graduated-natural-54mm-960-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-mid-fence>: HTTP status code is not handled or not allowed 2026-01-28 15:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dissipative-dual-layer-rubber-roll-light-blue-0060in-x-30in-x-50ft>: HTTP status code is not handled or not allowed 2026-01-28 15:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schedule-40-pvc-4-way-lt-fitting-2dia-white-46-u>: HTTP status code is not handled or not allowed 2026-01-28 15:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lowboy-teller-pedestal-cabinet-s-606-b-2-drawers-1-legal-drawer-19w-x-19d-x-27-7-8h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-flat-top-fittings-1dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 15:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/internal-cap-fittings-1-12dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 15:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-pharmacy-undercounter-freezer-freestanding-30-4-cu-ft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cd255x370-oval-dual-run-capacitor-25-5-mfd-x-370v>: HTTP status code is not handled or not allowed 2026-01-28 15:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laboratory-solid-door-5-2-cu-ft-refrigeratorsolid-door-4-cu-ft-capacity-freezer-20>: HTTP status code is not handled or not allowed 2026-01-28 15:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gate-valve-stem-shield-cable-lock-9-inch-stem-9107s>: HTTP status code is not handled or not allowed 2026-01-28 15:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1250h150-standard-timing-belt-h-1-1-2-x-125-t250-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 15:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/420h300-standard-timing-belt-h-3-x-42-t84-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 15:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-solid-shelving-96-x-36-x-51>: HTTP status code is not handled or not allowed 2026-01-28 15:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotationally-molded-plastic-tray-23-3-4-x17x2-1-4-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mg300-true-rms-multimeterinsulation-tester-greenorange>: HTTP status code is not handled or not allowed 2026-01-28 15:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slip-t-fittings-1-12dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 15:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotationally-molded-plastic-tray-47x36x2-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tee-fitting-2dia-furniture-grade-pvc-white>: HTTP status code is not handled or not allowed 2026-01-28 15:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biobox-100-place-polycarbonate-for-12ml-int-cryoclear-tube-white-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2120h100-standard-timing-belt-h-1-x-212-t424-trapezoidal>: HTTP status code is not handled or not allowed 2026-01-28 15:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-zone-store-board-accu-shield-fb-x-red-on-black>: HTTP status code is not handled or not allowed 2026-01-28 15:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/58-pieces-5-8-pro-series-steel-clamping-kit-534174>: HTTP status code is not handled or not allowed 2026-01-28 15:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-barbed-plug-non-animal-derived-polypropylene>: HTTP status code is not handled or not allowed 2026-01-28 15:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-zone-store-board-ultra-aluma-lite-green-on-black>: HTTP status code is not handled or not allowed 2026-01-28 15:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 119191 pages (at 100 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reversible-microcentrifuge-tube-rack-with-cover-96-place-natural-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-3-cu-yd-self-dumping-steel-hopper-35-with-bump-release-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs17hx1316-1-pitch-1-316-finished-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duty-single-rivet-beam-24-w-x-2-3-d-x-1-1-4-h-14-gauge>: HTTP status code is not handled or not allowed 2026-01-28 15:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-duty-single-rivet-beam-48-w-x-2-3-d-x-1-1-4-h-14-gauge>: HTTP status code is not handled or not allowed 2026-01-28 15:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-angle-beam-48-w-x-36-d-x-84-h-4-level-add-on-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ha018240-home-advantage-ii-electric-tankless-water-heater-18-kw-75a>: HTTP status code is not handled or not allowed 2026-01-28 15:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-oil-only-booms-4-case-20-x-8>: HTTP status code is not handled or not allowed 2026-01-28 15:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-oneline-guardrail-steel-hdpe-plastic-yellow-72-x-1434>: HTTP status code is not handled or not allowed 2026-01-28 15:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-set-for-mobile-panel-carts-stainless-steel-pkg-qty-20>: HTTP status code is not handled or not allowed 2026-01-28 15:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-twoline-guardrail-steel-hdpe-plastic-yellow-120-x-42>: HTTP status code is not handled or not allowed 2026-01-28 15:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/666-1-18-5-16x18-8-00-ng-gn-666-tubular-grip-handles-stainless-steel-with-tapped-inserts>: HTTP status code is not handled or not allowed 2026-01-28 15:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-angle-beam-60-w-x-36-d-x-84-h-4-level-add-on-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-spunbond-fine-fiber-universal-heavy-weight-pads-100-bale-18-x-15>: HTTP status code is not handled or not allowed 2026-01-28 15:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-size-bottle-service-standard-d-cor-black>: HTTP status code is not handled or not allowed 2026-01-28 15:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-hazmat-pillows-10-case-18-x-18>: HTTP status code is not handled or not allowed 2026-01-28 15:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-pmp-tpx-molded-graduations-10ml>: HTTP status code is not handled or not allowed 2026-01-28 15:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-angle-beam-72-w-x-36-d-x-84-h-4-level-add-on-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaker-diamond-essentials-griffin-style-low-form-printed-graduations-pmp-250ml-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-w-x-48-d-x-84-h-3-level-starter-no-deck-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pyramid-sign-base-with-98h-post-blue-22w-x-22d-x-22h-base>: HTTP status code is not handled or not allowed 2026-01-28 15:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72w-x-30d-modular-workbench-with-3-drawers-shop-top-safety-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-oneline-guardrail-steel-hdpe-plastic-yellow-48-x-1434>: HTTP status code is not handled or not allowed 2026-01-28 15:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72w-x-30d-modular-workbench-with-5-drawers-shop-top-safety-edge-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-oneline-guardrail-steel-hdpe-plastic-yellow-144-x-1434>: HTTP status code is not handled or not allowed 2026-01-28 15:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs22hx25-metric-34-pitch-25mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-capacity-laptop-charging-station-black>: HTTP status code is not handled or not allowed 2026-01-28 15:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-window-film-12in-w-x-500ft-l-4-mil>: HTTP status code is not handled or not allowed 2026-01-28 15:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs20hx112-34-pitch-1-12-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twin-size-fitted-bed-sheets-80-inch-x-36-inch-x-7-inch-white-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs34hx1-58-pitch-1-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs20hx1316-34-pitch-1-316-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrogen-sulfide-gas-cylinder-1053-25-ppm-h2s-100-ppm-co-25-ch4-209-o2-29l-f>: HTTP status code is not handled or not allowed 2026-01-28 15:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/active-air-mgmlp1-3-way-meter-test-moisture-light-and-ph-levels>: HTTP status code is not handled or not allowed 2026-01-28 15:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foxfarm-fx14020-tiger-bloom-fertilizer-2-8-4-1-gal>: HTTP status code is not handled or not allowed 2026-01-28 15:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/funnel-general-purpose-hdpe-120mm-450ml-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/growt-hgbb4-4-bamboo-stakes-natural-color-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-plastic-knee-dolly-350-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blaster-350-tailgate-spreader-32000>: HTTP status code is not handled or not allowed 2026-01-28 15:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermal-leno-weave-blankets-twin-size-white-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spa-and-comfort-bath-towel-50-inch-x-27-inch-white-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spa-and-comfort-bath-towel-50-inch-x-27-inch-beige-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-ratchet-1-2-inch-drive-65-ft-lb-torque>: HTTP status code is not handled or not allowed 2026-01-28 15:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydrofarm-cktray-flat-cut-kit-tray-11-x-21>: HTTP status code is not handled or not allowed 2026-01-28 15:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-sky-resin-lounge-chair-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-dustvapor-resistant-light-switch-interior-explosion-proof>: HTTP status code is not handled or not allowed 2026-01-28 15:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chesapeake-86776-14-inch-high-pvc-boot-safety-toe-size-14-black>: HTTP status code is not handled or not allowed 2026-01-28 15:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-15ml-polypropylene-no-cap-graduated-natural-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-split-capacitor-condenser-fan-motor-208-230-volts-1075-rpm-7>: HTTP status code is not handled or not allowed 2026-01-28 15:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chesapeake-86775-14-inch-high-pvc-boot-plain-toe-size-15-black>: HTTP status code is not handled or not allowed 2026-01-28 15:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microcentrifuge-tube-2ml-polypropylene-lot-certified-mg-natural-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securall-primer-coat-saltwater-agb3200>: HTTP status code is not handled or not allowed 2026-01-28 15:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kenwood-nx-p1200nvk-5-watt-two-way-vhf-analog-digital-analog-portable-radio-151-159-mhz>: HTTP status code is not handled or not allowed 2026-01-28 15:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50btl40-taper-bushed-58-pitch-40-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-nylon-pants-welastic-waist-ansi-class-e-30l-l-limeblack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cassette-biopsy-embedding-with-attached-lid-35-writing-area-orange-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-split-capacitor-condenser-fan-motor-460-volts-1075-rpm-5>: HTTP status code is not handled or not allowed 2026-01-28 15:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spark-plug-standard-denso-auto-parts-4111>: HTTP status code is not handled or not allowed 2026-01-28 15:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transport-tube-5ml-polypropylene-ss-attached-white-screwcap-mg-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/structural-plastic-vented-1-2-round-shelf-36-x-18>: HTTP status code is not handled or not allowed 2026-01-28 15:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groz-44133-vertical-lift-safety-pump-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 15:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-48-x-46-x-72-4-mil-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-chipboard-pads-9-x-12-x-0030-640-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-packing-list-envelopes-5-1-2-w-x-10-l-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-5-5-8-permanent-split-capacitor-motor-208-230-volts-1075-rpm-13>: HTTP status code is not handled or not allowed 2026-01-28 15:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zds-4-product-1-gpm-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 15:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-care-24-x25-x5-wide-frame-electrostatic-air-filter-merv-8>: HTTP status code is not handled or not allowed 2026-01-28 15:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-cylinder-polypropylene-molded-graduations-25ml-30-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-pallet-covers-68-x-65-x-87-3-mil-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/partial-carton-2-6-red-white>: HTTP status code is not handled or not allowed 2026-01-28 15:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs16hx34-38-pitch-34-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-5-8-heatmaster-motor-208-230-volts-825-rpm-3>: HTTP status code is not handled or not allowed 2026-01-28 15:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-yellow-2-dia-discs>: HTTP status code is not handled or not allowed 2026-01-28 15:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs16hx58-38-pitch-58-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-yellow-4-dia-discs>: HTTP status code is not handled or not allowed 2026-01-28 15:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/morrill-cast-iron-unit-bearing-fan-motor-16-watts-115-volts-2>: HTTP status code is not handled or not allowed 2026-01-28 15:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-shaded-pole-motor-1050-rpm-115-volts-14>: HTTP status code is not handled or not allowed 2026-01-28 15:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packard-c-frame-nutone-replacement-motor-120-volts-3000-rpm-12>: HTTP status code is not handled or not allowed 2026-01-28 15:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/number-3-hydraulic-adjustable-height-packing-workbench-laminate-safety-edge-with-t-mold-60x36-black>: HTTP status code is not handled or not allowed 2026-01-28 15:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-ton-turbo-lifter-garage-jack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-1-1-2-ton-motorcyle-atv-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charger-6-12v-70-62-2a-agm-265-amp-cranking>: HTTP status code is not handled or not allowed 2026-01-28 15:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/number-8-adjustable-height-economy-packing-workbench-laminate-safety-edge-72-x-36-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs24hx1-34-pitch-1-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-bags-4-x-6-2-mil-black-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-cap-for-microtube-with-o-ring-green-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-poly-mailers-13-x-45-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-totally-enclosed-motor-115-volts-1500-rpm-3>: HTTP status code is not handled or not allowed 2026-01-28 15:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shrink-bags-24-x-24-x-100-gauge-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jun-2-fluorescent-red-black>: HTTP status code is not handled or not allowed 2026-01-28 15:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-o-smith-5-split-capacitor-motor-1100-rpm-115-volts-2>: HTTP status code is not handled or not allowed 2026-01-28 15:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ntep-bench-scale-lcd-display-300-lb-x-0-5-lb>: HTTP status code is not handled or not allowed 2026-01-28 15:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ntep-mobile-bench-scale-w-backrail-led-display-1000-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 15:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hbs-1018evs-10-inch-x-18-inch-evs-horizontal-bandsaw>: HTTP status code is not handled or not allowed 2026-01-28 15:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hbs-916evs-9-inch-x-16-inch-evs-horizontal-bandsaw>: HTTP status code is not handled or not allowed 2026-01-28 15:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-silver-ep-21w-x-42l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-tier-2-door-premium-steel-locker-12-w-x-12-d-x-36-h-black-assembled>: HTTP status code is not handled or not allowed 2026-01-28 15:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-chrome-24w-x-72l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-chrome-24w-x-60l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/six-tier-18-door-premium-steel-locker-12-w-x-18-d-x-12-h-black-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 15:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flourescent-orange-2-4>: HTTP status code is not handled or not allowed 2026-01-28 15:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 119292 pages (at 101 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40b35hx34mpb-12-pitch-34-plain-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-grade-colored-masking-tape-red-24mm-x-55m-pack-of-36>: HTTP status code is not handled or not allowed 2026-01-28 15:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-composite-whirl-a-way>: HTTP status code is not handled or not allowed 2026-01-28 15:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-aluminum-camlock-fitting-male-coupler-x-mpt-thread>: HTTP status code is not handled or not allowed 2026-01-28 15:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-chrome-18w-x-24l-x-69h-4-wire-shelves-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contractor-grade-high-adhesion-masking-tape-natural-48mm-x-55m-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 15:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-disc-with-11-black-white>: HTTP status code is not handled or not allowed 2026-01-28 15:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-silver-ep-24w-x-36l-x-40h-2-wire-1-solid-shelf-polyurethane-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-two-tone-hooded-rain-coat-black-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-solid-nos-4-4-3-4-white-red-black>: HTTP status code is not handled or not allowed 2026-01-28 15:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-new-designed-lightweight-shirt-rip-stop-bottom-down-shirt-w-spf-50-orange-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs34hx112-12-pitch-1-12-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-heavy-duty-master-link-traffic-blue-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazard-class-7-radioactive-i-4-4-white-red-black>: HTTP status code is not handled or not allowed 2026-01-28 15:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs2001-men-s-dress-lace-oxford-brown-size-13-eee>: HTTP status code is not handled or not allowed 2026-01-28 15:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50b24hx34mpb-58-pitch-34-plain-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-mr-clip-cobalt-blue-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 15:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-onyx-two-tone-anti-snag-t-shirt-w-segment-tape-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-28 15:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-3-3-shaded-pole-dra-inducer-blower-115-volts-3400-rpm-3>: HTTP status code is not handled or not allowed 2026-01-28 15:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glass-handle-with-care-thank-you-3-5-white-red>: HTTP status code is not handled or not allowed 2026-01-28 15:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs19hx1316-34-pitch-1-316-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/descaler-for-macerating-toilet-systems>: HTTP status code is not handled or not allowed 2026-01-28 15:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-chrome-24w-x-72l-x-43h-3-wire-shelves-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-centrifugal-blower-230-volts-1650-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-cart-chrome-24w-x-48l-x-43h-2-wire-1-solid-shelf-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-lady-short-sleeve-t-shirt-lime-with-pink-side-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-silver-ep-18w-x-72l-x-72h-4-wire-shelves-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs32x112-34-pitch-1-12-finished-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-voltage-heat-pump-non-programmable-2h-1c-or-1h-1c>: HTTP status code is not handled or not allowed 2026-01-28 15:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-silver-ep-18w-x-48l-x-72h-4-wire-shelves-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curbside-truck-chrome-18w-x-72l-x-72h-4-wire-shelves-pneumatic-2-rigid-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50btl60-taper-bushed-58-pitch-60-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-rush-4-4-white-red>: HTTP status code is not handled or not allowed 2026-01-28 15:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs34x112-34-pitch-1-12-finished-bore-34-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-class-2-five-point-breakaway-vest-orange-5xl>: HTTP status code is not handled or not allowed 2026-01-28 15:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-4696dwd-t-s-a-accepted-luggage-combination-padlock-1-5-16-inch-w-syo-black>: HTTP status code is not handled or not allowed 2026-01-28 15:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-slotted-pallet-rack-add-on-no-deck-120-inches-w-x-36-inches-d-x-144-inches-h>: HTTP status code is not handled or not allowed 2026-01-28 15:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs32x134-34-pitch-1-34-finished-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs56x118-12-pitch-56-teeth-1-18-finished-bore-56-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-inch-slantwall-exhaust-fan-belt-drive-1-hp-16780-cfm-115-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-mobile-cabinet-48-wx24-dx37-1-2-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/653-2-3-8-fnpt-x-1-4-mnpt-hose-fitting-adapter>: HTTP status code is not handled or not allowed 2026-01-28 15:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mantis-2x2-commercial-fly-light-white>: HTTP status code is not handled or not allowed 2026-01-28 15:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mantis-1x2-max-50-commercial-fly-light-powder-coated-zintec-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-plastic-glue-boards-black-moisture-resistant-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thu-2-dia-fluorescent-green-black>: HTTP status code is not handled or not allowed 2026-01-28 15:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/demi-diamond-fruit-fly-sticky-trap-combo-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1496-1-4-fnpt-kwik-grip-safety-air-chuck>: HTTP status code is not handled or not allowed 2026-01-28 15:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunburst-glue-boards-transluscent-3-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-ada-inward-swing-partition-door-35-3-5in-w-x-58in-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-drawer-mobile-cabinet-24-wx21-dx43-1-4-h-avalanche-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs24x2316-1-pitch-2-316-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-drawer-mobile-cabinet-24-wx21-dx35-1-4-h-avalanche-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exq-pro-extreme-power-workstation-hutch-72-w-x-30-d-x-h-26-3-8-black-w-red-handle>: HTTP status code is not handled or not allowed 2026-01-28 15:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exq-pro-extreme-power-workstation-hutch-72-w-x-30-d-x-h-26-3-8-blue-w-chrome-handle>: HTTP status code is not handled or not allowed 2026-01-28 15:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1629-500bk-500-3-8-id-push-on-and-lock-hose>: HTTP status code is not handled or not allowed 2026-01-28 15:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-19-drawer-roller-cabinet-55-w-x-25-d-x-h-46-black-w-blue-handles-trim>: HTTP status code is not handled or not allowed 2026-01-28 15:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puller-dent-hammer-slide-81400>: HTTP status code is not handled or not allowed 2026-01-28 15:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-19-drawer-roller-cabinet-55-w-x-25-d-x-h-46-orange-w-black-handles-trim>: HTTP status code is not handled or not allowed 2026-01-28 15:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/between-series-nested-multipurpose-table-72-l-x-30-w-x-29-h-shaker-cherry>: HTTP status code is not handled or not allowed 2026-01-28 15:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1678-1-16-hp-1-phase-850-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steelman-16pc-locking-lug-master-key-set-78537>: HTTP status code is not handled or not allowed 2026-01-28 15:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-3404-1-4-hp-1-phase-1100-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-back-office-chair-with-lumbar-support-fabric-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 15:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-6078-1-2-hp-1-phase-1425-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stock-picking-truck-18-48-63-single-sided-20-cells-10-w>: HTTP status code is not handled or not allowed 2026-01-28 15:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-ec13-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-electric-fogger>: HTTP status code is not handled or not allowed 2026-01-28 15:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-round-reception-ottoman-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-modern-ribbed-executive-chair-leather-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-mobile-medical-privacy-screen-81-w-x-69-h-white-vinyl-panels>: HTTP status code is not handled or not allowed 2026-01-28 15:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chocolate-all-time-favorites-minis-mix-141-5-oz-3-pack-gr>: HTTP status code is not handled or not allowed 2026-01-28 15:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lorna-doone-shortbread-cookies-4-pack-1-oz-120-count-gr>: HTTP status code is not handled or not allowed 2026-01-28 15:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-8-liter-capacity-sanitizing-cleaning-all-purpose-pump-sprayer>: HTTP status code is not handled or not allowed 2026-01-28 15:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hershey-s-miniatures-chocolate-candy-assortment-10-4-oz-3-pack-gr>: HTTP status code is not handled or not allowed 2026-01-28 15:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-duty-hamper-with-foot-pedal-steel-white>: HTTP status code is not handled or not allowed 2026-01-28 15:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-paper-recycling-lid-green>: HTTP status code is not handled or not allowed 2026-01-28 15:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1789-1-3-hp-1-phase-1725-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-panel-stationary-medical-privacy-screen-81-wx69-h-white-aml-vinyl-panels>: HTTP status code is not handled or not allowed 2026-01-28 15:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-dairy-powdered-creamer-original-22-oz-canister-12-carton>: HTTP status code is not handled or not allowed 2026-01-28 15:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-24-w-stainless-steel-ladder-without-rails-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 15:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t1c1j-1-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abt-hc-afs-1720-standard-auto-defrost-hydrocarbon-laboratory-freezer-17-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 15:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-4-tier-microwave-station-cart-kit-24-l-x-18-w-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 15:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-16-wx72-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 15:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-2896-1-1-2-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-t13c2j-1-3-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lateral-44-4-drawer-fire-and-water-resistant-file-cabinet-putty-lat4w44p>: HTTP status code is not handled or not allowed 2026-01-28 15:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1879-3-4-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-16-wx71-d-stainless-steel-rolling-safety-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 15:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-single-bevel-compound-miter-saw-15-amp-dws715>: HTTP status code is not handled or not allowed 2026-01-28 15:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-sds-max-rotary-hammer-d25773k>: HTTP status code is not handled or not allowed 2026-01-28 15:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-14-gauge-swivel-head-shears-bare-tool-only-dcs494b>: HTTP status code is not handled or not allowed 2026-01-28 15:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-16-w-stainless-steel-fold-store-ladder-serrated-grating>: HTTP status code is not handled or not allowed 2026-01-28 15:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/janitorial-cabinet-18-d-x-36-w-x-72-h-putty>: HTTP status code is not handled or not allowed 2026-01-28 15:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-wide-4-drawer-lateral-file-cabinet-arctic-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deck-mount-swing-activated-faucet-eyewash-unit-mixed-faucet-left-hand>: HTTP status code is not handled or not allowed 2026-01-28 15:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-eh704-2-hp-3-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-barrier-free-cooler-stainless-steel-wall-hung-115v-60hz-5-amps>: HTTP status code is not handled or not allowed 2026-01-28 15:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 119391 pages (at 99 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-eb973-3-4-1-10-hp-1-phase-3450-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-speed-control>: HTTP status code is not handled or not allowed 2026-01-28 15:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/health-hygiene-station-with-floor-stand-and-removable-header-white-dxhs-1854>: HTTP status code is not handled or not allowed 2026-01-28 15:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipeline-gloss-white-costumer>: HTTP status code is not handled or not allowed 2026-01-28 15:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/compact-pro-industrial-led-high-bay-15-000-lumens-120v-277v-5000k-white>: HTTP status code is not handled or not allowed 2026-01-28 15:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-head-curtain-dock-seal-fits-9-x-10-door-w-10-projection>: HTTP status code is not handled or not allowed 2026-01-28 15:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-rear-weel-carriage-standard-handle-li-kar-stair-climbing-trucks>: HTTP status code is not handled or not allowed 2026-01-28 15:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/03-600-30-metal-ring-weight-9-lbs-for-cones>: HTTP status code is not handled or not allowed 2026-01-28 15:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d14b2nza9-1-4-hp-1-phase-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-u5p2dk-5-hp-3-phase-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-shelving-drawer-unit-36x12x75-48-drawers-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-actuated-hydraulic-bottle-jack-30-ton>: HTTP status code is not handled or not allowed 2026-01-28 15:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-workbench-w-leg-5-drawer-cabinet-plastic-laminate-top-blue-3>: HTTP status code is not handled or not allowed 2026-01-28 15:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d10c2k21-10-hp-1-phase-1740-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn67-30-1-h-145tc-cast-iron-helical-bevel-speed-reducer-145tc-input-flange-30-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 15:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-khn37-10-1-h-143-5tc-cast-iron-helical-bevel-speed-reducer-143-5tc-input-flange-10-1-foot-mt>: HTTP status code is not handled or not allowed 2026-01-28 15:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-dj7c2k21m-7-5-hp-1-phase-1730-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ready-built-ii-locker-single-tier-1-wide-12x15x78-parchment>: HTTP status code is not handled or not allowed 2026-01-28 15:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-agl10fl2s-1-1-8-hp-1-phase-3450-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powr-flite-pfms-nebula-disinfectant-mister-detail-cleaner-3-5-gal-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-knock-down-antimicrobial-locker-single-tier-1-wide-12x18x78>: HTTP status code is not handled or not allowed 2026-01-28 15:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-elt20e2d-20-hp-3-phase-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vp40n12-vacuum-packer-40cm-sealing-bar>: HTTP status code is not handled or not allowed 2026-01-28 15:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-supported-personal-safety-workbench-partition-60w-x-60h-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-shelving-with-wood-deck-84-w-x-30-d-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-fd32ca1p14-1-1-2-hp-1-phase-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lau-double-inlet-blower-wheel-13-3-16-diameter-5-8-bore-2>: HTTP status code is not handled or not allowed 2026-01-28 15:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-un2t2gc-2-hp-3-phase-1745-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-galvanized-steel-blower-wheel-6-diameter-1-2-bore-2>: HTTP status code is not handled or not allowed 2026-01-28 15:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-galvanized-steel-blower-wheel-9-1-8-diameter-1-2-bore-1>: HTTP status code is not handled or not allowed 2026-01-28 15:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-heavy-duty-plastic-chain-120-feet-in-a-pail-white>: HTTP status code is not handled or not allowed 2026-01-28 15:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fasco-galvanized-steel-blower-wheel-8-5-64-diameter-1-2-bore-1>: HTTP status code is not handled or not allowed 2026-01-28 15:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-heavy-duty-plastic-chain-500-feet-white>: HTTP status code is not handled or not allowed 2026-01-28 15:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-un5t2bc-5-hp-3-phase-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-yc5p2b-5-hp-3-phase-1755-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-d3p2h-3-hp-3-phase-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cork-strips-bulletin-bars-4-ft-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rs22i-a125-230-3-60-base-mount-125-psi>: HTTP status code is not handled or not allowed 2026-01-28 15:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-c2p1b-2-hp-3-phase-3495-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retaining-ring-external-internal-assortment-220-piece>: HTTP status code is not handled or not allowed 2026-01-28 15:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-add-on-unit-4-vented-shelves-24x48x72>: HTTP status code is not handled or not allowed 2026-01-28 15:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1696-3-4-hp-1-phase-1625-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-8952-1-5-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-p200nl-legendpress-forged-no-lead-brass-ball-valve-101-006nl>: HTTP status code is not handled or not allowed 2026-01-28 15:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-un12t2bc-0-5-hp-3-phase-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-t-2000nl-no-lead-forged-brass-full-port-ball-valve-101-418nl>: HTTP status code is not handled or not allowed 2026-01-28 15:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-portable-plastic-dock-plate-hand-trucks-36-lx48-wx5-h-750-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252952-clear-euro-style-print-holder-8-5-x-11>: HTTP status code is not handled or not allowed 2026-01-28 15:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-3846-1-4-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-3847-1-3-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kan-series-helical-bevel-speed-reducer-torq-arm-kit-size-77-torq-arm-kit-hardw-incl>: HTTP status code is not handled or not allowed 2026-01-28 15:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-3742h-3-4-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-1875h-1-3-hp-1-phase-825-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-motor-4960-1-3-hp-1-phase-1075-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwe-kan37-7-5-1-h-56c-cast-iron-helical-bevel-speed-reducer-56c-input-flange-7-5-1>: HTTP status code is not handled or not allowed 2026-01-28 15:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camwear-colander-6-15-16-x-12-3-4-x-5-deep-clear-polycarbonate-fits-1-3-size-food-pans-nsf>: HTTP status code is not handled or not allowed 2026-01-28 15:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/institutional-caster-rigid-4-diameter-325-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 15:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camtherm-hot-tall-profile-celsius-granite-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-seat-cover-vinyl-black>: HTTP status code is not handled or not allowed 2026-01-28 15:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-lid-for-parsley-shaker-dredge-white>: HTTP status code is not handled or not allowed 2026-01-28 15:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-window-gray-36-1-4-w-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 15:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-freestanding-office-partition-panel-60-1-4-w-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-deluxe-freestanding-office-partition-panel-48-1-4-w-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octagonal-message-board>: HTTP status code is not handled or not allowed 2026-01-28 15:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-food-bars-serving-buffet-cold-food-60-x-36-hot-red->: HTTP status code is not handled or not allowed 2026-01-28 15:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-file-2-horizontal-sorters>: HTTP status code is not handled or not allowed 2026-01-28 15:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-deluxe-mobile-office-partition-panel-60-1-4-w-x-96-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-hands-free-wall-mount-sink-w-faucet-14-x-10-x-5-deep>: HTTP status code is not handled or not allowed 2026-01-28 15:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-locker-three-tier-1-wide-12-x-15-x-20-deep-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35-w-sitting-adjustable-height-pc-cart-w-shelf-cherry>: HTTP status code is not handled or not allowed 2026-01-28 15:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camsquare-food-container-4-quart-7-1-4-x-7-1-4-x-7-3-8-natural-white-green-graduation>: HTTP status code is not handled or not allowed 2026-01-28 15:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-waste-container-round-recycle-can>: HTTP status code is not handled or not allowed 2026-01-28 15:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-for-slope-top-locker-15-x-72-deep-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cherry-counter-gray-panel-l-shaped-reception-station-3>: HTTP status code is not handled or not allowed 2026-01-28 15:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camwear-food-pan-1-2-size-2-1-2-deep-polycarbonate-clear-nsf>: HTTP status code is not handled or not allowed 2026-01-28 15:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camwear-food-pan-1-2-size-long-2-1-2-deep-white-nsf>: HTTP status code is not handled or not allowed 2026-01-28 15:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cambox-2-compartments-15-5-8-l-x-20-1-2-w-x-4-7-8-h-hi-gloss-plastic-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-cold-cart-tall-profile-granite-gray-celsius-10-rear-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-8-diameter-turntable-4-h-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcarrier-food-pan-carrier-16-1-2x24x23-5-16-capacity-8-trays-coffee-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20120-deluxe-rechargeable-handheld-pulse-oximeter>: HTTP status code is not handled or not allowed 2026-01-28 15:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airforce-hand-dryer-230v-white>: HTTP status code is not handled or not allowed 2026-01-28 15:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-spreader-li-ing-beam-10-000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meal-delivery-cart-tall-profile-1-door-30-5-8x39-1-8x58-1-8-granite-gray-with-cream-color-door>: HTTP status code is not handled or not allowed 2026-01-28 15:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-cabinet-2-3-4-backsplash-hinged-doors-galv-30-x-72>: HTTP status code is not handled or not allowed 2026-01-28 15:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-y-1-4-tube-metal>: HTTP status code is not handled or not allowed 2026-01-28 15:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-shower-seat-with-sponge-cushion-le-hand-seat>: HTTP status code is not handled or not allowed 2026-01-28 15:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-tee-composite-6mm-tube-x-4mm-tube-x-6mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 15:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pizza-dough-box-white-polypropylene>: HTTP status code is not handled or not allowed 2026-01-28 15:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camlink-for-dunnage-racks>: HTTP status code is not handled or not allowed 2026-01-28 15:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expander-10mm-stud-x-12mm-tube>: HTTP status code is not handled or not allowed 2026-01-28 15:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-round-1-qt-6-1-16-diameter-x-5-high-natural-white-polyethylene-nsf>: HTTP status code is not handled or not allowed 2026-01-28 15:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-camcart-heated-food-pan-carrier-front-loading-granite-green-220v-60-1-ph>: HTTP status code is not handled or not allowed 2026-01-28 15:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-flat-top-workbench-galv-legs-crossbracing-72-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-28 15:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camshelving-add-on-unit-18x42x64-brushed-graphite>: HTTP status code is not handled or not allowed 2026-01-28 15:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-union-elbow-4mm>: HTTP status code is not handled or not allowed 2026-01-28 15:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-degree-swivel-elbow-1-2-tube-x-1-2>: HTTP status code is not handled or not allowed 2026-01-28 15:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l190-1-15-16-inch-bore-diameter-1-2-x-1-4-keyway>: HTTP status code is not handled or not allowed 2026-01-28 15:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-swivel-elbow-4mm-tube-x-m5>: HTTP status code is not handled or not allowed 2026-01-28 15:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 119491 pages (at 100 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l190-2-1-8-inch-bore-diameter-1-2-x-1-4-keyway>: HTTP status code is not handled or not allowed 2026-01-28 15:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-stainless-steel-10mm-tube-x-1-4-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 15:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronze-jaw-coupling-insert-style-l110>: HTTP status code is not handled or not allowed 2026-01-28 15:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-metal-release-collet-5-16-tube-x-1-2-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 15:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urethane-jaw-coupling-insert-style-l190>: HTTP status code is not handled or not allowed 2026-01-28 15:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-jaw-coupling-hub-style-l110-1-5-8-inch-bore-diameter-3-8-x-3-16-keyway>: HTTP status code is not handled or not allowed 2026-01-28 15:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-elbow-4mm-tube-x-1-8-female>: HTTP status code is not handled or not allowed 2026-01-28 15:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-1-4-tube-x-10-32-unf-male>: HTTP status code is not handled or not allowed 2026-01-28 15:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-npt-breather-vent-brass-body-100-micron-14-to-176-f>: HTTP status code is not handled or not allowed 2026-01-28 15:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-degree-swivel-elbow-1-4-tube-x-1-8-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 15:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-elbow-stainless-steel-1-2>: HTTP status code is not handled or not allowed 2026-01-28 15:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-convection-incubator-programmable-32-liters-115-volt>: HTTP status code is not handled or not allowed 2026-01-28 15:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-convection-incubator-programmable-74-liters-115v>: HTTP status code is not handled or not allowed 2026-01-28 15:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forced-air-circulation-incubator-74-liters-230-volt>: HTTP status code is not handled or not allowed 2026-01-28 15:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carbon-steel-inside-spring-caliper-0-10-5-8-range>: HTTP status code is not handled or not allowed 2026-01-28 15:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-square-set-2-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 15:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-mini-electronic-height-gage-0-13-16-inch-0-20mm-range>: HTTP status code is not handled or not allowed 2026-01-28 15:29:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-electronic-left-hand-caliper-0-12-inch-0-300mm-range>: HTTP status code is not handled or not allowed 2026-01-28 15:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-gage-handle-w-1pc-handle-and-7-pairs-of-collecting-bushes-040-075-inch-range>: HTTP status code is not handled or not allowed 2026-01-28 15:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/telescoping-magnetic-pick-up-and-flashlight>: HTTP status code is not handled or not allowed 2026-01-28 15:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-conveyor-w-steel-rollers-720l-x-34-58w>: HTTP status code is not handled or not allowed 2026-01-28 15:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sidedshield-24-inch-reach-w-interlock-16-inch-l-x-14-inch-w-x-12-inch-h-20-lb>: HTTP status code is not handled or not allowed 2026-01-28 15:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sidedshield-20-inch-reach-w-interlock-led-16-inch-l-x-14-inch-w-x-12-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-spray-nozzle-for-battery-powered-portable-ac-coil-cleaner-604147>: HTTP status code is not handled or not allowed 2026-01-28 15:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-ply-anti-microbial-looped-end-mop-w-green-band-medium-natural-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 15:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ecp-bi-support-roll-stand-72-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 15:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mounting-cable-tie-8l-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stealthnet-bird-netting-50l-x-25w-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stealthnet-1-18-standard-bird-netting-50l-x-75w-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-expansion-netbolt-34l-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-w-integrated-shackle-516-dia-x-50l>: HTTP status code is not handled or not allowed 2026-01-28 15:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-w-integrated-shackle-58-dia-x-25l>: HTTP status code is not handled or not allowed 2026-01-28 15:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-extension-w-integrated-shackle-14-dia-x-50l>: HTTP status code is not handled or not allowed 2026-01-28 15:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-vinyl-bumper-truck-2-rigid-2-swivel-casters-18-bushel-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-vinyl-bumper-truck-all-swivel-casters-18-bushel-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbw-vinyl-bumper-truck-all-swivel-20-bushel-capacity-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/muskoka-adirondack-3-piece-bistro-dining-set-30h-table-nantucket-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/muskoka-adirondack-3-piece-bistro-dining-set-30h-table-white>: HTTP status code is not handled or not allowed 2026-01-28 15:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cape-coral-night-lines-slab-door-wood-36w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 15:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cape-coral-silver-lines-slab-door-wood-24w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 15:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labella-slab-door-wood-36w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 15:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ocala-silver-lines-slab-door-wood-32w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 15:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pensacola-glazed-light-slab-door-wood--glass-24w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 15:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-gold-lines-slab-door-wood-24w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 15:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-bolt-nickel>: HTTP status code is not handled or not allowed 2026-01-28 15:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kissimmee-glazed-light-slab-door-wood--glass-30w-x-80h-ice-maple>: HTTP status code is not handled or not allowed 2026-01-28 15:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-night-lines-slab-door-wood-24w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 15:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-gold-lines-slab-door-wood-28w-x-80h-white>: HTTP status code is not handled or not allowed 2026-01-28 15:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-west-night-lines-slab-door-wood-30w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 15:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/naples-gold-lines-slab-door-wood-24w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 15:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-largo-gold-lines-slab-door-wood-28w-x-80h-whiskey-oak>: HTTP status code is not handled or not allowed 2026-01-28 15:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/privacy-pocket-lock-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handle-w-basic-american-passage-lockset-nickel>: HTTP status code is not handled or not allowed 2026-01-28 15:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-pull-handle-gold>: HTTP status code is not handled or not allowed 2026-01-28 15:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-shower-commode-chair-removable-soft-seat-435-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-58-thick-40l-x-3w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-28 15:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-60l-x-4w-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-25l-x-4w-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-40l-x-3w-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cushion-max-anti-fatigue-mat-58-thick-5l-x-2w-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 15:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heavenanti-fatigue-mat-78-thick-20l-x-5w-black-striped-border>: HTTP status code is not handled or not allowed 2026-01-28 15:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polywoven-dunnage-air-bags-4-ply-96l-x-46-12w-pack-of-190>: HTTP status code is not handled or not allowed 2026-01-28 15:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polywoven-dunnage-air-bags-10-ply-102l-x-46-12w-pack-of-125>: HTTP status code is not handled or not allowed 2026-01-28 15:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polywoven-dunnage-air-bags-8-ply-60l-x-46-12w-pack-of-190>: HTTP status code is not handled or not allowed 2026-01-28 15:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-dripper-1-2-cups-ceramic-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-dripper-1-4-cups-stainless-steel-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/french-press-immersion-brewer-350ml>: HTTP status code is not handled or not allowed 2026-01-28 15:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chillshield-mens-insulated-bib-overalls-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polarforce-hiker-boots-size-5-5-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polarforce-hiker-boots-size-9-5-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polarforce-mens-sweatshirt-large-black>: HTTP status code is not handled or not allowed 2026-01-28 15:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minis-dark-chocolate-nuts-sea-salt-0-7-oz-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartstock-refill-knives-mediumweight-bio-blend-7-l-beige-pack-of-960>: HTTP status code is not handled or not allowed 2026-01-28 15:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartstock-refill-fork-series-o-6-l-black-pack-of-960>: HTTP status code is not handled or not allowed 2026-01-28 15:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/souffle-portion-cups-2-oz-polypropylene-clear-pack-of-2500>: HTTP status code is not handled or not allowed 2026-01-28 15:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenstripe-renewable-compostable-cold-drink-cups-16-oz-clear-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-food-paper-tray-2-lb-capacity-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-cold-drink-cups-10-oz-polypropylene-translucent-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartlock-container-w-3-compartment-8-l-x-7-1-2-w-x-2-5-8-h-pack-of-150>: HTTP status code is not handled or not allowed 2026-01-28 15:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-container-6-3-8-l-x-6-3-8-w-x-3-h-white-pack-of-500>: HTTP status code is not handled or not allowed 2026-01-28 15:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-wrapped-straws-7-3-4-l-white-pack-of-10000>: HTTP status code is not handled or not allowed 2026-01-28 15:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-vented-cup-lids-for-food-container-translucent-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bowl-coated-soak-proof-12-oz-pack-of-1-000>: HTTP status code is not handled or not allowed 2026-01-28 15:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-cup-sleeve-for-10-oz-to-24-oz-hot-drink-cups-brown-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-synthetic-shackle-7-16-dia-x-5-l-4-5-16-ton-wll>: HTTP status code is not handled or not allowed 2026-01-28 15:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-lifting-synthetic-shackle-1-4-dia-x-4-l-2-3-4-ton-wll>: HTTP status code is not handled or not allowed 2026-01-28 15:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-disposable-cleaning-pad-5l-white-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 15:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-chuck-size-rotary-hammer-bare-tool-24v>: HTTP status code is not handled or not allowed 2026-01-28 15:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-black-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-gloss-smoke-gray-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-12-oz-satin-black-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colormaxx-paint-primer-11-oz-satin-crystal-clear-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-kit-microscope>: HTTP status code is not handled or not allowed 2026-01-28 15:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stereoblue-binocular-zoom-microscope-w-pillar-stand-led-illumination-7x-to-45x>: HTTP status code is not handled or not allowed 2026-01-28 15:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stereoblue-trinocular-zoom-microscope-w-pillar-stand-led-illumination-7x-to-45x>: HTTP status code is not handled or not allowed 2026-01-28 15:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-boltless-steel-shelf-36-in-w-x-18-in-d>: HTTP status code is not handled or not allowed 2026-01-28 15:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blood-bank-refrigerator-w-chart-recorder-23-cuft-cap-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 15:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ductless-mini-split-air-conditioner-w-heat-pump-wifi-enabled-36000-btu-3-ton-25ft-lineset>: HTTP status code is not handled or not allowed 2026-01-28 15:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arkyn-neo-clear-lens-safety-goggles-w-neoprene-strap-anti-scratch-anti-fog-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 119589 pages (at 98 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-post-op-shoe-w-hook-and-loop-closure-mens-large>: HTTP status code is not handled or not allowed 2026-01-28 15:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tricot-foam-knee-immobilizer-16l-x-large>: HTTP status code is not handled or not allowed 2026-01-28 15:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serpentine-style-cervical-collar-firm-23-12l-x-5h-large>: HTTP status code is not handled or not allowed 2026-01-28 15:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sterile-half-surgical-drape-40-l-x-58-w-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k1-basic-wheelchair-w-swing-back-desk-length-arms-swing-away-leg-rests-nylon-16w-seat>: HTTP status code is not handled or not allowed 2026-01-28 15:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offset-handle-cane-500-lb-capacity-steel-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tamper-resistant-bed-chair-patient-alarm-w-nurse-call>: HTTP status code is not handled or not allowed 2026-01-28 15:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-adult-stethoscope-22l-tubing-black>: HTTP status code is not handled or not allowed 2026-01-28 15:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-steel-rollator-w-8-casters-black>: HTTP status code is not handled or not allowed 2026-01-28 15:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graduated-triangular-intakeoutput-container-1000-ml-200-per-pack20-packs-per-case>: HTTP status code is not handled or not allowed 2026-01-28 15:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-20-30-mmhg-thigh-high-x-large-size-d-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/activicetopical-pain-reliever-gel-4-oz-tube-pack-of-24>: HTTP status code is not handled or not allowed 2026-01-28 15:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prescription-vial-w-reversible-cap-13-dram-amber-pack-of-275>: HTTP status code is not handled or not allowed 2026-01-28 15:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-15-20-mmhg-knee-high-x-large-size-d-regular-black>: HTTP status code is not handled or not allowed 2026-01-28 15:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-head-plastic-goniometer-12l-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/curad-compression-hosiery-w-20-30-mmhg-knee-high-x-large-size-d-regular-black>: HTTP status code is not handled or not allowed 2026-01-28 15:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-wet-skin-scrub-tray-w-vinyl-gloves-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 15:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pharmacy-undercounter-built-in-refrigerator-25-cu-ft-cap-lhd-door-swing>: HTTP status code is not handled or not allowed 2026-01-28 15:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torch-regulator-welding-gloves-x-large-black>: HTTP status code is not handled or not allowed 2026-01-28 15:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-panel-moving-truck-steel-1800-lb-cap-75-5-8l-x-39-5-16w-x-44h>: HTTP status code is not handled or not allowed 2026-01-28 15:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-stainless-steel-ballcock-connector-9l-38-x-78-od-x-bc-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 15:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexible-stainless-steel-icemaker-connector-84l-14-x-14-od-x-od-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk1827-rebuild-kit-for-gerber-shower-valves>: HTTP status code is not handled or not allowed 2026-01-28 15:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shower-handle-for-moen-posi-temp-valves-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/es4000-420sc-carpet-extractor-28-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-faucet-w-8-spout--soap-dish>: HTTP status code is not handled or not allowed 2026-01-28 15:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/et610-100c-15-sw-carpet-extractor-12-12-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/terra-4300b-sweeper-312-ah-agm>: HTTP status code is not handled or not allowed 2026-01-28 15:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-wall-bar-holder-8-18l-x-1-1116w-x-20-516h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/business-furniture-low-storage-cabinet-w-doors-shelves-60w-x-16d-x-21h-storm-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beverage-center-1-glass-door-45-cuft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-microwave-700-watts-07-cuft-capacity-black-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-microwave-900-watts-09-cuft-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 15:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apartment-size-refrigerator-17-cuft-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 15:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-power-scissor-lift-table-48-in-x-36-in-1500-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-cabinet-w-drawer--laminate-top-30w-x-18d-x-36h-white>: HTTP status code is not handled or not allowed 2026-01-28 15:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/organizer-cabinet-w-fixed-shelves-assembled-48w-x-24d-x-78h-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sliding-door-cabinet-assembled-36w-x-21d-x-72h-wine-red>: HTTP status code is not handled or not allowed 2026-01-28 15:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-18d-x-45h-putty>: HTTP status code is not handled or not allowed 2026-01-28 15:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bookcase-assembled-36w-x-13d-x-60h-pastel-green>: HTTP status code is not handled or not allowed 2026-01-28 15:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-standard-safety-vest-w-black-contrasting-trim-class-2-xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-parka-jacket-w-fleece-lining-class-3-lime-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-hype-lite-heavy-duty-vest-4xl5xl-black>: HTTP status code is not handled or not allowed 2026-01-28 15:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-standard-safety-vest-w-lime-contrasting-trim-sm-black>: HTTP status code is not handled or not allowed 2026-01-28 15:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-hype-lite-heavy-duty-vest-smmd-purple>: HTTP status code is not handled or not allowed 2026-01-28 15:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-diamond-quilted-jacket-w-removable-hood-black-5xl>: HTTP status code is not handled or not allowed 2026-01-28 15:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-tone-short-sleeve-polo-shirt-polyester-black-medium>: HTTP status code is not handled or not allowed 2026-01-28 15:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-enhanced-visibility-job-shirt-w-14-zipper-polyester-fleece-black-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-premium-heavy-duty-vest-w-multi-pockets-sm-red>: HTTP status code is not handled or not allowed 2026-01-28 15:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-premium-heavy-duty-vest-w-multi-pockets-4xl5xl-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 15:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-premium-heavy-duty-vest-w-multi-pockets-sm-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 15:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/friedrich--commercial-windowwall-air-conditioner-w-heat-pump-917-watts-115-v-10k-btu>: HTTP status code is not handled or not allowed 2026-01-28 15:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zoneaire-premier-ptac-w-heat-pump---r32---9400-btu---265v>: HTTP status code is not handled or not allowed 2026-01-28 15:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diy-4th-generation-e-star-ductless-mini-split-heat-pump-12k-btu-22-seer-115v>: HTTP status code is not handled or not allowed 2026-01-28 15:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diy-4th-gen-e-star-ductless-mini-split-heat-pump-36000-btu-18-seer-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-platform-truck-w-end--side-handle-3600-lb-cap-48l-x-24w-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-wagon-truck-w-flush-deck-3000-lb-capacity-36l-x-24w-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-stake-truck-3600-lb-capacity-48l-x-30w-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-bulk-truck-w-mesh-sides-3600-lb-cap-65-12l-x-30w-x-45h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-sided-shelf-truck-w-mesh-sides-3600-lb-cap-65-12l-x-30w-x-57h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-sided-towable-multi-shelf-truck-2000-lb-cap-65-12l-x-30w-x-58-12h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-power-adapter-for-global-industrial-indoor-drinking-fountains-and-bottle-fillers>: HTTP status code is not handled or not allowed 2026-01-28 15:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-class-2-hi-vis-safety-vest-2-reflective-strips-poly-solid-lime-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-28 15:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-class-3-hi-vis-safety-vest-3-refl-strips-4-pockets-mesh-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-28 15:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8381-hi-vis-4-in-1-winter-bomber-jacket-3xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8256z-self-extinguishing-vest-zipper-class-2-sm-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8280bk-hi-vis-performance-t-shirt-black-bottom-class-2-xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6689-cooling-long-sleeve-sun-shirt-w-uv-protection-xl-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-812cr6-utility-cut-resistant-gloves-ansi-a6-s-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-812cr6-utility-cut-resistant-gloves-ansi-a6-l-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8372-hi-vis-hooded-sweatshirt-black-bottom-full-zip-class-3-4xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7021-hi-vis-cut-resistant-gloves-nitrile-coated-ansi-a2-m-lime-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8216ba-breakaway-mesh-vest-w-id-holder-class-2-sm-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6468-duck-canvas-work-jacket-large-black>: HTTP status code is not handled or not allowed 2026-01-28 15:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-bulk-dispenser-12-12w-x-5-78d-x-11-58h-transparent>: HTTP status code is not handled or not allowed 2026-01-28 15:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-air-impact-wrench-quiet-2-extended-anvil-titanium-hammer-case-pistol-grip>: HTTP status code is not handled or not allowed 2026-01-28 15:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-air-die-grinder-14-collet-burr-25000-rpm-04-hp-rear-exhaust>: HTTP status code is not handled or not allowed 2026-01-28 15:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digger-78-x-3-14-hex-shank-2350-bpm-25-stroke-length-169-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-12-air-impact-wrench-high-torque-50000-ft-lbs-torque-t-handle>: HTTP status code is not handled or not allowed 2026-01-28 15:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-high-torque-1-cordless-impact-wrench-kit-2600-ft-lbs-nut-busting-torque-4-batteries-and-charger>: HTTP status code is not handled or not allowed 2026-01-28 15:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-high-torque-1-cordless-impact-wrench-2600-ft-lbs-nut-busting-torque>: HTTP status code is not handled or not allowed 2026-01-28 15:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-ii-lubricant-oil-for-grinder-impact-wrenches-hoists--winches>: HTTP status code is not handled or not allowed 2026-01-28 15:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-mid-torque-38-cordless-impact-wrench-550-ft-lbs-nut-busting-torque-pin-retainer>: HTTP status code is not handled or not allowed 2026-01-28 15:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tier-2-door-digital-locker-12in-w-x-18in-d-x-78in-h-blue-assembled>: HTTP status code is not handled or not allowed 2026-01-28 15:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-refrigerator-freezer-ada-height-32-cu-ft-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 15:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/momcube153-breast-milk-refrigerator-12-cuft-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 15:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-refrigerator-w-digital-control-1626-cuft-capacity-glass-door>: HTTP status code is not handled or not allowed 2026-01-28 15:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/procedure-core-bench-w-3-bay-right-side-divider-36l-x-27w-x-78-34h-g3c-pkg>: HTTP status code is not handled or not allowed 2026-01-28 15:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-kit-for-wn-650h>: HTTP status code is not handled or not allowed 2026-01-28 15:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shatter-resistant-roundtangular-convex-mirror-glass-outdoor-24l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 15:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-convex-mirror-w-stainless-steel-backer-plastic-outdoor-26-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-exhaust-filter-for-upright-vacuum-641835>: HTTP status code is not handled or not allowed 2026-01-28 15:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-aerator-for-sensor-bathroom-sink-faucet-732416>: HTTP status code is not handled or not allowed 2026-01-28 15:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corn-led-corn-bulb-36w-5500-lumens-medium-screw-base-5000k-super-white>: HTTP status code is not handled or not allowed 2026-01-28 15:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par16-bulb-120v-6w-500-lumens-medium-screw-base-4000k-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 15:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 119684 pages (at 95 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-shaped-bur-single-cut-1-12l-x-18-shank-dia-116-len-of-cut>: HTTP status code is not handled or not allowed 2026-01-28 15:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-shaped-bur-aluma-cut-2l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-tree-shaped-bur-double-cut-6-34l-x-14-shank-dia-14-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-shaped-bur-double-cut-2-18l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-tree-shaped-bur-double-cut-1-12l-x-18-shank-dia-14-len-of-cut>: HTTP status code is not handled or not allowed 2026-01-28 15:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-no-endcut-bur-2-12l-x-14-shank-dia-516-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointed-tree-shaped-bur-double-cut-7l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-w-endcut-bur-single-cut-2-12l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-shaped-bur-single-cut-3l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-tree-shaped-bur-double-cut-6-34l-x-14-shank-dia-38-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-shaped-bur-for-stainless-steel-3l-x-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cylindrical-bur-double-cut-2-34l-x-14-shank-dia-34-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lite-trapped-blister-cordless-rotary-kit-36v>: HTTP status code is not handled or not allowed 2026-01-28 15:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/radius-cylindrical-bur-double-cut-7l-x-14-shank-dia-58-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g165-led-light-bulb-candelabra-base-5w-350-lumens-3000k-clear-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-g165-bulb-120v-5w-500-lumens-candelabra-screw-base-warm-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-r14-bulb-120v-4w-250-lumens-intermediate-screw-base-warm-white-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 15:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prefilled-2ml-tubes-for-6-mm-ceria-based-zirconium-oxide-satellite-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 15:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4ml-polycarbonate-vial-pack-of-240>: HTTP status code is not handled or not allowed 2026-01-28 15:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mytemp-mini-co2-digital-incubator-07-cuft-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biztalk-business-radio-4-channels-450-470-mhz-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/incu-mixer-mp4-heated-micro-plate-vortexer-1500-rpm-115v>: HTTP status code is not handled or not allowed 2026-01-28 15:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-blotboy-3d-rocker-w-flat-mat-230v-5060-hz-20-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-balance-3200g-capacity-001g-readability-115v>: HTTP status code is not handled or not allowed 2026-01-28 15:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-ultrasound-gel-5-liters-refillable-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 15:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-work-light-2000-lumens-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tread-plate-deck-platform-truck-aluminum-6-polyurethane-caster-63l-x-36w-2600-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u-boat-platform-truck-aluminum-6-casters-61l-x-18w-1200-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-platform-truck-w-6-polyurethane-casters-62l-x-18w-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-round-picnic-table-w-3-seats-surface-mount-steel-black-36l>: HTTP status code is not handled or not allowed 2026-01-28 15:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-ball-end-mill-2-flute-6l-x-34-dia-3-cut-length>: HTTP status code is not handled or not allowed 2026-01-28 15:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-abrasives-buff-blend-hp-disc-850708-6-dia-x-12-a-vfn-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hookit-paper-disc-236u-p400-grit-3-dia-x-nh-pack-of-500000>: HTTP status code is not handled or not allowed 2026-01-28 15:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-shelf-utility-cart-w-4-shelves-800-lb-cap-79-14l-x-20-12w-x-72-34h-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-m36-multi-cart-w-2-panels-2-bin-rails-37-18w-x-29-1516d-x-70-12h-grayblue>: HTTP status code is not handled or not allowed 2026-01-28 15:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optional-bottom-shelf-for-30w-tmt-cart-28w-x-28-1116d-x-1-516h-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-add-on-48l-x-36w-x-96h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 15:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-36l-x-24w-x-84h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-starter-48l-x-36w-x-72h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-20w-x-60h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-36l-x-16w-x-84h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-unit-w-t-joiner-support-clip-48l-x-16w-x-60h-antique-white>: HTTP status code is not handled or not allowed 2026-01-28 15:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optimus-power-scissor-lift-table-hand-operated-3000-cap-3ph-480v-48l-x-28w>: HTTP status code is not handled or not allowed 2026-01-28 15:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optimus-power-scissor-lift-table-foot-operated-3000-cap-3ph-230v-48l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 15:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gondola-upper-shelves-48w-x-22d-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleanse-dispenser-2-l-capacity-black-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-28 15:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8251hdz-bk-two-tone-hi-vis-safety-vest-ansi-class-2-2xl3xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-5542-phone-style-barcode-scanner-holster-w-belt-loop-small-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reelsafe-spring-retractable-hose-reel-3000-psi-12-id-x-50l>: HTTP status code is not handled or not allowed 2026-01-28 15:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-yb16cl-bgel-12v-19ah-250cca-high-performance-gel-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-odin-afas-safety-glasses-smoke-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-aegir-half-frame-safety-glasses-indooroutdoor-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-aegir-afas-half-frame-safety-glasses-indooroutdoor-lens-matte-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobilecare-aluminum-defibrilator-shelf-12l-x-12w-x-18h-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spout-cap-black-medium-34414>: HTTP status code is not handled or not allowed 2026-01-28 15:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/array153-signal-iaq-sensor-monitor-120v-ac-white>: HTTP status code is not handled or not allowed 2026-01-28 15:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-steel-ladder-roof-rack-for-nissan-nv-cargo-van-2011-on-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-healthcare-scale-400-lb-cap-12l-x-12w-platform>: HTTP status code is not handled or not allowed 2026-01-28 15:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pre-filter-global-industrial-153-commercial-air-purifier-604153-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sf-multi-function-beacon-terminal-blocks-buzzer-240v-red>: HTTP status code is not handled or not allowed 2026-01-28 15:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h1-3-bar-steel-ladder-roof-rack-for-nissan-nv200-2013-on-white>: HTTP status code is not handled or not allowed 2026-01-28 15:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-polypropylene-rope-7200l-x-12w-royal-bluewhite>: HTTP status code is not handled or not allowed 2026-01-28 15:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-polypropylene-rope-7200l-x-34w-royal-bluewhite>: HTTP status code is not handled or not allowed 2026-01-28 15:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-polypropylene-rope-per-foot-7200l-x-12w-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polytec153-recycling-container-w-riverstone-panels-42-gal-cap-green>: HTTP status code is not handled or not allowed 2026-01-28 15:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mdg100df4-mobile-diesel-generator-80-85kw-j-d-engine-w-single-axle-trailer>: HTTP status code is not handled or not allowed 2026-01-28 15:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs11hx30-metric-1-12-pitch-30mm-finished-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80a60x138-a-plate-1-pitch-1-38-bore-60-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs35x1316-1-pitch-1-316-finished-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patch-seal-paste-1-lb-capacity-black-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs12hx32-metric-1-12-pitch-32mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs12hx38-metric-1-12-pitch-38mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs12hx50-metric-1-12-pitch-50mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ambu-adult-bag-valve-mask-w-hepa-filter>: HTTP status code is not handled or not allowed 2026-01-28 15:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-rock-3-way-panhead-aluminum-lightweight-tripod-with-carrying-case-65-1-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs12hx32-metric-1-14-pitch-32mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lume-cob-led-magnifier-3-5-with-2-5x-7x-magnification-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-120e22h-qd-bushed-1-12-pitch-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en-wheeled-salvage-drum-spill-kit-universal-50-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-controlled-room-temperature-cabinet-6-cuft-capacity-115-lb-weight-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 15:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-controlled-room-temperature-cabinet-8-cuft-capacity-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 15:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microfiber-cleaning-cloths-16-inch-x-16-inch-blue-24-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16bs22x45-metric-1-pitch-45mm-finished-bore-22-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-9-5w-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailgrip-work-athletic-hiker-boots-alloy-toe-size-7m-4-inch-h-coyote-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-20bs13hx42-metric-1-14-pitch-42mm-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-9w-6-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuff-job-s500-high-performance-wipers-9-1-4-inch-x-12-1-2-inch-white-176-box-10-box-carton>: HTTP status code is not handled or not allowed 2026-01-28 15:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-9-5m-6-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthcare-advanced-gentle-foam-hand-sanitizer-1200-ml-refill-for-es8-dispensers-2pk>: HTTP status code is not handled or not allowed 2026-01-28 15:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trailgrip-work-athletic-hiker-boots-alloy-toe-size-11-5w-4-inch-h-coyote-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuff-job-double-recrepe-wipers-9-3-4-inch-x-16-1-2-inch-white-100-box-8-box-carton>: HTTP status code is not handled or not allowed 2026-01-28 15:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-wellington-work-boots-steel-toe-size-13w-10-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs35hx1316-38-pitch-1-316-finished-bore-35-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41bs20hx34-12-pitch-34-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strong-blackout-tall-kitchen-drawstring-bags-13-gal-0-9-mil-black-240-carton>: HTTP status code is not handled or not allowed 2026-01-28 15:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/select-kitchen-roll-towels-2-ply-8-x-11-250-roll-12-carton>: HTTP status code is not handled or not allowed 2026-01-28 15:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs26x11516-1-pitch-1-1516-finished-bore-26-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 119783 pages (at 99 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-logger-work-boots-steel-toe-size-8-5w-8-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs20hx11516-1-14-pitch-1-1516-finished-bore-20-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs16hx48-metric-1-12-pitch-48mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100a25x114-a-plate-1-14-pitch-1-14-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/defib-pads-2346n-6-inch-x-4-5-inch-10-pack-carton-10-carton-case>: HTTP status code is not handled or not allowed 2026-01-28 15:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-safety-crafted-waterproof-work-boots-steel-toe-size-11m-6-inch-h-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-laparotomy-laparoscopy-drapes-9063-72-inch-x-112-inch-10-bx-2-bx-cs>: HTTP status code is not handled or not allowed 2026-01-28 15:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-internal-met-guard-steel-toe-size-8-5w-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zig-elusion-heritage-work-high-top-sneaker-composite-toe-size-13m-black-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/attest-rapid-readout-biological-indicator-test-1298-ethylene-oxide-sterilization-100-box>: HTTP status code is not handled or not allowed 2026-01-28 15:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-u-drape-1015-47-inch-x-51-inch-10-each-carton-4-carton-case>: HTTP status code is not handled or not allowed 2026-01-28 15:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steri-drape-incise-drape-1051-incise-area-23-inch-x-33-inch-10-carton-4-cartons-case>: HTTP status code is not handled or not allowed 2026-01-28 15:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-pull-on-boots-composite-toe-size-11-5w-11-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groundbreaker-work-boots-w-internal-met-guard-steel-toe-size-12m-6-inch-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs19hx114-1-14-pitch-1-14-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-100bs19hx2316-1-14-pitch-2-316-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-microcentrifuge-tubes-with-cap-sterile-1-5-ml-purple-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-racks-for-30-x-15-ml-20-x-50-ml-tubes-orange-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs32hx1316-38-pitch-1-316-finished-bore-32-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-halo-pipettor-starter-kit-with-6-place-carousel-stand>: HTTP status code is not handled or not allowed 2026-01-28 15:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-propette-manual-pipette-controller-with-filter>: HTTP status code is not handled or not allowed 2026-01-28 15:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs11hx25-metric-34-pitch-25mm-finished-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bio-snap-cap-macrotube-non-sterile-5-ml-yellow-tinted-200-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-d40bs17hx34-double-12-pitch-34-finished-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vitals-skate-inspired-work-shoes-composite-toe-size-7-5w-navy-aged-indigo>: HTTP status code is not handled or not allowed 2026-01-28 15:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-140btl21-1-34-pitch-taper-bushed-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs19hx118-12-pitch-1-18-finished-bore-19-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs16hx118-58-pitch-1-18-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-11m-black>: HTTP status code is not handled or not allowed 2026-01-28 15:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35b25hx12mpb-38-pitch-12-plain-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-skate-inspired-work-shoes-composite-toe-size-10w-black-gum>: HTTP status code is not handled or not allowed 2026-01-28 15:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bb17h-idler-58-pitch-064-bore-17-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truflex-fly-blucher-sneaker-composite-toe-size-7-5m-black-gold>: HTTP status code is not handled or not allowed 2026-01-28 15:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-24bs18hx50-metric-1-12-pitch-50mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-600-snowmobile-replacement-battery-1985-1987-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 15:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-gtx-600-ho-593cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs12hx25-metric-58-pitch-25mm-finished-bore-12-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-15m-blue-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-mule-2010-540cc-utv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs30hx78-38-pitch-78-finished-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs14hx58-58-pitch-58-finished-bore-14-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs16hx19-metric-58-pitch-19mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs18hx1-12-pitch-1-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-9m-blue-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-7w-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 15:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nellcor-npb-3900-medical-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-k-jnc175-jump-starter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-8w-blue-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-steel-toe-size-10-5m-brown-burnt-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50sds25h-qd-bushed-58-pitch-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-twist-ties-6-x-5-32-black-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-skate-inspired-work-shoes-composite-toe-size-13m-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 15:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crafted-western-work-boots-w-steel-toe-and-internal-met-guard-size-8-5m-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs10hx1316-1-pitch-1-316-finished-bore-10-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-80bs10hx114-1-pitch-1-14-finished-bore-10-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-oxford-shoes-steel-toe-size-9-5eee-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-bags-15-x-18-150-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10a30h-metric-a-plate-58-pitch-18mm-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laerdal-art-aid-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs25hx35-metric-12-pitch-35mm-finished-bore-25-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/philips-a512-30g6-medical-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-cmx-medical-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-work-casual-oxford-shoes-steel-toe-size-13eee-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-11m-dark-brown-khaki>: HTTP status code is not handled or not allowed 2026-01-28 15:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-twist-ties-12-x-5-32-green-2000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-41bs28hx1-12-pitch-1-finished-bore-28-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-bags-12-x-15-2-mil-blue-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs16hx40-metric-34-pitch-40mm-finished-bore-16-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-528-industrial-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-8w-dark-gray-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 15:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-12bs15hx32-metric-34-pitch-32mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-6-5w-black-seafoam-green-white>: HTTP status code is not handled or not allowed 2026-01-28 15:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-bags-36-x-24-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adi-4140xwp-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-10-5w-black-camo-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-d-5377-sealed-lead-acid-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-bags-9-x-13-1-2-350-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-7-5w-dark-gray-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 15:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-d-5394-sealed-lead-acid-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-a621-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stone-op-art-skate-inspired-work-shoes-composite-toe-size-12w-dark-brown-khaki>: HTTP status code is not handled or not allowed 2026-01-28 15:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs23hx114-58-pitch-1-14-finished-bore-23-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs21hx34-58-pitch-34-finished-bore-21-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severance-chatter-free-stop-countersink-cutter-82-3-4-3-8-pilot-hole>: HTTP status code is not handled or not allowed 2026-01-28 15:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs24hx19-metric-12-pitch-19mm-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ademco-pwps12120-alarm-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledm001nkl-1912-led-ceiling-fixtures-35w-4000-cct-2900-lumens-82-cri-white>: HTTP status code is not handled or not allowed 2026-01-28 15:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs18hx20-metric-58-pitch-20mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securitron-bps241-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-10bs18hx38-metric-58-pitch-38mm-finished-bore-18-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-6m-slate-blue-salmon>: HTTP status code is not handled or not allowed 2026-01-28 15:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-dsc-bd7-12-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-08bs24hx22-metric-12-pitch-22mm-finished-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 119876 pages (at 93 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nanoflex-tr-athletic-work-shoes-composite-toe-size-11m-black-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-smp7pmp8-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adi-vista-20pul-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al400ulm-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs27hx1-12-pitch-1-finished-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs27hx34-12-pitch-34-finished-bore-27-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-pedestal-workbench-w-7-drawers-plastic-laminate-square-edge-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-pedestal-workbench-w-8-drawers-maple-butcher-block-square-edge-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/securitron-dk15-alarm-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-40bs15hx78-12-pitch-78-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/otto-bock-a200-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ag10-series-4-x-24-solid-alum-fixed-bar-supply-return-air-vent-grille-brushed-satin>: HTTP status code is not handled or not allowed 2026-01-28 15:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-mid-cut-shoes-composite-toe-size-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 15:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-9-5m-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 15:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-623-home-alarm-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-al802ulada-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-50bs52x1716-58-pitch-1-716-finished-bore-52-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-white-5-8-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 15:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-7-5w-silver-gray-clay-black>: HTTP status code is not handled or not allowed 2026-01-28 15:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ul-rated-hook-n-loop-tape-fasteners-black-half-inch-x-75-feet>: HTTP status code is not handled or not allowed 2026-01-28 15:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-16a24-metric-a-plate-1-pitch-24mm-bore-24-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lavante-trail-2-running-work-shoes-composite-toe-size-8w-army-green-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-p31362-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-n-loop-tape-fasteners-green-5-8-inch-x-15-feet>: HTTP status code is not handled or not allowed 2026-01-28 15:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-mid-cut-shoes-composite-toe-size-6m-black>: HTTP status code is not handled or not allowed 2026-01-28 15:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-umbrella-bag-holderpoly-bag-with-graphic-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nano-x1-adventure-athletic-work-shoes-composite-toe-size-9w-gray-black>: HTTP status code is not handled or not allowed 2026-01-28 15:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-25bs13hx14-14-pitch-14-finished-bore-13-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18227-food-storage-container-tower-pp-holds-3-11-size-containers-white-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-16m-black-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-skate-inspired-work-shoes-composite-toe-size-10w-navy-celestial-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-60bs30hx134-34-pitch-1-34-finished-bore-30-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-7m-black-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35bs15hx12-38-pitch-12-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-4-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 15:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-35b11hx38mpb-38-pitch-38-plain-bore-11-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-4-5w-black>: HTTP status code is not handled or not allowed 2026-01-28 15:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-round-for-24-dia-round-columns-black-3carton>: HTTP status code is not handled or not allowed 2026-01-28 15:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprocket-06bs15hx14-metric-38-pitch-14mm-finished-bore-15-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-12x-12-square-opening-24-od-x-42h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boot-covers-16-polyethylene-elastic-top-2x>: HTTP status code is not handled or not allowed 2026-01-28 15:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-skate-inspired-work-shoes-composite-toe-size-8w-navy-celestial-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-softshell-jacket-black-60f-comfort-rating-3xl>: HTTP status code is not handled or not allowed 2026-01-28 15:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-200v-125-psi-185-cfm-5hp-1ph>: HTTP status code is not handled or not allowed 2026-01-28 15:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floatride-energy-3-adventure-men-s-athletic-work-shoes-composite-toe-size-3-5m-black>: HTTP status code is not handled or not allowed 2026-01-28 15:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-ace-500cc-atv-replacement-battery-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scorpion-ytz7s-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adi-412oec-emergency-light-replacement-battery-8ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-leather-boots-brown-15f-comfort-rating-size-14>: HTTP status code is not handled or not allowed 2026-01-28 15:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/irontuff-jackoat-black-hivis-lime-50-comfort-rating-m-regular>: HTTP status code is not handled or not allowed 2026-01-28 15:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hybrid-skate-inspired-work-shoes-composite-toe-size-15m-navy-celestial-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-work-shoes-composite-toe-size-14m-olive-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-weld-on-webbing-winch-1820>: HTTP status code is not handled or not allowed 2026-01-28 15:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-tapered-roller-bearing-e32207j-35mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-tapered-roller-bearing-e32306j-30mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-e-a-standard-aluminum-beam-fe8066-1-for-96-trailers>: HTTP status code is not handled or not allowed 2026-01-28 15:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-tapered-roller-bearing-e32018j-90mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-u-handle-547l-102-dia-black-m8-516-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 15:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ibc-containment-pallet-5469-bd-d-with-drain-3000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ds90f-90cc-atv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evolve-skate-inspired-high-top-work-shoes-composite-toe-size-8m-black-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressboard-report-cover-prong-clip-letter-2-capacity-red-2-piece-prong>: HTTP status code is not handled or not allowed 2026-01-28 15:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-opening-pressguard-report-cover-prong-fastener-letter-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daystart-slip-on-work-shoes-steel-toe-size-11m-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressguard-coated-report-cover-prong-clip-legal-2-capacity-red>: HTTP status code is not handled or not allowed 2026-01-28 15:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lu104-food-grade-synthetic-penetrating-oil>: HTTP status code is not handled or not allowed 2026-01-28 15:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-remote-bulb-refrigeration-temp-controller-t6031a1029-30-f-to-90f-8-ft-capillary>: HTTP status code is not handled or not allowed 2026-01-28 15:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-pressuretrol-limit-controller-l4079b1033-manual-reset-215-psi-141-kgcm>: HTTP status code is not handled or not allowed 2026-01-28 15:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bimota-sb3-750cc-motorcycle-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1340129shock-absorbing-lanyard-for-hot-work-use-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 15:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daystart-slip-on-work-shoes-steel-toe-size-7-5w-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-square-expanded-metal-picnic-table-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-ada-square-expanded-metal-picnic-table-black>: HTTP status code is not handled or not allowed 2026-01-28 15:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ff28lwh-all-refrigerator-compact-automatic-defrost-lock-white-finish-24-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 15:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/monarch-15-gal-steel-unit-w-open-dome-top-white-415dtwh>: HTTP status code is not handled or not allowed 2026-01-28 15:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stadium-series-35-gal-unit-w-hood-top-lid-ss-sc35-01-ss-ht>: HTTP status code is not handled or not allowed 2026-01-28 15:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht40-18-324tc-gp-tefc-rigid-c-3-ph-324tc-485-fla>: HTTP status code is not handled or not allowed 2026-01-28 15:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-lucky-duck-hen-decoy-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-xta12b-bs-powersports-replacement-battery-12v-e>: HTTP status code is not handled or not allowed 2026-01-28 15:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerstar-pm14ahl-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-bite-50cc-motorcycle-replacement-battery-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-pump-motor-tj13-36-56jb-gp-tefc-rem-c-1-ph-56j-115-208-230v-1-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 15:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-bottleless-hot-cold-cooler-w-filtration-black-w-grey-trim>: HTTP status code is not handled or not allowed 2026-01-28 15:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm-dc-motor-wpmdc15-18-180v-56cb-tenv-tefc-56c-180v-15-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vapor-x12-electric-scooter-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prismacolor-col-erase-pencils-red-lead-carmine-red-barrel>: HTTP status code is not handled or not allowed 2026-01-28 15:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ezip-nano-electric-scooter-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bb4500-work-high-top-work-sneaker-composite-toe-size-10m-black-holographic-spectrum>: HTTP status code is not handled or not allowed 2026-01-28 15:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfortie-casual-work-shoes-steel-toe-size-6w-black-white>: HTTP status code is not handled or not allowed 2026-01-28 15:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-grip-retractable-ballpoint-pen-black-ink-medium-24-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe15-36-215jp-tefc-rigid-c-3-ph-215jp-15-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthflex-privacy-screen-5-panel-mallard>: HTTP status code is not handled or not allowed 2026-01-28 15:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-wire-security-partition-corner-post-8h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc7db-polyurethane-soft-face-dead-blow-hammer-20-l-55-lb>: HTTP status code is not handled or not allowed 2026-01-28 15:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc12db-polyurethane-soft-face-dead-blow-hammer-30-l-10-1-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 15:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe3-36-182jm-tefc-rigid-c-3-ph-182jm-3-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwe300-18-586-7-gp-tefc-rigid-3-ph-586-7-460v-323-fla-rb>: HTTP status code is not handled or not allowed 2026-01-28 15:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe40-18-324jp-tefc-rigid-c-3-ph-324jp-40-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1555613-flush-bolt-1x634-ansi-l14251-oil-rubbed-bronze>: HTTP status code is not handled or not allowed 2026-01-28 15:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-defender-xt-1000cc-utv-replacement-battery-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 119975 pages (at 99 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-frame-motor-wwht15-18-254t-gp-tefc-rigid-3-ph-254t-183-fla>: HTTP status code is not handled or not allowed 2026-01-28 15:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cc-pump-motor-wwe10-36-215jm-tefc-rigid-c-3-ph-215jm-10-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economical-aluminum-appliance-vending-truck-single-belt-550-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/st-161605-ansi-strike-478x114-polish-brass>: HTTP status code is not handled or not allowed 2026-01-28 15:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-gsx-380f-377cc-snowmobile-replacement-battery-2005-2006-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-mx-z-700-698cc-snowmobile-replacement-battery-1999-2000-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-instrument-table-with-h-brace-60x24x34-987218>: HTTP status code is not handled or not allowed 2026-01-28 15:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-guards-rubber-strap-thermo-foam-plastic-green-5-width-one-size-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-brush-long-medium-bristles-for-mr-100-steam-cleaner-261558>: HTTP status code is not handled or not allowed 2026-01-28 15:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dust-collection-reservoir-for-mr-50-steam-vacuum-261574>: HTTP status code is not handled or not allowed 2026-01-28 15:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cord-strap-for-mr-50-steam-vacuum-261578>: HTTP status code is not handled or not allowed 2026-01-28 15:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-metal-access-panel-key-lock-14l-x-14w>: HTTP status code is not handled or not allowed 2026-01-28 15:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-rated-insulated-metal-access-panel-24l-x-36w>: HTTP status code is not handled or not allowed 2026-01-28 15:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mark-bracket-for-model-sentinel-10-15-saturn-15-25-mercury-11-15-12-grenadier>: HTTP status code is not handled or not allowed 2026-01-28 15:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-cabinet-solid-door-semi-recessed-6d-steel-3-rolled>: HTTP status code is not handled or not allowed 2026-01-28 15:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dunkin-hazelnut-coffee-regular-medium-ground-k-cup-pods-037-oz-capacity-pack-of-22>: HTTP status code is not handled or not allowed 2026-01-28 15:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-smartups-x-1500va-lcd-120v-smx1500rm2unc-ups-battery-8ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-smart-lock-edge-modular-self-retracting-lifeline-w-cable-steel-swivel-snap-hook-20l>: HTTP status code is not handled or not allowed 2026-01-28 15:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-sealing-tape-rejected-2-x-55-yds-blackred-pack-of-36>: HTTP status code is not handled or not allowed 2026-01-28 15:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdmi-to-dvi-cable-adapter-connector-hdmi-female-to-dvi-d-male>: HTTP status code is not handled or not allowed 2026-01-28 15:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000ft-cat5e-cat5-350mhz-bulk-outdoor-solid-pvc-cable-gray-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-cabinet-vertical-acrylic-window-semi-recessed-6d-ss-15-square>: HTTP status code is not handled or not allowed 2026-01-28 15:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medtronic-200-bio-pak-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concealed-frame-access-panel-for-wallboard-cam-latch-12l-x-12w>: HTTP status code is not handled or not allowed 2026-01-28 15:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-class-3-3-in-1-waterproof-bomber-jacket-w-fleece-lining-lime-black-m>: HTTP status code is not handled or not allowed 2026-01-28 15:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-metal-access-panel-cam-lock-20l-x-24w>: HTTP status code is not handled or not allowed 2026-01-28 15:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sebra-1070-tube-sealer-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greenline-656-hand-truck-w-continuous-handle-mold-on-rubber-wheels-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-york-wide-light-apf12rf-6v-12ah-emergency-light-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amstron-es18-12-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alaris-medical-gemini-pc2-medical-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-screw-air-compressor-460v-150psi-16cfm-5hp-3ph-120-gal-tank>: HTTP status code is not handled or not allowed 2026-01-28 15:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digitech-safety-view-plus-4-tier-4-doors-wardrobe-locker-12w-x-18d-x-78h-assembled>: HTTP status code is not handled or not allowed 2026-01-28 15:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epdm-commercial-grade-60a-rubber-sheet-3-8-thick-x-3-x-10-length-black>: HTTP status code is not handled or not allowed 2026-01-28 15:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jump-n-carry-jnc100-jump-starter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/new-f-180-folding-saw-180mm-fine-teeth>: HTTP status code is not handled or not allowed 2026-01-28 15:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-2-tier-2-doors-locker-18w-x-21d-x-78h-dark-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 15:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-blade-for-katanaboy-500mm>: HTTP status code is not handled or not allowed 2026-01-28 15:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-cp12170h-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-weather-kit-for-liquid-cooled-automatic-standby-generators-with-16-lt-engines>: HTTP status code is not handled or not allowed 2026-01-28 15:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-cold-weather-engine-block-heater-for-automatic-standby-80w-46l-generators>: HTTP status code is not handled or not allowed 2026-01-28 15:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-valve-box-prime-coated-12-12-6>: HTTP status code is not handled or not allowed 2026-01-28 15:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/denios-n-series-8w-x-5-10d-x-8-2h-non-combustible-outdoor-storage-building-for-4-drums>: HTTP status code is not handled or not allowed 2026-01-28 15:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-built153-1-tier-1-door-locker-12w-x-18d-x-78h-light-gray-assembled>: HTTP status code is not handled or not allowed 2026-01-28 15:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-green-pvc-water-suction-hose-20-feet>: HTTP status code is not handled or not allowed 2026-01-28 15:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teal-s1270-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adventurer-ax523-precision-balance-with-auto-calibration-520g-x-0-001g>: HTTP status code is not handled or not allowed 2026-01-28 15:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-waterfall-deck-shelving-5-shelves-60w-x-24d-x-84h-midnight-ebony>: HTTP status code is not handled or not allowed 2026-01-28 15:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vent-cap-slip-mount-3-1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-level-drum-alarm-polypropylene-threaded-collar-knob-55-gallon-1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-shelving-6-shelves-starter-unit-375-lb-cap-48w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-stand-alone-shelving-8-shelves-500-lb-cap-48w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-extra-heavy-duty-additional-shelf-36w-x-24d-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm50-ds-double-output-shaft-for-calm-series-50mm-aluminum-worm-gear-reducer>: HTTP status code is not handled or not allowed 2026-01-28 15:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm50-101-56c-aluminum-worm-gear-reducer-50mm-101-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm90-301-145tc-aluminum-worm-gear-reducer-90mm-301-145tc-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm90-201-1824tc-aluminum-worm-gear-reducer-90mm-201-1824tc-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm90-401-56c-aluminum-worm-gear-reducer-90mm-401-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kydz-ladderback-chair-14-height>: HTTP status code is not handled or not allowed 2026-01-28 15:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/book-browser-flushback>: HTTP status code is not handled or not allowed 2026-01-28 15:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calm50-601-56c-aluminum-worm-gear-reducer-50mm-601-56c-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-shelving-6-shelves-starter-unit-500-lb-cap-36w-x-24d-x-87h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exide-ep7-12-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-chairries-premium-tray-13-seat-height>: HTTP status code is not handled or not allowed 2026-01-28 15:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-gp12170b1-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-16l-b-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-shelving-6-shelves-starter-unit-48w-x-18d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vision-cp12120-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-style-shelving-8-shelves-starter-unit-36w-x-12d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-closed-shelving-6-shelves-starter-unit-375-lb-cap-48w-x-18d-x-87h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crown-12ce7-5-sealed-lead-acid-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elk-elk-12180-sealed-lead-acid-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toyo-6gfm100a-sealed-lead-acid-replacement-battery-100ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-in-x-16-in-aluminum-door-louver>: HTTP status code is not handled or not allowed 2026-01-28 15:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unison-mx06040-sealed-lead-acid-replacement-battery-5ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mt-st-lw1624-16-x-24-flatbed-truck-tarp-light-weight-steel-tarp>: HTTP status code is not handled or not allowed 2026-01-28 15:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mt-mc-263000-26-x-30-flatbed-truck-tarp-machinery-tarp>: HTTP status code is not handled or not allowed 2026-01-28 15:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-tech-open-style-shelving-sway-braces-5-shelves-48w-x-24d-x-87h-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sureway-1023-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ritar-rt12170-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-hook-ratchet-tie-down-strap-2500-lb-capacity-1-x-8>: HTTP status code is not handled or not allowed 2026-01-28 15:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-tm-b1010-10-x-10-tennis-court-wind-screen>: HTTP status code is not handled or not allowed 2026-01-28 15:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cove-base-700-series-tpr-4x18x48-smoke>: HTTP status code is not handled or not allowed 2026-01-28 15:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cove-base-700-series-tpr-4x18x48-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 15:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-hr1221wf2-12v-5ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-strap-link-coupling-cinch-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 15:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-single-strap-anchor-black-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-multi-purpose-j-hook-4-hanger>: HTTP status code is not handled or not allowed 2026-01-28 15:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-single-strap-anchor-stainless-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-bright-finish-jobbers-length-drill-letter-f>: HTTP status code is not handled or not allowed 2026-01-28 15:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironing-board-hanger-6l-x-2w-x-2h-white-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 15:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-track-weld-on-contoured-unfinished-single-strap-anchor>: HTTP status code is not handled or not allowed 2026-01-28 15:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yuasa-np18-12b-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-max-ml7-6-sealed-lead-acid-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koyo-np1-2-12-sealed-lead-acid-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-docking-station-for-hot-swappable-lifepo4-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29336e-spherical-roller-thrust-bearing-extra-capacity-bronze-cage>: HTTP status code is not handled or not allowed 2026-01-28 15:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-thermostatic-mixing-valve-for-eye-face-wash-stations>: HTTP status code is not handled or not allowed 2026-01-28 15:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 120073 pages (at 98 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnh2-3048-6mr-ah-with-lower-shelf-30-x-48-adj-height>: HTTP status code is not handled or not allowed 2026-01-28 15:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/barbell-receiver-lock-stainless-steel-58>: HTTP status code is not handled or not allowed 2026-01-28 15:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-rnl2-3060-6mr-with-lower-shelf-30-x-60-fixed-height>: HTTP status code is not handled or not allowed 2026-01-28 15:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-rack-for-16mm-tubes-31-places-white-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 15:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-manual-chain-hoist-14-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-brake-winch-w-left-handed-handle-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extinguisher-cabinet-full-bubble-with-catch-surface-mt-steel-11-1-2-inch-l-x-26-1-2-inch-h-x-4-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 15:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/altronix-smp5pmctxpd16-alarm-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-lodestar-vs-electric-chain-hoist-14-ton-10-lift-53-32-fpm-115-1-60-3-step-control>: HTTP status code is not handled or not allowed 2026-01-28 15:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we302323kd-dsr-donut-screen-rack-kd-end-load-25-12w-x-24d-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 15:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fall-protection-push-beam-trolley-w-upto-16w-flange-12-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-in-4-1-2-in-black-steel-pipe-nipple-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 15:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest---jennings-3v-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-galvanized-malleable-cored-plug-150-psi-lead-free>: HTTP status code is not handled or not allowed 2026-01-28 15:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/micro-centrifuge-tube-05ml-capacity-natural-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nuc1824-utility-cart-2-shelf-18w-x-36h-x-24l-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 15:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eaton-powerware-pw5115-1400-usb-05146566-5591-12v-9ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-piece-peg-hook-set-small-hooks>: HTTP status code is not handled or not allowed 2026-01-28 15:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyno-lever-hoist-1-12-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyno-lever-hoist-1-12-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/98536c-push-button-assembly-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/98549c-bottle-filler-component-kit-hardware-waterway>: HTTP status code is not handled or not allowed 2026-01-28 15:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-abs-plastic-bowl-for-open-bowl-eye-face-wash-station>: HTTP status code is not handled or not allowed 2026-01-28 15:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-rubber-window-squeegee-w-plastic-handle-pr35>: HTTP status code is not handled or not allowed 2026-01-28 15:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-scraper-handle-for-4-metal-blades-sh04>: HTTP status code is not handled or not allowed 2026-01-28 15:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laboratory-eye-face-wash-station-table-mount-stainless-steel-bowl>: HTTP status code is not handled or not allowed 2026-01-28 15:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microfiber-cloths-16x16-red-200-pack-csa006e>: HTTP status code is not handled or not allowed 2026-01-28 15:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-submersible-pump-142-dual-purpose-115v-205-gph-at-1>: HTTP status code is not handled or not allowed 2026-01-28 15:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-ii-accuflow-steel-safety-can-5-gal-5-8-metal-hose-blue-7250320>: HTTP status code is not handled or not allowed 2026-01-28 15:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62102rs-p53-deep-groove-ball-bearing-double-sealed-abec-5-50mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-plastic-shim-coil-002-20-20>: HTTP status code is not handled or not allowed 2026-01-28 15:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32209-tapered-roller-bearing-metric-45mm-bore-85mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olympia-micro-illusion-acoustical-panel-shadowline-tapered-edge-24l-x-48w-white>: HTTP status code is not handled or not allowed 2026-01-28 15:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-straight-leg-slotted-shim-20-a-020>: HTTP status code is not handled or not allowed 2026-01-28 15:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-rehab-p200-wheelchair-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/test-tube-basket-pp-5-12l-x-4-34w-x-4-13h-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 15:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-cords-general-purpose-3-8-inch-x-30-inch-10-pack-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drench-shower-wall-mount-galvanized-pipe-nylon-6-showerhead-20-gpm-120v>: HTTP status code is not handled or not allowed 2026-01-28 15:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63192rs-deep-groove-ball-bearing-double-sealed-95mm-bore-200mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amigo-mobility-12260-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickie-p222-gp24-agm-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ohaus-rc3rs-counting-scale-66-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fortress-2200fs-22nf-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-s341-deluxe-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-lynx-lx-3-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teardrop-bolted-pallet-rack-starter-96w-x-36d-x-120h>: HTTP status code is not handled or not allowed 2026-01-28 15:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62072rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-35mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-rehab-q1420-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62162rsnr-deep-groove-ball-bearing-double-sealed-snap-ring-80mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6303zz-p53-deep-groove-ball-bearing-double-shielded-abec-5-17mm-bore-47mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-35002-3600rpm-3-phase-60hz-230460v-2pole>: HTTP status code is not handled or not allowed 2026-01-28 15:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-electric-vibrator-mve-050-dc-24-3000rpm-single-phase-24v-dc>: HTTP status code is not handled or not allowed 2026-01-28 15:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tier-3-door-digital-wood-locker-12-w-x-15-d-x-72-h-cherry-assembled>: HTTP status code is not handled or not allowed 2026-01-28 15:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invacare-action-xt-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-72l-x-14w-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-1-fiberglass-step-ladder-4-ft-dxl311004>: HTTP status code is not handled or not allowed 2026-01-28 15:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mowett-248e-lawn-and-garden-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60032rs-deep-groove-ball-bearing-double-sealed-17mm-bore-35mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6210zznr-deep-groove-ball-bearing-double-shielded-snap-ring-50mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6001zz-p53-deep-groove-ball-bearing-double-shielded-abec-5-12mm-bore-28mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-48l-x-14w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/porous-point-flair-pen-black-barrelink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 15:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-24l-x-24w-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/john-deere-66-lawn-and-garden-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-30-d-standing-height-workbench-maple-butcher-block-square-edge-black>: HTTP status code is not handled or not allowed 2026-01-28 15:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-48l-x-18w-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440211799-cloth-belt-340d-37w-x-75l-50-grit>: HTTP status code is not handled or not allowed 2026-01-28 15:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sears-520-2581-lawn-and-garden-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440211914-cloth-belt-340d-37w-x-60l-50-grit>: HTTP status code is not handled or not allowed 2026-01-28 15:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/murray-38219-lawn-and-garden-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-marker-chisel-blue-ink-dozen-B785507>: HTTP status code is not handled or not allowed 2026-01-28 15:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelf-truck-36l-x-14w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60020001305-652wy-2-1-2w-x-18-15-16l-8000-mesh-grit>: HTTP status code is not handled or not allowed 2026-01-28 15:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tru-ray-sulphite-construction-paper-12x9-pink-50-sheets>: HTTP status code is not handled or not allowed 2026-01-28 15:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-gallon-plastic-storage-tank-square-end-with-flat-bottom-987268>: HTTP status code is not handled or not allowed 2026-01-28 15:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jetstream-ballpoint-gel-pen-07mm-black-ink>: HTTP status code is not handled or not allowed 2026-01-28 15:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frixion-ball-erasable-gel-pen-fine-07mm-red-barrelink>: HTTP status code is not handled or not allowed 2026-01-28 15:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frixion-ball-erasable-gel-pen-fine-07mm-black-barrelink>: HTTP status code is not handled or not allowed 2026-01-28 15:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-h2br12s10-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-n4x7-12v-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-hipolymer-lead-refill-hb-leads-fine-05mm-30tube-3-tubespack>: HTTP status code is not handled or not allowed 2026-01-28 15:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-836s-55-gallon-8-wheel-drum-dolly-steel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precise-v5-rt-rolling-ball-refill-extra-fine-blue-ink-2pack>: HTTP status code is not handled or not allowed 2026-01-28 15:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/visavis-weterase-overhead-transparency-marker-fine-red-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 15:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/murray-50563x8-lawn-and-garden-replacement-battery-3-2ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-25-series-1-x-1-1516-six-t-slotted-extrusion-profile-238-316l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 15:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60070002294-461x-8-1-2w-x-11l-m30-grit>: HTTP status code is not handled or not allowed 2026-01-28 15:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/energel-retractable-pen-needle-fine-tip-05mm-blue-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 15:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/247-highlighter-chisel-tip-yellow-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 15:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scag-stz52-20kh-lawn-and-garden-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8020-40-series-3-18-x-6-516-twelve-t-slotted-extrusion-profile-238-316l-stock-bar>: HTTP status code is not handled or not allowed 2026-01-28 15:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8587-210-tool-post-grinder-series-57-12hp>: HTTP status code is not handled or not allowed 2026-01-28 15:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-2rl6s10ph-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bisley-x--back-womens-long-sleeve-shirt-class-3-s-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/better-retractable-ballpoint-pen-refillable-nonslip-grip-medium-black-ink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 15:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precise-p700-gel-rollerball-pen-fine-07mm-purple-barrelink-dozen>: HTTP status code is not handled or not allowed 2026-01-28 15:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-1632-emergency-light-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sho-me-9985-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iq-rectangle-auxiliary-led-flood-beam-light-with-6-led-6-x-1-12-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technologies-motorized-linen-cart-mcsc-1772-246015-60-1500-lb-cap-60x24x60>: HTTP status code is not handled or not allowed 2026-01-28 15:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 120174 pages (at 101 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-body-hydraulic-cylinder-kit-hf1005b-10-ton>: HTTP status code is not handled or not allowed 2026-01-28 15:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crossover-ladder-36l-x-28-12w-x-118-716h>: HTTP status code is not handled or not allowed 2026-01-28 15:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eg1r-p-genesis-horn-red>: HTTP status code is not handled or not allowed 2026-01-28 15:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-divider-dmb530-535c-for-qmb530c-qmb535c-each>: HTTP status code is not handled or not allowed 2026-01-28 15:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zimmer-ats-750-tourniquet-12v-12ah-medical-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyna-ray-737-5sg-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/revco-scientific-freezer-backup-12v-12ah-medical-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-cage-platform-ladder-w-wheels-2-type-iaa-2-step-375-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trestle-brackets-classicalta-one-aluminium-300-lb-capacity-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-ex1a-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-kap-mens-cotton-casual-plain-front-short-brown-42-x-10-pt26>: HTTP status code is not handled or not allowed 2026-01-28 15:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mpsr-lp-double-action-coverdoor-for-explosionproof-manual-station>: HTTP status code is not handled or not allowed 2026-01-28 15:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperlite-extension-ladder-w-cable-hooks-v-rung-16-type-iaa-375-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hyperlite-extension-ladder-w-v-bar-ratchet-leveler-16-type-iaa-375-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-solvent-resistant-paint-tray-12-case-pet-1800>: HTTP status code is not handled or not allowed 2026-01-28 15:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/els-b12sv192-emergency-light-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 15:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mpsr1-d45wx-ge-single-action-cat-45-key-reset-explosionproof>: HTTP status code is not handled or not allowed 2026-01-28 15:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightalarms-sql-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-1661b-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sd-trm4-remote-testreset-station-magnetic-4w-reed>: HTTP status code is not handled or not allowed 2026-01-28 15:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/439dex-6aw-adaptabel174-dc-vibrating-fire-alarm-bell-explosion-proof-6>: HTTP status code is not handled or not allowed 2026-01-28 15:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-ost3048r-g-open-mesh-steel-security-truck-48x30-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-equipment-meco-ost3072r-g-open-mesh-steel-security-truck-72x30-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/king-kombo-professional-combination-ladder-6-type-ia-5-step-300-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simplex-18ah-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm80i-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eg1t-fire-genesis-trim-plate-for-two-gang-or-4-square-boxes-white-marked-fire>: HTTP status code is not handled or not allowed 2026-01-28 15:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lcx60-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-patrol-sla1075-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-tap-extension-cord-sl800-retractable-reel-30l-cord-163-ga-yw-4pk>: HTTP status code is not handled or not allowed 2026-01-28 15:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-shield-incandescent-utility-light-wtool-tap-sl851-50l-cord-yellowblack-4pk>: HTTP status code is not handled or not allowed 2026-01-28 15:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm66-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-person-standard-ladder-telescoping-plank-73l-x-11w-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 15:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-esc22-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ritar-rt650-6v-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-sla712-12v-7ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sigmas-sp612-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbital-auto-floor-scrubber-with-traction-drive-34-in-cleaning-path>: HTTP status code is not handled or not allowed 2026-01-28 15:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-squeeze-wringer-26-qt-metal-bucket>: HTTP status code is not handled or not allowed 2026-01-28 15:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qp-two-stage-pressure-lubricated-air-compressor-175-psi-14-hp-30-gallon-cap-horizontal>: HTTP status code is not handled or not allowed 2026-01-28 15:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csb-gh1213-12v-12ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-bulk-storage-rack-upright-144-inch-h-x-24-inch-d-8-489-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pe9fz-emergency-light-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/base-eater-safety-spill-kit-5-gallons-4901-005>: HTTP status code is not handled or not allowed 2026-01-28 15:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qt-pro-two-stage-air-compressor-vertical-75-hp-80-gallon-capacity-3-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-6-119-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qp-max-two-stage-air-compressor-vertical-10-hp-120-gallon-capacity-3-phase-460v>: HTTP status code is not handled or not allowed 2026-01-28 15:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-panel-1-3w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 15:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-panel-3w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 15:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3gb-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-120793-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-stage-electric-air-compressor-75-hp-80-gal-cap-3-phase-460v-660-lb-wt>: HTTP status code is not handled or not allowed 2026-01-28 15:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gas-control-kit-24v-with-plug-damper-ck-41p>: HTTP status code is not handled or not allowed 2026-01-28 15:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sig-series-clinch-nut-head-10-24-size>: HTTP status code is not handled or not allowed 2026-01-28 15:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-rack-placard-label-holder-2-x-100-ft-rollwhite-797045>: HTTP status code is not handled or not allowed 2026-01-28 15:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pwl28-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-rack-placard-label-holder-2-x-100-ft-rollgreen-797057>: HTTP status code is not handled or not allowed 2026-01-28 15:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yuntong-yt645-sealed-lead-acid-agm-vrla-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reception-tables-side-c-table-w-laminate-top-22-1-4wx15-3-4dx25-1-2h-maple>: HTTP status code is not handled or not allowed 2026-01-28 15:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/technacell-ep31-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parasystems-ps12180-12v-18ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-lever-interchangeable-core-w-o-bumpstop-oil-rubbed-bronze>: HTTP status code is not handled or not allowed 2026-01-28 15:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-2cl6s10-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kung-long-lw650-6v-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightalarms-2pg2-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/framed-view-binder-with-one-touch-ezd-rings-3inch-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 15:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-cvt3rb3-emergency-light-replacement-battery-7ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orion-square-umbrella-w-sidepost-sunbrella-awning-105w-x-105d-x-111h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sure-lites-l2650-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-variable-angle-corner-class-c-8l-white>: HTTP status code is not handled or not allowed 2026-01-28 15:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nap-ps36-36-perfect-shovel>: HTTP status code is not handled or not allowed 2026-01-28 15:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-beam-2se6s20-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-center-puller-with-3-jaws-10-ton-capacity-23-58-opening-13-34-reach>: HTTP status code is not handled or not allowed 2026-01-28 15:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm24ich-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-32-diameter-hd-precision-turret-bearing-ptb-32-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cell-pc6120-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tissue-box-holder-medium-black>: HTTP status code is not handled or not allowed 2026-01-28 15:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm40i--emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-lm68d--emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13034-selfaligning-rollin-tnut-wball-spring>: HTTP status code is not handled or not allowed 2026-01-28 15:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-black-small>: HTTP status code is not handled or not allowed 2026-01-28 15:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-4-length-jacket-snap-cuff-maroon-x-small>: HTTP status code is not handled or not allowed 2026-01-28 15:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3369-butt-fastener>: HTTP status code is not handled or not allowed 2026-01-28 15:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/puller-with-2-reversible-double-end-jaws-11-ton-capacity-11-78-opening-10-14-reach>: HTTP status code is not handled or not allowed 2026-01-28 15:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-jacket-v-neck-knit-cuff-light-blue-3xl>: HTTP status code is not handled or not allowed 2026-01-28 15:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-waist-length-lab-coat-snap-cuff-light-blue-5xl>: HTTP status code is not handled or not allowed 2026-01-28 15:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concealite-30204-emergency-light-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-6m9cs-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2281-roller-wheel>: HTTP status code is not handled or not allowed 2026-01-28 15:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6102-ball-end-hex-driver-4mm>: HTTP status code is not handled or not allowed 2026-01-28 15:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3282-rollin-tnut-wflex-handle>: HTTP status code is not handled or not allowed 2026-01-28 15:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2557-45-degree-support-12l>: HTTP status code is not handled or not allowed 2026-01-28 15:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5035-drawn-precision-aluminum-tube-profile>: HTTP status code is not handled or not allowed 2026-01-28 15:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-pe22b1-emergency-light-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zareba-sb3zr-6v-4ah-alarm-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/openzone-flappn-duck---mallard-drake-decoy-battery-1-3ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-smoking-in-this-vehicle-sign-adhesive-vinyl-3-12-x-5-blackredwhite-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 15:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-this-vehicle-makes-wide-right-turns-sign-reflective-sheet-10-x-14-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 120271 pages (at 97 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truck-drivers-shut-off-engine-sign-mirror-image-plastic-10-x-14-greenwhite>: HTTP status code is not handled or not allowed 2026-01-28 15:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notifier-bat-1270-12v-7ah-alarm-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lcr064r5p-6v-4ah-security-system-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-delivery-location-sign-adhesive-vinyl-10-x-14-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 15:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portalac-lac-pe10-emergency-light-replacement-battery-10ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-this-vehicle-makes-wide-right-turns-sign-graphic-dura-vinyl-14-x-10-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-this-truck-makes-wide-right-turns-sign-adh-dura-vinyl-4-x-24-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 15:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interstate-faytx20h-bs-powersports-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-1799118st-emergency-light-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-no-drivers-beyond-this-point-sign-plastic-10-x-14-blackbluewhite>: HTTP status code is not handled or not allowed 2026-01-28 15:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2660-kydex-panel-black>: HTTP status code is not handled or not allowed 2026-01-28 15:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yfm45kd-kp-kodiak-450cc-atv-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp020sd-10-ner-electric-hoist-push-trolley-2-ton-10-lift-2845-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner003hd-20-ner-dual-speed-electric-chain-hoist-14-ton-20-lift-539-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner001hd-20-ner-dual-speed-electric-chain-hoist-18-ton-20-lift-559-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp005ld-20-ner-electric-hoist-push-trolley-12-ton-20-lift-1525-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ion-audio-explorer-ipa76s-speaker-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-this-truck-makes-wide-right-turns-sign-reflective-sheet-4-x-24-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 15:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2650-alucobest-panel-platinum>: HTTP status code is not handled or not allowed 2026-01-28 15:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oversize-load-hinged-transportation-sign-aluminum-18-x-84-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 15:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-apache-ride-on-toys-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-t4-e-500cc-motorcycle-replacement-battery-1987-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner015sd-15-ner-dual-speed-electric-chain-hoist-1-12-ton-15-lift-183-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motron-sting-50cc-motorcycle-replacement-battery-1998-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner010s-20-ner-electric-hoist-hook-suspension-1-ton-20-lift-28-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/taotao-110cc-motorcycle-replacement-battery-2012-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parklet-extension-with-1-panel-solid-wood-panel-insert-56l-x-104w-x-44h>: HTTP status code is not handled or not allowed 2026-01-28 15:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parklet-extension-with-2-panels-solid-wood-panel-insert-78l-x-78w-x-42h>: HTTP status code is not handled or not allowed 2026-01-28 15:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8275-hi-vis-thermal-workwear-jacket-type-r-ansi-class-2-l-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/titan-coyote-112cc-motorcycle-replacement-battery-1995-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-storage-cabinet-with-expanded-metal-door-unassembled-48x24x78-gray-270022GY>: HTTP status code is not handled or not allowed 2026-01-28 15:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp020s-20-ner-electric-chain-hoist-push-trolley-2-ton-20-lift-28-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contoured-surveyors-vest-w-solid-front--mesh-back-class-2-2xl-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gate-closed-to--semi-custom-sign-egp-aluminum-18-x-24-blackwhite>: HTTP status code is not handled or not allowed 2026-01-28 15:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7216bmuc3-angular-contact-ball-bearing-flush-ground-80mm-bore-x-140mm-od-x-26mm-w>: HTTP status code is not handled or not allowed 2026-01-28 15:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-yz250fx-250cc-motorcycle-replacement-battery-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mbk-forte-50cc-motorcycle-replacement-battery-1984-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contoured-surveyors-vest-w-solid-front--mesh-back-class-3-m-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ner010ld-10-ner-dual-speed-electric-chain-hoist-1-ton-10-lift-1425-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp030c-10-ner-electric-chain-hoist-push-trolley-3-ton-10-lift-17-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9800-system-340-voc-dtm-urethane-mastic-black-9879419>: HTTP status code is not handled or not allowed 2026-01-28 15:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al100-hand-chain-hoist-aluminum-12-ton-capacity-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/al100-hand-chain-hoist-aluminum-1-ton-capacity-30-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 15:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-cans-only-label-w-recycle-sign-aluminum-5-x-7>: HTTP status code is not handled or not allowed 2026-01-28 15:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-cans-only-label-w-recycle-sign-adhesive-vinyl-5-x-7>: HTTP status code is not handled or not allowed 2026-01-28 15:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm005s-l-20-ner-electric-hoist-motor-trolley-12-ton-20-lift-29-ftmin-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-5-16-inch-extra-long-drill-bit-10-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 15:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerm010l-l-10-ner-electric-hoist-motor-trolley-1-ton-10-lift-14-ftmin-208v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydra-lift-karrier-72h-ac-1-phase-power-lift-manual-tilt>: HTTP status code is not handled or not allowed 2026-01-28 15:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conserve-water-label-plastic-10-x-14>: HTTP status code is not handled or not allowed 2026-01-28 15:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fortress-2200fs-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-mobile-utility-table-20-x-16-undershelf-304-grade>: HTTP status code is not handled or not allowed 2026-01-28 15:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nerp010ld-fg-10-ner-food-grade-hoist-with-push-trolley-1-ton-capacity-208v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-height-2-drawer-pedestal-black>: HTTP status code is not handled or not allowed 2026-01-28 15:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-20-oz-looped-end-wet-mop-w-quick-change-handle-4-pack-979>: HTTP status code is not handled or not allowed 2026-01-28 15:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rascal-rover-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440231482-roll-426u-2-3-4w-x-25-yd-80>: HTTP status code is not handled or not allowed 2026-01-28 15:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60090002001-roll-211k-1-1-2w-x-50-yd-100>: HTTP status code is not handled or not allowed 2026-01-28 15:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60070010214-roll-461x-4w-x-150l-x-m15>: HTTP status code is not handled or not allowed 2026-01-28 15:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kymco-movie-125cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ms-h-pro-circular-digitalhotplate-stirrer-86114201-500w-110v-60hz-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulse-super-c-electric-scooter-replacement-battery-5ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zap-zappy-3-ez-electric-scooter-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-channel-variable-pipettor-71211105-2-20ul-volume-range>: HTTP status code is not handled or not allowed 2026-01-28 15:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-autoclavable-pipettor-71311106-5-50ul>: HTTP status code is not handled or not allowed 2026-01-28 15:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceramic-rectangular-base-magnets-hmks-c-with-knob-38-lbs-pull-blue-powder-coat>: HTTP status code is not handled or not allowed 2026-01-28 15:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-8-channel-autoclavable-pipettor-71311206-5-50ul>: HTTP status code is not handled or not allowed 2026-01-28 15:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-t-rex-150-150cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-hss-str-shank-3-flute-core-drill-1-inch-dia-x-6-3-8-inch-flute-x-11-inch-oal>: HTTP status code is not handled or not allowed 2026-01-28 15:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/asfogless-3sixty-frameless-safety-glasses-clear-lens-clear-temple-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 15:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-number-60-hss-aircraft-extension-drill-12-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 15:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-tek-polykor-seamless-knit-blended-cr-gloves-nitrile-coated-ansi-a6-l-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/astrobrights-colored-paper-8-1-2-inch-x-11-inch-24-lb-violet-500-sheets-ream>: HTTP status code is not handled or not allowed 2026-01-28 15:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-48-slatwall-panel-brushed-aluminum-hpl-without-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 15:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-scratch-semi-rimless-safety-glasses-amber-lens-camouflage-frame-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 15:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-96-slatwall-panel-mirror-with-aluminum-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 15:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-48-slatwall-panel-almond-laminate-without-inserts-pkg-qty-4>: HTTP status code is not handled or not allowed 2026-01-28 15:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-subject-notebook-8-inch-x-10-1-2-inch-college-ruled-bright-white-70-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 15:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snugboot-craftsman-mid-calf-boots-cleated-outsole-plain-toe-size-13-11-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-expedition-le-ace-900-900cc-snowmobile-replacement-battery-2015-2018-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acifort-metmax-full-safety-boots-cleated-outsole-steel-toe-size-10-15h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-star-5-subject-advance-notebook-8-1-2-inch-x-11-inch-college-ruled-200-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 15:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-wide-series-refrigerator-freezer-comb-lhd-solid-door-53-cu-ft-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 15:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs99d-front-doorhopper-for-gs-12-vs-12-hobart-vs9>: HTTP status code is not handled or not allowed 2026-01-28 15:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30ba-adaptable-beater-paddle-for-60-80-140-quart-classic-hobart-mixers-30-qt-mixer>: HTTP status code is not handled or not allowed 2026-01-28 15:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kinetic-concepts-kinair-bed-temp-transport-medical-replacement-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acifort-metmax-full-safety-boots-cleated-outsole-steel-toe-size-13-15h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-knee-boots-safety-loc-outsole-steel-toe-size-10-15h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cambridge-med-instruments-model-502-medical-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wirebound-computation-notebook-9-1-2-inch-x-11-3-4-inch-quad-ruled-76-sheets-pad>: HTTP status code is not handled or not allowed 2026-01-28 15:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/allied-healthcare-products-s178-suction-unit-medical-replacement-battery-5ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seating-2300-series-31h-poly-stack-multi-purpose-chair-with-perforated-back-light-grey>: HTTP status code is not handled or not allowed 2026-01-28 15:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensor-medics-eli-xr-eli-100-eli-200-medical-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/Classic-Chair-Sensor-Pad-7-x-15-45-Day-10110>: HTTP status code is not handled or not allowed 2026-01-28 15:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-instrumentation-e-cruiser-160-medical-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amsco-surgical-table-3080-rl-control-medical-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parks-medical-1102-1103-1105-compressor-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-pulley-hand-tap-1-2-20-12-inch-oal>: HTTP status code is not handled or not allowed 2026-01-28 15:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-thread-forming-fluteless-tap-1-4-20>: HTTP status code is not handled or not allowed 2026-01-28 15:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-pulley-hand-tap-1-4-20-6-inch-oal>: HTTP status code is not handled or not allowed 2026-01-28 15:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapro-knee-boots-safety-loc-outsole-steel-toe-size-4-14h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 120372 pages (at 101 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/masterly-solar-generator-msl04-10a-solar-replacement-battery-100ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schumacher-electric-pp-2200-jump-starter-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 15:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-hook-3-l-metal-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-chain-mechanical-dock-leveler-124l-x-84w-steel-35000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-shelf-bin-11w-x-12d-x-7h-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worksaver-insertable-divider-value-pack-print-on-8-tabs-24-sets-buff>: HTTP status code is not handled or not allowed 2026-01-28 15:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retractable-dock-shelter-40-oz-capacity-24-projection-11w-x-11h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/style-edge-clear-plastic-insertable-divider-85x11-8-tabs-white-multicolor>: HTTP status code is not handled or not allowed 2026-01-28 15:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-shelf-bin-11w-x-14d-x-7h-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schumacher-electric-ip-1850fl-jump-starter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-shelf-bin-6w-x-18d-x-7h-ivory>: HTTP status code is not handled or not allowed 2026-01-28 15:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-edge-o-dock-leveler-66-ramp-width-steel-25000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-workbench-multi-task-chair-polyurethane-black>: HTTP status code is not handled or not allowed 2026-01-28 15:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-unit-36w-x-12d-x-74h-with-21-ssb425-stackable-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fadeless-paper-roll-48-x-50-ft-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schumacher-electric-ip-2200i-ip-220ke-jump-starter-replacement-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-drawing-paper-47-lbs-18-x-24-pure-white-500-sheets-ream>: HTTP status code is not handled or not allowed 2026-01-28 15:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mastercare-patient-equipment-x-250-rev-a-medical-replacement-battery-9ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/picker-international-explorer-portable-x-ray-medical-replacement-battery-26ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/douglas-guardian-dg6-5f-sealed-lead-acid-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-crane-engine-hoist-with-foldable-legs-1-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-loop-tape-individual-dots-with-adhesive-34l-x-34w-white-pack-of-200>: HTTP status code is not handled or not allowed 2026-01-28 15:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-box-w-tape-small-8-7-8w-x-5-7-8d-x-6-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 15:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hose-for-wall-mount-units-56-jk-wmh>: HTTP status code is not handled or not allowed 2026-01-28 15:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-1050-mill3-axis-newall-dp700-dro-powerfeeds-power-draw-bar>: HTTP status code is not handled or not allowed 2026-01-28 15:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-conduit-pulling-elbow-zinc-alloy-1-size>: HTTP status code is not handled or not allowed 2026-01-28 15:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/estes-38-thick-entrance-floor-mat-3x6-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-sof-tred-12thick-safety-anti-fatigue-floor-mat-3x60-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 15:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-power-group-ub12120-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-wardrobe-cabinet-easy-assembly-36x24x72-black-270033BK>: HTTP status code is not handled or not allowed 2026-01-28 15:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yov-445-4-12-apprentice-series-utility-bench-vise>: HTTP status code is not handled or not allowed 2026-01-28 15:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conduit-hanger-w-hex-nut-and-bolt-carbon-steel-3-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsh-series-fan-forced-kickspace-specialty-heater-brown-tsh20j-1500-1000w-240-208v>: HTTP status code is not handled or not allowed 2026-01-28 15:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-marathon-le-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/903-0008-903-case-91l-x-68w-x-38h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leisure-lift-m1-m1-pbr-m2-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-screw-hex-nut-silicon-bronze-10-24-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optiway-technology-2200-fs-u1-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bright-way-group-bw-12260-nb-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-pump-jack-12-ft-pole-pj-12p>: HTTP status code is not handled or not allowed 2026-01-28 15:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-elite-traveller-plus-hd-4-wheel-wheelchair-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-600t-indoor-outdoor-scooter-wheelchair-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-gp-201-hd-22nf-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ft-type-1a-fiberglass-d-rung-straight-ladder-d6220-1>: HTTP status code is not handled or not allowed 2026-01-28 15:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmx-iiia-flame-resistant-premium-coverall-cnb2-navy-45-oz-size-48-regular>: HTTP status code is not handled or not allowed 2026-01-28 15:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-stabilizer-ac96>: HTTP status code is not handled or not allowed 2026-01-28 15:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-insulated-liquid-tight-connector-alloy-steel-1-12-size-5-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-cargo-pocket-work-pants-plc2-navy-9-oz-size-44-x-36u>: HTTP status code is not handled or not allowed 2026-01-28 15:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillar-technology-special-edition-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-flame-resistant-universal-fit-snap-on-hood-hlh2-navy-size-m>: HTTP status code is not handled or not allowed 2026-01-28 15:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orthofab-lifestyles-770-wheelchair-gp24-wheelchair-replacement-battery-75ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toggle-anchor-8-size-white-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-quantum-jazzy-1420-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ef-ct-fr-dress-uniform-shirt-slu2-khaki-size-m-regular>: HTTP status code is not handled or not allowed 2026-01-28 15:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ll-threaded-conduit-body-w-cover-and-gasket-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grounding-hub-bronze-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offset-nipple-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-wafer-head-wall-twister-kit-316-x-1-14-size-102-pieces>: HTTP status code is not handled or not allowed 2026-01-28 15:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saw15120b-infrared-heater-15kw-120v-black>: HTTP status code is not handled or not allowed 2026-01-28 15:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-9r-471-901-3-screw-extractor-double-edged-set-5-parts-size-1-5-in-metal-case>: HTTP status code is not handled or not allowed 2026-01-28 15:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kpex-71-22-200-sba-angeled-high-leverage-cobolt-bolt-cutters-comfort-grip-8-oal>: HTTP status code is not handled or not allowed 2026-01-28 15:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conical-anchor-kit-w-combo-pan-head-screw-6-size-tuff-pack-201-pieces>: HTTP status code is not handled or not allowed 2026-01-28 15:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teledyne-big-beam-1880005-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-gt-alante-ii-gp-202r-wheelchair-replacement-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-magnum-power-recliner-wheelchair-replacement-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-prestige-650-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-go-go-elite-traveller-plus-hd-4-wheel-wheelchair-battery-22ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-combo-pan-head-carbon-steel-10-x-1-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/murray-16hp-46-16-hp-35ah-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-rope-polypropylene-316-x-250-size>: HTTP status code is not handled or not allowed 2026-01-28 15:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5503-moisture-wicking-long-sleeve-safety-tshirt-with-chest-pocket-lime-large>: HTTP status code is not handled or not allowed 2026-01-28 15:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-button-head-drive-anchor-kit-w-pin-tuff-pack-316-x-1-size-100-pieces>: HTTP status code is not handled or not allowed 2026-01-28 15:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1005-standard-class-2-two-tone-mesh-zipper-safety-vest-lime-large>: HTTP status code is not handled or not allowed 2026-01-28 15:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-grip-anchor-kit-w-combo-pan-head-screw-6-size-201-pieces>: HTTP status code is not handled or not allowed 2026-01-28 15:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1503-premium-class-2-fall-protection-mesh-6-pockets-safety-vest-lime-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-60-yds-black-3-pack-ac36-cloth-duct-tape-10-mil>: HTTP status code is not handled or not allowed 2026-01-28 15:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-line-measuring-tape-high-tenacity-polyester-34-x-500-size>: HTTP status code is not handled or not allowed 2026-01-28 15:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1502-multipurpose-class-2-two-tone-mesh-zipper-6-pockets-vest-orange-large>: HTTP status code is not handled or not allowed 2026-01-28 15:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-36-yds-1-pack-4008-double-sided-foam-tape-1-8-thickness-inches>: HTTP status code is not handled or not allowed 2026-01-28 15:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/golden-technologies-gt-compass-gp-600-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-and-square-flat-head-machine-screw-14-20-x-1-14-size-pack-od-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-shock-absorption-mount-threaded-stud-100-inch-dia-50-inch-h-1-4-20-thread>: HTTP status code is not handled or not allowed 2026-01-28 15:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pacesaver-plus-iii-atlas-plus-3-atlas-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pride-mobility-jet-1-with-active-trac-wheelchair-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1505-multipurpose-class-2-mesh-zipper-6-pockets-safety-vest-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-28 15:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-mount-1-tapped-hole-1-threaded-stud-118-inch-dia-40mm-h-m8-x-125-thread>: HTTP status code is not handled or not allowed 2026-01-28 15:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chloride-power-1000010110-emergency-light-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-prestige-1500-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-8-32-x-2-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6802-class-e-standard-waterproof-rain-pants-orange-lxl>: HTTP status code is not handled or not allowed 2026-01-28 15:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-laminate-postformed-worksurface-180-degree-front-comfort-edge-96-inch-w-x-24-inch-d-x-1-1-5-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6802-class-e-standard-waterproof-rain-pants-orange-4xl5xl>: HTTP status code is not handled or not allowed 2026-01-28 15:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-fish-stick-glow-in-the-dark-rod-w-eye-and-hook-fibreglass-14-x-24-size>: HTTP status code is not handled or not allowed 2026-01-28 15:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-flat-head-machine-screw-10-32-x-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-hutch-with-doors-66-inchw-x-15-inchd-x-36-inchh-cherry>: HTTP status code is not handled or not allowed 2026-01-28 15:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lighting-lighting-tl930018-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-square-pan-head-carbon-steel-6-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-16-w-5-step-steel-roll-ladder-14-d-top-stp-hndrl-orange-fsh518go>: HTTP status code is not handled or not allowed 2026-01-28 15:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-wood-screw-phillips-brass-12-x-2-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-12-step-stl-roll-lad-14-d-top-stp-hndrl-lck-orng-fs123214go>: HTTP status code is not handled or not allowed 2026-01-28 15:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trio-lighting-lighting-tl930007-emergency-light-replacement-battery-4-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 120473 pages (at 101 pages/min), scraped 57229 items (at 0 items/min) 2026-01-28 15:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-square-pan-head-carbon-steel-10-x-34-size-tuff-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-drawer-heavy-duty-vertical-file-cabinet-15-inchw-x-25-inchd-x-28-3-8-inchh-putty>: HTTP status code is not handled or not allowed 2026-01-28 15:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69000-series-box-file-hanging-pedestal-16-inchw-x-22-inchd-x-19-inchh-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 15:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducing-washer-carbon-steel-2-x-12-size-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-kvf300-b-prairie-300-4x4-canada-300cc-atv-battery-1998-2002-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/muffl-air-pneumatic-silencer-5500a8001-112-npt-female-thread>: HTTP status code is not handled or not allowed 2026-01-28 15:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wilson-portable-ball-machine-standard-tennis-ball-machine-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-punch-2-7-holes-adjustable-centers-a4-compatible-40-sheets-black>: HTTP status code is not handled or not allowed 2026-01-28 15:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs237301l-cast-iron-right-angle-worm-gear-reducer-301-ratio>: HTTP status code is not handled or not allowed 2026-01-28 15:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-lil-red-tractor-iged1068-ride-on-toys-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrs206101l-cast-iron-right-angle-worm-gear-reducer-101-ratio>: HTTP status code is not handled or not allowed 2026-01-28 15:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/name-badge-labels-2-11-32-x-3-3-8-white-100-labels-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf175201r56c-cast-iron-right-angle-worm-gear-reducer-201-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-held-magnifier-2x-magnification-with-4x-inset-2-x-4-lens-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 15:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-night-train-fxstb-1450cc-motorcycle-battery-2000-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-spyder-rt-sm5-1000cc-motorcycle-replacement-battery-2010-2013-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 15:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf133401l56c-cast-iron-right-angle-worm-gear-reducer-401-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-staples-85-sheet-capacity-1-2-leg-length-1000-box>: HTTP status code is not handled or not allowed 2026-01-28 15:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phillips-pan-head-self-drilling-screw-6-x-716-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf206151r56c-cast-iron-right-angle-worm-gear-reducer-151-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washer-silicon-bronze-0-316-id-0-12-od-8-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-vulcan-s-abs-650cc-motorcycle-replacement-battery-2015-2017-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-smv-750-dorsoduro-750cc-motorcycle-replacement-battery-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf262301h145tc-cast-iron-right-angle-worm-gear-reducer-301-ratio-145t-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/victory-cory-ness-jackpot-1634cc-motorcycle-replacement-battery-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ground-pigtail-w-hex-head-combo-screw-solid-copper-12-awg-10-12-size>: HTTP status code is not handled or not allowed 2026-01-28 15:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sheet-metal-screw-phillipsslotted-hex-washer-head-12-x-1-12-size-pk-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-rocket-iii-classic-tourer-2300cc-motorcycle-battery-2007-2011-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-cmx500-rebel-500-500cc-motorcycle-replacement-battery-2017-2019-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf237201h56c-cast-iron-right-angle-worm-gear-reducer-201-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-dog-vintage-sport-1750cc-motorcycle-replacement-battery-1999-2001-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf262151h145tc-cast-iron-right-angle-worm-gear-reducer-151-ratio-145t-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdrf262201h56c-cast-iron-right-angle-worm-gear-reducer-201-ratio-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roof-top-freestanding-counterweight-anchor-with-16-plates-45-lb-each>: HTTP status code is not handled or not allowed 2026-01-28 15:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-washer-silicon-bronze-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-low-carbon-steel-516-18-x-3-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-low-carbon-steel-34-10-x-2-34-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-cbx1000-super-sport-optional-1000cc-motorcycle-replacement-battery-12v-i>: HTTP status code is not handled or not allowed 2026-01-28 15:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-pool-tile-cleaner-gallon-bottle-4-case-p1128cs>: HTTP status code is not handled or not allowed 2026-01-28 15:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pistol-case-12-1-2l-x-9w-x-6h-black-diamond-plate>: HTTP status code is not handled or not allowed 2026-01-28 15:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ar49-reach-in-refrigerator-2-door-white-49-cu-ft-54w-x-32-34d-x-82-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-offset-strut-strap-carbon-steel-1-12-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-starter-csb73-1548-6x-48-inch-w-x-15-inch-d-x-73-inch-h-6-shelves-18-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-purpose-container-placard-label-holder-astp2-w-place-label-here-4-12-x-6-12>: HTTP status code is not handled or not allowed 2026-01-28 15:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-container-placard-label-holder-estb5-6-x-8-white>: HTTP status code is not handled or not allowed 2026-01-28 15:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/closed-add-on-cab85-2448-8-48-inch-w-x-24-inch-d-x-85-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-5-3-diopter-led-clip-on-magnifying-lamp>: HTTP status code is not handled or not allowed 2026-01-28 15:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnifying-task-lamp-white-3-diopter-45-ultra-bright-leds>: HTTP status code is not handled or not allowed 2026-01-28 15:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-conductor-plastic-insulated-cable-staple-34-size-white-pail-pack-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-head-machine-screw-phillipsslotted-10-32-x-34-size-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f70eb12040000001-mike-pendant-6-button-black-2speed-buttons>: HTTP status code is not handled or not allowed 2026-01-28 15:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bx1542l-42-inch-w-x-15-inch-d-22-gauge-450-lb-capacity-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-street-bob-fxdbi-1450cc-motorcycle-replacement-battery-2006-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-tap-bolt-silicon-bronze-516-18-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panda-motor-sports-trail-rider-70cc-motorcycle-replacement-battery-1999-2002-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-3-8-dia-x-18-ga-galvanized-roller-25904-14-o-for-14-oaw-omni-conveyors>: HTTP status code is not handled or not allowed 2026-01-28 15:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-mobile-shelf-truck-mst2448ts-steel-48-x-24-275-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-screamin-eagle-softail-deuce-2-fxstdse2-1550cc-motorcycle-battery-2004-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pr-48-two-tone-waterproof-rain-coat-ansi-class-3-lime-black-size-s>: HTTP status code is not handled or not allowed 2026-01-28 15:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-st1100-abs-tcs-1100a-1100cc-motorcycle-replacement-battery-1991-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-head-lag-screw-carbon-steel-14-x-1-14-size-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-174-plastic-automatic-roll-paper-towel-dispenser-8-roll-smoke-gray-beige-finish>: HTTP status code is not handled or not allowed 2026-01-28 15:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-funnel-ef-3008-8-with-53mm-cap-adapter-red-lid>: HTTP status code is not handled or not allowed 2026-01-28 15:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-gl1800hpn-gold-wing-audio-comfort-navi-1800cc-motorcycle-battery-2006-2010-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-funnel-ef-4-38-006n-4-with-polypropylene-quick-disconnect-adapter-red-lid>: HTTP status code is not handled or not allowed 2026-01-28 15:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/port-a-blast-sno-cone-machine-500-lbs-ice-per-hour>: HTTP status code is not handled or not allowed 2026-01-28 15:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/misty-si-dry-silicone-spray-lubricant-11oz-aerosol-12-case-amra32916>: HTTP status code is not handled or not allowed 2026-01-28 15:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combat-child-resist-ant-kill-sys-kill-queen-6-traps-bx-12cs-dia45901ct>: HTTP status code is not handled or not allowed 2026-01-28 15:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-5-shelf-chrome-basket-wire-shelving-unit-starter-48w-x-24d-x-80h>: HTTP status code is not handled or not allowed 2026-01-28 15:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dawn-heavy-duty-degreaser-gallon-bottle-3-case-pgc04852>: HTTP status code is not handled or not allowed 2026-01-28 15:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-7-inch-straight-tap-wrench>: HTTP status code is not handled or not allowed 2026-01-28 15:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jh750-xir-750cc-personal-watercraft-battery-1992-1999-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jh750-ss-750cc-personal-watercraft-battery-1992-1999-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucpk206-19-pillow-block-bearing-low-base-set-screw-bore-30-1625-mm>: HTTP status code is not handled or not allowed 2026-01-28 15:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/208v-general-purpose-normally-open-actuator-without-end-switch-ag23d020>: HTTP status code is not handled or not allowed 2026-01-28 15:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kawasaki-jet-ski-jt1500-stx-15f-1500cc-personal-watercraft-battery-2004-2016-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23026ew33kc3-130mm-bore-200mm-od-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-hcfu206-20-flange-mount-bearing-4-bolt-flange-eccentric-locking-collar-bore-31-75-mm>: HTTP status code is not handled or not allowed 2026-01-28 15:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honda-aquatrax-e-12x-1235cc-personal-watercraft-replacement-battery-2002-2009-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucfl205-25mm-flange-mount-bearing-2-bolt-flange-set-screw-locking-bore-25-mm>: HTTP status code is not handled or not allowed 2026-01-28 15:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rad2go-electric-chariot-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-ucf207-23-flange-mount-bearing-4-bolt-flange-set-screw-locking-bore-36-5125-mm>: HTTP status code is not handled or not allowed 2026-01-28 15:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-cylinder-storage-cabinet-double-door-16-cylinder-cap-60w-x-32d-x-65h>: HTTP status code is not handled or not allowed 2026-01-28 15:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-partition-wall-hanging-bracket-for-add-on-units-adjustable-angle-chrome-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 15:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23932axw33c3-160mm-bore-220mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-hurricane-700-700cc-personal-watercraft-replacement-battery-1996-1997-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8391-class-3-long-sleeve-tshirt-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-28 15:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22336ew33kc3-180mm-bore-380mm-od-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-23238ew33c3-190mm-bore-340mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-row-spherical-roller-bearing-22338ew33c3-190mm-bore-400mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-label-holder-fits-54w-shelf-51l-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odin-safety-glasses-blue-mirror-lens-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quantum-30176-60176-or-90176-angled-label-holder-3l-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 120573 pages (at 100 pages/min), scraped 57235 items (at 6 items/min) 2026-01-28 15:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-nu308mc3-40mm-bore-90mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ortho-kinetics-sierra-xl-460-mobility-scooter-replacement-battery-75ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ada-braille-sign-all-gender-with-2-symbols--wheelchair-access-6w-x-9h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thor-pz-safety-glasses-polarized-g15-lens-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8091-noncertified-long-sleeve-tshirt-lime-5xl>: HTTP status code is not handled or not allowed 2026-01-28 15:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-row-cylindrical-roller-bearing-n322myc3-110mm-bore-240mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8091-noncertified-long-sleeve-tshirt-lime-3xl>: HTTP status code is not handled or not allowed 2026-01-28 15:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-add-on-oak73-1548-5-48-inch-w-x-15-inch-d-x-73-inch-h-5-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-open-add-on-oak85-2436-6-36-inch-w-x-24-inch-d-x-85-inch-h-6-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:40:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baja-motorsports-rt50-baja-retro-49cc-scooter-and-moped-replacement-battery-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:40:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klip-it-closed-starter-csk85-1236-8-36-inch-w-x-12-inch-d-x-85-inch-h-8-shelves-20-ga-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:40:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-in-x-2-in-lead-free-seamless-red-brass-pipe-nipple-140-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 15:40:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zap-new-century-electric-bicycle-electric-scooter-replacement-battery-12ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:40:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everest-jennings-metro-poweriii-mobility-scooter-replacement-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:40:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-in-lead-free-brass-cap-fnpt-125-psi-import>: HTTP status code is not handled or not allowed 2026-01-28 15:40:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-in-x-2-in-lead-free-seamless-red-brass-pipe-nipple-140-psi-sch-40-domestic>: HTTP status code is not handled or not allowed 2026-01-28 15:40:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-03405-su-q500t3-cl-cd2-500w-double-ended-t3-halogen-bulb-t3-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:40:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss6001zz-deep-groove-ball-bearing-stainless-steel-double-shielded-od-28mm-bore-12mmmetric>: HTTP status code is not handled or not allowed 2026-01-28 15:40:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-starter-36w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:40:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-add-on-36w-x-36d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-plastic-lid-for-triple-bin-recycling-hoppersold-each-987465YL>: HTTP status code is not handled or not allowed 2026-01-28 15:40:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-inked-message-stamp-original-1-5-8-x-1-2-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:40:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polaris-fst-iq-switchback-750cc-snowmobile-replacement-battery-2007-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yamaha-fx-nytro-rtx-1049cc-snowmobile-replacement-battery-2008-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:40:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/award-certificate-document-cover-12-1-2-x-9-3-4-metallic-blue-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-write-on-index-tabs-7-16-x-1-white-104-tabs-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:40:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printable-self-adhesive-tabs-1-1-4-width-assorted-96-tabs-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:40:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-chrome-wire-shelving-unit-starter-48w-x-12d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-48w-x-30d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:40:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-shipping-kit-6-x-5-x-4-1-2-200lb-test-eps-foam-8-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:40:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-freestyle-park-550f-550cc-snowmobile-replacement-battery-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:40:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-chrome-wire-shelving-unit-add-on-36w-x-36d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:40:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-literature-mailers-13-x-13-x-3-200lb-test-ect-32-white-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:40:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-stainless-steel-wire-shelving-unit-starter-42w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:40:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-poly-mailers-12-x-15-1-2-2-5-mil-black-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:40:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-circle-removable-labels-fluorescent-yellow-500-per-roll>: HTTP status code is not handled or not allowed 2026-01-28 15:40:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-literature-mailers-12-x-12-x-4-200lb-test-ect-32-kraft-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-mx-z-renegade-x-800-ho-ptek-800cc-snowmobile-battery-2004-2013-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:40:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8485-containment-berm-foam-wall-15-x-50-22-oz-pvc>: HTTP status code is not handled or not allowed 2026-01-28 15:40:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-round-base-for-652299-292236>: HTTP status code is not handled or not allowed 2026-01-28 15:40:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-8479-containment-berm-foam-wall-12-x-60-22-oz-pvc>: HTTP status code is not handled or not allowed 2026-01-28 15:40:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-961215720-six-tier-12-x-15-x-12-1-wide-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:40:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plastic-locker-11-9z1218720-z-style-12-x-18-x-72-1-wide-cream>: HTTP status code is not handled or not allowed 2026-01-28 15:40:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-600-pro-laser-welded-diamond-blade-14-dia-x-316t-x-1p-20-center-hole-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:40:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-mx-z-x-rs-600-ho-600cc-snowmobile-replacement-battery-2014-2016-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:40:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-renegade-600-adrenaline-600cc-snowmobile-replacement-battery-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:40:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-8z1518601-z-style-15-x-18-x-60-silver-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:40:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bombardier-skandic-550f-tundra-550cc-snowmobile-replacement-battery-2010-2011-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:40:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-plus-phenolic-locker-11-8z1518601-z-style-15-x-18-x-60-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 15:40:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cp-mini-ball-valve-brass-3-8-fnpt-x-3-8-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 15:40:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-1-2-inch-white-dove-mini-roller-2-pk-140606044>: HTTP status code is not handled or not allowed 2026-01-28 15:40:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/angle-broom-high-performance-bristles-9-w-yellow-gjo58562>: HTTP status code is not handled or not allowed 2026-01-28 15:40:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-30x21x54-nexelon-finish-331448N>: HTTP status code is not handled or not allowed 2026-01-28 15:40:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-magnetic-v-block-with-onoff-switch-2-18-4-3-34>: HTTP status code is not handled or not allowed 2026-01-28 15:40:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealer-sales-kf-series-20-hand-sealer-w-2-6mm-seal>: HTTP status code is not handled or not allowed 2026-01-28 15:40:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 120669 pages (at 96 pages/min), scraped 57277 items (at 42 items/min) 2026-01-28 15:40:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4910-double-sided-vhb-acrylic-foam-tape-1-2-x-5-yds-40-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4951-double-sided-vhb-acrylic-foam-tape-1-x-5-yds-45-mil-white>: HTTP status code is not handled or not allowed 2026-01-28 15:40:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-337ab-butterfly-valve-with-buna-seals--10-position-handle-6-wafer>: HTTP status code is not handled or not allowed 2026-01-28 15:40:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centrifugal-pump-motor-c335-1hp-115-230v-3600rpm-1ph-56j-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 15:41:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-argos-10-pistol-cradle-ws-6810-ws23-battleship-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:41:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-argos-6w-ammo-bin-ws-6006-ws23-battleship-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:41:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trauma-pac-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:41:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/argoscabinet-gun-storage-cabinet-awc72h18r20p-1-18-rifles-20-pistols-w-2-half-shelves-42x15x72-battleship-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:41:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z304-3-4-1-2hp-230v-3600rpm-1ph-dpao-145tz-fr>: HTTP status code is not handled or not allowed 2026-01-28 15:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parks-medical-1bts-doppler-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:41:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bci-international-712008a1-medical-replacement-battery-1-3ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:41:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-335di-butterfly-valve-with-epdm-seals--10-position-handle-6-wafer>: HTTP status code is not handled or not allowed 2026-01-28 15:41:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y595-213thfs8028-75hp-230-460v-1800rpm-3ph-213tc-tefc>: HTTP status code is not handled or not allowed 2026-01-28 15:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infrasonics-adult-star-2000-medical-replacement-battery-7ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:41:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lincoln-electric-company-aead-200le-hf864864-industrial-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:41:11 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/pool_pump_motors already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:41:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vrctlrddwsk-vandal-resistant-bottle-filling-station-w-bi-level-reverse-cooler-stainless>: HTTP status code is not handled or not allowed 2026-01-28 15:41:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-e583-445ttgn6597-125hp-460v-1200rpm-3ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 15:41:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-e573-364ttgs6542-60hp-230-460v-1800rpm-3ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 15:41:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inverter-duty-motor-y531-449thfs8046-250hp-460v-1800rpm-3ph-449t-tebc>: HTTP status code is not handled or not allowed 2026-01-28 15:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-u978-444ttgs1036-125hp-460v-1800rpm-3ph-epfc>: HTTP status code is not handled or not allowed 2026-01-28 15:41:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acme-medical-system-scale-7300-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/devilbiss-vac-u-aide-7304-d-medical-replacement-battery-1-3ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:41:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g572-056c17f5322-3-4hp-1-2hp-1800rpm-115-208-230v-1ph-56c-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 15:41:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ppi-pp-145002-sharps-disposal-wall-cabinet-combo-with-sharps-container-glove-box>: HTTP status code is not handled or not allowed 2026-01-28 15:41:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k252-5k49dn4130-1-4hp-1800rpm-208-230-460v-3ph-56c-fr-tenv>: HTTP status code is not handled or not allowed 2026-01-28 15:41:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/motors_power_transmission/electric_motors/definite_purpose_electric_motors/pool_pump_motors>: HTTP status code is not handled or not allowed 2026-01-28 15:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sebra-1071-mobile-tube-sealer-medical-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:41:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amsco-3080-surgical-bed-motor-medical-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:41:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-cd1200m-commercial-microwave-oven-twintouch-1200w-ss-17-12w-x-22-916h-x-13-58d>: HTTP status code is not handled or not allowed 2026-01-28 15:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-22gtf-commercial-microwave-oven-heavy-duty-1200w-ss-20-18w-x-18-12h-x-13-14d>: HTTP status code is not handled or not allowed 2026-01-28 15:41:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnyway-sw12145w-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d394-056t34f5304-1-1-2-1hp-3600rpm-208-230-460v-3ph-56c-fr-tefc>: HTTP status code is not handled or not allowed 2026-01-28 15:41:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnyway-swg12310-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:41:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/902-355-heat-shrink-tubing-4l-black-160-pcs>: HTTP status code is not handled or not allowed 2026-01-28 15:41:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cp-5s2d-lunar-series-die-set-mc4-solar-panels>: HTTP status code is not handled or not allowed 2026-01-28 15:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-h290-5kh36mn137-1-2hp-1725rpm-115v-1-ph-56cz-fr>: HTTP status code is not handled or not allowed 2026-01-28 15:41:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duracell-dura12-8f-sealed-lead-acid-replacement-battery-8ah-12v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:41:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kung-long-wp18-12-sealed-lead-acid-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:41:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xb-series-explosion-proof-convection-triple-unit-heater-cw-tstat-3000w-480v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 15:41:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office/tables/laboratory_tables already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:41:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-series-forced-air-unit-heater-cw-tstat-15000w-600v-13-phase>: HTTP status code is not handled or not allowed 2026-01-28 15:41:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-three-way-bottom-bomber-jacket-with-removable-liner-yellowblack-l>: HTTP status code is not handled or not allowed 2026-01-28 15:41:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fan-blower-motor-c1156-5kc46ln0149x-3-4hp-1725rpm-115-208-230v-1ph-56-fr-dp>: HTTP status code is not handled or not allowed 2026-01-28 15:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panasonic-lc-r10p-sealed-lead-acid-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:41:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterpillar-cs431-cs443-industrial-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-mobile-science-cabinet-w-drawer-pegboard-chemical-resistant-top-48l-x-28w-x-36-14h-oak>: HTTP status code is not handled or not allowed 2026-01-28 15:41:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duracell-durg12-50p-sealed-lead-acid-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:41:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wh2010b-blank-end-fitting-125v-15a-34l>: HTTP status code is not handled or not allowed 2026-01-28 15:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ul402bd-multi-outlet-power-unit-125v-15a-48l-16-outlets-15-lighted-cord>: HTTP status code is not handled or not allowed 2026-01-28 15:41:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ul2064bd-multi-outlet-power-unit-125v-15a-72l-12-outlets-15-cord>: HTTP status code is not handled or not allowed 2026-01-28 15:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/office/tables/laboratory_tables>: HTTP status code is not handled or not allowed 2026-01-28 15:41:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duracell-slaa6-12f2-sealed-lead-acid-replacement-battery-7ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:41:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulbh6-6-multi-outlet-power-unit-13-14l-6-outlets-6-cord>: HTTP status code is not handled or not allowed 2026-01-28 15:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wst1-2448-36-lp-48w-x-24d-fixed-height-welded-steel-workbench>: HTTP status code is not handled or not allowed 2026-01-28 15:41:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mjp2d-fl-pb-48w-x-24d-mobile-service-bench-with-pegboard-panel-butcher-block-top>: HTTP status code is not handled or not allowed 2026-01-28 15:41:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-pvc-ceiling-tile-75100-waterproof-washable-drift-2l-x-2w-white>: HTTP status code is not handled or not allowed 2026-01-28 15:41:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelon-blue-wire-shelving-unit-starter-30w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:41:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-tee-22200-use-for-1w-grid-white>: HTTP status code is not handled or not allowed 2026-01-28 15:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71430-0100-lab-blower-tefc-pp-frp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:41:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelon-blue-wire-shelving-unit-starter-36w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:41:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelon-blue-wire-shelving-unit-starter-24w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelon-blue-wire-shelving-unit-starter-48w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:41:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-black-epoxy-wire-shelving-unit-add-on-60w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:41:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-interstate-dcm0075-12v-75ah-wheelchair-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:41:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-interstate-dcm0055u-12v-55ah-wheelchair-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:41:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-tea-gunpowder-green-single-cup-bags-18box>: HTTP status code is not handled or not allowed 2026-01-28 15:41:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-42w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:41:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gogreen-power-gg-16000tw-6-outlet-wall-tap-white>: HTTP status code is not handled or not allowed 2026-01-28 15:41:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sigmastek-sp12-50-nb-sealed-lead-acid-replacement-battery-8ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:41:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 120766 pages (at 97 pages/min), scraped 57306 items (at 29 items/min) 2026-01-28 15:41:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmgren-9680342-radial-arm-5-speed-floor-step-pulley-drill-press>: HTTP status code is not handled or not allowed 2026-01-28 15:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-30w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:41:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-42w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:41:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-drum-polyethylene-pop-up-gauge-3-4-dia-x-11l>: HTTP status code is not handled or not allowed 2026-01-28 15:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-48w-x-36d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:42:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-coiled-flexible-antistatic-wire-hand-clamp-with-1-4-terminal>: HTTP status code is not handled or not allowed 2026-01-28 15:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-gallon-2-door-self-close-paint-ink-cabinet-43w-x-18d-x-44h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:42:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-add-on-42w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:42:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-mobility-wispa-wheelchair-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gallery-wall-clock-16-black>: HTTP status code is not handled or not allowed 2026-01-28 15:42:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-research-galaxy-wheelchair-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:42:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-gallon-2-door-manual-acid-cabinet-34w-x-34d-x-65h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-30w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:42:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-55-gal-drum-self-close-flammable-cabinet-incl-drum-rollers-34wx34dx65hwhite>: HTTP status code is not handled or not allowed 2026-01-28 15:42:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-72w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-7017-contractor-3-d-full-body-harness-3-d-rings-back-and-side-size-unifit>: HTTP status code is not handled or not allowed 2026-01-28 15:42:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-42w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 15:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-assembly-98398342-100r2at-cpld-3500-psi-12-mnpt-12-hose-id-x-144l>: HTTP status code is not handled or not allowed 2026-01-28 15:42:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-5040-suspension-trauma-relief-system-set-of-2>: HTTP status code is not handled or not allowed 2026-01-28 15:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-medical-cobalt-x23-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:42:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-8241-wraptech-6-shock-absorbing-lanyard-single-leg-with-1-snap-hook>: HTTP status code is not handled or not allowed 2026-01-28 15:42:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-nexelate-silver-epoxy-wire-shelving-unit-starter-54w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fallte-8241y-wraptech-6-shock-absorbing-lanyard-with-1-snap-hook-and-2-carabiners>: HTTP status code is not handled or not allowed 2026-01-28 15:42:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/go-go-elite-traveller-plus-wheelchair-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:42:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/optiway-technology-1600acv-wheelchair-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:42:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-mover-cart-lugct1bk6-6-bushel-28-l-x-22-1-4-w-x-26-1-4-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:42:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-wing-condenser-fan-blade-interchangeable-hub-aluminum-cw-22-inch-dia-33-pitch>: HTTP status code is not handled or not allowed 2026-01-28 15:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-13-3-16-inch-dia-cw-or-ccw-12-5-8-inch-w-1-7-16-inch-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:42:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-01317-1-2-in-x-1-4-in-wrot-copper-reducer-coupling-street-x-copper>: HTTP status code is not handled or not allowed 2026-01-28 15:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-2-shelf-poly-z-brite-wire-shelving-unit-add-on-72w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:42:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-15-1-2-inch-dia-cw-or-ccw-15-inch-w-1-7-16-inch-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-6-1-4-inch-dia-cw-2000-rpm-1-2-inch-bore-4-1-4-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 15:42:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-10-5-8-inch-dia-cw-or-ccw-7-1-8-inch-w-3-4-inch-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:42:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/country-clipper-2505kaj-zetron-series-lawn-and-garden-battery-18ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:42:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-1-8-professional-guillotine-lever-paper-cutter>: HTTP status code is not handled or not allowed 2026-01-28 15:42:23 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:42:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-three-wing-condenser-fan-blade-30-inch-dia-cw-22-pitch>: HTTP status code is not handled or not allowed 2026-01-28 15:42:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:42:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/country-clipper-2605koj-lawn-and-garden-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:42:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acl-f-18x48-combination-louver-damper-with-flange-18wx48h>: HTTP status code is not handled or not allowed 2026-01-28 15:42:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolens-1600-series-lawn-and-garden-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:42:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-fixed-hub-fan-blade-6-1-2-inch-dia-27-pitch-ccw-1-4-inch-bore-13-16-inch-blade-dep-4-blade>: HTTP status code is not handled or not allowed 2026-01-28 15:42:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-15-1-2-inch-dia-ccw-1200-rpm-1-inch-bore-6-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 15:42:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-12jm4cs-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:42:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-inlet-blower-wheel-5-3-4-inch-dia-cw-3450-rpm-1-2-inch-bore-3-13-16-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 15:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eaglepicher-cfm12-emergency-light-replacement-battery-10ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:42:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers>: HTTP status code is not handled or not allowed 2026-01-28 15:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-m3-6m3-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-inlet-blower-wheel-5-13-32-inch-dia-ccw-3600-rpm-3-8-inch-bore-6-55-64-inch-w-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 15:42:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-12csm54-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:42:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-whiteboard-72-x-40>: HTTP status code is not handled or not allowed 2026-01-28 15:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power174-bull-professional-cree-led-work-light-180-lumens-red>: HTTP status code is not handled or not allowed 2026-01-28 15:42:39 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/electrical/batteries_chargers/power_tool_batteries_chargers landed on page that is not a product page. 2026-01-28 15:42:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hexagonal-crow-bar-1-14-hex-69l>: HTTP status code is not handled or not allowed 2026-01-28 15:42:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-015-helping-hands-soldering-aid>: HTTP status code is not handled or not allowed 2026-01-28 15:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-pallet-rack-upright-frame-42ind-x-192inh>: HTTP status code is not handled or not allowed 2026-01-28 15:42:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-72-in-w-x-24-in-d-x-96-in-h>: HTTP status code is not handled or not allowed 2026-01-28 15:42:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-power-40-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:42:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-7-8-wide-electronic-heavy-duty-tape-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 15:42:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-mailing-labels-1-1-8-x-3-1-2-white-1000-roll>: HTTP status code is not handled or not allowed 2026-01-28 15:42:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-60-in-w-x-36-in-d-x-96-in-h-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 15:42:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p-touch-m-series-tape-cartridge-1-2w-black-on-white>: HTTP status code is not handled or not allowed 2026-01-28 15:42:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-60-in-w-x-24-in-d-x-60-in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 15:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-folder-labels-9-16-x-3-7-16-white-260-box>: HTTP status code is not handled or not allowed 2026-01-28 15:42:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-60-in-w-x-36-in-d-x-96-in-h-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 15:42:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-business-card-refill-page>: HTTP status code is not handled or not allowed 2026-01-28 15:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-lcd-privacy-15-bk>: HTTP status code is not handled or not allowed 2026-01-28 15:42:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-flange-shelf-15-inch-l-x-48-inch-w-20-gauge-300-lb-capacity-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-and-side-panel-for-nut-and-bolt-units-15-inch-x-39-inch-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:42:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-wide-boltless-shelving-add-on-72-in-w-x-15-in-d-x-96-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 15:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-high-cap-boltless-shelving-add-on-96-in-w-x-48-in-d-x-96-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 15:42:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-mate-pm12260-emergency-light-replacement-battery-26ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:42:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergi-lite-12lsm162-emergency-light-replacement-battery-12ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:42:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-wood-height-chair-with-arms-weathered-acorn>: HTTP status code is not handled or not allowed 2026-01-28 15:42:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 120861 pages (at 95 pages/min), scraped 57329 items (at 23 items/min) 2026-01-28 15:42:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonnenschein-a51217-0g5-emergency-light-replacement-battery-18ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:42:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-heavy-duty-boltless-shelving-add-on-36-in-w-x-18-in-d-x-84-in-h>: HTTP status code is not handled or not allowed 2026-01-28 15:42:58 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fbs-laundry-cart-1112-hd-cloth-37l-x-22w-x-38h-12-bushel-black>: HTTP status code is not handled or not allowed 2026-01-28 15:42:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-lite-12-581-6-volt-emergency-light-replacement-battery-5ah-6v-f1>: HTTP status code is not handled or not allowed 2026-01-28 15:43:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cs-1105-1-club-series-undermount-stainless-steel-compact-bar-prep-sink>: HTTP status code is not handled or not allowed 2026-01-28 15:43:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48899208-step-bit-8-12-1>: HTTP status code is not handled or not allowed 2026-01-28 15:43:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-line-storage-cabinet-all-welded-30w-x-18d-x-66h-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:43:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-to-assemble-wall-mounted-storage-cabinet-28w-x-14d-x-26h-textured-black>: HTTP status code is not handled or not allowed 2026-01-28 15:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transport-wardrobe-cabinet-all-welded-36w-x-24d-x-78h-putty>: HTTP status code is not handled or not allowed 2026-01-28 15:43:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mp10s-4-blue-mobile-room-divider>: HTTP status code is not handled or not allowed 2026-01-28 15:43:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-outlander-500cc-atv-replacement-battery-2010-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:43:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-70-f-royal-blue-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-28 15:43:08 [scrapy.core.scraper] (PID: 133) ERROR: Spider error processing (referer: None) Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/defer.py", line 346, in aiter_errback yield await it.__anext__() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 394, in __anext__ return await self.data.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/scrapy/utils/python.py", line 375, in _async_chain async for o in as_async_generator(it): File "/usr/local/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator async for r in it: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/referer.py", line 384, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/urllength.py", line 62, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/usr/local/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 60, in process_spider_output_async async for r in result: File "/usr/local/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 121, in process_async async for r in iterable: File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/spiders/__init__.py", line 160, in parse_product yield await page.to_item() ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 81, in _to_item validation_item = self._validate_input() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/utils.py", line 205, in inner return cached_meth(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/web_poet/pages.py", line 140, in _validate_input validation_item = self.validate_input() # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^ File "/var/lib/scrapyd/eggs/catalog_extraction/1769537350.egg/catalog_extraction/pages/__init__.py", line 33, in validate_input raise NotProductPage(f"URL {self.url} landed on page that is not a product page.") scraping_utils.common.exceptions.NotProductPage: URL https://www.globalindustrial.com/c/office-school-supply/office_furniture/literature_mail_sorters landed on page that is not a product page. 2026-01-28 15:43:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-60inw-x-24ind-x-96inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 15:43:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-outlander-1000-1000cc-atv-replacement-battery-2012-2016-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:43:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awsw-partition-80x7-f-slate>: HTTP status code is not handled or not allowed 2026-01-28 15:43:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-3300-lb-96inwx36indx60inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 15:43:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-48inw-x-24ind-x-60inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 15:43:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ps-80-pc-opal-privacy-screen>: HTTP status code is not handled or not allowed 2026-01-28 15:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fine-bubble-disc-diffuser-ab-70007-15-inch-dia-3-4-mpt>: HTTP status code is not handled or not allowed 2026-01-28 15:43:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peg-perego-bombardier-traxter-atv-igor0014-ride-on-toys-battery-35ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:43:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-shelf-wide-boltless-shelving-add-on-2400-lb-96inwx24indx60inh-laminate-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 15:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-62fca-3sided-wopen-front-15l-x-5w-flat-roof-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:43:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/can-am-outlander-400-xt-400cc-atv-replacement-battery-2004-2015-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:43:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-42wsvrdkb-4sided-l-r-open-fr-10l-x-5w-vented-standing-seam-roof-dk-brz>: HTTP status code is not handled or not allowed 2026-01-28 15:43:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-s63fdkb-4sided-wleft-open-front-15l-x-76w-flat-roof-dk-bronze>: HTTP status code is not handled or not allowed 2026-01-28 15:43:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-computer-workstation-with-keyboard-shelf-30-w-x-18-d-x-74-h-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:43:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd36-2dr-two-36-skates-one-with-drift-resister>: HTTP status code is not handled or not allowed 2026-01-28 15:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireplace-gloves-fa310g>: HTTP status code is not handled or not allowed 2026-01-28 15:43:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-ball-valve-lockout-fits-2-to-8-valves-polypropylene-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/car-mount-CLCMBLK-black>: HTTP status code is not handled or not allowed 2026-01-28 15:43:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f30-face-shield-window-acetate-8l-x-15-12w-116-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:43:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f40-face-shield-window-propionate-9l-x-15-12w-116-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-morini-s-500cc-motorcycle-replacement-battery-1945-1987-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:43:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/imported-slotted-angle-plates-webbed-end-ground-finish-4-1-2-inch-x-3-1-2-inch-x-3-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:43:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-machine-table-with-lower-shelf-48w-x-30d-x-30h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:43:25 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-12ind-x-84inh-wood-deck-usa already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/915-case-15-3-8l-x-12-1-8w-x-6-13-16h-olive already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/m10-a-metric-eyebolt-shoulder-pattern-m10-x-150-short-shank already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:26 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/k2027-a-carbon-eyebolt-shoulder-pattern-5-8-11-1-1-4-shank already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/pam-anti-fatigue-insole-mens-67womens-89 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:27 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/905-case-w-padded-divider-12-1-2l-x-10w-x-6h-orange already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/925-case-w-padded-divider-18-11-16l-x-14-13-16w-x-7h-silver already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:28 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/foam-inserts-3-part-for-915-case already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:29 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/pam-esd-anti-fatigue--anti-static-insole-mens-89womens-1011 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/mz-zschopau-fun-500cc-motorcycle-replacement-battery-1991-1993-12v-b already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:30 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/s-4181-lever-handle-lock-out-device already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:31 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/aprilia-rs4-125-125cc-motorcycle-replacement-battery-2011-2013-12v-b already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/unit-heater-kbs4810-3mp-t-b2-10kw-480v-3-phase-wthermostat-bracket-stainless-steel already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:32 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/toner-fhll2300d-bk already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:33 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/mz-zschopau-tourer-500cc-motorcycle-replacement-battery-1966-2008-12v-b already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/ironhorse-bandera-1917cc-motorcycle-replacement-battery-2007-2010-12v-b already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:34 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-12ind-x-84inh-wood-deck-usa already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:35 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/915-case-15-3-8l-x-12-1-8w-x-6-13-16h-olive already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/m10-a-metric-eyebolt-shoulder-pattern-m10-x-150-short-shank already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:36 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/k2027-a-carbon-eyebolt-shoulder-pattern-5-8-11-1-1-4-shank already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:37 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/pam-anti-fatigue-insole-mens-67womens-89 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/905-case-w-padded-divider-12-1-2l-x-10w-x-6h-orange already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:38 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/925-case-w-padded-divider-18-11-16l-x-14-13-16w-x-7h-silver already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/foam-inserts-3-part-for-915-case already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:39 [HeadersSpooferDownloaderMiddleware] (PID: 133) WARNING: Request https://www.globalindustrial.com/p/pam-esd-anti-fatigue--anti-static-insole-mens-89womens-1011 already has headers. They will be preserved, but that may lead to fingerprint inconsistency. If the headers are necessary, consider disabling SPOOF_FULL_HEADERS. 2026-01-28 15:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mz-zschopau-fun-500cc-motorcycle-replacement-battery-1991-1993-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:43:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aprilia-rs4-125-125cc-motorcycle-replacement-battery-2011-2013-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-4181-lever-handle-lock-out-device>: HTTP status code is not handled or not allowed 2026-01-28 15:43:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-kbs4810-3mp-t-b2-10kw-480v-3-phase-wthermostat-bracket-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toner-fhll2300d-bk>: HTTP status code is not handled or not allowed 2026-01-28 15:43:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mz-zschopau-tourer-500cc-motorcycle-replacement-battery-1966-2008-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ironhorse-bandera-1917cc-motorcycle-replacement-battery-2007-2010-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:43:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/five-shelf-heavy-duty-boltless-shelving-add-on-48inw-x-12ind-x-84inh-wood-deck-usa>: HTTP status code is not handled or not allowed 2026-01-28 15:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/915-case-15-3-8l-x-12-1-8w-x-6-13-16h-olive>: HTTP status code is not handled or not allowed 2026-01-28 15:43:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m10-a-metric-eyebolt-shoulder-pattern-m10-x-150-short-shank>: HTTP status code is not handled or not allowed 2026-01-28 15:43:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k2027-a-carbon-eyebolt-shoulder-pattern-5-8-11-1-1-4-shank>: HTTP status code is not handled or not allowed 2026-01-28 15:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pam-anti-fatigue-insole-mens-67womens-89>: HTTP status code is not handled or not allowed 2026-01-28 15:43:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/905-case-w-padded-divider-12-1-2l-x-10w-x-6h-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/925-case-w-padded-divider-18-11-16l-x-14-13-16w-x-7h-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:43:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-inserts-3-part-for-915-case>: HTTP status code is not handled or not allowed 2026-01-28 15:43:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pam-esd-anti-fatigue--anti-static-insole-mens-89womens-1011>: HTTP status code is not handled or not allowed 2026-01-28 15:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-wvhs60-18-364tp-165-vhs-motor-60hp-1800rpm-364tp-230-460v-wpi>: HTTP status code is not handled or not allowed 2026-01-28 15:43:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harley-davidson-low-glide-fxrs-1340cc-motorcycle-battery-1982-1992-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-elite-ada-ss-sink-1-station-body-only-wall-mount-36l-x-21w-x-5d-sink>: HTTP status code is not handled or not allowed 2026-01-28 15:43:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/critical-essential-bleeding-control-kit-1-24-persons-8-pieces-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 15:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motobecane-booster-50cc-motorcycle-replacement-battery-1942-1984-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:43:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e8c-u8af-150p-usa-porta-fuge-fixed-speed-centrifuge-12v-car-8-tube-cap-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 15:43:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dmm-s13n-7ll1-dm-dual-mag-dual-led-stereomicroscope-wlight-stand-10x-30x>: HTTP status code is not handled or not allowed 2026-01-28 15:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-elite-ada-ss-sink-1-station-w-deck-electronic-faucet-wall-mount-36l-x-21w-x-5d-sink>: HTTP status code is not handled or not allowed 2026-01-28 15:43:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-cabinet-flush-door-with-212-red-bins-16-ga-all-welded-cabinet-72-w-x-24-d-x-84-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:43:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merits-travel-ease-commuter-p182-mobility-scooter-battery-55ah-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:43:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 120934 pages (at 73 pages/min), scraped 57340 items (at 11 items/min) 2026-01-28 15:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ranger-safari-ltd-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:43:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-bec-scootawide-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:43:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/185140025-no-wire-vial-and-bottle-rack-polypropylene-25mm-12-places-white>: HTTP status code is not handled or not allowed 2026-01-28 15:43:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bladez-xtrscomp-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bsm-inc-ada-ss-sink-1-station-body-only-floor-mount-sloped-drain-40l-x-20w-x-6d-sink>: HTTP status code is not handled or not allowed 2026-01-28 15:43:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pacesaver-espreetitan-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:44:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-h512-horizontal-15ml-tube-holder-12-tubes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/568-0001-00-elastic-bands-2>: HTTP status code is not handled or not allowed 2026-01-28 15:44:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hoveround-tekniquefwd-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:44:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-0565-universal-microtube-holder>: HTTP status code is not handled or not allowed 2026-01-28 15:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fortress-1600acv-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:44:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-welded-workbench-48-x-24-adj-height-open-base-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 15:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gssafe-5112-class-2-microfiber-birdseye-short-sleeve-t-shrit-w-black-bottom-orange-s>: HTTP status code is not handled or not allowed 2026-01-28 15:44:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/si-1134-2-universal-clip-plates>: HTTP status code is not handled or not allowed 2026-01-28 15:44:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-48-x-24-louvered-panel--1-drawer-steel-square-edge>: HTTP status code is not handled or not allowed 2026-01-28 15:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ff1532bcss-all-refrigerator-for-built-in-or-freestanding-use-3-cu-ft-15-wide>: HTTP status code is not handled or not allowed 2026-01-28 15:44:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/piaggio-vespa-gts300ie-300cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:44:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ct663bbiif-built-in-undercounter-refrigerator-freezer-51-cu-ft-24-wide>: HTTP status code is not handled or not allowed 2026-01-28 15:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peugeot-citystar-125cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:44:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ct663bsstbada-ada-compliant-freestanding-refrigerator-freezer-51-cu-ft-24-wide>: HTTP status code is not handled or not allowed 2026-01-28 15:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/summit-ct663bsshhada-ada-compliant-freestanding-refrigerator-freezer-51-cu-ft-24-wide>: HTTP status code is not handled or not allowed 2026-01-28 15:44:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freedom-644-36-volt-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-stp-stl-safet-stair-slp-roll-lad-wt-actu-16-perf-stp-wa-sw52414p>: HTTP status code is not handled or not allowed 2026-01-28 15:44:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickie-s636power-mobility-scooter-replacement-battery-55ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:44:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-heated-softshell-jacket-xs-black>: HTTP status code is not handled or not allowed 2026-01-28 15:44:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-stp-stl-all-direct-safet-roll-lad-wt-actu-24-serr-stp-wa-ad-073214g>: HTTP status code is not handled or not allowed 2026-01-28 15:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-heavy-duty-workbench-adjustable-height-36w-x-30d-x-36h-3600-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:44:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-stp-stl-safet-roll-lad-wt-actu-stp-24-serr-stp-wa073214g>: HTTP status code is not handled or not allowed 2026-01-28 15:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-42w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:44:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zapworld-whizbang-electric-scooter-replacement-battery-12ah-12v-f2>: HTTP status code is not handled or not allowed 2026-01-28 15:44:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-cl1385hdnt-4-1-2dia-x-52h-orange-w-no-tape>: HTTP status code is not handled or not allowed 2026-01-28 15:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freerider-fr168-4-d-electric-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:44:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-24w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:44:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leisure-lift-espree-mobility-scooter-replacement-battery-35ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rear-replacement-blade-red-gum-4x38x63-14-10-holes-1035052>: HTTP status code is not handled or not allowed 2026-01-28 15:44:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-replacement-blade-urethane-1-34x18x34-58-8-holes-9-slots-51289a>: HTTP status code is not handled or not allowed 2026-01-28 15:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locker-leg-stand-for-24-5-16-lockers-1p18637-go-gray-24-5-16-x-21-1-4-x-5>: HTTP status code is not handled or not allowed 2026-01-28 15:44:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/teftec-omega-trac-mobility-scooter-replacement-battery-75ah-12v-it>: HTTP status code is not handled or not allowed 2026-01-28 15:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-rack-garment-storage-rack-z7272-1-1-crossbar-75-x-23-x-78>: HTTP status code is not handled or not allowed 2026-01-28 15:44:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p132m-kwik-fit-pressure-vacuum-pump-t-handle-for-easy-operation>: HTTP status code is not handled or not allowed 2026-01-28 15:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-rack-garment-storage-rack-h6048-1-1-crossbar-63-x-23-x-54>: HTTP status code is not handled or not allowed 2026-01-28 15:44:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgo-libra-125-efi-125cc-scooter-and-moped-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42u-value-series-rack-enclosure-server-cabinet-doors-sides>: HTTP status code is not handled or not allowed 2026-01-28 15:44:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-54w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-36w-x-36d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/19-dia-x-16-ga-galvanized-steel-replacement-roller-10-bf-w-7-16-hex-spring-retained-shaft>: HTTP status code is not handled or not allowed 2026-01-28 15:44:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x24-nonskid-safety-track-cleat-caution-ylw-black-1cs-jm33606x24cautm>: HTTP status code is not handled or not allowed 2026-01-28 15:44:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccmd-medium-cylinder-cart>: HTTP status code is not handled or not allowed 2026-01-28 15:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-refrigerator-36-single-door>: HTTP status code is not handled or not allowed 2026-01-28 15:44:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wall-mount-mailbox-spira-m002blk-14-3-4-w-x-4-d-x-13-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:44:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-boarder-powersonic-electric-scooter-replacement-battery-22ah-12v-nb>: HTTP status code is not handled or not allowed 2026-01-28 15:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2sa18l-cantilever-rack-straight-arm-withlip-18-long>: HTTP status code is not handled or not allowed 2026-01-28 15:44:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-54w-x-18d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-shelf-support-slips-2-14l-x-2-38h>: HTTP status code is not handled or not allowed 2026-01-28 15:44:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-24w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:44:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-freeride-e-tec-800r-154-800cc-snowmobile-battery-2012-2017-12v>: HTTP status code is not handled or not allowed 2026-01-28 15:44:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-grand-touring-le-ace-900-900cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-54w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-60w-x-18d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-literature-holder-wlid-7w-x-1-12d-x-12h>: HTTP status code is not handled or not allowed 2026-01-28 15:44:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-72w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/du2082-ns-cantilever-rack-double-sided-upright-82w-x-20h>: HTTP status code is not handled or not allowed 2026-01-28 15:44:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peel-stick-literature-pockets-4-116w-x-5h-x-1-14d>: HTTP status code is not handled or not allowed 2026-01-28 15:44:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u2061-ns-cantilever-rack-single-sided-upright-61w-x-20h>: HTTP status code is not handled or not allowed 2026-01-28 15:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-merchandising-strip-wsuction-cup-black>: HTTP status code is not handled or not allowed 2026-01-28 15:44:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peel-n-stick-strip-header-3-78w-x-3-716h>: HTTP status code is not handled or not allowed 2026-01-28 15:44:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-ski-doo-legend-800-800cc-snowmobile-replacement-battery-2002-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hook-loop-fastener-1-tape-white-1-loop>: HTTP status code is not handled or not allowed 2026-01-28 15:44:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-lab-pack-drum-1601mbbg-with-metal-lever-lock-bung-lid-30-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:44:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-drum-spill-containment-platform-1611st-27-w-x-25-11-16-d-x-6-h-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-gsx-sport-500ss-597cc-snowmobile-replacement-battery-2008-2009-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:44:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelate-60w-x-14d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beaded-chain-coupling-style-6-ball-12l>: HTTP status code is not handled or not allowed 2026-01-28 15:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/no-dig-ground-anchor-580d-for-mailbox-post>: HTTP status code is not handled or not allowed 2026-01-28 15:44:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-tite-suction-cup-vertical-sign-holder-1-pvc-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:44:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelate-60w-x-14d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-jetl-lw-fits-jet-model-l>: HTTP status code is not handled or not allowed 2026-01-28 15:44:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-30w-x-24d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-truck-gwk-102xm-lw-fits-raymond-model-102xm>: HTTP status code is not handled or not allowed 2026-01-28 15:44:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-stick-cardboard-easel-single-wing-5>: HTTP status code is not handled or not allowed 2026-01-28 15:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-manual-pallet-jack-gwk-lcr-lw-fits-lift-rite-model-lcr55>: HTTP status code is not handled or not allowed 2026-01-28 15:44:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelate-42w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:44:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-wheels-for-global-36-blower-fan-model-258320-600595>: HTTP status code is not handled or not allowed 2026-01-28 15:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-foam-hand-soap-gallon-bottle4-bottlescase-640411>: HTTP status code is not handled or not allowed 2026-01-28 15:44:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-storage-cabinet-7218dlx-214-welded-36w-x-18d-x-72h-sand>: HTTP status code is not handled or not allowed 2026-01-28 15:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brp-legend-380f-368cc-snowmobile-replacement-battery-2002-2003-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:44:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schaefer-stacking-transport-container-14-6-2-pl-18-l-x-12-w-x-8-h-red>: HTTP status code is not handled or not allowed 2026-01-28 15:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-48w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arctic-cat-mountain-cat-500-497cc-snowmobile-replacement-battery-12v-b>: HTTP status code is not handled or not allowed 2026-01-28 15:44:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tabletop-base-combo-lectern-with-wireless-handheld-mic-24-x-20-1-2-x-48-mahogany-walnut>: HTTP status code is not handled or not allowed 2026-01-28 15:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mtr20-39-k-retractable-awning-right-motor-20-w-x-10-d-x-10-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:44:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dm24-7-bb-retractable-awning-manual-24-w-x-10-d-x-10-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:44:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ba-fans-basic-6-ceiling-fan-16-ft-208v-1ph>: HTTP status code is not handled or not allowed 2026-01-28 15:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-wheel-adjustable-sheet-and-panel-truck-60-x-30-deck-size-3600-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:44:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ba-fans-basic-6-ceiling-fan-20-ft-460v-3ph>: HTTP status code is not handled or not allowed 2026-01-28 15:44:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-3l225-v-belt-3-8-x-225>: HTTP status code is not handled or not allowed 2026-01-28 15:44:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 121030 pages (at 96 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handheld-scraper-3-inch-stainless-steel-white>: HTTP status code is not handled or not allowed 2026-01-28 15:44:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ul372-stainless-steel-work-bench-top-30-x-72>: HTTP status code is not handled or not allowed 2026-01-28 15:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-36w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:44:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a57-4l590-v-belt-1-2-x-59>: HTTP status code is not handled or not allowed 2026-01-28 15:44:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-drawer-steel-flat-file-for-36-48-documents-white>: HTTP status code is not handled or not allowed 2026-01-28 15:44:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-24w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-30w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-36w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b38-5l410-v-belt-5-8-x-41>: HTTP status code is not handled or not allowed 2026-01-28 15:45:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a105-v-belt-1-2-x-107>: HTTP status code is not handled or not allowed 2026-01-28 15:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32ft-iaa-fiberglass-aero-box-rail-tri-rung-extension-ladder-with-strand-grab-and-v-rung>: HTTP status code is not handled or not allowed 2026-01-28 15:45:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-a88-4l900-v-belt-1-2-x-90>: HTTP status code is not handled or not allowed 2026-01-28 15:45:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/element-classic-roll-towel-dispenser-classic-black-t950tbk>: HTTP status code is not handled or not allowed 2026-01-28 15:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-lockset-storeroom-grade-2-au-handle-c-keyway>: HTTP status code is not handled or not allowed 2026-01-28 15:45:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8210hl-s-mesh-hi-vis-safety-vest-class-2-economy-single-size-2xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8210hl-s-mesh-hi-vis-safety-vest-class-2-economy-single-size-4xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:45:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylindrical-lockset-classroom-grade-1-au-handle-sfic-core-less-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 15:45:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8210hl-s-mesh-hi-vis-safety-vest-class-2-economy-single-size-l-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8283bk-lightweight-performance-hi-vis-t-shirt-class-2-black-bottom-l-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:45:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8283bk-lightweight-performance-hi-vis-t-shirt-class-2-black-bottom-4xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8249z-s-hi-vis-surveyors-vest-class-2-economy-single-size-4xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:45:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8249z-s-hi-vis-surveyors-vest-class-2-economy-single-size-xs-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:45:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-24w-x-24d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8246z-s-two-tone-mesh-hi-vis-safety-vest-class-2-single-size-4xl-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:45:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelite-42w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b220-v-belt-5-8-x-223>: HTTP status code is not handled or not allowed 2026-01-28 15:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b218-v-belt-5-8-x-221>: HTTP status code is not handled or not allowed 2026-01-28 15:45:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14833p-horizontal-oil-tank-accessory-kit-for-275-gal-oil-tank>: HTTP status code is not handled or not allowed 2026-01-28 15:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-36w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pump-motor-ejmm3615t-3-phase-5-hp-208-230-460-volts-1750-rpm-60-hz-tefc-184jm>: HTTP status code is not handled or not allowed 2026-01-28 15:45:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-lockout-padlock-keyed-alike-1-1-2-aluminum-steel-green-6-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/px-b256-v-belt-5-8-x-259>: HTTP status code is not handled or not allowed 2026-01-28 15:45:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-3-8-thick-anti-fatigue-floor-mat-3-x-5-cut-length-gray-fm23660gy>: HTTP status code is not handled or not allowed 2026-01-28 15:45:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-40x-1000x-portable-monocular-student-microscope-w-premium-insect-exploration-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-208-230-460-v-10-hp-3490-rpm-3-ph-215tc-tefc>: HTTP status code is not handled or not allowed 2026-01-28 15:45:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-48w-x-21d-x-69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2310-high-ball-glass-tall-105-oz-36-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:45:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-vem3714t-5-10-hp-1770-rpm-215tc-frame-c-face-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 15:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em3155t-g-3-ph-2-hp-208-230-460-v-3600-rpm-odp-143t-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:45:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3769-glass-embassy-wine-65-oz-24-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:45:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-black-epoxy-42w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp83769t-5-3-ph-75-hp-575-v-3510-rpm-tefc-213t-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp84104t-4-3-ph-30-hp-460-v-1770-rpm-tefc-286t-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:45:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp84106t-5-3-ph-20-hp-575-v-3510-rpm-tefc-256t-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:45:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-motor-230-460-v-60-hp-1780-rpm-3-ph-364ts-tefc>: HTTP status code is not handled or not allowed 2026-01-28 15:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rb-masterwrap-hd-xl-semi-automatic-rotary-arm>: HTTP status code is not handled or not allowed 2026-01-28 15:45:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-best-value-wire-shelving-unit-36-w-x-18-d-x-74-h-400-lb-shelf-cap-black-epoxy>: HTTP status code is not handled or not allowed 2026-01-28 15:45:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dicata-intrinsically-safe-low-profile-dual-light-headlamp-red>: HTTP status code is not handled or not allowed 2026-01-28 15:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usb-rechargeable-edc-flashlight-320-lumens-black>: HTTP status code is not handled or not allowed 2026-01-28 15:45:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-48w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp84103t-5-3-ph-25-hp-575-v-1770-rpm-tefc-284t-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:45:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-54w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intrinsically-safe-penlight-with-mount-125-lumens-green>: HTTP status code is not handled or not allowed 2026-01-28 15:45:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-light-flashlight-w-tail-magnet-and-multi-angle-mount-120-lumens-green>: HTTP status code is not handled or not allowed 2026-01-28 15:45:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-em3607t-5-1165-hp-15-rpm-182t-frame-foot-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 15:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tb108-9-hdg-turnbuckle-body-galvanized-3-4-10-dia-x-11-7-16-l>: HTTP status code is not handled or not allowed 2026-01-28 15:45:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-phase-motor-cem3615t-5-5-hp-1750-rpm-184tc-frame-c-face-mount-tefc-575-volts>: HTTP status code is not handled or not allowed 2026-01-28 15:45:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelite-30w-x-21d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ken-forging-tb103-j-e-turnbuckle-assembly-jaw-eye-3-8-16-x-11-7-8-carbon>: HTTP status code is not handled or not allowed 2026-01-28 15:45:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-black-epoxy-30w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ken-forging-tb105-3-s-hdg-turnbuckle-assembly-stub-stub-1-2-13-x-8-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 15:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kilimanjaro-full-brim-hard-hat-hdpe-shell-vented-4-pt-suspension-ratchet-adjustment-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:45:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-cewdm3610t-3-ph-3-hp-3450-rpm-208-230-460-v-tefc-182tc-fr>: HTTP status code is not handled or not allowed 2026-01-28 15:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-36wx24dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:45:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-60w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-veswdm3554-3-phase-15-hp-1755-rpm-208-230-460-volts-tenv-56c-fr>: HTTP status code is not handled or not allowed 2026-01-28 15:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-30wx24dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:45:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-heavy-duty-wheel-zp121rt-341-12x300-3-4bb-x-3-1-4-centered-hub-rib-tread>: HTTP status code is not handled or not allowed 2026-01-28 15:45:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-cesswdm3555t-3-ph-2-hp-3500-rpm-208-230-460-v-tefc-145tc-fr>: HTTP status code is not handled or not allowed 2026-01-28 15:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-flat-free-wheelbarrow-cart-wheel-w-universal-hub-408rbpu32-480-400-8-5-8bb>: HTTP status code is not handled or not allowed 2026-01-28 15:45:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-54w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynamic-dom-cap-style-dome-hard-hat-hdpe-shell-4-pt-suspension-rachet-adjustment-dark-green>: HTTP status code is not handled or not allowed 2026-01-28 15:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k398a-polar-trac-snow-thrower-tire-408-2stt-i-480-400-8-2-ply>: HTTP status code is not handled or not allowed 2026-01-28 15:45:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1009730-upeghk-u-hook-accessory-for-wire-baskets-bright-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-head-for-benchmixer-fits-2-x-50ml>: HTTP status code is not handled or not allowed 2026-01-28 15:45:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-ecp84313t-5-3-ph-75-hp-575-v-3555-rpm-tefc-365ts-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:45:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-rack-for-benchmixer-xl-xlq-50-x-15ml-16-5mm>: HTTP status code is not handled or not allowed 2026-01-28 15:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-60wx21dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:45:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-weather-steel-diskus-padlock-24ib60-ka-keyed-alike-price-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:45:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anodized-aluminum-resettable-3-dial-combination-lock-14540-c-blue-price-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp84110t-5-3-ph-40-hp-575-v-1775-rpm-tefc-324tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:45:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magic-clamp-magnetic-clamp-1l-erlenmeyer>: HTTP status code is not handled or not allowed 2026-01-28 15:45:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inkcart-cli-251-bk>: HTTP status code is not handled or not allowed 2026-01-28 15:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dedicated-platform-12-x-125ml-erlenmeyer-flasks>: HTTP status code is not handled or not allowed 2026-01-28 15:45:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-magnetic-stirrer-7x7>: HTTP status code is not handled or not allowed 2026-01-28 15:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-54w-x-24d-x-80h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-42wx14dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s59-4016d-point-of-use-thermostatic-mixing-valve-15-gpm>: HTTP status code is not handled or not allowed 2026-01-28 15:45:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-36wx14dx69h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:45:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-70-x-100-x-30mm>: HTTP status code is not handled or not allowed 2026-01-28 15:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-60w-x-14d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-motor-em2535t-g-3-ph-30-hp-208-230-460-v-1800-rpm-opsb-286t-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:45:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-cubicle-triple-file-pocket-black>: HTTP status code is not handled or not allowed 2026-01-28 15:45:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-round-black-cafeteria-table-with-8-stools-gray-mdf-core-top-black-stools>: HTTP status code is not handled or not allowed 2026-01-28 15:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-round-black-cafeteria-table-with-8-stools-gray-mdf-core-top-blue-stools>: HTTP status code is not handled or not allowed 2026-01-28 15:45:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/severe-duty-motor-cecp84110t-4-3-ph-40-hp-460-v-1770-rpm-tefc-324tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:45:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-mortar-tub-w-8-inch-high-performance-elastomer-caster-6-6-cu-ft-capacity-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:45:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 121127 pages (at 97 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-stock-tank-125-gallon-wt225-60-18-l-x-24-58-w-x-23-34-h-price-each>: HTTP status code is not handled or not allowed 2026-01-28 15:45:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-vapor-steam-cleaner-w-continuous-refill-hot-water-flush-1650w-115v-60hz>: HTTP status code is not handled or not allowed 2026-01-28 15:45:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-48w-x-24d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-poly-green-54wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machined-chrome-steel-needle-roller-bearing-w-inner-ring-110-x-150-x-40mm>: HTTP status code is not handled or not allowed 2026-01-28 15:45:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-w-x-30-d-plastic-laminate-square-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-28 15:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wd-hand-railkick-plate-expanded-metal-per-linear-foot>: HTTP status code is not handled or not allowed 2026-01-28 15:45:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-36wx18dx80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:46:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-handling-motor-cebm3611t-d-3-ph-3-hp-208-230-460-v-1760-rpm-tefc-182tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-steel-roll-ladd-rear-exit-gate-24-30-plat-perf-rwsr110246-xr>: HTTP status code is not handled or not allowed 2026-01-28 15:46:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-pockets-medical-chart-hanging-wall-file-holder-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:46:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-deep-tray-steel-stock-cart-36x24-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-threshold-ramp-ath1232-12l-x-32w-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:46:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-security-no-5401d>: HTTP status code is not handled or not allowed 2026-01-28 15:46:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/job-site-cabinet-2-doors-52-cu-ft-steel-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-54w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:46:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml-1myga3vp1-flame-retardant-welders-inflatable-life-jacket-solas-med-silver-adult-universal>: HTTP status code is not handled or not allowed 2026-01-28 15:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evap-cooling-bandana-w-cooling-towel-tie-red-western-12563>: HTTP status code is not handled or not allowed 2026-01-28 15:46:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-caddy-clip-shrink-wrap-holder-w-divider-grey>: HTTP status code is not handled or not allowed 2026-01-28 15:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-36w-x-18d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:46:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/evap-cooling-triangle-hat-w-cooling-towel-red-western-12583>: HTTP status code is not handled or not allowed 2026-01-28 15:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-poly-green-24w-x-24d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:46:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-water-50-gallon-per-day-reverse-osmosis-membrane-806178>: HTTP status code is not handled or not allowed 2026-01-28 15:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-pegboard-with-back-shelf-storage-afpbs2448-6pyfl-48-x-24-floor-lock>: HTTP status code is not handled or not allowed 2026-01-28 15:46:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-poly-green-42w-x-18d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:46:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-regenerative-dc-control-accessory-bc212-bipolar-signal-isolator-board>: HTTP status code is not handled or not allowed 2026-01-28 15:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-hole-pegboard-strip-36Wx45H-silver-epoxy>: HTTP status code is not handled or not allowed 2026-01-28 15:46:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultratech-gloves-nitrile-cut-a4-impact-1-abrasion-4-puncture-4-lime-red-s>: HTTP status code is not handled or not allowed 2026-01-28 15:46:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/line-regenerative-dc-control-accessory-bc259-ac-line-switch-for-bc254>: HTTP status code is not handled or not allowed 2026-01-28 15:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/predator-gloves-impact-2-cutpro-18-gauge-kevlar-bnf-palm-coated-red-black-l>: HTTP status code is not handled or not allowed 2026-01-28 15:46:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/encoder-tachometer-mounting-kits-w-o-tach-417708-42-dpg-dpfv-tenv-frames-c280-c400>: HTTP status code is not handled or not allowed 2026-01-28 15:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/feedback-cable-w-assembly-ms-connector-cbl061zd-2-20-ft-extension-length>: HTTP status code is not handled or not allowed 2026-01-28 15:46:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-24w-x-21d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-pump-0-5-hp-1-gallon-3-way-3-position-manual-valve>: HTTP status code is not handled or not allowed 2026-01-28 15:46:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/encoder-feedback-kit-417708-120-rl67-dpfv-l440-5-15>: HTTP status code is not handled or not allowed 2026-01-28 15:46:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ed-395-knife-sharpener-electric-with-guide-system-115v>: HTTP status code is not handled or not allowed 2026-01-28 15:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/encoder-feedback-kit-no-encoder-417708-202-dpfv-tebc-fl-rl280-l400>: HTTP status code is not handled or not allowed 2026-01-28 15:46:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combo-10-ton-6-stroke-cylinder-with-p1000-pump>: HTTP status code is not handled or not allowed 2026-01-28 15:46:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/idm-idnm-idwnm-motor-encoder-feedback-kit-enc00nv-d1-hs35m-tenv-56-215t-5-24vdc>: HTTP status code is not handled or not allowed 2026-01-28 15:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-42w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:46:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ed-g-2-2-nsf-manual-commercial-can-opener-16-adjustable-bar-base>: HTTP status code is not handled or not allowed 2026-01-28 15:46:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awn-cf44-6k-window-entry-awning-6-4-1-2-w-x-4d-x-4-8-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-35-1409-odp-35-182-4tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:46:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1008-x-3-4-3-4-x-133-1008-series-tapered-locking-steel-bushing-3-4-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:46:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1610-x-1-7-16-1-7-16-x-23-1610-series-tapered-locking-steel-bushing-1-7-16-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloves-7-x-24-for-cabinets-41200-41500-41800-and-42000>: HTTP status code is not handled or not allowed 2026-01-28 15:46:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d-flange-kit-35ep1506a01sp-tefc-143-145t-nema-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:46:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-40-1400-odp-40-284-6uc-tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-shelf-truck-nexelon-42w-x-14d-x-60h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:46:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-10-1304-tefc-10-324-6uc-tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-x-1-1-x-66-h-series-quick-detach-steel-bushing-1-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:46:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sds-x-1-5-8-1-5-8-x-32-sd-series-quick-detach-steel-bushing-1-5-8-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-ac-motor-c-face-kit-field-conversion-42-1400-odp-42-364-5-uc-tc-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:46:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-shelf-truck-nexelon-30w-x-21d-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:46:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-42w-x-18d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:46:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mop-bucket-35-qt-bucket-capacity-red>: HTTP status code is not handled or not allowed 2026-01-28 15:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-for-cabinet-42000>: HTTP status code is not handled or not allowed 2026-01-28 15:46:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-kraft-paper-dispenser-12-material-width>: HTTP status code is not handled or not allowed 2026-01-28 15:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-cac72-replacement-stainless-steel-container-blade-assembly-lid-for-cb-series-blenders>: HTTP status code is not handled or not allowed 2026-01-28 15:46:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-first-aid-refill-kit-ansi-compliant-class-b>: HTTP status code is not handled or not allowed 2026-01-28 15:46:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-snap-on-open-seal-for-poly-1000case>: HTTP status code is not handled or not allowed 2026-01-28 15:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-first-aid-kit-10-person-ansi-compliant-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 15:46:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waring-wct704-toaster-4-slice-2-slot-120v>: HTTP status code is not handled or not allowed 2026-01-28 15:46:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-42w-x-21d-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-100ml-reagent-reservoir-individually-wrapped-sterile-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:46:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30in-heavy-duty-exhaust-fan-with-integrated-shutter-if30-5500-cfm>: HTTP status code is not handled or not allowed 2026-01-28 15:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/je-9136z-wraparound-chainsaw-chaps-orange-36-l>: HTTP status code is not handled or not allowed 2026-01-28 15:46:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-300lpipette-ovation-f1-fixed-volume-one-stroke>: HTTP status code is not handled or not allowed 2026-01-28 15:46:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-air-dry-laundry-rack-locker-dpf-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-shelf-truck-nexelon-60w-x-21d-x-80h-polyurethane-swivel-casters-2-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w5610-12-cooks-knife-wide-12>: HTTP status code is not handled or not allowed 2026-01-28 15:46:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-head-mechanism-w-snap-switch-150s-hd-use-with-150-s-series>: HTTP status code is not handled or not allowed 2026-01-28 15:46:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-500l-pipette-ovation-f1-fixed-volume-one-stroke>: HTTP status code is not handled or not allowed 2026-01-28 15:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-curved-bench-steel-slat-45-degree-unit-black>: HTTP status code is not handled or not allowed 2026-01-28 15:46:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/we-mc280-75-vhs-alternate-coupling-bore-size-075-frame-284tp-or-286tp>: HTTP status code is not handled or not allowed 2026-01-28 15:46:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forks-heavy-weight-7-1-10l-polystyrene-1000-carton-white>: HTTP status code is not handled or not allowed 2026-01-28 15:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-10l-pipette-mla-dtipper-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:46:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forks-heavy-weight-plastic-1000-carton-black>: HTTP status code is not handled or not allowed 2026-01-28 15:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forks-heavy-medium-weight-plastic-1000-carton-white>: HTTP status code is not handled or not allowed 2026-01-28 15:46:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-50ml-reagent-reservoir-individually-wrapped-sterile-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:46:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-12-channel-reagent-reservoir-individually-wrapped-sterile-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-300l-pipette-mla-precision-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:46:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hot-paper-cups-8-oz-1000-carton-white-nature-design>: HTTP status code is not handled or not allowed 2026-01-28 15:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-cab-40-cap-w-locking-panel-woodgrain-34-1-2w-x-17d-x-70-1-8h>: HTTP status code is not handled or not allowed 2026-01-28 15:46:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnicart-cab-30-cap-w-locking-panel-light-gray-49-3-4w-x-17d-x-43-3-4h>: HTTP status code is not handled or not allowed 2026-01-28 15:46:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6475-cold-storage-thermal-insulated-coverall-m-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-party-cold-cups-polystyrene-16-oz-1000-carton-red>: HTTP status code is not handled or not allowed 2026-01-28 15:46:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/celltreat-scientific-products-50l-pipette-mla-dtipper-pink>: HTTP status code is not handled or not allowed 2026-01-28 15:46:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6477-cold-storage-thermal-insulated-bib-overalls-l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-gas-hose-kit-csa-and-ansi-approved-bkg-ghc-5048-sck2>: HTTP status code is not handled or not allowed 2026-01-28 15:46:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-acrylic-primer-1-gallon-can-flat-white>: HTTP status code is not handled or not allowed 2026-01-28 15:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rocacrylic-3800-acrylic-enamel-paint-1-gallon-can-gloss-navy-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:46:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lighting-led-ws18-w-led-wall-sconce-warm-white-6w-3000cct-1100-lumens-82-cri-nickel>: HTTP status code is not handled or not allowed 2026-01-28 15:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-winch-side-mount-low-profile>: HTTP status code is not handled or not allowed 2026-01-28 15:46:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-kerosenediesel-forced-air-heater-with-thermostat-140000-btu-120v>: HTTP status code is not handled or not allowed 2026-01-28 15:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-2000-manway-gasket-14-x-18-x-112-graphite-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:46:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-30-ratchet-strap-with-short-wide-handle-ratchet-buckle-40891-18-flat-hooks>: HTTP status code is not handled or not allowed 2026-01-28 15:46:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infrared-electric-heater-fss-3124-1-heavy-duty-315-kw-240v>: HTTP status code is not handled or not allowed 2026-01-28 15:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-multi-purpose-table-with-post-legs--glides-60l-x-24w-x-29h-designer-white>: HTTP status code is not handled or not allowed 2026-01-28 15:46:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 121226 pages (at 99 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:46:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jurni-multi-purpose-table-with-post-legs--glides-60l-x-24w-x-29h-fusion-maple>: HTTP status code is not handled or not allowed 2026-01-28 15:46:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/topoge-series-180-handhole-gasket-8-x-10-x-1-black-rubber-elliptical-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cordless-impact-wrench-kit-34-chuck-size-standard-friction-ring-anvil-20v>: HTTP status code is not handled or not allowed 2026-01-28 15:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-acrylic-door-incubator-12-140e-235w>: HTTP status code is not handled or not allowed 2026-01-28 15:46:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commute-guest-chair-plasticacrylic-seat-25w-x-25d-x-34-34h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:46:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/49t877-0004-g1-gas-engine-27-gross-hp-commercial-turf-vertical-shaft>: HTTP status code is not handled or not allowed 2026-01-28 15:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/386447-3079-g1-gas-engine-23-hp-vanguard-v-twin-horizontal-shaft>: HTTP status code is not handled or not allowed 2026-01-28 15:46:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ptac-cleaning-cradle-with-vacuum-hose-clamp>: HTTP status code is not handled or not allowed 2026-01-28 15:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl-focus-ii-disc-34-walk-behind-midsize-scrubber-disc-05414a>: HTTP status code is not handled or not allowed 2026-01-28 15:47:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-assembly-hfa31015-10-micron-15-psi-bypass-1-1-2-inch-npt-ports>: HTTP status code is not handled or not allowed 2026-01-28 15:47:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relius-solutions-basket-trucks-by-royal-cotton-canvas-liner-20wx30dx27h-4-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gas-conversion-kit-8935-propane-to-natural-gas-for-model-2001621a>: HTTP status code is not handled or not allowed 2026-01-28 15:47:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanix-wear-original174-work-gloves-synthetic-leather-wtrekdry153-cooling-blue-medium>: HTTP status code is not handled or not allowed 2026-01-28 15:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mechanix-wear-original174-work-gloves-synthetic-leather-wtrekdry153-cooling-black-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:47:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tx4000-esd-cleanroom-apparel-coverall-m-white>: HTTP status code is not handled or not allowed 2026-01-28 15:47:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-thread-o-ring-connector-h5315x6x4-3-8-inch-tube-od-1-4-inch-port-size>: HTTP status code is not handled or not allowed 2026-01-28 15:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-nipple-hcn200-2-inch-200-npt-male-thread-200-inch-hose-id-4375-inchl>: HTTP status code is not handled or not allowed 2026-01-28 15:47:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-base-for-modular-cabinets-34-1-8x17-1-4x5-3-4>: HTTP status code is not handled or not allowed 2026-01-28 15:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-reservoir-accessories-ppm08-1-2-inch-magnetic-pipe-plug-square-socket>: HTTP status code is not handled or not allowed 2026-01-28 15:47:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suction-hose-wlh12572-1-1-4-inch-id-x-6-foot-long-hose>: HTTP status code is not handled or not allowed 2026-01-28 15:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-oem-technologies8482-axial-cam-pump-kit-2400-psi-20-gpm>: HTTP status code is not handled or not allowed 2026-01-28 15:47:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emz-10-07x-45x-binocular-zoom-stereo-body-working-distance-110mm>: HTTP status code is not handled or not allowed 2026-01-28 15:47:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-tivoli-self-adhesive-vinyl-floor-tile-12-x-12-light-oak-planklook-45-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twin-series-clamp-for-tubing-tsct087-7-8-inch-id>: HTTP status code is not handled or not allowed 2026-01-28 15:47:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smr89bsk-backstop-assembly-fits-reducer-styles-smr8smr9wsmr8wsmr9>: HTTP status code is not handled or not allowed 2026-01-28 15:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-reducing-bushing-rab125075-1-1-4-inch-male-npt-x-3-4-inch-female-npt>: HTTP status code is not handled or not allowed 2026-01-28 15:47:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-sterling-self-adhesive-vinyl-floor-tile-12-x-12-black-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:47:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/achim-flex-flor153-looselay-vinyl-plank-9-x-48-whitewash-8-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wsmr2-151-shaft-mount-reducer-size-2-151-ratio-1-1516-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:47:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tank-strainer-sw2002003-2-inch-npt-male-thd-2-inch-npt-port-50-gpm>: HTTP status code is not handled or not allowed 2026-01-28 15:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgar300-port-adaptor-1-8-npt-regulator-filter-regulator>: HTTP status code is not handled or not allowed 2026-01-28 15:47:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smr10-151-shaft-mount-reducer-size-10-151-ratio-5-716-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:47:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smr8-151-shaft-mount-reducer-size-8-151-ratio-4-716-tapered-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ediusa-pasgt-style-ballistic-helmet-level-iiia-ballistic-resistance-large-black>: HTTP status code is not handled or not allowed 2026-01-28 15:47:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-pallet-rack-netting-1-net-99-x-3-16-x-48-2500-lb-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 15:47:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wetline-kit-uwlk50dmccw-50-gallon-wetline-kit-ccw-rotation-direct-steel-tank>: HTTP status code is not handled or not allowed 2026-01-28 15:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9oz-30-sateen-cotton-jacket-red-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:47:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stamped-welding-flange-fs200-2-inch-steel-3705-inch-od-0118-inch-thick>: HTTP status code is not handled or not allowed 2026-01-28 15:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orbis-solid-color-flipak-tote-11-4-5-x9-4-5-x7-7-10>: HTTP status code is not handled or not allowed 2026-01-28 15:47:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-mirella-end-table-sanddune>: HTTP status code is not handled or not allowed 2026-01-28 15:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-whiffle-typical-12-triple-60-red>: HTTP status code is not handled or not allowed 2026-01-28 15:47:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-bandi-shell-stack-chair-white>: HTTP status code is not handled or not allowed 2026-01-28 15:47:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stamped-welding-flange-fa025-1-4-inch-aluminum-1770-inch-od-0134-inch-thick>: HTTP status code is not handled or not allowed 2026-01-28 15:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wearwell-3x39-edging-for-24seven-mats-nitrile-rubber-female-edge-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:47:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tpi-workstation-fan-18-blade-diameter-18-hp-wall-mount>: HTTP status code is not handled or not allowed 2026-01-28 15:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forged-welding-flange-fdf250-2-1-2-inch-forged-steel-4062-inch-od-3156-inch-pilot>: HTTP status code is not handled or not allowed 2026-01-28 15:47:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumper-pad-c40-1-x-7-foam-to-fit-30w-x-44l-infant-crib>: HTTP status code is not handled or not allowed 2026-01-28 15:47:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/restraint-straps-rs108-heavy-duty-108-long-no-hooks>: HTTP status code is not handled or not allowed 2026-01-28 15:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-mirella-storage-cabinet-southerntobacco>: HTTP status code is not handled or not allowed 2026-01-28 15:47:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-alphabetter-2-0-height-adjustable-student-desk-book-box-pendulum-bar-22-30-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:47:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbl4-lp835-4-led-square-basket-wraparound-mvolt-30l-3500-cct>: HTTP status code is not handled or not allowed 2026-01-28 15:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zl1n-l48-3000lm-fst-mvolt-40k-80cri-wh-led-strip-light-3000-lumens-4000k-white->: HTTP status code is not handled or not allowed 2026-01-28 15:47:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-button-down-work-shirt-l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl87-10-1-254tc-helical-inline-speed-reducer-254tc-input-flange-10-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 15:47:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-sensing-spreader-valve-hv1030ls-spreader-valve-10-30-gpm-151-lpm-3000-psi-210-bar>: HTTP status code is not handled or not allowed 2026-01-28 15:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/snap-button-down-long-sleve-work-shirt-4xl-tall-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:47:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worldwide-electric-winl107-120-1-213-5tc-helical-inline-reducer-213-5tc-input-flange-120-1-ratio>: HTTP status code is not handled or not allowed 2026-01-28 15:47:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-racksolid-steel-deck-58-w-x-24-d-797215>: HTTP status code is not handled or not allowed 2026-01-28 15:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hickory-half-zip-pull-over-long-sleeve-shirt-4xl-tall-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:47:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wind-pro-full-zip-hooded-sweater-reflective-flame-resistant-l-tall-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:47:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-sleeve-henley-interlock-knit-flame-resistant-2xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clark-foam-products-1001089-foam-cube-polyether-charcoal-8-sq>: HTTP status code is not handled or not allowed 2026-01-28 15:47:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ds-287064w-shrink-wrap-28w-x-64l-7mil-white>: HTTP status code is not handled or not allowed 2026-01-28 15:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clark-foam-products-1001291-foam-sheet-300135-poly-charcoal-4x24x72>: HTTP status code is not handled or not allowed 2026-01-28 15:47:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7033500-60-additional-upright>: HTTP status code is not handled or not allowed 2026-01-28 15:47:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5473200-maple-top-144in-x36in>: HTTP status code is not handled or not allowed 2026-01-28 15:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outside-micrometer-3203-3a-2-3-inch-range>: HTTP status code is not handled or not allowed 2026-01-28 15:47:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-magnetic-stand-6200-60>: HTTP status code is not handled or not allowed 2026-01-28 15:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-vis-full-zip-hooded-sweater-reflective-m-tall-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:47:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-long-sleeve-button-down-work-shirt-s-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:47:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-accessory-slope-top-end-closure-15d-x-5h-725-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:47:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-portable-laptop-stand-w-neoprene-bag>: HTTP status code is not handled or not allowed 2026-01-28 15:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-locker-accessory-individual-slope-top-18w-x-18d-x-6h-729-parchment>: HTTP status code is not handled or not allowed 2026-01-28 15:47:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grd-super-brute-3-speed-circulator-water-pump-ups-43-100-f-95906636-115v-cast-iron>: HTTP status code is not handled or not allowed 2026-01-28 15:47:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-modular-work-bench-adder-c2-spa-e3072-75wgb-c2-series-30d-x-72w-x-75h-white-laminate>: HTTP status code is not handled or not allowed 2026-01-28 15:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-44w-x-36l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:47:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-30w-x-34l-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weekender-ladder-rack-black-steel-horizontal-rear-1451-5>: HTTP status code is not handled or not allowed 2026-01-28 15:47:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-modular-work-bench-adder-c2-spa-e3048-75wgb-c2-series-30d-x-48w-x-75h-white-laminate>: HTTP status code is not handled or not allowed 2026-01-28 15:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traffic-cone-chain-kit-blue-mrc-93206-6>: HTTP status code is not handled or not allowed 2026-01-28 15:47:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-laminate-shelf-pbls1236e-w-pb-series-12d-x-36w-white>: HTTP status code is not handled or not allowed 2026-01-28 15:47:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-file-drawer-cabinet-2bf-b-double-6-drawers-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-42x24x86-nexelon-finish-331790N>: HTTP status code is not handled or not allowed 2026-01-28 15:47:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5445900-4solid-shelf-truck>: HTTP status code is not handled or not allowed 2026-01-28 15:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5444700-4wire-shelf-truck>: HTTP status code is not handled or not allowed 2026-01-28 15:47:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5456700-72x18x63-shelving>: HTTP status code is not handled or not allowed 2026-01-28 15:47:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-poly-cellulose-absorbent-pillow-16gpill1818-18-x-18-40-pillowsbox>: HTTP status code is not handled or not allowed 2026-01-28 15:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-44w-x-31l-green>: HTTP status code is not handled or not allowed 2026-01-28 15:47:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4798200-sase-72x24x68-wire-truck>: HTTP status code is not handled or not allowed 2026-01-28 15:47:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-31w-x-28l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5457400-48x24x63-shelving>: HTTP status code is not handled or not allowed 2026-01-28 15:47:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-operated-drum-pump-piston-action-body-material-nylon>: HTTP status code is not handled or not allowed 2026-01-28 15:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5652300-sase-shlvg-60x24x63-add-on>: HTTP status code is not handled or not allowed 2026-01-28 15:47:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ezi-action-25-5-drum-pump-with-c69-fitting-food-grade>: HTTP status code is not handled or not allowed 2026-01-28 15:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5697400-36x18x86-add-on-4-shelf-unit>: HTTP status code is not handled or not allowed 2026-01-28 15:47:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-54w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:47:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jerry-can-metal-replacement-pin-2238pin>: HTTP status code is not handled or not allowed 2026-01-28 15:47:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-screw-support-bearing-45tab10dup4-duplex-flush-ground-45mm-bore-100mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-screw-support-bearing-40tab07up4-single-flush-ground-40mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:47:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ml2930-mc50-static-grounding-reel-manual-rewind-50-cable-le-21c-alligator-clip>: HTTP status code is not handled or not allowed 2026-01-28 15:47:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 121326 pages (at 100 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-28w-x-29l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:47:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-38w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:47:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewiston-mailbox-post-ornate-base-pineapple-finial-with-vinyl-numbers-support-brace-white>: HTTP status code is not handled or not allowed 2026-01-28 15:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-42w-x-33l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:47:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stucco-cbu-mailbox-center-short-pedestal-column-only-in-slate-gray-color-with-bayview-solar-lamp>: HTTP status code is not handled or not allowed 2026-01-28 15:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-regular-slotted-single-wall-corrugated-box-13-x-13-x-13-275-lb-ect-44-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:47:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-30w-x-29l-green>: HTTP status code is not handled or not allowed 2026-01-28 15:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-33w-x-32l-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:48:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-42w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-single-wall-corrugated-box-28-x-18-x-6-200lb-test-ect-32-kraft-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-22-4f-70mm-stack-light-flashing-120v-acdc-led-red>: HTTP status code is not handled or not allowed 2026-01-28 15:48:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-24-4f-70mm-stack-light-flashing-120v-acdc-led-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:48:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-90-02-70mm-stack-terminal-terminal-base-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-tcl03sb532-70mm-complete-light-stack-24v-led-gray-term-g-a-r>: HTTP status code is not handled or not allowed 2026-01-28 15:48:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/la-tcl95ab95632-70mm-light-stack-24v-led-blk-term-w-g-b-a-r-100-db>: HTTP status code is not handled or not allowed 2026-01-28 15:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-2-inch-drive-impact-socket-5-3-8-inch-6-point-7-3-4-inch-l>: HTTP status code is not handled or not allowed 2026-01-28 15:48:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copper-mechanical-split-bolt-connection-for-2-conductorsrange-of-equal-run-and-tap-6-sol-2-str>: HTTP status code is not handled or not allowed 2026-01-28 15:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-58w-x-29l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:48:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copper-compression-lug-standard-barrel-1-hole-with-inspection-window-2-awg-5-16-stud-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-54w-x-31l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dieless-mechanical-compression-tool-crimps-8-250-kcmil-aluminum-or-copper>: HTTP status code is not handled or not allowed 2026-01-28 15:48:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/copper-compression-lug-standard-barrel-2-hole-with-inspection-window-4-0-awg-3-8-stud-purple>: HTTP status code is not handled or not allowed 2026-01-28 15:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boost-plus-1000-amp-lithium-jump-starter-gb40>: HTTP status code is not handled or not allowed 2026-01-28 15:48:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411-piece-aircraft-maintenance-set>: HTTP status code is not handled or not allowed 2026-01-28 15:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-32w-x-29l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manchester-stucco-locking-column-mailbox-in-sandstone-w-plain-door-in-bronze>: HTTP status code is not handled or not allowed 2026-01-28 15:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-42w-x-33l-white>: HTTP status code is not handled or not allowed 2026-01-28 15:48:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-42w-x-36l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-48w-x-29l-green>: HTTP status code is not handled or not allowed 2026-01-28 15:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j128-oh-needle-bearing-drawn-cup-caged-oil-hole-bore-1905mm>: HTTP status code is not handled or not allowed 2026-01-28 15:48:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-young-bros-general-purpose-27-pc-letter-steel-stamp-set>: HTTP status code is not handled or not allowed 2026-01-28 15:48:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-48w-x-34l-green>: HTTP status code is not handled or not allowed 2026-01-28 15:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-young-bros-general-purpose-36-pc-letter-figure-steel-stamp-set>: HTTP status code is not handled or not allowed 2026-01-28 15:48:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-46w-x-32l-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:48:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j1612-oh-needle-bearing-drawn-cup-caged-oil-hole-bore-254mm>: HTTP status code is not handled or not allowed 2026-01-28 15:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-48w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/counterfeit-money-detector-pen-black-1-each>: HTTP status code is not handled or not allowed 2026-01-28 15:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-50w-x-36l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:48:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b2028-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-3175mm>: HTTP status code is not handled or not allowed 2026-01-28 15:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-mobile-paper-rack-holds-8-rolls-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:48:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-compartment-tray-cash-box-spr15507-114w-x-75h-x-34h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:48:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bh1110-oh-needle-bearing-drawn-cup-full-complement-oil-hole-bore-17475mm>: HTTP status code is not handled or not allowed 2026-01-28 15:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-52w-x-31l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:48:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/el11318-1hp-56h-frame-1800rpm-115-230v-odp-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 15:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em31112-75hp-1800rpm-56-frame-3ph-208-230-460v-odp-rigid-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 15:48:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-36w-x-34l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vel11307-75hp-56c-frame-1800rpm-115-230v-odp-c-face-footless-premium-efficiency>: HTTP status code is not handled or not allowed 2026-01-28 15:48:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-54w-x-31l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dixon-prang-crayons-master-pack-assorted-colors-800-box>: HTTP status code is not handled or not allowed 2026-01-28 15:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-60w-x-31l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:48:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-28w-x-30l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kgf-23-freezer-merchandiser-23-cu-ft-1-glass-door-black-79-1-2-h-x-26-1-5-w>: HTTP status code is not handled or not allowed 2026-01-28 15:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-40w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:48:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-42w-x-32l-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miller-aircore-harness-quick-connect-buckle-green-ac-qcugn-436836>: HTTP status code is not handled or not allowed 2026-01-28 15:48:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-50w-x-31l-green>: HTTP status code is not handled or not allowed 2026-01-28 15:48:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-transparent-edge-pencil-cup-green>: HTTP status code is not handled or not allowed 2026-01-28 15:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-low-rise-fit-work-pants-46w-x-29l-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:48:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-feeder-hardware-kit-hg-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stocktank-feedbunk-w-ser-75-g-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-cabinet-with-198-hook-on-bins-60w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 15:48:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-pegboard-shelf-cabinet-60w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 15:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-40w-x-unhemmed-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-12-gauge-combination-cabinet-w-drawers-shelves-drawers-60w-x-24d-x-78h>: HTTP status code is not handled or not allowed 2026-01-28 15:48:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-ghs401ap-oxidizer-ghs-label-vinyl-4-x-4-5-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-ghs2012al2-oxidizer-ghs-label-paper-2-x-2-250-roll>: HTTP status code is not handled or not allowed 2026-01-28 15:48:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-11-foot-3-inch-long-x-1-inch-wide-4-6-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 15:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-pst129-ghs-laminated-poster-hazcom12-label-format-24-x-18>: HTTP status code is not handled or not allowed 2026-01-28 15:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-42w-x-34l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-11-foot-10-inch-long-x-3-4-inch-wide-4-6-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 15:48:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-30w-x-30l-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-6-foot-10-inch-long-x-3-4-inch-wide-8-12-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 15:48:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-9-foot-11-1-2-inch-long-x-1-inch-wide-10-14-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 15:48:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nmc-ghs2072alv2-dangerous-for-environment-ghs-label-vinyl-2-x-2-250-roll>: HTTP status code is not handled or not allowed 2026-01-28 15:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-11-foot-6-inch-long-x-1-inch-wide-8-12-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 15:48:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ctl-bandsaw-blade-9-foot-8-inch-long-x-1-inch-wide-6-8-tpi-x-0035-thick>: HTTP status code is not handled or not allowed 2026-01-28 15:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cove-windshield-service-center-pole-mountedblack-261718BK>: HTTP status code is not handled or not allowed 2026-01-28 15:48:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/friedrich-ptac-20-amp-cord-292292>: HTTP status code is not handled or not allowed 2026-01-28 15:48:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-33w-x-32l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-work-coveralls-48-regular-green>: HTTP status code is not handled or not allowed 2026-01-28 15:48:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-grade-5-drawer-legal-vertical-file-llr48502-18-w-x-26-1-2-d-x-61-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-30w-x-unhemmed-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15383-3-pack-paring-knives-high-carbon-steel-stamped-white-handle-3-1-4->: HTTP status code is not handled or not allowed 2026-01-28 15:48:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-44w-x-34l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-kingportable-reel-rack-33-36-dia-coilspoppy-red-798015>: HTTP status code is not handled or not allowed 2026-01-28 15:48:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24113-narrow-fillet-knife-high-carbon-steel-stamped-black-handle-8-l>: HTTP status code is not handled or not allowed 2026-01-28 15:48:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-kingportable-reel-rack-37-42-dia-coilsprecuation-blue-798020>: HTTP status code is not handled or not allowed 2026-01-28 15:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inf-compass-refrigerant-leak-detector-717-202-g1>: HTTP status code is not handled or not allowed 2026-01-28 15:48:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inf-d-tek-select-refrigerant-leak-detector-712-202-g1-detects-r22-r410a-r134a>: HTTP status code is not handled or not allowed 2026-01-28 15:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17473-bakers-spatula-high-carbon-steel-white-handle-14-l>: HTTP status code is not handled or not allowed 2026-01-28 15:48:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-33w-x-unhemmed-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-steering-handle-for-2000-lb-cap-wesco-hevimover-987821>: HTTP status code is not handled or not allowed 2026-01-28 15:48:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s104pcp-paring-knife-high-carbon-steel-stamped-3-1-4-l>: HTTP status code is not handled or not allowed 2026-01-28 15:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-32w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:48:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weld-curtain-w-hardware-24w-x-10h>: HTTP status code is not handled or not allowed 2026-01-28 15:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17110-frosting-spatula-6-1-2-high-carbon-steel-6-5-l>: HTTP status code is not handled or not allowed 2026-01-28 15:48:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r55i-tas-135-2003-rotary-screw-air-compressor-3-phase-200-volts-75hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-28 15:48:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/competitor-ventilated-three-tier-locker-starter-1-wide-12w-x-12d-x-24h-unassembled-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-28w-x-34l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:48:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r4i-145-2003-rotary-screw-air-compressor-3-phase-200-volts-5hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-28 15:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r55i-tas-115-4603-rotary-screw-air-compressor-3-phase-460-volts-75hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-28 15:48:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 121427 pages (at 101 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:48:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r4i-145-2303-rotary-screw-air-compressor-3-phase-230-volts-5hp-120-gal>: HTTP status code is not handled or not allowed 2026-01-28 15:48:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-50w-x-unhemmed-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-15w-x-15d-x-36h-unassembled-black>: HTTP status code is not handled or not allowed 2026-01-28 15:48:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-pocket-cargo-pants-heavy-duty-twill-46w-x-32l-dark-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-thermoplastic-32-gallon-mesh-receptacle-w-flat-lid-green>: HTTP status code is not handled or not allowed 2026-01-28 15:48:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-38w-x-34l-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-thermoplastic-32-gallon-perforated-receptacle-w-rain-bonnet-lid-green>: HTTP status code is not handled or not allowed 2026-01-28 15:48:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/catheter-holder-with-accessory-rail-for-rescue-anesthesiology-loaded-carts>: HTTP status code is not handled or not allowed 2026-01-28 15:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxygen-tank-holder-with-accessory-rail-for-rescue-er-loaded-carts>: HTTP status code is not handled or not allowed 2026-01-28 15:49:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcmp-181801-rubber-cork-pads-18-l-x-18-w-x-7-8-h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linen-control-center-2-hanging-bars-1-shelf-trun-knob-silver-vein-w-turn-knob-lock>: HTTP status code is not handled or not allowed 2026-01-28 15:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a120k-v-belt-kevlar-1-2-x-122>: HTTP status code is not handled or not allowed 2026-01-28 15:49:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-compartment-folded-garment-dispenser-locker-gray-w-turn-knob-locks>: HTTP status code is not handled or not allowed 2026-01-28 15:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a134k-v-belt-kevlar-1-2-x-136>: HTTP status code is not handled or not allowed 2026-01-28 15:49:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-compartment-folded-garment-dispenser-locker-gray-w-cam-locks>: HTTP status code is not handled or not allowed 2026-01-28 15:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-laundry-lockup-locker-silver-vein>: HTTP status code is not handled or not allowed 2026-01-28 15:49:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b257k-v-belt-kevlar-5-8-x-260>: HTTP status code is not handled or not allowed 2026-01-28 15:49:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b200k-v-belt-kevlar-5-8-x-203>: HTTP status code is not handled or not allowed 2026-01-28 15:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-58w-x-unhemmed-black>: HTTP status code is not handled or not allowed 2026-01-28 15:49:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-grade-door-sweep-w-epdm-rubber-insert-69609-bronze-48-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-56w-x-unhemmed-black>: HTTP status code is not handled or not allowed 2026-01-28 15:49:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-jeans-basket-weave-flame-resistant-8-oz-28w-x-30l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:49:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vscm-2-plated-cup-mount-700-max-load-lbs-plated-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vscm-4-plated-cup-mount-2100-max-load-lbs-plated-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:49:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lf-4060-low-profile-compression-mount-double-deflection-22-lbs-max-load>: HTTP status code is not handled or not allowed 2026-01-28 15:49:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en-14-hd-ss-forged-eye-nut-1-1-2-6-style-b-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en-3-ss-drop-forged-eye-nut-3-8-16-style-a-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:49:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/en-7-316ss-drop-forged-eye-nut-5-8-11-style-a-316-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:49:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-3-phillips-bugle-head-drywall-screw-steel-partial-thread-coarse-pkg-of-50-lbs>: HTTP status code is not handled or not allowed 2026-01-28 15:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sheet-union-jack-57208-02-inchl-x-36-inchw-x-36-inchh-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:49:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cargo-pants-with-double-reinforced-knees-flame-resistant-30w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wallbase-dry-back-75697-48-inchl-x-2-1-2-inchw-white>: HTTP status code is not handled or not allowed 2026-01-28 15:49:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merc-kit2-mercury-spill-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:49:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-56w-x-32l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rspkhz-65-hazmat-65-gallon-kit-refill>: HTTP status code is not handled or not allowed 2026-01-28 15:49:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spkhz-55-hazmat-55-gallon-spill-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:49:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinsser-b-i-n-advanced-synthetic-shellac-primer-white-5-gal-270978>: HTTP status code is not handled or not allowed 2026-01-28 15:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinsser-perma-white-mold-mildew-proof-exterior-paint-white-5-gal-3130>: HTTP status code is not handled or not allowed 2026-01-28 15:49:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinsser-bulls-eye-1-2-3-water-base-primer-white-gallon-can-2001>: HTTP status code is not handled or not allowed 2026-01-28 15:49:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zinsser-odorless-oil-base-stain-blocker-gallon-can-3951>: HTTP status code is not handled or not allowed 2026-01-28 15:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-54-inch-w-x-21-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-42-inch-w-x-21-inch-d-x-86-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mh5009-30-magnetic-wall-mount-barrier-danger-keep-out-banner>: HTTP status code is not handled or not allowed 2026-01-28 15:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-46w-x-34l-black>: HTTP status code is not handled or not allowed 2026-01-28 15:49:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mh7010-7-magnetic-wall-mount-barrier-do-not-enter-arc-flash-boundary-banner>: HTTP status code is not handled or not allowed 2026-01-28 15:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-30-inch-w-x-24-inch-d-x-74-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-44w-x-30l-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simply-grilling-non-stick-12x16-grilling-platter>: HTTP status code is not handled or not allowed 2026-01-28 15:49:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-48w-x-32l-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-24-inch-w-x-18-inch-d-x-63-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hds-230-1-hard-drive-back-up-media-shredder-single-stage>: HTTP status code is not handled or not allowed 2026-01-28 15:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-fit-work-pants-westex-50w-x-30l-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:49:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-54-inch-w-x-18-inch-d-x-86-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-54-inch-w-x-14-inch-d-x-74-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cesm-21cb-3648-safety-switch-mat-36-x-48-black>: HTTP status code is not handled or not allowed 2026-01-28 15:49:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regular-jeans-indura-denim-14-oz-46w-x-34l-flame-resistant-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:49:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-54-inch-w-x-14-inch-d-x-86-inch-h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-satin-enamel-12-oz-aerosol-can-clear-792272>: HTTP status code is not handled or not allowed 2026-01-28 15:49:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-satin-enamel-12-oz-aerosol-can-almond-319373>: HTTP status code is not handled or not allowed 2026-01-28 15:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-42w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-decor-camouflage-enamel-12-oz-aerosol-can-forest-green-flat-171311>: HTTP status code is not handled or not allowed 2026-01-28 15:49:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-30w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-work-pants-reflective-material-flame-resistant-56w-x-unhemmed-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cat-auto-ride-on-floor-sweeper-with-ac-cabin-70-in-cleaning-path>: HTTP status code is not handled or not allowed 2026-01-28 15:49:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-30w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/start-right-interior-latex-vapor-barrier-primer-5-gallon-775863>: HTTP status code is not handled or not allowed 2026-01-28 15:49:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-42w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-oil-base-dtm-enamel-gloss-finish-aluminum-5-gallon-802454>: HTTP status code is not handled or not allowed 2026-01-28 15:49:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-3ph-remote-start-reset-button-250-500v-1-7-2-3a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-48w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 15:49:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/painters-select-porch-floor-coating-polyurethane-oil-gloss-finish-hunter-green-gallon-627003>: HTTP status code is not handled or not allowed 2026-01-28 15:49:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-o-rust-oil-base-dtm-enamel-gloss-finish-pebble-quart-527135>: HTTP status code is not handled or not allowed 2026-01-28 15:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/woodsman-clear-100-acrylic-latex-water-repellant-clear-gallon-149317>: HTTP status code is not handled or not allowed 2026-01-28 15:49:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-direct-online-reset-button-100-250v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-remote-start-terminals-reset-button-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-remote-start-reset-button-100-250v-1-7-2-3a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-remote-start-start-stop-100-250v-3-1-4-2a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-12w-x-36d-x-75h-with-28-8h-plastic-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 15:49:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-9a-1ph-remote-start-terminals-start-stop-100-250v-3-1-4-2a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manitowoc-ice-iy-1804a-indigo-series-ice-maker-cube-style-air-cooled-self-contained-condenser>: HTTP status code is not handled or not allowed 2026-01-28 15:49:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hepa-filter-bag-6-quart-backpack-9-bags-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:49:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-fold-out-computer-cabinet-blue-assembled>: HTTP status code is not handled or not allowed 2026-01-28 15:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18w-x-36d-x-75h-with-56-8h-plastic-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:49:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-remote-start-reset-button-250-500v-3-1-4-2a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-reset-button-24-60v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-remote-start-terminals-reset-button-250-500v-3-1-4-2a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-direct-online-start-stop-100-250v-2-3-3-1a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-bulkhead-low-roof-ford-transit-96301-3-01>: HTTP status code is not handled or not allowed 2026-01-28 15:49:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/secure-storage-module-w-lock-door-white-9040-3-01>: HTTP status code is not handled or not allowed 2026-01-28 15:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-direct-online-reset-button-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-3ph-remote-start-reset-button-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parts-cabinet-9-bin-12-in-17-in-12-in-9909-3-02>: HTTP status code is not handled or not allowed 2026-01-28 15:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-separate-coil-voltage-start-stop-100-250v-10-13a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-start-stop-24-60v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hvac-mechanical-van-pack-high-rf-ford-transit-600-8413x>: HTTP status code is not handled or not allowed 2026-01-28 15:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comm-shelv-van-pack-full-size-ford-transit-600-8110l>: HTTP status code is not handled or not allowed 2026-01-28 15:49:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-12a-1ph-remote-start-reset-button-100-250v-3-1-4-2a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500107-dual-tool-holster-belt-with-retractors>: HTTP status code is not handled or not allowed 2026-01-28 15:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-remote-start-terminals-start-stop-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 121526 pages (at 99 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:49:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-tables-24-w-x-60-l-x-36-h-black-granite>: HTTP status code is not handled or not allowed 2026-01-28 15:49:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-ladder-back-bar-ht-set-nepal-teak-laminate-table-black-vinyl-chair>: HTTP status code is not handled or not allowed 2026-01-28 15:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qwikclean-foaming-coil-cleaner-qt2770-18-oz-can>: HTTP status code is not handled or not allowed 2026-01-28 15:49:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-separate-coil-voltage-start-stop-100-250v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-remote-start-reset-button-250-500v-16-20a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-remote-start-terminals-reset-button-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 15:49:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-inch-r6-zz-shielded-light-duty-0375-inch-bore-0875-inch-od>: HTTP status code is not handled or not allowed 2026-01-28 15:50:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-3ph-reset-button-24-60v-13-16a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/58fsl-4-person-floor-mount-wash-station-with-double-foot-pedal-valves>: HTTP status code is not handled or not allowed 2026-01-28 15:50:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6303-2rs-2-rubber-seals-heavy-duty-17mm-bore-47mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:50:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-remote-start-terminals-start-stop-100-250v-4-2-5-7a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-16a-1ph-remote-start-start-stop-24-60v-7-6-10a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-thermoplastic-coated-32-gallon-perforated-receptacle-w-dome-lid-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:50:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cruiser-x4-wheelchair-with-adjustable-detachable-arms-full-arms-swing-away-footrests-18-seat-cx418adfa-sf>: HTTP status code is not handled or not allowed 2026-01-28 15:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elevating-legrests-for-bariatric-sentra-wheelchairs-1-pair-stdelr-tf>: HTTP status code is not handled or not allowed 2026-01-28 15:50:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6208-zz-2-metal-shields-medium-duty-40mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:50:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6007-open-light-duty-35mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6002-zz-2-metal-shields-light-duty-15mm-bore-32mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:50:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/011177-socket-cap-screw-1-4-28-x-3-4-steel-black-oxide-ft-unf-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/532084-socket-cap-screw-m6-x-1-00-x-30mm-steel-black-oxide-gr-12-9-ft-unc-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:50:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deep-groove-ball-bearings-metric-6312-zz-2-metal-shields-heavy-duty-60mm-bore-130mm-od>: HTTP status code is not handled or not allowed 2026-01-28 15:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400002-hex-cap-screw-1-4-20-x-1-2-18-8-stainless-steel-ft-unc-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:50:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rhino-14-yellow-heat-shrink-tubes>: HTTP status code is not handled or not allowed 2026-01-28 15:50:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/754048-split-lock-washer-1-4-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/305190-nylon-insert-lock-nut-5-8-18-low-carbon-steel-zinc-unf-pkg-of-50>: HTTP status code is not handled or not allowed 2026-01-28 15:50:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-3ph-separate-coil-voltage-start-stop-100-250v-35-40a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/390140-flat-washer-3-8-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dcl104-nfpa-label-symbol-use-no-water-5-x-5-whiteblack-5pk>: HTTP status code is not handled or not allowed 2026-01-28 15:50:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tm30g-traffic-sign-no-parking-between-signs-wright-arrow-18-x-12-whitered>: HTTP status code is not handled or not allowed 2026-01-28 15:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c637rb-osha-sign-caution-watch-out-for-fork-lift-trucks-10-x-14-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 15:50:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/863011-wing-nut-cold-forged-8-32-low-carbon-steel-zinc-coarse-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:50:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-1ph-separate-coil-voltage-start-stop-100-250v-16-20a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phc51g-single-chamber-compact-warming-cabinet-with-glass-door-2-cu-ft-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:50:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-38a-1ph-direct-online-reset-button-100-250v-20-24a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpt77-tags-nfpa-diamond-tag-6-x-3-whiteblack-25pk>: HTTP status code is not handled or not allowed 2026-01-28 15:50:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m371p-vehicle-sign-this-vehicle-stops-at-all-railroad-crossings-9-x-20-whitered>: HTTP status code is not handled or not allowed 2026-01-28 15:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-3ph-direct-online-start-stop-250-500v-22-28a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n155rb-osha-sign-notice-smoking-is-prohibited-except-in-designated-areas-10-x-14-whblbk>: HTTP status code is not handled or not allowed 2026-01-28 15:50:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-06-od-x-0072-x-2-22608-lbsin-rate-stainless-steel-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 15:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-0845-od-x-0072-x-2-stainless-steel-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 15:50:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dcn21-nfpa-label-number-1-2-12-x-2-12-whiteblack-5pk>: HTTP status code is not handled or not allowed 2026-01-28 15:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-52a-1ph-start-stop-24-60v-30-40a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jl22006o-voltage-marker-240-volts-1-18-x-4-12-orangeblack>: HTTP status code is not handled or not allowed 2026-01-28 15:50:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-compression-spring-048-od-x-0072-x-2-stainless-steel-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 15:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jl22037o-voltage-marker-120208-volts-1-18-x-4-12-orangeblack>: HTTP status code is not handled or not allowed 2026-01-28 15:50:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latch-shield-u-9500-7h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bluff-174-15t8448-hd-steel-dock-board-with-lock-pins-84-x-48-15-000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:50:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d372r-osha-sign-danger-confined-space-keep-out-7-x-10-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 15:50:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rpt36-tags-full-cylinder-ready-for-use-6-x-3-whitegreen-25pk>: HTTP status code is not handled or not allowed 2026-01-28 15:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sf45rb-osha-sign-safety-first-emergency-showereye-wash-10-x-14-whitegreenblack>: HTTP status code is not handled or not allowed 2026-01-28 15:50:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-1ph-remote-start-reset-button-24-60v-57-67a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-direct-online-start-stop-100-250v-65-78a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-resin-fiber-disc-84685-aluminum-oxide-5-x-7-8-36-grit>: HTTP status code is not handled or not allowed 2026-01-28 15:50:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-for-tilt-or-lift-gate-sg3060-tl>: HTTP status code is not handled or not allowed 2026-01-28 15:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-1ph-remote-start-terminals-start-stop-100-250v-36-47a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c26rb-osha-sign-caution-eye-protection-required-in-this-area-10-x-14-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 15:50:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-air-bag-scissor-li-table-ablt-2000-48-x-32-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-65a-1ph-reset-button-24-60v-50-60a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-104833-zirconia-alumina-2-x-60-24-grit>: HTTP status code is not handled or not allowed 2026-01-28 15:50:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-remote-start-start-stop-250-500v-65-78a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-separate-coil-voltage-reset-button-100-250v-65-78a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-3ph-remote-start-terminals-reset-button-250-500v-65-78a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-1538-aluminum-oxide-2-x-48-60-grit>: HTTP status code is not handled or not allowed 2026-01-28 15:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nema-4x-enclosed-motor-starter-80a-1ph-separate-coil-voltage-start-stop-100-250v-48-60a>: HTTP status code is not handled or not allowed 2026-01-28 15:50:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-282851-ceramic-2-x-72-36-grit>: HTTP status code is not handled or not allowed 2026-01-28 15:50:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-powered-lcd-computer-cabinet-40-ah-battery-dark-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 15:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-49896-aluminum-oxide-3-8-x-13-100-grit>: HTTP status code is not handled or not allowed 2026-01-28 15:50:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sonic-select-120-extra-powerful-ultrasonic-cleaner-with-heater-timer-5-modes-3-5-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-shot-slim-6-unit-battery-charger-for-motorola-cp200-radios>: HTTP status code is not handled or not allowed 2026-01-28 15:50:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-clean-n10-ultrasonic-cleaning-solution-for-the-laboratory-7-1-ph-10-l>: HTTP status code is not handled or not allowed 2026-01-28 15:50:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-flex-for-left-ear-large>: HTTP status code is not handled or not allowed 2026-01-28 15:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-flex-for-right-ear-medium>: HTTP status code is not handled or not allowed 2026-01-28 15:50:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vsm-abrasive-belt-8181-silicon-carbide-4-x-106-120-grit>: HTTP status code is not handled or not allowed 2026-01-28 15:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-1-2-inch-npt-coalescing-filter-35-cfm-8-000-hr-0-1-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 15:50:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-1-1-2-inch-npt-coalescing-filter-364-cfm-8-000-hr-0-1-micron-232-psi>: HTTP status code is not handled or not allowed 2026-01-28 15:50:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-foot-ultra-parking-block-with-cable-protection-and-hardware-blue-ultra3672pbbl>: HTTP status code is not handled or not allowed 2026-01-28 15:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-800-lb-capacity-work-platform-with-24-w-x-48-l-platform>: HTTP status code is not handled or not allowed 2026-01-28 15:50:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5555461780bx1-14-10x-1-x-0035-bimetal-independence-ii-46-bandsaw-blade>: HTTP status code is not handled or not allowed 2026-01-28 15:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nord-lock-1113-wedge-locking-washer-316-stainless-steel-m16-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:50:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pioneer-americana-2am401-two-handle-kitchen-faucet-with-spray-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:50:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-configurable-forward-descent-roll-ladder-perforated-ukdec108246>: HTTP status code is not handled or not allowed 2026-01-28 15:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/olympia-i4-l-6090-single-lever-bathroom-faucet-with-pop-up-polished-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:50:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-step-configurabl-forward-descent-roll-ladder-grip-strut-ukdec113242>: HTTP status code is not handled or not allowed 2026-01-28 15:50:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-osha-stairway-stair36o-5-40>: HTTP status code is not handled or not allowed 2026-01-28 15:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gr20-trigger-feed-hot-melt-glue-gun>: HTTP status code is not handled or not allowed 2026-01-28 15:50:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-950-bi-material-adjustable-wrench-12-inch-long>: HTTP status code is not handled or not allowed 2026-01-28 15:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/43-osha-stairway-stair36o-5-43>: HTTP status code is not handled or not allowed 2026-01-28 15:50:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29-in-portable-atomizing-evaporative-cooler-26-gallon-5885-cfm>: HTTP status code is not handled or not allowed 2026-01-28 15:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swinging-safety-gate-mez-48-sw-4w>: HTTP status code is not handled or not allowed 2026-01-28 15:50:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fao-first-aid-kit-50-person-ansi-compliant-class-a-plastic-case>: HTTP status code is not handled or not allowed 2026-01-28 15:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-osha-stairway-stair36o-9-76>: HTTP status code is not handled or not allowed 2026-01-28 15:50:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/43-525-fatmax-box-beam-magnetic-level-24-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:50:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-60-inch-w-x-18-inch-d-x-62-inch-h-2000-lbs-cap-4-open-1-solid-shelf-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 15:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-793-fiberglass-open-reel-long-tape-1-2-inch-x-200>: HTTP status code is not handled or not allowed 2026-01-28 15:50:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tra704t-heavy-duty-narrow-crown-staples-1-4-inch-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tra706-5c-heavy-duty-narrow-crown-staples-3-8-inch-5000-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:50:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 121622 pages (at 96 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:50:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/101-osha-stairway-stair36o-12-101>: HTTP status code is not handled or not allowed 2026-01-28 15:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-415-inch-l-clear-for-use-w-48-inch-d-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:50:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/111-osha-stairway-stair36o-13-111>: HTTP status code is not handled or not allowed 2026-01-28 15:50:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/98-osha-stairway-stair36o-11-98>: HTTP status code is not handled or not allowed 2026-01-28 15:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:50:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/93-ibc-stairway-stair36i-14-93>: HTTP status code is not handled or not allowed 2026-01-28 15:50:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-24-inch-d-x-50-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reducer-bushing-srb050617-galvanized-steel-516id-x-38od-1116l>: HTTP status code is not handled or not allowed 2026-01-28 15:51:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-coupling-mrc10s-stainless-steel-10mm-5pk>: HTTP status code is not handled or not allowed 2026-01-28 15:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronze-sleeve-bearing-bsb081118-12id-x-1116od-118l>: HTTP status code is not handled or not allowed 2026-01-28 15:51:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-parking-stop-curb-block-yellow-stripes-72-inches>: HTTP status code is not handled or not allowed 2026-01-28 15:51:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-ball-bearing-pbdcbl100-rigid-die-cast-zinc-housing-1-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-21-inch-d-x-50-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-arbors-fhl30-lefthand-thread-12-arbor-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:51:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-head-arbors-fhl30x-lefthand-thread12-arbor-14-shank-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/winding-arbor-wa183-steel-0045w-slot-532od>: HTTP status code is not handled or not allowed 2026-01-28 15:51:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-frame-folding-tank-stf-2100-135l-x-135w-x-29h-2100-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 15:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-frame-folding-tank-stf-3500-171l-x-171w-x-29h-3500-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 15:51:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pillow-block-ball-bearing-pbphbl050-heavy-gauge-pressed-steel-housing-12-bore>: HTTP status code is not handled or not allowed 2026-01-28 15:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/label-holder-55-inch-l-clear-for-use-w-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-5-open-grid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 15:51:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-24-inch-d-x-74-inch-h-2000-lbs-cap-3-open-and-1-solid-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-42-inch-w-x-21-inch-d-x-62-inch-h-2000-lbs-cap-4-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chemical-resistant-gray-water-bladder-tank-bt-2500x30-174l-x-144w-x-24h-2500-gal-black>: HTTP status code is not handled or not allowed 2026-01-28 15:51:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-sided-self-supporting-tank-ls-2000-156-dia-x-33h-2000-gallon-cap-green>: HTTP status code is not handled or not allowed 2026-01-28 15:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-shaft-arbor-ga2-type-e-l-thread-fits-5811-shaft>: HTTP status code is not handled or not allowed 2026-01-28 15:51:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-21-inch-d-x-86-inch-h-2000-lbs-cap-4-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-21-inch-d-x-86-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-waste-water-bladder-tank-bt-500v30-108l-x-84w-x-16h-500-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 15:51:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m32-c600-series-steel-32mm-shaft>: HTTP status code is not handled or not allowed 2026-01-28 15:51:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-keyless-rigid-coupling-c600m51-c600-series-steel-51mm-shaft>: HTTP status code is not handled or not allowed 2026-01-28 15:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-24-inch-w-x-18-inch-d-x-50-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bariatric-transport-chair-atc22-r-22-seat-450-lb-capacity-red>: HTTP status code is not handled or not allowed 2026-01-28 15:51:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drink-water-bladder-tank-bt-4000pw-216l-x-168w-x-27h-4000-gallon-cap-powder-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-frame-pvc-decontamination-pool-stfdp-33-36l-x-12w-x-39h-60-gallon-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 15:51:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-plus-003-micro-precision-wire-strippers-030-1mm-solid-stranded-wires>: HTTP status code is not handled or not allowed 2026-01-28 15:51:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-72-inch-w-x-18-inch-d-x-74-inch-h-2000-lbs-cap-4-solid-shelves-dunnage-stand>: HTTP status code is not handled or not allowed 2026-01-28 15:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-18-inch-d-x-86-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-strip-lc-cable-stripper-82mm-fiber-optic-cables>: HTTP status code is not handled or not allowed 2026-01-28 15:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-36-inch-w-x-21-inch-d-x-50-inch-h-2000-lbs-cap-4-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-36-inch-w-x-18-inch-d-x-86-inch-h-2000-lbs-cap-5-open-grid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-36-x-18-x-54-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-28 15:51:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-unit-30-inch-w-x-21-inch-d-x-74-inch-h-2000-lbs-cap-5-solid-shelves>: HTTP status code is not handled or not allowed 2026-01-28 15:51:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsv521-m-ansi-class-2-heavy-duty-surveyor-vest-m>: HTTP status code is not handled or not allowed 2026-01-28 15:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-direct-drive-oil-less-air-compressor-15-gallon-hot-dog-12v-075-hp>: HTTP status code is not handled or not allowed 2026-01-28 15:51:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10010036-lbl-dt-1-w-x-3-l-z-select-4000d-perforated-1-core-5-od>: HTTP status code is not handled or not allowed 2026-01-28 15:51:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-2-series-air-curtain-72-wide-unheated-208-230v-1-ph-obsidian-black>: HTTP status code is not handled or not allowed 2026-01-28 15:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x60x68-metromax-cart>: HTTP status code is not handled or not allowed 2026-01-28 15:51:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/burglary-file-safe-cabinet-1-hr-factory-fire-rating-digital-lock-32w-x-22d-x-59h>: HTTP status code is not handled or not allowed 2026-01-28 15:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tumbler-12-oz-medical>: HTTP status code is not handled or not allowed 2026-01-28 15:51:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-quick-mount-barricade-18l-yellow-retractable-belt-universal-mount>: HTTP status code is not handled or not allowed 2026-01-28 15:51:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-corner-support-for-hutch-15w-x-15d-x-18h-mocha>: HTTP status code is not handled or not allowed 2026-01-28 15:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-frl-n33452w-gauge-metal-bowl-wsight-manual-ultra-fog-lubricator>: HTTP status code is not handled or not allowed 2026-01-28 15:51:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fitted-sheet-extra-heavy-duty-fluid-resistant-74-x-30-x-22-lt--blue-5-bag-20-bag-case>: HTTP status code is not handled or not allowed 2026-01-28 15:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medina-63w-right-curved-desk-return-with-pencil-box-file-pedestal-gray-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:51:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-frl-n33453-gauge-poly-bowl-manual>: HTTP status code is not handled or not allowed 2026-01-28 15:51:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-modular-frl-wend-ports-c33352w-gauge-metal-bowl-wsight-manual-fog-lubricator>: HTTP status code is not handled or not allowed 2026-01-28 15:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-modular-frl-wo-end-ports-d33352w-gauge-metal-bowl-wsight-manual-fog-lubr>: HTTP status code is not handled or not allowed 2026-01-28 15:51:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-white-cross-plaster-bandage-4-x-5-yards-12-box>: HTTP status code is not handled or not allowed 2026-01-28 15:51:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-modular-fr-lubricator-wend-ports-vc70352-gauge-poly-bowl-manual-osha-valve>: HTTP status code is not handled or not allowed 2026-01-28 15:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versatile-4c-mailbox-4c06d-04-23-14h-4-mailboxes-1-parcel-front-loading-silver-usps>: HTTP status code is not handled or not allowed 2026-01-28 15:51:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-modular-fr-lubricator-wo-end-ports-d70352w-gauge-metal-bowl-wsight-manual>: HTTP status code is not handled or not allowed 2026-01-28 15:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filterregulator-pa211300av-50-scfm-250-max-psi-27-fl-oz>: HTTP status code is not handled or not allowed 2026-01-28 15:51:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versatile-4c-horizontal-mailbox-4c16s-3p-56-12h-3-parcel-front-loading-beige-usps>: HTTP status code is not handled or not allowed 2026-01-28 15:51:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-receiver-surge-tank-ar8028-horizontal-30-gal>: HTTP status code is not handled or not allowed 2026-01-28 15:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-blueprint-stand-bundle-w-dozen-pivot-hangers-dozen-42-print-clamps>: HTTP status code is not handled or not allowed 2026-01-28 15:51:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/florence-4b-horizontal-mailbox-140055pla-28-h-20-mailboxes-1-parcel-front-loading-usps>: HTTP status code is not handled or not allowed 2026-01-28 15:51:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skin-protekt-geri-sleeve-large-25-pcs>: HTTP status code is not handled or not allowed 2026-01-28 15:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/florence-4b-horizontal-mailbox-140075oua-38-1316-h-30-mailbox-1-outgoing-front-loading-usps>: HTTP status code is not handled or not allowed 2026-01-28 15:51:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octagonal-sledge-hammer-1435g-4lb-head-10-hickory-handle>: HTTP status code is not handled or not allowed 2026-01-28 15:51:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x24x79-metro-q-cart>: HTTP status code is not handled or not allowed 2026-01-28 15:51:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-basket-truck-with-vinyl-liner-8-bushel-green>: HTTP status code is not handled or not allowed 2026-01-28 15:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-basket-truck-with-vinyl-liner-16-bushel-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/povidone-iodine-swabsticks-250-pcs>: HTTP status code is not handled or not allowed 2026-01-28 15:51:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-tamper-resistant-insert-bit-23014-1-4-drive-t10-tip>: HTTP status code is not handled or not allowed 2026-01-28 15:51:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-tamper-resistant-insert-bit-23026-1-4-drive-t25-tip>: HTTP status code is not handled or not allowed 2026-01-28 15:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-petrolatum-1-oz-tube-pack-of-72>: HTTP status code is not handled or not allowed 2026-01-28 15:51:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-hulk-plastic-stackable-storage-bin-qus998mob-23-78-x-35-78-x-17-12-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sensi-wrap-self-adherent-bandage-rolls-2w-x-5-yards-assorted-36-pcs>: HTTP status code is not handled or not allowed 2026-01-28 15:51:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-quiet-oil-free-air-compressor-with-sound-proof-cabinet-10-gal-vertical>: HTTP status code is not handled or not allowed 2026-01-28 15:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-coat-locker48w-x-1d-x-4h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-28 15:51:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abdominal-binder-x-large-fits-42-x-48-waist-12h-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-tray-mobile-cubbie-w-clear-trays-48w-x-15d-x-35-1-2h-birch-plywood>: HTTP status code is not handled or not allowed 2026-01-28 15:51:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cervical-collar-3-high-medium-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:51:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-tray13-1-2l-x-11w-x-3h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubbie-tote-tray-13-1-2l-x-8-5-8w-x-5-1-4h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:51:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dynaride-wheelchair-convertible-detachable-desk-arm-foot-rest-18w-seat>: HTTP status code is not handled or not allowed 2026-01-28 15:51:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-sheet-panel-truck-36-x-72>: HTTP status code is not handled or not allowed 2026-01-28 15:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-storage-locker-w-adjustable-center-shelf-mesh-sides-49w-x-27d-x-52h>: HTTP status code is not handled or not allowed 2026-01-28 15:51:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18l-synthetic-absorbable-sutures-c3-needle-violet-size-4-to-0-12-pcs>: HTTP status code is not handled or not allowed 2026-01-28 15:51:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18l-braided-non-absorbable-silk-sutures-c6-needle-black-size-3-to-0-12-pcs>: HTTP status code is not handled or not allowed 2026-01-28 15:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sb-line-set-239-0007-1-4-inch-od-x-5-8-inch-od-x-25-ft-ctk145825>: HTTP status code is not handled or not allowed 2026-01-28 15:51:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-free-standing-undercounter-refrigerator-abt-ucfs-0204g-2-3-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 15:51:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12oz-hs-shredder-oil-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-3d-printer-filament-pla-1-kg-175-mm-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:51:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-concrete-washout-berm-economy-model-48-inch-x-48-inch-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-pain-relief-red-regular>: HTTP status code is not handled or not allowed 2026-01-28 15:51:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 121719 pages (at 97 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:51:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-pak-vsl-0836b-temp-pak-includes-low-profile-8-x-36-tempered-glass>: HTTP status code is not handled or not allowed 2026-01-28 15:51:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-replacement-foam-foam-wall-berm-4-feet-20-mil-pvc-green>: HTTP status code is not handled or not allowed 2026-01-28 15:51:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-pak-vsl-0627b-temp-pak-includes-low-profile-6-x-27-tempered-glass>: HTTP status code is not handled or not allowed 2026-01-28 15:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/massage-ball-9-cm-3-6-red-1-each>: HTTP status code is not handled or not allowed 2026-01-28 15:51:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-low-profile-beveled-slimline-vision-lite-vsl0630b-6-x-30-bronze>: HTTP status code is not handled or not allowed 2026-01-28 15:51:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-door-louver-800a12412b-inverted-y-blades-50-free-area-24-x-12-bronze>: HTTP status code is not handled or not allowed 2026-01-28 15:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/firerated-door-louver-1900a2424b-adjustable-zblade-selfattach-24-x-24-bronze>: HTTP status code is not handled or not allowed 2026-01-28 15:52:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-led-light-bulb-non-dimmable-14-watt-1500-lumens-medium-base-cool-white-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-drop-box-with-adjustable-chute-keyed-lock-mdl-170-12-x-6-x-16-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:52:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-electronic-burglary-safe-with-electronic-lock-hd-53-14-78-x-14-14-x-20-78-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:52:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sl-led-standard-light-bulb-6w-450-lumens-medium-base-dimmable-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:52:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-loading-depository-safe-with-electronic-lock-hd-9150d-19-34-x-17-58-x-32-58-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/through-the-door-depository-drop-box-with-tubular-key-lock-wsr-162-10-x-9-38-x-15-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:52:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contender-blended-kevlar-steel-glove-w-reinforced-thumb-preshrunk-ansi-a7-2xl>: HTTP status code is not handled or not allowed 2026-01-28 15:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-model-1-4-life-size-muscle-figure-2-part>: HTTP status code is not handled or not allowed 2026-01-28 15:52:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eveleen-outdoor-rectangular-bistro-table-55w-x-32d-x-41h-mocha-polymer-top-aluminum-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:52:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-stage-micrometer-calibration-slide-w-scales-microscope-4-pc>: HTTP status code is not handled or not allowed 2026-01-28 15:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-led-digital-binocular-compound-microscope-40x-2500x-mag-w-3d-stage-w-1-3mp-usb-imager>: HTTP status code is not handled or not allowed 2026-01-28 15:52:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anatomical-chart-sports-injuries-paper>: HTTP status code is not handled or not allowed 2026-01-28 15:52:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mc-midi-tube-cutter-for-3-8-inch-to-1-1-8-inch-o-d-tubing>: HTTP status code is not handled or not allowed 2026-01-28 15:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/information-sign-uss4760-century-employees-only-9w-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 15:52:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trash-grabber-32-in-l>: HTTP status code is not handled or not allowed 2026-01-28 15:52:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ktools-tradesman-pro-modular-piping-tool-pouch-with-belt-clip-black>: HTTP status code is not handled or not allowed 2026-01-28 15:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ktools-deluxe-tool-bag-black-canvas-13-pockets-18-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:52:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/desk-mount-cable-anchor-kmw64613-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printing-calculator-cnmmp21dx-12-digit-fluorescent-screen-power-adapter-or-ac-supply-power>: HTTP status code is not handled or not allowed 2026-01-28 15:52:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-174-stainless-steel-pass-through-specimen-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 15:52:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cd-recordable-media-max648210-cd-r-media-40x-speed-700-mb-capcity>: HTTP status code is not handled or not allowed 2026-01-28 15:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cd-recordable-media-ver95252-cd-r-media-52x-speed-700-mb-capcity>: HTTP status code is not handled or not allowed 2026-01-28 15:52:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dvd-recordable-media-ver95311-dvdr-dl-media-8x-speed-850-gb-capcity>: HTTP status code is not handled or not allowed 2026-01-28 15:52:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/password-protected-usb-flash-drive-ccs26464-4-gb-storage-capcity-black>: HTTP status code is not handled or not allowed 2026-01-28 15:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dvd-recordable-media-ver95101-dvd-r-media-16x-speed-470-gb-capcity>: HTTP status code is not handled or not allowed 2026-01-28 15:52:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-two-eye-tie-work-sneaker-breathable-knit-textile-leather-blue-tan-8w>: HTTP status code is not handled or not allowed 2026-01-28 15:52:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inner-ring-for-shell-type-needle-roller-bearing-metric-20mm-bore-24mm-od-165mm-width>: HTTP status code is not handled or not allowed 2026-01-28 15:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-three-quarter-smooth-leather-cognac-13d>: HTTP status code is not handled or not allowed 2026-01-28 15:52:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26329-cobalt-drill-bit-29-piece-set-135-1-16-to-1-2-by-64ths>: HTTP status code is not handled or not allowed 2026-01-28 15:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-slip-on-boat-shoe-smooth-leather-cognac-7d>: HTTP status code is not handled or not allowed 2026-01-28 15:52:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75212-mounted-grinding-point-metal-a5>: HTTP status code is not handled or not allowed 2026-01-28 15:52:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75216-mounted-grinding-point-metal-w220>: HTTP status code is not handled or not allowed 2026-01-28 15:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75547-depressed-center-grinding-wheel-metal-grinding-5-x-1-4-arbor-7-8>: HTTP status code is not handled or not allowed 2026-01-28 15:52:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-filterregulator-lubricator-upwl6-34-npt-3000-flow-lmin>: HTTP status code is not handled or not allowed 2026-01-28 15:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75004-resin-fiber-disc-3-pak-7-8-arbor-50-grit-4-1-2>: HTTP status code is not handled or not allowed 2026-01-28 15:52:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-oxford-knit-black-7-5eee>: HTTP status code is not handled or not allowed 2026-01-28 15:52:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/79150-polishing-bonnet-nap-thickness-5-8-5>: HTTP status code is not handled or not allowed 2026-01-28 15:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-dual-layer-stretch-mesh-upper-black-dark-grey-11m>: HTTP status code is not handled or not allowed 2026-01-28 15:52:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75863-grinding-wheel-6-x-3-4-universal-arbor-grit-fine>: HTTP status code is not handled or not allowed 2026-01-28 15:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-dual-layer-stretch-mesh-upper-black-dark-grey-11w>: HTTP status code is not handled or not allowed 2026-01-28 15:52:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss316-66006x02-34x14-class-150-hex-bushing-stainless-steel-316>: HTTP status code is not handled or not allowed 2026-01-28 15:52:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-ultraknit-flexweave-grey-white-7w>: HTTP status code is not handled or not allowed 2026-01-28 15:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss304-69020-2-class-150-union-stainless-steel-304>: HTTP status code is not handled or not allowed 2026-01-28 15:52:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbk-athletic-work-shoe-dual-layer-stretch-mesh-upper-black-dark-grey-11-54e>: HTTP status code is not handled or not allowed 2026-01-28 15:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss316-63714-1-12-class-150-cap-stainless-steel-316>: HTTP status code is not handled or not allowed 2026-01-28 15:52:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-waterproof-leather-brown-7-5m>: HTTP status code is not handled or not allowed 2026-01-28 15:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-electric-upholstered-tilt-table-78l-x-28w-x-32h>: HTTP status code is not handled or not allowed 2026-01-28 15:52:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-slip-on-boat-shoe-smooth-leather-cognac-16d>: HTTP status code is not handled or not allowed 2026-01-28 15:52:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-lamp-infrared-single-row-suspension-bar-7-bulb-120v-6006-7>: HTTP status code is not handled or not allowed 2026-01-28 15:52:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-board-for-parallel-bars-with-platform-10l>: HTTP status code is not handled or not allowed 2026-01-28 15:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-lamp-infrared-portable-counter-unit-6-bulb-120v-6008-6>: HTTP status code is not handled or not allowed 2026-01-28 15:52:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-glass-mirror-with-mobile-caster-base-3-panel-28w-x-75h-panels>: HTTP status code is not handled or not allowed 2026-01-28 15:52:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-waterproof-work-boot-waterproof-leather-brown-10w>: HTTP status code is not handled or not allowed 2026-01-28 15:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-works-two-eye-tie-work-sneaker-breathable-knit-textile-leather-blue-tan-14w>: HTTP status code is not handled or not allowed 2026-01-28 15:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fl-casual-work-three-quarter-smooth-leather-cognac-10eee>: HTTP status code is not handled or not allowed 2026-01-28 15:52:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/post-top-merchandising-bowl-80-939bwl-f13-set-13-belt-w-sign-holder>: HTTP status code is not handled or not allowed 2026-01-28 15:52:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-swivel-sign-frame-50-1141sv-s-mb-8-5-x-11-for-7-posts-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 15:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ia-6-inch-wedge-work-boot-leather-brown-11w>: HTTP status code is not handled or not allowed 2026-01-28 15:52:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hbb-power-vented-unit-heater-aluminized-steel-exchanger-150000-btu>: HTTP status code is not handled or not allowed 2026-01-28 15:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h50028-2001-portable-glove-box-system-with-2-gas-ports-gloves-and-clamping-rings>: HTTP status code is not handled or not allowed 2026-01-28 15:52:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hospitality-basic-ironing-board-53-l-x-13-w-white-blue-ibtacdsf02>: HTTP status code is not handled or not allowed 2026-01-28 15:52:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-all-purpose-scrubbing-dish-wand-w-scrub-brush-pky-qty-6-1136>: HTTP status code is not handled or not allowed 2026-01-28 15:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clearview-storage-box-with-latched-lid-17551706-32-qt-23-5-8l-x-16-3-8w-x-6-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 15:52:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1588-2a-premium-locker-double-tier-15x18x36-2-doors-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 15:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-gallon-instant-powder-mix-assorted-packages>: HTTP status code is not handled or not allowed 2026-01-28 15:52:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64-oz-liquid-concentrate-lemon-lime>: HTTP status code is not handled or not allowed 2026-01-28 15:52:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-oz-widemouth-bottles-strawberry-lemonade>: HTTP status code is not handled or not allowed 2026-01-28 15:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1482-4wm-premium-locker-4-person-wall-unit-12x18x14-3-4-ready-to-assemble-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:52:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmb-sample-pans-disposable-pack-of-250-307140001>: HTTP status code is not handled or not allowed 2026-01-28 15:52:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tough-task-citrus-remover-32-oz-trigger-spray-bottle-kc32-4>: HTTP status code is not handled or not allowed 2026-01-28 15:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3518-2a-premium-locker-double-tier-15x21x36-6-doors-assembled-parchment>: HTTP status code is not handled or not allowed 2026-01-28 15:52:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3286-5a-premium-locker-five-tier-12x18x12-15-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-products-microfiber-economy-cloth-16-x-16-green-polyester-nylon-green>: HTTP status code is not handled or not allowed 2026-01-28 15:52:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-concentrated-cleaner-degreaser-55-gallon-drum-kk55>: HTTP status code is not handled or not allowed 2026-01-28 15:52:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u1256-5-premium-locker-five-tier-12x15x12-5-doors-ready-to-assemble-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zone-defense-orange-hppe-shell-cut-resistant-gloves-wblack-polyurethane-palm-coat-medium>: HTTP status code is not handled or not allowed 2026-01-28 15:52:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/awa282-111-gym-pe-locker-single-tier-36x18x72-assembled>: HTTP status code is not handled or not allowed 2026-01-28 15:52:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-72w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uy3818-1a-maintenance-free-quiet-locker-single-tier-18x21x72-3-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:52:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelf-basket-starter-unit-48w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-add-on-unit-36w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:52:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/u3258-1hv-a-heavy-duty-ventilated-locker-single-tier-12x15x72-3-doors-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:52:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-add-on-unit-48w-x-30d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:52:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-2-tier-wire-shelving-starter-unit-48w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cant-hook-handle-w-029-048-0327-hardwood-48>: HTTP status code is not handled or not allowed 2026-01-28 15:52:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-chrome-3-tier-wire-shelving-starter-unit-30w-x-24d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 15:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/182181-segmented-narcotics-cabinet-v-viii-4-compartments-17-3-4w-9d-4-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 15:52:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-retractable-plunger-w-lock-out-zinc-body-zinc-nose-1-5lbs-pressure-58-11-thread>: HTTP status code is not handled or not allowed 2026-01-28 15:52:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-washer-dryer-combo-unit-24-inch-wide-115v-for-non-vented-use-white>: HTTP status code is not handled or not allowed 2026-01-28 15:52:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 121815 pages (at 96 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sa-washer-14-wash-programs-24-inch-wide-208-240v-built-in-freestand-use-white>: HTTP status code is not handled or not allowed 2026-01-28 15:52:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-ton-air-hydraulic-floor-jack-telescoping-arm-standard-duty>: HTTP status code is not handled or not allowed 2026-01-28 15:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-power-supply-psh75a75ab10-enclosed-dual-75va-multi-tap-24vac-10a-breaker>: HTTP status code is not handled or not allowed 2026-01-28 15:52:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-power-supply-psh100a100ab10-enclosed-dual-100va-120-24vac-10a-breaker>: HTTP status code is not handled or not allowed 2026-01-28 15:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enclosed-split-core-ac-sensor-ribxgtf-fixed-35-150a-30vac-dc-terminals>: HTTP status code is not handled or not allowed 2026-01-28 15:52:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-power-supply-psmn300a-modular-3-100va-multi-tap-120-240-277-480-24vac>: HTTP status code is not handled or not allowed 2026-01-28 15:52:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oralite-36-inch-x-36-inch-super-bright-vivid-orange-roll-up-sign-worker-symbol>: HTTP status code is not handled or not allowed 2026-01-28 15:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/109-jobmaster-cabinet-475-cu-ft-steel-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:53:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/track-mount-relay-ribmn2401d-275-10a-dpdt-24vac-dc-120vac>: HTTP status code is not handled or not allowed 2026-01-28 15:53:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/luvraflex-chair-poly-back-padded-seat-black-blue-chrome-frame>: HTTP status code is not handled or not allowed 2026-01-28 15:53:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flap-disc-dw8351-type-27-4-1-2-x-7-8-40-grit-13300-rpm-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40w-uv-replacement-bulb-bf130>: HTTP status code is not handled or not allowed 2026-01-28 15:53:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40w-uv-replacement-shatter-proof-bulb-bf150sp>: HTTP status code is not handled or not allowed 2026-01-28 15:53:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octenol-mosquito-attractant-ma1000-6>: HTTP status code is not handled or not allowed 2026-01-28 15:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-standing-36-l-x-24-w-x-34-to-42-height-workstation-black-granite>: HTTP status code is not handled or not allowed 2026-01-28 15:53:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-marking-tape-blue-plus-shape-25pkg>: HTTP status code is not handled or not allowed 2026-01-28 15:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-12-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-red>: HTTP status code is not handled or not allowed 2026-01-28 15:53:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-12-bushel-vinyl-bumper-truck-2-rigid-2-swivel-casters-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:53:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuff-mark-tape-yellow-black-3w-x-100l-roll>: HTTP status code is not handled or not allowed 2026-01-28 15:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-12-bushel-vinyl-bumper-truck-all-swivel-casters-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:53:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-14-bushel-antimicrobial-vinyl-basket-truck-w-antimicrobial-bumper-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-hard-hat-and-coat-rack-5004-14-1-4l-2w-23h>: HTTP status code is not handled or not allowed 2026-01-28 15:53:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-14-bushel-antimicrobial-vinyl-basket-truck-all-swivel-casters-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watertight-case-with-foam-e120-9-5-8x8-1-2x4-5-8>: HTTP status code is not handled or not allowed 2026-01-28 15:53:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-2-compartment-white-hair-net-beard-cover-shoe-cover-arm-protector-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 15:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-boot-etractor-1111-9-3-4l>: HTTP status code is not handled or not allowed 2026-01-28 15:53:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-mfg-single-top-loading-plastic-horizontal-glove-bo-dispenser-5101-5-3-4d>: HTTP status code is not handled or not allowed 2026-01-28 15:53:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rbwp-16-bushel-antimicrobial-basket-w-antimicrobial-bumper-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:53:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bath-fan-kit-pb110-120v-1-ph-110-cfm-4-inline-duct-fan-non-lighted-grille-box>: HTTP status code is not handled or not allowed 2026-01-28 15:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-roof-ventilator-direct-drive-downblast-5ddd13db-1-2-hp-115-230v-1-ph-2223-cfm-odp>: HTTP status code is not handled or not allowed 2026-01-28 15:53:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gs-filter-pipette-tip-1-20ul-universal-low-retention-graduated-50mm>: HTTP status code is not handled or not allowed 2026-01-28 15:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-safety-netting-for-96-in-bay-j-hook-attachment-330-lbs-black>: HTTP status code is not handled or not allowed 2026-01-28 15:53:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-ft-outdoor-bench-backless-vertical-steel-slat-black>: HTTP status code is not handled or not allowed 2026-01-28 15:53:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-28-gpf-elongated-bowl-toilet-17-3-16-inch-w-x-28-5-16-inch-d-x-29-inch-h-colonial-white>: HTTP status code is not handled or not allowed 2026-01-28 15:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-6-gpf-round-bowl-toilet-17-3-16-inch-w-x-26-3-8-inch-d-x-30-1-8-inch-h-colonial-white>: HTTP status code is not handled or not allowed 2026-01-28 15:53:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-28-gpf-elongated-bowl-toilet-19-1-16-inch-w-x-28-3-8-inch-d-x-30-11-16-inch-h-cotton>: HTTP status code is not handled or not allowed 2026-01-28 15:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-1-6-gpf-elongated-bowl-toilet-17-3-16-inch-w-x-28-3-8-inch-d-x-30-1-8-inch-h-colonial-white>: HTTP status code is not handled or not allowed 2026-01-28 15:53:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/td-ii-1-28-gpf-elongated-bowl-toilet-17-1-4-inch-w-x-28-1-2-inch-d-x-30-inch-h-bone>: HTTP status code is not handled or not allowed 2026-01-28 15:53:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infra-red-heat-lamp-120v-250w-for-hatco-023006900>: HTTP status code is not handled or not allowed 2026-01-28 15:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinite-switch-240v-15a-for-star-2e-30562>: HTTP status code is not handled or not allowed 2026-01-28 15:53:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-height-adjustment-pins-for-gantry-cranes-set-of-2>: HTTP status code is not handled or not allowed 2026-01-28 15:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contactor-3-pole-30-40a-208-240v-for-imperial-35470>: HTTP status code is not handled or not allowed 2026-01-28 15:53:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shallow-round-end-45-gallon-steel-stock-tank>: HTTP status code is not handled or not allowed 2026-01-28 15:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flash-chef-high-speed-oven-066-cuft-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 15:53:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x2x6-round-end-150-gallon-poly-stock-tank>: HTTP status code is not handled or not allowed 2026-01-28 15:53:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reach-in-refrigerator-1-door-23-cuft-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duk-alta-all-weather-faux-rattan-5-ppl-seat-with-black-cushions>: HTTP status code is not handled or not allowed 2026-01-28 15:53:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-with-partial-window-60-1-4-w-x-61-1-2-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:53:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duk-lucca-5-piece-dining-set-black-with-gray-cushions>: HTTP status code is not handled or not allowed 2026-01-28 15:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-amstron-ap6-4-6v-4-5ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:53:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-amstron-ap12-35-12v-35ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genoa-kneespace-credenza-quartered-mahogany-finish>: HTTP status code is not handled or not allowed 2026-01-28 15:53:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-power-patrol-sla1152-12v-26ah-sealed-lead-acid-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:53:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genoa-right-pedestal-return-dark-espresso-finish>: HTTP status code is not handled or not allowed 2026-01-28 15:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-temperature-strip-door-sd11-12-10x12-10w-x-12h-12-smooth-clear-pvc>: HTTP status code is not handled or not allowed 2026-01-28 15:53:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metkleen-2080-cleaner-fluid-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 15:53:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/run-capacitor-50-plus-7-5-mfd-440v-round>: HTTP status code is not handled or not allowed 2026-01-28 15:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/run-capacitor-70-plus-10-mfd-440v-round>: HTTP status code is not handled or not allowed 2026-01-28 15:53:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-blower-motor-1075-rpm-115v-1-4-hp>: HTTP status code is not handled or not allowed 2026-01-28 15:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/46-series-5-5-8h-4-urethane-polypropylene-wheel-w-cam-brake-roller-bearing-swivel-caster>: HTTP status code is not handled or not allowed 2026-01-28 15:53:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-apc-bn700mc-12v-9ah-ups-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:53:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/direct-drive-blower-motor-1075-rpm-230v-1-6-to-1-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 15:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blower-motor-1050-rpm-230v-1-2-to-1-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 15:53:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/comfort-multipoise-gas-furnace-135000-btu>: HTTP status code is not handled or not allowed 2026-01-28 15:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etac-ii-power-cord-for-universal-heater-58-l-19-amps>: HTTP status code is not handled or not allowed 2026-01-28 15:53:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/etac-ii-power-cord-for-universal-heater-58-l-14-amps>: HTTP status code is not handled or not allowed 2026-01-28 15:53:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-4-step-tilt-roll-ladder-expanded-metal-hl4nsp>: HTTP status code is not handled or not allowed 2026-01-28 15:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-6-step-tilt-roll-ladder-serrated-grating-hl6nsg>: HTTP status code is not handled or not allowed 2026-01-28 15:53:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800016-blk-6-opaque-plastic-pegboard-scan-hook-50-pack-black>: HTTP status code is not handled or not allowed 2026-01-28 15:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ajc-interstate-sec0905-sla-rechargable-6v-4-5ah-emergency-light-battery>: HTTP status code is not handled or not allowed 2026-01-28 15:53:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800074-blk-4-opaque-plastic-hook-50-pack-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:53:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dti-coverall-bound-seams-elastic-wrists-ankles-white-3x-25-qty>: HTTP status code is not handled or not allowed 2026-01-28 15:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dti-coverall-bound-seams-elastic-wrists-ankles-white-lg-25-qty>: HTTP status code is not handled or not allowed 2026-01-28 15:53:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handheld-cleaning-pad-holder-4-1-2in-x-10in-gray-gjo20060>: HTTP status code is not handled or not allowed 2026-01-28 15:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trigger-sprayer-chemical-resistant-28mm-yellow-24-case-gjo85145>: HTTP status code is not handled or not allowed 2026-01-28 15:53:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lnr-xtd-200-waste-oil-heater-pkg-6-inch-chimney-roof-kit-215-gallon-tank-200000-btu>: HTTP status code is not handled or not allowed 2026-01-28 15:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lnr-xt-250-waste-oil-heater-pkg-8-inch-chimney-wall-kit-215-gallon-tank-250000-btu>: HTTP status code is not handled or not allowed 2026-01-28 15:53:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/605fl-wall-mount-sinks-with-faucet-nsfansi-372>: HTTP status code is not handled or not allowed 2026-01-28 15:53:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-arc-flash-construction-harness-w-dielectric-pass-thru-legs-back-hip-d-rings-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/605d-wall-mount-sink-with-double-knee-pedal-valve>: HTTP status code is not handled or not allowed 2026-01-28 15:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-builders-grip-anchor-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:53:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56f1-3-person-floor-mount-wash-station-with-single-foot-pedal-valves>: HTTP status code is not handled or not allowed 2026-01-28 15:53:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252050-vertical-countertop-sign-holder-w-business-card-pocket-8-5-x-11-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:53:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wern-cable-choker-8-feet-l-o-ring-5-16-inch-vinyl-coated-cable>: HTTP status code is not handled or not allowed 2026-01-28 15:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-4754-fixed-window-guard-22-38w-x-15h-3-bar-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:53:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/amscope-0-5x-c-mount-reduction-lens-mu-series-cameras>: HTTP status code is not handled or not allowed 2026-01-28 15:53:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mail-boss-epoch-wall-mount-locking-drop-box-7413-11-14w-x-4-34d-x-16-14h-galaxy>: HTTP status code is not handled or not allowed 2026-01-28 15:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/556107-5-wide-cube-bin-for-pegboard-slatwall-acrylic-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:53:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/556118-large-bucket-for-pegboard-slatwall-7-5-x-9-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/556128-small-display-bucket-w-c-channel-for-pegboard-slatwall-7-5-x-9-clear>: HTTP status code is not handled or not allowed 2026-01-28 15:53:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700508-blk-revolving-pegboard-countertop-display-unit-8-x-20-black>: HTTP status code is not handled or not allowed 2026-01-28 15:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701464-wht-4-sided-interlocking-pegboard-floor-display-14-x-60-white-opaque>: HTTP status code is not handled or not allowed 2026-01-28 15:53:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-508l-royal-series-deck-mount-space-saver-pre-rinse-w-add-on-faucet-8-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 15:53:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/771322-clr-pegboard-wall-panel-13-5-x-22-clear-opaque>: HTTP status code is not handled or not allowed 2026-01-28 15:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-s485-uvex-clear-174-lens-cleaning-station-anti-fog-glasses>: HTTP status code is not handled or not allowed 2026-01-28 15:53:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252922-50pk-countertop-tri-fold-brochure-holder-w-card-pocket>: HTTP status code is not handled or not allowed 2026-01-28 15:53:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700451-gre-three-sided-spinning-pegboard-w-wheels-16-x-60-green-opaque>: HTTP status code is not handled or not allowed 2026-01-28 15:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-706l-royal-series-8-space-saver-pre-rinse-w-faucet-6-spout-wall-mount-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 15:53:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-544l-single-self-closing-metering-lavatory-faucet>: HTTP status code is not handled or not allowed 2026-01-28 15:53:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 121914 pages (at 99 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:53:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/701465-pnk-4-sided-interlocking-pegboard-floor-display-w-wheels-14-x-60-pink>: HTTP status code is not handled or not allowed 2026-01-28 15:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-wall-or-ceiling-mount-fan-w-drop-cord-switch-2-speed-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:53:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-116l-commercial-series-single-pantry-faucet-6-gooseneck-spout-low-lead>: HTTP status code is not handled or not allowed 2026-01-28 15:53:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-overhead-stirrer-200-ncm-digital-115v-60hz>: HTTP status code is not handled or not allowed 2026-01-28 15:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/703388-blk-4-sided-interlocking-pegboard-display-w-wheels-8-x-40-black-solid>: HTTP status code is not handled or not allowed 2026-01-28 15:53:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vs-fc6s-flocculator-100-240v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-28 15:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/275-piece-sheet-metal-tapping-screw-assortment-6-to-14-phillips-oval-head-zinc-plated>: HTTP status code is not handled or not allowed 2026-01-28 15:54:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/771360-blk-pegboard-wall-panel-13-5-x-60-black-solid>: HTTP status code is not handled or not allowed 2026-01-28 15:54:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/450-piece-plastic-anchor-sheet-metal-screw-assortment-8-to-16>: HTTP status code is not handled or not allowed 2026-01-28 15:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/185-piece-fender-washer-assortment-8-to-1-2-grade-2-zinc>: HTTP status code is not handled or not allowed 2026-01-28 15:54:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keystock-7-16-x-1-2-x-3-ft-carbon-steel-plain-undersize-astm-a29>: HTTP status code is not handled or not allowed 2026-01-28 15:54:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyn-slope-top-hood-for-locker-18-inch-w-x-18-inch-d-gray-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 15:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keystock-1-4-x-1-4-x-1-ft-316-stainless-steel-plain-undersize-astm-a484>: HTTP status code is not handled or not allowed 2026-01-28 15:54:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keystock-1-8-x-1-8-x-3-ft-316-stainless-steel-plain-undersize-astm-a484>: HTTP status code is not handled or not allowed 2026-01-28 15:54:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyn-closed-style-front-base-for-locker-18-inch-w-x-6-inch-h-gray-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 15:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keystock-5-16-x-5-16-x-3-ft-316-stainless-steel-plain-undersize-astm-a484>: HTTP status code is not handled or not allowed 2026-01-28 15:54:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/771360-org-pegboard-wall-panel-13-5-x-60-orange-opaque>: HTTP status code is not handled or not allowed 2026-01-28 15:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/771360-pnk-pegboard-wall-panel-13-5-x-60-pink-opaque>: HTTP status code is not handled or not allowed 2026-01-28 15:54:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-magnetic-base-stand-w-176-lbs-holding-power>: HTTP status code is not handled or not allowed 2026-01-28 15:54:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/igg-absolute-origin-indicator-w-remote-readout-0-0005-inch-accuracy>: HTTP status code is not handled or not allowed 2026-01-28 15:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-10x20-4-wall-3-lgt-4-dplx-1-dr-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:54:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-10x20-2-wall-3-lgt-4-dplx-1-dr-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:54:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-heavy-duty-super-cover-poly-tarp-sth68-10-mil-silverblack-6l-x-8w>: HTTP status code is not handled or not allowed 2026-01-28 15:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-heavy-duty-super-cover-poly-tarp-sth1216-10-mil-silverblack-12l-x-16w>: HTTP status code is not handled or not allowed 2026-01-28 15:54:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-10x20-3-wall-3-lgt-4-dplx-1-dr-wht>: HTTP status code is not handled or not allowed 2026-01-28 15:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-heavy-duty-super-cover-poly-tarp-sth1620-10-mil-silverblack-16l-x-20w>: HTTP status code is not handled or not allowed 2026-01-28 15:54:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-heavy-duty-super-cover-poly-tarp-sth2040-10-mil-silverblack-20l-x-40w>: HTTP status code is not handled or not allowed 2026-01-28 15:54:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hygrade-blue-poly-tarp-mt4050-5-mil-40l-x-50w>: HTTP status code is not handled or not allowed 2026-01-28 15:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-16x16-2-wall-5-lgt-4-dplx-1-dr-gry>: HTTP status code is not handled or not allowed 2026-01-28 15:54:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-7-tool-combo-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:54:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-pntd-steel-drywall-10x12-2-wall-3-lgt-2-dplx-1-dr-gry>: HTTP status code is not handled or not allowed 2026-01-28 15:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-cordless-string-trimmer-tool-13-cut-dia>: HTTP status code is not handled or not allowed 2026-01-28 15:54:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-10x12-4-wall-3-lgt-2-dplx-1-dr-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-8x12-4-wall-2-lgt-2-dplx-1-dr-white>: HTTP status code is not handled or not allowed 2026-01-28 15:54:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20v-max-lithium-ion-combo-kit-15-ah-dck280c2-2-tool-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-10x16-3-wall-3-lgt-3-dplx-1-dr-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:54:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-hdbd-16x20-2-wall-5-lgts-6-dplx-1-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:54:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-office-partition-panel-with-partial-window-48-1-4w-x-64h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-12x20-2-wall-4-lgt-5-dplx-1-dr-white>: HTTP status code is not handled or not allowed 2026-01-28 15:54:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-office-partition-panel-with-partial-window-48-1-4w-x-76h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inplant-office-vinyl-cov-drywall-12x20-4-wall-4-lgt-5-dplx-1-dr-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:54:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-green-wire-ledge-48-x-4>: HTTP status code is not handled or not allowed 2026-01-28 15:54:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mr-chain-2-inch-light-duty-stowable-stanchion-41-inch-h-safety-orange-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 15:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-film-16-x-1500-65-gauge-clear-hand-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 15:54:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/circuit-board-shipping-and-storage-box-no-foam-28-3-8l-x-24-3-4w-x-4-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 15:54:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastek-esd-open-bin-box-6w-x-24d-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 15:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-aluminum-rolling-ladder-24inw-ribbed-tread-21ind-top-step-w-o-handrails>: HTTP status code is not handled or not allowed 2026-01-28 15:54:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-aluminum-rolling-ladder-16inw-ribbed-tread-28ind-top-step-w-o-handrails>: HTTP status code is not handled or not allowed 2026-01-28 15:54:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-step-aluminum-rolling-ladder-24inw-ribbed-tread-28ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-28 15:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-aluminum-rolling-ladder-24inw-grip-tread-28ind-top-step-32in-handrails>: HTTP status code is not handled or not allowed 2026-01-28 15:54:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breeze-side-chair-fs8270-black-fabric-non-adjustable-arms>: HTTP status code is not handled or not allowed 2026-01-28 15:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-ldpe-500ml-capacity-methyl-ethyl-ketone-6-pk-green-cap-wide-mouth>: HTTP status code is not handled or not allowed 2026-01-28 15:54:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipette-support-rack-189600000-polyethylene-12-places-white->: HTTP status code is not handled or not allowed 2026-01-28 15:54:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-bullet-standard-formula-rust-inhibitive-coating-gallon-can-1-rb14>: HTTP status code is not handled or not allowed 2026-01-28 15:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wash-bottle-116180016-ldpe-500ml-capacity-12-pk-natural-cap-narrow-mouth>: HTTP status code is not handled or not allowed 2026-01-28 15:54:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-bar-table-30-inches-x-30-inches-x-29-inches-with-gray-granite-top-and-black-cross-base>: HTTP status code is not handled or not allowed 2026-01-28 15:54:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-bar-table-30-inches-x-30-inches-x-29-inches-with-cherry-top-and-black-cross-base>: HTTP status code is not handled or not allowed 2026-01-28 15:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-exercise-putty-red-soft-4-ounce>: HTTP status code is not handled or not allowed 2026-01-28 15:54:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-farmingdale-acanthus-corbel-cor08x06x14frlw-8w-x-612d-x-15h>: HTTP status code is not handled or not allowed 2026-01-28 15:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shell-decorative-shelf-sh10x06x07sh-1038w-x-6d-x-738h>: HTTP status code is not handled or not allowed 2026-01-28 15:54:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-traditional-stair-bracket-sb08x05trr-8w-x-5h-x-12d>: HTTP status code is not handled or not allowed 2026-01-28 15:54:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-exercise-putty-yellow-5-pound-x-soft>: HTTP status code is not handled or not allowed 2026-01-28 15:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/side-panel-22237-for-24d-extra-wide-designer-wood-locker-without-sloping-hood-maple>: HTTP status code is not handled or not allowed 2026-01-28 15:54:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-wood-locker-31358-single-tier-3-wide-12w-x-18d-x-60h-cherry-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 15:54:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b1c18x18x-utility-sink-1compartment-w-18l-x-18w-bowl-12-deep>: HTTP status code is not handled or not allowed 2026-01-28 15:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-toolboard-double-sided-perfo-panel-39w-6-panel-add-on>: HTTP status code is not handled or not allowed 2026-01-28 15:54:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gel-hand-exercise-ball-small-circular-yellow-x-soft>: HTTP status code is not handled or not allowed 2026-01-28 15:54:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-plus-foam-roller-6-dia-x-36l>: HTTP status code is not handled or not allowed 2026-01-28 15:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-pe-foam-roller-round-6-dia-x-12l>: HTTP status code is not handled or not allowed 2026-01-28 15:54:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-purple-soft>: HTTP status code is not handled or not allowed 2026-01-28 15:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-plastic-rack-only>: HTTP status code is not handled or not allowed 2026-01-28 15:54:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-exerciser-medium-green-moderate>: HTTP status code is not handled or not allowed 2026-01-28 15:54:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-chair-cycle-pedal-exerciser-with-adjustable-pedals>: HTTP status code is not handled or not allowed 2026-01-28 15:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/donut-ball-26-dia-x-14h-green-300-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:54:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-tool-storage-rack-120-piece-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 15:54:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-8482-72-16-outlet-aluminum-power-strip-with-6-cord>: HTTP status code is not handled or not allowed 2026-01-28 15:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ton-cap-aluminum-gantry-crane-8-ft-span-adj-height-6-6-min-9-0-max>: HTTP status code is not handled or not allowed 2026-01-28 15:54:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-ton-12-span-301-series-steel-wall-mounted-wall-bracket-jib-crane-tie-rod-design>: HTTP status code is not handled or not allowed 2026-01-28 15:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-stp-steel-safe-roll-lad-wgt-act-lock-24-w-serr-stp-org-wa113214g-o>: HTTP status code is not handled or not allowed 2026-01-28 15:54:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-stp-steel-safe-roll-lad-wgt-act-lock-24-w-serr-stp-org-wa083214g-o>: HTTP status code is not handled or not allowed 2026-01-28 15:54:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-stp-steel-safe-roll-lad-wgt-act-lock-24-w-serr-stp-org-wa063214g-o>: HTTP status code is not handled or not allowed 2026-01-28 15:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12694-or-back-to-back-horizontal-no-hub-o-ring-type-water-closet-carrier>: HTTP status code is not handled or not allowed 2026-01-28 15:54:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12704-or-single-vertical-left-hand-2-vent-no-hub-o-ring-type-water-closet-carrier>: HTTP status code is not handled or not allowed 2026-01-28 15:54:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30003-5a-z-3-no-hub-floor-drain-body-5-round-nikaloy-strainer>: HTTP status code is not handled or not allowed 2026-01-28 15:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hdpe-ground-protection-mat-4-x-8-black-am48>: HTTP status code is not handled or not allowed 2026-01-28 15:54:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dividers-for-8-inch-h-drawer-of-global-modular-drawer-cabinet-36-w-x-24-d-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:54:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dividers-for-10-inch-h-drawer-of-global-modular-drawer-cabinet-36-w-x-24-d-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesa-safe-hotel-residential-electronic-security-mh101e-keyed-differently-15-w-x-10-d-x-7-h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:54:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nsf-aluminum-lug-cart-23-l-x-15-1-2-w-x-19-h-1-tote-capacity-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 15:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibration-isolation-mounts-cylindrical-type-31-15-736-max-load>: HTTP status code is not handled or not allowed 2026-01-28 15:54:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-piece-dralon-woven-high-density-foam-mini-roller-paint-kit-6-case-612-wv6fq>: HTTP status code is not handled or not allowed 2026-01-28 15:54:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-x-1-4in-dralon-woven-mini-roller-cover-w-24in-frame-12-case-624-wv025>: HTTP status code is not handled or not allowed 2026-01-28 15:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-cart-11-bushel-4-wheel-10-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:54:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50071-3-slot-slanted-auto-pipettor-holder-5-w-x-8-h-x-7-d-white-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 15:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-plain-trolley-4000-lbs-capacity-plain>: HTTP status code is not handled or not allowed 2026-01-28 15:54:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122010 pages (at 96 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:54:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-geared-trolley-6000-lbs-capacity-geared>: HTTP status code is not handled or not allowed 2026-01-28 15:54:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/builders-hoist-bracket-for-obh500ng-and-obh1000ng>: HTTP status code is not handled or not allowed 2026-01-28 15:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-mixed-flow-duct-fan-6-galvanized-steel-291-cfm-energy-star>: HTTP status code is not handled or not allowed 2026-01-28 15:54:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-benchtop-muffle-furnace-with-a1-controller-1-3l-120v>: HTTP status code is not handled or not allowed 2026-01-28 15:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truck-rmtthd150-towable-forkliftable-heavy-duty-rotomolded-1-1-2-cuyd>: HTTP status code is not handled or not allowed 2026-01-28 15:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-professional-grade-38-air-impact-wrench-ega110>: HTTP status code is not handled or not allowed 2026-01-28 15:54:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a5-adjustable-arms-doral-integra-series>: HTTP status code is not handled or not allowed 2026-01-28 15:54:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-174-chill-its-174-6215hv-phase-change-cooling-vest-khaki-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 15:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-straight-with-carpet-96l-x-18w-x-24h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:55:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-level-tapered-riser-with-carpet-60l-x-18w-8h-16h-24h32h-black>: HTTP status code is not handled or not allowed 2026-01-28 15:55:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/starbrite-to-uni-snap-adapter-aluminum-metallic-sw66620>: HTTP status code is not handled or not allowed 2026-01-28 15:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/125-ml-flask-clip-for-precision-shaking-water-baths>: HTTP status code is not handled or not allowed 2026-01-28 15:55:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10ab-x-1-2-security-self-drilling-screw-pan-torx-head-410-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sewn-liquid-bag-filter-nylon-mesh-7-1-8-dia-x-16-1-2-l-300-micron-plastic-flange-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 15:55:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polyester-felt-7-1-8-x-16-1-2-100-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 15:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polyester-felt-7-1-8-x-16-1-2-10-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 15:55:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-x-1-security-cap-screw-flat-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:55:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-32-x-2-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-1-4-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:55:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-2-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-spanner-screwdriver>: HTTP status code is not handled or not allowed 2026-01-28 15:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-x-1-1-2-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:55:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25mm-prohold-balldriver-screwdriver-74654>: HTTP status code is not handled or not allowed 2026-01-28 15:55:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polypropylene-felt-7-1-8-d-x-16-1-2-l-50-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 15:55:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-liquid-bag-filter-polypropylene-felt-7-1-8-d-x-32-l-10-micron-plastic-flange-pkg-50>: HTTP status code is not handled or not allowed 2026-01-28 15:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-x-1-0-x-25mm-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-32-hex-l-wrench-long-13905>: HTTP status code is not handled or not allowed 2026-01-28 15:55:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-2-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 15:55:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-x-3-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-13-x-1-security-cap-screw-button-socket-head-18-8-stainless-steel-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:55:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-pass-thru-cable-60-1-4w-x-64h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:55:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-hollow-shaft-nut-driver-48413>: HTTP status code is not handled or not allowed 2026-01-28 15:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-pass-thru-cable-60-1-4w-x-65-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:55:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-pass-thru-cable-48-1-4w-x-65-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:55:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-pass-thru-cable-48-1-4w-x-76h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-panel-with-partial-window-and-raceway-36-1-4w-x-76h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:55:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-raceway-48-1-4w-x-77-1-2h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:55:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-with-partial-window-and-raceway-36-1-4w-x-77-1-2h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-28-x-1-2-security-machine-screw-button-torx-head-18-8-stainless-steel-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:55:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-office-partition-panel-with-partial-window-48-1-4-w-x-43-1-2-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-1-4-spanner-machine-screw-oval-head-brass-plain-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:55:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-40-tamperproof-torx-power-bit>: HTTP status code is not handled or not allowed 2026-01-28 15:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tamperproof-phillips-pin-head-bit>: HTTP status code is not handled or not allowed 2026-01-28 15:55:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-snap2-20-22-bk>: HTTP status code is not handled or not allowed 2026-01-28 15:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aberdeen-series-36-inch-freestanding-lateral-file-mocha>: HTTP status code is not handled or not allowed 2026-01-28 15:55:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-pair-gu305-for-5-conveyors-galvanized-steel-2-1-2h-x-1w-x-12ga>: HTTP status code is not handled or not allowed 2026-01-28 15:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/needle-valve-10mm-tube-x-3-8-metal-release-collet-knob-adjustmet>: HTTP status code is not handled or not allowed 2026-01-28 15:55:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/female-bulkhead-3-8-tube-x-3-8-nptf>: HTTP status code is not handled or not allowed 2026-01-28 15:55:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-hose-adapter-w-barb-20mm-x-1-2-taper>: HTTP status code is not handled or not allowed 2026-01-28 15:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-straight-roller-conveyor-5f05t06b51-51bf-2-5-8-roller-dia-6-axle-centers>: HTTP status code is not handled or not allowed 2026-01-28 15:55:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-bspp-poly-muffler-145-psi-75-micron-5-to-212-f>: HTTP status code is not handled or not allowed 2026-01-28 15:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a28ma-2c-two-stage-temperature-control-with-weatherproof-enclosure>: HTTP status code is not handled or not allowed 2026-01-28 15:55:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0559101-1-2-tempering-control-valve>: HTTP status code is not handled or not allowed 2026-01-28 15:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-steam-trap-0037111>: HTTP status code is not handled or not allowed 2026-01-28 15:55:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-42w-x-18d-x-14h-1-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:55:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-72w-x-18d-x-14h-1-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0555112-1-ball-valve>: HTTP status code is not handled or not allowed 2026-01-28 15:55:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gd-10-replacement-50-foot-power-cord>: HTTP status code is not handled or not allowed 2026-01-28 15:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelf-level-60w-x-14d-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:55:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10n25p05a-set-screw-w-full-ball-m10-x-15-thread-25mm-thread-length>: HTTP status code is not handled or not allowed 2026-01-28 15:55:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-stainless-steel-10mm-tube-x-1-2-swift-fit>: HTTP status code is not handled or not allowed 2026-01-28 15:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nilfisk-gwd-255-drum-two-inch-accessory-kit>: HTTP status code is not handled or not allowed 2026-01-28 15:55:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-60w-x-14d-x-34h-2-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:55:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-metal-release-collet-1-8-tube-x-10-32-unf-flow-out-screw-adjustment>: HTTP status code is not handled or not allowed 2026-01-28 15:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-square-seal-36inches-x-36inches>: HTTP status code is not handled or not allowed 2026-01-28 15:55:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-rectangular-seal-plus-36inches-x-58inches>: HTTP status code is not handled or not allowed 2026-01-28 15:55:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heraeus-pico-17-ventilated-microcentrifuge-75002492-120v-60hz>: HTTP status code is not handled or not allowed 2026-01-28 15:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-30w-x-24d-x-34h-2-shelf-starter-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:55:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-stainless-steel-10mm-tube-x-3-8-swift-it>: HTTP status code is not handled or not allowed 2026-01-28 15:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-stirring-hotplate-4-4-ceramic-top-100-120v>: HTTP status code is not handled or not allowed 2026-01-28 15:55:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-42w-x-24d-x-34h-2-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-connector-din-a160-female-connector-with-50mm-socket-contacts>: HTTP status code is not handled or not allowed 2026-01-28 15:55:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-wire-shelving-36w-x-14d-x-63h-4-shelf-add-on-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:55:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-telemodul-controller-130-1000-rpm-115v>: HTTP status code is not handled or not allowed 2026-01-28 15:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-position-digital-stirrer-4-postion-120v>: HTTP status code is not handled or not allowed 2026-01-28 15:55:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-72-x-36-adj-height-workbench-w-drawer-riser-gray-birch-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 15:55:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-stirrer-10-10-ceramic-top-100-120v-s88850100>: HTTP status code is not handled or not allowed 2026-01-28 15:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-hand-towel-roll-7-88-inch-x-800-ft-natural-6-rolls-case>: HTTP status code is not handled or not allowed 2026-01-28 15:55:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-plastic-step-stand-handrails-yellow-27-w-x-38-d-x-44-h-st-4-yel>: HTTP status code is not handled or not allowed 2026-01-28 15:55:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-189203gz-42w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 15:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/karcher-9-801-794-0-1300psi-20amps-120volts-1-9gpm-electric-pressure-washer>: HTTP status code is not handled or not allowed 2026-01-28 15:55:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0-5ml-0-8ml-paddles-for-tube-revolver-88881001-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxq-shaker-universal-platform-without-clamps-30100-11in-x-13in>: HTTP status code is not handled or not allowed 2026-01-28 15:55:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-for-15ml-tubes-for-digital-bottle-tube-roller-88881003-20-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-size-test-tube-rack-clamp-for-17-20mm-tubes-4-x-5-array-white>: HTTP status code is not handled or not allowed 2026-01-28 15:55:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321569-gh-1440zx-lathe-acu-rite-200s-dro-taper-collet>: HTTP status code is not handled or not allowed 2026-01-28 15:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-readybuilt-locker-12-w-x-15-d-x-78-h-707-marine-blue-triple-tier-1-wide-assembled>: HTTP status code is not handled or not allowed 2026-01-28 15:55:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-96-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 15:55:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-tier-accordion-clothes-drying-rack-chrome-plated-steel-24-linear-feet-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-coil-thread-repair-kit-for-metal-m6-10-x-15d>: HTTP status code is not handled or not allowed 2026-01-28 15:55:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-coil-thread-repair-kit-for-metal-m8-125-15d>: HTTP status code is not handled or not allowed 2026-01-28 15:55:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250ml-erlenmeyer-flask-clamp-30154bi-for-use-with-maxq-shaker-platforms>: HTTP status code is not handled or not allowed 2026-01-28 15:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-288-modular-racetrack-conference-table-with-4-power-data-grommets-ash-grey>: HTTP status code is not handled or not allowed 2026-01-28 15:55:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-48-w-x-24-d-steel-deck-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-coil-thread-repair-kit-for-metal-m7-10-x-15d>: HTTP status code is not handled or not allowed 2026-01-28 15:55:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50ml-erlenmeyer-flask-clamp-236011-for-use-with-maxq-8000-shaker>: HTTP status code is not handled or not allowed 2026-01-28 15:55:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/touch-screen-dry-bath-block-heater-4-block-capacity-100-120v-50-60hz>: HTTP status code is not handled or not allowed 2026-01-28 15:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-coil-thread-repair-kit-for-metal-m18-20-x-15d>: HTTP status code is not handled or not allowed 2026-01-28 15:55:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-200003445-3-1-2-x-1-1-4-performa-rubber-3-8-annular-ball-bearing-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/legacy-reception-desk-shell-ash-grey>: HTTP status code is not handled or not allowed 2026-01-28 15:55:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-500008459-ws-8-x-2-performa-rubber-1-2-straight-roller-bearing-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:55:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-black-kit-includes-a-carton-of-three-black-panels-and-one-set-of-98-yellow-reflective-straps>: HTTP status code is not handled or not allowed 2026-01-28 15:55:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122111 pages (at 101 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-series-wheel-7000109797-ws-10-x-3-polyurethane-cast-iron-3-4-straight-roller-bearing>: HTTP status code is not handled or not allowed 2026-01-28 15:55:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wide-17-heavy-duty-black-plastic-chain-w-master-link>: HTTP status code is not handled or not allowed 2026-01-28 15:55:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/westcott-15553-straight-kleenearth-soft-handle-scissors-7-length-bluegray>: HTTP status code is not handled or not allowed 2026-01-28 15:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-120-h-add-on-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:55:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dri-mark-dri-351uvb-smart-money-counterfeit-detector-pen-with-reusable-uv-led-light>: HTTP status code is not handled or not allowed 2026-01-28 15:55:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/westcott-41511-design-line-stainless-steel-scissors-8-straight-metallic-burgandy>: HTTP status code is not handled or not allowed 2026-01-28 15:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epson-elpsc80-duet-ultra-portable-projection-screen-80-widescreen>: HTTP status code is not handled or not allowed 2026-01-28 15:56:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biocane-34-canister-and-cane-system-34-8-liters>: HTTP status code is not handled or not allowed 2026-01-28 15:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010131-14-16-ss-terminals>: HTTP status code is not handled or not allowed 2026-01-28 15:56:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/avery-5692-laser-cddvd-labels-matte-white-40pack>: HTTP status code is not handled or not allowed 2026-01-28 15:56:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/primo-digital-scalewhite>: HTTP status code is not handled or not allowed 2026-01-28 15:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atri-digital-scalefluid-ounces>: HTTP status code is not handled or not allowed 2026-01-28 15:56:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-36-d-x-96-h-starter-3-shelf-levels-wood-deck-sand>: HTTP status code is not handled or not allowed 2026-01-28 15:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bates-9841000-tally-i-hand-model-tally-counter-registers-0-9999-chrome>: HTTP status code is not handled or not allowed 2026-01-28 15:56:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-5702-30isw-fa-iii-sar-with-v-100-valve-and-welding-helmet-9100-air>: HTTP status code is not handled or not allowed 2026-01-28 15:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-supply-gen-1825-hardwound-towel-brown-one-ply-brown-800-ft>: HTTP status code is not handled or not allowed 2026-01-28 15:56:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263173-fryer-skimmer>: HTTP status code is not handled or not allowed 2026-01-28 15:56:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelf-level-for-bulk-storage-rack-48-w-x-48-d-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:56:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trilogy-pc-software-kit-usb-trilogy-locks>: HTTP status code is not handled or not allowed 2026-01-28 15:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681298-agitator-motor>: HTTP status code is not handled or not allowed 2026-01-28 15:56:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-1573-2-3-8-inch-chrome-range-burner-valve-knob-off-on>: HTTP status code is not handled or not allowed 2026-01-28 15:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441673-relay>: HTTP status code is not handled or not allowed 2026-01-28 15:56:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-plastic-spray-bottle-32-fl-oz-gjo10449>: HTTP status code is not handled or not allowed 2026-01-28 15:56:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441627-model-b-50-60-coil-kit208-240-vac>: HTTP status code is not handled or not allowed 2026-01-28 15:56:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contemporary-linen-guest-chair-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reception-return-shell-mocha-42wx24dx29h>: HTTP status code is not handled or not allowed 2026-01-28 15:56:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-compartment-small-steel-scoop-storage-box>: HTTP status code is not handled or not allowed 2026-01-28 15:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/264652-extension-fryer-drain-9-5-8-inch-x1-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:56:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012172-radiant-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 15:56:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1421472-brush-pipe-11-inch-curved-for-unger-enterprises-inc-usa>: HTTP status code is not handled or not allowed 2026-01-28 15:56:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-portable-air-conditioner-2-5-ton-w-cold-air-nozzles-29-000-btu-230v>: HTTP status code is not handled or not allowed 2026-01-28 15:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-aleva214830mc-valencia-series-straight-front-desk-shell-47-14-x-29-12-x-29-12-med-cherry>: HTTP status code is not handled or not allowed 2026-01-28 15:56:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-36-d-x-84-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alera-aleva312414my-valencia-series-center-drawer-24-12w-x-15d-x-2h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 15:56:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kentucky-state-flag-3x5-nylon>: HTTP status code is not handled or not allowed 2026-01-28 15:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1111093-washer-3-4-inch-od-hose-ts-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 15:56:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1111173-button-index-blue-wristblade-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 15:56:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pharmacy-vaccine-refrigerator-double-swing-glass-doors-49-cu-ft-ph-abt-s49g>: HTTP status code is not handled or not allowed 2026-01-28 15:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011130-suction-tube-foamer8-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:56:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-pharmacy-vaccine-refrigerator-double-swing-glass-doors-36-cu-ft-ph-abt-s36g>: HTTP status code is not handled or not allowed 2026-01-28 15:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2631012-gasket-pump-intake-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 15:56:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-24-d-x-96-h-starter-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:56:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deflect-o-790901-outdoor-literature-box-10w-x-4-12d-x-13-18h-blackclear>: HTTP status code is not handled or not allowed 2026-01-28 15:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-48-w-x-48-d-x-72-h-starter-3-shelf-levels-steel-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:56:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-24-d-x-84-h-add-on-3-shelf-levels-wire-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-96-w-x-24-d-x-120-h-add-on-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:56:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chateau-series-mahogany-laminate-desking-59x295x30-table>: HTTP status code is not handled or not allowed 2026-01-28 15:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-storage-rack-72-w-x-48-d-x-96-h-add-on-3-shelf-levels-wood-deck-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:56:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1131-yellow-extra-thick-ptfe-teflon-tape-1-2-inch-x-260-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-cylinder-lifter-for-9in-diameter-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 15:56:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chateau-series-walnut-laminate-desking-661x295x30-table>: HTTP status code is not handled or not allowed 2026-01-28 15:56:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-ton-long-chassis-service-jack-with-air-22051c>: HTTP status code is not handled or not allowed 2026-01-28 15:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet-5-drawers-63-compart-classic-blue-master-keyed>: HTTP status code is not handled or not allowed 2026-01-28 15:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1761499-blender-tempest-64-oz-poly-for-hamilton-beach>: HTTP status code is not handled or not allowed 2026-01-28 15:56:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cs-compact-swage-tool-1839015-5-16-to-1-5-8>: HTTP status code is not handled or not allowed 2026-01-28 15:56:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-drawer-cabinet-4-drawer-24-compart-light-gray-master-keyed>: HTTP status code is not handled or not allowed 2026-01-28 15:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-mobile-cabinet-6-drawers-84-compart-bright-blue-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 15:56:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/physicianscare-51019-first-aid-alcohol-pads-box-of-50>: HTTP status code is not handled or not allowed 2026-01-28 15:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-black-25-yard-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 15:56:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-40-14w-cabinet-12-drawer-177-compart-bright-blue-no-lock>: HTTP status code is not handled or not allowed 2026-01-28 15:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011159-gasket-screw-onmagnetic-type>: HTTP status code is not handled or not allowed 2026-01-28 15:56:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/memphis-96731s-memphis-flex-seamless-nylon-knit-gloves-small-bluegray-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:56:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/memphis-3215l-economy-leather-driver-gloves-large-beige>: HTTP status code is not handled or not allowed 2026-01-28 15:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ae18g-poly-green-safety-push-handle-18w>: HTTP status code is not handled or not allowed 2026-01-28 15:56:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ae21b-black-epoxy-safety-push-handle-21w>: HTTP status code is not handled or not allowed 2026-01-28 15:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-tubing-black-100-roll-box>: HTTP status code is not handled or not allowed 2026-01-28 15:56:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009670-hi-temp-8-ring-terminalend>: HTTP status code is not handled or not allowed 2026-01-28 15:56:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-ab21b-21-single-arm-shelf-bracket-black-epoxy>: HTTP status code is not handled or not allowed 2026-01-28 15:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lug-to-lug-7403-001-13-long-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 15:56:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-dab14b-14-double-arm-shelf-bracket-black-epoxy>: HTTP status code is not handled or not allowed 2026-01-28 15:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-exerciser-black-22>: HTTP status code is not handled or not allowed 2026-01-28 15:56:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tubing-exerciser-blue-22>: HTTP status code is not handled or not allowed 2026-01-28 15:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-handles-with-d-ring-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:56:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/negative-straight-clamp-connector-3420-005n-2-0-gauge-5-pcs>: HTTP status code is not handled or not allowed 2026-01-28 15:56:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681154-fan-motor>: HTTP status code is not handled or not allowed 2026-01-28 15:56:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/non-insulated-solderless-flag-terminal-166165-100-12-18-gauge>: HTTP status code is not handled or not allowed 2026-01-28 15:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1051006-bowl-pc-m-msd-10-20-30>: HTTP status code is not handled or not allowed 2026-01-28 15:56:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-solderless-parallel-butt-connector-160181-100-22-18-gauge-100-pcs>: HTTP status code is not handled or not allowed 2026-01-28 15:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fkr-400-16-portable-direct-heat-sealer-with-temperature-control-10mm-seal-width>: HTTP status code is not handled or not allowed 2026-01-28 15:56:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263850-screw-for-bj-t-stat>: HTTP status code is not handled or not allowed 2026-01-28 15:56:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1506030-dispenser-napkin-counter-stand>: HTTP status code is not handled or not allowed 2026-01-28 15:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-inplant-office-w-1-window-class-a-12-w-x-16-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:56:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971155-orifice-upper-front-52-lp-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 15:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-green-6-yard-roll>: HTTP status code is not handled or not allowed 2026-01-28 15:56:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381448-fuse-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 15:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-yellow-48-l-band>: HTTP status code is not handled or not allowed 2026-01-28 15:56:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-foxx-10hp-ufo-104d-bag-dust-collector>: HTTP status code is not handled or not allowed 2026-01-28 15:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-foxx-2hp-ufo-1013-vertical-bag-dust-collector>: HTTP status code is not handled or not allowed 2026-01-28 15:56:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-13357-660w-600v-medium-base-bi-pin-linear-fluorescent-lampholder>: HTTP status code is not handled or not allowed 2026-01-28 15:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-20602-50-30-amp-generator-power-extension-cord-with-nema-l14-30p-to-l14-30r>: HTTP status code is not handled or not allowed 2026-01-28 15:56:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-23519-medium-base-standard-fluorescent-lampholder-white>: HTTP status code is not handled or not allowed 2026-01-28 15:56:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1031104-boot-toggle-switch-rubber-gray-for-ultrafryer>: HTTP status code is not handled or not allowed 2026-01-28 15:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-wl530515-1-5-30-amp-generator-tri-outlet-locking-adapter-with-nema-l5-20p-to-5-15r-3>: HTTP status code is not handled or not allowed 2026-01-28 15:56:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireplace-grate-bg7-277m-27w-3-4-steel-6-bars>: HTTP status code is not handled or not allowed 2026-01-28 15:56:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-8694-mogul-base-one-piece-keyless-incandescent-lampholder>: HTTP status code is not handled or not allowed 2026-01-28 15:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1241336-motor-ec-16w-ccw-1800-rpm-for-silver-king>: HTTP status code is not handled or not allowed 2026-01-28 15:56:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-23452-a-slide-on-lamp-support-clip-for-horiz-2g11-base-twin-tube-fluorescent-lampholder>: HTTP status code is not handled or not allowed 2026-01-28 15:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321509-o-ring-5-16-inch-id-x-1-16-inch-width>: HTTP status code is not handled or not allowed 2026-01-28 15:56:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-loop-exerciser-3-size-set-10-15-30-5-color-set>: HTTP status code is not handled or not allowed 2026-01-28 15:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-band-loop-exerciser-3-size-set-10-15-30-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:56:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122211 pages (at 100 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:56:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spill-control-combination-cabinet-24w-x-78d-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 15:56:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262339-palnut-mounting-bracket>: HTTP status code is not handled or not allowed 2026-01-28 15:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2721269-orifice-burner-41-for-nieco-corp>: HTTP status code is not handled or not allowed 2026-01-28 15:56:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71608-24-single-blade-ultra-hygiene-squeegee-purple>: HTTP status code is not handled or not allowed 2026-01-28 15:56:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-steel-toe-knee-boots-size-8-vinyl-black-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56601-dustpan-pink>: HTTP status code is not handled or not allowed 2026-01-28 15:56:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53787-216-1-5-tube-brush-stiff-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-inch-direct-drive-whole-house-fan-with-shutter>: HTTP status code is not handled or not allowed 2026-01-28 15:57:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bungee-exercise-cord-with-attachments-7-cord-silver>: HTTP status code is not handled or not allowed 2026-01-28 15:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-truck-stand-w-locking-ring-system-40w-x-14d-x-36h-2-cylinder-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:57:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69592-5-mini-bench-scraper-green>: HTTP status code is not handled or not allowed 2026-01-28 15:57:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/process-station-24w-x-40d-x-72h-4-cylinder-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-clothes-hook-bumper>: HTTP status code is not handled or not allowed 2026-01-28 15:57:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-5-band-light-yellow-red-green-retail-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:57:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/floor-stand-rack-23w-x-56d-x-30h-8-cylinder-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321006-gas-connector3-4-inch-mpt-x-36-inch-for-dormont-mfg>: HTTP status code is not handled or not allowed 2026-01-28 15:57:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-cylinder-truck-20-spoked-steel-wheels-600-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/latex-free-exercise-band-5-strip-red-1-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:57:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/53913-216-3-5-pipe-brush-for-flex-rod-medium-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:57:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cylinder-tube-rack-1-wide-x-3-deep-16w-x-38d-x-30h3-cylinder-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-heat-resistant-40-to-300-degrees-17>: HTTP status code is not handled or not allowed 2026-01-28 15:57:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2151162-pin-pull-base-for-redco-slicers>: HTTP status code is not handled or not allowed 2026-01-28 15:57:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metmax-acifort-full-safety-boots-w-metatarsal--ankle-protection-16h-size-5-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1361009-relay-24v-for-franke>: HTTP status code is not handled or not allowed 2026-01-28 15:57:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-trimlineseries-25-cent-recessed-sanitary-vendor>: HTTP status code is not handled or not allowed 2026-01-28 15:57:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-cylinder-truck-4-wheel-w-hoist-ring-10-1-2-pneumatic-wheels-1000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-delineator-post-with-hexagonal-base-49-in-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:57:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/64409-small-hand-brush-stiff-black>: HTTP status code is not handled or not allowed 2026-01-28 15:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eatrt05s1p-industrial-air-ratchet-12-drive-12-cfm-14-npt-inlet>: HTTP status code is not handled or not allowed 2026-01-28 15:57:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-matrixseries-surface-mounted-seat-cover-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 15:57:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342015-heating-element-120v-400w-for-bevles>: HTTP status code is not handled or not allowed 2026-01-28 15:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/281562-cap-outside-round>: HTTP status code is not handled or not allowed 2026-01-28 15:57:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-classicseries-single-robe-hook-satin>: HTTP status code is not handled or not allowed 2026-01-28 15:57:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-shelf-liner-24w-x-18d-white>: HTTP status code is not handled or not allowed 2026-01-28 15:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-swing-top-receptacle-36-gallon-1511htsl-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:57:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761243-dough-hook-60-qtspiral>: HTTP status code is not handled or not allowed 2026-01-28 15:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-battery-jumper-cable-4-awg-12l-blackred>: HTTP status code is not handled or not allowed 2026-01-28 15:57:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/458988-bench-brush-medium-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:57:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-1-1-4-dia-straight-peened-grab-bar-24-w>: HTTP status code is not handled or not allowed 2026-01-28 15:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-gallon-justrite-oily-waste-can-red>: HTTP status code is not handled or not allowed 2026-01-28 15:57:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/77524-16-foam-blade-squeegee-red>: HTTP status code is not handled or not allowed 2026-01-28 15:57:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m2-x-0-4-x-10mm-machine-screw-pan-head-phillips-steel-zinc-pkg-of-1000>: HTTP status code is not handled or not allowed 2026-01-28 15:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1441-waste-drain-flat-strainer-for-3-inch-sink-opening>: HTTP status code is not handled or not allowed 2026-01-28 15:57:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-with-stainless-steel-thimble-716-dia-x-150l>: HTTP status code is not handled or not allowed 2026-01-28 15:57:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-x-3-1-2-machine-screw-pan-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jw708-flat-cushion-spindle-jw-fc-14218-1-4-20-x-2-1-8-neoprene>: HTTP status code is not handled or not allowed 2026-01-28 15:57:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bobrick-1-1-2-dia-straight-satin-grab-bar-42-w>: HTTP status code is not handled or not allowed 2026-01-28 15:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12050-vertical-acting-toggle-clamp-jw-12055-straight-base-sheet-metal-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:57:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40324-latch-type-toggle-clamp-jw-40324-500-lb-cap-sheet-metal-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5381-90-4-216-3-5-one-piece-pipe-brush-medium-stiff-red>: HTTP status code is not handled or not allowed 2026-01-28 15:57:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70353-216-5-0-pipe-brush-medium-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:57:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-1-2-machine-screw-pan-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45879-bench-brush-soft-black>: HTTP status code is not handled or not allowed 2026-01-28 15:57:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-concrete-installation-black-cover-red-tapes>: HTTP status code is not handled or not allowed 2026-01-28 15:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-18-x-5-8-machine-screw-pan-head-phillips-steel-zinc-ft-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 15:57:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1439-13-32-inch-x-1-1-2-inch-8a-fast-acting-ktk-r-8-glass-fuse-600v>: HTTP status code is not handled or not allowed 2026-01-28 15:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-handle-yellow-hfy>: HTTP status code is not handled or not allowed 2026-01-28 15:57:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29644-67-ultra-hygiene-handle-red>: HTTP status code is not handled or not allowed 2026-01-28 15:57:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/85-1055-8-stainless-steel-hose-clamp-1-2-inch-to-7-8-inch>: HTTP status code is not handled or not allowed 2026-01-28 15:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104-clearance-bar-red-bar-white-tapes>: HTTP status code is not handled or not allowed 2026-01-28 15:57:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelf-truck-72x18x69-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:57:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/52-bollard-flex-with-sign-post-natural-ground-white-cover-blue-tapes>: HTTP status code is not handled or not allowed 2026-01-28 15:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelate-wire-shelf-truck-36x24x69-1200-pound-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-28 15:57:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/synthetic-winch-line-with-stainless-steel-thimble-38-dia-x-100l>: HTTP status code is not handled or not allowed 2026-01-28 15:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41798-ust-short-handle-scrubbing-brush-stiff-purple>: HTTP status code is not handled or not allowed 2026-01-28 15:57:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-15-x-60-phenolic-locker-double-tier-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 15:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5380-90-9-216-3-5-pipe-brush-medium-black>: HTTP status code is not handled or not allowed 2026-01-28 15:57:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-duty-low-lint-wipes-9-x-16-1-2-100-box-m-pr831>: HTTP status code is not handled or not allowed 2026-01-28 15:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-igniting-trigger-torch-for-1-lb-capacity-propane-or-mapp-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 15:57:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-spill-containment-utility-tray-black-36in-l-x-18in-w-x-2in-h>: HTTP status code is not handled or not allowed 2026-01-28 15:57:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-polyester-filter-12-w-x-12-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-28 15:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70112-paddle-scraper-stiff-green>: HTTP status code is not handled or not allowed 2026-01-28 15:57:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1019-13-32-inch-x-1-5-16-inch-05-amp-time-lag-fuse-600v>: HTTP status code is not handled or not allowed 2026-01-28 15:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44-h-x-72-w-so-nylon-column-protector-black-cover-red-tapes>: HTTP status code is not handled or not allowed 2026-01-28 15:57:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quattro-4-orientation-automatic-counterfeit-detector-with-lcd-reporting-and-pass-fail-display>: HTTP status code is not handled or not allowed 2026-01-28 15:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29835-39-stainless-steel-handle-white>: HTTP status code is not handled or not allowed 2026-01-28 15:57:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-so-nylon-gate-arm-cover-black-cover-red-tapes>: HTTP status code is not handled or not allowed 2026-01-28 15:57:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brother-tn210m-toner-1400-page-yield-magenta>: HTTP status code is not handled or not allowed 2026-01-28 15:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conductive-lid-for-bucket-12-1-2-black-c80111>: HTTP status code is not handled or not allowed 2026-01-28 15:57:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41922-short-handle-scrubbing-brush-stiff-green>: HTTP status code is not handled or not allowed 2026-01-28 15:57:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69729-3-stainless-steel-scraper-black>: HTTP status code is not handled or not allowed 2026-01-28 15:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-truck-36x24x80-1200-pound-capacity-with-brakes-1>: HTTP status code is not handled or not allowed 2026-01-28 15:57:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-18-w-x-30-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-28 15:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-fiberglass-filter-12-w-x-16-h-x-1-d>: HTTP status code is not handled or not allowed 2026-01-28 15:57:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29626-59-ultra-hygiene-handle-yellow>: HTTP status code is not handled or not allowed 2026-01-28 15:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-36-d-production-workbench-esd-laminate-safety-edge-complete-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:57:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-nose-extension-global-aluminum-hand-truck>: HTTP status code is not handled or not allowed 2026-01-28 15:57:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/221615-knob>: HTTP status code is not handled or not allowed 2026-01-28 15:57:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8730-ultra-containment-berms-modular-side-wall-section-6-feet-long>: HTTP status code is not handled or not allowed 2026-01-28 15:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium57-22-23-collapsible-inside-57l-x-22w-x-23>: HTTP status code is not handled or not allowed 2026-01-28 15:57:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29103-stainless-steel-floor-scraper-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:57:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collapsible-wire-mesh-steel-container-40-1-2x34-1-2x26-zinc-galv>: HTTP status code is not handled or not allowed 2026-01-28 15:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56905-hygienic-fork-white>: HTTP status code is not handled or not allowed 2026-01-28 15:57:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazelnut-coffee-24-pods>: HTTP status code is not handled or not allowed 2026-01-28 15:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/69618-3-scraper-purple>: HTTP status code is not handled or not allowed 2026-01-28 15:57:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fir-plywood-premium-grade-crate-premium94-28-23-collapsible-inside-94l-x-28w-x-23>: HTTP status code is not handled or not allowed 2026-01-28 15:57:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/-protective-cover-for-apex153-2000--jetstream-250-portable-evaporative-coolers>: HTTP status code is not handled or not allowed 2026-01-28 15:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-108x42x96-starter-unit-blue-orange-5480-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:57:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122309 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:57:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-fenwick-insulated-bowl-9-oz-48-cs-cranberry-dx530061>: HTTP status code is not handled or not allowed 2026-01-28 15:57:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009528-orifice-52>: HTTP status code is not handled or not allowed 2026-01-28 15:57:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-turnbury-insulated-pedestal-base-mug-8-oz-48-cs-cranberry-dx300061>: HTTP status code is not handled or not allowed 2026-01-28 15:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-translucent-lid-fits-5505-tumbler-1500-cs-clear-dx24019000>: HTTP status code is not handled or not allowed 2026-01-28 15:57:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pure-lye-1-pound>: HTTP status code is not handled or not allowed 2026-01-28 15:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-108x36x120-add-on-unit-green-orange-5480-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:57:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/41865-long-handle-scrubbing-brush-stiff-white>: HTTP status code is not handled or not allowed 2026-01-28 15:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1901188-chamber-whipper-fmd-series-for-bunn-o-matic>: HTTP status code is not handled or not allowed 2026-01-28 15:58:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carton-flow-shelving-single-depth-5>: HTTP status code is not handled or not allowed 2026-01-28 15:58:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/29155-13-push-broom-extra-stiff-white>: HTTP status code is not handled or not allowed 2026-01-28 15:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bolted-teardrop-pallet-rack-starter-120inw-x-48ind-x-120inh-5630-lbs-shelf-cap>: HTTP status code is not handled or not allowed 2026-01-28 15:58:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-cube-ice-machine-525lb>: HTTP status code is not handled or not allowed 2026-01-28 15:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-cube-ice-machine-475lb>: HTTP status code is not handled or not allowed 2026-01-28 15:58:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-tropez-cup-high-temp-8oz-48-cs-onyx-dx9000b03>: HTTP status code is not handled or not allowed 2026-01-28 15:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-ice-water-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 15:58:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foamy-clean-20-ounce-aerosol>: HTTP status code is not handled or not allowed 2026-01-28 15:58:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012568-tee-female-for-roundup-food-equipment>: HTTP status code is not handled or not allowed 2026-01-28 15:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-turnbury-insulated-pedestal-based-bowl-9-oz-48-cs-onyx-dx330003>: HTTP status code is not handled or not allowed 2026-01-28 15:58:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leak-seek-hvac-blue-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storability-large-tool-holder>: HTTP status code is not handled or not allowed 2026-01-28 15:58:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abt-sls-36-standard-solid-door-laboratory-refrigerator-36-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 15:58:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-handle-chest-weight-pulley-system-with-dual-weight-stack-10-x-2-2-lb-weights>: HTTP status code is not handled or not allowed 2026-01-28 15:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rl-dbs-230v-digital-baby-scale-with-built-in-measuring-tape-44-lb-x-0-5-oz>: HTTP status code is not handled or not allowed 2026-01-28 15:58:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-ss-nsf-wall-shelf-22>: HTTP status code is not handled or not allowed 2026-01-28 15:58:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-utility-cart-3-shelves-36x24>: HTTP status code is not handled or not allowed 2026-01-28 15:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-ss-nsf-wall-shelf-23>: HTTP status code is not handled or not allowed 2026-01-28 15:58:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-wire-black-powder-coat-fence-2>: HTTP status code is not handled or not allowed 2026-01-28 15:58:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-glass-mount-handrail-for-15-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-wrist-and-ankle-weight-7-piece-set>: HTTP status code is not handled or not allowed 2026-01-28 15:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-tube-2-x-050-x-6-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 15:58:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-10-2-bariactric-handrail-scale-1000-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 15:58:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1971177-holder-orifice-repair-kit-for-duke-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 15:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-6-inch-fry-pan>: HTTP status code is not handled or not allowed 2026-01-28 15:58:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/80-quart-stock-pot>: HTTP status code is not handled or not allowed 2026-01-28 15:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-quart-heavy-duty-stock-pot>: HTTP status code is not handled or not allowed 2026-01-28 15:58:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-weight-bar-4-5-lb-green-stripe>: HTTP status code is not handled or not allowed 2026-01-28 15:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insect-inn-control-system-120v-black-covers-4000-sq-ft-per-60-days>: HTTP status code is not handled or not allowed 2026-01-28 15:58:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cmc06008-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 15:58:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-1091-waste-drain-lever-handle-bushing-3-inch-and-3-1-2-inch-sink-openings>: HTTP status code is not handled or not allowed 2026-01-28 15:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perimeter-patrol-welded-wire-black-fence-2>: HTTP status code is not handled or not allowed 2026-01-28 15:58:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perimeter-patrol-welded-wire-black-fence-3>: HTTP status code is not handled or not allowed 2026-01-28 15:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-add-on-60-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-28 15:58:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chc02006-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 15:58:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chc05010-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 15:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-adjustable-saddle-for-2-tubing-polished-brass>: HTTP status code is not handled or not allowed 2026-01-28 15:58:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-adjustable-saddle-ball-for-2-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:58:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-add-on-48-w-x-36-d>: HTTP status code is not handled or not allowed 2026-01-28 15:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-pail-13-quart-nsf>: HTTP status code is not handled or not allowed 2026-01-28 15:58:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-l-wheel-alignment-guides-pair-of-2>: HTTP status code is not handled or not allowed 2026-01-28 15:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-bar-mount-bracket-for-2-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:58:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacking-bin-16-1-2-x-18-x-11-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:58:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-quart-mix-bowl-stand>: HTTP status code is not handled or not allowed 2026-01-28 15:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-cube-ice-maker-water-cooled-approx-935-lb-production-half-size-cube>: HTTP status code is not handled or not allowed 2026-01-28 15:58:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011147-door-gasket-20-inch-x-28-inch-d-d>: HTTP status code is not handled or not allowed 2026-01-28 15:58:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-stacking-bin-184814>: HTTP status code is not handled or not allowed 2026-01-28 15:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exercise-bar-blue-12l>: HTTP status code is not handled or not allowed 2026-01-28 15:58:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-42l-x-18w-x-60h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:58:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-oxford-insulated-safety-bib-overall-xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 15:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-insulated-safety-bib-overall-m-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 15:58:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-wrist-and-ankle-weight-15-lb-tan>: HTTP status code is not handled or not allowed 2026-01-28 15:58:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-rebounder-for-plyometric-balls-48l-x-39-1-2w-x-44h>: HTTP status code is not handled or not allowed 2026-01-28 15:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-36l-x-21w-x-80h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:58:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/control-panel-lockout-for-5w-panels-plastic-red>: HTTP status code is not handled or not allowed 2026-01-28 15:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdc06040-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 15:58:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-safety-bib-overall-4xl-black>: HTTP status code is not handled or not allowed 2026-01-28 15:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-bib-overall-5xl-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-60l-x-24w-x-60h-polyurethane-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:58:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-flush-elbow-fitting-side-outlet-for-2-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:58:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-vented-plastic-mat-shelf-truck-72l-x-24w-x-69h-polyurethane-swivel-casters>: HTTP status code is not handled or not allowed 2026-01-28 15:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-stretch-waist-flex-twill-cargo-pants-32l-inseam-x-31-32-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 15:58:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cjc04012-machine-screw>: HTTP status code is not handled or not allowed 2026-01-28 15:58:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-in-pedestal-fan-7996-cfm>: HTTP status code is not handled or not allowed 2026-01-28 15:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-34l-inseam-x-30-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 15:58:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmj06020-socket-cap-screw>: HTTP status code is not handled or not allowed 2026-01-28 15:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-30l-inseam-x-42-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 15:58:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industries-flange-wall-for-1-tubing-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 15:58:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-34l-inseam-x-40-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 15:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11203-6-internal-double-leg-shock-lanyard-steel-rebar-hook>: HTTP status code is not handled or not allowed 2026-01-28 15:58:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10787-6-premium-cross-arm-strap>: HTTP status code is not handled or not allowed 2026-01-28 15:58:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bishamon-self-leveling-work-positioner-2>: HTTP status code is not handled or not allowed 2026-01-28 15:58:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-for-12-gauge-heavy-duty-cabinet-42-wx24-d>: HTTP status code is not handled or not allowed 2026-01-28 15:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-l-footrest-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009786-hp-wheel-only-caster-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 15:58:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-flex-safety-bib-overall-xl-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:58:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-2-panel-square-hole-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-10-hook-1>: HTTP status code is not handled or not allowed 2026-01-28 15:58:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/660lb-counting-scale>: HTTP status code is not handled or not allowed 2026-01-28 15:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-file-folders-15-cut-assorted-one-ply-top-tab-letter-manila-100box>: HTTP status code is not handled or not allowed 2026-01-28 15:58:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-2-drawer-machinist-brown-1>: HTTP status code is not handled or not allowed 2026-01-28 15:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-high-security-bolt-seal-yellow-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:58:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ripstop-safety-rain-jacket-csa-class-1-level-2-xl-black>: HTTP status code is not handled or not allowed 2026-01-28 15:58:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13lb-bench-and-floor-scale-cpw-plus-6p>: HTTP status code is not handled or not allowed 2026-01-28 15:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341972-door-heater>: HTTP status code is not handled or not allowed 2026-01-28 15:58:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-32l-inseam-x-36-waist-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:58:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-30l-inseam-x-28-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 15:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-8-drawer-roller-bearing-red-2>: HTTP status code is not handled or not allowed 2026-01-28 15:58:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/performance-pressure-hvlp-atomizing-head-refill-kit-26814-1-4mm-orange-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/54-h-nexel-chrome-wire-shelving-add-on-48-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 15:58:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kennedy-15-drawer-roller-red>: HTTP status code is not handled or not allowed 2026-01-28 15:58:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vollrath-ss-bowl-24-oz>: HTTP status code is not handled or not allowed 2026-01-28 15:58:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122409 pages (at 100 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottlejacks-jet-453360k>: HTTP status code is not handled or not allowed 2026-01-28 15:58:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-pressboard-classification-folders-letter-six-section-ruby-red-10box>: HTTP status code is not handled or not allowed 2026-01-28 15:58:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-handle-zinc-plated-cast-iron-3-4-10-thread-6-inch-wide>: HTTP status code is not handled or not allowed 2026-01-28 15:58:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hubbel-industrial-bare-end-14-3-35>: HTTP status code is not handled or not allowed 2026-01-28 15:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/through-thread-plastic-hand-knobs-m6x10-thread-32mm-knob-dia-20mm-knob-height>: HTTP status code is not handled or not allowed 2026-01-28 15:58:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/360-stretch-waist-flex-twill-cargo-pants-30l-inseam-x-28-29-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63-h-nexel-chrome-wire-shelving-add-on-30-w-x-14-d>: HTTP status code is not handled or not allowed 2026-01-28 15:59:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nfpa-rod-clevis-7-16-20-thread-1-1-2-to-2-1-2-nfpa-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 15:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ms1-angle-mount-for-4-bore-nfpa-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 15:59:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-right-angle-mount-al-32-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 15:59:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-end-tab-tuff-pockets-3-12-exp-letter-manila-10bx>: HTTP status code is not handled or not allowed 2026-01-28 15:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mp4-det-eye-mount-kit-6-bore-nfpa-cylinder>: HTTP status code is not handled or not allowed 2026-01-28 15:59:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-loading-platform-attachment-2>: HTTP status code is not handled or not allowed 2026-01-28 15:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guard-first-responder-hip-pack-10-103-red-s2>: HTTP status code is not handled or not allowed 2026-01-28 15:59:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fanny-pack-with-screenprint-guard-red-no-logo-10-103-red-nl>: HTTP status code is not handled or not allowed 2026-01-28 15:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86-h-nexel-chrome-wire-shelving-add-on-42-w-x-18-d>: HTTP status code is not handled or not allowed 2026-01-28 15:59:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-clevis-bracket-mount-al-32-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 15:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1730-threaded-insert-10-24-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 15:59:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-box-pleat-skirting-32h-stage-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smead-3-12-accordion-expansion-wallets-letter-leather-like-redrope>: HTTP status code is not handled or not allowed 2026-01-28 15:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-30l-inseam-x-46-waist-navy>: HTTP status code is not handled or not allowed 2026-01-28 15:59:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-straight-carpet-96l-x-18w-x-32h-blue>: HTTP status code is not handled or not allowed 2026-01-28 15:59:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-hargrave-20303>: HTTP status code is not handled or not allowed 2026-01-28 15:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireproof-4-drawer-vertical-safe-in-file-legal-31-9-16-lx20-13-16-wx52-3-4-h-platinum>: HTTP status code is not handled or not allowed 2026-01-28 15:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-125mm-bore-x-40mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 15:59:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-63mm-bore-x-350mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 15:59:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-coated-fiberglass-welding-blanket-6w-x-6h-red>: HTTP status code is not handled or not allowed 2026-01-28 15:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-30l-inseam-x-52-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/relaxed-fit-flex-twill-cargo-pants-without-hem-42-waist-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stage-pie-set-hardboard-36w-stage-units-8h-16h-24h>: HTTP status code is not handled or not allowed 2026-01-28 15:59:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kit-flange-mount-cs-63-for-iso-15552-cylinders>: HTTP status code is not handled or not allowed 2026-01-28 15:59:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamps-wilton-42460>: HTTP status code is not handled or not allowed 2026-01-28 15:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-add-on-48-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 15:59:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/74-h-nexel-chrome-wire-shelving-72-w-x-24-d>: HTTP status code is not handled or not allowed 2026-01-28 15:59:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riser-tapered-carpet-66l-x-18w-x-16h-grey>: HTTP status code is not handled or not allowed 2026-01-28 15:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelon-wire-shelving-add-on-36-w-x-18-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 15:59:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-3xlt-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:59:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ft-long-shirred-pleat-skirting-8h-stage-green>: HTTP status code is not handled or not allowed 2026-01-28 15:59:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rg6-u-18awg-catv-coaxial-cable-copper-clad-steel-100-foil-shield-1000-ft-box-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24awg-4-pr-utp350-cat5e-cmr-1000-ft-box-gray>: HTTP status code is not handled or not allowed 2026-01-28 15:59:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2171087-body-valve-kit-for-server-products>: HTTP status code is not handled or not allowed 2026-01-28 15:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rg11-u-14awg-flooded-outdoor-direct-burial-500-ft-spool-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012085-hose-kit-for-blodgett-oven>: HTTP status code is not handled or not allowed 2026-01-28 15:59:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-2xlt-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rg11-u-14awg-cmp-1000-ft-spool-white>: HTTP status code is not handled or not allowed 2026-01-28 15:59:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rg59-u-18-2-siamese-camera-cable-cmr-500-ft-spool-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-duty-flat-heating-blanket-md0520-120v-21l-x-6w>: HTTP status code is not handled or not allowed 2026-01-28 15:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-fleece-lined-safety-jacket-l-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 15:59:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-utility-cart-36-x-18-2-shelves-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-response-plan-dvd-program>: HTTP status code is not handled or not allowed 2026-01-28 15:59:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-connector-60000-05-02-516-tube-x-18-swift-fit-univ-thread-ss>: HTTP status code is not handled or not allowed 2026-01-28 15:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venue-countertop-napkin-dispenser-black-pearl>: HTTP status code is not handled or not allowed 2026-01-28 15:59:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moist-heat-pack-half-size-5-x-12-11-1313>: HTTP status code is not handled or not allowed 2026-01-28 15:59:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1711262-shaft-assembly-16-3-4-inch-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 15:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-instrument-cart-36x24-2-shelves-1200-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 15:59:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-level-tapered-riser-hardboard-60l-x-18w-8h-16h-24h-32h>: HTTP status code is not handled or not allowed 2026-01-28 15:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-poly-oxford-5-in-1-safety-jacket-2xl-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 15:59:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fx-40-balaclava-xl-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 15:59:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-male-89000-53-02-532-tube-x-18-swift-fit-univ-thread-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 15:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rwg560m-axis-cut-resistant-polyurethane-palm-gloves-gray-black-m-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 15:59:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paraffin-bath-refill-36-lb-blocks-citrus-fragrance>: HTTP status code is not handled or not allowed 2026-01-28 15:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bar-mop-towel-32-oz-16x19>: HTTP status code is not handled or not allowed 2026-01-28 15:59:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fr-type-r-class-2-economy-solid-vest-5xl-green-sv92e-2vgs-5x>: HTTP status code is not handled or not allowed 2026-01-28 15:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-89953-02-02-screw-adj-18-tube-x-18-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 15:59:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedy-board-dock-board-23>: HTTP status code is not handled or not allowed 2026-01-28 15:59:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-garbage-can-lid-6>: HTTP status code is not handled or not allowed 2026-01-28 15:59:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-single-acting-magnetic-cylinder-16mm-bore-x-50mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 15:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-wide-span-rack-96x36x60-with-3-shelves-wood-deck-1100-lb-capacity-per-level>: HTTP status code is not handled or not allowed 2026-01-28 15:59:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-powered-counter-balanced-stacker-2>: HTTP status code is not handled or not allowed 2026-01-28 15:59:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-overall-5xl-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741290-door-gasket-26-3-4-inch-x-54-1-4-inch-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 15:59:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-cold-gear-coverall-xl-blackfluorescent-yellow-green>: HTTP status code is not handled or not allowed 2026-01-28 15:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inline-flow-control-82815-04-14-tube-nickel-plated-brass>: HTTP status code is not handled or not allowed 2026-01-28 15:59:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-60-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 15:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-s-fluorescent-green>: HTTP status code is not handled or not allowed 2026-01-28 15:59:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-55915-10-38-knob-adj-10mm-tube-x-38-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 15:59:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-ripstop-fleece-lined-safety-jacket-5xl-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1291115-cap-blow-off-brass-ansul-10-pk>: HTTP status code is not handled or not allowed 2026-01-28 15:59:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-36-w-x-24-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 15:59:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-72-w-x-24-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 15:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-55222-6-14-6mm-tube-x-14-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 15:59:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-100mm-bore-x-230mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 15:59:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-quilted-safety-freezer-jacket-2xl-black>: HTTP status code is not handled or not allowed 2026-01-28 15:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/851094-silicone-sealant>: HTTP status code is not handled or not allowed 2026-01-28 15:59:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-outdoor-ashtray-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 15:59:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dykem84003-brite-markmedium-white-marker-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 15:59:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481038-lid-rail-right-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 15:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2uc-2-u-cutter>: HTTP status code is not handled or not allowed 2026-01-28 15:59:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-2xl-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-21>: HTTP status code is not handled or not allowed 2026-01-28 15:59:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vollrath-orion-ss-covered-creamer>: HTTP status code is not handled or not allowed 2026-01-28 15:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-22>: HTTP status code is not handled or not allowed 2026-01-28 15:59:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-50mm-bore-x-50mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 15:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-inch-id-x-38-inch-od-x-0005-inch-steel-arbor-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 15:59:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-36-w-x-24-d-x-86-h>: HTTP status code is not handled or not allowed 2026-01-28 15:59:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-m-dark-brown>: HTTP status code is not handled or not allowed 2026-01-28 15:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-run-tee-85222-08-04-12-tube-x-14-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 15:59:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122507 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 15:59:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-650mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 15:59:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wraps-4-x-18-blue-package-of-3>: HTTP status code is not handled or not allowed 2026-01-28 15:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261589-pilot-tubing3-16-x-36>: HTTP status code is not handled or not allowed 2026-01-28 15:59:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-1500mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 15:59:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boots-cleated-outsole-plain-toe-mens-size-6-15h-white>: HTTP status code is not handled or not allowed 2026-01-28 15:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instant-reusable-hot-compress-standard-5-x-15>: HTTP status code is not handled or not allowed 2026-01-28 15:59:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/075-inch-id-x-0999-inch-od-x-0015-inch-die-button-shim-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 16:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-galvanized-steel-shelving-36-w-x-18-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 16:00:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-acid-corrosive-cabinet-manual-close-22-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-galvanized-steel-shelving-48-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 16:00:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-paint-ink-safety-cabinet-manual-close-60-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:00:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-control-89958-04-04-knob-adj-14-tube-x-14-swift-fit-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 16:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-poly-waste-can-red-foot-lever-10-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:00:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-500mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 16:00:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-wide-shop-desk-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eagle-drum-safety-cabinet-manual-close-110-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:00:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-32mm-bore-x-270mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 16:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/58-inch-id-x-1-inch-od-x-0005-inch-steel-arbor-shim-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:00:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-double-acting-magnetic-cylinder-16mm-bore-x-125mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 16:00:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-strip-12-outlets-surge-protector>: HTTP status code is not handled or not allowed 2026-01-28 16:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-15552-double-acting-magnetic-cylinder-40mm-bore-x-160mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 16:00:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-6432-double-acting-magnetic-cylinder-16mm-bore-x-50mm-stroke>: HTTP status code is not handled or not allowed 2026-01-28 16:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-boss-21310-extended-free-fall-lanyard-6-double-leg-w-steel-snap-hook-18-extension>: HTTP status code is not handled or not allowed 2026-01-28 16:00:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moto-vest-4-pockets-cottonpolyester-4xl-black>: HTTP status code is not handled or not allowed 2026-01-28 16:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exl-unitized-wheel-tr-2-inch-x-nh-fin-grit-silicon-carbide>: HTTP status code is not handled or not allowed 2026-01-28 16:00:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-sack-00771-canvas-duffel-backpack-polyester-black-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-keyed-padlock-shackle-keyed-alike-1>: HTTP status code is not handled or not allowed 2026-01-28 16:00:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-std-showerhead>: HTTP status code is not handled or not allowed 2026-01-28 16:00:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-guard-rail-3-rib-4-ft-l-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:00:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00372-3-4-d-bolt-forged-anchor-130-420-lbs-capacity-galvanized-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drum-opener-standard-blade>: HTTP status code is not handled or not allowed 2026-01-28 16:00:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00230-bolt-hole-anchor-galvanized-steel-130-420-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-elbow-55110-12-38-12mm-tube-x-38-swift-fit-univ-thread-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 16:00:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14mm-x-25mm-metric-keystock-gold-dichromate-finish-12-inch-length-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 16:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-piece-taper-pin-assortment>: HTTP status code is not handled or not allowed 2026-01-28 16:00:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aro-plug-80271-04-14-x-14-male-nptf>: HTTP status code is not handled or not allowed 2026-01-28 16:00:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61141-2-x-4-stair-mount-powder-coated-steel-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-heavy-duty-boltless-shelving-add-on-36-in-w-x-12-in-d-x-72-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:00:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009629-20a-sgl-pole-breaker-bolt-on>: HTTP status code is not handled or not allowed 2026-01-28 16:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-8610-8-8mm-nylon>: HTTP status code is not handled or not allowed 2026-01-28 16:00:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-extra-hd-boltless-shelving-add-on-36-in-w-x-24-in-d-x-72-in-h-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:00:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-connnector-85040-02-18-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 16:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/container-dolly-f12-c-26000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:00:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-additional-shelf-with-laminated-deck-72x36-gray-2>: HTTP status code is not handled or not allowed 2026-01-28 16:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelf-48x12-with-4-clips-2>: HTTP status code is not handled or not allowed 2026-01-28 16:00:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-55040-14-14mm-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 16:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxima-ultra-36-xl-automatic-barrier-arm-opener-for-20l-booms-120v>: HTTP status code is not handled or not allowed 2026-01-28 16:00:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/93281-6-traffic-cone-chain-kit-w-reflective-collar-28-cone-height-hdpe-pvc-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:00:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30126-plastic-barrier-chain-on-a-reel-hdpe-1-5-x200-6-38mm-traffic-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-freestanding-flammable-storage-refrigerator-30-cu-ft-abt-frp-30>: HTTP status code is not handled or not allowed 2026-01-28 16:00:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34-1043-toaster-element-104v-325w-5-3-4-inch-x-5-1-4-inch>: HTTP status code is not handled or not allowed 2026-01-28 16:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/405-nrs-rw-cast-iron-gate-valve-4-in-flg-0700105>: HTTP status code is not handled or not allowed 2026-01-28 16:00:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasonic-thickness-gauge-kit-with-5-step-calibration-block-0004-resolution>: HTTP status code is not handled or not allowed 2026-01-28 16:00:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50020-500-alternating-plastic-barrier-chain-hdpe-2-x500-8-51mm-black-white>: HTTP status code is not handled or not allowed 2026-01-28 16:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50107-plastic-barrier-chain-on-a-reel-hdpe-2-x125-8-51mm-gold>: HTTP status code is not handled or not allowed 2026-01-28 16:00:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011354-gasket-for-turbo-air-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 16:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermo-hygrometer-with-bluetooth-50-connectivity-4-aaa-batteries-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:00:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012013-fan-motor>: HTTP status code is not handled or not allowed 2026-01-28 16:00:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aro-plug-80272-06-14-x-38-female-nptf>: HTTP status code is not handled or not allowed 2026-01-28 16:00:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1201079-caster-stem-5-inch-gry>: HTTP status code is not handled or not allowed 2026-01-28 16:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0005-inch-brass-shim-stock-6-inch-x-180-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:00:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/die-rack-shelf-48x18>: HTTP status code is not handled or not allowed 2026-01-28 16:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0005-inch-steel-shim-stock-6-inch-x-180-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:00:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-stainless-steel-shim-0008-inch-thick-0002-inch-laminations-20-inch-x-24-inch-sheet>: HTTP status code is not handled or not allowed 2026-01-28 16:00:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1631020-hook-dough-7-qt-stainless-steel-nsf-for-kitchen-aid>: HTTP status code is not handled or not allowed 2026-01-28 16:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-epfc-3ph-1725rpm-c6t17xk23bb>: HTTP status code is not handled or not allowed 2026-01-28 16:00:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd20h-916-inch-band-heavyduty-3-pc-part-ss-hoseclamp-34-inch-1-34-inch-clmpgdiam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 16:00:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50066-100-plastic-barrier-chain-hdpe-2-x100-8-51mm-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smartcompliance-refill-burn-dressing-4-x-4>: HTTP status code is not handled or not allowed 2026-01-28 16:00:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-tefc-1ph-3500rpm-p184k34fk2dd>: HTTP status code is not handled or not allowed 2026-01-28 16:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56h-tenv-1ph-1075rpm-a6p11nr1gg>: HTTP status code is not handled or not allowed 2026-01-28 16:00:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-branch-tee-55210-10-14-10mm-tube-x-14-swift-fit-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 16:00:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bantam-switch-self-retracting-lifeline-single-leg-steel-snap-hook-6l>: HTTP status code is not handled or not allowed 2026-01-28 16:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jet-tech-9-compartment-divider-insert-30087-rack-f-14>: HTTP status code is not handled or not allowed 2026-01-28 16:00:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30008-100-plastic-barrier-chain-hdpe-1-5-x100-6-38mm-silver>: HTTP status code is not handled or not allowed 2026-01-28 16:00:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-sanitizer-refill-for-es10-dispenser-fragrance-free-1200-ml-cap-clear-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 16:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011348-drawer-rail-for-turbo-air-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 16:00:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apex-rechargeable-led-headlamp-550-lumens-120m-beam-distance-black>: HTTP status code is not handled or not allowed 2026-01-28 16:00:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-eyebolt-5-16-18-x-3-1-4l-5-8-id-1-1-4-od-plain-pattern-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m16-flat-washer-304-stainless-steel-din-125a-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 16:00:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51725-10-heavy-duty-master-link-acetal-copolymer-2-safety-pink-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:00:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-eyebolt-5-8-11-x-12l-1-3-8-id-2-1-2-od-shoulder-pattern-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chill-its-6661-universal-hard-hat-brim-with-neck-shade-one-size-lime>: HTTP status code is not handled or not allowed 2026-01-28 16:00:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b10hspx-316-stainless-worm-gear-hose-clamp-916-inch-1-116-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 16:00:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/51718-10-heavy-duty-master-link-acetal-copolymer-2-pink-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-male-elbow-60115-8-14-8mm-tube-x-14-bspp-thread-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:00:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superscrape-mat-3x10>: HTTP status code is not handled or not allowed 2026-01-28 16:00:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-y-85310-08-12-tube-composite-body>: HTTP status code is not handled or not allowed 2026-01-28 16:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-20-ga-48-wx30-dx85-h-closed-clip-style-5-shelf-starter>: HTTP status code is not handled or not allowed 2026-01-28 16:00:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/union-89040-06-38-tube-metallic-collet>: HTTP status code is not handled or not allowed 2026-01-28 16:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-x-48-sliding-glass-door-corkboard-satin-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:00:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m2-x-0-4-x-8mm-machine-screw-phillips-pan-head-304-stainless-steel-din-7985-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 16:00:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-insulated-foam-food-container-white-24oz-25bag>: HTTP status code is not handled or not allowed 2026-01-28 16:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8013219-board-display-for-amana-litton>: HTTP status code is not handled or not allowed 2026-01-28 16:00:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50723-10-master-link-acetal-copolymer-2-purple-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-36-2-door-outdoor-enclosed-porcelain-on-steel-board>: HTTP status code is not handled or not allowed 2026-01-28 16:00:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1021173-drain-lock-floor-35-inch-rd-zurn>: HTTP status code is not handled or not allowed 2026-01-28 16:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-portion-cup-lids-for-12-1oz-containers-clear-125sleeve>: HTTP status code is not handled or not allowed 2026-01-28 16:00:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122604 pages (at 97 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:00:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481112-hinge-asssembly-door-btm-lh-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 16:00:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1481113-hinge-assembly-door-btm-rh-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 16:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-henley-shirt-3xl-regular-navy>: HTTP status code is not handled or not allowed 2026-01-28 16:00:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2801333-dispenser-portion-batter-boss-for-traex>: HTTP status code is not handled or not allowed 2026-01-28 16:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-port-usb-charging-station-with-built-in-device-storage-5v-2-4a-usb-charger-output>: HTTP status code is not handled or not allowed 2026-01-28 16:00:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd32sn-916-inch-band-heavy-duty-4-pc-hose-clamp-1-58-inch-2-716-inch-clmpg-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 16:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-plates-basket-13-l-x-16-w-x-6-h-stainless-steel-price-each-for-qty-5>: HTTP status code is not handled or not allowed 2026-01-28 16:00:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cs20h-collared-screw-worm-gear-hose-clamp-34-inch-1-34-inch-clamping-diam-10-pcs>: HTTP status code is not handled or not allowed 2026-01-28 16:01:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-48-dp-1ph-1725rpm-a4c17dj74bb>: HTTP status code is not handled or not allowed 2026-01-28 16:01:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-42-tefc-1ph-1725rpm-c42c17fb1cc>: HTTP status code is not handled or not allowed 2026-01-28 16:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dart-conex-polypropylene-portion-container-clear-1oz-125bag>: HTTP status code is not handled or not allowed 2026-01-28 16:01:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superior-graphite-33215-slip-plate3-1-gallon-can-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 16:01:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-tefc-1ph-3500rpm-c184k34fc2aa>: HTTP status code is not handled or not allowed 2026-01-28 16:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-work-shirt-3xl-short-navy>: HTTP status code is not handled or not allowed 2026-01-28 16:01:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-3-cu-yd-gray-self-dumping-hopper>: HTTP status code is not handled or not allowed 2026-01-28 16:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-rubbermaid-brute-20-gallon-trash-container-2>: HTTP status code is not handled or not allowed 2026-01-28 16:01:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solo-cup-company-reliance-mediumweight-cutlery-standard-size-fork-boxed-white>: HTTP status code is not handled or not allowed 2026-01-28 16:01:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010229-heating-element-120v-1kw>: HTTP status code is not handled or not allowed 2026-01-28 16:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261586-door-closer1-1-8-offset>: HTTP status code is not handled or not allowed 2026-01-28 16:01:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eco-products-renewable-psm-cutlery-teaspoon-cream-50pack>: HTTP status code is not handled or not allowed 2026-01-28 16:01:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m10s-all-ss-worm-gear-hose-clamp-12-inch-1-116-inch-clamping-diameter-box-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1181037-bearing-std-scah-3-4-inch-cast>: HTTP status code is not handled or not allowed 2026-01-28 16:01:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blackout-cordless-cellular-shade-48-wide-x-48-drop-fossil>: HTTP status code is not handled or not allowed 2026-01-28 16:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lite-insulated-gas-cylinder-heater-pbl20-20-lb-capacity-90f-fixed>: HTTP status code is not handled or not allowed 2026-01-28 16:01:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bucket-wringer-combo-with-down-pressure-1>: HTTP status code is not handled or not allowed 2026-01-28 16:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/create-a-clamp-set-with-50-fasteners>: HTTP status code is not handled or not allowed 2026-01-28 16:01:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56-tefc-1ph-1725rpm-m6k17fb35hh>: HTTP status code is not handled or not allowed 2026-01-28 16:01:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-coverall-xl-short-navy>: HTTP status code is not handled or not allowed 2026-01-28 16:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56h-tefc-1ph-3450rpm-c6c34fk52jj>: HTTP status code is not handled or not allowed 2026-01-28 16:01:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/741462-door-gasket-for-delfield>: HTTP status code is not handled or not allowed 2026-01-28 16:01:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-partition-flexible-nine-panel-10>: HTTP status code is not handled or not allowed 2026-01-28 16:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boardwalk-full-length-polystyrene-cutlery-fork-white-100box>: HTTP status code is not handled or not allowed 2026-01-28 16:01:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-56h-dp-1ph-1740rpm-m6k17db30ff>: HTTP status code is not handled or not allowed 2026-01-28 16:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-partition-flexible-thirteen-panel-8>: HTTP status code is not handled or not allowed 2026-01-28 16:01:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48in-rectangular-metal-mesh-picnic-table-black>: HTTP status code is not handled or not allowed 2026-01-28 16:01:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-flame-resistant-helix-work-shirt-s-tall-dark-khaki>: HTTP status code is not handled or not allowed 2026-01-28 16:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hammer-drill-bits-irwin-323000>: HTTP status code is not handled or not allowed 2026-01-28 16:01:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-commercial-cooks-scraper-9-12-white>: HTTP status code is not handled or not allowed 2026-01-28 16:01:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1571137-disconnect-quick-1-inch-ts-for-ts-brass-bronze-works>: HTTP status code is not handled or not allowed 2026-01-28 16:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gray-plastic-box-truck-8-bushel-medium-duty>: HTTP status code is not handled or not allowed 2026-01-28 16:01:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boardwalk-paper-food-baskets-3lb-capacity-redwhite>: HTTP status code is not handled or not allowed 2026-01-28 16:01:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10500-series-storage-cabinet-w-doors-36-w-x-20-d-x-29-1-2-h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 16:01:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271095-small-plastic-drawermp-554-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 16:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-2-inch-x-0025-inch-white-plastic-color-coded-slotted-shim-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 16:01:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thread-repair-kit-for-metal-thin-wall-m4-0-7-x-5-16-18-ez-310-m4>: HTTP status code is not handled or not allowed 2026-01-28 16:01:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-countertop-auto-gel-soap-sanitizer-dispenser-white-chrome>: HTTP status code is not handled or not allowed 2026-01-28 16:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-3-inch-x-0002-inch-stainless-steel-slotted-shim-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 16:01:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-plastic-box-truck-20-bushel-medium-duty>: HTTP status code is not handled or not allowed 2026-01-28 16:01:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263596-kason-10930a0004-latch-strike-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 16:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9496-65w-led-mr16-40-beam-spread-gu53-base-3000k-12v>: HTTP status code is not handled or not allowed 2026-01-28 16:01:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-original-cleaning-cloth-wipes-100-wipes-per-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thread-repair-kit-for-metal-thin-wall-3-8-24-x-1-2-13-ez-310-624>: HTTP status code is not handled or not allowed 2026-01-28 16:01:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thread-repair-kit-for-metal-thin-wall-3-8-16-x-1-2-13-ez-310-6>: HTTP status code is not handled or not allowed 2026-01-28 16:01:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-2-inch-x-0010-inch-brown-plastic-color-coded-slotted-shim-pack-of-20>: HTTP status code is not handled or not allowed 2026-01-28 16:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3230-stainless-steel-4-inch-adjustable-equipment-leg-hex-foot-3-1-2-inch-plate-mount>: HTTP status code is not handled or not allowed 2026-01-28 16:01:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s9282-3w-led-mr11-gu4-base-4000k-12v>: HTTP status code is not handled or not allowed 2026-01-28 16:01:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-magnetic-sweeper-with-release-lever-30-w>: HTTP status code is not handled or not allowed 2026-01-28 16:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-magnetic-sweeper-with-release-lever-42-w>: HTTP status code is not handled or not allowed 2026-01-28 16:01:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-plastic-box-truck-18-bushel>: HTTP status code is not handled or not allowed 2026-01-28 16:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-hang-type-magnetic-sweeper-with-forkli-hanger-60-w>: HTTP status code is not handled or not allowed 2026-01-28 16:01:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-plastic-box-truck-18-bushel>: HTTP status code is not handled or not allowed 2026-01-28 16:01:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-tecgen-flame-resistant-coverall-s-short-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-309-stainless-steel-tool-wrap-width-12-inch-length-100-thickness-0002-inch>: HTTP status code is not handled or not allowed 2026-01-28 16:01:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-flat-bags-26-x-66-6-mil-clear-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:01:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261959-basket-support13-1-2-x-13-1-2>: HTTP status code is not handled or not allowed 2026-01-28 16:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-5200mah-mobile-power-bank-usb-battery-charge-with-led-flashlight>: HTTP status code is not handled or not allowed 2026-01-28 16:01:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-resealable-zip-closure-flat-bags-18-x-24-4-mil-blue-250-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:01:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unit-heater-kb2410-1-b2-eco-w-bracket-remote-and-thermostat-240v-10kw-1-ph>: HTTP status code is not handled or not allowed 2026-01-28 16:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-clear-9>: HTTP status code is not handled or not allowed 2026-01-28 16:01:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotom-460B-460-552-mfd-125-volts-start-round>: HTTP status code is not handled or not allowed 2026-01-28 16:01:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/emergency-eye-wash-safety-station-with-empty-1-bottle-1000ml-32-oz>: HTTP status code is not handled or not allowed 2026-01-28 16:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bag-for-centipede-table-tops-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:01:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/00005-inch-stainless-steel-shim-stock-6-inch-x-50-inch-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0007-inch-diameter-music-wire-14-pound-coil>: HTTP status code is not handled or not allowed 2026-01-28 16:01:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2061224-blade-whisk-mixer-mp450-2-pk-for-robot-coupe>: HTTP status code is not handled or not allowed 2026-01-28 16:01:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protect-it-4-outlet-4ft-390-joules>: HTTP status code is not handled or not allowed 2026-01-28 16:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/countertop-cap-display-black>: HTTP status code is not handled or not allowed 2026-01-28 16:01:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-baked-epoxy-steel-step-on-can-16-quart>: HTTP status code is not handled or not allowed 2026-01-28 16:01:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exo2-mpg-04-lmotor-pro-glove>: HTTP status code is not handled or not allowed 2026-01-28 16:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-hand-pump-for-10-ton-body--frame-repair-kits-10000-psi>: HTTP status code is not handled or not allowed 2026-01-28 16:01:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0014-inch-diameter-stainless-steel-wire-1-pound-coil>: HTTP status code is not handled or not allowed 2026-01-28 16:01:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/681312-motor-kit-assembly>: HTTP status code is not handled or not allowed 2026-01-28 16:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-powered-high-precision-torque-wrench-kit-1-drive-500-2000-ftlb-10-38l>: HTTP status code is not handled or not allowed 2026-01-28 16:01:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viking-lightning-lift-floor-jack-2-pc-handle-3-12-ton-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:01:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2231299-plate-slicing-5-16-inch-c8-assembly-for-dito-dean>: HTTP status code is not handled or not allowed 2026-01-28 16:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-inch-plastic-classroom-chair-set-of-five-navy>: HTTP status code is not handled or not allowed 2026-01-28 16:01:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightning-lift153-super-duty-long-chassis-floor-jack-2-ton-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:01:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carriage-bolt-12-13-6-round-head-18-8-stainless-steel-unc-pkg-of-25-781480>: HTTP status code is not handled or not allowed 2026-01-28 16:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pv-1000w-12v-permanent-mount-inverter-pv1000>: HTTP status code is not handled or not allowed 2026-01-28 16:01:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-plastic-classroom-chair-set-of-five-red>: HTTP status code is not handled or not allowed 2026-01-28 16:01:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-hand-pump-for-4-ton-body--frame-repair-kits-8000-psi>: HTTP status code is not handled or not allowed 2026-01-28 16:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-18-gallon-wet-dry-squeegee-vacuum>: HTTP status code is not handled or not allowed 2026-01-28 16:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reusable-concrete-anchor-3-4-x-3-deep-drill-hole>: HTTP status code is not handled or not allowed 2026-01-28 16:01:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-panel-divider-4-ft-high-x-9-ft-5-inch-long-vinyl-blue-tide>: HTTP status code is not handled or not allowed 2026-01-28 16:01:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122699 pages (at 95 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:01:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hub-buddy-xl-impact-lugdisc-surface-cleaner>: HTTP status code is not handled or not allowed 2026-01-28 16:01:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-divider-6-ft-8-inch-high-x-5-ft-9-inch-long-fabric-black>: HTTP status code is not handled or not allowed 2026-01-28 16:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32-x-1-4-button-socket-cap-screw-steel-black-oxide-unc-pkg-of-100-64016>: HTTP status code is not handled or not allowed 2026-01-28 16:01:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-balancer-caliper>: HTTP status code is not handled or not allowed 2026-01-28 16:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24-x-3-4-flat-socket-cap-screw-steel-black-oxide-unc-pkg-of-100-usa-60048>: HTTP status code is not handled or not allowed 2026-01-28 16:01:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-divider-7-ft-4-inch-high-x-5-ft-9-inch-long-vinyl-blue-tide>: HTTP status code is not handled or not allowed 2026-01-28 16:01:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-32w-four-pin-horizontalmount-socket>: HTTP status code is not handled or not allowed 2026-01-28 16:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-upholstered-steel-shop-stool-with-padded-back-rest-1>: HTTP status code is not handled or not allowed 2026-01-28 16:02:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263427-extension-drain-pipe-1-1-4>: HTTP status code is not handled or not allowed 2026-01-28 16:02:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/708733-replacement-inner-filter-for-afs-1000b>: HTTP status code is not handled or not allowed 2026-01-28 16:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lyon-bench-height-modular-storage-drawer-cabinet-9>: HTTP status code is not handled or not allowed 2026-01-28 16:02:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06545-1-4-x-4-x-8-plastic-masonry-shim-4814-125pc>: HTTP status code is not handled or not allowed 2026-01-28 16:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-pack-open-head-poly-drum-metal-lever-lock-30-gallon-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 16:02:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-halogen-socket-w-24-in-leads>: HTTP status code is not handled or not allowed 2026-01-28 16:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cwrs-outdoor-single-head-remote-led-fixture-use-w-cu2w-outdoor-grey>: HTTP status code is not handled or not allowed 2026-01-28 16:02:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-l-x-30-w-16-gauge-stainless-galvanized-steel-workbench-w-undershelf>: HTTP status code is not handled or not allowed 2026-01-28 16:02:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-4-recycled-bench-without-back-portablesurface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06445-1-8-x-2-x-2-plastic-masonry-shim-2218-1020pc>: HTTP status code is not handled or not allowed 2026-01-28 16:02:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cu2wg-led-grey-emergency-unit-wet-location-w-adjustable-heads>: HTTP status code is not handled or not allowed 2026-01-28 16:02:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/262408-swivel-stem-caster3-w-1-5-8-od-tubing>: HTTP status code is not handled or not allowed 2026-01-28 16:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06055-3-8-x-2-5-16-x-3-plastic-horseshoe-shim-solid-23s-150pc>: HTTP status code is not handled or not allowed 2026-01-28 16:02:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stanley-ct10x-heavy-duty-staple-gun-cable-tacker>: HTTP status code is not handled or not allowed 2026-01-28 16:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/new-haven-6-ash-wood-picnic-table-surface-mount-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:02:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-panel-display-tower-6-ft-5-inch-high-fabric-beech>: HTTP status code is not handled or not allowed 2026-01-28 16:02:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2241023-rod-guide-1-2-inch-od-for-nemco>: HTTP status code is not handled or not allowed 2026-01-28 16:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-l-bin-rail-flexline-workstation>: HTTP status code is not handled or not allowed 2026-01-28 16:02:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x8x8-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 16:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-replacement-cap-for-squeeze-dispenser-4914-13-single-tip-closeable>: HTTP status code is not handled or not allowed 2026-01-28 16:02:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011356-drawer-rail-lefttop-btm-for-turbo-air-refrigeration>: HTTP status code is not handled or not allowed 2026-01-28 16:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-panel-display-tower-5-ft-9-inch-high-fabric-sand>: HTTP status code is not handled or not allowed 2026-01-28 16:02:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-drawer-parts-storage-cabinet-18-drawers-1>: HTTP status code is not handled or not allowed 2026-01-28 16:02:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-184-tefc-3ph-3510rpm-c184t34wk2bb>: HTTP status code is not handled or not allowed 2026-01-28 16:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-000-psi-hydraulic-jack-quick-coupling-1-4-inch-male-npt-thread-x-1-4-inch-male-nipple>: HTTP status code is not handled or not allowed 2026-01-28 16:02:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3378-4-inch-swivel-stem-caster-with-brake-for-1-inch-od-tubing-240-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-disconnect-tube-ftg-straight-adapter-wauto-shut-off-14-bulkhead-plug-x-38-barbed-hose>: HTTP status code is not handled or not allowed 2026-01-28 16:02:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-overhead-light-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:02:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phoenix-8-double-cantilever-steel-bench-without-back-in-ground-mount-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wear-ever-heavy-duty-sheet-pan-full-size-s5315-12-gauge-25-3-4-x-17-3-4-x-1>: HTTP status code is not handled or not allowed 2026-01-28 16:02:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56h-tenv-3ph-3450rpm-c6t34vk5hh>: HTTP status code is not handled or not allowed 2026-01-28 16:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1292166-filter-grease-10-inch-x-20-inch-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 16:02:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-way-metal-push-switch-5-8-in-bushing-brass-finish>: HTTP status code is not handled or not allowed 2026-01-28 16:02:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1292153-filter-grease-16-inch-x-20-inch-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-esd-square-edge-work-bench-fixed-height-1-1-4-top>: HTTP status code is not handled or not allowed 2026-01-28 16:02:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washdown-motor-56-tefc-3ph-3450-2850rpm-c6t34wk13cc>: HTTP status code is not handled or not allowed 2026-01-28 16:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ribbed-surface-mat-3-8-thick-4-foot-wide-black>: HTTP status code is not handled or not allowed 2026-01-28 16:02:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/madison-6-ipe-wood-bench-with-back-armrests-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:02:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-1-2-thick-mat-48-wide-black>: HTTP status code is not handled or not allowed 2026-01-28 16:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-square-plate-washer-13-16-i-d-1-4-thick-steel-galvanized-grade-2-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 16:02:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-sieve-5270202-22-mesh-screen-only>: HTTP status code is not handled or not allowed 2026-01-28 16:02:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-12x15x60-3-door-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3902-12-inch-h-x-20-inch-w-x-2-inch-t-stainless-steel-hood-filter-ridged-baffles>: HTTP status code is not handled or not allowed 2026-01-28 16:02:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-x-profile-o-ring-dash-238-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 16:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5ml-serological-pipet-individually-wrapped-in-bags-sterile-200-case>: HTTP status code is not handled or not allowed 2026-01-28 16:02:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-15x18x72-3-door-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-plastic-condiment-dispenser-w-standard-lid-4742-01-brown-quart-insert-size>: HTTP status code is not handled or not allowed 2026-01-28 16:02:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/centurion-domed-cover-3711c-11-1-2-diameter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sbr-rubber-push-in-grommet-for-1-hole-id-and-18-edge-thickness-38-id-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:02:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-double-tier-12x18x36-2-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:02:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fowler-001-inch-agd-indicator-black>: HTTP status code is not handled or not allowed 2026-01-28 16:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-malleable-bevel-washer-11-16-i-d-313-thick-steel-galvanized-grade-2-pkg-of-25>: HTTP status code is not handled or not allowed 2026-01-28 16:02:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-panel-18-x-73>: HTTP status code is not handled or not allowed 2026-01-28 16:02:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-flanged-shaft-15-hp-2-speed-230v>: HTTP status code is not handled or not allowed 2026-01-28 16:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvdf-syringe-filter-0-22um-30mm-sterile-30-case>: HTTP status code is not handled or not allowed 2026-01-28 16:02:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cayenne-heavy-duty-induction-hot-plate-924hidc-four-hob-digital-24-x-13-5-8-x-30>: HTTP status code is not handled or not allowed 2026-01-28 16:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fowler-6-inch-150mm-outside-digital-spring-caliper>: HTTP status code is not handled or not allowed 2026-01-28 16:02:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-of-100-buna-n-square-profile-o-rings-dash-011>: HTTP status code is not handled or not allowed 2026-01-28 16:02:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycling-container-gray-15-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1ul-inoculating-loop-individual-pack-sterile-white-218mm-600-case>: HTTP status code is not handled or not allowed 2026-01-28 16:02:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charcoal-grill>: HTTP status code is not handled or not allowed 2026-01-28 16:02:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-00194-black-phenolic-pulp-vinyl-lined-cap-28-400-neck-finish-case-of-3200>: HTTP status code is not handled or not allowed 2026-01-28 16:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-shelf-level-boltless-wood-deck-4>: HTTP status code is not handled or not allowed 2026-01-28 16:02:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-am-2-prefilters-4-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-bin-nestable-red-3>: HTTP status code is not handled or not allowed 2026-01-28 16:02:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-barstools-moonbeam-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 16:02:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/304-stainless-steel-caps-for-quick-clamp-fittings-for-1-and-1-12-tube>: HTTP status code is not handled or not allowed 2026-01-28 16:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x12x60-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:02:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-sieve-5270-14-mesh-screen-only>: HTTP status code is not handled or not allowed 2026-01-28 16:02:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sec-alum-63-crossover-truckbox-singlelid-lowpro-wedge-mat-blk-79211104>: HTTP status code is not handled or not allowed 2026-01-28 16:02:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pack-of-25-hard-buna-n-o-ring-dash-237>: HTTP status code is not handled or not allowed 2026-01-28 16:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x24x60-with-5-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:02:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-chairs-white-seatdesigner-white-top>: HTTP status code is not handled or not allowed 2026-01-28 16:02:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/intrigue-square-6-quart-induction-chafer-46135-w-porcelain-food-pan-glass-top>: HTTP status code is not handled or not allowed 2026-01-28 16:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdn-proaccurate-insta-read-cooking-thermometer-display-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:02:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lista-7-drawer-shallow-depth-cabinet-gray-no-lock>: HTTP status code is not handled or not allowed 2026-01-28 16:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/261908-kason-11245000040-hinge-for-kason>: HTTP status code is not handled or not allowed 2026-01-28 16:02:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mixer-wire-wisk-xmix0705-for-7-quart-mixer>: HTTP status code is not handled or not allowed 2026-01-28 16:02:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-table-with-4-imme-armless-chairs-navy-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 16:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waste-wtcher-single-mixed-recyclables-23-gallon-gray-blue-8105014-2>: HTTP status code is not handled or not allowed 2026-01-28 16:02:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/distribution-container-with-hinged-lid-24x20x12-1-2>: HTTP status code is not handled or not allowed 2026-01-28 16:02:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6t20a03o-zinc-die-cast-adjustable-lever-w-steel-components-3-8-16-x-79-stud>: HTTP status code is not handled or not allowed 2026-01-28 16:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6ta03o-zinc-die-cast-adjustable-lever-w-steel-components-3-8-16-tapped-thread>: HTTP status code is not handled or not allowed 2026-01-28 16:02:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/personal-device-charging-locker-w-electronic-keypad-locks-10-doors-white>: HTTP status code is not handled or not allowed 2026-01-28 16:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5ta03o-zinc-die-cast-adjustable-lever-w-steel-components-5-16-18-tapped-thread>: HTTP status code is not handled or not allowed 2026-01-28 16:02:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-plastic-tote-lid-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:02:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-width-wall-mounted-hanger-style-coat-rack-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-plastic-tote-with-lid-18-1-2x13-1-4x12-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:02:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-landmark-series-50-gallon-dome-top-frame-with-liner-black>: HTTP status code is not handled or not allowed 2026-01-28 16:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-li-desk-mover-600-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:02:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5t50a02o-zinc-die-cast-adjustable-lever-w-steel-components-5-16-18-x-1-97-stud>: HTTP status code is not handled or not allowed 2026-01-28 16:02:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122797 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6n12s33k-nylon-plastic-adjustable-lever-with-stainless-steel-components-m6-x-12mm-stud>: HTTP status code is not handled or not allowed 2026-01-28 16:02:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x-24-x-72-storage-cabinet-176-hook-on-bins>: HTTP status code is not handled or not allowed 2026-01-28 16:02:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ducati-monster-s2r-dark-800cc-motorcycle-replacement-battery-2005-2006>: HTTP status code is not handled or not allowed 2026-01-28 16:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-72x36x84-with-3-levels-wire-deck-1000lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:02:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/354170-jdp-20mf-20-floor-drill-press-115-230v-1-phase>: HTTP status code is not handled or not allowed 2026-01-28 16:02:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-pan-v-stainless-steam-table-pan-30412-1-1-4-depth-1-4-size>: HTTP status code is not handled or not allowed 2026-01-28 16:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-48x48x96-with-3-levels-wood-deck-1500lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:03:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-best-value-wire-shelving-unit-36-w-x-18-d-x-74-h-600-lb-shelf-cap-chrome>: HTTP status code is not handled or not allowed 2026-01-28 16:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011512-wire-shelf-23-inch-x-26-1-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 16:03:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-lid-9>: HTTP status code is not handled or not allowed 2026-01-28 16:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-s2454sz-solid-galvanized-shelf-54w-x-24d>: HTTP status code is not handled or not allowed 2026-01-28 16:03:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-starter-rack-96x36x96-with-3-level-steel-deck-800lb-cap-per-shelf-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:03:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690038-jvm-836-3-vertical-milling-machine-1-1-2-hp-230v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 16:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-cut-polypropylene-strapping-with-plastic-buckle-1-2-x-17-green-skid-lot>: HTTP status code is not handled or not allowed 2026-01-28 16:03:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-aluminum-hand-truck-loop-handle-pneumatic-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jvm-836-1-mill-newall-c80-3-axis-quill-dro>: HTTP status code is not handled or not allowed 2026-01-28 16:03:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jvm-836-1-mill-newall-c80-3-axis-quill-dro-and-x-powerfeed>: HTTP status code is not handled or not allowed 2026-01-28 16:03:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sweet-air-spray-fuel-odor-neutralizer-20-ounce-aerosol-1-qty>: HTTP status code is not handled or not allowed 2026-01-28 16:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263758-pump-cp-6-1-2-for-server-products>: HTTP status code is not handled or not allowed 2026-01-28 16:03:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mirage-induction-rethermalizer-74110140-11-quart-red>: HTTP status code is not handled or not allowed 2026-01-28 16:03:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-caster-chairs-moonbeam-seatstudio-teak-top>: HTTP status code is not handled or not allowed 2026-01-28 16:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-bound-wood-platform-truck-handle-24>: HTTP status code is not handled or not allowed 2026-01-28 16:03:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-exhaust-fan-shutter-mounted>: HTTP status code is not handled or not allowed 2026-01-28 16:03:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1860zx-lathe-w-tak-and-collet-closer>: HTTP status code is not handled or not allowed 2026-01-28 16:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-capacity-add-on-rack-48x24x96-with-3-levels-steel-deck-1500lb-cap-per-level-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:03:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-valuestar-electric-chain-hoist-with-chain-container-1-000-lb-capacity-2>: HTTP status code is not handled or not allowed 2026-01-28 16:03:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-barstools-sky-blue-seatmaple-top>: HTTP status code is not handled or not allowed 2026-01-28 16:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-stacking-student-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 16:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adj-workmate-stand-w-ergo-mat-ahth2460>: HTTP status code is not handled or not allowed 2026-01-28 16:03:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluted-double-wall-insulated-serving-bowls-47689-10-1-quart-round>: HTTP status code is not handled or not allowed 2026-01-28 16:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hl-series-lateral-file-36-wide-2-drawer-classic-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:03:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321131-ghb-1340a-geared-head-bench-lathe-w-newall-dp700-dro-2-hp>: HTTP status code is not handled or not allowed 2026-01-28 16:03:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-cafe-salt-pepper-shakers-313-02-plastic-top-3-oz>: HTTP status code is not handled or not allowed 2026-01-28 16:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alternating-tread-stairs-ats1356>: HTTP status code is not handled or not allowed 2026-01-28 16:03:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-seminar-table-72-x-18-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 16:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1411199-disposal-surface-mounted-for-bobrick>: HTTP status code is not handled or not allowed 2026-01-28 16:03:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traex-plastic-flatware-cylinder-storage-system-52642-3-1-2-diameter-white>: HTTP status code is not handled or not allowed 2026-01-28 16:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-round-table-with-4-imme-armless-barstools-coral-seatriver-cherry-top>: HTTP status code is not handled or not allowed 2026-01-28 16:03:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mega-wing-brush-sections-set-for-96-mega-broom-forklift-broom-sweepers-set-of-11>: HTTP status code is not handled or not allowed 2026-01-28 16:03:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/690098-jtm-4vs-milling-machine-w-acu-rite-200s-dro-x-y-axis-powerfeeds-3-hp>: HTTP status code is not handled or not allowed 2026-01-28 16:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-table-with-4-imme-armless-barstools-moonbeam-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 16:03:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datacare-2-hour-key-lock-fire-water-resistant-media-safe-0-58-cu-ft-off-white-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-adjust-boltless-shelf-truck-with-laminate-shelves-17>: HTTP status code is not handled or not allowed 2026-01-28 16:03:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261138665-bluefire-quick-change-cloth-disc-3-inch-dia-24-grit-zirconia-alumina-type-ii>: HTTP status code is not handled or not allowed 2026-01-28 16:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014143-hood-filter-type6-stainless-steel-16x16-w-spark-arrest0r>: HTTP status code is not handled or not allowed 2026-01-28 16:03:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-96x24-high-capacity-rack-wire-deck-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:03:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-1753-mesh-filter-20-inch-x-25-inch-x-2-inch>: HTTP status code is not handled or not allowed 2026-01-28 16:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-grid-wall-peg-hook>: HTTP status code is not handled or not allowed 2026-01-28 16:03:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-durable-floor-tape-black-2-x-100-3-pack-wear-resistant-pvc>: HTTP status code is not handled or not allowed 2026-01-28 16:03:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/die-grinder-metal-fabrication>: HTTP status code is not handled or not allowed 2026-01-28 16:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-slat-wall-accessory-shelf-bracket-tubular>: HTTP status code is not handled or not allowed 2026-01-28 16:03:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-drawer-cabinet-with-48-drawers-34-1-8-w-x-12-1-4-d-x-33-3-4-h>: HTTP status code is not handled or not allowed 2026-01-28 16:03:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/341035-urn-heater208v-7000w>: HTTP status code is not handled or not allowed 2026-01-28 16:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-commrecial-dual-induction-range-wih800>: HTTP status code is not handled or not allowed 2026-01-28 16:03:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slant-shelf-48x24>: HTTP status code is not handled or not allowed 2026-01-28 16:03:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48w-x-30d-mobile-workbench-stainless-steel-square-edge-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:03:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gearmotor-dc-parallel-27rpm-tenv>: HTTP status code is not handled or not allowed 2026-01-28 16:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-saga-frameless-safety-glasses-matte-black-smoke-lens>: HTTP status code is not handled or not allowed 2026-01-28 16:03:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2231000-basket-inner-w-lid-vp1-vp3>: HTTP status code is not handled or not allowed 2026-01-28 16:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261127733-metalite-cloth-roll-2-inch-w-x-50-yds-aluminum-oxide-p60-grit>: HTTP status code is not handled or not allowed 2026-01-28 16:03:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/norton-66261131631-paper-sheet-9-inch-x-11-inch-p150-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 16:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grid-wall-bin-accessory-bin-divider-sold-pack-of-6-18>: HTTP status code is not handled or not allowed 2026-01-28 16:03:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7551-coated-waterproof-winter-work-gloves-2xl-orange-a5>: HTTP status code is not handled or not allowed 2026-01-28 16:03:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7941-hi-vis-cut-resistant-protective-arm-sleeve-22-1-pair-lime>: HTTP status code is not handled or not allowed 2026-01-28 16:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-bell-wire-staple-white-40-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:03:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-heavy-duty-reel-rack-starter-unit-with-five-pairs-of-reel-rod-holders-48-x-26-x-96-textured-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7401-coated-waterproof-winter-work-gloves-medium-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:03:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-7401-coated-waterproof-winter-work-gloves-xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:03:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnet-lid-lifter-900-lbs-flat-items-450-lbs-round-items>: HTTP status code is not handled or not allowed 2026-01-28 16:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/best-value-pallet-truck-pallet-jack-5500-lb-capacity-27-x-48>: HTTP status code is not handled or not allowed 2026-01-28 16:03:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/321213-door-gasket-25-ft>: HTTP status code is not handled or not allowed 2026-01-28 16:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/generic-yellow-wall-case-w-label-kit-1-shelf-medium>: HTTP status code is not handled or not allowed 2026-01-28 16:03:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-square-table-with-4-imme-armless-barstools-coral-seatespresso-top>: HTTP status code is not handled or not allowed 2026-01-28 16:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kyorene-pro-cut-resistant-gloves-hct-micro-foam-nitrile-coated-ansi-a5-2xl-gray-12-pair>: HTTP status code is not handled or not allowed 2026-01-28 16:03:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viewsonic-ps600w-3500-lumens-dlp-projector>: HTTP status code is not handled or not allowed 2026-01-28 16:03:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equipto-30-w-modular-cabinet-10-drawers-w-dividers-59-h-no-lock-smooth-office-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-lift-for-48-cu-ft-hopper-trucks-1>: HTTP status code is not handled or not allowed 2026-01-28 16:03:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/induction-buffet-table-7552283-medium-oak-60-x-30>: HTTP status code is not handled or not allowed 2026-01-28 16:03:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-sign-no-parking-loading-zone-080mm-thick>: HTTP status code is not handled or not allowed 2026-01-28 16:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gpx-7-in-portable-dvd-player>: HTTP status code is not handled or not allowed 2026-01-28 16:03:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breathing-wall-air-filtration-panel-8-workers-co-monitor>: HTTP status code is not handled or not allowed 2026-01-28 16:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x20-2-inch-frame-8-leg-canopy-white>: HTTP status code is not handled or not allowed 2026-01-28 16:03:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redco-grill-tender-replacement-blades-1102r-6-pc>: HTTP status code is not handled or not allowed 2026-01-28 16:03:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/everlite-tritium-exit-sign-20-year-single-face-green>: HTTP status code is not handled or not allowed 2026-01-28 16:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-1-2-security-sheet-metal-screw-flat-torx-head-steel-black-oxide-ft-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:03:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunnex-plate-mounted-leveling-caster-1000>: HTTP status code is not handled or not allowed 2026-01-28 16:03:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8ab-x-1-1-2-security-sheet-metal-screw-flat-spanner-head-18-8-stainless-steel-usa-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441701-probe-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:03:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-plate-caster-6-polyurethane-wheel-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/441704-ignition-control-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:03:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-aluminum-male-short-shank-coupling>: HTTP status code is not handled or not allowed 2026-01-28 16:03:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-epdm-short-shank-gasket>: HTTP status code is not handled or not allowed 2026-01-28 16:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nova-eh-20-womens-safety-work-boots-steel-toe-18h-size-7w-black>: HTTP status code is not handled or not allowed 2026-01-28 16:03:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2721149-bearing-flanged-m-9025-for-nieco-corp>: HTTP status code is not handled or not allowed 2026-01-28 16:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dagr-af-safety-glasses-matte-gray-anti-fog-smoke-lens-52133>: HTTP status code is not handled or not allowed 2026-01-28 16:03:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4143-surrey-3-light-vanity-wall-frosted-brushed-nickel-23-75w-x-10-25h>: HTTP status code is not handled or not allowed 2026-01-28 16:03:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3000va-ups-smart-online-rackmount-2u-economy-mode-7-outlets>: HTTP status code is not handled or not allowed 2026-01-28 16:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hard-hat-suspension-ratchet-4-point-one-size-fits-most>: HTTP status code is not handled or not allowed 2026-01-28 16:03:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-292-ballerina-7-light-vanity-wall-alabaster-old-bronze-48w-x-7-625h>: HTTP status code is not handled or not allowed 2026-01-28 16:03:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122896 pages (at 99 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-32-x-3-4-security-machine-screw-flat-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:03:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500va-ups-smart-pro-rack-tower-line-interactive-7-outlets>: HTTP status code is not handled or not allowed 2026-01-28 16:03:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nova-eh-20-womens-safety-work-boots-steel-toe-18h-size-8w-black>: HTTP status code is not handled or not allowed 2026-01-28 16:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-24-x-3-4-security-machine-screw-flat-torx-head-302hq-stainless-steel-ft-unc-100-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:03:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nova-eh-20-womens-safety-work-boots-steel-toe-18h-size-11-black>: HTTP status code is not handled or not allowed 2026-01-28 16:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-x-2-security-machine-screw-button-torx-head-302hq-stainless-steel-ft-unc-100-pk-75426>: HTTP status code is not handled or not allowed 2026-01-28 16:03:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-8-black>: HTTP status code is not handled or not allowed 2026-01-28 16:04:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-inch-b-aluminum-spec-cam-and-groove-coupler-x-male-npt>: HTTP status code is not handled or not allowed 2026-01-28 16:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/322183-kason-401sa6040084-strip-curtain-4-x-84>: HTTP status code is not handled or not allowed 2026-01-28 16:04:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-eagle-174-jacket-green-inner-cuffs-storm-fly-front-hood-snaps-large>: HTTP status code is not handled or not allowed 2026-01-28 16:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4972-boxwood-1-light-outdoor-wall-clear-beveled-rustic-bronze-8w-x-22h>: HTTP status code is not handled or not allowed 2026-01-28 16:04:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inertia-womens-safety-work-boots-steel-toe-7h-size-85-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 16:04:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omega-womens-safety-work-boots-steel-toe-6h-size-85-bourbon-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-eagle-174-jacket-green-inner-cuffs-storm-fly-front-hood-snaps-xs>: HTTP status code is not handled or not allowed 2026-01-28 16:04:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nova-eh-20-womens-safety-work-boots-steel-toe-18h-size-95-black>: HTTP status code is not handled or not allowed 2026-01-28 16:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spac-trac-4-unit-storage-shelving-poly-z-brite-36x24x86>: HTTP status code is not handled or not allowed 2026-01-28 16:04:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/263240-bearing-for-scotsman>: HTTP status code is not handled or not allowed 2026-01-28 16:04:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-inch-steel-hose-mender>: HTTP status code is not handled or not allowed 2026-01-28 16:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-3388-lower-blade-assembly-for-lettuce-cutter>: HTTP status code is not handled or not allowed 2026-01-28 16:04:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-t-shirt-short-sleeve-1-pocket-fl-lime-large>: HTTP status code is not handled or not allowed 2026-01-28 16:04:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/265849-saw-guide-upper-w-plug-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 16:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spac-trac-5-unit-storage-shelving-poly-z-brite-36x21x74>: HTTP status code is not handled or not allowed 2026-01-28 16:04:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-704-porch-wall-white-globe-gloss-white-5-5w-x-8-5h>: HTTP status code is not handled or not allowed 2026-01-28 16:04:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valence-womens-safety-work-boots-steel-toe-7h-size-5-vegan-midnight-black>: HTTP status code is not handled or not allowed 2026-01-28 16:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5in-random-orbit-sander>: HTTP status code is not handled or not allowed 2026-01-28 16:04:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-sink-3-station-with-electronic-faucets-rounlegs-60l-x20wx8d>: HTTP status code is not handled or not allowed 2026-01-28 16:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4961-boxwood-1-light-outdoor-wall-clear-beveled-white-8w-x-15-75h>: HTTP status code is not handled or not allowed 2026-01-28 16:04:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-107-class-headwear-61587-lime>: HTTP status code is not handled or not allowed 2026-01-28 16:04:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magliner-174-li-plus-8482-folding-battery-powered-li-truck-lps4814nw1-pail-li-er>: HTTP status code is not handled or not allowed 2026-01-28 16:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-long-sleeve-shirt-silver-tape-type-r-class-3-fl-lime-4xl>: HTTP status code is not handled or not allowed 2026-01-28 16:04:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-hard-hat-area-vinyl-7-h-x-10-w>: HTTP status code is not handled or not allowed 2026-01-28 16:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sgna021gv-self-closing-safety-gate-19-5-inch-to-23-inch-length-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 16:04:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-long-sleeve-shirt-silver-tape-type-r-class-3-fl-lime-small>: HTTP status code is not handled or not allowed 2026-01-28 16:04:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-13-cognac-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-2-economy-mesh-vest-61433-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:04:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-purpose-crevice-nozzle-50mm-diameter-9-988-117-0>: HTTP status code is not handled or not allowed 2026-01-28 16:04:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/badger-neoprene-boots-steel-toe-upper-rubber-sole-steel-shank-15-h-blk-size-4>: HTTP status code is not handled or not allowed 2026-01-28 16:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aware-wear-ansi-class-2-economy-mesh-vest-61664-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:04:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcat24-40mlg-edu-contemporary-led-2x4-recessed-troffer-40w-4800l-4000k-0-10v-dim-dlc>: HTTP status code is not handled or not allowed 2026-01-28 16:04:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lcat22-35mlg-edu-contemporary-led-2x2-recessed-troffer-30w-3300l-3500k-0-10v-dim-dlc>: HTTP status code is not handled or not allowed 2026-01-28 16:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizon-womens-safety-work-boots-alloy-toe-8h-size-5-carbon-black>: HTTP status code is not handled or not allowed 2026-01-28 16:04:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-steel-wheel-riser-48-x-18-x-6>: HTTP status code is not handled or not allowed 2026-01-28 16:04:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valence-womens-safety-work-boots-steel-toe-7h-size-105-vegan-midnight-black>: HTTP status code is not handled or not allowed 2026-01-28 16:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-womens-safety-work-boots-steel-toe-4h-size-5-black>: HTTP status code is not handled or not allowed 2026-01-28 16:04:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/240172-white-hdpe-plain-pail-lid-for-3-5-5-and-6-gallon-pails-case-of-4>: HTTP status code is not handled or not allowed 2026-01-28 16:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mount-flexible-stake-36-in-h-white>: HTTP status code is not handled or not allowed 2026-01-28 16:04:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2721326-screen-flame-arrestor-mpb94-for-nieco-corp>: HTTP status code is not handled or not allowed 2026-01-28 16:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2762016-tray-drip-l3d-lds-for-fetco>: HTTP status code is not handled or not allowed 2026-01-28 16:04:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durham-cut-off-wheel-dispenser-4-1-8w-x-4-1-8d-x-4-1-4h-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:04:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-272-1-light-ceiling-flush-mount-w-alabaster-glass-old-bronze-12-5w-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 16:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-box-spreader-bar-white>: HTTP status code is not handled or not allowed 2026-01-28 16:04:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x18x96-with-5-shelves-wire-deck-2>: HTTP status code is not handled or not allowed 2026-01-28 16:04:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36x24x84-with-5-shelves-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/horizontal-divider-4-w-x-5-d-x-3-h-4-w-x-7-d-x-3-h-hook-on-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 16:04:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glc-01131-4oz-clear-boston-round-bottle-with-22-400-black-phenolic-cap-case-of-24>: HTTP status code is not handled or not allowed 2026-01-28 16:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp125032-safety-poster-dont-be-a-fool-play-it-cool-22-h-x-17-w-poster-paper>: HTTP status code is not handled or not allowed 2026-01-28 16:04:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-jewelers-saw-6-inch-dia-x-051-inch-face-x-1-inch-hole-x-232-teeth>: HTTP status code is not handled or not allowed 2026-01-28 16:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-footplate-5inw-x-8inl-x-11-4-5inh-2-pieces-24-set-nuts-bolts>: HTTP status code is not handled or not allowed 2026-01-28 16:04:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-stem-caster-4-dia-thermo-pro-bore-with-tech-lock-1-1-2-h-stem>: HTTP status code is not handled or not allowed 2026-01-28 16:04:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-high-letter-starter-empty-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-48inw-x-18ind-x-48inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:04:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-industrial-floor-fan-1>: HTTP status code is not handled or not allowed 2026-01-28 16:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010047-brown-bushing-for-drawswitch-54385-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 16:04:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-starter-36inw-x-12ind-x-84inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-48inw-x-12ind-x-84inh-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:04:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-jewelers-saw-3-inch-dia-x-025-inch-face-x-1-inch-hole-x-230-teeth>: HTTP status code is not handled or not allowed 2026-01-28 16:04:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hss-tmx-jewelers-saw-3-inch-dia-x-035-inch-face-x-1-inch-hole-x-168-teeth>: HTTP status code is not handled or not allowed 2026-01-28 16:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-8-portable-wire-grid-wall-panel-chrome>: HTTP status code is not handled or not allowed 2026-01-28 16:04:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/76-270-2-light-ceiling-fixt-square-ruffled-edge-white-11-75w-x-4-75h>: HTTP status code is not handled or not allowed 2026-01-28 16:04:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011237-cap-tube-049-inch-id-x108-inch-for-beverage-air>: HTTP status code is not handled or not allowed 2026-01-28 16:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-universal-utility-mat-black-95l-x-46w>: HTTP status code is not handled or not allowed 2026-01-28 16:04:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010790-block-red-for-stero-dishwashers>: HTTP status code is not handled or not allowed 2026-01-28 16:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-climbing-stock-picking-ladder-1>: HTTP status code is not handled or not allowed 2026-01-28 16:04:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fe1016sf-condenser-fan-motor>: HTTP status code is not handled or not allowed 2026-01-28 16:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-air-contractor-8-gallon-portable-air-compressor-with-5-5-hp-honda-gas-engine>: HTTP status code is not handled or not allowed 2026-01-28 16:04:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-48inw-x-24ind-x-96inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-5-step-steel-rolling-ladder-14-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 16:04:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-x-1-2-air-push-to-connect-nylon-tube-connect-tee-fitting>: HTTP status code is not handled or not allowed 2026-01-28 16:04:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-shelf-boltless-shelving-add-on-48inw-x-18ind-x-60inh-wire-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011169-probe-35-inch-needle-fastresponse>: HTTP status code is not handled or not allowed 2026-01-28 16:04:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ego-st1520-24-new-brushless-hedge-trimmer-kit-210w-charger-2-5ah-battery>: HTTP status code is not handled or not allowed 2026-01-28 16:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aro-steel-plug-1-4-x-1-4-female-npt-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 16:04:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-4951-cove-neck-1-light-outdoor-hang-clear-seeded-white-7w-x-11-75h>: HTTP status code is not handled or not allowed 2026-01-28 16:04:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-370-3-light-pendant-alabaster-bowl-brushed-nickel-22-5w-x-17-5h>: HTTP status code is not handled or not allowed 2026-01-28 16:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-343-empire-4-light-vanity-wall-alabaster-brushed-nickel-28-75w-x-6-125h>: HTTP status code is not handled or not allowed 2026-01-28 16:04:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266200-leg-stainless-steel-4-inch-flanged-toe>: HTTP status code is not handled or not allowed 2026-01-28 16:04:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esd-safe-vinyl-clean-room-chair-with-nylon-base-with-drag-chain-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-9-step-steel-rolling-ladder-21-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 16:04:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-302-6-light-vanity-wall-brushed-nickel-36w-x-4-75h>: HTTP status code is not handled or not allowed 2026-01-28 16:04:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-fabric-chair-with-nylon-base-dark-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pat38-portable-gas-compressor-5-5-hp-8-gallon-wheelbarrow-9-5-cfm-honda-gx160>: HTTP status code is not handled or not allowed 2026-01-28 16:04:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-copper-press-x-mpt-w-male-adapter>: HTTP status code is not handled or not allowed 2026-01-28 16:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-vibration-isolation-hanger-3-long-3-wide-red>: HTTP status code is not handled or not allowed 2026-01-28 16:04:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cgw-412x5811-compact-c3-ceramic-60-grit-flap-disc>: HTTP status code is not handled or not allowed 2026-01-28 16:04:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-vibration-isolation-hanger-3-long-3-wide-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qp-pro-two-stage-air-compressor-15-hp-120-gallon-horizontal-460v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 16:04:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-5-neoprene-leveling-mount-green>: HTTP status code is not handled or not allowed 2026-01-28 16:04:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-fabric-dra-ing-stool>: HTTP status code is not handled or not allowed 2026-01-28 16:04:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 122994 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-tall-mesh-back-dra-ing-stool>: HTTP status code is not handled or not allowed 2026-01-28 16:04:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-sling-led-canopy-light-5000l-39w-4000k-120-277v-white>: HTTP status code is not handled or not allowed 2026-01-28 16:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009710-goodyear-84250-belt>: HTTP status code is not handled or not allowed 2026-01-28 16:04:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fuel-delivery-3-4-25-ft-250-psi-fuel-with-hose-44-lbs>: HTTP status code is not handled or not allowed 2026-01-28 16:04:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meteorlite-55-low-profile-strobe-light-12-80-volts-permanent-mount-red>: HTTP status code is not handled or not allowed 2026-01-28 16:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/meteorlite-5-high-profile-strobe-light-12-80-volts-pipe-mount-amber>: HTTP status code is not handled or not allowed 2026-01-28 16:04:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gs-neutral-cleaner-concentrate-1-oz-packs-2384507>: HTTP status code is not handled or not allowed 2026-01-28 16:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-agm-battery-12v-150ah-641245>: HTTP status code is not handled or not allowed 2026-01-28 16:05:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/342274-wire-heater-22-ohm-25>: HTTP status code is not handled or not allowed 2026-01-28 16:05:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-chair-mat-for-carpet-46w-x-60l-straight-edge-ind-pkg>: HTTP status code is not handled or not allowed 2026-01-28 16:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-35-heavy-duty-rigid-caster-35-8-irb-semi-steel-8-dia-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:05:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-chair-mat-for-hard-floor-36w-x-48l-with-20-x-10-lip-straight-edge-no-packaging>: HTTP status code is not handled or not allowed 2026-01-28 16:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221426-switch-thermo-for-waring-products>: HTTP status code is not handled or not allowed 2026-01-28 16:05:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/03-13-light-medium-duty-swivel-caster-03-3-ph-polyolefin-3-dia-250-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-36inw-x-24ind-x-84inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:05:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-doors-cell-phone-locker-22x16x26-black-with-combo-locks>: HTTP status code is not handled or not allowed 2026-01-28 16:05:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/serrated-24-w-4-step-steel-rolling-ladder-10-d-top-step-kdsr104242>: HTTP status code is not handled or not allowed 2026-01-28 16:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011485-expansion-valve-for-hoshizaki-of-america>: HTTP status code is not handled or not allowed 2026-01-28 16:05:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-plain-trolley-1-2-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:05:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazardous-waste-flammable-storage-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 16:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-shelf-boltless-shelving-starter-48inw-x-12ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:05:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-conductor-grounded-temp-flex-35-yellow-cord-300v>: HTTP status code is not handled or not allowed 2026-01-28 16:05:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inside-stational-deck-dome-oven-pentagonal-exterior-59-gas-97500btu-120v-digital-control>: HTTP status code is not handled or not allowed 2026-01-28 16:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-boltless-shelving-starter-36inw-x-24ind-x-96inh-laminate-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:05:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-low-headroom-geared-trolley-6-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/621130-thermometer-dial>: HTTP status code is not handled or not allowed 2026-01-28 16:05:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-maple-square-edge-4-drawer-cabinet-workbench>: HTTP status code is not handled or not allowed 2026-01-28 16:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotating-deck-dome-oven-flat-top-59-inside-deck-gas-97500btu-208-240v-digital-control>: HTTP status code is not handled or not allowed 2026-01-28 16:05:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-anti-static-square-edge-4-drawer-cabinet-workbench>: HTTP status code is not handled or not allowed 2026-01-28 16:05:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stem-swivel-caster-s11-03-4-pbb-polyurethane-with-polyethylene-center-4-dia-250-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-wall-container-mesh-sides-solid-base-23-3-4-x15-3-4-x8-1-4>: HTTP status code is not handled or not allowed 2026-01-28 16:05:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-series-platform-truck-e-98-q-3672-poe-hardwood-36-x-72-8-wheels-1400-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/e-series-platform-truck-e-98-q-3060-rte-hardwood-30-x-60-8-rubber-wheels-1400-lb>: HTTP status code is not handled or not allowed 2026-01-28 16:05:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/straight-wall-container-solid-23-3-4-x-15-3-4-x-8-1-4-2>: HTTP status code is not handled or not allowed 2026-01-28 16:05:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hand-chain-hoist-1-ton-30-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mars-60-in-low-profile-lopro-series-air-curtain-heated-9kw-208-1-60>: HTTP status code is not handled or not allowed 2026-01-28 16:05:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012548-roller-conveyor-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 16:05:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12ft-aluminum-team-bench-with-back-surface-mount>: HTTP status code is not handled or not allowed 2026-01-28 16:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15ft-aluminum-team-bench-without-back-galvanized-frame-in-ground-mount>: HTTP status code is not handled or not allowed 2026-01-28 16:05:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-geared-trolley-3-ton-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cyclone-hand-chain-hoist-on-low-headroom-plain-trolley-1-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:05:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6ft-aluminum-team-bench-without-back-galvanized-frame-surface-mount>: HTTP status code is not handled or not allowed 2026-01-28 16:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superior-tv-cart-with-glossy-glass-base-and-av-shelf-for-32-in-55-in-tvs>: HTTP status code is not handled or not allowed 2026-01-28 16:05:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2200-series-small-med-parts-hndl-conveyor-std-belt-3-x-12-80-lb-cap-10-61-fpm>: HTTP status code is not handled or not allowed 2026-01-28 16:05:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dixie-industries-skidding-tong-3-4-w-swivel-hook-16-max-opening>: HTTP status code is not handled or not allowed 2026-01-28 16:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ebf-187-8>: HTTP status code is not handled or not allowed 2026-01-28 16:05:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-3-shelf-boltless-shelving-starter-48inw-x-12ind-x-72inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hand-chain-hoist-2-ton-20-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:05:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/royal-bpw-1150-16-2>: HTTP status code is not handled or not allowed 2026-01-28 16:05:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/biohazard-safety-spill-kit-5500-001>: HTTP status code is not handled or not allowed 2026-01-28 16:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-vertical-plate-clamp-lifting-attachment-2000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:05:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versa-4-shelf-mobile-rack-cabinet-with-locking-panels-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100br38-pk-230v-100w-incandescent-w-european-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 16:05:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adaptable-tricycle-1speed-coaster-brake-platform-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:05:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-a-frame-bin-cart-2-louvered-panels-48w-x-30d-x-62h-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-4-shelf-boltless-shelving-add-on-36inw-x-18ind-x-84inh-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:05:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/walk-through-with-handrails-fixed-access-ladder-yellow-14>: HTTP status code is not handled or not allowed 2026-01-28 16:05:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011499-evaporator-coil-for-hobart>: HTTP status code is not handled or not allowed 2026-01-28 16:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-34-inch-high-post-nexelon-4-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:05:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2751007-switch-tgl-spst-1-4-tab-for-hamilton-beach>: HTTP status code is not handled or not allowed 2026-01-28 16:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35q-cl-dc-35w-halogen-w-dc-bay-base>: HTTP status code is not handled or not allowed 2026-01-28 16:05:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/windsor-versamatic-triple-layer-bag-vacuum-bag>: HTTP status code is not handled or not allowed 2026-01-28 16:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5181013-stop-switch-complete-for-powersoak>: HTTP status code is not handled or not allowed 2026-01-28 16:05:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-single-wall-corrugated-boxes-17-14l-x-11-14w-x-6h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 16:05:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-carrying-tab-lock-mailers-20l-x-11-38w-x-5-12h-white-pk-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:05:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnifier-light-mounting-bracket-2>: HTTP status code is not handled or not allowed 2026-01-28 16:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/621032-thermometer2-inch-200-1000f-surf-mt>: HTTP status code is not handled or not allowed 2026-01-28 16:05:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/621145-pocket-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 16:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010193-switch-power-dpst-splash-proof>: HTTP status code is not handled or not allowed 2026-01-28 16:05:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-w-diamond-sof-tred-mat-black-yellow-1>: HTTP status code is not handled or not allowed 2026-01-28 16:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-socket-1-2-drive-1-1-16-100-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 16:05:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-w-heritage-rib-mat-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 16:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-extension-1-2-drive-140-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 16:05:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/federal-signal-two-way-intercom-hazardous-location>: HTTP status code is not handled or not allowed 2026-01-28 16:05:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/266147-latch-w-strike>: HTTP status code is not handled or not allowed 2026-01-28 16:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/federal-signal-hazardous-location-strobe-warning-light-120-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:05:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/federal-signal-vibratone-horn-025-24-99>: HTTP status code is not handled or not allowed 2026-01-28 16:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corner-bumper-guard-1m-39-and-a-half-inches-l-by-4-and-a-half-inches-w-red-white-60-6880>: HTTP status code is not handled or not allowed 2026-01-28 16:05:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/letter-size-fireproof-file-cabinet-18-w-x-31-1-2-d-x-53-h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:05:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tn-pleated-filter-for-tn-s5-filter-kit-sweeper>: HTTP status code is not handled or not allowed 2026-01-28 16:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-mag-wheel-power-socket-1-2-drive-6-pt-deep>: HTTP status code is not handled or not allowed 2026-01-28 16:05:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tfx-green-certified-instant-hand-sanitizer-foam-refill-1200-ml-clear-2-carton-5391-02>: HTTP status code is not handled or not allowed 2026-01-28 16:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-24l-x-18w-x-36h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:05:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-wide-rib-corrugated-rubber-floor-mat-1-8-thick-x-3-x-8-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:05:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-shelving-48x18x84-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baby-changing-table-liner-dispenser-stainless-steel-200-ssld>: HTTP status code is not handled or not allowed 2026-01-28 16:05:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-ram-8-ton-long>: HTTP status code is not handled or not allowed 2026-01-28 16:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vertical-baby-changing-table-light-gray-100-ev->: HTTP status code is not handled or not allowed 2026-01-28 16:05:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cardboard-corrugated-boxes-26l-x-18w-x-14h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rain-bonnet-lid-36-gallon-green>: HTTP status code is not handled or not allowed 2026-01-28 16:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mag-wheel-socket-set-1-2-drive-7pc>: HTTP status code is not handled or not allowed 2026-01-28 16:05:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-plate-caster-4-molded-plastic-wheel-420-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:05:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-socket-1-2-drive-22mm-7-8-140-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 16:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-13-12l-x-3-12w-x-3-12h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 16:05:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-iron-horse-3200-36-w-x-18-d-x-72-h-5-shelf-storage-rack-gunmetal-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-steel-5x2-with-1-2-axle>: HTTP status code is not handled or not allowed 2026-01-28 16:05:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/homak-og04056010-rs-pro-series-54-1-2-w-x-24-d-x-40-3-8-h-10-drawer-orange-roller-tool-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 16:05:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-file-storage-boxes-24l-x-15w-x-10h-white-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 16:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-w-x-36-d-maple-butcher-block-square-edge-workbench-adjustable-height-black>: HTTP status code is not handled or not allowed 2026-01-28 16:05:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cft8w-4p-841-18w-compact-fluorescent-w-gx24vq-2-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 16:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-replacement-battery-rbc2>: HTTP status code is not handled or not allowed 2026-01-28 16:05:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 123096 pages (at 102 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:05:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apc-replacement-battery-rbc4>: HTTP status code is not handled or not allowed 2026-01-28 16:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-desk-with-3-drawers-48-x-24-cherry>: HTTP status code is not handled or not allowed 2026-01-28 16:05:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-cardboard-corrugated-boxes-10l-x-10w-x-72h-kraft-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-28 16:05:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pic-gauges-2-1-2-pressure-gauge-liquid-filled-160-psi-ss-case-center-back-mount-pro-202l-254f>: HTTP status code is not handled or not allowed 2026-01-28 16:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pic-gauges-2-1-2-vacuum-gauge-liquid-filled-6000-psi-stainless-case-lower-mount-pro-201l-254r>: HTTP status code is not handled or not allowed 2026-01-28 16:05:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cft26w-4p-841-26w-compact-fluorescent-w-gx24vq-3-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 16:05:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8011009-thermostat>: HTTP status code is not handled or not allowed 2026-01-28 16:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-95-replacement-bump-cap-4-point-standard-suspension-19120>: HTTP status code is not handled or not allowed 2026-01-28 16:06:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-wall-corrugated-sheets-18l-x-24w-black-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:06:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-hc1836hp-heater-proofer-non-insulated-holds-36-18-x26-pans-lexan-door>: HTTP status code is not handled or not allowed 2026-01-28 16:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24w-x-24-l-adjustable-height-step-stands-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:06:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010496-micro-switch-assembly>: HTTP status code is not handled or not allowed 2026-01-28 16:06:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cfd13w-4p-835-13w-compact-fluorescent-w-g24vq-1-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-28 16:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s345c-safety-glasses-clear-frame-clear-lens-hard-coat>: HTTP status code is not handled or not allowed 2026-01-28 16:06:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-literature-mailers-9l-x-6-12w-x-4h-kraft-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 16:06:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48w-x-24-l-2-step-adjustable-height-step-stands-carbon-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-ton-ironworker-3-phase-575v-iw100-3p575>: HTTP status code is not handled or not allowed 2026-01-28 16:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roller-follower-full-comp-inch-cry20vuur-crowned-od-double-sealed-1-14-od>: HTTP status code is not handled or not allowed 2026-01-28 16:06:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-double-wall-corrugated-boxes-20l-x-20w-x-24h-kraft-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:06:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-ton-ironworker-3-phase-230v-iw100-3p230>: HTTP status code is not handled or not allowed 2026-01-28 16:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prem-met-air-fresh-66-oz-arsl-dutch-apple-spice-12>: HTTP status code is not handled or not allowed 2026-01-28 16:06:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-socket-1-2-drive-19mm-55-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 16:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torque-limiting-socket-1-2-drive-17mm-110-ft-lbs>: HTTP status code is not handled or not allowed 2026-01-28 16:06:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conductive-bin-nestable-5>: HTTP status code is not handled or not allowed 2026-01-28 16:06:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fc22t5-841-22w-fluorescent-w-2gx13-base-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 16:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/de-flex-anti-fatigue-modular-mat-tile-18-by-18-black-8-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:06:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8014565-buzzer-adjustable-120v-60hz-for-southbend-range>: HTTP status code is not handled or not allowed 2026-01-28 16:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-container-without-lid-36>: HTTP status code is not handled or not allowed 2026-01-28 16:06:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100-ton-deluxe-ironworker-3-phase-460v-w-hydraulic-accessory-pack-iw100dx-3p460-ac800>: HTTP status code is not handled or not allowed 2026-01-28 16:06:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-cardboard-corrugated-boxes-17l-x-7w-x-7h-kraft-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 16:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-cardboard-corrugated-boxes-60l-x-6w-x-6h-kraft-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-28 16:06:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-axle-jack-80-50-ton-2-stage-air>: HTTP status code is not handled or not allowed 2026-01-28 16:06:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a12p12-panel-junction-box-1075x1088-fits-12x12-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 16:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-mailers-10l-x-7w-x-3h-white-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 16:06:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-magnetic-railroad-rail-car-wheel-chock-rc-wc>: HTTP status code is not handled or not allowed 2026-01-28 16:06:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ft40dl-835-rs-40w-compact-fluorescent-w-2g11-base-neutral-white>: HTTP status code is not handled or not allowed 2026-01-28 16:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-8-in-opening-24-in-h-red>: HTTP status code is not handled or not allowed 2026-01-28 16:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/120-ton-ironworker-3-phase-575v-iw120-3p575>: HTTP status code is not handled or not allowed 2026-01-28 16:06:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75br30-g-75w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 16:06:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661105-thermistoe-cont-boardk5-for-taylor-freezer>: HTTP status code is not handled or not allowed 2026-01-28 16:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/window-underlay-10-pack-313286>: HTTP status code is not handled or not allowed 2026-01-28 16:06:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75par-3fl-mine-75w-incandescent-w-side-prong-base>: HTTP status code is not handled or not allowed 2026-01-28 16:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-lid-56>: HTTP status code is not handled or not allowed 2026-01-28 16:06:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1ns-long-sleeve-pullover-hoodie-with-uv-protection-s-hi-vis-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:06:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-2-abrasive-blast-cabinet-siphon-101695s-a>: HTTP status code is not handled or not allowed 2026-01-28 16:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-214m-flush-access-door-for-all-surf-stud-16wx16h-mp1616s>: HTTP status code is not handled or not allowed 2026-01-28 16:06:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lucia-chandelier-light-fixture-5-candelabra-e12-base-sockets-60w-120v-satin-nickel>: HTTP status code is not handled or not allowed 2026-01-28 16:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rlph1-long-sleeve-pullover-hoodie-with-uv-protection-class-3-s-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 16:06:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-accessory-long-divider-23>: HTTP status code is not handled or not allowed 2026-01-28 16:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60g16-1-2-sl-60w-incandescent-w-candelabra-base>: HTTP status code is not handled or not allowed 2026-01-28 16:06:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hps428-premium-hard-hat-mounted-ear-muff-nrr-28-db-redblack>: HTTP status code is not handled or not allowed 2026-01-28 16:06:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krp-150fr-fire-rated-access-door-for-wall-ceil-paddle-handle-36wx48h-krpp4836ph>: HTTP status code is not handled or not allowed 2026-01-28 16:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-box-without-lid-14>: HTTP status code is not handled or not allowed 2026-01-28 16:06:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/481191-hi-limit>: HTTP status code is not handled or not allowed 2026-01-28 16:06:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-blue-champion-kennel-6-ft-h-x-5-ft-w-x-10-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 16:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-speed-surface-mounted-hand-dryer-950w-hepa-filter-aluminum-with-white-finish>: HTTP status code is not handled or not allowed 2026-01-28 16:06:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-leg-workbench-with-fixed-height-legs-29>: HTTP status code is not handled or not allowed 2026-01-28 16:06:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdw-flush-access-doors-for-drywall-surf-lock-24wx36h-kdwp3624l>: HTTP status code is not handled or not allowed 2026-01-28 16:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsb-214sm-surface-mounted-access-door-for-all-surf-lock-12wx12h-smp1212l>: HTTP status code is not handled or not allowed 2026-01-28 16:06:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-210-recessed-access-door-for-tile-lock-24wx36h-210p3624l>: HTTP status code is not handled or not allowed 2026-01-28 16:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-vertical-bike-rack-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:06:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012033-gas-valve-3-4-nat-for-royal-range>: HTTP status code is not handled or not allowed 2026-01-28 16:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dsc-214m-flush-access-door-for-all-surf-lock-24wx24h-mp2424l>: HTTP status code is not handled or not allowed 2026-01-28 16:06:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-mat-shelf-21-in-x-30-in-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 16:06:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardian-booth-4-x-4-guard-booth-deluxe-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sit-stand-desk-chair-bundle-60-x-30-cherry-black-base>: HTTP status code is not handled or not allowed 2026-01-28 16:06:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-strip-door-curtain-10-w-x-13-h>: HTTP status code is not handled or not allowed 2026-01-28 16:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aa-7-windgard-head-protection-one-size-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:06:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/225-plus-winterliner-one-size-bluered>: HTTP status code is not handled or not allowed 2026-01-28 16:06:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010563-thermocouple-inch-j-inch-type-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 16:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-mhi-13-poly>: HTTP status code is not handled or not allowed 2026-01-28 16:06:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-gallon-wheeled-spill-refill-kit-universal-1350-rf>: HTTP status code is not handled or not allowed 2026-01-28 16:06:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-mhi-19-poly>: HTTP status code is not handled or not allowed 2026-01-28 16:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010583-thermostat-gs-for-garland-range>: HTTP status code is not handled or not allowed 2026-01-28 16:06:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-stairway-slope-work-platform-24in-x-72in-platform>: HTTP status code is not handled or not allowed 2026-01-28 16:06:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-rod-5-diameter-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qvac-100with-spill-scooter-30h-87-psi>: HTTP status code is not handled or not allowed 2026-01-28 16:06:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-orange-extra-heavy-duty-steel-rolling-ladder-perforated-tread>: HTTP status code is not handled or not allowed 2026-01-28 16:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/541206-safety-valve-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:06:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-replacement-face-shield-window-9l-x-15w-x-116-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:06:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-silent-pneumatic-turbine-vibrator-mltss-13>: HTTP status code is not handled or not allowed 2026-01-28 16:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/folding-duck-pond-mini-berm-containment-4-x-5-x-6-5646-ye-f>: HTTP status code is not handled or not allowed 2026-01-28 16:06:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drip-dam-leak-diverter-24-x-24-x-1-4-462424-ye>: HTTP status code is not handled or not allowed 2026-01-28 16:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-end-mounted-piston-vibrator-70-1-1-4s>: HTTP status code is not handled or not allowed 2026-01-28 16:06:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-2-thick-x-3-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:06:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hipower-ii-classical-section-wrapped-vbelt-gates-b55>: HTTP status code is not handled or not allowed 2026-01-28 16:06:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10g12-1-2-r-10w-incandescent-w-candelabra-base>: HTTP status code is not handled or not allowed 2026-01-28 16:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh326-vented-cap-style-hard-hat-4-point-adjustable-ratchet-suspension-green>: HTTP status code is not handled or not allowed 2026-01-28 16:06:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50r20-b-50w-incandescent-w-medium-base>: HTTP status code is not handled or not allowed 2026-01-28 16:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-linea-l-desk-with-open-hutch-white>: HTTP status code is not handled or not allowed 2026-01-28 16:06:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-heavy-duty-universal-mud-flap-24x36>: HTTP status code is not handled or not allowed 2026-01-28 16:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-sit-stand-desk-cart-with-side-table-walnut>: HTTP status code is not handled or not allowed 2026-01-28 16:06:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-8-thick-x-1-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:06:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-3-16-diameter-7x7-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 16:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13494-ice-mach-filter-crtridgehf8-s-for-cuno-inc>: HTTP status code is not handled or not allowed 2026-01-28 16:06:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-piston-vibrator-50-1-1-4s>: HTTP status code is not handled or not allowed 2026-01-28 16:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-26>: HTTP status code is not handled or not allowed 2026-01-28 16:06:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh329-non-vented-full-brim-hard-hat-4-point-ratchet-suspension-carbon-fiber-white>: HTTP status code is not handled or not allowed 2026-01-28 16:06:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-vs-electric-chain-hoist-1-4-ton-10-foot-lift-5-3-32-fpm-115-1-60-2-step-control>: HTTP status code is not handled or not allowed 2026-01-28 16:06:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 123194 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-with-2-lip-24>: HTTP status code is not handled or not allowed 2026-01-28 16:06:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-sheet-1-1-2-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-28 16:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-sheet-1-thick-x-6-wide-x-6-long>: HTTP status code is not handled or not allowed 2026-01-28 16:06:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2271198-hp-accordian-style-cord-for-henny-penny>: HTTP status code is not handled or not allowed 2026-01-28 16:06:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-vs-electric-chain-hoist-1-ton-10-foot-lift-2-6-16-fpm-115-1-60-3-step-iv-control>: HTTP status code is not handled or not allowed 2026-01-28 16:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vibco-pneumatic-ball-vibrator-bb-160>: HTTP status code is not handled or not allowed 2026-01-28 16:06:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-3-4-thick-x-1-1-2-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tote-tray-mobile-wood-cabinet-solid-door-48w-x-22-14d-x-48h-natural-oakbrown>: HTTP status code is not handled or not allowed 2026-01-28 16:07:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/935-series-pistol-case-with-foam-insert-935-6up7-6-pistol-cap-22-l-x-14-w-x-9-h-graphite>: HTTP status code is not handled or not allowed 2026-01-28 16:07:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-triangles-in-living-hinge-box>: HTTP status code is not handled or not allowed 2026-01-28 16:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-1-2-dia-6x26-extra-improved-plow-steel-galvanized-wire-rope-independent-wire-rope-center>: HTTP status code is not handled or not allowed 2026-01-28 16:07:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-ada-expanded-metal-picnic-table-red>: HTTP status code is not handled or not allowed 2026-01-28 16:07:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-4-thick-x-1-1-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-in-4-in-bitbuddie-with-18-ft-hose-2>: HTTP status code is not handled or not allowed 2026-01-28 16:07:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250-3-8-diameter-7x19-type-304-stainless-steel-cable>: HTTP status code is not handled or not allowed 2026-01-28 16:07:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lighthawk-pir-ultrasonic-2-button-wall-switch-occupancy-sensor-dual-relay-white>: HTTP status code is not handled or not allowed 2026-01-28 16:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/timemist-premium-metered-fragran-dispen-refill-caribbean-waters-66-oz>: HTTP status code is not handled or not allowed 2026-01-28 16:07:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-3-8-thick-x-1-1-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:07:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t9-circline-fluorescent-bulb-g10q-base-22w-1250-lumens-4100k-cool-white-pk-of-2>: HTTP status code is not handled or not allowed 2026-01-28 16:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pld-fluorescent-bulb-g24q2-base-18w-1080-lumens-3500k-neutral-white-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:07:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purex-ultra-dry-detergent-156-lb-pail>: HTTP status code is not handled or not allowed 2026-01-28 16:07:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-performance-174-faceshield-headgear-4-crown-quick-lok-mounting-cups>: HTTP status code is not handled or not allowed 2026-01-28 16:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012260-field-kit-power-supply12vdc-combi-for-cleveland-range>: HTTP status code is not handled or not allowed 2026-01-28 16:07:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-performance-174-faceshield-headgear-7-crown-adjustable-5000-speedyloop>: HTTP status code is not handled or not allowed 2026-01-28 16:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-f28t5-835-46in85cri>: HTTP status code is not handled or not allowed 2026-01-28 16:07:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-ekn-jcr17-7v-120w>: HTTP status code is not handled or not allowed 2026-01-28 16:07:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-1804w-p-style-automotive-coupler-1-4-mnpt>: HTTP status code is not handled or not allowed 2026-01-28 16:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galaxy-translucent-cups-cold-3-12-oz-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-755w-m-style-industrial-push-type-coupler-1-4-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 16:07:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-metal-174-pipeliner-110-welding-helmet-fiberglass-shade-10-ratchet-headgear>: HTTP status code is not handled or not allowed 2026-01-28 16:07:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-hpl-750-115x-js115v-750wx>: HTTP status code is not handled or not allowed 2026-01-28 16:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-4-thick-x-4-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:07:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-etf-jcv120v-150wgbf>: HTTP status code is not handled or not allowed 2026-01-28 16:07:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ushio-ftd-jdr-m12v-20w-g-nfl>: HTTP status code is not handled or not allowed 2026-01-28 16:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-woven-wire-slide-door-3w-x-8h-8-5-1-4-overall-height>: HTTP status code is not handled or not allowed 2026-01-28 16:07:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caterwrap-heavyweight-cutlery-combo-forkspoonknifenapkin-black>: HTTP status code is not handled or not allowed 2026-01-28 16:07:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-062-ss>: HTTP status code is not handled or not allowed 2026-01-28 16:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-1145-3-8-inch-fpt-water-pressure-regulator-valve-3-to-50-psi-range>: HTTP status code is not handled or not allowed 2026-01-28 16:07:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-container-forkli-able-with-double-wall-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 16:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidwire-welded-wire-3-sided-cage-w-5-sliding-door-10-6-x-10-4-x-10-5-1-4h>: HTTP status code is not handled or not allowed 2026-01-28 16:07:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/incandescent-bulb-with-e12-candelabra-base-7w-120v-clear-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 16:07:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-size-steam-table-pan-deep-aluminum-100-per-case>: HTTP status code is not handled or not allowed 2026-01-28 16:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milton-s-1835w-h-style-industrial-coupler-3-8-fnpt>: HTTP status code is not handled or not allowed 2026-01-28 16:07:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-orifice-tube-remover-installer-four-seasons-59512>: HTTP status code is not handled or not allowed 2026-01-28 16:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a19-filament-light-bulb-e26-base-6w-600-lumens-2700k-soft-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 16:07:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-300-b>: HTTP status code is not handled or not allowed 2026-01-28 16:07:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-turn-and-taillight-socket-standard-ignition-s2610>: HTTP status code is not handled or not allowed 2026-01-28 16:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-037-ss>: HTTP status code is not handled or not allowed 2026-01-28 16:07:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-plastic-sheet-1-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:07:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012401-solenoid-valve-gas-for-woodstone-ovens>: HTTP status code is not handled or not allowed 2026-01-28 16:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siphon-pump-light-oil-kerosene-water-based-chemicals-1>: HTTP status code is not handled or not allowed 2026-01-28 16:07:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012498-valve-gas-safety24v-nat-vr8204>: HTTP status code is not handled or not allowed 2026-01-28 16:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/840-style-2-sided-driver-cage-4w-x-8d-x-8h>: HTTP status code is not handled or not allowed 2026-01-28 16:07:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-g1sc-137-b>: HTTP status code is not handled or not allowed 2026-01-28 16:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-container-assy-20-ft>: HTTP status code is not handled or not allowed 2026-01-28 16:07:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-hospitality-organizer-3-drawer>: HTTP status code is not handled or not allowed 2026-01-28 16:07:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8012347-thermostat-162f-fixed>: HTTP status code is not handled or not allowed 2026-01-28 16:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlc-electric-chain-hoist-with-chain-container-1-ton-cap-15-ft-lift-16-fpm-115230v>: HTTP status code is not handled or not allowed 2026-01-28 16:07:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlc-electric-chain-hoist-with-chain-container-1-ton-cap-10-ft-lift-16-fpm-115230v>: HTTP status code is not handled or not allowed 2026-01-28 16:07:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2651046-valve-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 16:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-gmc-35-b>: HTTP status code is not handled or not allowed 2026-01-28 16:07:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hp-500-petroleum-sorbent-static-resistant-roll-high-capacity-38-x-144-1-rollcase>: HTTP status code is not handled or not allowed 2026-01-28 16:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-g9-light-bulb-bi-pin-g9-base-25w-250-lumens-3000k-warm-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 16:07:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/381694-powercord-for-prince-castle>: HTTP status code is not handled or not allowed 2026-01-28 16:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-16-w-3-step-steel-rolling-ladder-10-d-top-step-2>: HTTP status code is not handled or not allowed 2026-01-28 16:07:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72x30-maple-safety-edge-power-apron-production-bench-tan-32313704>: HTTP status code is not handled or not allowed 2026-01-28 16:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-foot-pedal-valve-hotcold>: HTTP status code is not handled or not allowed 2026-01-28 16:07:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/561315-valve-steam-safety-3-4>: HTTP status code is not handled or not allowed 2026-01-28 16:07:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-gmc-04-b>: HTTP status code is not handled or not allowed 2026-01-28 16:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-set-screw-collar-gmc-08-b>: HTTP status code is not handled or not allowed 2026-01-28 16:07:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-shop-top-safety-edge-mobile-power-apron-production-bench-blue-32313749>: HTTP status code is not handled or not allowed 2026-01-28 16:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par30-short-neck-colored-recessed-light-bulb-e26-base-8w-amber-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 16:07:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-w-heavy-duty-push-broom-head-with-natural-palmyra-bristles-and-wood-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:07:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-9en-series-sump-pump-20feet-power-cord-float-switch>: HTTP status code is not handled or not allowed 2026-01-28 16:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-vinyl-padded-stool-with-backrest-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:07:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-14-step-steel-rolling-ladder-10-d-top-step>: HTTP status code is not handled or not allowed 2026-01-28 16:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x30-esd-square-edge-power-apron-production-bench-blue-32313773>: HTTP status code is not handled or not allowed 2026-01-28 16:07:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48x30-maple-safety-edge-power-apron-production-bench-blue-32313774>: HTTP status code is not handled or not allowed 2026-01-28 16:07:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iron-ageia9650-mens-molded-rubber-vamp-waterproof-shaft-boot-size-5-ew-x-wide>: HTTP status code is not handled or not allowed 2026-01-28 16:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-torsion-spring-0-288-coil-dia-0-032-wire-dia-wound-left-music-wire>: HTTP status code is not handled or not allowed 2026-01-28 16:07:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-stainless-square-edge-power-apron-production-bench-blue-32313800>: HTTP status code is not handled or not allowed 2026-01-28 16:07:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scrubber-entrance-mat-24x32-1>: HTTP status code is not handled or not allowed 2026-01-28 16:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-a19-household-light-bulb-e26-base-9w-800-lumens-5000k-daylight-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 16:07:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8009540-temperature-control-for-true-manufacturing>: HTTP status code is not handled or not allowed 2026-01-28 16:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/521143-valve-gas-pilot-for-keating>: HTTP status code is not handled or not allowed 2026-01-28 16:07:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-gsc-143-b>: HTTP status code is not handled or not allowed 2026-01-28 16:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/florsheimfe690-mens-quick-release-6-metatarsal-work-boot-black-size-105-eee-x-wide>: HTTP status code is not handled or not allowed 2026-01-28 16:07:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-disc-series-chair-caster-with-non-locking-nylon-wheel-stem-type-e>: HTTP status code is not handled or not allowed 2026-01-28 16:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inversione-modern-u-shaped-floor-lamp-e26-base-40w-blackgold>: HTTP status code is not handled or not allowed 2026-01-28 16:07:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761434-insurice-system-single-pf-i2000-for-everpure-filter>: HTTP status code is not handled or not allowed 2026-01-28 16:07:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-phenolic-resin-safety-power-apron-lab-bench-tan-32313849>: HTTP status code is not handled or not allowed 2026-01-28 16:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x36-phenolic-resin-safety-power-apron-lab-bench-32313853>: HTTP status code is not handled or not allowed 2026-01-28 16:07:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ulti-mate-garage-2-0-series-9-piece-cabinet-set-142w-x-21-14d-wall-x-80h-white->: HTTP status code is not handled or not allowed 2026-01-28 16:07:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reebokrb4444-womens-waterproof-sport-hiker-brown-size-75-w>: HTTP status code is not handled or not allowed 2026-01-28 16:07:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/std050324hp-10-hp-oil-less-scroll-comp-80-gal-horiz-145-psi-3-ph-208v-refrigerated-dryer>: HTTP status code is not handled or not allowed 2026-01-28 16:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-g2sc-168-b>: HTTP status code is not handled or not allowed 2026-01-28 16:07:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60x30-maple-square-edge-mobile-power-apron-production-bench-tan-32313867>: HTTP status code is not handled or not allowed 2026-01-28 16:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/faultless-swivel-plate-caster-8-polyolefin-wheel>: HTTP status code is not handled or not allowed 2026-01-28 16:07:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 123292 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:07:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1313-high-temperature-wire-14-gauge-stranded-sf2-black-50-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:07:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par30s-flood-light-bulb-e26-base-9w-850-lumens-2700k-warm-white-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 16:07:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-suffocation-warning-poly-bags-12-w-x-15-l-2-mil-clear-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/specialty-valve-solenoid-1-4-in-red-knob-solenoid-w-air-released-24vdc>: HTTP status code is not handled or not allowed 2026-01-28 16:07:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-par30s-flood-light-bulb-e26-base-9w-850-lumens-5000k-daylight-pack-of-6>: HTTP status code is not handled or not allowed 2026-01-28 16:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vaccination-station-6-feet-high-gray-fabric-plastic-folding-table-steel-folding-chairs>: HTTP status code is not handled or not allowed 2026-01-28 16:07:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sts151264hp-5hp-oil-less-scroll-comp-60-gal-horiz-145-psi-1-ph-208-230v-refrigerated-dryer>: HTTP status code is not handled or not allowed 2026-01-28 16:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sts050232hp-5-hp-oil-less-scroll-compressor-60-gal-horizontal-145-psi-3-phase-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 16:08:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toggle-switch-plate-4-gang-white-pack-of-12>: HTTP status code is not handled or not allowed 2026-01-28 16:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-132w-sunbrella-1a-true-blue-fabric>: HTTP status code is not handled or not allowed 2026-01-28 16:08:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solid-galvanized-shelf-36x18>: HTTP status code is not handled or not allowed 2026-01-28 16:08:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-24-w-grip-all-directional-steel-rolling-ladder-w-cal-osha-handrail-cal-pip-10g>: HTTP status code is not handled or not allowed 2026-01-28 16:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-step-steel-safety-rolling-ladder-w-weight-actuated-lock-step-24-w-serrated-step-w-cal-osha-handrail-cal-wa154014g>: HTTP status code is not handled or not allowed 2026-01-28 16:08:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/38-1345-high-temperature-wire-14-gauge-stranded-sf2-white-250-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:08:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/made-in-usa-o-1-oil-hardening-drill-rod-3-16>: HTTP status code is not handled or not allowed 2026-01-28 16:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modern-cylinder-vanity-light-fixture-60w-13l-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 16:08:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-3-port-2-pos-mech-valve-1-8-nptf-port-hd-one-way-roller-actr>: HTTP status code is not handled or not allowed 2026-01-28 16:08:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traffic-barricade-a-frame-8-with-1-rail>: HTTP status code is not handled or not allowed 2026-01-28 16:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/761464-kleensteam-ii-twin-system-for-everpure-filter>: HTTP status code is not handled or not allowed 2026-01-28 16:08:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/globe-style-vanity-light-fixture-60w-48l-brushed-nickel>: HTTP status code is not handled or not allowed 2026-01-28 16:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-grc-100-kw>: HTTP status code is not handled or not allowed 2026-01-28 16:08:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-363018-bl-bookcase-all-welded-36-wx18-dx30-h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-368413-ts-bookcase-all-welded-36-wx13-dx84-h-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-28 16:08:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-24-w-perforated-all-directional-steel-rolling-ladder-w-cal-osha-handrail-cal-pip-11p>: HTTP status code is not handled or not allowed 2026-01-28 16:08:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2661163-receptacle-twist-lockplug>: HTTP status code is not handled or not allowed 2026-01-28 16:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-coupling-gscc-075-075>: HTTP status code is not handled or not allowed 2026-01-28 16:08:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-steel-stock-picking-ladder-serrated-tread-w-cal-osha-handrail-cal-spl-8-g>: HTTP status code is not handled or not allowed 2026-01-28 16:08:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acid-corrosive-cabinet-self-close-bifold-doors-vertical-storage-4>: HTTP status code is not handled or not allowed 2026-01-28 16:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-16-w-stainless-steel-fold-and-store-rolling-ladder-heavy-duty-serrated-grating-w-cal-osha-handrail-cal-ssfawl-10g>: HTTP status code is not handled or not allowed 2026-01-28 16:08:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-42rb-l-grn-storage-cabinet-all-welded-42-wx18-dx72-h-leaf-green>: HTTP status code is not handled or not allowed 2026-01-28 16:08:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-24-w-9-step-steel-rolling-ladder-14-d-top-step-w-handrails-lock-step-orange-w-cal-osha-handrail-cal-fs093214p-o>: HTTP status code is not handled or not allowed 2026-01-28 16:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linear-led-strip-light-fixture-19w-4000k-48l-cool-white>: HTTP status code is not handled or not allowed 2026-01-28 16:08:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-truck-60-l-x-30-w-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rk800-junction-view-twin-gore-slip-on-boot-steel-toe-women-s-sz-8-5-w-wide-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:08:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/conntek-cs6364-50-amp-ca-standard-connector-with-nema-cs6364-female-end>: HTTP status code is not handled or not allowed 2026-01-28 16:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heritage-bench-recycled-plastic-4-ft-black-frame-cedar>: HTTP status code is not handled or not allowed 2026-01-28 16:08:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-24-w-stainless-steel-rolling-ladder-w-rails-heavy-duty-serrated-grating-w-cal-osha-handrail-cal-ss730g>: HTTP status code is not handled or not allowed 2026-01-28 16:08:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forklift-blue-arrow-pedestrian-safety-warning-light>: HTTP status code is not handled or not allowed 2026-01-28 16:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-364213-bl-bookcase-all-welded-36-wx13-dx42-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:08:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cord-clips-black-3-8-100-pieces>: HTTP status code is not handled or not allowed 2026-01-28 16:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-steel-safety-rolling-ladder-w-weight-actuated-lock-24-w-perforated-step-orange-w-cal-osha-handrail-cal-wa113214p-o>: HTTP status code is not handled or not allowed 2026-01-28 16:08:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bloodborne-pathogens-in-first-response-environments-dvd-program>: HTTP status code is not handled or not allowed 2026-01-28 16:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bussing-tub-21-l-x-15-w-x-5-h-ribbed-bottom-bus-box-polypropylene-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:08:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/venture-patio-umbrella-with-silver-pole-132w-olefin-hunter-green-fabric>: HTTP status code is not handled or not allowed 2026-01-28 16:08:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-16in-gray-end-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:08:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workplace-stress-dvd-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-w-x-24-h-x-18-d-3-pocket-merv-13-air-filter-synthetic-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 16:08:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fs-227-n-storage-cabinet-all-welded-27-wx15-dx72-h-navy>: HTTP status code is not handled or not allowed 2026-01-28 16:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-14-h-x-1-d-pleated-merv-8-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 16:08:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rvhl50fr-type-r-class-2-flame-resistant-vest-m-hi-vis-lime>: HTTP status code is not handled or not allowed 2026-01-28 16:08:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-signs-caution-forkli-traffic-area-plastic-10-w-x-14-h>: HTTP status code is not handled or not allowed 2026-01-28 16:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergotron-ds100-dual-monitor-desk-stand>: HTTP status code is not handled or not allowed 2026-01-28 16:08:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-step-steel-safety-rolling-ladder-w-weight-actuated-lock-24-w-serrated-step-orange-w-cal-osha-handrail-cal-wa103214g-o>: HTTP status code is not handled or not allowed 2026-01-28 16:08:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sexual-harassment-for-employees-dvd-program>: HTTP status code is not handled or not allowed 2026-01-28 16:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zip-a-duct-stainless-steel-cable-locks-for-horizontal-cables>: HTTP status code is not handled or not allowed 2026-01-28 16:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bca-365218-c-bookcase-all-welded-36-wx18-dx52-h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 16:08:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-signs-caution-safety-gloves-required-plastic-7-w-x-10-h>: HTTP status code is not handled or not allowed 2026-01-28 16:08:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronze-hose-braid-w-copper-sweat-ends-1-5x9>: HTTP status code is not handled or not allowed 2026-01-28 16:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-3-series-type-101-medium-duty-acetylene-cutting-tip-size-1>: HTTP status code is not handled or not allowed 2026-01-28 16:08:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-48722rb-h-grn-mobile-cabinet-all-welded-48-wx24-dx72-h-hunter-green>: HTTP status code is not handled or not allowed 2026-01-28 16:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bariatric-heavy-duty-bath-bench-with-back>: HTTP status code is not handled or not allowed 2026-01-28 16:08:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-bariatric-plastic-seat-transfer-bench>: HTTP status code is not handled or not allowed 2026-01-28 16:08:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-3624rb-db-mobile-cabinet-all-welded-36-wx24-dx60-h-denim-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aero-31-30-liter-wet-dry-vacuum-w-stainless-steel-tank>: HTTP status code is not handled or not allowed 2026-01-28 16:08:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-48722rb-bl-mobile-cabinet-all-welded-48-wx24-dx72-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:08:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-type-w-1-medium-duty-victor-style-oxy-acetylene-welding-nozzle-size-00>: HTTP status code is not handled or not allowed 2026-01-28 16:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-w-x-16-h-x-2-d-pleated-merv-8-standard-capacity-air-filter-wire-back-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 16:08:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-6-w-x-19-10-l-canopy-17-gauge-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-step-16-wx71-d-stainless-steel-rolling-safety-ladder-perforated-tread-w-cal-osha-handrail-cal-ss082421p>: HTTP status code is not handled or not allowed 2026-01-28 16:08:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000162-tongue-buckle-belt-restraint-310-lbs-small>: HTTP status code is not handled or not allowed 2026-01-28 16:08:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-hose-braid-w-male-npt-nipple-1-5x9>: HTTP status code is not handled or not allowed 2026-01-28 16:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/profi-floor-cleaner--grease-remover-surfactant-scent-1-gallon-bottle-4case>: HTTP status code is not handled or not allowed 2026-01-28 16:08:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-320-industrial-tricycle-with-rear-basket--platform-20-wheels-600-lb-cap-red>: HTTP status code is not handled or not allowed 2026-01-28 16:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1342101-pro-elastic-shock-absorbing-lanyard-6l-130-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 16:08:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maah-36722rb-wal-mobile-cabinet-all-welded-36-wx24-dx72-h-walnut>: HTTP status code is not handled or not allowed 2026-01-28 16:08:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-outward-swing-partition-door-w-hardware-24w-sand-beach>: HTTP status code is not handled or not allowed 2026-01-28 16:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1234081-adjustable-rope-lanyard-4-8l-310-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 16:08:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-w-x-12-h-x-2-d-pleated-merv-8-high-capacity-air-filter-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 16:08:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-diamond-cut-off-blade-segmented-4-dia-x-78-center-hole-dia>: HTTP status code is not handled or not allowed 2026-01-28 16:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-steel-stock-picking-ladder-perforated-tread-w-cal-osha-handrail-cal-spl-7-14p>: HTTP status code is not handled or not allowed 2026-01-28 16:08:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-48rbmag1-w-storage-cabinet-all-welded-48-wx24-dx72-h-white>: HTTP status code is not handled or not allowed 2026-01-28 16:08:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-single-tier-12x18x60-3-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-copper-fitting-with-90-short-radius-elbow-c-x-c-58-od-x-12-id-10-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:08:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2101636-d-ring-anchorage-plate-fixed-310-cap-lbs-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-7-5-volts-1500-mah-nickel-metal-hydride-nimh-battery>: HTTP status code is not handled or not allowed 2026-01-28 16:08:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/infinity-locker-double-tier-12x18x36-2-door-assembled-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:08:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/virex174-ii-256-one-step-disinfectant-cleaner--deodorant-53-quartz-bottle>: HTTP status code is not handled or not allowed 2026-01-28 16:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-24-w-9-step-steel-rolling-ladder-14-d-top-step-w-handrails-lock-step-orange-w-cal-osha-handrail-cal-fs093214g-o>: HTTP status code is not handled or not allowed 2026-01-28 16:08:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-unit-rapid-rate-charger-for-sl300-portable-radios>: HTTP status code is not handled or not allowed 2026-01-28 16:08:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/forney-e6010-steel-electrode-35-125a-18-dia>: HTTP status code is not handled or not allowed 2026-01-28 16:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-w-x-20-h-x-12-d-rigid-cell-merv-13-air-filter-synthetic-global-industrial>: HTTP status code is not handled or not allowed 2026-01-28 16:08:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carefree174-floor-finish-ammonia-scent-5-gallon-box>: HTTP status code is not handled or not allowed 2026-01-28 16:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aah-42rb-ts-storage-cabinet-all-welded-42-wx18-dx72-h-tropic-sand>: HTTP status code is not handled or not allowed 2026-01-28 16:08:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/remote-speaker-mic-with-3-5mm-audio-jack-ip67-for-tlk100-sl300-portable-radios>: HTTP status code is not handled or not allowed 2026-01-28 16:08:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-steel-stock-picking-ladder-serrated-tread-w-cal-osha-handrail-cal-spl-7-ng>: HTTP status code is not handled or not allowed 2026-01-28 16:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-inch-sentra-ec-h-d-detachable-full-arm-dual-cross-brace-swing-away-footrest>: HTTP status code is not handled or not allowed 2026-01-28 16:08:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sm310-x03s-police-style-rubberized-speaker-mic-with-screw-in-connector-heavy-duty>: HTTP status code is not handled or not allowed 2026-01-28 16:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-fold-portable-wheelchair-scooter-ramp-w-carry-handle-3-foot-30-inch>: HTTP status code is not handled or not allowed 2026-01-28 16:08:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 123390 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:08:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-skirt-for-nilfisk-advance-56407392-nilfisk-advance-56390983>: HTTP status code is not handled or not allowed 2026-01-28 16:08:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-10w-x-82h-sage>: HTTP status code is not handled or not allowed 2026-01-28 16:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-10w-x-82h-red>: HTTP status code is not handled or not allowed 2026-01-28 16:08:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valencia-series-hutch-with-doors-64-34wx15dx35-12h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 16:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-patient-lift-with-rechargeable-battery-and-six-point-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:08:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-closed-linear-bearing-w-resin-retainer-and-seals-sw16guu-1id-225l>: HTTP status code is not handled or not allowed 2026-01-28 16:08:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-squeegee-front-for-hako-107747-minuteman-90493560minuteman-01077470>: HTTP status code is not handled or not allowed 2026-01-28 16:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-closed-linear-bearing-wresin-retainer-sw16g-1id-225l>: HTTP status code is not handled or not allowed 2026-01-28 16:09:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-mesh-decking-46-w-x-42-d-x-1-1-2-h-2>: HTTP status code is not handled or not allowed 2026-01-28 16:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-12w-x-82h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 16:09:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-22w-x-82h-cream>: HTTP status code is not handled or not allowed 2026-01-28 16:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/550-tn-30-cobalt-heavy-duty-tin-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s201008-3-poly-web-sling-endless-4240-5300-10600-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:09:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-magnetic-roll-stock-50l-x-4h-x-003-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-eye-wash-station-s19-921>: HTTP status code is not handled or not allowed 2026-01-28 16:09:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-3w-x-82h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 16:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1816-7-64-hss-heavy-duty-bright-135-1-4-hex-shank-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1816-5-32-hss-heavy-duty-bright-135-1-4-hex-shank-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bradley-retrofit-stainless-steel-dust-cover-kit-s45-2396>: HTTP status code is not handled or not allowed 2026-01-28 16:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/empty-sign-frame-with-2-clear-acrylic-7-in-x11-in-with-adapter>: HTTP status code is not handled or not allowed 2026-01-28 16:09:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-pilaster-w-shoe-8w-x-82h-satin>: HTTP status code is not handled or not allowed 2026-01-28 16:09:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concrete-planter-36diax30h-round-tan-river-rock>: HTTP status code is not handled or not allowed 2026-01-28 16:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1813-15-16-hss-steam-oxide-118-point-1-2-reduced-shank-silver-deming-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pneumatic-squeeze-bulb-dynamometer-with-reset-30-psi-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:09:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-x-1-3-4-thick-steel-square-edge-workbench-top-12-gauge-steel-black>: HTTP status code is not handled or not allowed 2026-01-28 16:09:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-upright-cross-brace-24d-6-pack-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151007-16-single-leg-chain-sling-w-grab-hook>: HTTP status code is not handled or not allowed 2026-01-28 16:09:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-drive-wheel-for-nobles-tennant-1223582-nobles-tennant-1214595>: HTTP status code is not handled or not allowed 2026-01-28 16:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-drawer-hanging-pedestal-in-espresso-executive-modular-furniture>: HTTP status code is not handled or not allowed 2026-01-28 16:09:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pilaster-w-shoe-24w-x-82h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 16:09:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-do-not-operate-rigid-plastic-10-h-x-14-w>: HTTP status code is not handled or not allowed 2026-01-28 16:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-drive-wheel-for-nobles-tennant-9004909>: HTTP status code is not handled or not allowed 2026-01-28 16:09:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-6-door-clear-view-locker-digital-lock12-inch-w-x-15-inch-d-x-78-inch-hgray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 16:09:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b151034-4-double-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-28 16:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-signs-caution-open-door-slowly-rigid-plastic-10-h-x-14-w>: HTTP status code is not handled or not allowed 2026-01-28 16:09:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hipaa-rules-and-compliance-employee-booklet>: HTTP status code is not handled or not allowed 2026-01-28 16:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/800-series-adjustable-closer-duranodic-back-check>: HTTP status code is not handled or not allowed 2026-01-28 16:09:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/containment-berm-12l-x-50w-x-12h-4488-capacity-gal>: HTTP status code is not handled or not allowed 2026-01-28 16:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-tier-6-door-digital-locker-12inwx12indx78inh-tan-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 16:09:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1877-18-00mm-black-gold-118-point-3-flat-1-2-reduced-shank-silver-deming-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pad-holder-big-mouth-for-alto-clarke-57369a>: HTTP status code is not handled or not allowed 2026-01-28 16:09:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-brush-kit-poly-for-ice-9050013>: HTTP status code is not handled or not allowed 2026-01-28 16:09:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-100-050>: HTTP status code is not handled or not allowed 2026-01-28 16:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-frame-wall-exhaust-shutter-with-aluminum-blades-rear-flange-18-556-std-18>: HTTP status code is not handled or not allowed 2026-01-28 16:09:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b152011-6-quad-leg-chain-sling-w-sling-hook>: HTTP status code is not handled or not allowed 2026-01-28 16:09:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-24w-x-82h-black-confetti>: HTTP status code is not handled or not allowed 2026-01-28 16:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1874-3-16-7-8-x-1-16-hss-heavy-duty-bright-118-step-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-aluminum-fixed-height-adjustable-width-louver-18-aafl-18-1824>: HTTP status code is not handled or not allowed 2026-01-28 16:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pinchfit153-disposable-earplugs-corded-nrr-32-db-100-pairsbox>: HTTP status code is not handled or not allowed 2026-01-28 16:09:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1889-1-2-12in-oal-hss-heavy-duty-bright-118-point-fast-helix-carbide-tipped-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-hose-assembly-smooth-for-nilfisk-advance-vf81203a>: HTTP status code is not handled or not allowed 2026-01-28 16:09:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-two-piece-clamping-collar-n2c-series-climax-n2c-075>: HTTP status code is not handled or not allowed 2026-01-28 16:09:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-6w-x-82h-olive>: HTTP status code is not handled or not allowed 2026-01-28 16:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s152005-8-poly-web-sling-eye-and-eye-1250-1600-3200-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:09:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7178-02-economy-hi-viz-back-belt-medium>: HTTP status code is not handled or not allowed 2026-01-28 16:09:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-rail-36>: HTTP status code is not handled or not allowed 2026-01-28 16:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/winco-axhh-12-stock-pot-12-quart-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 16:09:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/healthcare-papr-kit-belt-mounted-tr-600-hks>: HTTP status code is not handled or not allowed 2026-01-28 16:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyguard-car-window-mount-key-storage-lock-box-sl-591-keypad-lock-holds-1-5-keys>: HTTP status code is not handled or not allowed 2026-01-28 16:09:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-pro-pinchfit-metal-detectable-disposable-earplugs-corded-nrr-32-db-100-pairsbox>: HTTP status code is not handled or not allowed 2026-01-28 16:09:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-squeegee-set-for-nilfisk-advance-56116704>: HTTP status code is not handled or not allowed 2026-01-28 16:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-mouth-ldpe-wash-bottles-1000ml-case-of-12>: HTTP status code is not handled or not allowed 2026-01-28 16:09:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1889-5-16-12in-oal-hss-heavy-duty-bright-118-point-fast-helix-carbide-tipped-masonry-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/superscrape-plus-entrance-mat-316-thick-3w-x-5l-black>: HTTP status code is not handled or not allowed 2026-01-28 16:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-3w-x-82h-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 16:09:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-081>: HTTP status code is not handled or not allowed 2026-01-28 16:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-sided-frame-18x24-poly-z-brite>: HTTP status code is not handled or not allowed 2026-01-28 16:09:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-vac-motor-td-for-ametek-116513-29>: HTTP status code is not handled or not allowed 2026-01-28 16:09:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-brush-kit-mal-grit-for-nilfisk-advance-56505832-nilfisk-advance-56505782>: HTTP status code is not handled or not allowed 2026-01-28 16:09:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-flame-resistant-safety-cargo-pant-38-waist-x-34l-inseam-navy>: HTTP status code is not handled or not allowed 2026-01-28 16:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h128-box-sealing-tape-dispenser-for-2-w-tape>: HTTP status code is not handled or not allowed 2026-01-28 16:09:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-couplings-recessed-screw-cc-series-climax-2cc-075-075>: HTTP status code is not handled or not allowed 2026-01-28 16:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cylindrical-brush-16-sr-for-nilfisk-advance-56314393>: HTTP status code is not handled or not allowed 2026-01-28 16:09:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1898-tn-6-hss-general-purpose-tin-118-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wide-mouth-amber-hdpe-bottles-500ml-case-of-48>: HTTP status code is not handled or not allowed 2026-01-28 16:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-heavyweight-pullover-hoodie-l-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:09:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-143-z>: HTTP status code is not handled or not allowed 2026-01-28 16:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-156-a>: HTTP status code is not handled or not allowed 2026-01-28 16:09:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-compartment-steel-literature-sorter-18-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:09:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-inward-swing-partition-door-24w-burgundy>: HTTP status code is not handled or not allowed 2026-01-28 16:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flame-resistant-safety-cargo-pant-46-waist-x-34l-inseam-navy>: HTTP status code is not handled or not allowed 2026-01-28 16:09:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/95-inch-width-x-43-inch-depth-racetrack-conference-table-mocha>: HTTP status code is not handled or not allowed 2026-01-28 16:09:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-hdpe-bottles-with-closure-4-liter-case-of-6>: HTTP status code is not handled or not allowed 2026-01-28 16:09:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-with-keyway-2c-kw-series-climax-2c-062-kw>: HTTP status code is not handled or not allowed 2026-01-28 16:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150asp-5-32-hss-heavy-duty-steam-oxide-135-split-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-pad-driver-for-minuteman-200018-m>: HTTP status code is not handled or not allowed 2026-01-28 16:09:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacment-skirt-for-nilfisk-advance-56407447-nilfisk-advance-56390792>: HTTP status code is not handled or not allowed 2026-01-28 16:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lightweight-long-sleeve-flame-resistant-safety-shirt-l-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-225-z>: HTTP status code is not handled or not allowed 2026-01-28 16:09:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-drum-spill-containment-pallet-black-with-drain>: HTTP status code is not handled or not allowed 2026-01-28 16:09:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sqg-4-box-grater-stainless-steel-handle-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cylindrical-brush-8-dr-for-nilfisk-advance-8-08-03218>: HTTP status code is not handled or not allowed 2026-01-28 16:09:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-100-100-s>: HTTP status code is not handled or not allowed 2026-01-28 16:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/150asp-tn-77-hss-heavy-duty-tin-135-point-point-jobber-length-drill>: HTTP status code is not handled or not allowed 2026-01-28 16:09:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-vis-flame-resistant-safety-cargo-pant-44-waist-x-32l-inseam-navy>: HTTP status code is not handled or not allowed 2026-01-28 16:09:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pfsf-9-food-storage-box-heavyweight-18l-26w-9h-clear-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-28 16:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-150-100-s>: HTTP status code is not handled or not allowed 2026-01-28 16:09:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 123488 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:09:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-flame-resistant-button-up-safety-shirt-cottonnylon-xl-navy-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:09:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invisible-solid-anti-perspirant-and-deodorant-powder-fresh-05-oz-stick>: HTTP status code is not handled or not allowed 2026-01-28 16:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-outward-swing-partition-door-36w-folkstone-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:09:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/professional-ostrich-feather-duster-gray-14-wood-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-pilaster-w-shoe-4w-x-82h-azure>: HTTP status code is not handled or not allowed 2026-01-28 16:09:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40902-2-s-dog-life-vest-red-small>: HTTP status code is not handled or not allowed 2026-01-28 16:09:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polymer-inward-swing-partition-door-24w-mocha>: HTTP status code is not handled or not allowed 2026-01-28 16:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-full-brim-hat-with-1-touch-suspension-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:10:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-xx-garolite-sheet-1-4-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40302-2-yth-all-sport-life-vest-red-youth>: HTTP status code is not handled or not allowed 2026-01-28 16:10:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-xx-garolite-sheet-1-8-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40301-2-unv-all-sport-life-vest-blue-universal-adult>: HTTP status code is not handled or not allowed 2026-01-28 16:10:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oxivir-1-wipes-11-x-12-160canister-refill-pack-4carton>: HTTP status code is not handled or not allowed 2026-01-28 16:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-full-brim-hat-with-staz-on-suspension-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:10:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40202-2-os-multi-purpose-life-vest-red-oversize-adult>: HTTP status code is not handled or not allowed 2026-01-28 16:10:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-visibility-flame-resistant-safety-coveralls-m-hi-vis-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-t8t12-20-w-t8-tube-cool-white-6carton>: HTTP status code is not handled or not allowed 2026-01-28 16:10:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-11-x-3-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:10:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concentrate-disinfectant-12-oz-bottle-6carton>: HTTP status code is not handled or not allowed 2026-01-28 16:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-flat-base-trailer-stabilizing-jack-50000-lb-static-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:10:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-14-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/american-freedom-series-slotted-protective-hat-american-flag-with-2-eagles>: HTTP status code is not handled or not allowed 2026-01-28 16:10:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-11-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:10:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-cap-vented-4-point-fas-trac-iii-hi-viz-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-hd-detergent-fresh-45-lbs-pail>: HTTP status code is not handled or not allowed 2026-01-28 16:10:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedcartt-24-48-63-single-sided-20-cells-10-23-11>: HTTP status code is not handled or not allowed 2026-01-28 16:10:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmb-13-magnetic-bar>: HTTP status code is not handled or not allowed 2026-01-28 16:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/abc-industries-ceiling-panel-kit-belt-ends-12-dia-x-8l-x-6-pitch-white>: HTTP status code is not handled or not allowed 2026-01-28 16:10:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extreme-aircra-ft-and-precision-equipment-cleaner-55-gal-drum-neutral-scent>: HTTP status code is not handled or not allowed 2026-01-28 16:10:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-cap-with-1-touch-suspension-navy-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuffcomfort-standing-desk-anti-fatigue-mat-34-thick-2w-x-6l-granite>: HTTP status code is not handled or not allowed 2026-01-28 16:10:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/submersible-water-removal-utility-pump-1-4-hp-1600-gph>: HTTP status code is not handled or not allowed 2026-01-28 16:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-287-a>: HTTP status code is not handled or not allowed 2026-01-28 16:10:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slotted-full-brim-hat-with-staz-on-suspension-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:10:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-075>: HTTP status code is not handled or not allowed 2026-01-28 16:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-tec-edge-personal-fall-limiter-single-leg-36cls-steel-swivel-snap-hook-8l>: HTTP status code is not handled or not allowed 2026-01-28 16:10:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/squids-3400-bulk-dual-clip-mount-lime-grabber-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-200>: HTTP status code is not handled or not allowed 2026-01-28 16:10:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-inch-x-18-inch-x-24-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 16:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-18-x-36-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:10:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skullerz-8965-lightweight-bump-cap-led-lighting-short-brim-black>: HTTP status code is not handled or not allowed 2026-01-28 16:10:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-inward-swing-partition-door-w-hardware-24w-graphite-grafix>: HTTP status code is not handled or not allowed 2026-01-28 16:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-cap-vented-6-point-fas-trac-iii-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:10:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-c-phenolic-sheet-0-031-thick-48-x-96>: HTTP status code is not handled or not allowed 2026-01-28 16:10:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-de7-2-velvet-fine-matte-polycarbonate-sheet-0-010-x-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 16:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tbn-25-table-numbers-1-25-3-3-4w-4h-plastic-numbers-on-both-sides>: HTTP status code is not handled or not allowed 2026-01-28 16:10:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silica-dust-respirator-kit-sr-100-m-l-h10-0014>: HTTP status code is not handled or not allowed 2026-01-28 16:10:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-containment-grade-polycarbonate-0-750-x-48-000-x-96-000>: HTTP status code is not handled or not allowed 2026-01-28 16:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pprc-4w-pp-round-storage-container-polypropelyne-white>: HTTP status code is not handled or not allowed 2026-01-28 16:10:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pprc-68c-pp-round-cover-polypropelyne-translucent>: HTTP status code is not handled or not allowed 2026-01-28 16:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-scoop-82-oz-pink>: HTTP status code is not handled or not allowed 2026-01-28 16:10:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-scoop-32-oz-pink>: HTTP status code is not handled or not allowed 2026-01-28 16:10:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-pilaster-w-shoe-18w-x-82h-almond>: HTTP status code is not handled or not allowed 2026-01-28 16:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-8-x-8-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:10:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-fep-sheet-0-500-thick-24-x-24>: HTTP status code is not handled or not allowed 2026-01-28 16:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pprc-6w-pp-round-storage-container-polypropelyne-white>: HTTP status code is not handled or not allowed 2026-01-28 16:10:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ev-fire-suppressor-mister-in-line-mesh-filter-replacement>: HTTP status code is not handled or not allowed 2026-01-28 16:10:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-glue-8-ounces>: HTTP status code is not handled or not allowed 2026-01-28 16:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wperforated-doorexpanded-side-48x24x78grall-welded>: HTTP status code is not handled or not allowed 2026-01-28 16:10:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-ce-phenolic-sheet-2-000-x-48-000-x-96-000>: HTTP status code is not handled or not allowed 2026-01-28 16:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-series-12-direct-heat-foot-sealer-15mm-serrated-seal-width>: HTTP status code is not handled or not allowed 2026-01-28 16:10:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-oil-filled-cast-nylon-sheet-2-000-thick-48-x-48>: HTTP status code is not handled or not allowed 2026-01-28 16:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-300-z>: HTTP status code is not handled or not allowed 2026-01-28 16:10:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-outward-swing-partition-door-w-hardware-26w-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-fluid-level-sight-w-esg-glass-w-reflector-m16-x-1-5-thread-160fmn6-a>: HTTP status code is not handled or not allowed 2026-01-28 16:10:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-de1-1-gloss-gloss-polycarbonate-film-strip-0-020-x-48-000-wide>: HTTP status code is not handled or not allowed 2026-01-28 16:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-utility-pressure-gauge-1-8-npt-dry-fillable-0-200-psi-ctr-back-mount-102d-208g>: HTTP status code is not handled or not allowed 2026-01-28 16:10:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phenolic-black-core-pilaster-w-shoe-7w-x-82h-dove-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wperforated-doors-42wx24dx78h-blueall-welded>: HTTP status code is not handled or not allowed 2026-01-28 16:10:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-5-forged-brass-pressure-gauge-1-4-npt-0-200-psi-glycerine-filled-lm-601l-254g>: HTTP status code is not handled or not allowed 2026-01-28 16:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmc-9g-single-menu-cover-9-1-2w-12h-plastic-w-vinyl-binding-single-page-green>: HTTP status code is not handled or not allowed 2026-01-28 16:10:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63875-aware-wear-hi-vis-1-4-zipper-sweatshirt-class-3-hi-vis-lime-black-4xl>: HTTP status code is not handled or not allowed 2026-01-28 16:10:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-sheet-0-250-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 16:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-x-12-x-6-4-2-multi-depth-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:10:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ev-fire-suppressor-blanket-300l-x-240w-white>: HTTP status code is not handled or not allowed 2026-01-28 16:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-series-18-direct-heat-foot-sealer-15mm-serrated-seal-width>: HTTP status code is not handled or not allowed 2026-01-28 16:10:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-refill-cloths-white-10-5-8-x-8-32-box-33407bx>: HTTP status code is not handled or not allowed 2026-01-28 16:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/62988-aware-wear-hi-vis-zipper-sweatshirt-class-3-hi-vis-lime-black-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:10:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-canvas-c-phenolic-sheet-2-000-x-36-000-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 16:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spjl-6hl-half-size-long-steam-table-pan-21l-6-1-2w-6h-stainless-steel-standard-weight>: HTTP status code is not handled or not allowed 2026-01-28 16:10:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-drain-guard-regular-flow-8-overflow-ports-500-lb-cap-27l-x-27w-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 16:10:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-laminate-outward-swing-door-w-hardware-26w-navy-grafix>: HTTP status code is not handled or not allowed 2026-01-28 16:10:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-film-for-hand-dispenser-cast-80-gauge-12w-x-1500l-clear-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 16:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-skullerz-8961-single-reflective-hard-hat-safety-helmet-sticker-kit-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:10:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-037-025>: HTTP status code is not handled or not allowed 2026-01-28 16:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-x-2-solid-rubber-wheel-sl12-34-axel-size-3-4>: HTTP status code is not handled or not allowed 2026-01-28 16:10:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-drain-guard-regular-flow-8-overflow-ports-500-lb-cap-18l-x-30w-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 16:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-vented-sides-24wx18dx72h-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 16:10:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vx-031-0060rp-12-x-12-npt-tube-with-18-bleeder-check-valve>: HTTP status code is not handled or not allowed 2026-01-28 16:10:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/040-0348rp-single-stage-compressor-pump-hi-flo-3-cylinder-47-rhp>: HTTP status code is not handled or not allowed 2026-01-28 16:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-phenolic-sheet-2-500-thick-36-x-48>: HTTP status code is not handled or not allowed 2026-01-28 16:10:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-one-piece-industry-standard-clamping-couplings-w-keyway-climax-miscc-35-35-kw>: HTTP status code is not handled or not allowed 2026-01-28 16:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-table-30-wide-top-splash-at-rear-only-36-l-14-gauge-10-backsplash>: HTTP status code is not handled or not allowed 2026-01-28 16:10:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-reducer-16-6-16-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:10:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-xxx-paper-phenolic-rod-0-187-dia-4-ft>: HTTP status code is not handled or not allowed 2026-01-28 16:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-fully-framed-ta-50-locker-wperforated-doorexpanded-side-36x24x78grunssmbld>: HTTP status code is not handled or not allowed 2026-01-28 16:10:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mahr-federal-833-digital-electronic-amplifier>: HTTP status code is not handled or not allowed 2026-01-28 16:10:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sc-12r-round-wire-skimmer-12d>: HTTP status code is not handled or not allowed 2026-01-28 16:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-linen-le-phenolic-tube-0-250-id-x-312-od-x-48-000>: HTTP status code is not handled or not allowed 2026-01-28 16:10:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wkcs-18-wok-cover-17-3-4-d-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-safety-walk-slip-resistant-general-purpose-tapes-treads-610-bk-0-75-in-x-60-ft4>: HTTP status code is not handled or not allowed 2026-01-28 16:10:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 123588 pages (at 100 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:10:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-o-ring-10-dia-black-buna-n>: HTTP status code is not handled or not allowed 2026-01-28 16:10:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-skullerz-half-frame-safety-sunglasses-anti-fog-scratch-blue-lens-orange-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-vented-18wx18dx72hrdall-welded>: HTTP status code is not handled or not allowed 2026-01-28 16:10:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-clamp-with-pin-16-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:10:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/qf-butterfly-valve-12-dia-galvanized-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sg-59g-af-helium-18-lightweight-safety-glasses-anti-fog-gray-lens>: HTTP status code is not handled or not allowed 2026-01-28 16:10:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pure-collection-business-tote-bag-fits-most-14-in-laptop-black>: HTTP status code is not handled or not allowed 2026-01-28 16:11:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contrast-collection-briefcase-bag-fits-most-14-in-laptop-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-box-footlocker-18wx18dx72hrdall-welded>: HTTP status code is not handled or not allowed 2026-01-28 16:11:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-proflex-4015-double-strap-wrist-brace-support-left-m-black>: HTTP status code is not handled or not allowed 2026-01-28 16:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0068r-stretch-open-hole-mask>: HTTP status code is not handled or not allowed 2026-01-28 16:11:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0035-05-victoria-dinner-fork>: HTTP status code is not handled or not allowed 2026-01-28 16:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0092-neofleece-combo-clava-regular-black-small-medium>: HTTP status code is not handled or not allowed 2026-01-28 16:11:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/integra-vinyl-task-chair-high-back-articulating-tilt-24-34h-seat-black>: HTTP status code is not handled or not allowed 2026-01-28 16:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-star153-anti-fatigue-mat-1116-thick-3w-x-10l-blackyellow>: HTTP status code is not handled or not allowed 2026-01-28 16:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-recessed-screw-climax-tc-037-16>: HTTP status code is not handled or not allowed 2026-01-28 16:11:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/132c-ice-logger-boot-regular-tan-14>: HTTP status code is not handled or not allowed 2026-01-28 16:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-climax-2c-162-z>: HTTP status code is not handled or not allowed 2026-01-28 16:11:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0385r-iron-tuff-high-bib-overall-tall-navy-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-gallon-foam-shipperkit>: HTTP status code is not handled or not allowed 2026-01-28 16:11:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-vented-24wx21dx76hblall-welded>: HTTP status code is not handled or not allowed 2026-01-28 16:11:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-recessed-screw-climax-tc-050-20>: HTTP status code is not handled or not allowed 2026-01-28 16:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-top-sheets-108x108-1-5-mil-100-rl>: HTTP status code is not handled or not allowed 2026-01-28 16:11:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0985-econo-tuff-bib-overall-regular-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-28 16:11:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clean-freeze-cleaner-for-freezers-sub-zero-surfaces-neutral-scent-gallon-4-case-nl849-g4>: HTTP status code is not handled or not allowed 2026-01-28 16:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-industry-standard-clamping-couplings-climax-2iscc-112-100>: HTTP status code is not handled or not allowed 2026-01-28 16:11:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-24wx24dx78h-gray-all-welded>: HTTP status code is not handled or not allowed 2026-01-28 16:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-1-2-x-1-2-mnpt-nipple>: HTTP status code is not handled or not allowed 2026-01-28 16:11:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-coupling-w-keyway-climax-rc-087-kw>: HTTP status code is not handled or not allowed 2026-01-28 16:11:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hd-job-site-security-bo-truck-handle-2-center-shelves-36-72-6-poly-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42sq-stainless-steel-scoop-50-oz>: HTTP status code is not handled or not allowed 2026-01-28 16:11:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-48x14>: HTTP status code is not handled or not allowed 2026-01-28 16:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-14x48-nexelon>: HTTP status code is not handled or not allowed 2026-01-28 16:11:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0440-chillbreaker-coverall-regular-navy-4xl>: HTTP status code is not handled or not allowed 2026-01-28 16:11:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-bxfootlockervented18x18x72blall-welded>: HTTP status code is not handled or not allowed 2026-01-28 16:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bus-smoking-shelter-flat-roof-3-side-open-front-with-black-5-gallon-outdoor-ashtray-6-5-wx3-8-dx7-h>: HTTP status code is not handled or not allowed 2026-01-28 16:11:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0031-01-peacock-teaspoon>: HTTP status code is not handled or not allowed 2026-01-28 16:11:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-36>: HTTP status code is not handled or not allowed 2026-01-28 16:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelfsecurity-boxvented24wx24dx78hgyall-welded>: HTTP status code is not handled or not allowed 2026-01-28 16:11:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelfsecurity-boxvented24wx18dx78hgyall-welded>: HTTP status code is not handled or not allowed 2026-01-28 16:11:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-px5-easy-clean-belt>: HTTP status code is not handled or not allowed 2026-01-28 16:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wsecurity-bxfootlockervented24x18x78rdall-welded>: HTTP status code is not handled or not allowed 2026-01-28 16:11:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metric-two-piece-clamping-collar-climax-m2c-45-s>: HTTP status code is not handled or not allowed 2026-01-28 16:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-plastic-trash-container-garbage-can-20-gallon-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:11:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fully-framed-stadium-locker-wshelf-footlocker-18wx18dx72h-red-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 16:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0620-service-jacket-regular-black-4xl>: HTTP status code is not handled or not allowed 2026-01-28 16:11:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-11-cu-ft-microwave-dmw111kpssdd>: HTTP status code is not handled or not allowed 2026-01-28 16:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-z-brite-wire-shelf-21x48>: HTTP status code is not handled or not allowed 2026-01-28 16:11:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0031-06-peacock-salad-fork>: HTTP status code is not handled or not allowed 2026-01-28 16:11:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bandsaw-replacement-blade-for-hbs-916w-46-vt-119-12l-x-1w-x-035-thick>: HTTP status code is not handled or not allowed 2026-01-28 16:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0031-11-peacock-table-fork>: HTTP status code is not handled or not allowed 2026-01-28 16:11:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-zlink-resp-w-tychem-shoulder-cape>: HTTP status code is not handled or not allowed 2026-01-28 16:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-600536-blk-c-channel-36-w-x-1-4-d-x-5-h>: HTTP status code is not handled or not allowed 2026-01-28 16:11:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/as-58-utility-scoop-58-oz-aluminum-sure-grip-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:11:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ghs-exploding-bomb-pictogram-label-2-x-2-500-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-300197-vertical-horizontal-door-sign-holder-8-1-2-w-x-1-4-d-x-11-h>: HTTP status code is not handled or not allowed 2026-01-28 16:11:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-2000-xl-nylon-capecold-tube>: HTTP status code is not handled or not allowed 2026-01-28 16:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-3-leather-cape>: HTTP status code is not handled or not allowed 2026-01-28 16:11:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bst-4p-slotted-basting-spoon-18l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-climax-1c-037-a>: HTTP status code is not handled or not allowed 2026-01-28 16:11:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0025-01-houston-teaspoon>: HTTP status code is not handled or not allowed 2026-01-28 16:11:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dome-lid-with-swing-door-fits-ssc50-greystone-stl50-00gst>: HTTP status code is not handled or not allowed 2026-01-28 16:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700227-wht-four-sided-pegboard-tower-display-w-revolving-9-base-9-w-x-9-d-x-25-h>: HTTP status code is not handled or not allowed 2026-01-28 16:11:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-with-swing-door-fits-ssc25-greystone-ssd25-00gst>: HTTP status code is not handled or not allowed 2026-01-28 16:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tebyas-concealed-handgun-law-prohibited-m460r>: HTTP status code is not handled or not allowed 2026-01-28 16:11:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-performance-starter-battery-s6587b-auto-vm>: HTTP status code is not handled or not allowed 2026-01-28 16:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-252819-three-tier-brochure-holder-31-1-2-w-x-5-1-4-d-x-9-h>: HTTP status code is not handled or not allowed 2026-01-28 16:11:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-300222-slv-vertical-horizontal-format-snap-frame-28-h>: HTTP status code is not handled or not allowed 2026-01-28 16:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-inch-h-backless-silver-gray-metal-barstool>: HTTP status code is not handled or not allowed 2026-01-28 16:11:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0360-iron-tuff-ice-parka-regular-sage-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-sledge-hammer-12-lb-head-24l-unbreakable-steel-core-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:11:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rigid-coupling-4-set-screws-2-90-rc4h-series-climax-rc-150-4h90>: HTTP status code is not handled or not allowed 2026-01-28 16:11:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-wall-bracket-for-9k-12k-18k-systems>: HTTP status code is not handled or not allowed 2026-01-28 16:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-sledge-hammer-6-lb-head-30l-unbreakable-steel-core-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:11:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-recessed-screw-climax-tc-125-12>: HTTP status code is not handled or not allowed 2026-01-28 16:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0342r-iron-tuff-jackoat-regular-navy-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:11:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-qr-coupler-1-4-female-thread>: HTTP status code is not handled or not allowed 2026-01-28 16:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-l-x-30-w-14-gauge-stainless-workbench-w-undershelf-right-sink-1>: HTTP status code is not handled or not allowed 2026-01-28 16:11:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-cover-rubbermaid-recycling-cube-truck>: HTTP status code is not handled or not allowed 2026-01-28 16:11:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-zlink-fit-system>: HTTP status code is not handled or not allowed 2026-01-28 16:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-galvanized-steel-cargo-control-load-stabilizer-1-1-2-od>: HTTP status code is not handled or not allowed 2026-01-28 16:11:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0358r-iron-tuff-siberian-jacket-regular-sage-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cradle-carabiner-6l-black>: HTTP status code is not handled or not allowed 2026-01-28 16:11:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wsp-48-wooden-stirring-paddle>: HTTP status code is not handled or not allowed 2026-01-28 16:11:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700916-bowl-for-pegboard-slatwall-16-w-x-16-d-x-8-h>: HTTP status code is not handled or not allowed 2026-01-28 16:11:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/azar-700729-blu-two-sided-pegboard-floor-display-w-studio-base-14-1-2-w-x-14-d-x-58-h>: HTTP status code is not handled or not allowed 2026-01-28 16:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-t150-nylon-head-suspension>: HTTP status code is not handled or not allowed 2026-01-28 16:11:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/99512-001266-plus-semi-auto-defibrillator-package>: HTTP status code is not handled or not allowed 2026-01-28 16:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-industrial-manual-chain-hoist-2-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:11:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-maple-square-edge-mobile-work-bench-fixed-height-1-3-4-top>: HTTP status code is not handled or not allowed 2026-01-28 16:11:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-3-cool-tube-xl-blast-jacket>: HTTP status code is not handled or not allowed 2026-01-28 16:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifting-manual-chain-hoist-w-overload-protection-1-2-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:11:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-025-025-s>: HTTP status code is not handled or not allowed 2026-01-28 16:11:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ivy-x-83642-pre-contact--gel-posion-oak-and-ivy-solutiontowelette-25-fish-bowl-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sun-x-50-61771-sunscreen-lotion-spf-50-gallon-jug>: HTTP status code is not handled or not allowed 2026-01-28 16:11:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/k-5144bhb14os-hard-body-aerial-bucket>: HTTP status code is not handled or not allowed 2026-01-28 16:11:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0358r-iron-tuff-siberian-jacket-tall-sage-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-zlink-yellow-safety-lens>: HTTP status code is not handled or not allowed 2026-01-28 16:11:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-latex-true-red>: HTTP status code is not handled or not allowed 2026-01-28 16:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ss-821-combination-sharpening-stone>: HTTP status code is not handled or not allowed 2026-01-28 16:11:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 123688 pages (at 100 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:11:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-cover-dividable-grid-container-sold-per-carton-1>: HTTP status code is not handled or not allowed 2026-01-28 16:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-cover-dividable-grid-container-sold-per-carton-3>: HTTP status code is not handled or not allowed 2026-01-28 16:11:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-nova-3-c40-xl-nylon-cape>: HTTP status code is not handled or not allowed 2026-01-28 16:11:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-metric-deep-impact-socket-33mm-drive-black>: HTTP status code is not handled or not allowed 2026-01-28 16:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dxs2153-drive-hex-sae-imperial-impact-socket-set-6-point-14-piece>: HTTP status code is not handled or not allowed 2026-01-28 16:11:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jla-300-10-lever-hoist-3-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:11:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/task-chair-multifunctional-height-adjustment-27>: HTTP status code is not handled or not allowed 2026-01-28 16:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0486-hoodie-sweatshirt-regular-navy-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:12:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxflow-ansi-life-vest-mesh-uscgtc-type-iii-l-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-inch-x-5-yards-self-adhesive-bandage-non-latex-dark-blue-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 16:12:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-t-link-hood-tychem-qc>: HTTP status code is not handled or not allowed 2026-01-28 16:12:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxflow-ansi-life-vest-mesh-uscgtc-type-iii-3xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-inch-x-5-yards-self-adhesive-bandage-non-latex-dark-purple>: HTTP status code is not handled or not allowed 2026-01-28 16:12:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s90-150-30-hand-chain-hoist-1-12-ton-capacity-30-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stn-8-slotted-turner>: HTTP status code is not handled or not allowed 2026-01-28 16:12:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-maple-top-pedestal-workbench-w-6-drawers>: HTTP status code is not handled or not allowed 2026-01-28 16:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-double-wide-climax-d2c-018-s>: HTTP status code is not handled or not allowed 2026-01-28 16:12:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z4-fr-face-seal-px5>: HTTP status code is not handled or not allowed 2026-01-28 16:12:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/basic-heat-stress-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-with-keyway-c-kw-series-climax-c-200-s-kw>: HTTP status code is not handled or not allowed 2026-01-28 16:12:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-maple-safety-edge-top-pedestal-workbench-w-4-drawers>: HTTP status code is not handled or not allowed 2026-01-28 16:12:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxflow-life-vest-mesh-uscgtc-type-iii-3xl-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ut-9lt-utility-tong-coiled-spring-coiled-spring-9l-medium-weight-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:12:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utph-12k-utility-tong-heat-resistant-heat-resistant-12l-black>: HTTP status code is not handled or not allowed 2026-01-28 16:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wwb-8-woven-salad-bowl>: HTTP status code is not handled or not allowed 2026-01-28 16:12:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plug-it-powr-center-adapter-15a-125v-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:12:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-137-137>: HTTP status code is not handled or not allowed 2026-01-28 16:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mh-1-harp-clip-menu-holder-4-1-4w-1-1-2h-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:12:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-z4-head-harness-assembly>: HTTP status code is not handled or not allowed 2026-01-28 16:12:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sanding-belt-aluminum-oxide-80-grit-36l-x-4w-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 16:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mmb-4-fruit-bowl-4-oz-tan-melamine>: HTTP status code is not handled or not allowed 2026-01-28 16:12:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-5-yards-self-adhesive-bandage-non-latex-dark-purple-pack-of-4>: HTTP status code is not handled or not allowed 2026-01-28 16:12:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chair-guard-for-sp4816-pie-unit>: HTTP status code is not handled or not allowed 2026-01-28 16:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-by-12-stage-package-24-inches-height-black-carpet-box-pleat-black-skirting>: HTTP status code is not handled or not allowed 2026-01-28 16:12:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-commercial-concrete-bench-polished-tan-river-rock-top-tan-river-rock-leg>: HTTP status code is not handled or not allowed 2026-01-28 16:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1028-precision-lubricator-polycarbonate-bowl-w-metal-guard-14-npt-150-psi-5-oz-bowl>: HTTP status code is not handled or not allowed 2026-01-28 16:12:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-inch-x-5-yards-self-adhesive-bandage-latex-true-red-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-x-33-20-25-gallon-hot-water-soluble-bag>: HTTP status code is not handled or not allowed 2026-01-28 16:12:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gh-1880zx-large-spindle-bore-lathe-with-acu-rite-203-dro-7-12-hp-3ph-230460v>: HTTP status code is not handled or not allowed 2026-01-28 16:12:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-rack-straight-arm-with-2-lip-36>: HTTP status code is not handled or not allowed 2026-01-28 16:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-inch-x-5-yards-self-adhesive-bandage-non-latex-black-pack-of-8>: HTTP status code is not handled or not allowed 2026-01-28 16:12:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-add-on-unit-36-w-x-12-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 16:12:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-050-037-s>: HTTP status code is not handled or not allowed 2026-01-28 16:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reference-shelf-30-wx12-d-shelf-with-hardware>: HTTP status code is not handled or not allowed 2026-01-28 16:12:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twpo-9-offset-spatulas-9-1-2l-blade-white-polypropylene-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-70a-116-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:12:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-with-acrylic-adhesive-70a-14-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 16:12:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-3-tier-wire-shelving-add-on-unit-60-w-x-24-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 16:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-starter-unit-30-w-x-14-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 16:12:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1306152-meyer-pump-15026>: HTTP status code is not handled or not allowed 2026-01-28 16:12:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-starter-unit-60-w-x-18-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 16:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-106c-mushroom-tops-for-g-106>: HTTP status code is not handled or not allowed 2026-01-28 16:12:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3013659-universal-vibrator-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:12:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d268pb-osha-sign-danger-electrical-hazard-authorized-personnel-only-10-x-14-whiteredblack>: HTTP status code is not handled or not allowed 2026-01-28 16:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1457110-swenson-conveyor-chain-0404301600>: HTTP status code is not handled or not allowed 2026-01-28 16:12:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-50a-132-thick-x-36-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:12:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-add-on-unit-solid-galvanized-steel-42w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-162-bo>: HTTP status code is not handled or not allowed 2026-01-28 16:12:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-2-tier-wire-shelving-starter-unit-72-w-x-21-d-x-34-h>: HTTP status code is not handled or not allowed 2026-01-28 16:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ccs-8c-china-cap-strainer-coarse-mesh>: HTTP status code is not handled or not allowed 2026-01-28 16:12:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1314000-western-control-assembly-56018>: HTTP status code is not handled or not allowed 2026-01-28 16:12:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-50-bundle-newsprint-sheets>: HTTP status code is not handled or not allowed 2026-01-28 16:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1304408-western-shock-absorber-60338>: HTTP status code is not handled or not allowed 2026-01-28 16:12:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spider-for-1-12-spindle-bore>: HTTP status code is not handled or not allowed 2026-01-28 16:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-056-s>: HTTP status code is not handled or not allowed 2026-01-28 16:12:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-hole-set-screw-collar-c-2h-series-climax-c-062-2h-90>: HTTP status code is not handled or not allowed 2026-01-28 16:12:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1308006-diamond-blade-guide-811000095>: HTTP status code is not handled or not allowed 2026-01-28 16:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-storage-cabinet-36x24x72-black>: HTTP status code is not handled or not allowed 2026-01-28 16:12:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1306083-meyer-membrane-switch-22154>: HTTP status code is not handled or not allowed 2026-01-28 16:12:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28025-bench-wheel-vitrified-8-inch-x-1-inch-x-1-inch-80-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 16:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55-ton-hydraulic-ironworker-w-powerlink-4-tooling-stations-3ph-460-v>: HTTP status code is not handled or not allowed 2026-01-28 16:12:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-118-a>: HTTP status code is not handled or not allowed 2026-01-28 16:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oversize-round-punch-die-set-1-12>: HTTP status code is not handled or not allowed 2026-01-28 16:12:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oversize-round-punch-die-set-1-1732>: HTTP status code is not handled or not allowed 2026-01-28 16:12:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrosion-resistant-set-screw-collar-cr-climax-crc-050>: HTTP status code is not handled or not allowed 2026-01-28 16:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-add-on-unit-solid-galvanized-steel-42w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:12:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60506-sanding-belt-1a-x-2-inch-x-48-inch-36-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 16:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supreme-duty-spring-rewind-hose-reel-for-air-water-oil-1-2-i-d-50-hose-3000-psi>: HTTP status code is not handled or not allowed 2026-01-28 16:12:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-5-tier-shelving-add-on-unit-solid-galvanized-steel-54w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-threaded-clamping-collar-climax-istc-100-08-s>: HTTP status code is not handled or not allowed 2026-01-28 16:12:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-3-tier-shelving-starter-unit-solid-galvanized-steel-60w-x-18d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 16:12:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-4-tier-shelving-add-on-unit-solid-galvanized-steel-54w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/epg-2-electric-panini-grill-ribbed-plates-9-2-sets>: HTTP status code is not handled or not allowed 2026-01-28 16:12:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/75-ton-hydraulic-ironworker-w-powerlink-4-tooling-stations-3ph-575-v>: HTTP status code is not handled or not allowed 2026-01-28 16:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kfp-35-paring-knife>: HTTP status code is not handled or not allowed 2026-01-28 16:12:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gt-105-fine-blade-grater-soft-grip-handle-anti-slip-feet>: HTTP status code is not handled or not allowed 2026-01-28 16:12:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-middle-shelf-for-rubbermaid-cleaning-cart>: HTTP status code is not handled or not allowed 2026-01-28 16:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-replacement-liner-10-bushel-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:12:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pwr-core-40-153-brushless-40v-10-pole-saw-with-battery-auto-pwr-jump-153-charger>: HTTP status code is not handled or not allowed 2026-01-28 16:12:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-strip-with-high-temp-adhesive-75a-116-thick-x-14-wide-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-with-keyway-c-kw-series-climax-c-125-a-kw>: HTTP status code is not handled or not allowed 2026-01-28 16:12:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-strip-with-high-temp-adhesive-75a-132-thick-x-12-wide-x-3-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:12:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-replacement-liner-10-bushel-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axs-12-aluminum-stock-pot>: HTTP status code is not handled or not allowed 2026-01-28 16:12:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/70112-2a-flap-wheel-3-inch-x-2-inch-x-1-4-inch-80-grit-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 16:12:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-bowls-8-oz-3-5-diameter-x-2-3-h-white-1-000-carton>: HTTP status code is not handled or not allowed 2026-01-28 16:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ewp-2-full-size-electric-chafer-water-pan>: HTTP status code is not handled or not allowed 2026-01-28 16:12:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 123786 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:12:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-roll-no-adhesive-75a-316-thick-x-36-wide-x-7-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-punch-die-set-716>: HTTP status code is not handled or not allowed 2026-01-28 16:12:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/supreme-duty-spring-rewind-hose-reel-for-fuel-1-i-d-35-fuel-hose-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 16:12:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/license-plate-holder-with-hanging-strap-stitched-clear-front-black-back-15-set>: HTTP status code is not handled or not allowed 2026-01-28 16:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelving-36x14x63>: HTTP status code is not handled or not allowed 2026-01-28 16:12:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-purpose-spring-rewind-hose-reel-for-air-water-14-i-d-50-hose-each-300-psi>: HTTP status code is not handled or not allowed 2026-01-28 16:12:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/covid-19-vaccine-card-holder-clear-4-x-3-50-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwh-3-boning-knife>: HTTP status code is not handled or not allowed 2026-01-28 16:13:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aloris-ca-intro-pro-set-for-elite-egh-1740-egh-1760-lathe>: HTTP status code is not handled or not allowed 2026-01-28 16:13:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-series-spring-rewind-power-cord-reel-quad-industrial-receptacle-100-cord-12-awg>: HTTP status code is not handled or not allowed 2026-01-28 16:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-24-3-8x14-7-8-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:13:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/le-11-elegance-solid-spoon-11l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:13:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-062-s>: HTTP status code is not handled or not allowed 2026-01-28 16:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-caster-with-swivel-plate-3-3-4-x-4-3-8-plate-350-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:13:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-cord-spring-rewind-reels-quad-industrial-receptacle-75-cord-12-awg>: HTTP status code is not handled or not allowed 2026-01-28 16:13:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tn-700-end-mill-style-tube-pipe-notcher-1-2-12-od-2-hp-115v>: HTTP status code is not handled or not allowed 2026-01-28 16:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/body-harness-side-d-rings-buckle-leg-strap>: HTTP status code is not handled or not allowed 2026-01-28 16:13:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bamc-6-cover-for-bam-6>: HTTP status code is not handled or not allowed 2026-01-28 16:13:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-38-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-tote-lid-19-3-4x12-1-2-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:13:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-purpose-electric-air-spring-rewind-reels-50-3-8-i-d-hose-300-psi-single-industrial-receptacle-50-cord-16-awg>: HTTP status code is not handled or not allowed 2026-01-28 16:13:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-clamping-collar-recessed-screw-climax-h1c-050>: HTTP status code is not handled or not allowed 2026-01-28 16:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/set-screw-collar-climax-c-081-bo>: HTTP status code is not handled or not allowed 2026-01-28 16:13:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-140-load-binder-3-8-1-2-r-a-standard-ratchet-type-15000-lbs-wll>: HTTP status code is not handled or not allowed 2026-01-28 16:13:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/81805-da-f-shop-roll-1-inch-x-50-yds-180-grit-handy-roll-aluminum-oxide>: HTTP status code is not handled or not allowed 2026-01-28 16:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-450-galvanized-clip-drop-forged-1-1-8>: HTTP status code is not handled or not allowed 2026-01-28 16:13:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-row-universal-low-rise-aluminum-bleacher-9-wide-single-footboard>: HTTP status code is not handled or not allowed 2026-01-28 16:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-116-thick-x-36-wide-x-9-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:13:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-row-universal-low-rise-tip-and-roll-aluminum-bleacher-21-wide-single-footboard>: HTTP status code is not handled or not allowed 2026-01-28 16:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dolly-42-1-2x20-x-14-1-4-tote-red>: HTTP status code is not handled or not allowed 2026-01-28 16:13:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/back-gauge-for-48-50t-55t-60t-65t-75t-100t-100t-dlx-120t-elite-ironworkers>: HTTP status code is not handled or not allowed 2026-01-28 16:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-12a-sawzall-1-18-stroke-wcase>: HTTP status code is not handled or not allowed 2026-01-28 16:13:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-322an-alloy-hook-swivel-w-latch-2t-wll>: HTTP status code is not handled or not allowed 2026-01-28 16:13:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-rigid-row-spacer-8-depth-2>: HTTP status code is not handled or not allowed 2026-01-28 16:13:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-279-eye-bolt-shoulder-type-machinery-3-8-x-1-1-4>: HTTP status code is not handled or not allowed 2026-01-28 16:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-woven-file-box-black-white>: HTTP status code is not handled or not allowed 2026-01-28 16:13:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-209a-galvanized-alloy-shackle-spa-7-8-9-1-2t-wll>: HTTP status code is not handled or not allowed 2026-01-28 16:13:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-250-s>: HTTP status code is not handled or not allowed 2026-01-28 16:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-flat-file-40-5-drawer-closed-base-black>: HTTP status code is not handled or not allowed 2026-01-28 16:13:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/economy-d-ring-vinyl-view-binder-5-capacity-white>: HTTP status code is not handled or not allowed 2026-01-28 16:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/presentation-view-binder-round-ring-11-x-8-1-2-1-capacity-lime-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:13:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/one-piece-industry-standard-clamping-couplings-climax-iscc-112-112-s>: HTTP status code is not handled or not allowed 2026-01-28 16:13:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-piece-clamping-collar-recessed-screw-climax-h2c-075-s>: HTTP status code is not handled or not allowed 2026-01-28 16:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/round-ring-economy-vinyl-view-binder-1-2-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 16:13:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-16-w-perforated-safety-angle-ladder-w-o-handrails>: HTTP status code is not handled or not allowed 2026-01-28 16:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/end-stop-collar-climax-esc-075>: HTTP status code is not handled or not allowed 2026-01-28 16:13:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-roll-no-adhesive-50a-14-thick-x-36-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:13:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/007-oring-epdm-18id-x-516od-70-duro-round-black-pkg-100>: HTTP status code is not handled or not allowed 2026-01-28 16:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-nema-c-face-kit-steel-frame-motors-213t-215t-odp>: HTTP status code is not handled or not allowed 2026-01-28 16:13:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-322cn-carbon-hook-swivel-w-latch-3t-wll>: HTTP status code is not handled or not allowed 2026-01-28 16:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-72x18x72-starter>: HTTP status code is not handled or not allowed 2026-01-28 16:13:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-1216-sliding-door-handle-4-1516-inch-hole-centers-black>: HTTP status code is not handled or not allowed 2026-01-28 16:13:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn-71752-clevis-fork-joints-inch-size-steel-1-2-x-20l-2-3-16-o-a-l>: HTTP status code is not handled or not allowed 2026-01-28 16:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tool-cart-w-3-modular-drawers-2-shelves-800-lb-capacity-22l-x-34-38w-x-3h>: HTTP status code is not handled or not allowed 2026-01-28 16:13:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bash-8-lb-steel-dead-blow-hammer-30l-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cortech-usa-c453075p-standard-correc-mattress-blue-4-5-x-30-x-75-w-integrated-pillows-1-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:13:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capital-locker-single-tier-12x15x72-1-door-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wn-751-clevis-fork-joints-steel-w-snap-on-spring-pin-zinc-pltd-1-4-x-28l-15-16-oal>: HTTP status code is not handled or not allowed 2026-01-28 16:13:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-15-lb-ft-coupler-brake-182-4tc-213-5tc-nema4x-ip55-230-460v-1ph-aluminum-iron-stearns>: HTTP status code is not handled or not allowed 2026-01-28 16:13:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capital-locker-double-tier-12x18x36-2-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-hook-stake-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:13:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/internal-anvil-assembly-for-dxs-2236-series-air-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-28 16:13:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-6-lb-ft-coupler-brake-56c-143-5tc-nema2-ip23-575v-1ph-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 16:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-ac-integral-gearmotor-p1100-20-1-85-71rpm-20lb-in-33hp-42y-230-460v-3ph-60-50hz-tefc>: HTTP status code is not handled or not allowed 2026-01-28 16:13:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-with-high-temp-adhesive-60a-12-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:13:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l100-150wo-15-hand-chain-hoist-with-overload-protection-1-12-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:13:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-12x15x60-3-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/static-conductive-air-hose-assembly-38-id-x-12l-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:13:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-single-tier-12x12x72-3-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-caster-with-1square-swivel-stem-and-brake-2-1-16h-stem-325-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:13:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-station-hydraulic-press-10-hp-3-phase-220v-hsp-200m-c>: HTTP status code is not handled or not allowed 2026-01-28 16:13:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-double-tier-12x12x36-6-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-locker-double-tier-12x12x36-6-door-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:13:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-in-70-46-grit-scrub-brush-for-concrete-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-tarp-system-with-mesh-tarp-7-1-2-ft-x-18-ft-dtr7518>: HTTP status code is not handled or not allowed 2026-01-28 16:13:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-disc-grinder-2-hp-single-phase-220v-dg-500>: HTTP status code is not handled or not allowed 2026-01-28 16:13:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-base-12-w-x-6-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-3-phase-washguard-duty-motor-3-4hp-1800rpm-s56-tefc-230-460v-60hz-1-15sf-c-face>: HTTP status code is not handled or not allowed 2026-01-28 16:13:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-general-purpose-motor-1-3hp-3450rpm-56-tenv-115-208-230v-60hz-round>: HTTP status code is not handled or not allowed 2026-01-28 16:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-lathe-220v-single-phase-14-swing-40-l-includes-dro-pl-1440e-1-0>: HTTP status code is not handled or not allowed 2026-01-28 16:13:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-spillpal-foam-wall-spill-containment-berm-20l-x-12w-x-4h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r3027-compatible-ribbon-black-red>: HTTP status code is not handled or not allowed 2026-01-28 16:13:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-bracket-spill-containment-berm-8l-x-6w-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-50a-132-thick-x-36-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:13:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-shelf-truck-slat-sides-24-x-60>: HTTP status code is not handled or not allowed 2026-01-28 16:13:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pem-split-astragal-and-vinyl-insert-36-to-84-l-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/square-hole-pegboards-w-lochook-assortment-24w-x-916d-x-24h-red-epoxy-48pk>: HTTP status code is not handled or not allowed 2026-01-28 16:13:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-shelf-truck-mesh-sides-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 16:13:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-heavy-duty-door-stop-satin-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leeson-single-phase-explosion-proof-motor-1hp-3450rpm-56-epfc-60hz-automatic-1-0sf-rigid>: HTTP status code is not handled or not allowed 2026-01-28 16:13:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-metal-cutting-band-saw-3-4-hp-single-phase-110v-bs-128m>: HTTP status code is not handled or not allowed 2026-01-28 16:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flush-bridge-36w-x-24d-x-29-1-2h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 16:13:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-shelf-wagon-truck-24-x-48-8-inch-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:13:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-steel-deck-w-6-inch-sides-10-x-350-pneumatic-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rock-door-stop-w-keeper-2-1-2-dia-satin-chrome>: HTTP status code is not handled or not allowed 2026-01-28 16:13:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/return-shell-reversible-36w-x-24d-x-29-1-2h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 16:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elephantwall-topple-barrier-14-ft-2-in-h-x-8-ft-l>: HTTP status code is not handled or not allowed 2026-01-28 16:13:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 123882 pages (at 96 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:13:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/channel-stiffener-post-8>: HTTP status code is not handled or not allowed 2026-01-28 16:13:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-stake-truck-36-x-72-polyurethane-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drum-low-profile-spill-containment-pallet-with-drain>: HTTP status code is not handled or not allowed 2026-01-28 16:13:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merchandise-collector-flush-shelves-24-x-48-6-x-2-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-teardrop-backstop-120-inch-l-6-inch-offset>: HTTP status code is not handled or not allowed 2026-01-28 16:13:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nomad-construction-site-tent-direct-fired-heater-liquid-propane-250000-btu>: HTTP status code is not handled or not allowed 2026-01-28 16:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manually-operated-hand-straight-brake-4-l-16-gauge-hb-4816>: HTTP status code is not handled or not allowed 2026-01-28 16:13:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-25lf>: HTTP status code is not handled or not allowed 2026-01-28 16:14:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rapidroll-portable-barrier-3-legged-system-100-feet-safety-orange-fencing-70-7010>: HTTP status code is not handled or not allowed 2026-01-28 16:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-shrouded-padlocks-no-40kadpf>: HTTP status code is not handled or not allowed 2026-01-28 16:14:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smo3-forced-air-mechanical-oven-3-cu-ft-85-l-115v>: HTTP status code is not handled or not allowed 2026-01-28 16:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-2kablf>: HTTP status code is not handled or not allowed 2026-01-28 16:14:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/302-carton-sealing-tape-3-x-110-yds-16-mil-clear-24pack>: HTTP status code is not handled or not allowed 2026-01-28 16:14:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-2kalj>: HTTP status code is not handled or not allowed 2026-01-28 16:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gre-841ah-hand-bender-w-handle-34>: HTTP status code is not handled or not allowed 2026-01-28 16:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-shrouded-padlocks-no-37>: HTTP status code is not handled or not allowed 2026-01-28 16:14:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quickpick-double-hopper-bin-6-5-8x9-1-2x5-red>: HTTP status code is not handled or not allowed 2026-01-28 16:14:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-vent-free-radiant-heater-30000-btu>: HTTP status code is not handled or not allowed 2026-01-28 16:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-truck-4-lip-shelves-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 16:14:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gre-595-fishlineconduit-bonded-nylon>: HTTP status code is not handled or not allowed 2026-01-28 16:14:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gre-0952-01-cable-mc-cutter>: HTTP status code is not handled or not allowed 2026-01-28 16:14:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32527-11-in-1-hvac-screwdriver-nut-driver-schrader-bit-tool>: HTTP status code is not handled or not allowed 2026-01-28 16:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-laminated-padlocks-no-31kalh>: HTTP status code is not handled or not allowed 2026-01-28 16:14:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/355-carton-sealing-tape-3-x-55-yds-35-mil-clear-24pack>: HTTP status code is not handled or not allowed 2026-01-28 16:14:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-armless-bonded-leather-chair-white>: HTTP status code is not handled or not allowed 2026-01-28 16:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-6-l-x-14-8-w-vinyl-wall-tile-carrara-marble-8-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-59-1802-dual-bay-simultaneous-rapid-charger>: HTTP status code is not handled or not allowed 2026-01-28 16:14:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-roll-no-adhesive-60a-38-thick-x-36-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-60a-316-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-part-carbonless-stub-style-inv-tag-pre-wired-1000-1499-8-6-14lx3-18w-500pk>: HTTP status code is not handled or not allowed 2026-01-28 16:14:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-deck-platform-truck-lip-edge-24-x-36-mold-on-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:14:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-no-adhesive-60a-12-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-rubber-sheet-no-adhesive-75a-332-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-gallon-water-boiler-120v-1800w-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:14:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-36x12x39-17>: HTTP status code is not handled or not allowed 2026-01-28 16:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s78129-class-3-hooded-sweatshirt-fluorescent-orange-md>: HTTP status code is not handled or not allowed 2026-01-28 16:14:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/order-picking-truck-flush-top-24-x-36>: HTTP status code is not handled or not allowed 2026-01-28 16:14:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-welded-wardrobe-cabinet-36-w-x-24-d-x-72-h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wagon-truck-flush-deck-24-x-48-pneumatic-wheels-3000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:14:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/instrument-cart-w-writing-shelf-flush-shelves-non-slip-vinyl-surface-24-x-48>: HTTP status code is not handled or not allowed 2026-01-28 16:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-closed-shelving-36x18x39-9>: HTTP status code is not handled or not allowed 2026-01-28 16:14:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merchandise-collector-tray-type-shelves-30-x-48-6-x-2-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-3-ft-ball-transfer-table-21-inch-between-frame-4-inch-ball-center>: HTTP status code is not handled or not allowed 2026-01-28 16:14:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-lockable-outdoor-storage-container-30-x-25-x-24-5-5-cu-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:14:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-scoop-4-liter-capacity-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-shelf-truck-3-lip-shelves-24-x-36>: HTTP status code is not handled or not allowed 2026-01-28 16:14:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-36x12x75-23>: HTTP status code is not handled or not allowed 2026-01-28 16:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bin-shelving-open-shelving-36x18x75-15>: HTTP status code is not handled or not allowed 2026-01-28 16:14:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-ft-l-hytrol-slider-bed-conveyor-12-inch-w-belt>: HTTP status code is not handled or not allowed 2026-01-28 16:14:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o21007-eagle-plain-front-overall-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/insulated-replacement-cover-for-n1b-n1ab-n1ssb>: HTTP status code is not handled or not allowed 2026-01-28 16:14:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1400-rubber-10-work-overshoes-black-cleated-outsole-lg>: HTTP status code is not handled or not allowed 2026-01-28 16:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/colored-carton-sealing-tape-2-x-55-yds-22-mil-black-6pack>: HTTP status code is not handled or not allowed 2026-01-28 16:14:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-02f-direct-acting-solenoid-valve-3-2-nc-fkm-seal-3-8-nptf-3-mm-24v-dc>: HTTP status code is not handled or not allowed 2026-01-28 16:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-with-acrylic-adhesive-60a-332-thick-x-2-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j24172-icon-31-jacket-with-reflective-tape-fluorescent-yellowgreen-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:14:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b266-post-mount-single-monitor-holder-for-nb-pc-ec-series-carts>: HTTP status code is not handled or not allowed 2026-01-28 16:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/b146-small-printer-shelf-for-nb-pc-series-workstations>: HTTP status code is not handled or not allowed 2026-01-28 16:14:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-10-ft-30-inch-w-1-9-inch-dia-galvanized-rollers-27-inch-between-rail-3-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-28 16:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capital-locker-single-tier-12x15x72-1-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:14:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-5-ft-30-inch-w-1-9-inch-dia-galvanized-rollers-27-inch-between-rail-3-inch-rollers-centers>: HTTP status code is not handled or not allowed 2026-01-28 16:14:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-door-water-fall-style-letter-board-silver-36w-36h>: HTTP status code is not handled or not allowed 2026-01-28 16:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-2-000-thick-x-12-w-x-12-l>: HTTP status code is not handled or not allowed 2026-01-28 16:14:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-02f-direct-acting-solenoid-valve-3-2-nc-fkm-seal-3-8-nptf-3-mm-110v-ac>: HTTP status code is not handled or not allowed 2026-01-28 16:14:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-wall-base-coil-6-in-x-080-in-x-120-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 16:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-strip-with-acrylic-adhesive-60a-132-thick-x-4-wide-x-5-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-03f-hung-diaphragm-solenoid-valve-2-2-nc-epdm-seal-1-2-nptf-12-mm-12v-dc>: HTTP status code is not handled or not allowed 2026-01-28 16:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-pedestal-letter-board-18w-12h>: HTTP status code is not handled or not allowed 2026-01-28 16:14:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluidity-02f-direct-acting-solenoid-valve-2-2-nc-fkm-seal-1-2-nptf-3-mm-110v-ac>: HTTP status code is not handled or not allowed 2026-01-28 16:14:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-ketron-peek-sheet-q-0-375-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 16:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capital-locker-six-tier-12x12x12-18-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:14:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-with-acrylic-adhesive-60a-14-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o22008-iron-eagle-plain-front-overall-green-snaplock-buckles-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-wall-base-coil-4-in-x-080-in-x-120-ft-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 16:14:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-sheet-0-093-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 16:14:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-5m15-6fa3-aluminum-clear-anodized-24-tooth-1-504-pitch-finished-bore-pulley>: HTTP status code is not handled or not allowed 2026-01-28 16:14:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-60a-116-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-60x18x63-nexelon-finish>: HTTP status code is not handled or not allowed 2026-01-28 16:14:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-ss-304304l-34-90-degree-elbow-socket-weld>: HTTP status code is not handled or not allowed 2026-01-28 16:14:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-315-coupling-3-8-female-npt-asian-interchange>: HTTP status code is not handled or not allowed 2026-01-28 16:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-circle-tag-pre-wired-3-dia-red-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:14:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o53122-comfortbrite-snap-fly-front-overall-fluorescent-lime-5xl>: HTTP status code is not handled or not allowed 2026-01-28 16:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotary-hopper-drop-safe-rh2012k-sg4440-key-lock-14-1-2l-x-13w-x-21h-112-cu-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 16:14:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-af-blend-sheet-1-000-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 16:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-nesting-tote-17-1-4-x-11x8-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:14:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j41108-safetyflex-storm-fly-front-hooded-jacket-green-sm>: HTTP status code is not handled or not allowed 2026-01-28 16:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-sheet-0-062-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 16:14:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j31107-webdri-storm-fly-front-hooded-jacket-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:14:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-nesting-tote-17-1-4-x-11x12-white>: HTTP status code is not handled or not allowed 2026-01-28 16:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-large-nesting-tote-23-3-4-x-17-1-4x8-white>: HTTP status code is not handled or not allowed 2026-01-28 16:14:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lid-17-1-4x11-white>: HTTP status code is not handled or not allowed 2026-01-28 16:14:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-40a-116-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j31107-webdri-storm-fly-front-hooded-jacket-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:14:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-38-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v73852-job-sight-class-2-surveyor-style-vest-fluorescent-lime-2xl3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:14:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j31207-webdri-storm-fly-front-jacket-yellow-hood-snaps-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:14:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48in-workbench-louver-panel-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-delrin-homopolymer-rod-0-437-dia>: HTTP status code is not handled or not allowed 2026-01-28 16:14:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merchandise-tag-magenta-pre-strung-1316l-x-38w-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:14:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 123981 pages (at 99 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elasglow-glow-in-the-dark-drop-over-four-inches-wide-by-one-inch-high-black-ed1010-bk-glow>: HTTP status code is not handled or not allowed 2026-01-28 16:14:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/j31107-webdri-storm-fly-front-hooded-jacket-yellow-md>: HTTP status code is not handled or not allowed 2026-01-28 16:14:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x18x84-gray-with-5-shelves-1500-lb-cap-per-shelf>: HTTP status code is not handled or not allowed 2026-01-28 16:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-14-thick-x-36-wide-x-8-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:14:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-unit-charger-with-cloning-motorola-cls-series>: HTTP status code is not handled or not allowed 2026-01-28 16:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0403-m6x1-0-d5-4-flute-bright-bottoming-chamfer-hand-tap>: HTTP status code is not handled or not allowed 2026-01-28 16:14:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o41008-safetyflex-plain-front-overall-green-md>: HTTP status code is not handled or not allowed 2026-01-28 16:15:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb924b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-15>: HTTP status code is not handled or not allowed 2026-01-28 16:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-rubber-strip-with-high-temp-adhesive-40a-14-thick-x-14-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:15:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/physicianscare-first-responder-eye-care-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gn471-crank-handles-aluminum-revolving-handle-through-square-bore-10mm-3-15-long>: HTTP status code is not handled or not allowed 2026-01-28 16:15:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drop-gravity-flow-roller-track-42-dx12-w>: HTTP status code is not handled or not allowed 2026-01-28 16:15:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-gallon-rubbermaid-plastic-wastebasket-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slatwall-birch-shelves-3-4-x8-x14-finished-on-2-sides-and-3-edges>: HTTP status code is not handled or not allowed 2026-01-28 16:15:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/queueway-6-foot-black-velour-rope-polished-chrome-ends>: HTTP status code is not handled or not allowed 2026-01-28 16:15:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mv-m-crank-handles-nylon-plastic-revolving-handle-pilot-hole-4mm-m8-handle-3-94-l>: HTTP status code is not handled or not allowed 2026-01-28 16:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-40a-316-thick-x-36-wide-x-4-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:15:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x7-8-36-grit-alum-oxresin-fibre-disc>: HTTP status code is not handled or not allowed 2026-01-28 16:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-roll-no-adhesive-60a-14-thick-x-36-wide-x-6-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:15:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-delrin-homopolymer-rod-0-375-dia>: HTTP status code is not handled or not allowed 2026-01-28 16:15:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-round-outdoor-bar-height-table-42-h-red>: HTTP status code is not handled or not allowed 2026-01-28 16:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1730b06-cross-over-bridge-35-overall-width-6-stairs>: HTTP status code is not handled or not allowed 2026-01-28 16:15:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-shelf-steel-shelving-with-30-akrobins-36x18x39>: HTTP status code is not handled or not allowed 2026-01-28 16:15:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-silicone-rubber-strip-with-high-temp-adhesive-60a-132-thick-x-1-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-with-high-temp-adhesive-50a-12-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:15:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x3-4x1-t1-gc80iv-benchwheel>: HTTP status code is not handled or not allowed 2026-01-28 16:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-electric-height-adjustable-desk-72-w-24-d-white-w-gray-base>: HTTP status code is not handled or not allowed 2026-01-28 16:15:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410a-magenta-original-laserjet-toner-cartridge-2300-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 16:15:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-insert-antivibration-rubber-pad-6-x-6-x-3-4-srmp-0606-fn>: HTTP status code is not handled or not allowed 2026-01-28 16:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-2-x7-8-t29-a-cubedreg-40-grit-flap-disc>: HTTP status code is not handled or not allowed 2026-01-28 16:15:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-70075-123-3-12-awg-3-conductor-x-75-ft-15-amp-single-outlet-with-cord>: HTTP status code is not handled or not allowed 2026-01-28 16:15:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/65xl-high-yield-tri-color-original-ink-cartridge-300-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 16:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tygon-e-1000-tube-adk00012-0-187-id-x-312-od-x-50-l>: HTTP status code is not handled or not allowed 2026-01-28 16:15:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-bunan-rubber-strip-no-adhesive-50a-14-thick-x-34-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:15:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-20-bu-black-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 16:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-fda-silicone-rubber-sheet-no-adhesive-50a-18-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 16:15:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mb922b-neoprene-steel-toe-snugleg-boots-brick-redbrown-size-6>: HTTP status code is not handled or not allowed 2026-01-28 16:15:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410a-yellow-original-laserjet-toner-cartridge-2300-page-yield>: HTTP status code is not handled or not allowed 2026-01-28 16:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/haz-mat-boxes-for-1-quart-paint-can-5-18l-x-5-18w-x-6-316h-kraft-25pack>: HTTP status code is not handled or not allowed 2026-01-28 16:15:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61500072923-belt-6w-x-48l-crs-grit>: HTTP status code is not handled or not allowed 2026-01-28 16:15:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s61317-tuffenuff-3-pc-suit-gold-detachable-hood-md>: HTTP status code is not handled or not allowed 2026-01-28 16:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dewalt-dwst11556-express-folding-workbench-1000-lb-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 16:15:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-neoprene-rubber-sheet-no-adhesive-60a-12-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:15:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o31007-webdri-plain-front-overall-yellow-md>: HTTP status code is not handled or not allowed 2026-01-28 16:15:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-8-bu-green-vinyl-wire-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 16:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o31107-webdri-snap-fly-front-overall-yellow-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:15:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o24129-icon-snap-fly-front-overall-fluorescent-orange-md>: HTTP status code is not handled or not allowed 2026-01-28 16:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c12168-magnaprene-storm-fly-front-hooded-coat-green-60-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:15:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-20-bu-canvas-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 16:15:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-18-bu-gray-vinyl-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 16:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-step-heavy-duty-600-lb-cap-safety-angle-steel-rolling-ladder-perfor>: HTTP status code is not handled or not allowed 2026-01-28 16:15:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-strength-disc-6-x1-2>: HTTP status code is not handled or not allowed 2026-01-28 16:15:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expandable-add-on-rack-36x24x84-gray-with-3-level-wire-deck-1500lb-cap-per-level>: HTTP status code is not handled or not allowed 2026-01-28 16:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-cone-nozzle-7-3-4-l-red>: HTTP status code is not handled or not allowed 2026-01-28 16:15:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-mobile-alum-step-stand-solid-ribbed-top-step-16-inch-wide-plat>: HTTP status code is not handled or not allowed 2026-01-28 16:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perm-liner-truck-10-bu-canvas-wood-base-2-rg-2-sw>: HTTP status code is not handled or not allowed 2026-01-28 16:15:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-machine-table-28-x-30-x-30>: HTTP status code is not handled or not allowed 2026-01-28 16:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-hose-adapter-50-50mm-straight-connector-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:15:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-strength-bunan-rubber-sheet-no-adhesive-50a-38-thick-x-36-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:15:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electronic-keyless-entry-lock-interior-usage-w-smart-phone-app-cl4510-bs>: HTTP status code is not handled or not allowed 2026-01-28 16:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mh5013l-30-magnetic-wall-mount-barrier-with-light-kit-danger-forklift-traffic>: HTTP status code is not handled or not allowed 2026-01-28 16:15:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-30-glass-filled-nylon-6-6-sheet-0-375-thick-x-48-w-x-96-l>: HTTP status code is not handled or not allowed 2026-01-28 16:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-30-glass-filled-cast-nylon-rod-7-dia>: HTTP status code is not handled or not allowed 2026-01-28 16:15:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welded-workbench-butcher-block-top-drawer-adjustable-height-30-x-72>: HTTP status code is not handled or not allowed 2026-01-28 16:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-30-glass-filled-nylon-6-6-sheet-0-750-thick-x-24-000-w-x-48-000-l>: HTTP status code is not handled or not allowed 2026-01-28 16:15:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pl4202-plus-barrier-set-x2-danger-forklift-traffic-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:15:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gss-saftey-8713-quilted-pants-class-e-black-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-28 16:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-storage-locker-2-adjustable-center-shelves-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 16:15:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-rectangular-brush-6-1-2-l-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:15:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-30-glass-filled-nylon-6-6-sheet-0-500-thick-x-48-w-x-96-l>: HTTP status code is not handled or not allowed 2026-01-28 16:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/del-hepa-filter-h14-16-9-10-l-x-16-9-10-w-x-6-2-5-h>: HTTP status code is not handled or not allowed 2026-01-28 16:15:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gss-saftey-6503-rain-coat-class-3-black-2xl-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:15:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gss-saftey-8505-3-in-1-waterproof-parka-class-3-lime-black-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gorbel-hd-free-standing-jib-crane-8-ft-span-and-12-ft-height-under-boom-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:15:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-30-glass-filled-nylon-6-6-rod-0-5-dia>: HTTP status code is not handled or not allowed 2026-01-28 16:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dtr700-digitial-two-way-radio-900-mhz-50-channels>: HTTP status code is not handled or not allowed 2026-01-28 16:15:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx12-dx85-h-closed-clip-style-5-shelf-starter>: HTTP status code is not handled or not allowed 2026-01-28 16:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-concrete-heating-blanket-safe-walk-110-degrees-fixed-temp-5-feet-length-x-4-feet-width-120v>: HTTP status code is not handled or not allowed 2026-01-28 16:15:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-sheet-panel-rack-30-x-48>: HTTP status code is not handled or not allowed 2026-01-28 16:15:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-sheet-panel-rack-30-x-60>: HTTP status code is not handled or not allowed 2026-01-28 16:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cubby-locker-welded-34-1-2w-x-13-1-2d-x-78h-18-compartments-champagne-putty>: HTTP status code is not handled or not allowed 2026-01-28 16:15:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proform-f3-h032105-construction-harness-tongue-buckle-legs-xxl>: HTTP status code is not handled or not allowed 2026-01-28 16:15:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-metro-luggage-rack>: HTTP status code is not handled or not allowed 2026-01-28 16:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-gpo-3-sheet-0-250-thick-x-24-w-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 16:15:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vented-plastic-shelving-30x18x63-nexelon-finish>: HTTP status code is not handled or not allowed 2026-01-28 16:15:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concept-915-ice-melt-residue-remover-5oz-packs-36-pack-case-2308589>: HTTP status code is not handled or not allowed 2026-01-28 16:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mitutoyo-500-171-30-digimatic-digital-caliper>: HTTP status code is not handled or not allowed 2026-01-28 16:15:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nomex-410-sheet-0-030-thick-x-36-000-inch-w-x-165-l>: HTTP status code is not handled or not allowed 2026-01-28 16:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tile-and-grout-cleaner-quart-bottle-12-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 16:15:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eva-tubing-1-2-i-d-x-1-8-wall-350-feet-reel>: HTTP status code is not handled or not allowed 2026-01-28 16:15:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eva-tubing-bulk-reel-1-i-d-x-5-32-wall-100-feet>: HTTP status code is not handled or not allowed 2026-01-28 16:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-16-rail-unit-with-96-qus230-ultra-stack-hang-bins-black>: HTTP status code is not handled or not allowed 2026-01-28 16:15:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wire-shelf-truck-60x18x69-1200-lb-capacity-with-brakes>: HTTP status code is not handled or not allowed 2026-01-28 16:15:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-adjustable-2-shelf-unit-34-x-42-x-13-1-2-9334-3-03>: HTTP status code is not handled or not allowed 2026-01-28 16:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pc562-pc-series-mobile-powered-workstation-pure-sine-power-package-300ah-battery>: HTTP status code is not handled or not allowed 2026-01-28 16:15:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 124076 pages (at 95 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:15:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tuff-green-rtu-all-purpose-cleaner-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 16:15:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/906-st-r1-4-a-steel-threaded-plug-with-r-1-4-tapered-thread>: HTTP status code is not handled or not allowed 2026-01-28 16:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calcium-lime-rust-stain-remover-32-ounce-bottle-12-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 16:15:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-niagara-2-x-2-nail-up-tin-ceiling-tile-in-copper-t54-08>: HTTP status code is not handled or not allowed 2026-01-28 16:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-vinyl-tubing-1-i-d-x-1-8-wall-x-100-feet-boxed>: HTTP status code is not handled or not allowed 2026-01-28 16:15:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twisttiemachinesandmaterials-03-2500twisttiematerial-white-422931>: HTTP status code is not handled or not allowed 2026-01-28 16:15:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-fair-blue-sky-green-link-deodorant-1-quart-bottle-12-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 16:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5300-flatback-tape-1-12-x-60-yds-5-mil-brown-6pack>: HTTP status code is not handled or not allowed 2026-01-28 16:16:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/03-2500-twist-tie-material-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-erie-2-x-2-nail-up-tin-ceiling-tile-in-penny-vein-t56-05>: HTTP status code is not handled or not allowed 2026-01-28 16:16:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-jamestown-2-x-2-nail-up-tin-ceiling-tile-in-penny-vein-t51-05>: HTTP status code is not handled or not allowed 2026-01-28 16:16:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freedom-arm-single-monitor-arm-with-clamp-silver>: HTTP status code is not handled or not allowed 2026-01-28 16:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aspect-subway-matted-12-x-4-peel-stick-decorative-glass-tile-in-rustic-clay-3-pack-a55-74>: HTTP status code is not handled or not allowed 2026-01-28 16:16:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gift-boxes-5l-x-5w-x-3h-white-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-flexible-microfiber-duster-handheld>: HTTP status code is not handled or not allowed 2026-01-28 16:16:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/libman-commercial-flexible-microfiber-wand-extension-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:16:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-super-magnets-silver-10-ct-im130809>: HTTP status code is not handled or not allowed 2026-01-28 16:16:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g4-116t-aff-5hp-oil-injected-rotary-screw-71-gal-tank-116psi-208-230-460v-w-dryer>: HTTP status code is not handled or not allowed 2026-01-28 16:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-leg-heavy-duty-telescoping-display-easel-silver-flx05102mv>: HTTP status code is not handled or not allowed 2026-01-28 16:16:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-24wx14dx54h>: HTTP status code is not handled or not allowed 2026-01-28 16:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solaira-iwire20240-replacement-emitter-2-0kw-208-240v-for-models-sicr20240g-sicr40240g-sicr60240g>: HTTP status code is not handled or not allowed 2026-01-28 16:16:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-25-oz-dri-film-lubricant-with-syncolon-ptfe-aerosol-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/corrugated-video-tape-mailers-8-12l-x-7-58w-x-2-116h-white-20pack>: HTTP status code is not handled or not allowed 2026-01-28 16:16:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2525-flatback-tape-1-x-60-yds-95-mil-orange-36pack>: HTTP status code is not handled or not allowed 2026-01-28 16:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-gallon-fire-resistant-hydraulic-fluid-bottle>: HTTP status code is not handled or not allowed 2026-01-28 16:16:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-jamestown-2-x-2-lay-in-tin-ceiling-tile-in-argento-y51-07>: HTTP status code is not handled or not allowed 2026-01-28 16:16:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-with-144-shelf-bins-13-shelves-36x12x75-4>: HTTP status code is not handled or not allowed 2026-01-28 16:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-toronto-2-x-2-lay-in-tin-ceiling-tile-in-clear-y59-04>: HTTP status code is not handled or not allowed 2026-01-28 16:16:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-01-2701-6-8-tpi-blade-25-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-59-2401-lithium-ion-battery-charger>: HTTP status code is not handled or not allowed 2026-01-28 16:16:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fresh-products-eco-air-30-day-air-freshener-refill-mango-2-89-oz-solid-6-box>: HTTP status code is not handled or not allowed 2026-01-28 16:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4210-disc-garnet-100grit-5513073>: HTTP status code is not handled or not allowed 2026-01-28 16:16:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/health-gards-vinyl-urinal-screen-blue-mint-dozen>: HTTP status code is not handled or not allowed 2026-01-28 16:16:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-with-10-hopper-bins-36x18x75-1>: HTTP status code is not handled or not allowed 2026-01-28 16:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-with-12-hopper-bins-36x18x75-1>: HTTP status code is not handled or not allowed 2026-01-28 16:16:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-dual-diameter-enhanced-nylon-brush-w-standard-threading-58-id-tubes-25pk>: HTTP status code is not handled or not allowed 2026-01-28 16:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hopper-bins-16-1-2x17-1-2x12-1-2-3>: HTTP status code is not handled or not allowed 2026-01-28 16:16:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2221vs-key-5510102>: HTTP status code is not handled or not allowed 2026-01-28 16:16:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/patriot-dual-dia-enhanced-nylon-brush-w-standard-threading-1516id-tubes-25pack>: HTTP status code is not handled or not allowed 2026-01-28 16:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nature-s-air-sponge-odor-absorber-neutral-64-oz-4-case>: HTTP status code is not handled or not allowed 2026-01-28 16:16:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-toronto-2-x-2-lay-in-tin-ceiling-tile-in-gloss-white-y59-00>: HTTP status code is not handled or not allowed 2026-01-28 16:16:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottle-can-recycling-lid-for-rubbermaid-recycling-container-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-add-on-42wx24dx54h>: HTTP status code is not handled or not allowed 2026-01-28 16:16:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-chicago-2-x-2-lay-in-tin-ceiling-tile-in-penny-vein-y60-05>: HTTP status code is not handled or not allowed 2026-01-28 16:16:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultrasonic-table-top-parts-cleaning-system-digital-timer-heat-2-5-gal-45-khz-115v>: HTTP status code is not handled or not allowed 2026-01-28 16:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86h-nexel-chrome-wire-shelving-add-on-24wx21d>: HTTP status code is not handled or not allowed 2026-01-28 16:16:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-2-wheeled-trash-container-35-gallon-black-3956060f-bs8>: HTTP status code is not handled or not allowed 2026-01-28 16:16:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-chicago-2-x-2-lay-in-tin-ceiling-tile-in-gloss-white-y60-00>: HTTP status code is not handled or not allowed 2026-01-28 16:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ledge-54-l-x-4-h-wire-shelves-black-epoxy>: HTTP status code is not handled or not allowed 2026-01-28 16:16:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-syracuse-2-x-2-lay-in-tin-ceiling-tile-in-bronze-burst-y50-06>: HTTP status code is not handled or not allowed 2026-01-28 16:16:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bntl0606-6-x-6-exposed-flange-key-operated-lock>: HTTP status code is not handled or not allowed 2026-01-28 16:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-shelving-18-ga-48-wx18-dx73-h-closed-clip-style-5-shelf-add-on>: HTTP status code is not handled or not allowed 2026-01-28 16:16:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/great-lakes-tin-saginaw-2-x-2-lay-in-tin-ceiling-tile-in-clear-y53-04>: HTTP status code is not handled or not allowed 2026-01-28 16:16:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liquid-hand-soap-refills-fresh-50-oz>: HTTP status code is not handled or not allowed 2026-01-28 16:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sunset-adj-sling-chaise-lounge-solid-gray-sling-on-volcanic-black-frame-pk-of-2>: HTTP status code is not handled or not allowed 2026-01-28 16:16:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-starter-72x36x72>: HTTP status code is not handled or not allowed 2026-01-28 16:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-brush-for-38-id-tubes-blue-pack-of-15>: HTTP status code is not handled or not allowed 2026-01-28 16:16:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4500-spring-latch-5512508>: HTTP status code is not handled or not allowed 2026-01-28 16:16:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bntc2030-20-x-30-exposed-flange-cam-latch>: HTTP status code is not handled or not allowed 2026-01-28 16:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brhpg30x96s1t-30-x-96-personnel-ii-roof-hatch-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:16:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dock-light-3>: HTTP status code is not handled or not allowed 2026-01-28 16:16:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/beverage-refrigerator-6s-can-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plain-washer-1230r-5235791>: HTTP status code is not handled or not allowed 2026-01-28 16:16:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bg4848-48-x-48-personnel-ii-roof-hatch-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:16:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/indoor-octo-container-cans-bottles-32-gallon-graystone-104451>: HTTP status code is not handled or not allowed 2026-01-28 16:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-cga-580>: HTTP status code is not handled or not allowed 2026-01-28 16:16:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-security-cross-cut-deskside-paper-shredder-8-sheet-capacity-level-6>: HTTP status code is not handled or not allowed 2026-01-28 16:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/embassy-sve-l-left-valve-enclosure>: HTTP status code is not handled or not allowed 2026-01-28 16:16:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-standard-arrowfog-lubricator-w-poly-bowl>: HTTP status code is not handled or not allowed 2026-01-28 16:16:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/groove-pin-4200a-5mm-x-45mm-5511828>: HTTP status code is not handled or not allowed 2026-01-28 16:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graffiti-remover-24-oz-spray-bottle-4-case>: HTTP status code is not handled or not allowed 2026-01-28 16:16:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-standard-ultrafog-lubricator-w-poly-bowl>: HTTP status code is not handled or not allowed 2026-01-28 16:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/high-traffic-hardwood-polish-and-restorer-32-oz-squeeze-bottle>: HTTP status code is not handled or not allowed 2026-01-28 16:16:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x24x60-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:16:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-mil-polyethylene-apron-white-24-x-42-100bag-10-bagscase>: HTTP status code is not handled or not allowed 2026-01-28 16:16:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-36x18x84-with-5-shelves-no-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/handi-hold-spray-bottle-16-oz-clear-24-case>: HTTP status code is not handled or not allowed 2026-01-28 16:16:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a5816-worm-table-raiser-5507513>: HTTP status code is not handled or not allowed 2026-01-28 16:16:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/keyguard-lab-coat-3-pockets-elastic-wrists-snap-front-single-collar-white-xl-30case>: HTTP status code is not handled or not allowed 2026-01-28 16:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/java-adj-chaise-lounge-mochaccino-wicker-weave-w-french-taupe-resin-frame-16pk>: HTTP status code is not handled or not allowed 2026-01-28 16:16:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/food-safe-motor-cfswdm3542-e-ip69-75-hp-1760-rpm-3-ph-60-hz-56-c-3522m-tenv-f1>: HTTP status code is not handled or not allowed 2026-01-28 16:16:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/power-feed-84-single-bench-wire-feeder-ui-no-reel-usb-40-vdc>: HTTP status code is not handled or not allowed 2026-01-28 16:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advanced-multifold-hand-towel-9-x-9-5-white-250-pack-16-packs-case>: HTTP status code is not handled or not allowed 2026-01-28 16:16:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-100-economy-hi-vis-back-support-orange-4-x-large>: HTTP status code is not handled or not allowed 2026-01-28 16:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/invertec-v276-4-pack-rack-20-275a-208230380415460575v>: HTTP status code is not handled or not allowed 2026-01-28 16:16:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-pot-pan-dish-detergent-original-4-bottles-case>: HTTP status code is not handled or not allowed 2026-01-28 16:16:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-straight-grab-bar-satin-stainless-steel-42-w-x-1-1-4-dia>: HTTP status code is not handled or not allowed 2026-01-28 16:16:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vfswdnm3554t-e-ip69-15hp-1750rpm-3ph-60hz-145tc-3540m-tenv>: HTTP status code is not handled or not allowed 2026-01-28 16:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-storage-drawer-cabinet-36x24x60-14>: HTTP status code is not handled or not allowed 2026-01-28 16:16:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dispatcher-locker-4-tier-front-door-full-height-rear-panel-24w-x-30d-x-79-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 16:16:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7060-snap-ring-5512230>: HTTP status code is not handled or not allowed 2026-01-28 16:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parkview-3-45-gallon-recycling-container-w-canopy-top-black-72840199>: HTTP status code is not handled or not allowed 2026-01-28 16:16:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-hairnet-honeycomb-116-hole-100-latex-free-black-21-100bag>: HTTP status code is not handled or not allowed 2026-01-28 16:16:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flextec-500x-multi-process-welder-4-pack-rack-500a-5060-hz-red>: HTTP status code is not handled or not allowed 2026-01-28 16:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-lab-coat-no-pockets-elastic-wrists-snap-front-single-collar-white-lg-30cs>: HTTP status code is not handled or not allowed 2026-01-28 16:16:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-for-dispatcher-locker-for-d1-series-in-the-2-mid-shelf-locations-36w-x-30d>: HTTP status code is not handled or not allowed 2026-01-28 16:16:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 124172 pages (at 96 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viking153-1840-welding-helmet-7-13-shade-black>: HTTP status code is not handled or not allowed 2026-01-28 16:16:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-x-4-drywall-screw-phillips-bugle-head-steel-black-phosphate-sharp-point-pkg-of-1-lb>: HTTP status code is not handled or not allowed 2026-01-28 16:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-2-1-4-drywall-screw-phillips-bugle-head-steel-black-phosphate-sharp-point-pkg-of-100>: HTTP status code is not handled or not allowed 2026-01-28 16:16:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7060-shaft-tension-5512263>: HTTP status code is not handled or not allowed 2026-01-28 16:16:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-facial-tissue-2-ply-180-sheets-box-24-boxes-case>: HTTP status code is not handled or not allowed 2026-01-28 16:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-outdoor-drinking-fountain-bottle-filling-station-black>: HTTP status code is not handled or not allowed 2026-01-28 16:16:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-1-1-8-drywall-screw-phillips-bugle-head-steel-black-phosphate-sharp-point-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:17:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-outdoor-bi-level-drinking-fountain-with-bottle-filler-pet-station-ss>: HTTP status code is not handled or not allowed 2026-01-28 16:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-nylon-hairnet-100-latex-free-light-brown-22-144box->: HTTP status code is not handled or not allowed 2026-01-28 16:17:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laminated-polypropylene-isolation-gown-rear-entry-with-extra-long-ties-white-one-size-50case>: HTTP status code is not handled or not allowed 2026-01-28 16:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advanced-mini-jumbo-roll-bath-tissue-septic-safe-3-48-x-751-ft-12-rolls-case>: HTTP status code is not handled or not allowed 2026-01-28 16:17:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-340-heavy-duty-knee-pad-with-shin-guard-black-cap-one-size>: HTTP status code is not handled or not allowed 2026-01-28 16:17:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-strapping-cutter-for-3-8-1-1-4-steel-strapping>: HTTP status code is not handled or not allowed 2026-01-28 16:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8230z-class-2-two-tone-vest-lime-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-28 16:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8289-class-2-economy-t-shirt-lime-3-x-large>: HTTP status code is not handled or not allowed 2026-01-28 16:17:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warehouse-retractable-barrier-clamp-mount-15-belt>: HTTP status code is not handled or not allowed 2026-01-28 16:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-straight-leg-dunnage-rack-24-lx24-wx8-h>: HTTP status code is not handled or not allowed 2026-01-28 16:17:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flextec-ready-pak-500x-power-feed-multi-process-welder-500a-5060-hz-red>: HTTP status code is not handled or not allowed 2026-01-28 16:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-gallon-wet-dry-vacuum-with-12ft-hose-d1603>: HTTP status code is not handled or not allowed 2026-01-28 16:17:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pumice-hand-cleaner-citrus-scent-1-gallon-dispenser>: HTTP status code is not handled or not allowed 2026-01-28 16:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sms-lab-coat-no-pockets-elastic-wrists-snap-front-single-collar-blue-5xl-30case>: HTTP status code is not handled or not allowed 2026-01-28 16:17:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflective-bollard-sleeve-8-dia-x-52-h-yellow-with-red-tape>: HTTP status code is not handled or not allowed 2026-01-28 16:17:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tennsco-capstone-boltless-shelving-starter-unit-48-w-x-18-d-x-76-h-5-shelves-medium-grey>: HTTP status code is not handled or not allowed 2026-01-28 16:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pointer-5783611>: HTTP status code is not handled or not allowed 2026-01-28 16:17:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7020-hydraulic-mntng-plte-5712831>: HTTP status code is not handled or not allowed 2026-01-28 16:17:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4002-key-5640331>: HTTP status code is not handled or not allowed 2026-01-28 16:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-locker-bench-gray-solid-plastic-top-w-ss-trapezoid-pedestals-36x-9-1-2-x-17>: HTTP status code is not handled or not allowed 2026-01-28 16:17:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rac-line-aluminum-straight-leg-dunnage-rack-36-lx20-wx12-h-4>: HTTP status code is not handled or not allowed 2026-01-28 16:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32oz-natural-hdpe-wide-mouth-round-bottle-with-63-400-white-pp-unlined-cap-72-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:17:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16oz-natural-hdpe-cylinder-dispensing-bottle-w-24-410-white-pe-flip-top-cap-12pk>: HTTP status code is not handled or not allowed 2026-01-28 16:17:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-650-neoprene-elbow-sleeve-black-medium>: HTTP status code is not handled or not allowed 2026-01-28 16:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-t-bar-shelf-18-wx48-l>: HTTP status code is not handled or not allowed 2026-01-28 16:17:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-h-wall-mount-post-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foodsafe-cfswdm3713t-e-ip69-15hp-3500rpm-3ph-60hz-215tc-3756m-tefc-f>: HTTP status code is not handled or not allowed 2026-01-28 16:17:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-seal-kit-for-manual-pallet-jack-truck-we-270158-fits-model-t-and-e-series>: HTTP status code is not handled or not allowed 2026-01-28 16:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hex-set-screw-m6x1-10-5626251>: HTTP status code is not handled or not allowed 2026-01-28 16:17:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-650-neoprene-elbow-sleeve-black-2-x-large>: HTTP status code is not handled or not allowed 2026-01-28 16:17:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-bike-wave-black-free-standing-1>: HTTP status code is not handled or not allowed 2026-01-28 16:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-belt-vs-15--1422-466-9077101>: HTTP status code is not handled or not allowed 2026-01-28 16:17:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexelite-shelf-ledge-24>: HTTP status code is not handled or not allowed 2026-01-28 16:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-seal-kit-for-manual-pallet-truck-cr-43023-fits-model-pth-s-n-3-183850-and-higher>: HTTP status code is not handled or not allowed 2026-01-28 16:17:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pq3450-power-analyzerdatalogger-orangegreen>: HTTP status code is not handled or not allowed 2026-01-28 16:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/auto-pac300-arch-strapping-machine-automatic-850-x-600-9mm>: HTTP status code is not handled or not allowed 2026-01-28 16:17:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4oz-safety-coated-clear-boston-round-bottle-with-22-400-neck-finish-bottle-only-160pk>: HTTP status code is not handled or not allowed 2026-01-28 16:17:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ec605-conductivity-cell>: HTTP status code is not handled or not allowed 2026-01-28 16:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-t-bar-shelf-18-wx72-l>: HTTP status code is not handled or not allowed 2026-01-28 16:17:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-600-single-layer-neoprene-knee-sleeve-black-2-x-large>: HTTP status code is not handled or not allowed 2026-01-28 16:17:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8oz-natural-hdpe-cylinder-bottle-with-38-400-natural-ldpe-cap-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:17:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-drawer-1-cabinet-workbench-maple>: HTTP status code is not handled or not allowed 2026-01-28 16:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-drawer-workbench-maple>: HTTP status code is not handled or not allowed 2026-01-28 16:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8935-class-hw-hi-vis-ranger-hat-lime-l-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:17:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-heavy-duty-2-shelf-rack-24-wx48-hx60-l>: HTTP status code is not handled or not allowed 2026-01-28 16:17:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42oz-amber-wide-mouth-packer-with-70-400-neck-finish-bottle-only-6pk>: HTTP status code is not handled or not allowed 2026-01-28 16:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-drawer-cabinet-workbench-shop-top>: HTTP status code is not handled or not allowed 2026-01-28 16:17:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ct20-remote-and-local-continuity-tester>: HTTP status code is not handled or not allowed 2026-01-28 16:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-drawer-cabinet-workbench-shop-top>: HTTP status code is not handled or not allowed 2026-01-28 16:17:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jdcs-505-metal-dust-collector-stand-1-2-hp-115v-1ph-20a>: HTTP status code is not handled or not allowed 2026-01-28 16:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-solid-brute-shelf-20-wx60-l>: HTTP status code is not handled or not allowed 2026-01-28 16:17:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jdp-20evs-110-20-evs-drill-press-120v-1-1-2-drilling-capacity-2-horse-power-230v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 16:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6842-2-layer-cold-series-econo-winter-liner-black-red-one-size>: HTTP status code is not handled or not allowed 2026-01-28 16:17:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ratchet-lever-hoist-1-14-ton-cap-20-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:17:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-heavy-duty-3-shelf-rack-24-wx60-hx42-l>: HTTP status code is not handled or not allowed 2026-01-28 16:17:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gear-box-gasket-5710121>: HTTP status code is not handled or not allowed 2026-01-28 16:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-22w-x-40l-15-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:17:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-adjustable-solid-brute-shelf-24-wx54-l>: HTTP status code is not handled or not allowed 2026-01-28 16:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-16-1-2-x-24-x-11-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:17:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-16-1-2-x-24-x-11-red>: HTTP status code is not handled or not allowed 2026-01-28 16:17:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-36w-x-40l-2-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 16:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-stacking-bins-18-1-4-x-24-x-12-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:17:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triumph-style-t1c-cobalt-jobbers-drill-bronze-oxide-964-12>: HTTP status code is not handled or not allowed 2026-01-28 16:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-step-steel-orange-tilt-and-roll-ladder-with-serrated-grating-tr-6-g-o>: HTTP status code is not handled or not allowed 2026-01-28 16:17:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-4w-x-7l-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8310hl-class-3-economy-vest-lime-4xl-5xl>: HTTP status code is not handled or not allowed 2026-01-28 16:17:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-heavy-duty-4-shelf-rack-24-wx72-hx42-l>: HTTP status code is not handled or not allowed 2026-01-28 16:17:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/queuepro-twin-polished-ss-post-retracting-belt-barrier-ada-compliant-11-ft-black-belt>: HTTP status code is not handled or not allowed 2026-01-28 16:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-holder-assy-jdp-1417mf-12909001a1>: HTTP status code is not handled or not allowed 2026-01-28 16:17:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-12-post-with-plastic-caps>: HTTP status code is not handled or not allowed 2026-01-28 16:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-hbs-1321w-1321w-33-1>: HTTP status code is not handled or not allowed 2026-01-28 16:17:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wicking-t-shirt-w-pocket-class-2-hi-vis-orange-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:17:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-cork-pad-4-x-4-x-1>: HTTP status code is not handled or not allowed 2026-01-28 16:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nut-hex-jam-14-20-9056981>: HTTP status code is not handled or not allowed 2026-01-28 16:17:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/898-filament-tape-3-x-60-yds-66-mil-clear-12pack>: HTTP status code is not handled or not allowed 2026-01-28 16:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32oz-amber-wide-mouth-packer-with-53-400-black-phenolic-pulp-vinyl-lined-cap-12pk>: HTTP status code is not handled or not allowed 2026-01-28 16:17:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-pants-hi-viz-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-28 16:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-pants-waterproof-hi-viz-orange-large>: HTTP status code is not handled or not allowed 2026-01-28 16:17:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-x-70mm-4-dram-glass-vial-w-18-400-black-phenolic-polycone-lined-cap-vacuum-144pk>: HTTP status code is not handled or not allowed 2026-01-28 16:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-high-capacity-bulk-rack-with-wood-decking-60x18x72-add-on>: HTTP status code is not handled or not allowed 2026-01-28 16:17:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drive-screw-23x5-mm-lg-5625191>: HTTP status code is not handled or not allowed 2026-01-28 16:17:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cart-cover-10-gauge-vinyl-for-18-x-60-x-63-unit-zipper-closure-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-breathable-pants-waterproof-hi-viz-yellow-large>: HTTP status code is not handled or not allowed 2026-01-28 16:17:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathermaster-300-yellow-post-retracting-belt-barrier-16-ft-yellowblack-belt>: HTTP status code is not handled or not allowed 2026-01-28 16:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-6w-x-8l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:17:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7w-x-9l-1-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8915-class-e-rain-pants-lime-x-large>: HTTP status code is not handled or not allowed 2026-01-28 16:17:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-flame-resistant-pull-over-hoodie-hi-viz-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:17:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-blast-extra-loud-universal-replacement-horn-high-tone-385-2t>: HTTP status code is not handled or not allowed 2026-01-28 16:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/proflex-4020-wrist-support-blue-medium-left>: HTTP status code is not handled or not allowed 2026-01-28 16:17:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-black-epoxy-24w-x-48l-x-69h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 16:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lookout-gen-3-amber-led-clear-lens-48-light-bar-7900-a>: HTTP status code is not handled or not allowed 2026-01-28 16:17:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-bomber-jacket-class-3-hi-vis-yellow-w-black-bottom-l>: HTTP status code is not handled or not allowed 2026-01-28 16:17:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/right-corner-desk-dark-cherry-office-furniture-groupings-1>: HTTP status code is not handled or not allowed 2026-01-28 16:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crew-sweatshirt-hi-vis-orange-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/135oz-safety-coated-amber-jug-w-38-439-black-phenolic-f217-ptfe-cap-vacuum-6pk>: HTTP status code is not handled or not allowed 2026-01-28 16:17:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 124275 pages (at 103 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:17:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/breathable-rain-jacket-class-3-hi-vis-yellow-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:17:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-p24-5784697>: HTTP status code is not handled or not allowed 2026-01-28 16:17:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rail-clamp-5784841>: HTTP status code is not handled or not allowed 2026-01-28 16:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-wheel-pf3-46-6288946>: HTTP status code is not handled or not allowed 2026-01-28 16:17:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/core-performance-work-wear-6485-multi-band-be-tenacious-one-size>: HTTP status code is not handled or not allowed 2026-01-28 16:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-lightweight-crew-sweater-hi-viz-yellow-ansi-class-2-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:17:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-ring-jdp-20mf-11402311>: HTTP status code is not handled or not allowed 2026-01-28 16:18:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-flame-resistant-short-sleeve-t-shirt-ansi-hi-viz-yellow-5xl>: HTTP status code is not handled or not allowed 2026-01-28 16:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-folding-hand-cart-250-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:18:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dummy-enclosure-only-30-series>: HTTP status code is not handled or not allowed 2026-01-28 16:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bellman-hotel-cart-35x24-satin-aluminum-with-gray-carpet-rubber-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:18:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-economical-insertable-index-clear-tabs-8-tab-letter-buff-24-sets-box>: HTTP status code is not handled or not allowed 2026-01-28 16:18:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-hbs-1321w-1321w-124>: HTTP status code is not handled or not allowed 2026-01-28 16:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inventory-control-cone-with-dry-erase-decal-green>: HTTP status code is not handled or not allowed 2026-01-28 16:18:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-modular-cabinets-18w-with-four-6-inch-drawers>: HTTP status code is not handled or not allowed 2026-01-28 16:18:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/inventory-control-cone-red>: HTTP status code is not handled or not allowed 2026-01-28 16:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aspect-23-6-x-5-9-peel-stick-stone-decorative-tile-backsplash-golden-sandstone-a90-87>: HTTP status code is not handled or not allowed 2026-01-28 16:18:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-end-plate-jsg-07400750-28-0022>: HTTP status code is not handled or not allowed 2026-01-28 16:18:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-clear-front-report-cover-tang-fasteners-letter-size-red-25-box>: HTTP status code is not handled or not allowed 2026-01-28 16:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-sandy-48000-series-barrel-base-support-48247p>: HTTP status code is not handled or not allowed 2026-01-28 16:18:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/occumitts-support-gloves-1-pair-small-biege>: HTTP status code is not handled or not allowed 2026-01-28 16:18:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/27-5-x-140mm-15-dram-amber-vial-w-24-410-green-pp-hole-cap-ptfe-silicone-septa-72pk>: HTTP status code is not handled or not allowed 2026-01-28 16:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-65-x-22mm-0-33-dram-compound-vial-w-13-425-green-thermoset-caps-144pk>: HTTP status code is not handled or not allowed 2026-01-28 16:18:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelf-truck-with-dolly-base-60x18x70-1600-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:18:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quick-adjust-wire-shelf-truck-with-dolly-base-60x24x70-1600-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/galvanized-shelf-truck-with-dolly-base-36x18x70-1600-pound-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:18:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/occumitts-my-way-beige-extra-small>: HTTP status code is not handled or not allowed 2026-01-28 16:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laser-printer-permanent-labels-113-x-4-white-3500box>: HTTP status code is not handled or not allowed 2026-01-28 16:18:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-18w-x-22l-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nozzle-jdp-20evs-20evs-c52>: HTTP status code is not handled or not allowed 2026-01-28 16:18:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-mechanics-tool-cart-steel-20-w-x-28-d-x-52-h-100lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peel-seal-strip-business-envelope-6-34-white-100box>: HTTP status code is not handled or not allowed 2026-01-28 16:18:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-hbs-1321w-1321w-166-1>: HTTP status code is not handled or not allowed 2026-01-28 16:18:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adding-machinecalculator-receipt-roll-214-x-128-ft-white>: HTTP status code is not handled or not allowed 2026-01-28 16:18:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-26w-x-26l-4-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s31kablu-safety-padlock-1-38w-x-1-12h-shackle-blu>: HTTP status code is not handled or not allowed 2026-01-28 16:18:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flex-tuff-10-gage-bluelatex-ctd-palm-9680xl>: HTTP status code is not handled or not allowed 2026-01-28 16:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/medium-ultra-tech-foam-string-knit-glove-15-gaug-9674m>: HTTP status code is not handled or not allowed 2026-01-28 16:18:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-hearing-protection-required-7x10-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:18:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kas12blu-safety-padlock-1-12wx1-12h-blue-12set>: HTTP status code is not handled or not allowed 2026-01-28 16:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/565718-lrg-tnt-blu-disposable-nitrile-100glvs-bx-92-675-l>: HTTP status code is not handled or not allowed 2026-01-28 16:18:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-keep-out-10x14-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 16:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-keep-out-7x10-rigid-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:18:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7w-x-14l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kablk-safety-padlock-1-12w-x-1-12h-shackle-black>: HTTP status code is not handled or not allowed 2026-01-28 16:18:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/219008-9-alphatec-nitrile-knit-lined-58-535-9>: HTTP status code is not handled or not allowed 2026-01-28 16:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-separator-1-3-16-30-mm-to-7-7-8-200-mm-open-used-with-18-4-pulling-device>: HTTP status code is not handled or not allowed 2026-01-28 16:18:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/96-l-x-36-w-production-bench-esd-square-edge-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:18:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/192241-7-chemi-pro-hvy-dty-neoprene-nat-latex-224-7>: HTTP status code is not handled or not allowed 2026-01-28 16:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-extinguisher-10x14-pressure-sensitive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 16:18:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lower-pulley-a5816-51a>: HTTP status code is not handled or not allowed 2026-01-28 16:18:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peltor-dual-cup-backbandhearing-protector-h10b>: HTTP status code is not handled or not allowed 2026-01-28 16:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/internal-bearing-extractor-2-3-4-70-mm-3-15-16-100-mm>: HTTP status code is not handled or not allowed 2026-01-28 16:18:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411ltred-safety-padlock-1-12w-x-1-12h-shackle-red>: HTTP status code is not handled or not allowed 2026-01-28 16:18:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-l-x-36-w-production-bench-esd-safety-edge-blue-1>: HTTP status code is not handled or not allowed 2026-01-28 16:18:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/411kateal-safety-padlock-1-12w-x-1-12h-shackle-teal>: HTTP status code is not handled or not allowed 2026-01-28 16:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/internal-bearing-extractor-5-16-8-mm-1-2-12-mm>: HTTP status code is not handled or not allowed 2026-01-28 16:18:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kaorj-safety-padlock-1-12h-shackle-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8320-carry-handle-tape-1-w-x-17-l-white-110-pads-case-2750-handles>: HTTP status code is not handled or not allowed 2026-01-28 16:18:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-mid-length-insulated-winter-liner-navy-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rockets-reusable-earpluguncorded-2000-per-case-6400>: HTTP status code is not handled or not allowed 2026-01-28 16:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-size-stacking-bin-12-3-8-x-20-x-6-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:18:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410kaltteal-safety-padlock-3h-shackle-teal>: HTTP status code is not handled or not allowed 2026-01-28 16:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-style-flip-table-with-casters-30-x-72-hardwood-maple-top-w-black-base>: HTTP status code is not handled or not allowed 2026-01-28 16:18:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miracool-headbands-navy-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-6w-x-16l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/miracool-headbands-cowboy-blue-12-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-size-stacking-bin-18-3-8-x-20-x-12-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/klondike-black-frame-clear-lens-safety-spectacle-kd110>: HTTP status code is not handled or not allowed 2026-01-28 16:18:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clasic-regular-length-quilted-all-purpose-collection-winter-liners-green-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulling-device-to-be-used-with-the-15-1-and-17-1-separators>: HTTP status code is not handled or not allowed 2026-01-28 16:18:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-dolly-with-16-x-18-triangular-solid-wood-deck-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:18:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7w-x-20l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washout-construction-washout-corrugated-cardboard-260-gallon-72-l-x-72-w-x-12-h>: HTTP status code is not handled or not allowed 2026-01-28 16:18:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-width-stacking-church-chair-fabric-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diffusers-28-1446-pri136-41>: HTTP status code is not handled or not allowed 2026-01-28 16:18:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-5w-x-9l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condor-36h-platform-2-rails-spiral-stair-kit-60dia-12-5-6h-blk>: HTTP status code is not handled or not allowed 2026-01-28 16:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c-clip-r62-jdp-20evs-20evs-t09>: HTTP status code is not handled or not allowed 2026-01-28 16:18:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screens-28-2041-tuc100014>: HTTP status code is not handled or not allowed 2026-01-28 16:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-7w-x-30l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simpson-65106-big-brute-4000psi-389cc-4-0gpm-gas-hot-water-pressure-washer-w-honda-gx390-engine>: HTTP status code is not handled or not allowed 2026-01-28 16:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/453xl-26-oversized-plug-control-lockout-cinch-sack-nylon-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:18:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metaltech-8-scaffold-caster-750-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:18:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eye-wash-shower-safetystation-w-hand-fo-g1902hfc>: HTTP status code is not handled or not allowed 2026-01-28 16:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antiseptic-wipes-20-bx-150910>: HTTP status code is not handled or not allowed 2026-01-28 16:18:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chutes-28-2065-cha0508867>: HTTP status code is not handled or not allowed 2026-01-28 16:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metaltech-mini-folding-scaffold-step-ladder-39l-x-21-1-2w-x-46h>: HTTP status code is not handled or not allowed 2026-01-28 16:18:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guide-rod-f225-125>: HTTP status code is not handled or not allowed 2026-01-28 16:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1107prp-aluminum-safety-padlock-1-12w-x-3h-shackle-purple>: HTTP status code is not handled or not allowed 2026-01-28 16:18:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atlantis-series-point-of-use-water-cooler-cook-n-cold-8482-white>: HTTP status code is not handled or not allowed 2026-01-28 16:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-maintenance-med-large-full-face-respirator-54001>: HTTP status code is not handled or not allowed 2026-01-28 16:18:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/orifices-26-2090-bkpr3016x>: HTTP status code is not handled or not allowed 2026-01-28 16:18:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5500-series-low-maintenance-half-mask-respirator-550030m>: HTTP status code is not handled or not allowed 2026-01-28 16:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-composite-blow-gun-with-metal-nozzle-and-with-integrated-1-4-plug-automotive-profile>: HTTP status code is not handled or not allowed 2026-01-28 16:18:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-1104-a-rebuild-kit-toilet-exposed-boxed-1-28-gpf>: HTTP status code is not handled or not allowed 2026-01-28 16:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-3w-x-30l-3-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harn-tb-con-1d-d2-1102526>: HTTP status code is not handled or not allowed 2026-01-28 16:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-premium-locker-triple-tier-12x18x24-9-door-assembled-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:18:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 124374 pages (at 99 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:18:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-pan-rack-front-load-capacity-12-full-or-40-half-size>: HTTP status code is not handled or not allowed 2026-01-28 16:18:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/410ltylw-safety-padlock-1-12w-x-3h-shackle-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13-l-x-13-w-aluminum-hawk-comfort-grip-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:18:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-static-shielding-bags-10w-x-10l-28-mil-transparent-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:18:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blade-lock-guide-ck350-210>: HTTP status code is not handled or not allowed 2026-01-28 16:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p95-maint-free-particulate-respirator-8577>: HTTP status code is not handled or not allowed 2026-01-28 16:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/skate-wheel-raker-contoured-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:18:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedy-drill-mixers-8-x-4-1-2-paddle>: HTTP status code is not handled or not allowed 2026-01-28 16:19:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-22w-x-40l-6-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-11w-x-11l-6-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-reach-stilts-18-to-30-pair>: HTTP status code is not handled or not allowed 2026-01-28 16:19:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rebar-cutter-bender-54-steel-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-cs315-75>: HTTP status code is not handled or not allowed 2026-01-28 16:19:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bowls-76-1250-eve153194-06>: HTTP status code is not handled or not allowed 2026-01-28 16:19:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-plug-body-with-industrial-profile-3-8-hose-barb-connection-used-with-isi-coupling>: HTTP status code is not handled or not allowed 2026-01-28 16:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-12w-x-8d-x-20h-1-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-fk350-105>: HTTP status code is not handled or not allowed 2026-01-28 16:19:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sprng-bracket-b-fk350-110>: HTTP status code is not handled or not allowed 2026-01-28 16:19:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-l-x-3-w-stainless-steel-taping-knife-comfort-grip-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-s2172gz-green-wire-shelf-72-wx21-d>: HTTP status code is not handled or not allowed 2026-01-28 16:19:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-carbon-steel-joint-knife-poly-handle>: HTTP status code is not handled or not allowed 2026-01-28 16:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wrenchs-72-1117-ham35139900000>: HTTP status code is not handled or not allowed 2026-01-28 16:19:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-step-16in-w-steel-safety-angle-rolling-ladder-grip-strut-safety-yellow-kdec105162-y>: HTTP status code is not handled or not allowed 2026-01-28 16:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-24w-x-54l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:19:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valves-58-1170-hos3u0111-04>: HTTP status code is not handled or not allowed 2026-01-28 16:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switchs-42-1660-hos4a3624-01>: HTTP status code is not handled or not allowed 2026-01-28 16:19:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-21w-x-24l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:19:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r8-spring-collet-13-piece-set-1-8-to-7-8-inch-round-tmx>: HTTP status code is not handled or not allowed 2026-01-28 16:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinges-26-4208-del3234072>: HTTP status code is not handled or not allowed 2026-01-28 16:19:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unprinted-reclosable-static-shielding-bags-12w-x-12l-28-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-30w-x-30l-6-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-18w-x-72l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/penco-locker-single-tier-12x18x60-3-door-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:19:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scrapers-s-31>: HTTP status code is not handled or not allowed 2026-01-28 16:19:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switch-base-hbs56s-328>: HTTP status code is not handled or not allowed 2026-01-28 16:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-jaw-2-piece-scroll-chuck-semi-steel-body-front-mount-5-inch-plain-back>: HTTP status code is not handled or not allowed 2026-01-28 16:19:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-1-2-body-with-industrial-profile-with-3-8-fnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 16:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-step-steel-easy-turn-rolling-ladder-serrated-tread-safety-angle-kdad112242>: HTTP status code is not handled or not allowed 2026-01-28 16:19:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-inch-adjustable-height-steel-work-platform-9inh-to-14inh-mcos36249>: HTTP status code is not handled or not allowed 2026-01-28 16:19:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-14w-x-18l-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zipper-bags-5139>: HTTP status code is not handled or not allowed 2026-01-28 16:19:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hidden-edge-utility-knives-67584>: HTTP status code is not handled or not allowed 2026-01-28 16:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28-139-nylon-handle-stiff-scraper-3-inch-blade-width>: HTTP status code is not handled or not allowed 2026-01-28 16:19:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bottom-hook-shaft-jlh160-36>: HTTP status code is not handled or not allowed 2026-01-28 16:19:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lock-lever-jasj22c-73>: HTTP status code is not handled or not allowed 2026-01-28 16:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-7-1-2-hp-roof-ventilator>: HTTP status code is not handled or not allowed 2026-01-28 16:19:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1-safety-quick-coupling-1-2-body-with-industrial-profile-with-1-2-mnpt-connection>: HTTP status code is not handled or not allowed 2026-01-28 16:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-step-mobile-steel-step-stand-w-perforated-top-step-24in-w-platform-wlsr001246>: HTTP status code is not handled or not allowed 2026-01-28 16:19:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anadfk-swing-out-panel-kit-fits-type-12-encl-steelzinc>: HTTP status code is not handled or not allowed 2026-01-28 16:19:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-locking-hex-nut-m8-jsh275-14>: HTTP status code is not handled or not allowed 2026-01-28 16:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/first-gear-shaft-jsh275-18>: HTTP status code is not handled or not allowed 2026-01-28 16:19:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-20w-x-20l-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-computer-cabinet-27w-x24d-x49-1-2h-dark-gray-unassembled>: HTTP status code is not handled or not allowed 2026-01-28 16:19:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lakes-tin-decorative-metal-ceiling-tile-nails-white-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-jhs2200-1>: HTTP status code is not handled or not allowed 2026-01-28 16:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 16:19:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-nexelon-24w-x-30l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:19:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-seal-reclosable-poly-bags-18w-x-24l-3-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-station-shadow-board-combo-kit-green-white-72-x-36-pro-series-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 16:19:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-mobile-work-platform-35in-w-x-74in-l-36in-handrails-safety-yellow-wlwp142448sl-y>: HTTP status code is not handled or not allowed 2026-01-28 16:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valve-block-assembly-jasj22c-31>: HTTP status code is not handled or not allowed 2026-01-28 16:19:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-16in-w-10in-d-top-step-steel-rolling-ladder-perforated-tread-no-handrail-kdsr004166>: HTTP status code is not handled or not allowed 2026-01-28 16:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-add-on-unit-5-tier-chrome-24w-x-30l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:19:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleaning-station-shadow-board-combo-kit-blue-white-72-x-36-pro-series-acrylic>: HTTP status code is not handled or not allowed 2026-01-28 16:19:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-upholstered-production-stool>: HTTP status code is not handled or not allowed 2026-01-28 16:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/motor-pulley-jmlvs-22>: HTTP status code is not handled or not allowed 2026-01-28 16:19:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-x12-wire-shelves-with-brackets-package-of-2>: HTTP status code is not handled or not allowed 2026-01-28 16:19:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f44ga-telescope-fitting-type-1-400x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 16:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-step-16in-w-30in-d-top-step-steel-rolling-ladder-grip-strut-tread-no-handrail-kdsr004162-d3>: HTTP status code is not handled or not allowed 2026-01-28 16:19:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chain-wheel-brkt-jhs1100-60>: HTTP status code is not handled or not allowed 2026-01-28 16:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-ready-set-staple-belt-lacing-galvanized-rs125j12>: HTTP status code is not handled or not allowed 2026-01-28 16:19:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-polyethylene-bags-12w-x-48l-6-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a6p6al-panel-junction-box-488x488-fits-6x6-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 16:19:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-mm-od-polyurethane-tubing-natural-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-28 16:19:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-chrome-21w-x-30l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-ventilated-locker-double-tier-12x12x36-2-door-assembled-1>: HTTP status code is not handled or not allowed 2026-01-28 16:19:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-pin-3x14-jsm4340-17>: HTTP status code is not handled or not allowed 2026-01-28 16:19:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a14p8g-panel-junction-box-1275x688-fits-14x8-galvanized>: HTTP status code is not handled or not allowed 2026-01-28 16:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f66wg-gasket-screws-fits-600x600-rubbersteel>: HTTP status code is not handled or not allowed 2026-01-28 16:19:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-24w-x-36l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-step-24in-w-30in-d-top-step-steel-rolling-ladder-grip-strut-tread-36in-handrail-kdsr102242-d3>: HTTP status code is not handled or not allowed 2026-01-28 16:19:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aashlf1218-shelf-1200x1800-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 16:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-mm-od-polyurethane-tubing-blue-color-100-roll-125-200-psi>: HTTP status code is not handled or not allowed 2026-01-28 16:19:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a806nfal-junction-box-type-4x-clamp-cover-800x600x350>: HTTP status code is not handled or not allowed 2026-01-28 16:19:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/manual-threading-pipe-and-bolt-die-heads-complete-w-dies-51862>: HTTP status code is not handled or not allowed 2026-01-28 16:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelving-36x18x72-with-4-shelves-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:19:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-gas-infrared-heater-091040lps-straight-configuration-40-l-100000-btu>: HTTP status code is not handled or not allowed 2026-01-28 16:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f44le9a-90-elbowtop-open-400x400-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 16:19:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-in-hndwheel-3271049>: HTTP status code is not handled or not allowed 2026-01-28 16:19:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hanging-chain-kit-1800csu40-for-u-configuration-infrared-heaters-40-l>: HTTP status code is not handled or not allowed 2026-01-28 16:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mabis-sphygmomanometer-blood-pressure-replacement-cuff-and-two-tube-bladder-adult-size-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:19:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-poly-z-brite-24w-x-30l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adk48a-drip-shield-kit-for-two-door-encl-fits-b4800-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 16:19:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-10w-x-8d-x-20h-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-poly-bags-10w-x-8d-x-30h-2-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-infrared-heater-0918r15ngu-u-configuration-15-l-60000-btu>: HTTP status code is not handled or not allowed 2026-01-28 16:19:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-6n6x40-zx-lathes-zx-h223>: HTTP status code is not handled or not allowed 2026-01-28 16:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inch-drive-extension-36-inch>: HTTP status code is not handled or not allowed 2026-01-28 16:19:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-16-inch-diameter-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-hole-22mm-non-metallic-push-button-station>: HTTP status code is not handled or not allowed 2026-01-28 16:19:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 124474 pages (at 100 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:19:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a90smp20-panel-side-mounted-fits-9006-1981x508mm-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 16:19:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a24n20mp-panel-2100x1850-fits-24x20-steelwhite>: HTTP status code is not handled or not allowed 2026-01-28 16:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a30n24mpp-panel-2600x2250-fits-30x24-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 16:19:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-no-1017-telescoping-basin-wrench-10-17-38-to-1-14-pipe-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:19:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-head-construction-wrenches-3239>: HTTP status code is not handled or not allowed 2026-01-28 16:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-10w-x-12l-2-mil-green-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:19:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-end-static-shielding-bags-6w-x-14l-28-mil-transparent-200pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-adult-disposable-briefs-size-2xl-for-waist-size-60-69-20-bag>: HTTP status code is not handled or not allowed 2026-01-28 16:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-adult-disposable-briefs-size-m-for-waist-size-32-42-20-bag>: HTTP status code is not handled or not allowed 2026-01-28 16:20:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reflector-1820801>: HTTP status code is not handled or not allowed 2026-01-28 16:20:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-pound-ratchet-head-torque-wrenches-6020ab>: HTTP status code is not handled or not allowed 2026-01-28 16:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms70-b0820-70-shade-cloth-shade-tarp-8-x-20>: HTTP status code is not handled or not allowed 2026-01-28 16:20:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms70-b1012-70-shade-cloth-shade-tarp-10-x-12>: HTTP status code is not handled or not allowed 2026-01-28 16:20:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-inch-drive-long-handle-classic-pear-head-ratchet-11-inch>: HTTP status code is not handled or not allowed 2026-01-28 16:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-h-stacking-cabinet-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:20:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hair-dryer-dual-voltage>: HTTP status code is not handled or not allowed 2026-01-28 16:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip-reclosable-lab-guard-uv-protection-bags-8w-x-14l-3-mil-amber-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-bulk-box-16-bushel-truck-steel-chassis-base-white>: HTTP status code is not handled or not allowed 2026-01-28 16:20:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bulk-rack-add-on-w-steel-decking-84-w-x-24-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 16:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-with-hang-hole-12w-x-15l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vestil-edge-of-dock-leveler-fm-2072-72-w-usable-20-000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:20:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x30-gaming-chair-racing-office-ergonomic-computer-chair-with-fully-reclining-back-and-slide-out-footrest-in-black-leathersoft>: HTTP status code is not handled or not allowed 2026-01-28 16:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quik-dry-water-blade-14-sw21414>: HTTP status code is not handled or not allowed 2026-01-28 16:20:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-outlet-tri-tap-adapter-with-covers-gg-03431be-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:20:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-with-hang-hole-8w-x-10l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pipe-jaws-c3-2907600>: HTTP status code is not handled or not allowed 2026-01-28 16:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gal-pail-super-lube-synthetic-gear-oil-iso-150>: HTTP status code is not handled or not allowed 2026-01-28 16:20:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lower-hinge-zx-lathes-zx-08711>: HTTP status code is not handled or not allowed 2026-01-28 16:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cylindrical-weights-nist-class-f-1-kgs>: HTTP status code is not handled or not allowed 2026-01-28 16:20:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-x-74-chrome-wire-shelving-with-15-24-d-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:20:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toes2go-sml-2-7-steel-toe-cap-flexible-pliable-pvc-overshoes-100-waterproof>: HTTP status code is not handled or not allowed 2026-01-28 16:20:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-24-x-74-chrome-wire-shelving-with-15-24-d-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44402-heavy-duty-siphon-pump-7-gpm-fits-55-gallon-drums>: HTTP status code is not handled or not allowed 2026-01-28 16:20:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ear-muff-nrr-27db-individually-packaged>: HTTP status code is not handled or not allowed 2026-01-28 16:20:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/import-precision-ground-dowel-pin-18-x-78-100pk>: HTTP status code is not handled or not allowed 2026-01-28 16:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enriched-foam-free-n-clean-soap-e1-1600ml-fg750390>: HTTP status code is not handled or not allowed 2026-01-28 16:20:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/44144-plastic-rotary-pump-chemicals>: HTTP status code is not handled or not allowed 2026-01-28 16:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/microburst-3000-aerosol-refill-mandarin-orange-fg402408>: HTTP status code is not handled or not allowed 2026-01-28 16:20:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-hydraulic-jack-50-25-10-50-3>: HTTP status code is not handled or not allowed 2026-01-28 16:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gravity-flow-rack-add-on-2>: HTTP status code is not handled or not allowed 2026-01-28 16:20:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-jsm-403-40343>: HTTP status code is not handled or not allowed 2026-01-28 16:20:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pmxtreme-eyewear-gray-lens-with-red-frame-black-cord>: HTTP status code is not handled or not allowed 2026-01-28 16:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-aah-36rbmag1-g-storage-cabinet-assembled-36x24x72-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:20:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-half-skid-36x24>: HTTP status code is not handled or not allowed 2026-01-28 16:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-suffocation-warning-poly-bags-6w-x-9l-2-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-wire-deck-divider-40-w-x-18-d-x-1-h>: HTTP status code is not handled or not allowed 2026-01-28 16:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-x-12-breathing-air-rated-hose-hansen-fittings-h-25-5>: HTTP status code is not handled or not allowed 2026-01-28 16:20:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rendezvous-eyewear-silver-mirror-lens-with-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:20:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-w-3674ds-p-wardrobe-closet-assembled-36x24x72-putty>: HTTP status code is not handled or not allowed 2026-01-28 16:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gatorade-instant-powder-33690>: HTTP status code is not handled or not allowed 2026-01-28 16:20:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-1-link-25-l-hdpe-purple>: HTTP status code is not handled or not allowed 2026-01-28 16:20:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-filter-kit-for-bb100150-series-models-bb100-fk>: HTTP status code is not handled or not allowed 2026-01-28 16:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/400-series-coolers-4101>: HTTP status code is not handled or not allowed 2026-01-28 16:20:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-cabinets-bca-364218-p-bookcase-assembled-36x18x42-putty>: HTTP status code is not handled or not allowed 2026-01-28 16:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-hanford-single-post-with-fluted-base-e1-economy-mailbox>: HTTP status code is not handled or not allowed 2026-01-28 16:20:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-hanford-single-post-with-fluted-base-lewiston-mailbox>: HTTP status code is not handled or not allowed 2026-01-28 16:20:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-chain-1-link-100-l-hdpe-gold>: HTTP status code is not handled or not allowed 2026-01-28 16:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/backhd-jsg-9212ns-730213>: HTTP status code is not handled or not allowed 2026-01-28 16:20:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-w-x-30-d-production-workbench-maple-butcher-block-safety-edge-complete-bench-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-foam-tape-2-x-36-yds-625-mil-white-2pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-packaging-workbench-plastic-safety-edge-72-x-30>: HTTP status code is not handled or not allowed 2026-01-28 16:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4945-double-sided-foam-tape-12-x-5-yds-45-mil-white>: HTTP status code is not handled or not allowed 2026-01-28 16:20:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-foam-tape-2-x-36-yds-625-mil-white-6pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-cabinet-36-x-24-x-84>: HTTP status code is not handled or not allowed 2026-01-28 16:20:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/476xl-double-coated-film-tape-12-x-360-yds-6-mil-clear-2pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26-foot-x-40-foot-heavy-duty-silver-tarp>: HTTP status code is not handled or not allowed 2026-01-28 16:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-inch-premium-black-ball-bungie-package-of-50>: HTTP status code is not handled or not allowed 2026-01-28 16:20:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/offices-to-go-wood-desk-with-bow-front-71-walnut>: HTTP status code is not handled or not allowed 2026-01-28 16:20:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5915-double-sided-foam-tape-12-x-5-yds-16-mil-black>: HTTP status code is not handled or not allowed 2026-01-28 16:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6812-ribbed-knit-beanie-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:20:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1500-strapping-tape-34-x-60-yds-51-mil-clear-48pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-foot-x-60-foot-heavy-duty-silver-tarp>: HTTP status code is not handled or not allowed 2026-01-28 16:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-electronic-packaging-workbench-plastic-safety-edge-72-x-30>: HTTP status code is not handled or not allowed 2026-01-28 16:20:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-tension-lever-5051021>: HTTP status code is not handled or not allowed 2026-01-28 16:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-pocket-oak-acrylic-wall-rack-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 16:20:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/packaging-workbench-esd-safety-edge-60-x-30-with-riser-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hxhdscrew-1230r-5232281>: HTTP status code is not handled or not allowed 2026-01-28 16:20:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/304-j2630-op-wh-blank-o-port-keystone-wall-plate-flush-white>: HTTP status code is not handled or not allowed 2026-01-28 16:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-36-x-30-drawer-shelf-shop-stand-maple-black>: HTTP status code is not handled or not allowed 2026-01-28 16:20:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-foot-x-24-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 16:20:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-foot-x-60-foot-forest-green-tarp>: HTTP status code is not handled or not allowed 2026-01-28 16:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-foot-x-20-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 16:20:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sj3540-fasteners-1w-x-150l-black>: HTTP status code is not handled or not allowed 2026-01-28 16:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-disc-782c-80-tr-2-in-die-r200p-50-per-inner-200-per-case>: HTTP status code is not handled or not allowed 2026-01-28 16:20:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-warning-poly-bags-16w-x-24l-15-mil-clear-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-airspade-asu4045aa-4000-45-degree-angle-adapter>: HTTP status code is not handled or not allowed 2026-01-28 16:20:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-airspade-asu4105g4-4000-105-scfm-with-4ft-barrel>: HTTP status code is not handled or not allowed 2026-01-28 16:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swivel-base-assy-800-2904580>: HTTP status code is not handled or not allowed 2026-01-28 16:20:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-foot-x-40-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 16:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4008-double-sided-foam-tape-1-x-5-yds-125-mil-natural>: HTTP status code is not handled or not allowed 2026-01-28 16:20:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fibre-disc-787c-tn-quick-change-787c-7-60-25-per-inner-100-per-case>: HTTP status code is not handled or not allowed 2026-01-28 16:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prong-base-for-paper-file-fasteners-one-inch-capacity-100box>: HTTP status code is not handled or not allowed 2026-01-28 16:20:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-7913b-11xxl-cut-resistant-gloves-smooth-nitrile-coating-a2-b-size-11>: HTTP status code is not handled or not allowed 2026-01-28 16:20:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-conditioning-disc-tr-3-x-nh-a-crs-aad-1000-per-case>: HTTP status code is not handled or not allowed 2026-01-28 16:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-clips-smooth-finish-no-1-silver-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-0913b-9l-cut-resistant-gloves-smooth-nitrile-coating-a4-d-size-9>: HTTP status code is not handled or not allowed 2026-01-28 16:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-foot-x-35-foot-blue-tarp>: HTTP status code is not handled or not allowed 2026-01-28 16:20:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 124572 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:20:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-truck-dump-insert-mounting-kit-for-aluminum-body-ford-superduty>: HTTP status code is not handled or not allowed 2026-01-28 16:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bushing-text-jvm836-40t>: HTTP status code is not handled or not allowed 2026-01-28 16:20:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-iso-metric-roller-chain-06b-1-3-8-pitch-offset-link>: HTTP status code is not handled or not allowed 2026-01-28 16:20:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bands-size-64-312-x-14-320-bands1lb-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-bands-size-33-312-x-18-640-bands1lb-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:20:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-jtm-4vs-vs-069>: HTTP status code is not handled or not allowed 2026-01-28 16:20:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-sensor-activation-kit-for-761218>: HTTP status code is not handled or not allowed 2026-01-28 16:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/airspade-ltT25-barrel-assembly-with-dirt-shield-for-airspade-3000>: HTTP status code is not handled or not allowed 2026-01-28 16:21:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-roller-chain-80-1r-1-pitch-50ft-reel>: HTTP status code is not handled or not allowed 2026-01-28 16:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-foot-x-16-foot-heavy-duty-silver-tarp>: HTTP status code is not handled or not allowed 2026-01-28 16:21:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/purofort-full-safety-mens-work-boots-size-3-green>: HTTP status code is not handled or not allowed 2026-01-28 16:21:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tritan-precision-ansi-nickel-plated-roller-chain-50-1np-5-8-pitch-connecting-link>: HTTP status code is not handled or not allowed 2026-01-28 16:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-6w-x-7l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/o-ring-dia-21x24-dslt770h-35-5>: HTTP status code is not handled or not allowed 2026-01-28 16:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rociaplanar-led-industrial-task-light-art-arm-100-240v-18w>: HTTP status code is not handled or not allowed 2026-01-28 16:21:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/linuraedge-slim-profile-led-light-22-26v-dc-6w-acrylic-132>: HTTP status code is not handled or not allowed 2026-01-28 16:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-inch-deep-top-step-kit-perforated>: HTTP status code is not handled or not allowed 2026-01-28 16:21:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worm-gear-jtm-1055-jtm1055-h08>: HTTP status code is not handled or not allowed 2026-01-28 16:21:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/key-3x3x25-jtm-1055-jtm1055-l13>: HTTP status code is not handled or not allowed 2026-01-28 16:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/truck-tire-rack-3-tier-add-on-72x24x120>: HTTP status code is not handled or not allowed 2026-01-28 16:21:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30178su-f28t8sp850-28w-fluorescent-t8-bulb-medium-bipin-super-white>: HTTP status code is not handled or not allowed 2026-01-28 16:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seal-washer-jsj-3x-jsj3x-p20>: HTTP status code is not handled or not allowed 2026-01-28 16:21:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-triple-truck-frame-only-261160-750-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tevisio-led-31-reach-35d-8d-13w-5000k-dimmable-with-segment-switching>: HTTP status code is not handled or not allowed 2026-01-28 16:21:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40391-floor-cabinet-24-l-x-36-w-x-58-h-80-110-psi-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 16:21:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-10w-x-24l-4-mil-clear-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40429-led-light-kit-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:21:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-174-hydraulic-li-liquid-cylinder-cart-240250-1000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/value-single-stream-satin-black-satin-aluminum-15-gal-waste-w-1242>: HTTP status code is not handled or not allowed 2026-01-28 16:21:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-hvy-ss-spring-tong-9-1-2>: HTTP status code is not handled or not allowed 2026-01-28 16:21:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-valve-assembly-jsg1046-21>: HTTP status code is not handled or not allowed 2026-01-28 16:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-tubing-1000l-x-8w-2-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:21:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tarifold-antimicrobial-pocket-expansion-set-10-black-pockets>: HTTP status code is not handled or not allowed 2026-01-28 16:21:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubber-cal-diamond-grip-rubber-runner-mats-2mm-x-4-x-10-rubber-flooring-rolls-black>: HTTP status code is not handled or not allowed 2026-01-28 16:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/locking-tong-16>: HTTP status code is not handled or not allowed 2026-01-28 16:21:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-cap-jsm5252-26>: HTTP status code is not handled or not allowed 2026-01-28 16:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11643-window-lens-27-x-15-plexiglass>: HTTP status code is not handled or not allowed 2026-01-28 16:21:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/141-920-bracket-tensiotext-2063018>: HTTP status code is not handled or not allowed 2026-01-28 16:21:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-12w-x-13l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-cmptmnt-rec-sensor-can-w-voice-motion-control-15-1-3-gal-brushed-st2036>: HTTP status code is not handled or not allowed 2026-01-28 16:21:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedpress-2-4-rhino-cutting-mat>: HTTP status code is not handled or not allowed 2026-01-28 16:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedpress-5-12-rhino-cutting-mat>: HTTP status code is not handled or not allowed 2026-01-28 16:21:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foot-lever-slt330fh-14>: HTTP status code is not handled or not allowed 2026-01-28 16:21:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-oscillating-fan-with-wall-bracket-white>: HTTP status code is not handled or not allowed 2026-01-28 16:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-poly-bags-2w-x-12l-4-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pex-union-coupler-cts-black>: HTTP status code is not handled or not allowed 2026-01-28 16:21:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-angle-stop-push-fit-adapter-valve>: HTTP status code is not handled or not allowed 2026-01-28 16:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reclosable-polypropylene-bags-4l-x-4w-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pla-precision-material-black>: HTTP status code is not handled or not allowed 2026-01-28 16:21:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/resealable-polypropylene-bags-13l-x-13w-15-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/350120-jmd-18pfn-mill-drill-2-hp-115230v-1ph>: HTTP status code is not handled or not allowed 2026-01-28 16:21:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pla-precision-material-natural>: HTTP status code is not handled or not allowed 2026-01-28 16:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40364-spark-plug-cleaner-cast-aluminum-fabric>: HTTP status code is not handled or not allowed 2026-01-28 16:21:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-5-1-2-shower-arm-polished-brass-finish>: HTTP status code is not handled or not allowed 2026-01-28 16:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-oz-ss-scoops>: HTTP status code is not handled or not allowed 2026-01-28 16:21:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-oz-ss-scoops>: HTTP status code is not handled or not allowed 2026-01-28 16:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a66ccol-straight-pedestal-column-3500x600x600-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 16:21:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/true-white-pla-filament>: HTTP status code is not handled or not allowed 2026-01-28 16:21:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gusseted-polypropylene-bags-3-12l-x-2w-x-7-12h--15-mil-clear-2000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-athletic-sneakers-water-and-oil-resistant-size-7m-black>: HTTP status code is not handled or not allowed 2026-01-28 16:21:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-reel-assembly>: HTTP status code is not handled or not allowed 2026-01-28 16:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/equip-deck-mount-sensor-faucet>: HTTP status code is not handled or not allowed 2026-01-28 16:21:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17-green-scrub-brush-alternative-scrubbing-pad-4-per-case>: HTTP status code is not handled or not allowed 2026-01-28 16:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ryton-lever-pump-with-adjustable-flow-rate-8-10-or-12-oz>: HTTP status code is not handled or not allowed 2026-01-28 16:21:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/900-gph-manual-lift-pump>: HTTP status code is not handled or not allowed 2026-01-28 16:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-sided-removable-foam-tape-1-x-72-yds-3125-mil-white-2pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28oz-piston-stroke-large-flow-all-pvc-pump>: HTTP status code is not handled or not allowed 2026-01-28 16:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdsc603812-concept-disc-type-12-enclosure-6000x3800x1200-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 16:21:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-alarm-sign-glow-acrylic-8-x-14-1-2>: HTTP status code is not handled or not allowed 2026-01-28 16:21:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cdsc423212-concept-disc-type-12-enclosure-4200x3200x1200-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 16:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/47-ibc-tote-centrifugal-pump-kit-polypropylene-110v>: HTTP status code is not handled or not allowed 2026-01-28 16:21:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-hercules-composite-toe-twin-gore-boots-size-85m-black>: HTTP status code is not handled or not allowed 2026-01-28 16:21:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/63mm-coarse-bung-buttress-to-npt>: HTTP status code is not handled or not allowed 2026-01-28 16:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-merchandise-bags-12-12w-x-15h-white-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uj303018m2-sectionalizing-cabinet-3000x3000x1800-steelgreen>: HTTP status code is not handled or not allowed 2026-01-28 16:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-ss-316-40-welded-pipe-nipple-12x4-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 16:21:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/merit-ss-316-40-seamless-pipe-nipple-18x6-npt-male>: HTTP status code is not handled or not allowed 2026-01-28 16:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silent-air-industrial-plus-5-hp-1-phase-80-gal-vertical-compressor-30-cfm-dryer-bundle>: HTTP status code is not handled or not allowed 2026-01-28 16:21:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-channel-cable-guard-drop-over-general-purpose>: HTTP status code is not handled or not allowed 2026-01-28 16:21:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moisture-barrier-bags-15w-x-18l-36-mil-silver-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30in-lateral-file-cabinet-2-drawer-putty>: HTTP status code is not handled or not allowed 2026-01-28 16:21:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-kit-multiple-materials-black-red-sdpk>: HTTP status code is not handled or not allowed 2026-01-28 16:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-4w-x-7l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-strip-washer-strip-pac-14>: HTTP status code is not handled or not allowed 2026-01-28 16:21:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-36-durham-manufacturing-low-deck-service-truck-ldo-303641-2-8phfl-95>: HTTP status code is not handled or not allowed 2026-01-28 16:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retainer-ring-jsm-512f-51229>: HTTP status code is not handled or not allowed 2026-01-28 16:21:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmyra-fiber-floor-brush-head-24>: HTTP status code is not handled or not allowed 2026-01-28 16:21:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/minigrip174-reclosable-poly-bags-6w-x-8l-2-mil-clear-1000pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-block-reclosable-poly-bags-18w-x-20l-4-mil-clear-250pack>: HTTP status code is not handled or not allowed 2026-01-28 16:21:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rotor-jsm5430-15>: HTTP status code is not handled or not allowed 2026-01-28 16:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swirl-pc-tumbler-16-ozclear>: HTTP status code is not handled or not allowed 2026-01-28 16:21:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivet-jms10scms-174>: HTTP status code is not handled or not allowed 2026-01-28 16:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-36-4-drawer-with-maple-top-workbench>: HTTP status code is not handled or not allowed 2026-01-28 16:21:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sleeve-jms12scms-19>: HTTP status code is not handled or not allowed 2026-01-28 16:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dinex-translucent-lid-wstraw-slot-fits-dxft907-dxft1207-tumblers-1000-cs-clear-dx5900st8714>: HTTP status code is not handled or not allowed 2026-01-28 16:21:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lifetime-8ft-x10ft-dual-entry-storage-shed>: HTTP status code is not handled or not allowed 2026-01-28 16:21:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd362410-concept-wall-mount-encl-3600x2400x1000-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 16:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/t-124c-3-speed-tricycle-with-basket-24-wheels-black>: HTTP status code is not handled or not allowed 2026-01-28 16:21:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-workbench-w-hidden-drawer-storage-72in-w-x36in-d-x28in-h>: HTTP status code is not handled or not allowed 2026-01-28 16:21:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prosegur-2-alarm-box-wrap-with-40-lanyard-58-khz-black-pack-of-50>: HTTP status code is not handled or not allowed 2026-01-28 16:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cryoket-400-waterproof-cryogenic-gloves-16-l-1-pair-size-9-crykit400409>: HTTP status code is not handled or not allowed 2026-01-28 16:21:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 124673 pages (at 101 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:21:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tube-6288938a>: HTTP status code is not handled or not allowed 2026-01-28 16:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/computer-cabinet-side-car-gray-3>: HTTP status code is not handled or not allowed 2026-01-28 16:21:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/janitorial-shadow-board-green-on-black-pro-series-acrylic-sb103fg>: HTTP status code is not handled or not allowed 2026-01-28 16:21:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/afdf1812p-door-flush-mounted-frame-fits-1800x1200-galvanizedpaint>: HTTP status code is not handled or not allowed 2026-01-28 16:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rx-pro-power-workstation-hutch-roller-cabinet-72w-x-25d-green-w-black-dr-pulls>: HTTP status code is not handled or not allowed 2026-01-28 16:21:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-rod-y31110060-mg1b-06>: HTTP status code is not handled or not allowed 2026-01-28 16:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spring-pin-25x55mm-text-80217-13>: HTTP status code is not handled or not allowed 2026-01-28 16:21:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/front-coupling-jsm5252-23>: HTTP status code is not handled or not allowed 2026-01-28 16:22:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-classic-diamond-mat-med-blue-4-x-16>: HTTP status code is not handled or not allowed 2026-01-28 16:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repair-kit-jns185-rp>: HTTP status code is not handled or not allowed 2026-01-28 16:22:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bracket-6296100>: HTTP status code is not handled or not allowed 2026-01-28 16:22:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/urinal-screen-with-non-para-enzyme-block-spring-mint-scent-12-case>: HTTP status code is not handled or not allowed 2026-01-28 16:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/iso-ss-304-cast-welding-spud-2-npt-female>: HTTP status code is not handled or not allowed 2026-01-28 16:22:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-bluestone-6-x-8>: HTTP status code is not handled or not allowed 2026-01-28 16:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bracket-6295325>: HTTP status code is not handled or not allowed 2026-01-28 16:22:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frontier-scraper-mat-dark-gray-4-x-8>: HTTP status code is not handled or not allowed 2026-01-28 16:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/redi-strip-catalog-envelopes-white-with-first-class-border-10-x-13-100-box>: HTTP status code is not handled or not allowed 2026-01-28 16:22:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fae-3110-refill-metal-detectable-bandages-foam-blue-25-per-box>: HTTP status code is not handled or not allowed 2026-01-28 16:22:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-bluestone-3-x-4>: HTTP status code is not handled or not allowed 2026-01-28 16:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/certified-174-graffiti-spray-paint-oil-water-based-enamel-remover-quart-bottle-6-cs>: HTTP status code is not handled or not allowed 2026-01-28 16:22:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valley-craft-a-frame-15-tray-divider>: HTTP status code is not handled or not allowed 2026-01-28 16:22:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-fashion-mat-med-blue-3-x-5>: HTTP status code is not handled or not allowed 2026-01-28 16:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saddle-drop-2-main-x-34-drop>: HTTP status code is not handled or not allowed 2026-01-28 16:22:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-mechanical-turnstile-left-locked-exit-stainless>: HTTP status code is not handled or not allowed 2026-01-28 16:22:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/canary-yellow-super-sticky-notes-2-x-2-ten-90-sheet-pads-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pulley-25a-6295427>: HTTP status code is not handled or not allowed 2026-01-28 16:22:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/56-industrial-ceiling-fan-4-speed-8350-cfm-120v-white>: HTTP status code is not handled or not allowed 2026-01-28 16:22:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-straight-register-vent-boot-w-adj-hangers-for-hvac-duct-work-4-x-10-x-5>: HTTP status code is not handled or not allowed 2026-01-28 16:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/valve-throttle-6294466>: HTTP status code is not handled or not allowed 2026-01-28 16:22:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strut-clamp>: HTTP status code is not handled or not allowed 2026-01-28 16:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-lock-25a-6295503>: HTTP status code is not handled or not allowed 2026-01-28 16:22:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speedi-boot-90-175-register-vent-boot-w-adj-hangers-for-hvac-duct-work-6-x-12-x-7>: HTTP status code is not handled or not allowed 2026-01-28 16:22:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-36w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brass-breather-valve-with-m22-x-1-5-thread-881-m22x1-5-200-ms-m>: HTTP status code is not handled or not allowed 2026-01-28 16:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a16r166hcr-hinged-cover-medium-type-3r-1600x1600x600-galvanizedpaint>: HTTP status code is not handled or not allowed 2026-01-28 16:22:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetically-locking-left-handicap-mirror>: HTTP status code is not handled or not allowed 2026-01-28 16:22:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-shelf-bookcase-34-1-2-w-x-13-d-x-82-h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-shelf-bookcase-34-1-2-w-x-13-d-x-72-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:22:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warning-label-jeb-s07>: HTTP status code is not handled or not allowed 2026-01-28 16:22:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a604816lpg-2-door-wfloor-stands-type-12-encl-6006x4806x1606-steelgray>: HTTP status code is not handled or not allowed 2026-01-28 16:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/90-176-ss-corner-guard-16-ga-3-8-wings-rd-corners-48-lx1-wx1-h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-add-on-unit-5-tier-60w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a727224ulp-2-door-wfloor-stands-type-12-encl-7206x7206x2406-steelpaint>: HTTP status code is not handled or not allowed 2026-01-28 16:22:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightning-6-80-watt-power-supply-four-bulb-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a606016lp-2-door-wfloor-stands-type-12-encl-6006x6006x1606-steelpaint>: HTTP status code is not handled or not allowed 2026-01-28 16:22:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-unit-5-tier-60w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-union-fitting-f5002-1>: HTTP status code is not handled or not allowed 2026-01-28 16:22:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34x12x96-solar-star-greenhouse-w-poly-ends-and-roll-up-sides>: HTTP status code is not handled or not allowed 2026-01-28 16:22:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-unit-5-tier-72w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-part-replacement-for-kerosene-heater>: HTTP status code is not handled or not allowed 2026-01-28 16:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-starter-unit-5-tier-72w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spark-plug-part-replacement-for-kerosene-heater-sp-kfa1009>: HTTP status code is not handled or not allowed 2026-01-28 16:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s-ld-thermaflex-flexible-hvac-duct-14-diameter>: HTTP status code is not handled or not allowed 2026-01-28 16:22:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-wall-desk-single-size-spring-close-keyed-lock-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:22:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-add-on-unit-5-tier-36w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/elite-wall-desk-full-size-self-keyed-lock-cherry>: HTTP status code is not handled or not allowed 2026-01-28 16:22:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-24-foot-w-fits-7-3-4-inches-to-8-5-8-inches-dia-brsn-424-9>: HTTP status code is not handled or not allowed 2026-01-28 16:22:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/armorclad-2-layer-epoxy-floor-kit-medium-flake-broadcast-600-sq-ft-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13l-x-10-6w-semi-automatic-horizontal-mitering-bandsaw-3-hp-460v-3-phase>: HTTP status code is not handled or not allowed 2026-01-28 16:22:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-solid-galvanized-steel-shelving-starter-unit-5-tier-36w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wall-desk-vinyl-clad-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:22:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-18-foot-w-fits-8-3-4-inches-to-9-5-8-inches-dia-brsn-418-10>: HTTP status code is not handled or not allowed 2026-01-28 16:22:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-safety-net-4-foot-l-by-30-foot-w-fits-3-1-2-inches-to-4-1-2-inches-dia-brsn-430-5>: HTTP status code is not handled or not allowed 2026-01-28 16:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cateraide-20-38-x-26-34-dollyblack>: HTTP status code is not handled or not allowed 2026-01-28 16:22:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440106593-utility-cloth-sheet-314d-9w-x-11l-p280-grit>: HTTP status code is not handled or not allowed 2026-01-28 16:22:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-model-201planer-6012051>: HTTP status code is not handled or not allowed 2026-01-28 16:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-model-201planer-6012082>: HTTP status code is not handled or not allowed 2026-01-28 16:22:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60440107054-roll-314d-1-1-2w-x-50-yd-p80>: HTTP status code is not handled or not allowed 2026-01-28 16:22:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-ellipse-slim-double-recycling-station-for-recycle-waste-16-gal-cap-black>: HTTP status code is not handled or not allowed 2026-01-28 16:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-12-w-x-1-8-thick-green>: HTTP status code is not handled or not allowed 2026-01-28 16:22:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-cogged-bx-v-belt-bx57>: HTTP status code is not handled or not allowed 2026-01-28 16:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-tube-60-l-x-1-4-id-x-3-4-od-black>: HTTP status code is not handled or not allowed 2026-01-28 16:22:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-epdm-tube-60-l-x-1-id-x-1-1-2-od-black>: HTTP status code is not handled or not allowed 2026-01-28 16:22:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34x12x48-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides-prop-heater>: HTTP status code is not handled or not allowed 2026-01-28 16:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/prosegur-super-dual-detacher-black>: HTTP status code is not handled or not allowed 2026-01-28 16:22:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/34x12x72-solar-star-greenhouse-w-poly-ends-and-drop-down-sides>: HTTP status code is not handled or not allowed 2026-01-28 16:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expression153-plastic-waste-container-45-gallon-capacity-greystone>: HTTP status code is not handled or not allowed 2026-01-28 16:22:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30x12x96-solar-star-greenhouse-w-poly-top-and-ends-roll-up-sides-gas-heater>: HTTP status code is not handled or not allowed 2026-01-28 16:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-commercial-canopy-18w-x-40l-white>: HTTP status code is not handled or not allowed 2026-01-28 16:22:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-green-wire-shelving-starter-unit-5-tier-72w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/expression-double-recycling-station-for-mixed-recycling-40-gallon-capacity-sandstone>: HTTP status code is not handled or not allowed 2026-01-28 16:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86614-maintenance-record-tag-2-sided-10pkg-polyester-4w-x-7h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/krylon-industrial-quik-mark-sb-inverted-marking-paint-fluorescent-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:22:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-cogged-bx-v-belt-bx39>: HTTP status code is not handled or not allowed 2026-01-28 16:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jea-b29-wheel-hndl-6285908>: HTTP status code is not handled or not allowed 2026-01-28 16:22:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8090253165-iron-series-two-stage-vertical-air-compressor-75hp-80-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:22:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-petg-tube-12-l-x-1-1-8-id-x-1-1-4-od-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-starter-unit-5-tier-30w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ready-rack-freestanding-gear-storage-rack-locker-single-sided-four-18-sections-chrome>: HTTP status code is not handled or not allowed 2026-01-28 16:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-2-w-x-3-16-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:22:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classical-a-v-belt-a33>: HTTP status code is not handled or not allowed 2026-01-28 16:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scba-mobile-bottle-cart-four-shelf-levels-holds-16-bottles-chrome>: HTTP status code is not handled or not allowed 2026-01-28 16:22:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-60w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tubes-with-caps-3dia-x-24l-0070-thick-yellow-24pack>: HTTP status code is not handled or not allowed 2026-01-28 16:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lower-wheel-wbs-14csos-198672>: HTTP status code is not handled or not allowed 2026-01-28 16:22:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-starter-unit-5-tier-30w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-1-w-x-3-16-thick-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:22:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 124769 pages (at 96 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:22:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/majestic-greenhouse-20w-x-24l-w-top-side-polycarbonate>: HTTP status code is not handled or not allowed 2026-01-28 16:22:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-lined-poly-mailers-7-14w-x-12l-2-mil-white-25pack>: HTTP status code is not handled or not allowed 2026-01-28 16:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-1-16-diameter-7x7-stainless-steel-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 16:22:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-wall-storage-cabinet-assembled-13-3-4x12-3-4x30-gray-269874gy>: HTTP status code is not handled or not allowed 2026-01-28 16:22:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clear-view-greenhouse-kit-20w-x-107h-x-20l-propane>: HTTP status code is not handled or not allowed 2026-01-28 16:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x72-solar-star-greenhouse-w-poly-ends-and-drop-down-sides>: HTTP status code is not handled or not allowed 2026-01-28 16:22:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-x-40-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:23:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ramp-for-automatic-stretch-wrap-machine-422965>: HTTP status code is not handled or not allowed 2026-01-28 16:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-x-6-x-5-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:23:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-packing-slip-inside-print-4l-x-2w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durapan-light-gauge-one-half-size-pan-10-38-x-12-34-6-deep>: HTTP status code is not handled or not allowed 2026-01-28 16:23:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-12-l-x-12-w-x-1-8-thick-blue-ps-cact-113>: HTTP status code is not handled or not allowed 2026-01-28 16:23:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heat-seal-bubble-mailers-4-9-12w-x-14-12l-kraft-25pack>: HTTP status code is not handled or not allowed 2026-01-28 16:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/malleable-steel-zinc-plated-wire-rope-clip-1-16-diameter>: HTTP status code is not handled or not allowed 2026-01-28 16:23:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-x-4-x-6-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knob-wstud-29-shaper-6293031>: HTTP status code is not handled or not allowed 2026-01-28 16:23:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/malleable-steel-zinc-plated-wire-rope-clip-3-16-diameter>: HTTP status code is not handled or not allowed 2026-01-28 16:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-4-w-x-1-4-thick-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:23:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bubble-lined-poly-mailers-5w-x-10l-2-mil-white-25pack>: HTTP status code is not handled or not allowed 2026-01-28 16:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-1-16-diameter-7x7-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 16:23:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/weathershield-portable-green-canopy-18w-x-40l>: HTTP status code is not handled or not allowed 2026-01-28 16:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-60w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:23:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-compartment-tray-10-1516-8-2132-58forest-green>: HTTP status code is not handled or not allowed 2026-01-28 16:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/26x12x48-solar-star-greenhouse-w-poly-top-and-ends-drop-down-sides>: HTTP status code is not handled or not allowed 2026-01-28 16:23:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-3-8-dia-vc-7-16-dia-7x19-vinyl-coated-galvanized-aircraft-cable>: HTTP status code is not handled or not allowed 2026-01-28 16:23:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/solarguard-freestanding-building-10w-x-8h-x-18l-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjusting-bolt-model-201planer-6012123>: HTTP status code is not handled or not allowed 2026-01-28 16:23:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-12-w-x-3-16-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:23:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-w-vogue-traditional-accessories-8-mailboxes-4-parcel-lockers-black>: HTTP status code is not handled or not allowed 2026-01-28 16:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storplus-125-gallon-box-26-18-9green>: HTTP status code is not handled or not allowed 2026-01-28 16:23:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/opticlean-open-aluminum-dolly-w-handle-21-34-21-34-35-12carlisle-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-10-x-5-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:23:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-60w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:23:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-superflex-wheel-10x275-58-roller>: HTTP status code is not handled or not allowed 2026-01-28 16:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-wire-shelving-add-on-unit-5-tier-42w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:23:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-x-10-x-9-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:23:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/table-insert-for-3-spindle-6286984>: HTTP status code is not handled or not allowed 2026-01-28 16:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switch-460v3ph-model-201-6012111>: HTTP status code is not handled or not allowed 2026-01-28 16:23:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mxo1000-env-oil-only-pads15w-x-19llight-weightcase100>: HTTP status code is not handled or not allowed 2026-01-28 16:23:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104509-floor-pedestrian-traffic-only-sign-blackwhite-polyester-17dia>: HTTP status code is not handled or not allowed 2026-01-28 16:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-rubber-on-aluminum-12x2-34-roller>: HTTP status code is not handled or not allowed 2026-01-28 16:23:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-do-not-double-stack-print-5l-x-3w-fluorescent-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soot-remover-spray-16-oz>: HTTP status code is not handled or not allowed 2026-01-28 16:23:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-duralast-wheel-6x3-34-ball>: HTTP status code is not handled or not allowed 2026-01-28 16:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-15-x-30-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:23:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/104342-toughstripe-floor-marking-tape-polyester-3w-x-100l-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:23:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-poly-z-brite-wire-shelving-starter-unit-1-dunnage-shelf-48w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700505wht-pegboard-gift-card-display-8w-x-20h-wh-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 16:23:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/support-block-model-201-planer-6012102>: HTTP status code is not handled or not allowed 2026-01-28 16:23:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shift-fork-model-201planer-6012060>: HTTP status code is not handled or not allowed 2026-01-28 16:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-48w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:23:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/205-65-10-20-5-x-850-10-lrc-trailer-tire>: HTTP status code is not handled or not allowed 2026-01-28 16:23:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700358clr-pegboard-powerwing-display-24w-x-48h-clr-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 16:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-mailers-3-8-12w-x-14-12l-white-25pack>: HTTP status code is not handled or not allowed 2026-01-28 16:23:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/252059-trifold-brochure-hlr-w2-clr-sign-hlrs-13w-x-9125h-clr-1pack>: HTTP status code is not handled or not allowed 2026-01-28 16:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelate-silver-epoxy-wire-shelving-add-on-unit-5-tier-36w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:23:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ball-bearing-6209-2nse-model-201planer-6012149>: HTTP status code is not handled or not allowed 2026-01-28 16:23:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-seal-bubble-mailers-00-5w-x-10l-kraft-25pack>: HTTP status code is not handled or not allowed 2026-01-28 16:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spacer-spdl-12-x-12-27-wd-shaper-3742002>: HTTP status code is not handled or not allowed 2026-01-28 16:23:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/146125-cable-safety-padlock-with-label-8h-clearance-steel-cable-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:23:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelon-wire-shelving-starter-unit-1-dunnage-shelf-48w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-do-not-stack-print-5l-x-3w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-plastex-wheel-6x2-1-316-plain>: HTTP status code is not handled or not allowed 2026-01-28 16:23:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelon-wire-shelving-starter-unit-1-dunnage-shelf-48w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bearing-w6307-2rs-6060018>: HTTP status code is not handled or not allowed 2026-01-28 16:23:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-v-groove-wheel-8x3-1-14-roller>: HTTP status code is not handled or not allowed 2026-01-28 16:23:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-48-l-x-2-w-x-1-8-thick-green>: HTTP status code is not handled or not allowed 2026-01-28 16:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regulated-labels-warning-to-avoid-danger-3l-x-5w-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clasp-envelopes-9-14w-x-14-12l-kraft-500pack>: HTTP status code is not handled or not allowed 2026-01-28 16:23:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-idler-pulley-locking-3695025>: HTTP status code is not handled or not allowed 2026-01-28 16:23:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simoniz-969-heavy-duty-caustic-degreaser-5-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hamilton-v-groove-wheel-4x2-58-roller>: HTTP status code is not handled or not allowed 2026-01-28 16:23:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-20-x-10-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/simoniz-z-100-heavy-duty-butyl-degreaser-5-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:23:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-pull-tab-reusable-do-not-print-3l-x-2w-yellowblack-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flat-washr-13mm-x-28-x-3tmodel201plnr-6012122>: HTTP status code is not handled or not allowed 2026-01-28 16:23:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-nexelite-vented-plastic-shelving-starter-unit-5-tier-72w-x-24d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plate-vs-bearing-3595005>: HTTP status code is not handled or not allowed 2026-01-28 16:23:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-permanent-markers-fine-point-black-6-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:23:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-fragile-handle-w-care-thank-print-5l-x-3w-redwhiteroll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x24x24-double-wall-boxes>: HTTP status code is not handled or not allowed 2026-01-28 16:23:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/regulated-labels-biohazard2l-x-2w-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-24-l-x-1-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:23:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-fragile-handle-with-print-5l-x-3w-fluorescent-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-fragile-electronic-print-3l-x-2w-fluorescent-yellow-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-x-20-x-20-doublewall-regular-slotted-container>: HTTP status code is not handled or not allowed 2026-01-28 16:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/515332-acrylic-riser-55w-x-2h-x-4d-clr-4pack>: HTTP status code is not handled or not allowed 2026-01-28 16:23:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-1-quart-foam-shipperkit>: HTTP status code is not handled or not allowed 2026-01-28 16:23:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-polypropylene-liner-14x60>: HTTP status code is not handled or not allowed 2026-01-28 16:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wall-mounted-shelf-10-inch-24-inch-shelf>: HTTP status code is not handled or not allowed 2026-01-28 16:23:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interion-174-48-wide-right-handed-return-table-mahogany-sg8030>: HTTP status code is not handled or not allowed 2026-01-28 16:23:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700422blu-pinwheel-pegboard-display-wwheel-rb-16w-x-60h-bl-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 16:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/700445alm-pinwheel-pegboard-display-135w-x-44h-almond-1-pc>: HTTP status code is not handled or not allowed 2026-01-28 16:23:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-paper-labels-with-dec-print-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-wall-mounted-shelf-12-inch-96-inch-shelf-with-hooks>: HTTP status code is not handled or not allowed 2026-01-28 16:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-heavy-duty-standard-threaded-hex-base-warning-whip-w-o-light-12-x11-orange-w-x-rectangle-flag>: HTTP status code is not handled or not allowed 2026-01-28 16:23:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sani-adjustable-aluminum-tubular-shelf-18-inch-60-inch>: HTTP status code is not handled or not allowed 2026-01-28 16:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-36-l-x-5-w-x-1-16-thick-blue-detectable-60a-acrylic-adhesive-bulk-rs-h60md-72>: HTTP status code is not handled or not allowed 2026-01-28 16:23:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 124867 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:23:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-x-60-4-piece-mirror-carton-1pc>: HTTP status code is not handled or not allowed 2026-01-28 16:23:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-heavy-duty-standard-threaded-hex-base-warning-whip-w-light-12-x11-orange-w-x-rectangle-flag>: HTTP status code is not handled or not allowed 2026-01-28 16:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-lock-14-6286447>: HTTP status code is not handled or not allowed 2026-01-28 16:23:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-32-x-15-16-spring-pin-high-carbon-steel-plain-asme-b18-8-2-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-28 16:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-number-paper-labels-with-3-print-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:23:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-10-3-50-4-flat-free-sawtooth-tread-2-25-offset-5-8-ball-bearings>: HTTP status code is not handled or not allowed 2026-01-28 16:23:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-12-1-2x19-self-seal-kra-bubble-mailers-with-opening-tear-strip>: HTTP status code is not handled or not allowed 2026-01-28 16:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-paper-labels-with-jun-print-fluorescent-red-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:24:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultem-pei-sheet-48-l-x-12-w-x-3-4-thick-amber>: HTTP status code is not handled or not allowed 2026-01-28 16:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/consecutive-numbered-labels-0001-0500-1-12l-x-1w-blackwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:24:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-rigid-caster-flat-free>: HTTP status code is not handled or not allowed 2026-01-28 16:24:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-x-2-1-2-spring-pin-high-carbon-steel-plain-asme-b18-8-2-made-in-usa>: HTTP status code is not handled or not allowed 2026-01-28 16:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-standard-ball-bearings-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:24:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carriage-brush-assy-mdl-l510-3069021>: HTTP status code is not handled or not allowed 2026-01-28 16:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-x-4-x-4-mailers>: HTTP status code is not handled or not allowed 2026-01-28 16:24:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/760-pocket-aneroid-sphygmomanometer-adult-black>: HTTP status code is not handled or not allowed 2026-01-28 16:24:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hndl-pull-3268220>: HTTP status code is not handled or not allowed 2026-01-28 16:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bollard-cover-4-1-2-in-dia-52-inch-h-white-blue-tape>: HTTP status code is not handled or not allowed 2026-01-28 16:24:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/86a-2-pin-6289221>: HTTP status code is not handled or not allowed 2026-01-28 16:24:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamondback-ramps-only-for-uhb4045t>: HTTP status code is not handled or not allowed 2026-01-28 16:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/scrw-w-wasr-m4x07px8lg4mmx10x08t201-6012070>: HTTP status code is not handled or not allowed 2026-01-28 16:24:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-4-x-4-mailers>: HTTP status code is not handled or not allowed 2026-01-28 16:24:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerback-rubber-duct-5ft-2-large-ch>: HTTP status code is not handled or not allowed 2026-01-28 16:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-dumping-forklift-hopper-with-bump-release-2-cu-yd-6000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:24:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shurtape-ap201-2inx110-yard-clear-carton-sealing-tape>: HTTP status code is not handled or not allowed 2026-01-28 16:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spark-plug-socket-3-8-drive-5-8>: HTTP status code is not handled or not allowed 2026-01-28 16:24:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/88in-w-x44in-d-reception-station-w-non-electric-raceway-cherry-counter-blue-panel>: HTTP status code is not handled or not allowed 2026-01-28 16:24:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-inventory-circle-labels-light-blue-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-4-x-3-mailers>: HTTP status code is not handled or not allowed 2026-01-28 16:24:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-48-l-x-6-w-x-1-4-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-dia-round-paper-labels-with-new-print-fluorescent-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:24:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-15-16-deep>: HTTP status code is not handled or not allowed 2026-01-28 16:24:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-round-letter-paper-labels-with-a-print-fluorescent-green-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-3-4-deep>: HTTP status code is not handled or not allowed 2026-01-28 16:24:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11-1-8-x-8-5-8-x1-2-1-1-1-2-2-white-bookfold>: HTTP status code is not handled or not allowed 2026-01-28 16:24:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-paper-bags-for-metro-evo-hand-vacs-dvp-26rp>: HTTP status code is not handled or not allowed 2026-01-28 16:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-epdm-roll-120-l-x-54-w-x-3-16-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:24:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-1-2-x-12-1-2-x-1-2-1-white-bookfold>: HTTP status code is not handled or not allowed 2026-01-28 16:24:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/west-virginia-hitch-cover-4-1-2-x-3-3-8-15055>: HTTP status code is not handled or not allowed 2026-01-28 16:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-1-2-x-12-1-2x1-2-1-1-1-2-2-white-bookfold>: HTTP status code is not handled or not allowed 2026-01-28 16:24:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-8-drive-7-16-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 16:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-coverall-knit-cuffs-attached-hood-white-medium-4520-m>: HTTP status code is not handled or not allowed 2026-01-28 16:24:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsi-clutter-catcher-bench-seat-or-floor-mount-console-model-34215-in-grey>: HTTP status code is not handled or not allowed 2026-01-28 16:24:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-3-8-x-7-3-8-x-1-3-8-literature-mailers>: HTTP status code is not handled or not allowed 2026-01-28 16:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disposable-coverall-elastic-wrists-and-ankles-attached-hood-white-3xl-4510-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:24:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-1-3-16-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 16:24:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsi-full-size-floor-mounted-van-console-model-10181-in-vinyl-black>: HTTP status code is not handled or not allowed 2026-01-28 16:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-3-8-drive-12-point-10mm-deep>: HTTP status code is not handled or not allowed 2026-01-28 16:24:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/air-specialty-labels-un3373-biological-substan-4l-x-4-34w-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ax13316-two-lock-keypad-depository-safe-21w-x-3034d-x-2714h-258468-cubic-ft>: HTTP status code is not handled or not allowed 2026-01-28 16:24:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mailing-tube-bags-6w-x-3-12d-x-39l-kraft-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:24:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-12-l-x-4-w-x-3-16-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 16:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-fragile-glass-handle-with-care-print-3l-x-2w-redwhite-roll-of-500>: HTTP status code is not handled or not allowed 2026-01-28 16:24:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-w-partial-window-and-pass-thru-cable-48-1-4wx101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 16:24:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/econoline-storage-building-30w-x-15h-x-50l-white-pony-wall>: HTTP status code is not handled or not allowed 2026-01-28 16:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-13-16-short>: HTTP status code is not handled or not allowed 2026-01-28 16:24:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-with-partial-window-60-1-4w-x-101-1-2h-gray-gl>: HTTP status code is not handled or not allowed 2026-01-28 16:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/electric-office-partition-panel-36-1-4w-x-100h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 16:24:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stud-remover-8-mm-1-2-drive>: HTTP status code is not handled or not allowed 2026-01-28 16:24:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moo-tel-calf-nursery-w-open-ends-18w-x-40l-white>: HTTP status code is not handled or not allowed 2026-01-28 16:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-office-partition-panel-24-1-4w-x-101-1-2h-tan-gl>: HTTP status code is not handled or not allowed 2026-01-28 16:24:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fmlrl-11-14840-m4-led-low-profile-round-120v-1100-lumens>: HTTP status code is not handled or not allowed 2026-01-28 16:24:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fmlsl-14-20840-m4-led-low-profile-square-120v-1600-lumens>: HTTP status code is not handled or not allowed 2026-01-28 16:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-with-do-not-break-print-10l-x-8w-fluorescent-green-roll-of-250>: HTTP status code is not handled or not allowed 2026-01-28 16:24:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2gtl4-lp840-2x4-general-purpose-recessed-led-troffer-mvolt-4000-lumens>: HTTP status code is not handled or not allowed 2026-01-28 16:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neodymium-magnetic-carabiner-hook-45-lbs-pull-nickel-chrome-plating>: HTTP status code is not handled or not allowed 2026-01-28 16:24:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-60-1-4w-x-101-1-2h-blue-gl>: HTTP status code is not handled or not allowed 2026-01-28 16:24:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labels-w-do-not-break-down-skid-print-10l-x-8w-fluorescent-red-roll-of-250>: HTTP status code is not handled or not allowed 2026-01-28 16:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-duty-hand-riveter-w-5-nosepieces>: HTTP status code is not handled or not allowed 2026-01-28 16:24:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/moo-tel-calf-nursery-w-doors-18w-x-20l-white>: HTTP status code is not handled or not allowed 2026-01-28 16:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-1-4-x-9-3-4-side-loading-white-stayflat-mailers>: HTTP status code is not handled or not allowed 2026-01-28 16:24:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-door-enclosed-recycled-rubber-tackboard-18w-x24h-black-w-silver-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:24:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-side-panel-60l-grey>: HTTP status code is not handled or not allowed 2026-01-28 16:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-1-2x14-1-2-kra-padded-mailer>: HTTP status code is not handled or not allowed 2026-01-28 16:24:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-6-100-gauge-pvc-shrink-bag>: HTTP status code is not handled or not allowed 2026-01-28 16:24:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/melc804vp-notice-sign-electrical-room-no-storage-permitted-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kdh733-double-cross-hasp-danger-label-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 16:24:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-10049565p-concept-manual-workbench-esd-laminate-top-adjustable-height-72-x-30-x-26-3-8>: HTTP status code is not handled or not allowed 2026-01-28 16:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diagonal-plier-7>: HTTP status code is not handled or not allowed 2026-01-28 16:24:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-bar-36-l-x-3-4-w-x-1-2-thick-black-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 16:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-outdoor-in-ground-steel-bench-with-backrest-expanded-metal-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:24:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-door-enclosed-vinyl-tackboard-stone-w-silver-frame-72w-x-36h>: HTTP status code is not handled or not allowed 2026-01-28 16:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/daddy-long-legs-side-panel-30l-green>: HTTP status code is not handled or not allowed 2026-01-28 16:24:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-flex-18mm-6-point-flex-short>: HTTP status code is not handled or not allowed 2026-01-28 16:24:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-porcelain-magnetic-whiteboard-silver-frame-144-1-2w-x-48-1-2h>: HTTP status code is not handled or not allowed 2026-01-28 16:24:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x8-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ksk345-deluxe-lockout-kit-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:24:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-budd-wheel-socket-33mm-1-drive>: HTTP status code is not handled or not allowed 2026-01-28 16:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-1-2-drive-28-mm-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 16:24:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-heavy-duty-workbench-maple-top-1-shelf-72-w-x-36-d-x-36-1-8-h>: HTTP status code is not handled or not allowed 2026-01-28 16:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-heavy-duty-storage-workbench-maple-top-riser-2-drawers-96-w-x-36-d-x-51-1-16-h>: HTTP status code is not handled or not allowed 2026-01-28 16:24:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-composite-carbon-fiber-bar-12-l-x-3-w-x-1-8-thick-black-bulk-cs-cf-25>: HTTP status code is not handled or not allowed 2026-01-28 16:24:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-height-welded-steel-workbench-riser-outlet-10-bins-72-w-x-30-d-x-50-1-16-h>: HTTP status code is not handled or not allowed 2026-01-28 16:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp108va-danger-sign-confined-space-keep-out-10w-x-7h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 16:24:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mchg101vs-danger-sign-flammable-liquids-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 16:24:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s153-zebra-thermal-transfer-ribbons-4w-x-984l-wax-black-24-rollscase>: HTTP status code is not handled or not allowed 2026-01-28 16:24:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/28x32-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:24:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 124964 pages (at 97 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-x-1075-4-mil-anti-static-poly-tubing>: HTTP status code is not handled or not allowed 2026-01-28 16:24:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mchl168vs-danger-sign-oxygen-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 16:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/impact-socket-3-4-drive-1-1-16-6-point-short>: HTTP status code is not handled or not allowed 2026-01-28 16:24:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-ball-hitch-with-pintle-hook-and-chrome-towing-balls-2-1-2-inch-receiver>: HTTP status code is not handled or not allowed 2026-01-28 16:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-uhmw-polyethylene-sheet-24-l-x-24-w-x-3-16-thick-black-antistatic-ps-uhmw-esd-17>: HTTP status code is not handled or not allowed 2026-01-28 16:24:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8flexo-pet-general-purpose-sleeving-dia-125-black>: HTTP status code is not handled or not allowed 2026-01-28 16:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-smooth-bore-twin-hose-clamp-assembly>: HTTP status code is not handled or not allowed 2026-01-28 16:24:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcaw800va-notice-sign-non-potable-water-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 16:25:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x6-2-mil-anti-static-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mvhr680vp-caution-sign-pedestrian-crossing-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:25:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-size-col-series-cushion-clamps>: HTTP status code is not handled or not allowed 2026-01-28 16:25:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8-rail-mount-polypropylene-beta-series-clamp>: HTTP status code is not handled or not allowed 2026-01-28 16:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gp2500i-49stcsa-co-portable-inverter-generator-w-recoil-start-gasoline-2200-rated-watts>: HTTP status code is not handled or not allowed 2026-01-28 16:25:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireflex-silicone-coated-fiberglass-sleeve-150-dia-25-red>: HTTP status code is not handled or not allowed 2026-01-28 16:25:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pgf8ac-single-drinking-fountain-filtered-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/marque-curved-ada-compliant-reception-station-62-12w-x-25d-x-33h-cherry>: HTTP status code is not handled or not allowed 2026-01-28 16:25:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-tube-od-stainless-steel-anti-vibe-cush-a-clamp>: HTTP status code is not handled or not allowed 2026-01-28 16:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fireflex-silicone-coated-fiberglass-sleeve-250-dia-25-red>: HTTP status code is not handled or not allowed 2026-01-28 16:25:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-bar-24-l-x-2-w-x-1-16-thick-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/array-conference-table-with-power-data-grommet-120l-x-48w-x-29h-ash-grayblack>: HTTP status code is not handled or not allowed 2026-01-28 16:25:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16x36-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-polypropylene-epdm-or-tpe-heavy-rubber-insert-grommet-assembly>: HTTP status code is not handled or not allowed 2026-01-28 16:25:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-aluminum-tube-assembly-heavy-series-clamp>: HTTP status code is not handled or not allowed 2026-01-28 16:25:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-16flexo-pet-general-purpose-sleeving-dia-500-black>: HTTP status code is not handled or not allowed 2026-01-28 16:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp140vp-danger-sign-confined-space-authorized-personnel-only-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:25:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mdt185ptp-danger-tag-rp-plastic-25pack>: HTTP status code is not handled or not allowed 2026-01-28 16:25:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lx3-powderfree-textured-industrial-grade-latex-gloves-medium-100box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 16:25:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/f6-woven-split-wrappable-sleeve-1-2-dia-75-black>: HTTP status code is not handled or not allowed 2026-01-28 16:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4000-semi-outdoor-led-mass-notification-sign-full-color-24vdc-4120rgb>: HTTP status code is not handled or not allowed 2026-01-28 16:25:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clamp-on-crossover-2>: HTTP status code is not handled or not allowed 2026-01-28 16:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x24-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:25:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9000i-rgb-indoor-led-message-sign-full-color-9650rgb>: HTTP status code is not handled or not allowed 2026-01-28 16:25:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-socket-tee>: HTTP status code is not handled or not allowed 2026-01-28 16:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-8flexo-pet-general-purpose-sleeving-dia-500-black>: HTTP status code is not handled or not allowed 2026-01-28 16:25:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveplus-exam-grade-latex-gloves-extra-long-and-thick-xl-50box-10-boxcs>: HTTP status code is not handled or not allowed 2026-01-28 16:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-2-drive-6-point-26mm-deep>: HTTP status code is not handled or not allowed 2026-01-28 16:25:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/combination-socket-tee-and-crossover-1>: HTTP status code is not handled or not allowed 2026-01-28 16:25:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-socket-1-4-drive-12mm-deep>: HTTP status code is not handled or not allowed 2026-01-28 16:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wood-desk-with-bow-front-71-artisan-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:25:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-pvc-type-2-bar-48-l-x-4-w-x-3-4-thick-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/male-corner-swivel-socket-member-1>: HTTP status code is not handled or not allowed 2026-01-28 16:25:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcsp002vp-danger-sign-confined-space-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:25:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durawrap-1050-ballistic-nylon-wrap-w-velcro-closure-350-dia-150-black>: HTTP status code is not handled or not allowed 2026-01-28 16:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-4mp-h265-ip-turret-camera-with-ir--wdr-28mm-fixed-lens-white-housing>: HTTP status code is not handled or not allowed 2026-01-28 16:25:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-bar-12-l-x-1-1-2-w-x-3-32-thick-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:25:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precison-balance-3-kg-x-01-g>: HTTP status code is not handled or not allowed 2026-01-28 16:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/durawrap-1050-ballistic-nylon-wrap-w-velcro-closure-4-dia-150-black>: HTTP status code is not handled or not allowed 2026-01-28 16:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x4-1-2x18-1-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:25:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-lcd-crane-scale-with-remote-2000-lb-x-1-lb>: HTTP status code is not handled or not allowed 2026-01-28 16:25:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/analytical-balance-210-g-x-00001-g>: HTTP status code is not handled or not allowed 2026-01-28 16:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mcpg104vp-danger-sign-compressed-gas-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:25:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collar-30366178>: HTTP status code is not handled or not allowed 2026-01-28 16:25:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mchl206vs-danger-sign-propane-14w-x-10h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 16:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x8x24-1-mil-gusseted-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:25:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speco-2mp-hd-tvi-intensifier-turret-camera-36mm-fixed-lens-gray-housing>: HTTP status code is not handled or not allowed 2026-01-28 16:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-polycarbonate-rectangular-tube-12-l-x-3-4-w-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:25:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-ts-1040e-30-v3-10-entry-level-cabinet-table-saw-30-rip-2hp-1ph-220v>: HTTP status code is not handled or not allowed 2026-01-28 16:25:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spectrum-plastic-hygienic-squeegee-18-white>: HTTP status code is not handled or not allowed 2026-01-28 16:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x15-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:25:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-3-8-x-17-3-8-x-6-lewisbins-divider-box-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/z-line-boltless-shelving-w-steel-industrial-shelves-36-w-x-12-d-x-84-h-starter-5-shelves>: HTTP status code is not handled or not allowed 2026-01-28 16:25:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pm2000t-10-table-saw-with-armorglide--extension-table-30-rip-5hp-1ph-230v>: HTTP status code is not handled or not allowed 2026-01-28 16:25:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-3-8-x-17-3-8-x-8-lewisbins-divider-box-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:25:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/duraflex-woven-high-abrasion-sleeve-334-dia-25-black>: HTTP status code is not handled or not allowed 2026-01-28 16:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lewisbins-2-7-8-h-short-divider>: HTTP status code is not handled or not allowed 2026-01-28 16:25:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-sheet-6-l-x-6-w-x-1-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wet-floor-sign-english-spanish-25-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:25:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mgt206ptp-cylinder-empty-in-use-full-tag-pf-cardstock-25pack>: HTTP status code is not handled or not allowed 2026-01-28 16:25:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-swivel-flange-2>: HTTP status code is not handled or not allowed 2026-01-28 16:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mfsd931vp-emergency-sign-safety-shower-graphic-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:25:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-fabric-heat-shrink-118-diameter-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-28 16:25:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21-fabric-heat-shrink-158-diameter-dia-100-black>: HTTP status code is not handled or not allowed 2026-01-28 16:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-railing-support-1>: HTTP status code is not handled or not allowed 2026-01-28 16:25:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coxreels-tsh-n-450-hv-1-2inx50ft-300psi-supreme-duty-spring-retractable-low-pressure-safety-hose-reel>: HTTP status code is not handled or not allowed 2026-01-28 16:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cpvc-sheet-12-l-x-12-w-x-1-16-thick-gray-ps-cpvc-8>: HTTP status code is not handled or not allowed 2026-01-28 16:25:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gatorshield-tubing-bundle-35ft-12-gauge-1-1-4in>: HTTP status code is not handled or not allowed 2026-01-28 16:25:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-inch-premium-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-28 16:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x20-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:25:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mstf647vp-caution-sign-not-a-step-10w-x-7h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:25:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pallet-rack-upright-frame-36-x-144-30352003>: HTTP status code is not handled or not allowed 2026-01-28 16:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-2-panel-corner-room-divider-with-partial-window-48-x-72-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:25:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mvhr633vp-caution-sign-watch-for-forklift-traffic-14w-x-10h-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mvhr633va-caution-sign-watch-for-forklift-traffic-14w-x-10h-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 16:25:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x24-1-5-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:25:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-utility-tray-24-x-36-18-gallon-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hurricane-360-hoist-and-trolley-combo-standard-1-2-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:25:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-earth-peroxide-cleaner-fresh-mint-scent-2-l-bottle-4case>: HTTP status code is not handled or not allowed 2026-01-28 16:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-3-panel-corner-room-divider-with-partial-window-48-x-73-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:25:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-3-4-x-4-3-4-x-9-3-4-white-shopping-bag>: HTTP status code is not handled or not allowed 2026-01-28 16:25:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/32-oz-glass-jars-straight-side-clear-poly-vinyl-liner-case-of-12>: HTTP status code is not handled or not allowed 2026-01-28 16:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-nylon-6-6-bar-24-l-x-6-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:25:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mvhr846vs-notice-sign-keep-this-area-clear-10w-x-7h-adhesive-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 16:25:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/virgin-industrial-polystyrene-loose-fill-7-cubic-foot-bag-white>: HTTP status code is not handled or not allowed 2026-01-28 16:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/convoluted-foam-bed-pad-queen-size-56-x-78-x-2-blue-552-7948-0052>: HTTP status code is not handled or not allowed 2026-01-28 16:25:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x24-4-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/printed-carton-sealing-tape-stop-if-seal-is-broken-2-x-110-yds-whitered-36-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:25:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-b-straight-bore-burets-with-ptfe-stopcock-100ml>: HTTP status code is not handled or not allowed 2026-01-28 16:25:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pycnometer-10ml-no-mercury>: HTTP status code is not handled or not allowed 2026-01-28 16:25:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 125062 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250ml-lab-media-bottles-borosilicate-glass-safety-coated-gl-45-unlined-caps-case-of-12>: HTTP status code is not handled or not allowed 2026-01-28 16:25:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/omnimed-stainless-corner-narcotic-cabinet-single-door-4-adjustable-shelves24w-x-8d-x-24h>: HTTP status code is not handled or not allowed 2026-01-28 16:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oasis-pwebf-retrofit-electronic-bottle-filler-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:25:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oasis-pg8febfsl-bi-level-drinking-fountain-with-electronic-bottle-filler-filtered-greystone>: HTTP status code is not handled or not allowed 2026-01-28 16:25:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500-amp-12v-carbon-pile-battery-tester-1874>: HTTP status code is not handled or not allowed 2026-01-28 16:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5400142-round-file-14-second-cut>: HTTP status code is not handled or not allowed 2026-01-28 16:25:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-350i-w-series-14-i-bar-sealer-with-film-roller-round-wire>: HTTP status code is not handled or not allowed 2026-01-28 16:26:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x16-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5400123-round-file-12-smooth-cut>: HTTP status code is not handled or not allowed 2026-01-28 16:26:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x12-3-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/charger-analyzer-12-24v-70-35a200a-boost-wheels-ess6011>: HTTP status code is not handled or not allowed 2026-01-28 16:26:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-491-traditional-series-eyeface-wash>: HTTP status code is not handled or not allowed 2026-01-28 16:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-911-replacement-stay-open-ball-valve>: HTTP status code is not handled or not allowed 2026-01-28 16:26:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fghk-electricians-m42-bi-m-hole-saw-kit-metric-9pc-16mm-20mm-25mm-32mm-40mm-51mm>: HTTP status code is not handled or not allowed 2026-01-28 16:26:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1875r-series-29pc-hss-black-gold-bit-barrel-mechanics-length-drill-set-1-16-1-2x1-64>: HTTP status code is not handled or not allowed 2026-01-28 16:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/woven-hyacinth-storage-cube-basket-2-pack-light-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:26:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x60-2-mil-flat-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dax-fiber-resin-full-brim-red>: HTTP status code is not handled or not allowed 2026-01-28 16:26:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dimension-lid-towers-l2202>: HTTP status code is not handled or not allowed 2026-01-28 16:26:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-se-690-traditional-series-combination-emergency-station>: HTTP status code is not handled or not allowed 2026-01-28 16:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35255-pure-take-locking-stainless-steel-liquid-dispenser-tin-can-container-4-oz>: HTTP status code is not handled or not allowed 2026-01-28 16:26:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-connect-battery-clamp-connector-14-awg-21l-cable>: HTTP status code is not handled or not allowed 2026-01-28 16:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/all-welded-aluminum-6-lug-cart>: HTTP status code is not handled or not allowed 2026-01-28 16:26:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultraliner-ul5105>: HTTP status code is not handled or not allowed 2026-01-28 16:26:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/multi-person-shop-desk>: HTTP status code is not handled or not allowed 2026-01-28 16:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-26-1-drawer-mobile-cabinet-bench>: HTTP status code is not handled or not allowed 2026-01-28 16:26:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jlp-a-series-lever-hoist-w-shipyard-hooks-1-1-2-ton-15-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:26:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-lazer-palmswitch-72-alum-ext-alum-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 16:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cw-premium-portable-electric-pressure-washer-5000-psi-15-hp-4-gpm-3-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 16:26:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fritware-porous-polyethylene-sheet-18-x-18-medium-porosity-thick>: HTTP status code is not handled or not allowed 2026-01-28 16:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saf-t-grip-6-board-system-cbg1824kc>: HTTP status code is not handled or not allowed 2026-01-28 16:26:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-handle-w-ss-stud-m8-x-1-25-x-63mm-stud-65mm-l-x-45mm-h-die-cast-handle-mh-414ss>: HTTP status code is not handled or not allowed 2026-01-28 16:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-36-x-73-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:26:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cash-register-paper-rolls-3-x-165-50-rolls-carton>: HTTP status code is not handled or not allowed 2026-01-28 16:26:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-height-flat-panel-monitor-arm-with-vesa-mounting-plate-black>: HTTP status code is not handled or not allowed 2026-01-28 16:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-48-x-61-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:26:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hp-photo-paper-glossy-4-x-6-100-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s3648s-stainless-steel-wire-shelf-48w-x-36d>: HTTP status code is not handled or not allowed 2026-01-28 16:26:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chrome-wire-shelf-48-w-x-12-d>: HTTP status code is not handled or not allowed 2026-01-28 16:26:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/saf-t-scoop-guardian-system-for-bar-beverage-stations-si7500>: HTTP status code is not handled or not allowed 2026-01-28 16:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unbleached-butcher-paper-36w-x-1000l-kraft-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:26:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/the-dome-condiment-center-bd4004>: HTTP status code is not handled or not allowed 2026-01-28 16:26:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-entrance-mat-waffle-pattern-3-8-thick-4-x-12-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 16:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/original-shorty-saf-t-ice-tote-si6100>: HTTP status code is not handled or not allowed 2026-01-28 16:26:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portion-cup-ez-fit-c2010c>: HTTP status code is not handled or not allowed 2026-01-28 16:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-freestanding-2-panel-corner-room-divider-with-partial-window-60-x-73-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:26:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-x-5-x-48-square-mailing-tubes>: HTTP status code is not handled or not allowed 2026-01-28 16:26:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ez-fit-lid-dispenser-box-systems-l2923bk>: HTTP status code is not handled or not allowed 2026-01-28 16:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vci-gusseted-poly-bags-14l-x-10w-x-25h-4-mil-blue-250roll>: HTTP status code is not handled or not allowed 2026-01-28 16:26:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/frontline-countertop-box-system-p4800>: HTTP status code is not handled or not allowed 2026-01-28 16:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/guardair-74-rubber-tip-nozzle>: HTTP status code is not handled or not allowed 2026-01-28 16:26:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-24-l-x-2-1-2-w-x-1-2-thick-white-marine>: HTTP status code is not handled or not allowed 2026-01-28 16:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cohesive-singleface-corrugated-roll-30w-x-50l-kraft-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:26:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-zone-shadow-board-blue-white-68-x-30-acp-aluminum-composite-panel-sb129acp>: HTTP status code is not handled or not allowed 2026-01-28 16:26:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-zone-shadow-board-red-black-68-x-30-acp-aluminum-composite-panel-sb128acp>: HTTP status code is not handled or not allowed 2026-01-28 16:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acetal-plastic-spring-style-tubing-clamps-for-tubing-up-to-5-16-od-3pk>: HTTP status code is not handled or not allowed 2026-01-28 16:26:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-zone-shadow-board-combo-kit-blue-black-68-x-30-aluminum-sbk132al>: HTTP status code is not handled or not allowed 2026-01-28 16:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/perforated-air-foam-roll-48w-x-2000l-x-132-thick-white-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:26:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dry-zone-shadow-board-green-red-68-x-30-pro-series-acrylic-sb134fg>: HTTP status code is not handled or not allowed 2026-01-28 16:26:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-3-panel-corner-room-divider-with-partial-window-60-x-72-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rack-guard-with-inside-bumper>: HTTP status code is not handled or not allowed 2026-01-28 16:26:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-biohazardous-waste-can-14-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hackzall-m12-cordless-recip-saw>: HTTP status code is not handled or not allowed 2026-01-28 16:26:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rt-expandable-foam-bags-10-15w-x-18l-blue-180pack>: HTTP status code is not handled or not allowed 2026-01-28 16:26:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easyplate-100mm-petri-dish-rack-48-places-9-1-2-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-global-funnel-with-spout>: HTTP status code is not handled or not allowed 2026-01-28 16:26:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-global-funnel-with-hinged-cover-spout>: HTTP status code is not handled or not allowed 2026-01-28 16:26:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drain-fitting-elkay-lk86rt>: HTTP status code is not handled or not allowed 2026-01-28 16:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-115-true-rms-digital-multimeter-cat-iii-600-v-safety-rated>: HTTP status code is not handled or not allowed 2026-01-28 16:26:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-117-323-electricians-multimeter-clamp-meter-combo-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/calibrated-electronic-thermometer-with-ss-probe-50-300c-58-572f-160-x-21mm>: HTTP status code is not handled or not allowed 2026-01-28 16:26:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hon-10500-series-lateral-file-two-drawer-36w-x-20d-x-29-1-2h-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 16:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-ac120-alligator-clips-maximum-voltage-600vrms-cat-iii-per-iec-1010-2-031>: HTTP status code is not handled or not allowed 2026-01-28 16:26:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/0690-0800-specific-gravity-and-43-70-degree-baume-dual-scale-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 16:26:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/25-gallon-used-fluid-drain-3635>: HTTP status code is not handled or not allowed 2026-01-28 16:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reinforced-kraft-paper-50-lbs-36w-x-300l-1-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:26:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7500-7999-inventory-tag-3-part-carbonless>: HTTP status code is not handled or not allowed 2026-01-28 16:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fluke-c35-carrying-case-polyester-blk-yel>: HTTP status code is not handled or not allowed 2026-01-28 16:26:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shelf-kit-for-snap-grow-and-nature-greenhouses>: HTTP status code is not handled or not allowed 2026-01-28 16:26:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-1-1-4w-12l-endless-poly-roundsling-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cleanware-polyurethane-glassware-scrubbing-sponge-4-1-4-x-2-1-2-x-1-2pk>: HTTP status code is not handled or not allowed 2026-01-28 16:26:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-graphite-graphite-sheet-12-l-x-12-w-x-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:26:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-3-4-x-1-7-8-3-light-green-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-28 16:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crinkle-paper-10-lbs-ivory>: HTTP status code is not handled or not allowed 2026-01-28 16:26:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-1-4-x-2-1-8-4-white-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-28 16:26:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-dark-blue-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-28 16:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-60-l-x-5-16-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 16:26:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-yellow-shipping-tag>: HTTP status code is not handled or not allowed 2026-01-28 16:26:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/crinkle-paper-10-lbs-royal-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ski-doo-mula-s-368cc-snowmobile-battery-1998-2000-23-amps-12v-i-terminals>: HTTP status code is not handled or not allowed 2026-01-28 16:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-mounted-drum-carrier-rotator-800-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:26:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/husqvarna-fc-350cc-motorcycle-battery-2014-2017-3-5-amps-12v-b-terminals>: HTTP status code is not handled or not allowed 2026-01-28 16:26:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-14487gz-48w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:26:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-21545gz-54w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 16:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/roundup-2w-12l-endless-poly-roundsling-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:26:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bench-rack-12x36x21-with-27-red-drawers>: HTTP status code is not handled or not allowed 2026-01-28 16:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-1-1-2-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 16:26:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-yellow-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 16:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-orange-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 16:26:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 125161 pages (at 99 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:26:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-3w-20l-2-ply-eye-eye-poly-web-sling-flat-eyes>: HTTP status code is not handled or not allowed 2026-01-28 16:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-1w-6l-2-ply-eye-eye-poly-web-sling-twisted-eyes>: HTTP status code is not handled or not allowed 2026-01-28 16:26:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-3-4-x-2-3-8-5-pink-wired-tag>: HTTP status code is not handled or not allowed 2026-01-28 16:26:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-1-1-8-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 16:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-1-4-dia-white>: HTTP status code is not handled or not allowed 2026-01-28 16:26:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-12-l-x-2-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 16:26:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-enviro-safe-liquid-in-glass-pocket-thermometer-5-to-50c-closed-metal-case>: HTTP status code is not handled or not allowed 2026-01-28 16:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-48-x-30-adj-height-workbench-w-drawer-riser-black-birch-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 16:27:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-48-x-30-adj-height-workbench-w-drawer-riser-black-shop-top-square-edge-top>: HTTP status code is not handled or not allowed 2026-01-28 16:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-3-4-x-2-7-8-7-yellow-fluorescent-strung-tag>: HTTP status code is not handled or not allowed 2026-01-28 16:27:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-durac-calibrated-electronic-stainless-steel-stem-thermometer-50-300c-58-572f-197mm-probe>: HTTP status code is not handled or not allowed 2026-01-28 16:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48h-double-sided-floor-stand-with-128-drawer-interlocking-storage-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 16:27:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-edge-2w-14l-2-ply-endless-poly-flat-web-sling>: HTTP status code is not handled or not allowed 2026-01-28 16:27:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-add-on-21425gz-42w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 16:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-epoxy-wire-shelving-14548gz-54w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:27:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-rod-96-l-x-3-dia-black>: HTTP status code is not handled or not allowed 2026-01-28 16:27:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-24-l-x-4-w-x-1-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-28 16:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euro-drawer-11-1-8w-x-11-5-8d-x-4-5-8h-red>: HTTP status code is not handled or not allowed 2026-01-28 16:27:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-kit-for-drawer-racks>: HTTP status code is not handled or not allowed 2026-01-28 16:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/thermoplastic-32-gallon-perforated-receptacle-wrain-bonnet-lid-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:27:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-hdpe-bar-36-l-x-4-w-x-1-4-thick-black-marine>: HTTP status code is not handled or not allowed 2026-01-28 16:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mounted-pump-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:27:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-54-1-2-x-11-1-2-x-8-red>: HTTP status code is not handled or not allowed 2026-01-28 16:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-duty-laundry-hamper-with-platform>: HTTP status code is not handled or not allowed 2026-01-28 16:27:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-64-1-2-x-12-x-8-green>: HTTP status code is not handled or not allowed 2026-01-28 16:27:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-arm-adaptor-for-fixed-height-or-gas-spring-flat-panel-monitor-arms-black>: HTTP status code is not handled or not allowed 2026-01-28 16:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/euro-drawer-5-9-16w-x-11-5-8d-x-4-5-8h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:27:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-galvanized-steel-linen-cart-with-nylon-cover-4-shelves-36-l-x-24-w-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 16:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pump-skid-high-volume-light-viscosities>: HTTP status code is not handled or not allowed 2026-01-28 16:27:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individually-calibrated-39-51-degree-api-astm-5h-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 16:27:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-short-reach-foundry-hook-3000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-ss-door-18x18x36>: HTTP status code is not handled or not allowed 2026-01-28 16:27:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storage-container-with-lid-32-1-2-x-23-1-2-x-20-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:27:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-screw-clamp-compressor-for-tubing-up-to-1-4-od>: HTTP status code is not handled or not allowed 2026-01-28 16:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-1-5-8-channel-nut-p1010egs-electro-galvanized-1-2-13>: HTTP status code is not handled or not allowed 2026-01-28 16:27:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-x-5-1-2-clear-face-document-envelopes>: HTTP status code is not handled or not allowed 2026-01-28 16:27:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-stirring-bar-retriever-77-length-25-x-70mm>: HTTP status code is not handled or not allowed 2026-01-28 16:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3614132-spiral-point-tap-1-4-20-2-flute-h3>: HTTP status code is not handled or not allowed 2026-01-28 16:27:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-bistro-table-4-barstool-set-designer-white-table-top-with-black-stools>: HTTP status code is not handled or not allowed 2026-01-28 16:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-square-bistro-table-4-barstool-set-designer-white-table-top-with-navy-stools>: HTTP status code is not handled or not allowed 2026-01-28 16:27:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paint-marker-oil-based-medium-red-ink>: HTTP status code is not handled or not allowed 2026-01-28 16:27:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leather-lounge-guest-chair-black>: HTTP status code is not handled or not allowed 2026-01-28 16:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-12-l-x-1-1-2-w-x-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:27:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fabric-padded-folding-chair-star-trail-blue-pack-of-four>: HTTP status code is not handled or not allowed 2026-01-28 16:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/h-b-pvc-hydrometer-carrying-case-58mm-dia-x-381mm-length>: HTTP status code is not handled or not allowed 2026-01-28 16:27:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/13x15-2-mil-white-block-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:27:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stretch-wrap-18-x-47-x-1476-ft-aep-xh>: HTTP status code is not handled or not allowed 2026-01-28 16:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-24-l-x-2-w-x-1-thick-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 16:27:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pe-buchner-table-top-funnel-with-medium-porosity-removable-plate-1025-id-8-height>: HTTP status code is not handled or not allowed 2026-01-28 16:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-foam-viton-sheet-48-l-x-8-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:27:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-viton-sheet-56-l-x-8-w-x-3-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:27:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buyers-stainless-steel-underbody-box-w-t-handle-polished-gray-18x18x36>: HTTP status code is not handled or not allowed 2026-01-28 16:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-48w-x-18d-x-34h-2-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 16:27:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-30w-x-24d-x-34h-2-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 16:27:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/worktop-refrigerator-drawers-wtrd-29d-60w-wtrd60a-2>: HTTP status code is not handled or not allowed 2026-01-28 16:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-36-l-x-1-w-x-3-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 16:27:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/undercounter-refrigerator-drawers-ucrd-32d-67w-ucrd67a-2>: HTTP status code is not handled or not allowed 2026-01-28 16:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-2-with-brakes-black-ep-18-w-x-60-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 16:27:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paramount-janitorial-cabinet-easy-assembly-36x18x72-tan-269902tn>: HTTP status code is not handled or not allowed 2026-01-28 16:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-x-12-4-mil-reclosable-poly-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:27:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3x5-reclosable-static-shielding-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/din39st-steel-fixed-handle-wthreaded-stud-36mm-diameter-112mm-length-m16x20>: HTTP status code is not handled or not allowed 2026-01-28 16:27:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-solid-plastic-shelves-utility-cart-18-w-x-36-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 16:27:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-x-20-50-bundle-newsprint-sheets>: HTTP status code is not handled or not allowed 2026-01-28 16:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-wire-shelves-utility-cart-silver-ep-21-w-x-30-l-x-39-h>: HTTP status code is not handled or not allowed 2026-01-28 16:27:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-post-safety-barrier-10ft-caution-belt>: HTTP status code is not handled or not allowed 2026-01-28 16:27:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-12-l-x-12-w-x-3-8-thick-white-bulk-ps-ac-1257>: HTTP status code is not handled or not allowed 2026-01-28 16:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-72-4post-lan-rack>: HTTP status code is not handled or not allowed 2026-01-28 16:27:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-6-w-x-2-3-4-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 16:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/standard-wire-shelf-stem-caster-truck-2-with-brakes-black-ep-24-w-x-60-l-x-69-h>: HTTP status code is not handled or not allowed 2026-01-28 16:27:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-1u-hinged-wall-rack>: HTTP status code is not handled or not allowed 2026-01-28 16:27:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-wall-mount-wire-shelving-36w-x-24d-x-34h-2-shelf-starter-poly-green>: HTTP status code is not handled or not allowed 2026-01-28 16:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-x-30-heavy-tissue>: HTTP status code is not handled or not allowed 2026-01-28 16:27:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rods-and-clips-3-rods-12-clips-for-solid-shelving-units-52-l>: HTTP status code is not handled or not allowed 2026-01-28 16:27:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-1-6lb-paper-bag-75lb-kraft-brown-12-x-7-x-17-400-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-4u-vrack>: HTTP status code is not handled or not allowed 2026-01-28 16:27:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-first-aid-responder-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-4-w-x-5-8-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 16:27:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-24-14-drawers-maple>: HTTP status code is not handled or not allowed 2026-01-28 16:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kendall-howard-48-performance-work-bench-with-full-bottom-shelf-no-upper-shelving>: HTTP status code is not handled or not allowed 2026-01-28 16:27:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polyethylene-buchner-table-top-funnel-with-perforated-fixed-plate-1025-id-8-height>: HTTP status code is not handled or not allowed 2026-01-28 16:27:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-general-purpose-liquid-in-glass-thermometer-10-to-110c-total-immersion>: HTTP status code is not handled or not allowed 2026-01-28 16:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polypropylene-40ml-two-piece-buchner-funnels-6pk>: HTTP status code is not handled or not allowed 2026-01-28 16:27:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-aluminum-propel-dolly-non-tilt-1-roller-1500-cap-lbs>: HTTP status code is not handled or not allowed 2026-01-28 16:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavyduty-emergency-window-punch>: HTTP status code is not handled or not allowed 2026-01-28 16:27:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-pfa-safety-coated-liquid-in-glass-thermometer-10-to-205c-76mm-immersion>: HTTP status code is not handled or not allowed 2026-01-28 16:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-blue-48-1-4-x-72>: HTTP status code is not handled or not allowed 2026-01-28 16:27:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-5-w-x-1-1-2-thick-white>: HTTP status code is not handled or not allowed 2026-01-28 16:27:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/office-partition-blue-60-1-4-x-72>: HTTP status code is not handled or not allowed 2026-01-28 16:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-bloodborne-pathogen-cleanup-kit-polybag>: HTTP status code is not handled or not allowed 2026-01-28 16:27:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-72w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-bar-36-l-x-1-1-2-w-x-1-1-2-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:27:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-way-connector-kit-60-h-panel-1>: HTTP status code is not handled or not allowed 2026-01-28 16:27:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-protective-product-sj5003-hemisphere-0-440-w-x-0-200-l-gray-pkg-of-3000>: HTTP status code is not handled or not allowed 2026-01-28 16:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-9-21-degree-api-combined-form-thermo-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 16:27:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dupli-color-engine-enamel-with-ceramic-plum-purple-12-oz-aerosol>: HTTP status code is not handled or not allowed 2026-01-28 16:27:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-0700-0770-specific-gravity-hydrometer>: HTTP status code is not handled or not allowed 2026-01-28 16:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-48-l-x-1-w-x-5-8-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:27:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-24w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:27:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-sheet-12-l-x-12-w-x-1-thick-white-bulk-ps-ac-1409>: HTTP status code is not handled or not allowed 2026-01-28 16:27:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 125261 pages (at 100 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smoking-shelter-vented-poly-hip-roof-three-sided-with-open-front-7-6-x-2-8>: HTTP status code is not handled or not allowed 2026-01-28 16:27:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/30-swivel-bar-stool-with-back-chrome-frame-and-black-seat>: HTTP status code is not handled or not allowed 2026-01-28 16:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bumpon-resiliant-rollstock-sj5816-4-1-2-x-36-yds-black-1-16-thick-70006459781>: HTTP status code is not handled or not allowed 2026-01-28 16:27:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-60es-spherical-plain-bearing-metric>: HTTP status code is not handled or not allowed 2026-01-28 16:27:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/102390-btu-electric-heater-480v>: HTTP status code is not handled or not allowed 2026-01-28 16:27:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacked-chair-dolly>: HTTP status code is not handled or not allowed 2026-01-28 16:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riteflow-aluminum-mounted-flowmeter-150mm-scale-size-2>: HTTP status code is not handled or not allowed 2026-01-28 16:28:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-medium-duty-landscape-rake-tractor-attachment-category-1>: HTTP status code is not handled or not allowed 2026-01-28 16:28:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-42w-x-18d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-54w-x-21d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-lamp-4-8kw-480v-60-symmetrical-infrared-heater-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-5-tier-30w-x-18d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-electric-baseboard-convection-heater-24-l-240-208v>: HTTP status code is not handled or not allowed 2026-01-28 16:28:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-70es-2rs-spherical-plain-bearing-metric-sealed>: HTTP status code is not handled or not allowed 2026-01-28 16:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ge-260es-spherical-plain-bearing-metric>: HTTP status code is not handled or not allowed 2026-01-28 16:28:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-electric-baseboard-convection-heater-72-l-277v>: HTTP status code is not handled or not allowed 2026-01-28 16:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/commercial-fan-forced-wall-heater-with-tamperproof-thermostat-4000w-208v>: HTTP status code is not handled or not allowed 2026-01-28 16:28:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gez-100es-spherical-plain-bearing-inch>: HTTP status code is not handled or not allowed 2026-01-28 16:28:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-72w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4800-watt-commerical-ceiling-heater-14-3-16-l-208v>: HTTP status code is not handled or not allowed 2026-01-28 16:28:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-acetal-bar-48-l-x-1-2-w-x-1-2-thick-off-white-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 16:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-acetal-bar-48-l-x-2-w-x-1-4-thick-off-white-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 16:28:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-54w-x-24d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-end-table-with-wood-slat-pattern-white>: HTTP status code is not handled or not allowed 2026-01-28 16:28:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heritage-display-case-danish-walnut-white-back-36w-14d-40h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/recycled-stor-file-legal-box-15-1-4w-x-24-1-8d-x-10-3-4h-kraft-green>: HTTP status code is not handled or not allowed 2026-01-28 16:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liberty-check-and-form-boxes-9-1-4w-x-15d-x-4-1-4h-white-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:28:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-bar-12-l-x-1-w-x-1-4-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 16:28:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/liberty-binder-pak-binder-letter-box-9-3-4w-x-11-7-8d-x-4-3-4h-white-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geh-40es-2rs-spherical-plain-bearing-metric-heavy-series-sealed>: HTTP status code is not handled or not allowed 2026-01-28 16:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-base-letter-box-13-7-8w-x-25-3-8d-x-2-1-2h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:28:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-abs-sheet-24-l-x-24-w-x-1-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:28:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/geg-80es-spherical-plain-bearing-metric-extended-inner-ring>: HTTP status code is not handled or not allowed 2026-01-28 16:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-acrylic-large-storage-bin-5-x-6-x-14>: HTTP status code is not handled or not allowed 2026-01-28 16:28:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-24w-x-14d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/concentrate-indoor-outdoor-insect-control-32-oz-btl-12-btl-case-75366>: HTTP status code is not handled or not allowed 2026-01-28 16:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-24w-x-24d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/umbrella-base-concrete-84-lbs-charcoal>: HTTP status code is not handled or not allowed 2026-01-28 16:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-cup-coffee-filters-250-count>: HTTP status code is not handled or not allowed 2026-01-28 16:28:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50-cup-ss-coffee-percolator-ssu50>: HTTP status code is not handled or not allowed 2026-01-28 16:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/space-wall-system-wire-grid-panel-gray-epoxy-18w-x-48l>: HTTP status code is not handled or not allowed 2026-01-28 16:28:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-iron-series-pl-45-pump-1-6-hp-115v-1-60>: HTTP status code is not handled or not allowed 2026-01-28 16:28:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/type-1000-small-outdoor-waterproof-case-w-sponge-insert-foam-10-3-4-l-x-8-1-2-w-x-4h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-24-l-x-2-1-2-w-x-3-4-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:28:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-1a-steam-radiator-vent>: HTTP status code is not handled or not allowed 2026-01-28 16:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-orbiter-12-inch-drive-pad-holder-black>: HTTP status code is not handled or not allowed 2026-01-28 16:28:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oreck-pro12-series-disposable-bags>: HTTP status code is not handled or not allowed 2026-01-28 16:28:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-60w-x-14d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/removable-steel-rack-guard-9-h-x-36-l>: HTTP status code is not handled or not allowed 2026-01-28 16:28:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/removable-steel-rack-guard-9-h-x-48-l>: HTTP status code is not handled or not allowed 2026-01-28 16:28:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-polygon-magnetic-stirring-bar-60-x-7mm-white-without-pivot-ring>: HTTP status code is not handled or not allowed 2026-01-28 16:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9530-26-inch-axial-ac-standard-metal-blower>: HTTP status code is not handled or not allowed 2026-01-28 16:28:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/overhead-crane-hoist-pallet-li-er-adjustable-forks-4000-lb-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:28:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9525-50ex-20-inch-axial-explosion-proof-ex-high-output-metal-blower>: HTTP status code is not handled or not allowed 2026-01-28 16:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9518-20-20-inch-jet-fan>: HTTP status code is not handled or not allowed 2026-01-28 16:28:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-16-w-x-3-16-thick-black-ultra-strength-60a>: HTTP status code is not handled or not allowed 2026-01-28 16:28:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-add-on-unit-42w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-deep-box-box-file-mobile-pedestal-white>: HTTP status code is not handled or not allowed 2026-01-28 16:28:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-30w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-54w-x-18d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9507-centrifugal-2-speed-blower>: HTTP status code is not handled or not allowed 2026-01-28 16:28:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cejn-series-208-star-tip-13-tube>: HTTP status code is not handled or not allowed 2026-01-28 16:28:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/led-round-clear-spot-light-12-24vdc-6-leds-1493215>: HTTP status code is not handled or not allowed 2026-01-28 16:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cejn-spiral-nonbraided-pur-hose-14-x-13>: HTTP status code is not handled or not allowed 2026-01-28 16:28:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-600-l-x-12-w-x-1-16-thick-black-fabric-reinforced-70a-bulk-rs-nnfr70-1>: HTTP status code is not handled or not allowed 2026-01-28 16:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-54w-x-24d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hytrol-stationary-floor-support-42w-max-leg-25-5-8h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-shaped-leg-for-grid-panel-semi-gloss-black>: HTTP status code is not handled or not allowed 2026-01-28 16:28:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/campbell-hausfeld-vt6395-3-7-hp-single-stage-compressor-60-gal-vert-135-psi-10-2-cfm-1-phase-230v>: HTTP status code is not handled or not allowed 2026-01-28 16:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delrin-acetal-bar-36-l-x-2-1-2-w-x-1-thick-black>: HTTP status code is not handled or not allowed 2026-01-28 16:28:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinbar-teflon-polygon-magnetic-stirring-bar-50-x-8mm-white-without-pivot-ring>: HTTP status code is not handled or not allowed 2026-01-28 16:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-5-tier-72w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-stainless-steel-wire-shelving-starter-42w-x-18d-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-12-w-x-1-8-thick-black-ultra-strength-50a>: HTTP status code is not handled or not allowed 2026-01-28 16:28:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hallowell-16-gauge-heavy-duty-classic-duratough-storage-cabinet-36w-x-21d-x-42h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-lab-drawer-compartment-tray-for-scintillation-vials-63-wells-14-x-17-1-2-x-2-1-4>: HTTP status code is not handled or not allowed 2026-01-28 16:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-tap-in-style-shelf-bracket-satin-chrome>: HTTP status code is not handled or not allowed 2026-01-28 16:28:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spinring-teflon-magnetic-stirring-bar-508-x-8mm-572mm-ring-od-white>: HTTP status code is not handled or not allowed 2026-01-28 16:28:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grit-surface-aluminum-stair-tread-9-d-36-w-glued-down-yellowblack>: HTTP status code is not handled or not allowed 2026-01-28 16:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-steering-wheel-cover-15-inch-diameter-7345>: HTTP status code is not handled or not allowed 2026-01-28 16:28:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempered-glass-for-cubbies-14-x-14>: HTTP status code is not handled or not allowed 2026-01-28 16:28:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-12w-x-12d-x-36h-unassembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 16:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-21485b-48w-x-21d-x-54h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tempered-14-quarter-round-glass-for-cubbies>: HTTP status code is not handled or not allowed 2026-01-28 16:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-starter-1-wide-12w-x-15d-x-24h-unassembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 16:28:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-ptfe-rod-36-l-x-1-1-8-dia-off-white-glass-filled>: HTTP status code is not handled or not allowed 2026-01-28 16:28:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lkwobg3017rss-bottom-grid-ss-15116lx27916w>: HTTP status code is not handled or not allowed 2026-01-28 16:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-cast-acrylic-sheet-48-l-x-24-w-x-1-4-thick-clear-antistatic>: HTTP status code is not handled or not allowed 2026-01-28 16:28:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-60-4-gauge-vinyl-w-center-zipper-and-side-gusset-crystal-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:28:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cd-dvd-storage-drawer-stores-up-to-150-cds-dvds-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quality-parktm-antistatic-fiberboard-disk-mailers-6x8-5-8-white-25-box>: HTTP status code is not handled or not allowed 2026-01-28 16:28:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-flat-bottom-sampling-scoop-white-500ml-17oz-individually-wrapped-40pk>: HTTP status code is not handled or not allowed 2026-01-28 16:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/140044-rope-pull-switch-we-stops-8l-x-6w-x-4h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-starter-1-wide-15w-x-15d-x-36h-unassembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 16:28:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24w-x-12d-x-4h-shallow-basket-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 16:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-dove-smooth-3-8-nap-woven-covers-9>: HTTP status code is not handled or not allowed 2026-01-28 16:28:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 125357 pages (at 96 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:28:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-14427b-42w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-240-l-x-36-w-x-3-8-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-28 16:28:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-720-l-x-36-w-x-1-8-thick-red-food-70a>: HTTP status code is not handled or not allowed 2026-01-28 16:28:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelving-add-on-21306b-30w-x-21d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24w-x-12d-straight-shelf-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 16:28:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-double-rod-90-degree-bend-1-4-dia-vinyl-dipped-ss-pegboard-hook-for-ss-locboard-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-12w-x-15d-x-36h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 16:28:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-sampling-scoop-125ml-4oz-sterile-plastic-individually-wrapped-50pk>: HTTP status code is not handled or not allowed 2026-01-28 16:29:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8010dspc-ultra-quiet-oil-free-1-0-hp-8-0-gal-air-compressor>: HTTP status code is not handled or not allowed 2026-01-28 16:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-60-l-x-36-w-x-1-8-thick-black-high-strength-90a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 16:29:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-faceout-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 16:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-powder-lance-samplers-75ml-25oz-individually-wrapped-20pk>: HTTP status code is not handled or not allowed 2026-01-28 16:29:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-gallon-pressure-pot-w-hvlp-spray-gun-hose>: HTTP status code is not handled or not allowed 2026-01-28 16:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/diamond-plate-ergonomic-vinyl-mat-15-16-thick-48-x72-black-yellow-border>: HTTP status code is not handled or not allowed 2026-01-28 16:29:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pp4-0-powerpack-ultra-series-portable-power-system-with-40-ah-battery>: HTTP status code is not handled or not allowed 2026-01-28 16:29:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-adder-1-wide-12w-x-18d-x-36h-unassembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 16:29:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-esd-safety-edge-mobile-production-bench-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:29:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-w-push-trolley-1-8-ton-15-lift-56-9-3-ft-min-115v>: HTTP status code is not handled or not allowed 2026-01-28 16:29:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp-sterileware-double-bagged-long-handle-sampling-spoons-493ml-1tsp>: HTTP status code is not handled or not allowed 2026-01-28 16:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/us-5025w-universal-tablet-viewsation-white>: HTTP status code is not handled or not allowed 2026-01-28 16:29:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-three-tier-locker-2-wide-12w-x-15d-x-24h-assembled-blue-frost>: HTTP status code is not handled or not allowed 2026-01-28 16:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-roll-360-l-x-36-w-x-3-8-thick-white-food-40a>: HTTP status code is not handled or not allowed 2026-01-28 16:29:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-dual-access-fiberglass-step-ladder-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:29:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-dual-access-fiberglass-step-ladder-300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stackable-petri-dish-incubation-tray-plastic-9-7-8-x-9-5-16-x-1-3-8-3pk>: HTTP status code is not handled or not allowed 2026-01-28 16:29:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-240-l-x-36-w-x-1-4-thick-black-high-strength-90a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 16:29:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/VTT-1830-30-W-x-18-D-T-430-18ga-Stainless-Steel-Workbench-w-Galvanized-Legs>: HTTP status code is not handled or not allowed 2026-01-28 16:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-tray-for-pirack-pipettor-holder-system>: HTTP status code is not handled or not allowed 2026-01-28 16:29:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-neoprene-roll-60-l-x-36-w-x-1-32-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 16:29:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/SVT-1860-60-W-x-18-D-18-ga-T-430-Stainless-Steel-Workbench>: HTTP status code is not handled or not allowed 2026-01-28 16:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2w-x-5h-grid-panel-semi-gloss-white>: HTTP status code is not handled or not allowed 2026-01-28 16:29:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/seq-dual-speed-electric-chain-hoist-w-push-trolley-1-4-ton-20-lift-33-5-5-ft-min-115v>: HTTP status code is not handled or not allowed 2026-01-28 16:29:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vikem-vinyl-microscope-cover-13-x-9-x-16-1-2>: HTTP status code is not handled or not allowed 2026-01-28 16:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-metal-wrist-strap-91070-with-6-ft-coil-cord-black>: HTTP status code is not handled or not allowed 2026-01-28 16:29:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-double-sided-starter-unit-2>: HTTP status code is not handled or not allowed 2026-01-28 16:29:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-1-wide-12w-x-12d-x-36h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-silicone-sheet-36-l-x-36-w-x-1-4-thick-red-food-70a-high-temp-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 16:29:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterbase-street-utility-marking-paint-20-oz-clear-20-631-12-case>: HTTP status code is not handled or not allowed 2026-01-28 16:29:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/trustat-174-coil-cord-10-ft-04538-thermoplastic-elastomer-black>: HTTP status code is not handled or not allowed 2026-01-28 16:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precision-thumb-screw-w-shoulder-8-32-5-16-thread-1-2-head-dia-stainless-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 16:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-1-4-thick-black-high-strength-90a-bulk-rs-h90-29>: HTTP status code is not handled or not allowed 2026-01-28 16:29:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-t2-plus-8482-66466-dissipative-rubber-tray-liner-16-d-x-24-w-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:29:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-1440-l-x-36-w-x-1-4-thick-black-high-strength-90a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 16:29:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterbase-street-utility-marking-paint-20-oz-green-fluorescent-20-668-12-case>: HTTP status code is not handled or not allowed 2026-01-28 16:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/boiler-drain-less-stuffing-box-1-2-mip-x-3-4-mht>: HTTP status code is not handled or not allowed 2026-01-28 16:29:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knurled-thumb-screw-w-shoulder-5-16-18-1-1-4-thread-1-1-4-head-dia-3-4-head-h>: HTTP status code is not handled or not allowed 2026-01-28 16:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hose-bibb-3-4-mip-x-3-4-mht>: HTTP status code is not handled or not allowed 2026-01-28 16:29:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sealed-motor-axial-air-mover-blower-fan-w-power-outlets-1-4-hp-2100-cfm-var-speed-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-4320-l-x-36-w-x-3-16-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 16:29:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-4320-l-x-36-w-x-3-16-thick-black-high-strength-80a-acrylic-adhesive>: HTTP status code is not handled or not allowed 2026-01-28 16:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-8640-l-x-36-w-x-1-8-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 16:29:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-windlass-pusher-tensioner-for-1-2to-3-4w-polyester-strap>: HTTP status code is not handled or not allowed 2026-01-28 16:29:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/statfree-t2-plus-8482-66445-dissipative-dual-layer-rubber-cut-mat-24-d-x-36-w-dark-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-four-tier-locker-3-wide-12w-x-15d-x-18h-assembled-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:29:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/traditional-double-tier-locker-3-wide-12w-x-15d-x-36h-assembled-almond>: HTTP status code is not handled or not allowed 2026-01-28 16:29:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-12-l-x-12-w-x-1-16-thick-black-high-strength-90a-acrylic-adhesive-bulk-rs-h90-45>: HTTP status code is not handled or not allowed 2026-01-28 16:29:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knurled-thumb-screw-w-shoulder-1-4-20-5-16-thread-1-head-dia-5-8-head-h>: HTTP status code is not handled or not allowed 2026-01-28 16:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paper-dispenser-with-crumpler-device>: HTTP status code is not handled or not allowed 2026-01-28 16:29:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-x-72-shower-curtain-vinyl-9533-427200>: HTTP status code is not handled or not allowed 2026-01-28 16:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/additional-level-96x48-wood-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:29:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/narrow-head-thumb-screw-8-32-1-1-4-thread-3-16-head-dia-3-8-head-h-ss-pkg-of-5>: HTTP status code is not handled or not allowed 2026-01-28 16:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-head-thumb-screw-m4-x-0-7-8mm-thread-16mm-head-dia-3-5mm-head-h-steel-pkg-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:29:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-deluxe-hook-satin-chrome>: HTTP status code is not handled or not allowed 2026-01-28 16:29:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-roll-720-l-x-36-w-x-3-16-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 16:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-94dfc-n5-double-flash-xenon-strobe-clear-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 16:29:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-way-slatwall-merchandiser-white>: HTTP status code is not handled or not allowed 2026-01-28 16:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-x-40-3-gauge-vinyl-taffeta-w-window-zipper-silver-w-silver-trim>: HTTP status code is not handled or not allowed 2026-01-28 16:29:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-1-drum-spill-containment-platform>: HTTP status code is not handled or not allowed 2026-01-28 16:29:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cm-1615-13-squared-revolving-cup-and-lid-dispenser-8-1-4-inch-w-x-8-1-4-inch-d-x-18-1-4-inch-h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-sheet-36-l-x-36-w-x-3-8-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 16:29:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plus-blank-black-polyester-banner>: HTTP status code is not handled or not allowed 2026-01-28 16:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-174-under-counter-ice-machine-air-cooled-280-lb-production-24-hrs>: HTTP status code is not handled or not allowed 2026-01-28 16:29:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mount-anywhere-basket-18-12-8-w>: HTTP status code is not handled or not allowed 2026-01-28 16:29:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-105xbrirga24d-chameleon-multi-status-indicator-red-green-and-amber-24v-dc>: HTTP status code is not handled or not allowed 2026-01-28 16:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4l-x-1-2-x-1-1-2-rectangular-tubing-matte-black>: HTTP status code is not handled or not allowed 2026-01-28 16:29:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4404t-75-hp-1185-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/55201-end-cap-elite-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 16:29:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-j20-88-7425j-153-polypropylene-label-0-75-h-x-1-w-2000-roll-w-2nd-label>: HTTP status code is not handled or not allowed 2026-01-28 16:29:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/06586-wrench-716-x-1116-1-pkg-qty>: HTTP status code is not handled or not allowed 2026-01-28 16:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/usa-buna-n-strip-120-l-x-1-2-w-x-3-32-thick-black-high-strength-80a>: HTTP status code is not handled or not allowed 2026-01-28 16:29:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/datavac-1-7-hp-esd-antistatic-computer-vacuum-blower>: HTTP status code is not handled or not allowed 2026-01-28 16:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-105xbrmb120a-dual-mode-led-signal-blue-120v-ac>: HTTP status code is not handled or not allowed 2026-01-28 16:29:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4314t-5-60-hp-1780-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:29:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-chm545a-1-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cl3403-25-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:29:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-nyl-prp-38st-ka6pk-safekey-lockout-padlock-nylon-1-5-steel-shackle-keyed-alike>: HTTP status code is not handled or not allowed 2026-01-28 16:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-unslotted-beam-120-l-4557-lbs-cap>: HTTP status code is not handled or not allowed 2026-01-28 16:29:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-149440-danger-respirable-crystalline-silica-sign-7-h-x-10-w-polystyrene>: HTTP status code is not handled or not allowed 2026-01-28 16:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrma120ab-125xbr-xtra-brite-led-multi-mode-amber-120-vac>: HTTP status code is not handled or not allowed 2026-01-28 16:29:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/paintable-mold-release-1-2>: HTTP status code is not handled or not allowed 2026-01-28 16:29:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ceiling-duct-kit-12-in-dia-x-8-ft-l-for-portable-acs-292660-292661-292662>: HTTP status code is not handled or not allowed 2026-01-28 16:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-test-caps-2>: HTTP status code is not handled or not allowed 2026-01-28 16:29:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/draft-inducer-blower-3300-rpm-115v-oao-1-05-fl-amps>: HTTP status code is not handled or not allowed 2026-01-28 16:29:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acid-brushes-5>: HTTP status code is not handled or not allowed 2026-01-28 16:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-oscillating-floor-fan>: HTTP status code is not handled or not allowed 2026-01-28 16:29:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/174-j20-255-2551-153-polyester-tag-5-75-h-x-3-25-w-100-roll-white>: HTTP status code is not handled or not allowed 2026-01-28 16:29:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-125xbrzw24db-125xbr-xtra-brite-led-random-flash-pattern-white-24-vdc>: HTTP status code is not handled or not allowed 2026-01-28 16:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24-capacity-tablet-charging-cart-black-lltp24-b>: HTTP status code is not handled or not allowed 2026-01-28 16:29:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp2394t-4-15-hp-3525-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:29:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 125456 pages (at 99 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp2395t-4-15-hp-880-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:29:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-top-receptacle-stainless-steel-30-gal-20-dia-x-35-5-h>: HTTP status code is not handled or not allowed 2026-01-28 16:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4115t-4-50-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:29:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4115t-5-50-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mighty-products-mn-ms90-b0812-90-shade-cloth-shade-tarp-8-x-12>: HTTP status code is not handled or not allowed 2026-01-28 16:29:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270fw24240a-incandescentled-bulb-module-white-24-240v-ac>: HTTP status code is not handled or not allowed 2026-01-28 16:29:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp2276t-5-7-5-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-8-bu-maroon-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 16:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banner-read-the-warning-3-x-10>: HTTP status code is not handled or not allowed 2026-01-28 16:30:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-straight-jaw-dual-material-tongue-groove-pliers>: HTTP status code is not handled or not allowed 2026-01-28 16:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-red-scrub-hand-cleaner-cherry-scent-2l-refill-4-case>: HTTP status code is not handled or not allowed 2026-01-28 16:30:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pvc-hinged-top-basket-truck-14-bu-white-vinyl-wood-base-all-swivel>: HTTP status code is not handled or not allowed 2026-01-28 16:30:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp2332t-4-10-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/banner-teamwork-improves-safety-3-x-5>: HTTP status code is not handled or not allowed 2026-01-28 16:30:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp3667t-1-5-hp-1170-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easel-on-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:30:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ac-fan-kit-computer-security-cabinet-audio-visual-cart-2>: HTTP status code is not handled or not allowed 2026-01-28 16:30:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-crowd-control-76-magnetic-wall-mount-with-black-belt>: HTTP status code is not handled or not allowed 2026-01-28 16:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-aluminum-slim-jaw-pipe-wrench>: HTTP status code is not handled or not allowed 2026-01-28 16:30:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adhesive-transfer-tape-465-1-x-60-yds-2-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:30:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-outdoor-steel-bench-with-backrest-perforated-metal-green>: HTTP status code is not handled or not allowed 2026-01-28 16:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp2333t-4-15-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/edwards-signaling-270ledw12v-led-bulb-white-12v>: HTTP status code is not handled or not allowed 2026-01-28 16:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-48-inch-d-x-84-inch-h-3-levels-add-on-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 16:30:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-three-phase-tenv-motor-1-2-hp-1725-rpm-200-230-460v-tenv>: HTTP status code is not handled or not allowed 2026-01-28 16:30:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filament-tape-8919msr-96mm-x-55m-7-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ecp4102t-4-20-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adhesive-transfer-tape-969-3-4-x-36-yds-5-mil-clear>: HTTP status code is not handled or not allowed 2026-01-28 16:30:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/carry-handle-tape-8330-1-3-8-x-23-4-mil-white>: HTTP status code is not handled or not allowed 2026-01-28 16:30:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cewdm23934t-20-hp-1765-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/belt-drive-motor-1-2-hp-1725-rpm-115v-oao>: HTTP status code is not handled or not allowed 2026-01-28 16:30:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cfdl3510m-1-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cfdl3514m-1-5-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dc-power-hydraulic-scissor-cart-single-2>: HTTP status code is not handled or not allowed 2026-01-28 16:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastek-conductive-fluted-sheet-3mm-x-96-x-48-black>: HTTP status code is not handled or not allowed 2026-01-28 16:30:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-36-inch-w-x-30-inch-d-x-84-inch-h-5-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:30:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-afl3520a-75-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-afl3524a-3airover-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-aom3714t-10airover-hp-1770-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-48-inch-w-x-12-inch-d-x-84-inch-h-5-levels-starter-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/condenser-fans-motor-1-3-hp-825-rpm-460v-teao-48-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:30:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/safety-view-plus-locker-w-digitech-locks-12x12x12-six-tier-1-wide-parchment-assembled>: HTTP status code is not handled or not allowed 2026-01-28 16:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-checklist-for-electric-narrow-aisle-forklift-checklist-caddy-986895>: HTTP status code is not handled or not allowed 2026-01-28 16:30:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s90-series-manual-chain-hoist-1-1-2-ton-10-ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-96wx30dx120h-5-levels-starter-no-decking-620-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:30:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extruded-bumper-4-25-w-x-24-l-x-4-h>: HTTP status code is not handled or not allowed 2026-01-28 16:30:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storm-sentinel-catch-basin-insert-large-rectangular>: HTTP status code is not handled or not allowed 2026-01-28 16:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-drum-dumper-portable-1>: HTTP status code is not handled or not allowed 2026-01-28 16:30:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-premium-photo-paper-17in-x-22in-white-25-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:30:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-drum-dumper-portable-8>: HTTP status code is not handled or not allowed 2026-01-28 16:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-cabinet-30-w-x-24-d-x-75-h-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:30:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-bm3538-5-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-chc144a-25-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-index-white-card-stock-11in-x-17in-90-lb-white-250-sheets-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:30:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cdp3430-v24-0-50-hp-1800-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cdpt3316-0-33-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peakworks-srl506026le-selfretracting-lifeline-6l-dyneema-webbing-twin-leg-steel-rebar>: HTTP status code is not handled or not allowed 2026-01-28 16:30:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-poly-trim-2-brush>: HTTP status code is not handled or not allowed 2026-01-28 16:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl-rivet-boltless-shelving-72wx48dx84h-4-levels-add-on-no-decking-1850-lbs-shelf-cap-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:30:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-5mm-tube-x-1-8-bspp-4-5-l>: HTTP status code is not handled or not allowed 2026-01-28 16:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s26400-premium-series-auto-darkening-welding-helmet>: HTTP status code is not handled or not allowed 2026-01-28 16:30:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-rivet-boltless-shelving-48-inch-w-x-12-inch-d-x-84-inch-h-7-levels-add-on-w-o-decking-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-foam-brush>: HTTP status code is not handled or not allowed 2026-01-28 16:30:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s28311-280-series-passive-welding-helmet-lift-front-silver>: HTTP status code is not handled or not allowed 2026-01-28 16:30:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-configured-6x6-partitioned-office-60-h-starter-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cd6203-3-00-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s80201-odyssey-ii-chemical-splash-goggle-adjustable-neoprene-strap>: HTTP status code is not handled or not allowed 2026-01-28 16:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pre-configured-10x10-partitioned-office-60-h-starter-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:30:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-shift-industrial-cabinet-60-w-x-24-d-x-75-h-red>: HTTP status code is not handled or not allowed 2026-01-28 16:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s32188-dp4-replacement-shade-8-uvir-flip-shield>: HTTP status code is not handled or not allowed 2026-01-28 16:30:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/farm-duty-single-phase-motor-1-1-2-hp-1725-rpm-230-115v-tefc-m56-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/explosion-proof-motor-1-hp-1725-rpm-230-460v-epfc-56c-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:30:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-tier-starter-unit-24-w-x-24-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 16:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/men-deluxe-western-style-shirt-reg-l-sc14-sc14lbrgl>: HTTP status code is not handled or not allowed 2026-01-28 16:30:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-72-inch-w-x-36-inch-d-x-84-inch-h-3-levels-starter-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 16:30:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-keyless-entry-lock-36-w-x-24-d-x-75-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/toolbox-z400-blue-shop-towels-200-sheets-box-6-boxes-case-55202>: HTTP status code is not handled or not allowed 2026-01-28 16:30:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-tier-starter-unit-60-w-x-18-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 16:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-cesswdm3711t-10-hp-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/industrial-uniform-cabinet-with-4-shelves-48-w-x-24-d-x-75-h-white>: HTTP status code is not handled or not allowed 2026-01-28 16:30:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ceswdm3546-1-hp-1745-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4-tier-add-on-unit-36-w-x-21-d-x-63-h>: HTTP status code is not handled or not allowed 2026-01-28 16:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mastercool-69300-twin-turbo-refrigerant-recovery-machine-115v-60hz>: HTTP status code is not handled or not allowed 2026-01-28 16:30:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-3-8-tube-x-1-4-swift-fit-universal-thread-2-l>: HTTP status code is not handled or not allowed 2026-01-28 16:30:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-left-hand-return-table-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:30:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cabinet-with-keyless-entry-lock-36-w-x-24-d-x-75-h-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/reliant-counter-case-white-back-dark-bronze-frame-walnut-vinyl-base-36l-x-40h-x-14d>: HTTP status code is not handled or not allowed 2026-01-28 16:30:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-12mm-tube-1-1-5-l>: HTTP status code is not handled or not allowed 2026-01-28 16:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-60-inch-w-x-18-inch-d-x-84-inch-h-3-levels-starter-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 16:30:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/column-protector-12-column-opening-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:30:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-5-tier-add-on-unit-24-w-x-21-d-x-74-h>: HTTP status code is not handled or not allowed 2026-01-28 16:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-rivet-steel-extra-level-with-wood-deck-60-w-x-18-d-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:30:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-elbow-1-4-tube-x-1-8-swift-fit-universal-thread-5-6-l>: HTTP status code is not handled or not allowed 2026-01-28 16:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-letters-435-pieces>: HTTP status code is not handled or not allowed 2026-01-28 16:30:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apex-sh-digital-clinical-scale-with-sonar-height-rod-600-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 16:30:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-xtra-instrument-cart-gray-with-lockable-cabinet-sliding-shelf>: HTTP status code is not handled or not allowed 2026-01-28 16:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-series-clear-lid-for-qus238-polyethylene>: HTTP status code is not handled or not allowed 2026-01-28 16:30:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/double-rivet-boltless-shelving-72-inch-w-x-18-inch-d-1-level-w-ez-decking-black>: HTTP status code is not handled or not allowed 2026-01-28 16:30:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-big-wheel-utility-cart-black-1>: HTTP status code is not handled or not allowed 2026-01-28 16:30:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 125555 pages (at 99 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-union-10mm-tube-x-8mm-tube-1-2-3-l>: HTTP status code is not handled or not allowed 2026-01-28 16:30:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flow-rack-4-shelves-with-12-span-track-flow-units-60-w-x-36-d-x-72-h-smooth-office-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:30:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-idvsnm3534-33te-hp-6000-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-bulkhead-union-6mm-tube-1-3-8-l>: HTTP status code is not handled or not allowed 2026-01-28 16:30:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-l1408t-3-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genuine-stack-nest-tote-clear-19-1-2-l-x-13-1-2-w-x-8-h-polyprolylene>: HTTP status code is not handled or not allowed 2026-01-28 16:30:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/genuine-stack-nest-tote-clear-23-1-2-l-x-19-1-2-w-x-10-h-polyprolylene>: HTTP status code is not handled or not allowed 2026-01-28 16:31:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/v-grip-wire-shelving-spill-tray-48-l-x-18-w-x-2-1-4-d-6-5-gallon-capacity-textured-putty>: HTTP status code is not handled or not allowed 2026-01-28 16:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-hc-20-w-x-25-h-x-2-d-12-ctn>: HTTP status code is not handled or not allowed 2026-01-28 16:31:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18-l-x-5-1-2-w-x-5-h-ultra-series-stack-and-hang-bin-red-polyethylene-4-slots>: HTTP status code is not handled or not allowed 2026-01-28 16:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wall-mount-base-for-oz1000dav-series>: HTTP status code is not handled or not allowed 2026-01-28 16:31:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-24-w-x-24-h-x-4-d-6-ctn>: HTTP status code is not handled or not allowed 2026-01-28 16:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/convection-oven-31-1-2-w-x-31-1-2-d-x-24-h-208-240v-25-45a-3-85-cu-ft-cap-digital-control>: HTTP status code is not handled or not allowed 2026-01-28 16:31:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/parlor-100-black-corn-broom-6-case-6102-6>: HTTP status code is not handled or not allowed 2026-01-28 16:31:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-valve-flow-screw-3-8-fm-nptf-x-3-8-universal-thread-1-1-8-l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-hc-20-w-x-25-h-x-1-d-12-ctn>: HTTP status code is not handled or not allowed 2026-01-28 16:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2547t-8-60-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/filter-multi-pleat-xl10-hc-24-w-x-24-h-x-1-d-12-ctn>: HTTP status code is not handled or not allowed 2026-01-28 16:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rivetwell-ez-deck-decking-42-inch-w-x-18-inch-d-x-3-4-inch-h-for-use-w-double-rivets>: HTTP status code is not handled or not allowed 2026-01-28 16:31:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-sawyer-instrument-table-36-l-x-20-w-x-34-h-on-casters-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-cleaner-towels>: HTTP status code is not handled or not allowed 2026-01-28 16:31:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-straight-male-5-16-tube-x-1-4-swift-fit-universal-thread-6-7-l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/disinfecting-wipes-4>: HTTP status code is not handled or not allowed 2026-01-28 16:31:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-howard-instrument-table-60-l-x-24-w-x-34-h-on-casters-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bassinet-31-l-x-17-3-4-w-x-38-1-2-h-w-closed-cabinet-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:31:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mri-safe-howard-instrument-table-72-l-x-24-w-x-34-h-on-casters-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1709t-7-5-3-8-hp-1740-860-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardwood-deck-overlay-wire-shelving-24-w-x-14-d-x-1-thick>: HTTP status code is not handled or not allowed 2026-01-28 16:31:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-x-36-non-reflective-roll-up-vinyl-sign-flagger-ahead-symbol>: HTTP status code is not handled or not allowed 2026-01-28 16:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-metal-handle-brace>: HTTP status code is not handled or not allowed 2026-01-28 16:31:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/42-grabber-non-reflective-delineator-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:31:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/retracting-id-card-reels-swivel-spring-with-snap-on-id-strap-black>: HTTP status code is not handled or not allowed 2026-01-28 16:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/35mm-ring-binder-photo-pages-3-1-2-x-5-clear-top-load-11-1-4-x-8-1-8-50-bx>: HTTP status code is not handled or not allowed 2026-01-28 16:31:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-starter-108-w-x-48-d-x-96-h-796586n>: HTTP status code is not handled or not allowed 2026-01-28 16:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-add-on-96-w-x-48-d-x-96-h-796585n>: HTTP status code is not handled or not allowed 2026-01-28 16:31:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-add-on-letter-polyethylene-box-96-w-x-48-d-x-96-h-258220n>: HTTP status code is not handled or not allowed 2026-01-28 16:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-1-4-ac-plug-x-1-8-female-nptf-1-l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/p30h-ultrasonic-cleaner-115v-capacity-2-75-liters-3-4-gallon-dual-frequency-37-80-khz>: HTTP status code is not handled or not allowed 2026-01-28 16:31:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-tear-drop-pallet-rack-add-on-96-w-x-42-d-x-120-h-b2282496n>: HTTP status code is not handled or not allowed 2026-01-28 16:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-utility-cart-2-shelves-4-side-lip-push-handles-2-hook-iv-pole>: HTTP status code is not handled or not allowed 2026-01-28 16:31:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1006t-2-5-hp-1725-850-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m1759t-7-5-1-9-hp-1740-870-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jwl-1442vsk-14-x-42-vs-pro-wood-lathe-with-legs>: HTTP status code is not handled or not allowed 2026-01-28 16:31:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-needle-valve-knob-adjustment-1-8-tube-x-1-8-swift-fit-universal-thread-5-6-l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-copper-plus-marine-boxed-qc12pep-956m>: HTTP status code is not handled or not allowed 2026-01-28 16:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-copper-plus-small-engine-boxed-z9y-808>: HTTP status code is not handled or not allowed 2026-01-28 16:31:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-barricade-tape-3-inches-by-500-feet-yellow-black-91100>: HTTP status code is not handled or not allowed 2026-01-28 16:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/model-pf-33-1hp-1ph-115v-4-speed-3-wheel>: HTTP status code is not handled or not allowed 2026-01-28 16:31:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/digital-adjustable-thermostatic-in-line-temperature-controller>: HTTP status code is not handled or not allowed 2026-01-28 16:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-check-valve-1-4-tube-mtl-fkm-2-l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-valve-flow-screw-adjustment-1-8-tube-x-1-8-universal-thread-0-l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-cashier-shield-48W-x-36H-clear-with-racetrack-base>: HTTP status code is not handled or not allowed 2026-01-28 16:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-swivel-branch-tee-14mm-tube-x-3-8-swift-fit-universal-thread-2-1-2-l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wheel-bed-workstation-48-w-x-96-d-x-72-h-add-on-section>: HTTP status code is not handled or not allowed 2026-01-28 16:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-security-shelving-unit-chrome-18-w-x-48-l-x-66-h>: HTTP status code is not handled or not allowed 2026-01-28 16:31:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/71582-30-inch-commercial-wall-fan-oscillating-1-4-hp-6100-cfm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bmp21-series-terminal-block-nylon-cloth-labels-1-2-w-black-white-m21-500-499-tb>: HTTP status code is not handled or not allowed 2026-01-28 16:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/yellow-lined-rain-hat-waterproof-35mm-pvc-on-polyester-medium>: HTTP status code is not handled or not allowed 2026-01-28 16:31:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rubbermaid-we-recycle-standard-duty-1-2-cu-yd-tilt-truck>: HTTP status code is not handled or not allowed 2026-01-28 16:31:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-flow-control-valve-flow-screw-adjustment-1-4-tube-x-10-32-universal-thread-0-l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-bag-only-9-three-quarter-inches-18-inches-65780>: HTTP status code is not handled or not allowed 2026-01-28 16:31:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-easy-wear-tunic-short-sleeve-black-xl-9p01>: HTTP status code is not handled or not allowed 2026-01-28 16:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/interlake-mecalux-pallet-rack-tear-drop-add-on-108-w-x-42-d-x-96-h>: HTTP status code is not handled or not allowed 2026-01-28 16:31:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grip-a-strip-mounting-rail-48-x-1-1-2-2010>: HTTP status code is not handled or not allowed 2026-01-28 16:31:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-eco-elite-4-wx6-l-black-smoke>: HTTP status code is not handled or not allowed 2026-01-28 16:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/alpha-fittings-inline-flow-valves-3-8-nptf-1-1-4-l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterhog-eco-elite-fashion-3-wx5-l-black-smoke>: HTTP status code is not handled or not allowed 2026-01-28 16:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/105721-aluminum-economy-lockouthasp-1-12-jaw-1-1-2-x-4-15-16h>: HTTP status code is not handled or not allowed 2026-01-28 16:31:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em3218t-5-5-hp-1750-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-positive-pressure-u-tube-125000-btu-40l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/714-adhesive-transfer-tape-dispenser-for-3-4-and-1-2-wide-tape>: HTTP status code is not handled or not allowed 2026-01-28 16:31:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultradrain-plug-2-diameter>: HTTP status code is not handled or not allowed 2026-01-28 16:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-purpose-boot-men-s-size-6-15-h-steel-pr-midsole-cleated-sole-black>: HTTP status code is not handled or not allowed 2026-01-28 16:31:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-men-s-size-3-15-h-composite-safety-toe-cleated-outsole-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:31:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmjet-4-straight-extension>: HTTP status code is not handled or not allowed 2026-01-28 16:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quilted-insulated-jacket-size-men-s-3xl-collared-black>: HTTP status code is not handled or not allowed 2026-01-28 16:31:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/palmjet-4-straight-safety-air-gun>: HTTP status code is not handled or not allowed 2026-01-28 16:31:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm3711t-10-hp-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jacket-size-men-s-medium-storm-fly-front-hood-snaps-green>: HTTP status code is not handled or not allowed 2026-01-28 16:31:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-diamond-series-laboratory-medical-solid-door-refrigerator-23-cu-ft-nswdr231wws-0>: HTTP status code is not handled or not allowed 2026-01-28 16:31:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quilted-insulated-jacket-size-men-s-xl-collared-black>: HTTP status code is not handled or not allowed 2026-01-28 16:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-d-pearl-urinal-screen-calypso-lime>: HTTP status code is not handled or not allowed 2026-01-28 16:31:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2in-license-utility-light-kit-with-2-led-chrome-180-male-bullets-5622134>: HTTP status code is not handled or not allowed 2026-01-28 16:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-d-extra-duty-d-vour-bodily-fluid-clean-up-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:31:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knee-boot-men-s-size-12-15-h-composite-safety-toe-cleated-outsole-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverall-zipper-front-elastic-wrist-and-ankle-stormflap-bound-seam-yellow-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:31:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/propane-heater-infrared-vacuum-u-tube-100000-btu-40l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-d-enzym-d-mint-fresh-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metalin-zipper-bag-11-x-15-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:31:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/big-d-drain-tame-plus-5-gallon-pail>: HTTP status code is not handled or not allowed 2026-01-28 16:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-corner-strobe-d-fuser-with-6-led-3032933>: HTTP status code is not handled or not allowed 2026-01-28 16:31:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/natural-gas-heater-infrared-positive-pressure-straight-tube-125000-btu-40l>: HTTP status code is not handled or not allowed 2026-01-28 16:31:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverall-hood-and-socks-boots-bound-seam-yellow-md>: HTTP status code is not handled or not allowed 2026-01-28 16:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm4110t-40-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-ground-original-roast-30-6-oz-canister-6-canisters-carton>: HTTP status code is not handled or not allowed 2026-01-28 16:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-safe-storage-lid-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:31:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coverallzipper-fronthoodelastic-wrist-and-anklestormflapbound-seamyellow3x>: HTTP status code is not handled or not allowed 2026-01-28 16:31:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ejmm3312t-10-hp-3500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 125653 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/coffee-fraction-packs-pioneer-blend-medium-roast-2-5-oz-pack-24-packs-carton>: HTTP status code is not handled or not allowed 2026-01-28 16:31:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rayovac-926-12V-lantern-battery>: HTTP status code is not handled or not allowed 2026-01-28 16:31:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-jl1323a-3-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-efm2543t-50-hp-1775-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-efm3116t-1-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mini-tank-water-heater-6-0-gallon-120v-hard-wire>: HTTP status code is not handled or not allowed 2026-01-28 16:31:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/avalo-isolation-yellow-compact-height>: HTTP status code is not handled or not allowed 2026-01-28 16:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-sensitive-pipe-marker-city-water-3>: HTTP status code is not handled or not allowed 2026-01-28 16:32:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-ectm4104t-30airover-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-2-polo-pullover-hi-visibilty-shirt-lime-polyester-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-em2536t-30-hp-1180-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-4in-amber-blue-surface-mount-ultra-thin-strobe-light-4-led-8892248>: HTTP status code is not handled or not allowed 2026-01-28 16:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-non-potable-water-8>: HTTP status code is not handled or not allowed 2026-01-28 16:32:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6in-clear-oval-backup-light-with-24-led-5626325>: HTTP status code is not handled or not allowed 2026-01-28 16:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/door-stop-drop-down-4-hole-chrome-plated-h-d>: HTTP status code is not handled or not allowed 2026-01-28 16:32:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-bike-wave-bike-rack-gray-below-grade-mount>: HTTP status code is not handled or not allowed 2026-01-28 16:32:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-low-pressure-condensate-3>: HTTP status code is not handled or not allowed 2026-01-28 16:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-plant-air-3>: HTTP status code is not handled or not allowed 2026-01-28 16:32:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/workbench-led-stack-light>: HTTP status code is not handled or not allowed 2026-01-28 16:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/drill-free-light-bar-cab-mount-for-chevy-colorado-gmc-canyon-with-103-antenna-8895105>: HTTP status code is not handled or not allowed 2026-01-28 16:32:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20pk-sensors-with-rubber-press-in-valve-aul300010>: HTTP status code is not handled or not allowed 2026-01-28 16:32:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-mounts-for-flood-and-spot-lights-1492107>: HTTP status code is not handled or not allowed 2026-01-28 16:32:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/precoiled-strap-on-pipe-marker-natural-gas-6>: HTTP status code is not handled or not allowed 2026-01-28 16:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemco-le-fume-hood-wexplosion-proof-light-only-96-x-32-x-48>: HTTP status code is not handled or not allowed 2026-01-28 16:32:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jacket-size-men-s-2xl-polyester-quilted-liner-attached-hood-black>: HTTP status code is not handled or not allowed 2026-01-28 16:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-1875in-amber-round-dot-bolt-on-reflectors-5623317>: HTTP status code is not handled or not allowed 2026-01-28 16:32:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jacket-size-men-s-xl-attached-hood-black>: HTTP status code is not handled or not allowed 2026-01-28 16:32:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2463-jacket-hanger-wide-shouldered-18l-plastic-bk-pkg-qty-50>: HTTP status code is not handled or not allowed 2026-01-28 16:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hemco-ce-fume-hood-wvapor-proof-light-switch-36-x-24-x-45>: HTTP status code is not handled or not allowed 2026-01-28 16:32:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-3-16-x-092-ring-shank-15-degree-coil-siding-nails-3600-qty>: HTTP status code is not handled or not allowed 2026-01-28 16:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-degree-coil-framing-nails-2-3-8-x-099-ring-bright-2700-qty>: HTTP status code is not handled or not allowed 2026-01-28 16:32:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-375in-amber-thin-mount-horizontal-strobe-lights-with-3-led-8892300>: HTTP status code is not handled or not allowed 2026-01-28 16:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pressure-sensitive-pipe-marker-direction-arrow-green-2>: HTTP status code is not handled or not allowed 2026-01-28 16:32:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/smart-point-15-gauge-da-finish-nailer-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:32:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hardware-base-72in-96in-steel-benches>: HTTP status code is not handled or not allowed 2026-01-28 16:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-mag-nutsetter-x-12-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 16:32:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlrs8mclk-scm1000ss-breast-milk-refrigerator-microwave-combination-8-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 16:32:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlrs8mc-breast-milk-refrigerator-8-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 16:32:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-lobular-mag-nutsetter-x-1-3-4-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 16:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mlrs6mclk-ada-height-breast-milk-refrigerator-with-2-lockers-6-cu-ft>: HTTP status code is not handled or not allowed 2026-01-28 16:32:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-nm3538-1-2-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/57910-wireless-doorbell-battery-operated-1-38w-x-34d-x-3-12h-bone>: HTTP status code is not handled or not allowed 2026-01-28 16:32:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lightweight-stackable-student-desk-and-chair-four-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:32:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-d-red-aerosol-13-ounces-009601>: HTTP status code is not handled or not allowed 2026-01-28 16:32:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-device-ac-charging-station-cabinet-for-chromebooks-and-laptops-black>: HTTP status code is not handled or not allowed 2026-01-28 16:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deskside-wire-machine-stand-black-3-shelves>: HTTP status code is not handled or not allowed 2026-01-28 16:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steel-pick-shelf-kit-single-tilt-50-w-x-32-d>: HTTP status code is not handled or not allowed 2026-01-28 16:32:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-1-4-hex-socket-adapter-x-2-ball-gunmetal-grey-s2-modified-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/15-degree-coil-framing-nail-3-x-120-smooth-bright-2700-qty>: HTTP status code is not handled or not allowed 2026-01-28 16:32:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-ru8800-half-mask-triple-flange-silicone-half-mask-size-medium-large>: HTTP status code is not handled or not allowed 2026-01-28 16:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-4-x-080-ring-shank-15-degree-coil-siding-nails-4200-qty>: HTTP status code is not handled or not allowed 2026-01-28 16:32:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/185w-stacking-church-chair-fabric-dark-gray-hercules-series>: HTTP status code is not handled or not allowed 2026-01-28 16:32:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vl3515t-2-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lab-design-island-bench-8-5-w-x-5-d-x-3-3-4-h-4-door-model-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:32:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-2-1-2-welded-pipe-nipple-schedule-40-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:32:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-12-welded-pipe-nipple-schedule-40-304-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stacking-chiavari-chair-resin-silver-hercules-premium-series>: HTTP status code is not handled or not allowed 2026-01-28 16:32:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-2-kw-portable-electric-heater-240v-single-phase>: HTTP status code is not handled or not allowed 2026-01-28 16:32:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-x-3-seamless-pipe-nipple-schedule-80-316-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s30-109-1-2-ss-ball-valve-handle-ppk>: HTTP status code is not handled or not allowed 2026-01-28 16:32:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-20-power-bit-x-3-1-2-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 16:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-channel-industrial-cable-protector-channel-22000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:32:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-x-2-1-2-welded-pipe-nipple-schedule-40-316-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:32:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nitriledipped-gloves-activgrip-nitrile-wmicrofinish-grip-m>: HTTP status code is not handled or not allowed 2026-01-28 16:32:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vl3506-50-75-hp-2850ip44-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-45-insert-bit-x-1-1-4-5-16-hex-shank-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 16:32:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vem3581t-5-1-hp-1760-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/torx-174-tamper-15-power-bit-x-6-s2-modified-steel-gunmetal-grey>: HTTP status code is not handled or not allowed 2026-01-28 16:32:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-economy-lever-hoist-3-ton-capacity-15-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-6-inch-cable-ties-natural-with-uv-inhibitor-40-pound-100-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:32:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vm3534-33-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-economy-lever-hoist-3-4-ton-capacity-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:32:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vl3509a-1-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-power-pass-through-cable-23-l>: HTTP status code is not handled or not allowed 2026-01-28 16:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/peapod-mini-8-20-ss-locking-bike-shelter-29-1-l-x-7-5-w-20-bike-capacity-flat-roof>: HTTP status code is not handled or not allowed 2026-01-28 16:32:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5856-es-fairfield-decorative-window-box-brackets-espresso-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/l-desk-with-metal-leg-white-and-deep-gray-pro-concept-plus-series>: HTTP status code is not handled or not allowed 2026-01-28 16:32:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-grain-cowhide-drivers-straight-thumb-quality-grade-pull-s>: HTTP status code is not handled or not allowed 2026-01-28 16:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/modular-partition-base-panel-with-desktop-raceway-power-48-w-x-38-h-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:32:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m3461-1-2-hp-1725-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cl1000-lifting-magnet-1000-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/outdoor-sling-chaise-lounge-chair-khaki-sling-tan-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:32:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mclvb01-on-off-utility-lift-magnet-50-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-m3539-5-5-hp-1140-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-floor-load-limit-not-to-exceed>: HTTP status code is not handled or not allowed 2026-01-28 16:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-coated-gloves-etched-rough-finish-brushed-interlock-12-l-l>: HTTP status code is not handled or not allowed 2026-01-28 16:32:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-2-spherical-washer-set-1-1-8-o-d-5-16-thick-stainless-steel-usa-sp-2ss>: HTTP status code is not handled or not allowed 2026-01-28 16:32:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-danger-do-not-enter-authorized-personnel-only-1>: HTTP status code is not handled or not allowed 2026-01-28 16:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-danger-no-smoking-1>: HTTP status code is not handled or not allowed 2026-01-28 16:32:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-vsswdm3541-75-hp-3450-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-starter-unit-24w-x-14d-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:32:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gloveworks-diamond-textured-industrial-grade-nitrile-gloves-xl-100-box-10-box-cs>: HTTP status code is not handled or not allowed 2026-01-28 16:32:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdvsncp3587t-2te-hp-5500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4100-bk-park9-compact-valet-sign-for-parking-lots-black>: HTTP status code is not handled or not allowed 2026-01-28 16:32:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdvsnm2238t-10-hp-5400-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/class-3-fr-hi-vis-hooded-sweatshirt-fluorescent-yellow-green-black-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:32:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-eye-protection-required-1>: HTTP status code is not handled or not allowed 2026-01-28 16:32:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-add-on-unit-54w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:32:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/little-giant-wwc2-3072-6phfl-mobile-heavy-duty-cabinet-workbench-steel-top-center-shelf>: HTTP status code is not handled or not allowed 2026-01-28 16:32:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 125752 pages (at 99 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7342-ld-o-3-eg-ww-42-watchtower-delineator-polyethylene-orange-2-engineer-white-reflective-bands>: HTTP status code is not handled or not allowed 2026-01-28 16:32:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-motor-zdvsnm3587t-2te-hp-5500-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-ear-protection-required-this-area-1>: HTTP status code is not handled or not allowed 2026-01-28 16:32:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-notice-all-drivers-must-chock-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:32:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-3-tier-wire-shelving-add-on-unit-72w-x-14d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 16:32:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-caution-watch-your-step-2>: HTTP status code is not handled or not allowed 2026-01-28 16:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-half-foot-patio-umbrella-olefin-terracotta-hardwood-pole-grove>: HTTP status code is not handled or not allowed 2026-01-28 16:33:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-2-tier-wire-shelving-add-on-unit-30w-x-21d-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 16:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ip67-blue-smart-waterproof-battery-charger-with-bluetooth-24v-8a-1-120v-nema-5-15>: HTTP status code is not handled or not allowed 2026-01-28 16:33:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-7599-fw-smartlockpro-ground-fault-circuit-interrupter-recpt-white>: HTTP status code is not handled or not allowed 2026-01-28 16:33:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-7899-e-20a-smartlockpro-gfci-duplex-receptacle-black>: HTTP status code is not handled or not allowed 2026-01-28 16:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/leviton-7899-sgi-20a-smartlockpro-gfci-duplex-receptacle-ivory>: HTTP status code is not handled or not allowed 2026-01-28 16:33:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-jumper-cables-4-awg-15-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 16:33:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atv-utv-spreader-tailgate-hitch-mount-15-gallon-utvs16>: HTTP status code is not handled or not allowed 2026-01-28 16:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-wound-filter-ff-cartridges-20lx4-12od-20-micron>: HTTP status code is not handled or not allowed 2026-01-28 16:33:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-4-awg-8-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 16:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-vinyl-sign-first-aid-kit-inside>: HTTP status code is not handled or not allowed 2026-01-28 16:33:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2cg-1-1-2-for-1-1-2-3-pipe>: HTTP status code is not handled or not allowed 2026-01-28 16:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nexel-black-epoxy-5-tier-wire-shelving-add-on-unit-30w-x-14d-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:33:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/r-1-1-2cg-1-1-2-w-r-connector-for-1-1-2-3-pipe>: HTTP status code is not handled or not allowed 2026-01-28 16:33:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-3-8-ring-terminals-1-0-awg-20-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 16:33:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-18w-x-30l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-big-bubba-depth-cartridge-1-micron>: HTTP status code is not handled or not allowed 2026-01-28 16:33:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watts-filters-20x4-12-mixed-bed-di>: HTTP status code is not handled or not allowed 2026-01-28 16:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-21w-x-30l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:33:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-12w-x-48l-x-63h>: HTTP status code is not handled or not allowed 2026-01-28 16:33:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-4-tier-esd-36w-x-72l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-4-awg-10-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 16:33:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-4-awg-5-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 16:33:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tradesman-1765xc-vise-6-1-2-jaw-width-6-jaw-opening-4-throat-depth>: HTTP status code is not handled or not allowed 2026-01-28 16:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilingual-plastic-sign-caution-keep-aisles-clear-2>: HTTP status code is not handled or not allowed 2026-01-28 16:33:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-1-0-awg-6-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 16:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shop-hammer-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:33:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/halstead-hemostatic-forceps-straight-8-l-stainless-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelf-truck-esd-24w-x-48l-x-80h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 16:33:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2400s-16c-regular-duty-f-clamp-copper-16>: HTTP status code is not handled or not allowed 2026-01-28 16:33:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-3-tier-esd-14w-x-42l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 16:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/illinois-engineered-products-seco665-single-eco-gate-8482-5-w-to-6-w-6-6-h>: HTTP status code is not handled or not allowed 2026-01-28 16:33:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/welding-trolley-350-lb-cap-blue-and-red-1010482>: HTTP status code is not handled or not allowed 2026-01-28 16:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-2-awg-1-ft-black>: HTTP status code is not handled or not allowed 2026-01-28 16:33:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-2-awg-5-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 16:33:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-1-0-awg-6-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 16:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6160030-x2-detachable-cable-sleeve-fits-3-8-5-16-dia-core-cable>: HTTP status code is not handled or not allowed 2026-01-28 16:33:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sk3000-structural-channel-pallet-rack-3-inch-x-48-inch-x-192-inch-upright>: HTTP status code is not handled or not allowed 2026-01-28 16:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/storability-bins-7-3-8in-d-x-4in-w-x-3in-h-blue-10-pc>: HTTP status code is not handled or not allowed 2026-01-28 16:33:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-step-heavy-duty-mobile-work-platform-handrails-24-x-36-platform>: HTTP status code is not handled or not allowed 2026-01-28 16:33:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-set-with-5-16-ring-terminals-1-0-awg-3-ft-black-red>: HTTP status code is not handled or not allowed 2026-01-28 16:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexbollard-52h-x-7-14w-w105h-signpost-concrete-redwhite-xl-b529-c-redwhite>: HTTP status code is not handled or not allowed 2026-01-28 16:33:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ice-cream-dipping-cabinet-w-sneeze-guard-cover-71-w>: HTTP status code is not handled or not allowed 2026-01-28 16:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-battery-cable-with-5-16-ring-terminals-4-0-awg-20-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 16:33:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onyx-triple-letter-size-rack-qty6-black>: HTTP status code is not handled or not allowed 2026-01-28 16:33:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-step-heavy-duty-mobile-work-platform-handrails-24-x-72-platform>: HTTP status code is not handled or not allowed 2026-01-28 16:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flexbollard-52h-x-7-14w-w99h-signpost-adhesive-yellowred-xl-b528-d-yellowred>: HTTP status code is not handled or not allowed 2026-01-28 16:33:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-2-tier-esd-21w-x-60l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 16:33:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-sided-floor-stand-17-w-x-4-d-x-10-1-8-h-cherry>: HTTP status code is not handled or not allowed 2026-01-28 16:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premium-aluminum-dock-board-with-welded-aluminum-curb-60x48-10-000-lb-capacity-986999>: HTTP status code is not handled or not allowed 2026-01-28 16:33:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bluesolar-charge-controller-mppt-150-60-tr-screw-connection-blue-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 16:33:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hc-20305-sizzle-drain-and-waste-system-cleaner-1-qt>: HTTP status code is not handled or not allowed 2026-01-28 16:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/greensweeper-8-in-poly-leaf-rake>: HTTP status code is not handled or not allowed 2026-01-28 16:33:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-42367-180b-brass-clean-out-frame-and-cover-4>: HTTP status code is not handled or not allowed 2026-01-28 16:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blow-molded-commercial-duty-folding-table-24in-x-48in-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:33:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-653-ratchet-lever-hoist-1-1-2-ton-cap-5ft-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/argo-fet-battery-isolators-100-2-two-batteries-100a-retail-packaging-blue-aluminum>: HTTP status code is not handled or not allowed 2026-01-28 16:33:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/danger-sign-14x10-vinyl-no-smoking-this-area>: HTTP status code is not handled or not allowed 2026-01-28 16:33:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hc-15625-real-tuff-thread-sealant-screw-cap-with-brush-1-pt>: HTTP status code is not handled or not allowed 2026-01-28 16:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/battery-cable-with-reel-1-0-awg-50-ft-red>: HTTP status code is not handled or not allowed 2026-01-28 16:33:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vital-cluster-box-unit-13-mailboxes-1-parcel-locker-sandstone>: HTTP status code is not handled or not allowed 2026-01-28 16:33:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quad-glove-protective-wear-organizer-13-13-16-w-x-5-1-2-d-x-24-1-16-h-quartz>: HTTP status code is not handled or not allowed 2026-01-28 16:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-2-shelf-18w-x-24l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 16:33:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-cart-esd-3-shelf-24w-x-36l-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 16:33:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mask-bulk-protective-wear-dispenser-5-11-16-w-x-3-15-16-d-x-9-7-8-h-transparent>: HTTP status code is not handled or not allowed 2026-01-28 16:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/honeywell-277-vac-2-pole-definite-purpose-contactor>: HTTP status code is not handled or not allowed 2026-01-28 16:33:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-2-shelf-24w-x-60l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 16:33:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-30821-all-purpose-cement-8-oz>: HTTP status code is not handled or not allowed 2026-01-28 16:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-football-field-stencil-kit-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 16:33:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/phaseii-afg-0500-analog-force-gauge-50lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11865-cartridge-roll-1-4-x-1-x-1-8-aluminum-oxide-fine>: HTTP status code is not handled or not allowed 2026-01-28 16:33:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17068-cartridge-roll-5-16-x-1-5-x-1-8-aluminum-oxide-fine>: HTTP status code is not handled or not allowed 2026-01-28 16:33:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notice-sign-10x7-rigid-plastic-wash-hands-before-returning-to-work>: HTTP status code is not handled or not allowed 2026-01-28 16:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hc-15435-pro-dope-thread-sealant-1-gallon>: HTTP status code is not handled or not allowed 2026-01-28 16:33:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-21w-x-36l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 16:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/semi-recessed-protective-wear-organizer-17-7-8-w-x-4-7-16-d-x-22-5-16-h-transparent>: HTTP status code is not handled or not allowed 2026-01-28 16:33:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/db-p9121a-end-outlet-waste-1-12-x-16-ctr-to-ctr-hi-line-slip-joint-combo-baffle-tee>: HTTP status code is not handled or not allowed 2026-01-28 16:33:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-compact-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 16:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/protective-wear-organizer-5-1-2-w-x-3-15-16-d-x-30-1-16-h>: HTTP status code is not handled or not allowed 2026-01-28 16:33:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-18w-x-54l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 16:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/adjustable-shelf-truck-esd-3-shelf-18w-x-42l-x-40h-polyurethane-4-swivel-2-brake-casters>: HTTP status code is not handled or not allowed 2026-01-28 16:33:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/db-p9703bg-1-12-p-trap-with-threaded-pvc-adapter-and-reversible-j-bend-bagged>: HTTP status code is not handled or not allowed 2026-01-28 16:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/warning-sign-10x7-rigid-plastic-machine-starts-automatically>: HTTP status code is not handled or not allowed 2026-01-28 16:33:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/7-8-9x6-1-2-hex-cap-screws>: HTTP status code is not handled or not allowed 2026-01-28 16:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11158-qc-disc-type-s-2-aluminum-oxide-medium>: HTTP status code is not handled or not allowed 2026-01-28 16:33:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/11224-qc-disc-type-r-2-aluminum-oxide-very-fine>: HTTP status code is not handled or not allowed 2026-01-28 16:33:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-federal-handicap-with-border-background-1-8-thick-polytough-plastic-white>: HTTP status code is not handled or not allowed 2026-01-28 16:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4x18x4-1-2-stackable-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-28 16:33:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2x12x4-1-2-open-top-bin-boxes>: HTTP status code is not handled or not allowed 2026-01-28 16:33:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/milwaukee-m12-fuel-8482-cordless-1-4-high-speed-ratchet-kit>: HTTP status code is not handled or not allowed 2026-01-28 16:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ch-271519-1-12-econ-o-grip-plug-2-psi-5ft>: HTTP status code is not handled or not allowed 2026-01-28 16:33:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000v-insulated-screwdriver-set-6-piece>: HTTP status code is not handled or not allowed 2026-01-28 16:33:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 125850 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-inch-x-12-inch-x-18-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 16:33:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-inch-x-18-inch-x-18-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 16:33:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/17458-coated-psa-disc-stick-on-12-zirconia-alumina-extra-coarse>: HTTP status code is not handled or not allowed 2026-01-28 16:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/22-inch-x-16-inch-x-10-inch-corrugated-boxes>: HTTP status code is not handled or not allowed 2026-01-28 16:33:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goffs-welding-screen-4w-x-4h-green>: HTTP status code is not handled or not allowed 2026-01-28 16:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caution-sign-14x10-rigid-plastic-wear-gloves-this-area>: HTTP status code is not handled or not allowed 2026-01-28 16:33:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-concealed-frame-access-panel-wallboard-cam-latch-22-w-x-30-h>: HTTP status code is not handled or not allowed 2026-01-28 16:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goffs-welding-screen-8w-x-8h-grey>: HTTP status code is not handled or not allowed 2026-01-28 16:34:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloth-belt-82560-1-2-18-80-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-28 16:34:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/foam-side-rail-bumper-pads-48l-x-14w-x-1-12h>: HTTP status code is not handled or not allowed 2026-01-28 16:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-0-gpf-exposed-urinal-valve>: HTTP status code is not handled or not allowed 2026-01-28 16:34:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/premier-one-foam-cushion-20l-x-18w-x-3h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:34:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cloth-belt-82565-1-2-18-120-grit-ceramic>: HTTP status code is not handled or not allowed 2026-01-28 16:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aqua-sense-water-closet-flush-valve-all-chrome-plated-housing>: HTTP status code is not handled or not allowed 2026-01-28 16:34:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/goffs-welding-screen-6w-x-6h-green>: HTTP status code is not handled or not allowed 2026-01-28 16:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quad-support-cane-tip-rubber-black>: HTTP status code is not handled or not allowed 2026-01-28 16:34:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dewalt-174-dwht10035l-folding-retractable-utility-knife>: HTTP status code is not handled or not allowed 2026-01-28 16:34:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-electric-office-partition-panel-36-14-w-x-47-12-h-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-plastic-garbage-can-with-lid-55-gal-bright-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:34:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/speakman-sc-5812-rcp-commander-service-sink-faucet-lever-handles>: HTTP status code is not handled or not allowed 2026-01-28 16:34:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mw-dun-2436-extra-heavy-duty-dunnage-rack-36w-x-24d-x-12h-1500-lbs-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:34:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-18w-x-72l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-18w-x-60l-x-74h>: HTTP status code is not handled or not allowed 2026-01-28 16:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-12-letter-r>: HTTP status code is not handled or not allowed 2026-01-28 16:34:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-m1800-sys-wtr-based-prec-line-invert-mark-pnt-aero-cl>: HTTP status code is not handled or not allowed 2026-01-28 16:34:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-3-tier-esd-24w-x-36l-x-34h>: HTTP status code is not handled or not allowed 2026-01-28 16:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/training-panel-leg-adjustable-height-folding-table-18in-x72in-gray-granite-top>: HTTP status code is not handled or not allowed 2026-01-28 16:34:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-24-number-7>: HTTP status code is not handled or not allowed 2026-01-28 16:34:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-epdm-sanitary-gasket-for-2-tube>: HTTP status code is not handled or not allowed 2026-01-28 16:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/deluxe-noaa-weather-radio-black>: HTTP status code is not handled or not allowed 2026-01-28 16:34:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x2-1-2-bugle-head-drywall-screws-0840CQG>: HTTP status code is not handled or not allowed 2026-01-28 16:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-36-number-5>: HTTP status code is not handled or not allowed 2026-01-28 16:34:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/individual-character-stencil-36-letter-h>: HTTP status code is not handled or not allowed 2026-01-28 16:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neenah-paper-classic-laid-stationery-writing-paper-6531-8-12-x-11-classic-white-500-shtsream>: HTTP status code is not handled or not allowed 2026-01-28 16:34:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/easy-clean-backpack-assembly-pc-tpu-polyester>: HTTP status code is not handled or not allowed 2026-01-28 16:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-24x5-8-pan-head-thread-cutting-screws-type-23-10103PP188>: HTTP status code is not handled or not allowed 2026-01-28 16:34:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-rubber-sheet-no-adhesive-60a-18-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 16:34:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-shelving-starter-unit-5-tier-esd-12w-x-36l-x-86h>: HTTP status code is not handled or not allowed 2026-01-28 16:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-9100-low-voc-standard-activator-250-g-l-5-gal>: HTTP status code is not handled or not allowed 2026-01-28 16:34:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-rubber-strip-no-adhesive-60a-14-thick-x-2-wide-x-10-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:34:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-v7500-series-450-voc-dtm-alkyd-enamel-chestnut-brown>: HTTP status code is not handled or not allowed 2026-01-28 16:34:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fire-safety-sign-fire-alarm-vinyl-2>: HTTP status code is not handled or not allowed 2026-01-28 16:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/silicone-o-ring-dash-008-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 16:34:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-detectable-buna-n-o-ring-dash-234-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 16:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-detectable-buna-n-o-ring-dash-223-pack-of-5>: HTTP status code is not handled or not allowed 2026-01-28 16:34:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unrule-index-cards-7320che-3-x-5-cherry-100pack>: HTTP status code is not handled or not allowed 2026-01-28 16:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-modified-truss-head-self-drilling-screws-0816KPMB>: HTTP status code is not handled or not allowed 2026-01-28 16:34:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-high-performance-v2100-system-rust-reformer-aerosol>: HTTP status code is not handled or not allowed 2026-01-28 16:34:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/entrance-mat-3-8-thick-4-l-x-6-w-black-cleated-backing>: HTTP status code is not handled or not allowed 2026-01-28 16:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tun4015-tire-tube-replacement-size-410-350-4-tr13>: HTTP status code is not handled or not allowed 2026-01-28 16:34:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/restaurant-hardwood-high-chair-natural>: HTTP status code is not handled or not allowed 2026-01-28 16:34:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-2300-system-inverted-striping-paint-aerosol-red>: HTTP status code is not handled or not allowed 2026-01-28 16:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-o-ring-3mm-wide-120mm-id-pack-of-1>: HTTP status code is not handled or not allowed 2026-01-28 16:34:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x1-1-2-modified-truss-head-self-drilling-screws-0824KPM>: HTTP status code is not handled or not allowed 2026-01-28 16:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wd1303-wheel-barrow-tire-size-410-350-4>: HTTP status code is not handled or not allowed 2026-01-28 16:34:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/composition-book-whard-cvr-63794-9-34-x-7-12-white-100-sheetspack>: HTTP status code is not handled or not allowed 2026-01-28 16:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pan-a-vue-sign-fire-door-keep-closed-at-all-times>: HTTP status code is not handled or not allowed 2026-01-28 16:34:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-do-not-operate-contractor-lock-out>: HTTP status code is not handled or not allowed 2026-01-28 16:34:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-32x1-pan-head-machine-screws-0816MPPB>: HTTP status code is not handled or not allowed 2026-01-28 16:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/metal-platform-bed-frame-14-h-12-pocket-spring-mattress-in-a-box-full>: HTTP status code is not handled or not allowed 2026-01-28 16:34:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-queen-tufted-upholstered-platform-bed-dark-gray-memory-foam-mattress>: HTTP status code is not handled or not allowed 2026-01-28 16:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jtm-4vs-1-mill-with-3-axis-acu-rite-203-dro-quill-with-x-axis-powerfeed>: HTTP status code is not handled or not allowed 2026-01-28 16:34:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-tool-1-2-high-performance-industrial-impact-wrench>: HTTP status code is not handled or not allowed 2026-01-28 16:34:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-sierra-perform-beyond-0-voc-acrylic-enamel-satin-accent-bas>: HTTP status code is not handled or not allowed 2026-01-28 16:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vbs-18mwevs-18-evs-metal-wood-vertical-bandsaw>: HTTP status code is not handled or not allowed 2026-01-28 16:34:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-o-ring-3mm-wide-55mm-id-pack-of-2>: HTTP status code is not handled or not allowed 2026-01-28 16:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rust-oleum-industrial-choice-1600-syst-gen-purp-enamel-aero-regal-bl>: HTTP status code is not handled or not allowed 2026-01-28 16:34:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8x3-1-2-phillips-bugle-head-course-thread-sharp-point-deck-screws-dacrotized-0856DPG>: HTTP status code is not handled or not allowed 2026-01-28 16:34:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tingley-174-pilot-g2-knee-boot-plain-toe-15-h-size-10-black>: HTTP status code is not handled or not allowed 2026-01-28 16:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/c1005-commercial-valve-retainer-screw>: HTTP status code is not handled or not allowed 2026-01-28 16:34:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-do-not-operate-equipment-lock-out-1>: HTTP status code is not handled or not allowed 2026-01-28 16:34:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/riverdale-full-tufted-upholstered-platform-bed-dark-gray-pocket-spring-mattress>: HTTP status code is not handled or not allowed 2026-01-28 16:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lockout-tags-equipment-lock-out-a-life-is-on-the-line-2>: HTTP status code is not handled or not allowed 2026-01-28 16:34:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2545k10v-value-230v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 16:34:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-tufted-upholstered-king-size-headboard-in-camel>: HTTP status code is not handled or not allowed 2026-01-28 16:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tribeca-full-size-tufted-upholstered-platform-bed-in-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:34:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/delta-power-station-1260wh-black>: HTTP status code is not handled or not allowed 2026-01-28 16:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ingersoll-rand-air-compressor-2545k10v-value-plus-230v-3ph-60hz>: HTTP status code is not handled or not allowed 2026-01-28 16:34:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bedford-tufted-upholstered-king-size-headboard-in-dark-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:34:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strut-tamer-ii-extreme-with-stand>: HTTP status code is not handled or not allowed 2026-01-28 16:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/laboratory-grade-pvc-tubing-14id-x-38od-x-10-ft>: HTTP status code is not handled or not allowed 2026-01-28 16:34:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/quicknotes-recycled-weekly-monthly-appointment-book-black-8-x-9-7-8-2015-aag760105>: HTTP status code is not handled or not allowed 2026-01-28 16:34:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grit-anti-slip-tape-yellow-6-w-2>: HTTP status code is not handled or not allowed 2026-01-28 16:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-air-impact-screwdriver-clutch-drive-1-4-drive-size-2100-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:34:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10x3-4-flat-self-drilling-screws-1012KQF>: HTTP status code is not handled or not allowed 2026-01-28 16:34:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fairfield-patio-planter-36l-x-20w-x-20h-rectangular-black>: HTTP status code is not handled or not allowed 2026-01-28 16:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-silicone-o-ring-dash-015-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 16:34:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-diamond-plate-anti-fatigue-mat-15-16-thick-3-x-12-black>: HTTP status code is not handled or not allowed 2026-01-28 16:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cape-cod-patio-planter-16l-x-16w-x-18h-square-white>: HTTP status code is not handled or not allowed 2026-01-28 16:34:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/capri-comfortable-sleep-10-hybrid-pocket-spring-mattress-in-a-box-full-size>: HTTP status code is not handled or not allowed 2026-01-28 16:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/soft-fda-viton-o-ring-dash-020-pack-of-10>: HTTP status code is not handled or not allowed 2026-01-28 16:34:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-8482-diamond-plate-anti-fatigue-mat-15-16-thick-2-x-cut-to-75-black>: HTTP status code is not handled or not allowed 2026-01-28 16:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40x5-16-pan-head-machine-screws-0405MPP>: HTTP status code is not handled or not allowed 2026-01-28 16:34:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/utility-post-green-2>: HTTP status code is not handled or not allowed 2026-01-28 16:34:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fg300-36-traffic-channelizer-post-polyurethane-white>: HTTP status code is not handled or not allowed 2026-01-28 16:34:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-fuel-ventless-gas-fireplace-w-mantel-32000-btu-t-stat-apple-spice-dfs-400t-4as>: HTTP status code is not handled or not allowed 2026-01-28 16:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/viton-o-ring-dash-009-pack-of-25>: HTTP status code is not handled or not allowed 2026-01-28 16:34:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-4-10-heavy-hex-nuts-75A563DHG>: HTTP status code is not handled or not allowed 2026-01-28 16:34:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 125948 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-fuel-ventless-gas-fireplace-w-mantel-32000-btu-t-stat-control-autumn-spice>: HTTP status code is not handled or not allowed 2026-01-28 16:34:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-dash-215-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 16:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/buna-n-o-ring-dash-214-pack-of-100>: HTTP status code is not handled or not allowed 2026-01-28 16:34:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/two-color-word-dater-1-3-4-x-1-received-self-inking>: HTTP status code is not handled or not allowed 2026-01-28 16:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/record-storage-rack-add-on-60x36x96>: HTTP status code is not handled or not allowed 2026-01-28 16:34:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/divider-kit-for-3-h-drawer-of-modular-drawer-cabinet-30-wx27-d-black>: HTTP status code is not handled or not allowed 2026-01-28 16:34:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/upright-mobile-table-cart>: HTTP status code is not handled or not allowed 2026-01-28 16:35:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m8-1-25x35-metric-pan-head-machine-screws-M835D7985A>: HTTP status code is not handled or not allowed 2026-01-28 16:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lux-lspp3b-y5x-ls-wick-b-eye-polo-yel-5x>: HTTP status code is not handled or not allowed 2026-01-28 16:35:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-45-11125ct-200-psi-14-lm-ss>: HTTP status code is not handled or not allowed 2026-01-28 16:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3d-glow-sign-acrylic-fire-alarm>: HTTP status code is not handled or not allowed 2026-01-28 16:35:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hinged-lid-compostable-sugarcane-fiber-containers-9in-x-9in-x-3in-white-3-compartments-200-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-15-11112-60-psi-18-cbm-steel>: HTTP status code is not handled or not allowed 2026-01-28 16:35:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/apb-autocutpl-plastic-tubing-cutter-replacement-blades-pack-of-3>: HTTP status code is not handled or not allowed 2026-01-28 16:35:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/versaplunge-toilet-plunger>: HTTP status code is not handled or not allowed 2026-01-28 16:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-nyc-sign-le>: HTTP status code is not handled or not allowed 2026-01-28 16:35:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6x1-1-4-bugle-head-drywall-screws-0620HPG>: HTTP status code is not handled or not allowed 2026-01-28 16:35:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-25-11110-30inhg30psi-14-lm-plastic>: HTTP status code is not handled or not allowed 2026-01-28 16:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pencil-cap-erasers-pink-elastomer-150-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:35:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/print-or-write-removable-color-coding-labels-3-4-dia-light-blue-1008-pack-05461>: HTTP status code is not handled or not allowed 2026-01-28 16:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-26in-deep-vertical-file-cabinet-4-drawer-legal-size-light-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:35:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-rigid-plastic-do-not-use-elevators>: HTTP status code is not handled or not allowed 2026-01-28 16:35:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/eraser-refill-for-pentel-clic-erasers-2-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fda-neoprene-rubber-strip-no-adhesive-60a-116-thick-x-1w-x-10l>: HTTP status code is not handled or not allowed 2026-01-28 16:35:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nav-ii-exterior-aircraft-cleaner-5-gallon-1-pail>: HTTP status code is not handled or not allowed 2026-01-28 16:35:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-lockers-four-tier-12-x-18-x-18-4-door-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-10000-series-lateral-file-36in-wide-2-drawer-black>: HTTP status code is not handled or not allowed 2026-01-28 16:35:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-10000-series-lateral-file-36in-wide-3-drawer-black>: HTTP status code is not handled or not allowed 2026-01-28 16:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hirsh-industries-26in-deep-vertical-file-cabinet-2-drawer-legal-size-black>: HTTP status code is not handled or not allowed 2026-01-28 16:35:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/low-headroom-trolley-hoist-3-ton-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:35:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-square-trash-can-waste-lid-36-gal-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-42-portable-blower-fan-belt-drive-600554>: HTTP status code is not handled or not allowed 2026-01-28 16:35:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-only-sorbent-socks-heavy-weight-white>: HTTP status code is not handled or not allowed 2026-01-28 16:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/universal-heavy-weight-sorbent-pads-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:35:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-only-lightweight-sorbent-pads-White>: HTTP status code is not handled or not allowed 2026-01-28 16:35:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-no-exit-bilingual>: HTTP status code is not handled or not allowed 2026-01-28 16:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-microbial-vinyl-table-pad-rectangular-36-x-60>: HTTP status code is not handled or not allowed 2026-01-28 16:35:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4x1-1-2-split-drive-anchors-1424ADSPR>: HTTP status code is not handled or not allowed 2026-01-28 16:35:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twist-erase-gt-pencils-0-5-mm-hb-2-5-black-lead-red-barrel-dozen>: HTTP status code is not handled or not allowed 2026-01-28 16:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-8-working-length-j-hook-style-c>: HTTP status code is not handled or not allowed 2026-01-28 16:35:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-x-6-working-length-j-hook-style-c>: HTTP status code is not handled or not allowed 2026-01-28 16:35:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glow-sign-vinyl-fire-extinguisher-inside-1>: HTTP status code is not handled or not allowed 2026-01-28 16:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-short-hollow-wall-anchors-1006AWHS>: HTTP status code is not handled or not allowed 2026-01-28 16:35:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/chromed-zamac-countersink-door-pull-kit-zamak-phenolic-hdw0-z0168>: HTTP status code is not handled or not allowed 2026-01-28 16:35:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suredry-high-volume-16-scope-drying-cabinet-w-e-lock-44-inch-w-x-24-inch-d-x-93-inch-h-silver>: HTTP status code is not handled or not allowed 2026-01-28 16:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shipping-labels-with-trueblock-technology-3-1-3-x-4-white-laser-150-pack-5264>: HTTP status code is not handled or not allowed 2026-01-28 16:35:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odorstop-ozone-generator-uv-air-cleaner-with-4-ozone-plates-uv-and-charcoal-filter>: HTTP status code is not handled or not allowed 2026-01-28 16:35:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-exo-vortex-shop-fan-cr1-0314-16>: HTTP status code is not handled or not allowed 2026-01-28 16:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-twin-hoist-lift-beam-yellow-15000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:35:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-lift-beam-yellow-12-l-x-39-w-x-12-h-21lbs-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:35:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6206-open-30mm-bore-62mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-four-drawer-procedure-cart-with-standard-key-lock-navy>: HTTP status code is not handled or not allowed 2026-01-28 16:35:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permanent-self-adhesive-color-coding-labels-1-4-dia-red-450-pack-05790>: HTTP status code is not handled or not allowed 2026-01-28 16:35:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6304-2rsnr-double-sealed-wsnap-ring-20mm-bore-52mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/large-plastic-compartment-box-16-compartments>: HTTP status code is not handled or not allowed 2026-01-28 16:35:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-six-drawer-narrow-procedure-cart-tall-height-mini-width-key-lock-hammertone-red>: HTTP status code is not handled or not allowed 2026-01-28 16:35:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-40-machine-screw-nuts-04NH>: HTTP status code is not handled or not allowed 2026-01-28 16:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-weatherproof-laser-shipping-labels-1-1-3-x-4-700-pack-5522>: HTTP status code is not handled or not allowed 2026-01-28 16:35:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pro-handsoap-free-clear-1-gallon-bottle-4-pack-pl9663-04>: HTTP status code is not handled or not allowed 2026-01-28 16:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-pocket-special-purpose-literature-rack-black>: HTTP status code is not handled or not allowed 2026-01-28 16:35:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-bib-pants-ansi-class-e-300d-oxfordpu-coating-limeblack-s>: HTTP status code is not handled or not allowed 2026-01-28 16:35:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmps1505lmc-fmpro-stainless-steel-41-wx20-1-4-dx43-1-8-h-5-drawer-roller-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 16:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hi-visibility-full-brimmed-ranger-hat-polyester-meshoxford-orange-sm>: HTTP status code is not handled or not allowed 2026-01-28 16:35:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-pocket-rotary-literature-rack-tan>: HTTP status code is not handled or not allowed 2026-01-28 16:35:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6207-open-35mm-bore-72mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36-lift-beam-yellow-18-l-x-39-w-x-12-h-69lbs-6000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:35:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/waterproof-drawstring-pants-ansi-class-e-300d-oxfordpu-coating-lime-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:35:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-grid-panel-gray-12-x-36>: HTTP status code is not handled or not allowed 2026-01-28 16:35:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-servers-warmers-for-satellite-brewer-15gpr-ff-top-hndl>: HTTP status code is not handled or not allowed 2026-01-28 16:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmp2705tc-rd-fmpro-27-w-x-20-d-x-23-5-8-h-5-drawer-red-chest>: HTTP status code is not handled or not allowed 2026-01-28 16:35:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pourover-airpot-coffee-brew-vpr-aps-black>: HTTP status code is not handled or not allowed 2026-01-28 16:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-deep-one-piece-parts-bin-72-openings>: HTTP status code is not handled or not allowed 2026-01-28 16:35:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/4-drawer-aluminum-tall-treatment-cart-key-lock-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:35:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6216-2rs-double-sealed-80mm-bore-140mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16-twin-hoist-lift-beam-yellow-20000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:35:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/champion-fmp1505lmc-rd-fmpro-41-w-x-20-1-4-d-x-43-1-8-h-5-drawer-red-roller-cabinet>: HTTP status code is not handled or not allowed 2026-01-28 16:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dyson-airblade-153-wash-dry-hand-dryer-short-200-240v-247908-01>: HTTP status code is not handled or not allowed 2026-01-28 16:35:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6208-2rsnr-double-sealed-wsnap-ring-40mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mesh-back-task-drafting-stool-fabric-black-apollo-series>: HTTP status code is not handled or not allowed 2026-01-28 16:35:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-shopping-basket-28-liter-with-nylon-handle-206-28l-dark-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:35:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6804zz-double-shielded-20mm-bore-32mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/60-x-30-hydraulic-ergonomic-workbench-plastic-top>: HTTP status code is not handled or not allowed 2026-01-28 16:35:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cantilever-light-fixture-with-shelf-72>: HTTP status code is not handled or not allowed 2026-01-28 16:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octanet-safety-glasses-black-frame-amber-lens-15328>: HTTP status code is not handled or not allowed 2026-01-28 16:35:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nylon-lycra-glove-nitrile-coated-extra-34-874-xxl>: HTTP status code is not handled or not allowed 2026-01-28 16:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-emergency-crash-cart-4-drawers-36-3-4-w-x-22-l-x-37-1-4-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:35:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-16-x-5-working-length-j-hook-style-9>: HTTP status code is not handled or not allowed 2026-01-28 16:35:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-numberal-set-0-9>: HTTP status code is not handled or not allowed 2026-01-28 16:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/i-fit-flex-safety-glasses-orange-frame-gray-lens-16270>: HTTP status code is not handled or not allowed 2026-01-28 16:35:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-economy-light-weight-inspection-gloves-unhemmed-men-97-500-14>: HTTP status code is not handled or not allowed 2026-01-28 16:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/general-duty-nylon-glove-polyurethane-coated-white-33-125-xxl>: HTTP status code is not handled or not allowed 2026-01-28 16:35:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oty-14052-1-4-inch-4-inch-master-flash-roof-flashings-8-inch-x-8-inch-base>: HTTP status code is not handled or not allowed 2026-01-28 16:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-5-medium-weight-inspection-gloves-unhemmed-mens-97-521>: HTTP status code is not handled or not allowed 2026-01-28 16:35:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tall-savary-dilator-drying-cart-hepa-filter-23-89-100-wx22-lx51-89-100-h-teal>: HTTP status code is not handled or not allowed 2026-01-28 16:35:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cold-protection-hi-vis-terry-glove-latex-coated-41-1400-s>: HTTP status code is not handled or not allowed 2026-01-28 16:35:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/61822-s383p-class-2-mesh-vest-hi-vis-orange-contrasting-trim-sm>: HTTP status code is not handled or not allowed 2026-01-28 16:35:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 126044 pages (at 96 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-isolation-cart-4-drawers-37-1-2-w-x-22-l-x-42-63-100-h-brushed-silver>: HTTP status code is not handled or not allowed 2026-01-28 16:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-tall-height-36-3-4-w-x-22-d-x-43-3-4-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:35:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-emergency-crash-cart-4-drawers-36-3-4-w-x-22-l-x-37-1-4-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cone-sign-blank-1>: HTTP status code is not handled or not allowed 2026-01-28 16:35:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-emergency-crash-cart-4-drawers-36-3-4-w-x-22-l-x-37-1-4-h-brushed-silver>: HTTP status code is not handled or not allowed 2026-01-28 16:35:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6338m-open-190mm-bore-400mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/glowear-8377-type-r-class-3-quilted-bomber-jacket-orange-4xl-25618>: HTTP status code is not handled or not allowed 2026-01-28 16:35:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dual-voltage-370-440-oval-run-capacitor-60-mfd-60dv>: HTTP status code is not handled or not allowed 2026-01-28 16:36:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dot-placard-corrosive-1>: HTTP status code is not handled or not allowed 2026-01-28 16:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/octanet-safety-glasses-black-frame-in-out-mirror-lens-15330>: HTTP status code is not handled or not allowed 2026-01-28 16:36:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-aluminium-medical-cart-tall-height-36-3-4-w-x-22-d-x-43-3-4-h-white>: HTTP status code is not handled or not allowed 2026-01-28 16:36:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6316-2rs-double-sealed-80mm-bore-170mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12-48-economy-h-beam-adjustable-length-yellow-78-l-x-40-w-x-36-h-255lbs-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:36:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-only-boom-10-x-8-532-gallon-capacity-4pack>: HTTP status code is not handled or not allowed 2026-01-28 16:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/arsenal-5940t-swiveling-carabiner-canvas-hoist-bucket-w-top-14840>: HTTP status code is not handled or not allowed 2026-01-28 16:36:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-tote-18-1-4-x-13-1-4-x-6-natural-qty-100-plus>: HTTP status code is not handled or not allowed 2026-01-28 16:36:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6471-thermal-overalls-black-xl-41215>: HTTP status code is not handled or not allowed 2026-01-28 16:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6213-open-65mm-bore-120mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:36:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nestable-tote-30-5-8-x-18-7-8-x-9-1-8-natural-qty-100-plus>: HTTP status code is not handled or not allowed 2026-01-28 16:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-isolation-cart-5-drawers-e-lock-30-w-x-22-l-x-37-1-4-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:36:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tsa-accepted-luggage-combination-padlock-1-3-8-set-your-own-assorted-colors-4697d>: HTTP status code is not handled or not allowed 2026-01-28 16:36:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-short-isolation-cart-5-drawers-e-lock-30-w-x-22-l-x-37-1-4-h-white>: HTTP status code is not handled or not allowed 2026-01-28 16:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/knockdown-tray-24-x-12-x-4-1-2-natural-qty-100-plus>: HTTP status code is not handled or not allowed 2026-01-28 16:36:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-dia-x-12-working-length-j-hook-style-a>: HTTP status code is not handled or not allowed 2026-01-28 16:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/n-ferno-6471-thermal-overalls-black-s-41212>: HTTP status code is not handled or not allowed 2026-01-28 16:36:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6817zz-double-shielded-85mm-bore-110mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:36:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/schoolmate-deluxe-stereo-headphone-with-3-5mm-plug>: HTTP status code is not handled or not allowed 2026-01-28 16:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6911zz-double-shielded-55mm-bore-80mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:36:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-plastic-shopping-cart-6-3-cu-foot-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:36:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/poly-green-wire-shelf-platform-p1836g-36w-x-18d>: HTTP status code is not handled or not allowed 2026-01-28 16:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6912-open-60mm-bore-85mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:36:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bronchoscope-drying-cabinet-wall-mount-key-lock-24-w-x-12-3-4-d-x-48-h-white>: HTTP status code is not handled or not allowed 2026-01-28 16:36:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6322zz-double-shielded-110mm-bore-240mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:36:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/single-frame-72-x-38-yellow-500-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/8-spread-basket-lifting-beam-yellow-4000-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:36:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-epoxy-wire-shelf-platform-p2424b-24w-x-24d>: HTTP status code is not handled or not allowed 2026-01-28 16:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/red-arrows-up-air-label-pvc-free-film-2-15-16-inch-x-4-1-8-inch-500-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:36:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pg-iii-placard-worded-removable-vinyl-25-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flashing-light-led-120-240vac-hazardous-location-amber-191xl-120-240a>: HTTP status code is not handled or not allowed 2026-01-28 16:36:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/light-sounder-combination-flashing-120vac-green-av1-120g>: HTTP status code is not handled or not allowed 2026-01-28 16:36:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/driver-s-daily-log-book-2-sided-carbon-pages>: HTTP status code is not handled or not allowed 2026-01-28 16:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbl242412g-lbox-lbox-wall-mount-cab-2400x2400x1200>: HTTP status code is not handled or not allowed 2026-01-28 16:36:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-emergency-cart-short-height-5-drawers-18-w-x-18-l-x-34-1-2-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 16:36:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-emergency-cart-short-height-5-drawers-18-wx18-lx34-1-2-h-hammertone-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6012zznr-double-shielded-wsnap-ring-60mm-bore-95mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:36:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6324zz-double-shielded-120mm-bore-260mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:36:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-radial-ball-bearing-6219zz-double-shielded-95mm-bore-170mm-od>: HTTP status code is not handled or not allowed 2026-01-28 16:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hydraulic-cylinder-for-jet-j3130-3230-band-saws>: HTTP status code is not handled or not allowed 2026-01-28 16:36:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/40-392f-pocket-digital-thermometer>: HTTP status code is not handled or not allowed 2026-01-28 16:36:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/flammable-liquid-label-worded-pvc-free-film-500-roll>: HTTP status code is not handled or not allowed 2026-01-28 16:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1ml-bacteriological-milk-pipet-bulk-packed-in-bags-sterile-500-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:36:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/bilco-l-20-galvanized-roof-hatch-30x96>: HTTP status code is not handled or not allowed 2026-01-28 16:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pthw362415g2-protek-dh-window-3630x2362x1496-type-nema-12>: HTTP status code is not handled or not allowed 2026-01-28 16:36:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/50ml-serological-pipet-individually-wrap-paper-plastic-bag-sterile-polystrene-200-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:36:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fixed-height-led-lcd-monitor-wall-mount-arm-with-vesa-plate-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-propelled-21-lithium-ion-powered-pallet-jack-truck-3300-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:36:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/strobe-12-24vdc-pipe-surface-mount-green-fb2pst-012-024g>: HTTP status code is not handled or not allowed 2026-01-28 16:36:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000mm-drylin-t-mini-hard-anodized-aluminum-rail-size-12>: HTTP status code is not handled or not allowed 2026-01-28 16:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/oil-control-valve-meter-nozzle-10gpm-35lpm>: HTTP status code is not handled or not allowed 2026-01-28 16:36:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-procedure-cart-6-drawers-e-lock-36-3-4-w-x-22-l-x-43-3-4-h-light-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:36:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/an1032-clip-nut-pkg-rack-a-qty-20-1032-steelzinc>: HTTP status code is not handled or not allowed 2026-01-28 16:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suredry-10-scope-cabinet-w-dri-scope-aid-e-lock-30-w-x-24-d-x-93-h-teal>: HTTP status code is not handled or not allowed 2026-01-28 16:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-procedure-cart-6-drawers-e-lock-36-3-4-w-x-22-l-x-43-3-4-h-teal>: HTTP status code is not handled or not allowed 2026-01-28 16:36:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fight-germs-by-washing-your-hands-sticker-10x14-adhesive-backed-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 16:36:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-procedure-cart-6-drawers-e-lock-36-3-4-w-x-22-l-x-43-3-4-h-white>: HTTP status code is not handled or not allowed 2026-01-28 16:36:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-acrylic-plastic-sheet-18-thick-x-48w-x-96l>: HTTP status code is not handled or not allowed 2026-01-28 16:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-acrylic-plastic-sheet-316-thick-x-48w-x-48l>: HTTP status code is not handled or not allowed 2026-01-28 16:36:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-trade-show-supertrunk-with-wheels-843-36-ww-38l-x-26w-x-31h-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:36:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-trade-show-supertrunk-with-wheels-843-4026-ww-42l-x-26w-x-33h-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-drylin-r-polymer-linear-bearing-with-shell>: HTTP status code is not handled or not allowed 2026-01-28 16:36:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rugged-transit-case-foam-lined-852-carrying-case-24l-x-20w-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000mm-drylin-with-10mm-single-guide-rail>: HTTP status code is not handled or not allowed 2026-01-28 16:36:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enpac-hdpe-spill-containment-cover-for-2-drum-workstation-60l-x-39-1-4w-x-433h>: HTTP status code is not handled or not allowed 2026-01-28 16:36:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stop-please-wait-here-until-called-forward-6-round>: HTTP status code is not handled or not allowed 2026-01-28 16:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facility-flange-sign-aed>: HTTP status code is not handled or not allowed 2026-01-28 16:36:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facility-flange-sign-emergency-shower>: HTTP status code is not handled or not allowed 2026-01-28 16:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suit-carrying-shipping-case-with-wheels-228-3610-ww-42l-x-20w-x-12h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:36:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/suit-carrying-shipping-case-with-wheels-228-3620-ww-42l-x-22w-x-14h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/triple-column-storage-cabinet-electronic-keypad-lock-60-w-x-28-d-x-81-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:36:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-narrow-procedure-cart-6-drawers-key-lock-18-w-x-18-l-x-40-3-4-h-sand>: HTTP status code is not handled or not allowed 2026-01-28 16:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lopro-series-curtain-48-wide-door-electric-heated-208360-13-kw-obsidian-black>: HTTP status code is not handled or not allowed 2026-01-28 16:36:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/facility-visi-sign-phone>: HTTP status code is not handled or not allowed 2026-01-28 16:36:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m6-10-carbon-steel-insert-for-metal-650-6>: HTTP status code is not handled or not allowed 2026-01-28 16:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/03-768blk-cpu-vertical-panel-black-45-xl-curbside-pickup-here>: HTTP status code is not handled or not allowed 2026-01-28 16:36:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shippable-rugged-transit-case-929-carry-case-foam-filled-24-3-4x16-1-4x12-black>: HTTP status code is not handled or not allowed 2026-01-28 16:36:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161222-comfort-construction-style-climbing-harness-quick-connect-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/syringe-filter-ca-0-80-181-m-30mm-sterile-red-polypropylene-30-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:36:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a-series-narrow-medical-cart-6-drawers-e-lock-24-3-4-wx22-lx43-3-4-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1000ml-erlenmeyer-flask-solid-cap-plain-bottom-petg-sterile-6-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:36:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/permeable-cell-culture-insert-pkd-in-24-well-plate-hanging-pet-8-0-181-m-24pk>: HTTP status code is not handled or not allowed 2026-01-28 16:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-insert-for-soft-wood-flush-801420-13>: HTTP status code is not handled or not allowed 2026-01-28 16:36:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1161225-comfort-construction-style-climbing-harness-tongue-buckle-quick-connect-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m-series-tall-anesthesia-cart-6-drawers-e-lock-47-5-8-w-x-22-l-x-66-3-4-h-forest-green>: HTTP status code is not handled or not allowed 2026-01-28 16:36:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/511-rotunda-graphics-case-with-wheels-trade-show-case-14l-x-14w-x-77h-black>: HTTP status code is not handled or not allowed 2026-01-28 16:36:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/100mm-x-15mm-petri-dish-w-grip-ring-sterile-clear-polystyrene-500-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20-200-181-l-pipette-adjustable-volume-single-channel-gray-pvdf>: HTTP status code is not handled or not allowed 2026-01-28 16:36:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/graphic-safety-labels-no-exit>: HTTP status code is not handled or not allowed 2026-01-28 16:36:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-8-16-insert-for-soft-wood-flanged-903816-25>: HTTP status code is not handled or not allowed 2026-01-28 16:36:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 126142 pages (at 98 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/250ml-erlenmeyer-flask-solid-cap-plain-bottom-petg-sterile-12-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:36:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/half-ht-double-column-med-storage-cabinet-keylock-40-1-10-wx29-1-4-dx40-3-4-h-beige>: HTTP status code is not handled or not allowed 2026-01-28 16:36:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/em3464-blower-motor-1-2-1-6-hp-1075-rpm-208-230v>: HTTP status code is not handled or not allowed 2026-01-28 16:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/500ml-solution-bottle-sterile-24-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:36:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/600ml-suspension-culture-flask-vent-cap-sterile-40-pk>: HTTP status code is not handled or not allowed 2026-01-28 16:36:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/d1100-oem-motor-for-loren-cook-shaded-pole-1-50-hp-1550-900-rpm-115v-open-ventilated>: HTTP status code is not handled or not allowed 2026-01-28 16:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/option-work-glove-black-synthetic-leather-palm-xl-1-pair-gon-17kk1l>: HTTP status code is not handled or not allowed 2026-01-28 16:37:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m25-04-tapered-ultrasonic-insert-single-vane-th-m25-sv>: HTTP status code is not handled or not allowed 2026-01-28 16:37:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/m5-08-tapered-ultrasonic-insert-single-vane-th-m50-sv>: HTTP status code is not handled or not allowed 2026-01-28 16:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/grunt-work-glove-gray-black-synthetic-leather-palm-l-1-pair-ggt-17ykl>: HTTP status code is not handled or not allowed 2026-01-28 16:37:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hand-held-18-oz-gas-horn-497>: HTTP status code is not handled or not allowed 2026-01-28 16:37:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/labor-law-poster-minnesota>: HTTP status code is not handled or not allowed 2026-01-28 16:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/atomic-blue-ns-splinting-material-18-x-24-x-1-8-non-perforated>: HTTP status code is not handled or not allowed 2026-01-28 16:37:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-ns-splinting-material-18-x-24-x-1-8-mini-perforated>: HTTP status code is not handled or not allowed 2026-01-28 16:37:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hazardous-location-blower-hadp9-1-hp-1-ph-explosion-proof-cw-upblast>: HTTP status code is not handled or not allowed 2026-01-28 16:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/a6044chnfss6-j-box-continuous-hinge-with-clamps-type-4x-600x400x400in-ss-type-316l>: HTTP status code is not handled or not allowed 2026-01-28 16:37:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/notrax-174-employees-must-wash-hands-safety-message-mat-3-8-thick-4-x-6-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:37:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/splinting-material-18-x-24-x-1-16-micro-perforated>: HTTP status code is not handled or not allowed 2026-01-28 16:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/classic-soft-splinting-material-24-x-36-x-3-16-mini-perforated>: HTTP status code is not handled or not allowed 2026-01-28 16:37:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/209sf-series-3-8-hss-steam-oxide-90-degree-angle-1-flute-countersink-3-8x1-4x1-3-4>: HTTP status code is not handled or not allowed 2026-01-28 16:37:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/csd24168ss-conceptwall-mt-encl-type-4x-2400x1600x800in-ss-type-304>: HTTP status code is not handled or not allowed 2026-01-28 16:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polly-products-econo-mizer-6-ft-backed-bench-with-arms-cedar-bench-brown-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:37:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polly-products-cambridge-6-ft-backed-bench-with-arms-cedar-bench-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:37:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/anti-microbial-height-adjustable-folding-table-72-inch-l-x-30-inch-w-x-22-to-32-inch-h-gray-granite>: HTTP status code is not handled or not allowed 2026-01-28 16:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ra-1000t-5-8-pneumatic-roll-stapler>: HTTP status code is not handled or not allowed 2026-01-28 16:37:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-4-20-flanged-press-insert-stainless-260-4-cr>: HTTP status code is not handled or not allowed 2026-01-28 16:37:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polly-products-econo-mizer-4-ft-backed-bench-with-arms-brown-bench-black-frame>: HTTP status code is not handled or not allowed 2026-01-28 16:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rc-1000t-3-4-pneumatic-roll-stapler>: HTTP status code is not handled or not allowed 2026-01-28 16:37:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3001kl-am-assembled-antimicrobial-digital-platform-scale-1000-lb-x-0-2-lb>: HTTP status code is not handled or not allowed 2026-01-28 16:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/swc-7437-1-2-4m-bostitch-style-roll-staples>: HTTP status code is not handled or not allowed 2026-01-28 16:37:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergodyne-core-performance-work-wear-153-6485-multi-band-realtree-174-one-size>: HTTP status code is not handled or not allowed 2026-01-28 16:37:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14-ga-triple-tier-locker-w-keyless-entry-lock-9-compartments-54-wx18-dx75-h-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tele-pro-davit-crane-500-lb-capcity-w-manual-winch-and-brake>: HTTP status code is not handled or not allowed 2026-01-28 16:37:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ns-soft-splinting-material-18-x-24-x-1-12-non-perforated>: HTTP status code is not handled or not allowed 2026-01-28 16:37:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-single-door-cabinet-that-features-3-shelves-30-w-x-24-d-x-72-h>: HTTP status code is not handled or not allowed 2026-01-28 16:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-roller-bearing-cup-lm78310a>: HTTP status code is not handled or not allowed 2026-01-28 16:37:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-roller-bearing-cup-m88010>: HTTP status code is not handled or not allowed 2026-01-28 16:37:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tapered-roller-bearing-cone-15123>: HTTP status code is not handled or not allowed 2026-01-28 16:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-glow-danger-high-voltage-do-not-enter>: HTTP status code is not handled or not allowed 2026-01-28 16:37:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/portable-tabletop-charcoal-grill-and-side-firebox>: HTTP status code is not handled or not allowed 2026-01-28 16:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/heavy-duty-18-ga-counter-height-cabinet-2-adjustable-shelves-36-w-x-24-d-x-42-h>: HTTP status code is not handled or not allowed 2026-01-28 16:37:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-lug-style-butterfly-valve-w-epdm-seals-and-dbl-acting-pneum-actuator>: HTTP status code is not handled or not allowed 2026-01-28 16:37:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/think-osha-7x10-plastic-safety-is-everyone-s-job>: HTTP status code is not handled or not allowed 2026-01-28 16:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/security-notice-aluminum-restricted-area-monitored-by-video-camera>: HTTP status code is not handled or not allowed 2026-01-28 16:37:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/s1600-system-inverted-striping-paint-aerosol-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:37:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/dbi-sala-lad-saf-85-ft-swaged-stainless-steel-cable-3-8-dia-1-7-strand-6105085>: HTTP status code is not handled or not allowed 2026-01-28 16:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/siesta-maya-resin-dining-chair-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:37:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-surface-mounted-90-corner-guard-3-4-inch-wing-8-foot-h-clear-un-drilled>: HTTP status code is not handled or not allowed 2026-01-28 16:37:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/top-cap-for-cg-30-corner-guard-gray-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 16:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-surface-mounted-90-corner-guard-1-1-8-inch-wing-4-foot-h-black-drilled>: HTTP status code is not handled or not allowed 2026-01-28 16:37:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/polycarbonate-surface-mounted-90-corner-guard-1-1-8-inch-wing-4-foot-h-clear-drilled>: HTTP status code is not handled or not allowed 2026-01-28 16:37:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/surface-mounted-end-wall-90-degrees-corners-2-ft-ft-wings-12-ft-h-w-caps-6-inch-w-desert-sand-recycled-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 16:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000b-table-saw-5hp-1ph-230v-50-rip-w-accu-fence-workbench>: HTTP status code is not handled or not allowed 2026-01-28 16:37:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2000b-table-saw-5hp-1ph-230v-50-rip-w-accu-fence-router-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-55-limit-switch-42-5-1-gear-ratio-w-2-contact-blocks>: HTTP status code is not handled or not allowed 2026-01-28 16:37:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-inner-drain-tube-for-nexel-model-243004>: HTTP status code is not handled or not allowed 2026-01-28 16:37:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lithonia-wgibe-wire-guard-fits-the-ibe-series-led-high-bay>: HTTP status code is not handled or not allowed 2026-01-28 16:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/vinyl-surface-mounted-corner-guard-90-degrees-corner-3-4-inch-wings-12-ft-h-sage-grn-vinyl>: HTTP status code is not handled or not allowed 2026-01-28 16:37:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/aluminum-hand-truck-double-handle-pneumatic-wheels-987092>: HTTP status code is not handled or not allowed 2026-01-28 16:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/powerpoint-hoist-ring-360-pivot-17-630-lb-load-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:37:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-332-thick-x-1-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:37:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/series-54-watertight-limit-switch-36-1-gear-ratio-w-3-contact-blocks>: HTTP status code is not handled or not allowed 2026-01-28 16:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-14-thick-x-8-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:37:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pictorial-osha-sign-vinyl-danger-confined-space-enter-by-permit-only>: HTTP status code is not handled or not allowed 2026-01-28 16:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/1-1-2-3-pc-ss-npt-ball-valve-w-da-pneumatic>: HTTP status code is not handled or not allowed 2026-01-28 16:37:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/open-plan-standing-height-desk-60-w-x-30-d-x-40-h-gray-top-with-black-legs>: HTTP status code is not handled or not allowed 2026-01-28 16:37:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-acrylic-plastic-bar-14-thick-x-34-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/restricted-area-plastic-high-voltage-keep-out>: HTTP status code is not handled or not allowed 2026-01-28 16:37:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/restricted-area-aluminum-keep-out>: HTTP status code is not handled or not allowed 2026-01-28 16:37:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/osha-gauge-for-blowguns>: HTTP status code is not handled or not allowed 2026-01-28 16:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stainless-steel-hose-restraint-19-29-100-l>: HTTP status code is not handled or not allowed 2026-01-28 16:37:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-esdanti-static-counter-jacket-electronic-blue-polyesternylon-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-rod-2-diameter-x-1-ft-long>: HTTP status code is not handled or not allowed 2026-01-28 16:37:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/45-ton-6-hole-air-compensated-pintle-hook-brake-chamber-bracket-p45ac6bk>: HTTP status code is not handled or not allowed 2026-01-28 16:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fork-lift-beam-single-fork-single-swivel-hook-3000lb-4-1-2-dim-a-size>: HTTP status code is not handled or not allowed 2026-01-28 16:37:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/esdanti-static-operations-coverall-navy-polyesternylon-tall-l>: HTTP status code is not handled or not allowed 2026-01-28 16:37:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/machine-labels-caution-avoid-skin-contact>: HTTP status code is not handled or not allowed 2026-01-28 16:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/2-way-die-cast-zinc-trailer-connector-truck-side-tc1002>: HTTP status code is not handled or not allowed 2026-01-28 16:37:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/9-32-g8-mech-coupling-lk>: HTTP status code is not handled or not allowed 2026-01-28 16:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/three-point-hitch-spreader-mount-3005345>: HTTP status code is not handled or not allowed 2026-01-28 16:37:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cruciform-safety-chain-bracket-sc450c>: HTTP status code is not handled or not allowed 2026-01-28 16:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sitevault-drop-front-steel-60-l-x-31-w>: HTTP status code is not handled or not allowed 2026-01-28 16:37:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-specialized-cuffed-lab-coat-winside-pocket-white-polycombed-cotton-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/best-value-folding-hand-cart-150-lb-capacity>: HTTP status code is not handled or not allowed 2026-01-28 16:37:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3-16-quick-link-20-ctn>: HTTP status code is not handled or not allowed 2026-01-28 16:37:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extra-shelving-48x18x60-2>: HTTP status code is not handled or not allowed 2026-01-28 16:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3in-id-heavy-duty-forged-4-bolt-mount-drawbar-bdb1385>: HTTP status code is not handled or not allowed 2026-01-28 16:37:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-light-22-chandelier-with-clear-ribbed-shades-old-bronze>: HTTP status code is not handled or not allowed 2026-01-28 16:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mpb99-4-1-2-x-4-1-2-nrp-us32d-6-l-x-6-w-x-2-h-8-1-2-dia>: HTTP status code is not handled or not allowed 2026-01-28 16:37:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-inch-prewired-vehicle-side-replacement-cable-tc1242>: HTTP status code is not handled or not allowed 2026-01-28 16:37:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unistrut-1-58-channel-nuts-wo-spring-p3006-1420eg-electro-galvanized-14-20>: HTTP status code is not handled or not allowed 2026-01-28 16:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-action-back-coverall-navyyellow-polyestercotton-regular-52>: HTTP status code is not handled or not allowed 2026-01-28 16:37:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-axle-for-8hbw23-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:37:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-14-thick-x-6-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-lab-coat-light-gray-polycombed-cotton-40>: HTTP status code is not handled or not allowed 2026-01-28 16:37:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 126237 pages (at 95 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:37:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/towing-ball-mount-w-dual-black-balls-2in-and-2-5-16in-balls-1803215>: HTTP status code is not handled or not allowed 2026-01-28 16:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/48-panel-mounting-kit-tan-2>: HTTP status code is not handled or not allowed 2026-01-28 16:37:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-bar-12-thick-x-1-14-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:37:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-short-sleeve-work-shirt-fluorescent-yellowgreen-regular-m>: HTTP status code is not handled or not allowed 2026-01-28 16:37:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tri-ball-hitch-tubular-shank-w-black-balls-and-recovery-hook-1802208>: HTTP status code is not handled or not allowed 2026-01-28 16:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-20-hp-3600-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:37:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/brake-control-wiring-harness-chevy-gmc-various-models-02-07-bchgm03>: HTTP status code is not handled or not allowed 2026-01-28 16:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-14-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:38:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-ewr-series-pallet-trucks-ba-154144>: HTTP status code is not handled or not allowed 2026-01-28 16:38:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/36x48x86-chrome-wire-shelving-with-8-36-d-hopper-bins-blue-2>: HTTP status code is not handled or not allowed 2026-01-28 16:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-25-hp-1200-rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:38:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6-x-96-rub-rail-040-thick-pale-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-industrial-short-sleeve-work-shirt-gray-polycotton-regular-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:38:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/designer-stacking-arm-chair-desk-w-right-handed-tablet-charcoal-seat-back>: HTTP status code is not handled or not allowed 2026-01-28 16:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/odp-w-rigid-base-2hp-1200rpm>: HTTP status code is not handled or not allowed 2026-01-28 16:38:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/14x36x74-chrome-wire-shelving-with-48-giant-stacking-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 16:38:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/20in-green-scrubbing-pad-5-per-case>: HTTP status code is not handled or not allowed 2026-01-28 16:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-long-sleeve-work-shirt-fluorescent-yellowgreen-regular-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:38:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-40-6-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 16:38:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/enhanced-visibility-industrial-short-sleeve-work-shirt-navy-polycotton-regular-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/lodestar-electric-chain-hoist-1-ton-6-ft-lift-8-fpm-460v-1-2-hp-2-step-controller>: HTTP status code is not handled or not allowed 2026-01-28 16:38:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/extension-set-for-1654-1655-1670-and-1671>: HTTP status code is not handled or not allowed 2026-01-28 16:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/unisex-excel-flame-resistant-lab-coat-7-oz-light-blue-cotton-s>: HTTP status code is not handled or not allowed 2026-01-28 16:38:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-64-6-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 16:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-12-thick-x-36-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 16:38:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-lf-shackle-gold-dial>: HTTP status code is not handled or not allowed 2026-01-28 16:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/exit-roller-axle-for-pe-3000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:38:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-spill-pallet-p4-no-drain>: HTTP status code is not handled or not allowed 2026-01-28 16:38:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-8-giant-stacking-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/contacts-for-gpw-series-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:38:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-spill-tray-p4>: HTTP status code is not handled or not allowed 2026-01-28 16:38:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-3-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/sp191-4-premium-plier-staples-for-p3-chrome-5000-pack-40-case>: HTTP status code is not handled or not allowed 2026-01-28 16:38:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-tray-without-grating-black>: HTTP status code is not handled or not allowed 2026-01-28 16:38:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ultra-containment-berm-collapsible-wall-model-12-x-60>: HTTP status code is not handled or not allowed 2026-01-28 16:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-key-control-gold>: HTTP status code is not handled or not allowed 2026-01-28 16:38:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/twist-balance-trainer-7-8-diameter-red-with-black-set-of-2>: HTTP status code is not handled or not allowed 2026-01-28 16:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballkissen-senso-xl-cushion-14-diameter-green>: HTTP status code is not handled or not allowed 2026-01-28 16:38:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-3-thick-x-16-wide-x-32-long>: HTTP status code is not handled or not allowed 2026-01-28 16:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-pmx-walkie-pallet-truck>: HTTP status code is not handled or not allowed 2026-01-28 16:38:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/material-handling-cart-6000-capacity-lbs>: HTTP status code is not handled or not allowed 2026-01-28 16:38:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-general-security-combo-padlock-key-control-purple-dial>: HTTP status code is not handled or not allowed 2026-01-28 16:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/master-lock-built-in-combo-lock-ada-compliant-wrap-around-latch-purple>: HTTP status code is not handled or not allowed 2026-01-28 16:38:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/self-adhesive-coated-fasteners-with-2-inch-capacity-purple-50-box>: HTTP status code is not handled or not allowed 2026-01-28 16:38:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ergonomic-adj-height-pallet-stand-with-handle-40-x-48-solid-deck>: HTTP status code is not handled or not allowed 2026-01-28 16:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-w-40-xl-w-40-xt-pallet-trucks-hy-2302392-a>: HTTP status code is not handled or not allowed 2026-01-28 16:38:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ignition-switch-for-w-40-xl-w-40-xt-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:38:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/camcover-versa-10-13-32-antique-parchment>: HTTP status code is not handled or not allowed 2026-01-28 16:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/magnetic-glass-board-48-x-36>: HTTP status code is not handled or not allowed 2026-01-28 16:38:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/fiberglass-pallet-wand-for-strapping-wand-3>: HTTP status code is not handled or not allowed 2026-01-28 16:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cover-for-w-40z-b218-45z-c215-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:38:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-b60zhd-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:38:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/3m-particulate-respirator>: HTTP status code is not handled or not allowed 2026-01-28 16:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-with-6-deep-deck-30-x-60-adj-height-polyurethane>: HTTP status code is not handled or not allowed 2026-01-28 16:38:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/work-height-platform-truck-with-6-deep-deck-24-x-60-fixed-height-polyurethane>: HTTP status code is not handled or not allowed 2026-01-28 16:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rp-351-battery-kit-w-propress-jaws-1-2-2-18v-li-ion>: HTTP status code is not handled or not allowed 2026-01-28 16:38:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/uhmw-polyethylene-plastic-bar-38-thick-x-12-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:38:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-ner-dual-speed-electric-chain-hoist-18-10-559>: HTTP status code is not handled or not allowed 2026-01-28 16:38:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-for-w-45z-hd-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/16w-led-dock-light-on-40-arm>: HTTP status code is not handled or not allowed 2026-01-28 16:38:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-for-wave-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:38:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-crinkle-latex-coated-gloves-hi-viz-lime-black-x-large-1-pair>: HTTP status code is not handled or not allowed 2026-01-28 16:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/steer-arm-shaft-for-mp-mpb-040-ac-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:38:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pin-hinge-for-pe-4000-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:38:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-lb-lever-hoist-3-10-foot-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-bracket-with-bushings-for-wpt45-rev-c-jan-2013-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:38:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tumbler-clrw-12oz-72qty-slate-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-standard-capacity-xl8-pleated-panel-ext-surface-12-inch-w-x-12-inch-h-x-1-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 16:38:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/koch-filter-merv-8-high-capacity-xl8-pleated-extended-surface-12-inch-w-x-20-inch-h-x-2-inch-d>: HTTP status code is not handled or not allowed 2026-01-28 16:38:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-lb-lever-hoist-34-20-foot-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/antimicrobial-full-strip-metal-stapler-25-sheet-capacity-magenta-wine-metallic>: HTTP status code is not handled or not allowed 2026-01-28 16:38:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-cf-hand-chain-hoist-1-12-10-lift>: HTTP status code is not handled or not allowed 2026-01-28 16:38:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x42x75-steel-shelving-with-27-magnum-giant-hopper-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/full-sized-desktop-stapler-20-sheet-capacity-black>: HTTP status code is not handled or not allowed 2026-01-28 16:38:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5-tier-corner-shelf-27l-x-18w-x-72h-chrome>: HTTP status code is not handled or not allowed 2026-01-28 16:38:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/small-plastic-bin-11-34l-x-7-34w-x-5h-light-pink>: HTTP status code is not handled or not allowed 2026-01-28 16:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/switch-for-gpw-series-pallet-trucks-cr-102768>: HTTP status code is not handled or not allowed 2026-01-28 16:38:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/550s-side-cabinet-w-6-drawers-25-1-4-d-x-34-h-red>: HTTP status code is not handled or not allowed 2026-01-28 16:38:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-sheet-58-thick-x-24-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-push-trolley-1-15-7>: HTTP status code is not handled or not allowed 2026-01-28 16:38:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-10ft-mobile-cafeteria-stool-unit-with-mdf-core-top-protect-edge-gray-top-blue-stool>: HTTP status code is not handled or not allowed 2026-01-28 16:38:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-7ft-mobile-convertible-bench-unit-with-ganging-mdf-core-top-protect-edge-oak>: HTTP status code is not handled or not allowed 2026-01-28 16:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/6u-linier-fixed-wall-mount-cabinet-solid-door>: HTTP status code is not handled or not allowed 2026-01-28 16:38:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-38-thick-x-18-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:38:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nps-8ft-mobile-convertible-bench-unit-with-ganging-mdf-core-top-protect-edge-walnut>: HTTP status code is not handled or not allowed 2026-01-28 16:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/watertight-4-pistol-and-equipment-case-17-1-8-l-x-14-7-8-w-x-5-3-4-h>: HTTP status code is not handled or not allowed 2026-01-28 16:38:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-sheet-34-thick-x-16-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cast-acrylic-plastic-sheet-14-thick-x-36-long-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:38:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/zurn-z825v1-6m-deck-mounted-vb-gooseneck-lab-faucet>: HTTP status code is not handled or not allowed 2026-01-28 16:38:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wexterior-top-pocket-spun-polyester-white-3xl>: HTTP status code is not handled or not allowed 2026-01-28 16:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10w-smart-solar-led-street-light-with-integrated-lithium-battery>: HTTP status code is not handled or not allowed 2026-01-28 16:38:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-navy-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-sner-electric-chain-hoist-motor-trolley-14-10-14>: HTTP status code is not handled or not allowed 2026-01-28 16:38:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-light-blue-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:38:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/harrington-hpc-500-convertible-push-end-trucks-1-capacity-24>: HTTP status code is not handled or not allowed 2026-01-28 16:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/pull-rod-pin-for-w-40-xl-w-40-xt-pallet-trucks-hy-3008398>: HTTP status code is not handled or not allowed 2026-01-28 16:38:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 126333 pages (at 96 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:38:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/nachi-5304zz-double-row-angular-contact-bearing-double-shielded-20mm-bore-x-52mm-od-x-22-2mm-w>: HTTP status code is not handled or not allowed 2026-01-28 16:38:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/hog-heaven-iii-mod-tile-comfort-18-middle>: HTTP status code is not handled or not allowed 2026-01-28 16:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxtrac-snow-blower-garden-tractor-chains-2-link-4-0-cross-chainpair-1065156>: HTTP status code is not handled or not allowed 2026-01-28 16:38:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxtrac-snow-blower-garden-tractor-chains-2-link-4-0-cross-chainpair-1065256>: HTTP status code is not handled or not allowed 2026-01-28 16:38:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/kwikool-optional-air-chute-kit-kcd-60-for-kib6021-5-ton-and-kib6043-5-ton-iceberg-models>: HTTP status code is not handled or not allowed 2026-01-28 16:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/panel-fan-24-diameter-single-phase-120v-with-grill>: HTTP status code is not handled or not allowed 2026-01-28 16:38:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/12x36x74-chrome-wire-shelving-with-44-4-h-shelf-bins-red>: HTTP status code is not handled or not allowed 2026-01-28 16:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-7-step-perforated-cantilever-ladder-14-overhang>: HTTP status code is not handled or not allowed 2026-01-28 16:39:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-9-step-serrated-cantilever-ladder-14-overhang>: HTTP status code is not handled or not allowed 2026-01-28 16:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cook-pants-black-white-check-polyestercotton-twill-36-x-30>: HTTP status code is not handled or not allowed 2026-01-28 16:39:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-shelving-with-55-4-h-shelf-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 16:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-for-8hbw23-pallet-trucks-to-00590-53386-71-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:39:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/maxtrac-snow-blower-garden-tractor-tire-chains-4-link-spacing-pair-1062155>: HTTP status code is not handled or not allowed 2026-01-28 16:39:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ballymore-12-step-serrated-cantilever-ladder-14-overhang>: HTTP status code is not handled or not allowed 2026-01-28 16:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wesco-liftkar-sal-ergo-stair-climbing-truck-375-lb-cap-microcellular-wheels>: HTTP status code is not handled or not allowed 2026-01-28 16:39:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/caster-wheel-assembly-for-pe-4500-pallet-trucks-cr-083179-302-a>: HTTP status code is not handled or not allowed 2026-01-28 16:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/replacement-cutter-wheel-kit-model-g>: HTTP status code is not handled or not allowed 2026-01-28 16:39:05 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x36x74-chrome-wire-shelving-with-55-4-h-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:39:06 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/repair-kit-vibco-rk-bvs-510>: HTTP status code is not handled or not allowed 2026-01-28 16:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/push-rod-for-mpb-040-e-b827-mpw-045-e-b802-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:39:07 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/gripper-front-butcher-coat-wknit-cuffs-pocket-less-spun-polyester-light-blue-l>: HTTP status code is not handled or not allowed 2026-01-28 16:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-116-thick-x-8-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:08 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cook-shirt-black-polyestercotton-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:39:09 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-red-polyestercombed-cotton-xl>: HTTP status code is not handled or not allowed 2026-01-28 16:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcl-100sr>: HTTP status code is not handled or not allowed 2026-01-28 16:39:10 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/wire-basket-6-in-chrome>: HTTP status code is not handled or not allowed 2026-01-28 16:39:11 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/jayhawk-plastics-seaside-adirondack-chair-white>: HTTP status code is not handled or not allowed 2026-01-28 16:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-w-lse-acrylic-adhesive-14-thick-x-1-12-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:12 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcl-5600sw>: HTTP status code is not handled or not allowed 2026-01-28 16:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rcl-5400tw>: HTTP status code is not handled or not allowed 2026-01-28 16:39:13 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/g-10-garolite-sheet-116-thick-x-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:14 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-mpb-040-e-b827-pallet-trucks-yl-524148750-xl-a>: HTTP status code is not handled or not allowed 2026-01-28 16:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/variable-speed-controller-with-temperature-set-point>: HTTP status code is not handled or not allowed 2026-01-28 16:39:15 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-38-thick-x-2-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/royal-basket-trucks-174-linen-cart-19-5-cu-ft-29-l-x-29-w-x-47-h-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:39:16 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-industrial-153-100-cotton-red-shop-towels-25-lb-box>: HTTP status code is not handled or not allowed 2026-01-28 16:39:17 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-berm-spill-containment-puncture-resistant-12-l-x-12-w-x-12-h>: HTTP status code is not handled or not allowed 2026-01-28 16:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-10-button-front-chef-coat-pearl-buttons-white-polyester-l>: HTTP status code is not handled or not allowed 2026-01-28 16:39:18 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/72-x-30-bar-height-breakroom-table-black>: HTTP status code is not handled or not allowed 2026-01-28 16:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/x-ray-holder-mahogany>: HTTP status code is not handled or not allowed 2026-01-28 16:39:19 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stratus-plastic-return-filter-grille-12-duct-t-grid-black>: HTTP status code is not handled or not allowed 2026-01-28 16:39:20 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/stinger-snap-foam-berm-drive-in-out-capability-chemical-fuel-resistant-14-l-x-54-w-x-12-h>: HTTP status code is not handled or not allowed 2026-01-28 16:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-uhmw-polyethylene-plastic-sheet-2-12-thick-x-24-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:21 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/95-gallon-spill-kit-universal>: HTTP status code is not handled or not allowed 2026-01-28 16:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/complete-riser-load-wheel-assembly-for-w-40z-b218-45z-c215-pallet-trucks-hy-4018767>: HTTP status code is not handled or not allowed 2026-01-28 16:39:22 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/rolling-ladder-2-step-aluminum-perforated-21-deep-top-step-no-handrails-24-w-step>: HTTP status code is not handled or not allowed 2026-01-28 16:39:23 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/xx-garolite-bar-12-thick-x-4-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/collarless-butcher-wrap-wexterior-pockets-white-polyestercombed-cotton-s>: HTTP status code is not handled or not allowed 2026-01-28 16:39:24 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/womens-10-button-front-chef-coat-pearl-buttons-white-polyestercotton-s>: HTTP status code is not handled or not allowed 2026-01-28 16:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/spx422-electronic-portable-balance-with-lcd-display-420g-x-0-01g>: HTTP status code is not handled or not allowed 2026-01-28 16:39:25 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-4-viking-black-overshoe-w-4-way-cleated-outsole-pvc-size-extra-large>: HTTP status code is not handled or not allowed 2026-01-28 16:39:26 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-goliath-black-steel-toe-w-power-lug-outsole-pvc-size-7>: HTTP status code is not handled or not allowed 2026-01-28 16:39:27 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-16-hazmax-ez-fit-green-yellow-steel-toe-mid-sole-pvc-size-6>: HTTP status code is not handled or not allowed 2026-01-28 16:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/10-button-front-chef-coat-knot-buttons-black-spun-polyester-m>: HTTP status code is not handled or not allowed 2026-01-28 16:39:28 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-1-12-thick-x-2-12-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mens-10-button-front-chef-coat-pearl-buttons-white-polyester-4xl>: HTTP status code is not handled or not allowed 2026-01-28 16:39:29 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/black-uhmw-polyethylene-plastic-bar-34-thick-x-1-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-14-thick-x-5-wide-x-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:30 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/baldor-grinders-buffer-332b-24c-4p-buffer>: HTTP status code is not handled or not allowed 2026-01-28 16:39:31 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/tension-bar-end-for-wp-2000-pallet-trucks-cr-045292-002>: HTTP status code is not handled or not allowed 2026-01-28 16:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/long-cook-shirt-white-spun-polyester-poplin-l>: HTTP status code is not handled or not allowed 2026-01-28 16:39:32 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/clipboard-with-portfolio-storage-and-built-in-calculator-black>: HTTP status code is not handled or not allowed 2026-01-28 16:39:33 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/plastic-clipboard-with-portfolio-storage-multiple-colors>: HTTP status code is not handled or not allowed 2026-01-28 16:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cook-shirt-white-65-polyester35-cotton-2xl>: HTTP status code is not handled or not allowed 2026-01-28 16:39:34 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axle-for-rs-series-reach-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/freestanding-portable-lap-desk-with-side-pockets-for-kids-green>: HTTP status code is not handled or not allowed 2026-01-28 16:39:35 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x39-steel-shelving-with-12-6-h-shelf-bins-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-sheet-332-thick-x-8-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:36 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-34-thick-x-1-14-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:37 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/shaft-for-wpt60-pallet-trucks-bj-1280-130008-00>: HTTP status code is not handled or not allowed 2026-01-28 16:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/21x24x69-chrome-wire-cart-with-11-3-h-grid-containers-gray-1>: HTTP status code is not handled or not allowed 2026-01-28 16:39:38 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/neoprene-rubber-sheet-no-adhesive-70a-132-thick-x-18-wide-x-36-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x63-chrome-wire-truck-with-12-6-h-grid-containers-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:39:39 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sanitex-green-bib-overall-plain-front-pvc-on-polyester-size-large>: HTTP status code is not handled or not allowed 2026-01-28 16:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-wpx45-lw-xl-fits-clark-model-wpx45>: HTTP status code is not handled or not allowed 2026-01-28 16:39:40 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-assembly-for-6hbw20-pallet-trucks>: HTTP status code is not handled or not allowed 2026-01-28 16:39:41 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-truck-gwk-mpw060e-lw-fits-yale-model-mpw060e-a897>: HTTP status code is not handled or not allowed 2026-01-28 16:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-mpe080e-lw-fits-yale-model-mpe-080e-a890-series>: HTTP status code is not handled or not allowed 2026-01-28 16:39:42 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sitex-yellow-jacket-w-detachable-hood-pvc-size-2x>: HTTP status code is not handled or not allowed 2026-01-28 16:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-truck-with-18-4-h-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:39:43 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/washer-for-7400-reach-pallet-truck-idler-wheel-assembly>: HTTP status code is not handled or not allowed 2026-01-28 16:39:44 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/18x36x74-chrome-wire-truck-with-18-4-h-shelf-bins-green>: HTTP status code is not handled or not allowed 2026-01-28 16:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x48x74-chrome-wire-shelving-with-110-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:39:45 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/load-wheel-kit-for-electric-pallet-jack-gwk-sx3000-lw-xl-fits-crown-model-sx-3000-series>: HTTP status code is not handled or not allowed 2026-01-28 16:39:46 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x48x74-chrome-wire-shelving-with-66-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:39:47 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-5-1-2x10-7-8x5-blue>: HTTP status code is not handled or not allowed 2026-01-28 16:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/acrylic-horizontal-headband-display-2tier-12-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:48 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-cap-style-hard-hat-yellow-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 16:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/transfer-pipet-40ml-narrow-stem-short-85mm-sterile-polypropylenes-500-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:39:49 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-full-brim-hard-hat-black-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 16:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/screw-cap-for-sample-tubes-with-external-threads-s-6030-6059-green-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:39:50 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/24x60x74-chrome-wire-shelving-with-118-shelf-bins-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:39:51 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/slide-box-for-12-slides-cork-lined-orange>: HTTP status code is not handled or not allowed 2026-01-28 16:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-boot-6-monarch-black-steel-toe-w-cleated-outsole-pvc-size-7>: HTTP status code is not handled or not allowed 2026-01-28 16:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/global-stacking-bin-4-1-8x10-7-8x4-yellow>: HTTP status code is not handled or not allowed 2026-01-28 16:39:52 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-15-yellow-steel-toe-boot-polyurethane-size-10>: HTTP status code is not handled or not allowed 2026-01-28 16:39:53 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sanitex-green-jacket-w-hood-snaps-pvc-on-polyester-size-3x>: HTTP status code is not handled or not allowed 2026-01-28 16:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-tuftex-yellow-jacket-w-attached-hood-pvc-size-large>: HTTP status code is not handled or not allowed 2026-01-28 16:39:54 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/axial-exhaust-fan-830-cfm>: HTTP status code is not handled or not allowed 2026-01-28 16:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-116-thick-x-2-wide-x-48-long>: HTTP status code is not handled or not allowed 2026-01-28 16:39:55 [scrapy.extensions.closespider] (PID: 133) INFO: Closing spider since no items were produced in the last 1800 seconds. 2026-01-28 16:39:55 [scrapy.core.engine] (PID: 133) INFO: Closing spider (closespider_timeout_no_item) 2026-01-28 16:39:55 [scrapy.extensions.logstats] (PID: 133) INFO: Crawled 126433 pages (at 100 pages/min), scraped 57340 items (at 0 items/min) 2026-01-28 16:39:55 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-sitex-yellow-3-piece-suit-pvc-size-2x>: HTTP status code is not handled or not allowed 2026-01-28 16:39:56 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/justrite-pesticide-drum-storage-cabinet-self-close>: HTTP status code is not handled or not allowed 2026-01-28 16:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cp-100-coffee-percolator-100-cup-120v>: HTTP status code is not handled or not allowed 2026-01-28 16:39:57 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/millennium-riot-control-full-facepiece-gas-mask-clear-lens-large-10051288>: HTTP status code is not handled or not allowed 2026-01-28 16:39:58 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/advantage-flexi-filter-pad-for-respirators-ov-ozone-p100-ov-2-pk-818343>: HTTP status code is not handled or not allowed 2026-01-28 16:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/green-plastic-self-dumping-forkli-hopper-5-8-cu-yd-with-caster-base>: HTTP status code is not handled or not allowed 2026-01-28 16:39:59 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/5x-detector-mono-lelo2co-h2s-ul-charcoal-w-probe-10116926>: HTTP status code is not handled or not allowed 2026-01-28 16:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-vented-cap-style-hard-hat-hi-vis-orange-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 16:40:00 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/onguard-men-s-replacement-insole-white-standard-cushion-foam-size-9>: HTTP status code is not handled or not allowed 2026-01-28 16:40:01 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/ridgeline-vented-cap-style-hard-hat-white-4-point-ratchet-suspension>: HTTP status code is not handled or not allowed 2026-01-28 16:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/blue-plastic-self-dumping-forkli-hopper-1-1-cu-yd-with-caster-base>: HTTP status code is not handled or not allowed 2026-01-28 16:40:02 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/w-300a-12-2-7mm-wide-seal-automatic-sealer>: HTTP status code is not handled or not allowed 2026-01-28 16:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/cap-flange-plug-16mm-orange-1000-pack>: HTTP status code is not handled or not allowed 2026-01-28 16:40:03 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/white-acetal-plastic-bar-2-12-thick-x-6-wide-x-24-long>: HTTP status code is not handled or not allowed 2026-01-28 16:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/mobile-office-partition-panel-36-1-4w-x-72h-gray>: HTTP status code is not handled or not allowed 2026-01-28 16:40:04 [scrapy.spidermiddlewares.httperror] (PID: 133) INFO: Ignoring response <403 https://www.globalindustrial.com/p/super-low-profile-pallet-truck-2200-lb-capacity-27-x-44>: HTTP status code is not handled or not allowed 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] ------------------------------ MONITORS ------------------------------ 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Extracted Items Monitor/test_stat_monitor... FAIL 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Item Validation Monitor/test_stat_monitor... SKIPPED (Unable to find 'spidermon/validation/fields/errors' in job stats.) 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Error Count Monitor/test_stat_monitor... FAIL 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Warning Count Monitor/test_stat_monitor... FAIL 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Finish Reason Monitor/Should have the expected finished reason(s)... FAIL 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Unwanted HTTP codes monitor/Should not hit the limit of unwanted http status... OK 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Field Coverage Monitor/test_check_if_field_coverage_rules_are_met... OK 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Retry Count monitor/Should not hit the limit of requests that reached the maximum retry amount... OK 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Downloader Exceptions monitor/test_stat_monitor... OK 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Successful Requests monitor/Should have at least the minimum number of successful requests... OK 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] Total Requests monitor/Should not hit the total limit of requests... OK 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] ---------------------------------------------------------------------- 2026-01-28 16:40:04 [global_industrial] (PID: 133) ERROR: [Spidermon] ====================================================================== FAIL: Extracted Items Monitor/test_stat_monitor ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/twisted/internet/task.py", line 526, in _oneWorkUnit result = next(self._iterator) ^^^^^^^^^^^^^^^^^^^^ StopIteration During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/spidermon/contrib/scrapy/monitors/base.py", line 184, in test_stat_monitor assertion_method( AssertionError: Expecting 'item_scraped_count' to be '>=' to '100000.0'. Current value: '57340' 2026-01-28 16:40:04 [global_industrial] (PID: 133) ERROR: [Spidermon] ====================================================================== FAIL: Error Count Monitor/test_stat_monitor ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/twisted/internet/task.py", line 526, in _oneWorkUnit result = next(self._iterator) ^^^^^^^^^^^^^^^^^^^^ StopIteration During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/spidermon/contrib/scrapy/monitors/base.py", line 184, in test_stat_monitor assertion_method( AssertionError: Expecting 'log_count/ERROR' to be '<=' to '2880.0'. Current value: '4041' 2026-01-28 16:40:04 [global_industrial] (PID: 133) ERROR: [Spidermon] ====================================================================== FAIL: Warning Count Monitor/test_stat_monitor ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/twisted/internet/task.py", line 526, in _oneWorkUnit result = next(self._iterator) ^^^^^^^^^^^^^^^^^^^^ StopIteration During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/spidermon/contrib/scrapy/monitors/base.py", line 184, in test_stat_monitor assertion_method( AssertionError: Expecting 'log_count/WARNING' to be '<=' to '2.0'. Current value: '6341' 2026-01-28 16:40:04 [global_industrial] (PID: 133) ERROR: [Spidermon] ====================================================================== FAIL: Finish Reason Monitor/Should have the expected finished reason(s) ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/twisted/internet/task.py", line 526, in _oneWorkUnit result = next(self._iterator) ^^^^^^^^^^^^^^^^^^^^ StopIteration During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/spidermon/contrib/scrapy/monitors/monitors.py", line 110, in test_should_finish_with_expected_reason self.assertTrue(finished_reason in expected_reasons, msg=msg) AssertionError: Finished with "closespider_timeout_no_item" the expected reasons are ['finished'] 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] 11 monitors in 0.006s 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] FAILED (failures=4, skipped=1) 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] -------------------------- FINISHED ACTIONS -------------------------- 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] ---------------------------------------------------------------------- 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] 0 actions in 0.000s 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] OK 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] --------------------------- PASSED ACTIONS --------------------------- 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] ---------------------------------------------------------------------- 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] 0 actions in 0.000s 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] OK 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] --------------------------- FAILED ACTIONS --------------------------- 2026-01-28 16:40:04 [spidermon.contrib.actions.slack] (PID: 133) INFO: :skull: `global_industrial` *spider finished with errors!* _(errors=4)_ 2026-01-28 16:40:04 [spidermon.contrib.actions.slack] (PID: 133) INFO: [ { "text": "• _Extracted Items Monitor/test_stat_monitor_: Expecting 'item_scraped_count' to be '>=' to '100000.0'. Current value: '57340'\n• _Error Count Monitor/test_stat_monitor_: Expecting 'log_count/ERROR' to be '<=' to '2880.0'. Current value: '4041'\n• _Warning Count Monitor/test_stat_monitor_: Expecting 'log_count/WARNING' to be '<=' to '2.0'. Current value: '6341'\n• _Finish Reason Monitor/Should have the expected finished reason(s)_: Finished with "closespider_timeout_no_item" the expected reasons are ['finished']\n", "color": "danger", "mrkdwn_in": ["text", "pretext"] } , ] 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] CustomTemplateSendSlackMessageSpiderFinished... OK 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] ---------------------------------------------------------------------- 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] 1 action in 0.019s 2026-01-28 16:40:04 [global_industrial] (PID: 133) INFO: [Spidermon] OK 2026-01-28 16:40:05 [scrapy.extensions.feedexport] (PID: 133) INFO: Stored bq feed (340 items) in: bq://response-elt.dev_scrapers.catalog_item_scrape/batch:58 2026-01-28 16:40:05 [scrapy.statscollectors] (PID: 133) INFO: Dumping Scrapy stats: {'HeadersSpooferDownloaderMiddleware/spoofed': 132731, 'NotFoundHandlerSpiderMiddleware/HttpError': 65068, 'NotFoundHandlerSpiderMiddleware/NotProductPage': 16164, 'big_query/url': 126449, 'downloader/exception_count': 52, 'downloader/exception_type_count/scrapy.core.downloader.handlers.http11.TunnelError': 1, 'downloader/exception_type_count/twisted.internet.error.ConnectionRefusedError': 51, 'downloader/request_bytes': 229909828, 'downloader/request_count': 132731, 'downloader/request_method_count/GET': 132731, 'downloader/response_bytes': 8550234730, 'downloader/response_count': 132679, 'downloader/response_status_count/200': 61381, 'downloader/response_status_count/307': 6, 'downloader/response_status_count/308': 6224, 'downloader/response_status_count/403': 65068, 'elapsed_time_seconds': 81009.192724, 'feedexport/success_count/BigQueryFeedStorage': 58, 'finish_reason': 'closespider_timeout_no_item', 'finish_time': datetime.datetime(2026, 1, 28, 16, 40, 4, 852657, tzinfo=datetime.timezone.utc), 'httpcompression/response_bytes': 41584905267, 'httpcompression/response_count': 61381, 'httperror/response_ignored_count': 65068, 'httperror/response_ignored_status_count/403': 65068, 'item_scraped_count': 57340, 'items_per_minute': None, 'log_count/ERROR': 4045, 'log_count/INFO': 66521, 'log_count/WARNING': 6341, 'memusage/max': 481988608, 'memusage/startup': 125718528, 'poet/injector/catalog_extraction.pages.global_industrial.GlobalIndustrialProductsPageObject': 126449, 'product_status/not_available_online': 16, 'proxy_manager/ignored/proxy_defined': 6282, 'proxy_manager/processed': 126449, 'response_received_count': 126449, 'responses_per_minute': None, 'retry/count': 52, 'retry/reason_count/scrapy.core.downloader.handlers.http11.TunnelError': 1, 'retry/reason_count/twisted.internet.error.ConnectionRefusedError': 51, 'scheduler/dequeued': 132731, 'scheduler/dequeued/memory': 132731, 'scheduler/enqueued': 132731, 'scheduler/enqueued/memory': 132731, 'spider_exceptions/NotProductPage': 4041, 'spidermon/validation/fields': 1204140, 'spidermon/validation/items': 57340, 'spidermon/validation/validators': 1, 'spidermon/validation/validators/item/jsonschema': True, 'spidermon_field_coverage/dict/brand': 1.0, 'spidermon_field_coverage/dict/categories': 1.0, 'spidermon_field_coverage/dict/countryOfOrigin': 1.0, 'spidermon_field_coverage/dict/description': 1.0, 'spidermon_field_coverage/dict/imageUrl': 1.0, 'spidermon_field_coverage/dict/inStock': 1.0, 'spidermon_field_coverage/dict/isFreeShipping': 1.0, 'spidermon_field_coverage/dict/leadTime': 1.0, 'spidermon_field_coverage/dict/manufacturer': 1.0, 'spidermon_field_coverage/dict/manufacturerSku': 1.0, 'spidermon_field_coverage/dict/name': 1.0, 'spidermon_field_coverage/dict/packagingIncrement': 1.0, 'spidermon_field_coverage/dict/prices': 1.0, 'spidermon_field_coverage/dict/productStatus': 1.0, 'spidermon_field_coverage/dict/relatedSkus': 1.0, 'spidermon_field_coverage/dict/specifications': 1.0, 'spidermon_field_coverage/dict/supplier': 1.0, 'spidermon_field_coverage/dict/supplierSku': 1.0, 'spidermon_field_coverage/dict/uom': 1.0, 'spidermon_field_coverage/dict/url': 1.0, 'spidermon_field_coverage/dict/weight': 1.0, 'spidermon_item_scraped_count': 57340, 'spidermon_item_scraped_count/dict': 57340, 'spidermon_item_scraped_count/dict/brand': 57340, 'spidermon_item_scraped_count/dict/categories': 57340, 'spidermon_item_scraped_count/dict/countryOfOrigin': 57340, 'spidermon_item_scraped_count/dict/description': 57340, 'spidermon_item_scraped_count/dict/imageUrl': 57340, 'spidermon_item_scraped_count/dict/inStock': 57340, 'spidermon_item_scraped_count/dict/isFreeShipping': 57340, 'spidermon_item_scraped_count/dict/leadTime': 57340, 'spidermon_item_scraped_count/dict/manufacturer': 57340, 'spidermon_item_scraped_count/dict/manufacturerSku': 57340, 'spidermon_item_scraped_count/dict/name': 57340, 'spidermon_item_scraped_count/dict/packagingIncrement': 57340, 'spidermon_item_scraped_count/dict/prices': 57340, 'spidermon_item_scraped_count/dict/productStatus': 57340, 'spidermon_item_scraped_count/dict/relatedSkus': 57340, 'spidermon_item_scraped_count/dict/specifications': 57340, 'spidermon_item_scraped_count/dict/supplier': 57340, 'spidermon_item_scraped_count/dict/supplierSku': 57340, 'spidermon_item_scraped_count/dict/uom': 57340, 'spidermon_item_scraped_count/dict/url': 57340, 'spidermon_item_scraped_count/dict/weight': 57340, 'start_requests/big_query': 126449, 'start_time': datetime.datetime(2026, 1, 27, 18, 9, 55, 659933, tzinfo=datetime.timezone.utc)} 2026-01-28 16:40:05 [scrapy.core.engine] (PID: 133) INFO: Spider closed (closespider_timeout_no_item)